diff --git a/package-lock.json b/package-lock.json index 82aabe3..3c274ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,9 +6,102 @@ "": { "dependencies": { "marked": "^15.0.7", - "openai": "^4.89.0" + "openai": "^4.89.0", + "pinia-plugin-persistedstate": "^4.2.0" } }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nuxt/kit": { + "version": "3.16.1", + "resolved": "https://registry.npmmirror.com/@nuxt/kit/-/kit-3.16.1.tgz", + "integrity": "sha512-Perby8hJGUeCWad5oTVXb/Ibvp18ZCUC5PxHHu+acMDmVfnxSo48yqk7qNd09VkTF3LEzoEjNZpmW2ZWN0ry7A==", + "license": "MIT", + "dependencies": { + "c12": "^3.0.2", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.3", + "errx": "^0.1.0", + "exsolve": "^1.0.4", + "globby": "^14.1.0", + "ignore": "^7.0.3", + "jiti": "^2.4.2", + "klona": "^2.0.6", + "knitwork": "^1.2.0", + "mlly": "^1.7.4", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "semver": "^7.7.1", + "std-env": "^3.8.1", + "ufo": "^1.5.4", + "unctx": "^2.4.1", + "unimport": "^4.1.2", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "18.19.81", "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.19.81.tgz", @@ -40,6 +133,18 @@ "node": ">=6.5" } }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agentkeepalive": { "version": "4.6.0", "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz", @@ -58,6 +163,46 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/c12": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/c12/-/c12-3.0.2.tgz", + "integrity": "sha512-6Tzk1/TNeI3WBPpK0j/Ss4+gPj3PUJYbWl/MWDJBThFvwNGNkXtd7Cz8BJtD4aRwoGHtzQD0SnxamgUiBH0/Nw==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.1.8", + "defu": "^6.1.4", + "dotenv": "^16.4.7", + "exsolve": "^1.0.0", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.5", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.0.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -71,6 +216,30 @@ "node": ">= 0.4" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmmirror.com/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", @@ -83,6 +252,33 @@ "node": ">= 0.8" } }, + "node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/deep-pick-omit": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/deep-pick-omit/-/deep-pick-omit-1.2.1.tgz", + "integrity": "sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==", + "license": "MIT" + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmmirror.com/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -92,6 +288,24 @@ "node": ">=0.4.0" } }, + "node_modules/destr": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/destr/-/destr-2.0.3.tgz", + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -106,6 +320,12 @@ "node": ">= 0.4" } }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "license": "MIT" + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", @@ -151,6 +371,27 @@ "node": ">= 0.4" } }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -160,6 +401,49 @@ "node": ">=6" } }, + "node_modules/exsolve": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.4.tgz", + "integrity": "sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/form-data": { "version": "4.0.2", "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", @@ -240,6 +524,55 @@ "node": ">= 0.4" } }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", @@ -300,6 +633,101 @@ "ms": "^2.0.0" } }, + "node_modules/ignore": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-7.0.3.tgz", + "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/knitwork/-/knitwork-1.2.0.tgz", + "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==", + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/marked": { "version": "15.0.7", "resolved": "https://registry.npmmirror.com/marked/-/marked-15.0.7.tgz", @@ -321,6 +749,28 @@ "node": ">= 0.4" } }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -342,6 +792,29 @@ "node": ">= 0.6" } }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", @@ -387,6 +860,37 @@ } } }, + "node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmmirror.com/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "license": "MIT" + }, + "node_modules/nypm": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/nypm/-/nypm-0.6.0.tgz", + "integrity": "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "pathe": "^2.0.3", + "pkg-types": "^2.0.0", + "tinyexec": "^0.3.2" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmmirror.com/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, "node_modules/openai": { "version": "4.89.0", "resolved": "https://registry.npmmirror.com/openai/-/openai-4.89.0.tgz", @@ -417,18 +921,419 @@ } } }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia-plugin-persistedstate": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-4.2.0.tgz", + "integrity": "sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.14.1592", + "deep-pick-omit": "^1.2.1", + "defu": "^6.1.4", + "destr": "^2.0.3" + }, + "peerDependencies": { + "@pinia/nuxt": ">=0.9.0", + "pinia": ">=2.3.0" + }, + "peerDependenciesMeta": { + "@pinia/nuxt": { + "optional": true + }, + "pinia": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/pkg-types/node_modules/confbox": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.1.tgz", + "integrity": "sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==", + "license": "MIT" + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/std-env": { + "version": "3.8.1", + "resolved": "https://registry.npmmirror.com/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "license": "MIT" + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.12", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.12.tgz", + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/unctx/-/unctx-2.4.1.tgz", + "integrity": "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "unplugin": "^2.1.0" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-4.1.3.tgz", + "integrity": "sha512-H+IVJ7rAkE3b+oC8rSJ2FsPaVsweeMC8eKZc+C6Mz7+hxDF45AnrY/tVCNRBvzMwWNcJEV67WdAVcal27iMjOw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.12", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.2.2.tgz", + "integrity": "sha512-Qp+iiD+qCRnUek+nDoYvtWX7tfnYyXsrOnJ452FRTgOyKmTM7TUJ3l+PLPJOOWPTUyKISKp4isC5JJPSXUjGgw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/untyped": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/untyped/-/untyped-2.0.0.tgz", + "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "knitwork": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, "node_modules/web-streams-polyfill": { "version": "4.0.0-beta.3", "resolved": "https://registry.npmmirror.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", @@ -444,6 +1349,12 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "license": "BSD-2-Clause" }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT" + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", diff --git a/package.json b/package.json index 96c2b45..f83ed9d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "dependencies": { "marked": "^15.0.7", - "openai": "^4.89.0" + "openai": "^4.89.0", + "pinia-plugin-persistedstate": "^4.2.0" } } diff --git a/src/static/app/dist/assets/configuration-CYLiSKJl.js b/src/static/app/dist/assets/configuration-Dcu_WF0d.js similarity index 73% rename from src/static/app/dist/assets/configuration-CYLiSKJl.js rename to src/static/app/dist/assets/configuration-Dcu_WF0d.js index a48950c..3e71580 100644 --- a/src/static/app/dist/assets/configuration-CYLiSKJl.js +++ b/src/static/app/dist/assets/configuration-Dcu_WF0d.js @@ -1 +1 @@ -import{_ as r,c as i,d as o,w as e,y as l,a as t,x as _,l as a,z as d,S as u}from"./index-qq0VI3aD.js";const m={name:"configuration"},p={class:"mt-md-5 mt-3 text-body"};function f(x,h,k,w,y,$){const n=l("RouterView");return t(),i("div",p,[o(n,null,{default:e(({Component:s,route:c})=>[o(_,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(d(s),{key:c.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",f]]);export{B as default}; +import{_ as r,c as i,d as o,w as e,y as l,a as t,l as _,j as a,z as d,S as u}from"./index-Bsy8tbGW.js";const m={name:"configuration"},p={class:"mt-md-5 mt-3 text-body"};function f(x,h,k,w,y,$){const n=l("RouterView");return t(),i("div",p,[o(n,null,{default:e(({Component:s,route:c})=>[o(_,{name:"fade2",mode:"out-in"},{default:e(()=>[(t(),a(u,null,{default:e(()=>[(t(),a(d(s),{key:c.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const B=r(m,[["render",f]]);export{B as default}; diff --git a/src/static/app/dist/assets/configurationList-DQQRd36V.js b/src/static/app/dist/assets/configurationList-DklaYDZL.js similarity index 96% rename from src/static/app/dist/assets/configurationList-DQQRd36V.js rename to src/static/app/dist/assets/configurationList-DklaYDZL.js index 379e0af..d2c97fd 100644 --- a/src/static/app/dist/assets/configurationList-DQQRd36V.js +++ b/src/static/app/dist/assets/configurationList-DklaYDZL.js @@ -1 +1 @@ -import{_ as D,D as M,s as I,a as i,c as n,b as t,d as r,w as S,n as m,t as u,f as v,l as _,e as y,m as B,A as V,B as U,y as p,r as O,g as K,x as G,C as L,o as R,j as W,F as w,k as C,W as F,G as $,T as q,v as z}from"./index-qq0VI3aD.js";import{L as x}from"./localeText-miqCUaLJ.js";import{_ as j}from"./protocolBadge-C0pu7-u8.js";import{C as J}from"./storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js";const N={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:x},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:M()}},methods:{toggle(){this.configurationToggling=!0,I("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},T=()=>{U(e=>({d75b06ae:e.delay}))},P=N.setup;N.setup=P?(e,s)=>(T(),P(e,s)):T;const A={class:"card conf_card rounded-3 shadow text-decoration-none"},E={class:"mb-0"},H={class:"card-title mb-0 d-flex align-items-center gap-2"},Y={class:"card-footer d-flex gap-2 flex-column"},Q={class:"row"},X={class:"d-flex gap-2 align-items-center"},Z={class:"text-muted"},tt={class:"mb-0 d-block d-lg-inline-block"},et={style:{"line-break":"anywhere"}},st={class:"form-check form-switch ms-auto"},ot=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},nt=["disabled","id"];function at(e,s,o,f,a,g){const c=p("ProtocolBadge"),l=p("RouterLink"),d=p("LocaleText");return i(),n("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",A,[r(l,{to:"/configuration/"+o.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:S(()=>[t("h6",E,[t("span",{class:m(["dot",{active:o.c.Status}])},null,2)]),t("h6",H,[t("samp",null,u(o.c.Name),1),t("small",null,[r(c,{protocol:o.c.Protocol,mini:!0},null,8,["protocol"])])]),s[2]||(s[2]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",Y,[t("div",Q,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[3]||(s[3]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(o.c.DataUsage.Total>0?o.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(o.c.DataUsage.Receive>0?o.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(o.c.DataUsage.Sent>0?o.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:o.c.ConnectedPeers>0}])},null,2),v(" "+u(o.c.ConnectedPeers)+" / "+u(o.c.TotalPeers)+" ",1),r(d,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",X,[t("small",Z,[t("strong",null,[r(d,{t:"Public Key"})])]),t("small",tt,[t("samp",et,u(o.c.PublicKey),1)])]),t("div",st,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+o.c.PrivateKey},[!o.c.Status&&this.configurationToggling?(i(),_(d,{key:0,t:"Turning Off..."})):o.c.Status&&this.configurationToggling?(i(),_(d,{key:1,t:"Turning On..."})):o.c.Status&&!this.configurationToggling?(i(),_(d,{key:2,t:"On"})):!o.c.Status&&!this.configurationToggling?(i(),_(d,{key:3,t:"Off"})):y("",!0),this.configurationToggling?(i(),n("span",it)):y("",!0)],8,ot),B(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+o.c.PrivateKey,onChange:s[0]||(s[0]=k=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=k=>o.c.Status=k)},null,40,nt),[[V,o.c.Status]])])],2)])])],2)}const rt=D(N,[["render",at],["__scopeId","data-v-6451623a"]]),lt={class:"text-muted me-2"},ct={class:"fw-bold"},dt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(e){U(a=>({"38705f32":f.value}));const s=e,o=O(!1),f=K(()=>s.square?"40px":"25px");return(a,g)=>(i(),n("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=c=>o.value=!0),onMouseleave:g[1]||(g[1]=c=>o.value=!1),style:L({"background-color":`rgb(25 135 84 / ${e.mount.percent}%)`})},[r(G,{name:"zoomReversed"},{default:S(()=>[o.value?(i(),n("div",{key:0,style:{"white-space":"nowrap"},class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[t("small",lt,[t("samp",null,u(e.mount.mountPoint),1)]),t("small",ct,u(e.mount.percent)+"% ",1)],2)):y("",!0)]),_:1})],36))}},ut=D(dt,[["__scopeId","data-v-a382214a"]]),mt={class:"row text-body g-3 mb-5"},gt={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},ft={class:"text-muted"},_t={class:"ms-auto"},pt={key:0},yt={key:1,class:"spinner-border spinner-border-sm"},bt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},vt={class:"col-md-6 col-sm-12 col-xl-3"},xt={class:"d-flex align-items-center"},wt={class:"text-muted"},Ct={class:"ms-auto"},kt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Dt={class:"progress",role:"progressbar",style:{height:"6px"}},$t={class:"d-flex mt-2 gap-1"},Nt={class:"col-md-6 col-sm-12 col-xl-3"},Tt={class:"d-flex align-items-center"},Pt={class:"text-muted"},Mt={class:"ms-auto"},It={key:0},Bt={key:1,class:"spinner-border spinner-border-sm"},Ut={class:"progress",role:"progressbar",style:{height:"6px"}},Kt={class:"col-md-6 col-sm-12 col-xl-3"},Gt={class:"d-flex align-items-center"},Vt={class:"text-muted"},Ot={class:"ms-auto"},Rt={key:0},Wt={key:1,class:"spinner-border spinner-border-sm"},Ft={__name:"systemStatusWidget",setup(e){const s=M();let o=null;R(()=>{f(),o=setInterval(()=>{f()},5e3)}),W(()=>{clearInterval(o)});const f=()=>{I("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=K(()=>s.SystemStatus);return(g,c)=>(i(),n("div",mt,[t("div",gt,[t("div",ht,[t("h6",ft,[c[0]||(c[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),r(x,{t:"CPU"})]),t("h6",_t,[a.value?(i(),n("span",pt,u(a.value.CPU.cpu_percent)+"% ",1)):(i(),n("span",yt))])]),t("div",bt,[t("div",{class:"progress-bar",style:L({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(i(!0),n(w,null,C(a.value?.CPU.cpu_percent_per_cpu,(l,d)=>(i(),_(J,{key:d,align:d+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:d,percentage:l},null,8,["align","core_number","percentage"]))),128))])]),t("div",vt,[t("div",xt,[t("h6",wt,[c[1]||(c[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),r(x,{t:"Storage"})]),t("h6",Ct,[a.value?(i(),n("span",kt,u(a.value?.Disks.find(l=>l.mountPoint==="/").percent)+"% ",1)):(i(),n("span",Lt))])]),t("div",Dt,[t("div",{class:"progress-bar bg-success",style:L({width:`${a.value?.Disks.find(l=>l.mountPoint==="/").percent}%`})},null,4)]),t("div",$t,[a.value?(i(!0),n(w,{key:0},C(a.value?.Disks,(l,d)=>(i(),_(ut,{key:l.mountPoint,align:d+1>Math.round(a.value?.Disks.length/2),mount:l},null,8,["align","mount"]))),128)):y("",!0)])]),t("div",Nt,[t("div",Tt,[t("h6",Pt,[c[2]||(c[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(x,{t:"Memory"})]),t("h6",Mt,[a.value?(i(),n("span",It,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(i(),n("span",Bt))])]),t("div",Ut,[t("div",{class:"progress-bar bg-info",style:L({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",Kt,[t("div",Gt,[t("h6",Vt,[c[3]||(c[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(x,{t:"Swap Memory"})]),t("h6",Ot,[a.value?(i(),n("span",Rt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(i(),n("span",Wt))])]),c[4]||(c[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},qt=D(Ft,[["__scopeId","data-v-c7f6d1a1"]]),zt={name:"configurationList",components:{SystemStatus:qt,LocaleText:x,ConfigurationCard:rt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:$("Name"),Status:$("Status"),"DataUsage.Total":$("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},async mounted(){window.localStorage.getItem("ConfigurationListSort")?this.currentSort=JSON.parse(window.localStorage.getItem("ConfigurationListSort")):window.localStorage.setItem("ConfigurationListSort",JSON.stringify(this.currentSort)),window.localStorage.getItem("ConfigurationListDisplay")?this.currentDisplay=window.localStorage.getItem("ConfigurationListDisplay"):window.localStorage.setItem("ConfigurationListDisplay",this.currentDisplay),await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0,this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)},beforeUnmount(){clearInterval(this.wireguardConfigurationsStore.ConfigurationListInterval)},computed:{configurations(){return[...this.wireguardConfigurationsStore.Configurations].filter(e=>e.Name.toLowerCase().includes(this.searchKey)||e.PublicKey.includes(this.searchKey)||!this.searchKey).sort((e,s)=>this.currentSort.order==="desc"?this.dotNotation(e,this.currentSort.key)this.dotNotation(s,this.currentSort.key)?-1:0:this.dotNotation(e,this.currentSort.key)>this.dotNotation(s,this.currentSort.key)?1:this.dotNotation(e,this.currentSort.key)f&&f[a],e);return typeof o=="string"?o.toLowerCase():o},updateSort(e){this.currentSort.key===e?this.currentSort.order==="asc"?this.currentSort.order="desc":this.currentSort.order="asc":this.currentSort.key=e,window.localStorage.setItem("ConfigurationListSort",JSON.stringify(this.currentSort))},updateDisplay(e){this.currentDisplay!==e&&(this.currentDisplay=e,window.localStorage.setItem("ConfigurationListDisplay",this.currentDisplay))}}},jt={class:"mt-md-5 mt-3"},Jt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Et={class:"text-body d-flex mb-0"},Ht={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Yt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Qt={class:"text-muted"},Xt={class:"d-flex ms-auto ms-lg-0"},Zt=["onClick"],te={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},ee={class:"text-muted"},se={class:"d-flex ms-auto ms-lg-0"},oe=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},ne={class:"row g-3 mb-2"},ae={class:"text-muted col-12",key:"noConfiguration"};function re(e,s,o,f,a,g){const c=p("SystemStatus"),l=p("LocaleText"),d=p("RouterLink"),k=p("ConfigurationCard");return i(),n("div",jt,[t("div",Jt,[r(c),t("div",At,[t("h2",Et,[r(l,{t:"WireGuard Configurations"})]),r(d,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:S(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(l,{t:"Configuration"})]),_:1}),r(d,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:S(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),r(l,{t:"Restore"})]),_:1})]),r(G,{name:"fade"},{default:S(()=>[this.configurationLoaded?(i(),n("div",Ht,[t("div",Yt,[t("small",Qt,[r(l,{t:"Sort By"})]),t("div",Xt,[(i(!0),n(w,null,C(this.sort,(h,b)=>(i(),n("a",{role:"button",onClick:le=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.currentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.currentSort.key===b?(i(),n("i",{key:0,class:m(["bi me-2",[this.currentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):y("",!0),v(u(h),1)])],10,Zt))),256))])]),t("div",te,[t("small",ee,[r(l,{t:"Display as"})]),t("div",se,[(i(),n(w,null,C([{name:"List",key:"list"},{name:"Grid",key:"grid"}],h=>t("a",{role:"button",onClick:b=>g.updateDisplay(h.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.currentDisplay===h.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+h.key])},null,2),v(" "+u(h.name),1)])],10,oe)),64))])]),t("div",ie,[s[3]||(s[3]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),B(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=h=>this.searchKey=h),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):y("",!0)]),_:1}),t("div",ne,[r(q,{name:"fade"},{default:S(()=>[this.configurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(i(),n("p",ae,[r(l,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.configurationLoaded?(i(!0),n(w,{key:1},C(g.configurations,(h,b)=>(i(),_(k,{display:this.currentDisplay,delay:b*.03+"s",key:h.Name,c:h},null,8,["display","delay","c"]))),128)):y("",!0)]),_:1})])])])}const ge=D(zt,[["render",re],["__scopeId","data-v-0ac2bdcc"]]);export{ge as default}; +import{_ as D,D as M,x as I,a as i,c as n,b as t,d as r,w as S,n as m,t as u,f as v,j as _,e as y,m as B,s as V,A as U,y as p,r as O,g as K,l as G,B as L,o as R,C as W,F as w,k as C,W as F,G as $,T as q,v as z}from"./index-Bsy8tbGW.js";import{L as x}from"./localeText-CoKvgn8T.js";import{_ as j}from"./protocolBadge-DT7-D9tI.js";import{C as J}from"./storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-DkmowoHo.js";const N={name:"configurationCard",components:{ProtocolBadge:j,LocaleText:x},props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String},delay:String,display:String},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:M()}},methods:{toggle(){this.configurationToggling=!0,I("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},T=()=>{U(e=>({d75b06ae:e.delay}))},P=N.setup;N.setup=P?(e,s)=>(T(),P(e,s)):T;const A={class:"card conf_card rounded-3 shadow text-decoration-none"},E={class:"mb-0"},H={class:"card-title mb-0 d-flex align-items-center gap-2"},Y={class:"card-footer d-flex gap-2 flex-column"},Q={class:"row"},X={class:"d-flex gap-2 align-items-center"},Z={class:"text-muted"},tt={class:"mb-0 d-block d-lg-inline-block"},et={style:{"line-break":"anywhere"}},st={class:"form-check form-switch ms-auto"},ot=["for"],it={key:4,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},nt=["disabled","id"];function at(e,s,o,f,a,g){const c=p("ProtocolBadge"),l=p("RouterLink"),d=p("LocaleText");return i(),n("div",{class:m(["col-12",{"col-lg-6 col-xl-4":this.display==="Grid"}])},[t("div",A,[r(l,{to:"/configuration/"+o.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:S(()=>[t("h6",E,[t("span",{class:m(["dot",{active:o.c.Status}])},null,2)]),t("h6",H,[t("samp",null,u(o.c.Name),1),t("small",null,[r(c,{protocol:o.c.Protocol,mini:!0},null,8,["protocol"])])]),s[2]||(s[2]=t("h6",{class:"mb-0 ms-auto"},[t("i",{class:"bi bi-chevron-right"})],-1))]),_:1},8,["to"]),t("div",Y,[t("div",Q,[t("small",{class:m(["col-6",{"col-md-3":this.display==="List"}])},[s[3]||(s[3]=t("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),v(u(o.c.DataUsage.Total>0?o.c.DataUsage.Total.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-primary-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[4]||(s[4]=t("i",{class:"bi bi-arrow-down me-2"},null,-1)),v(u(o.c.DataUsage.Receive>0?o.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["text-success-emphasis col-6",{"col-md-3":this.display==="List"}])},[s[5]||(s[5]=t("i",{class:"bi bi-arrow-up me-2"},null,-1)),v(u(o.c.DataUsage.Sent>0?o.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)],2),t("small",{class:m(["col-6",{"col-md-3 text-md-end ":this.display==="List"}])},[t("span",{class:m(["dot me-2",{active:o.c.ConnectedPeers>0}])},null,2),v(" "+u(o.c.ConnectedPeers)+" / "+u(o.c.TotalPeers)+" ",1),r(d,{t:"Peers"})],2)]),t("div",{class:m(["d-flex gap-2",[this.display==="Grid"?"flex-column":"gap-lg-3 flex-column flex-lg-row"]])},[t("div",X,[t("small",Z,[t("strong",null,[r(d,{t:"Public Key"})])]),t("small",tt,[t("samp",et,u(o.c.PublicKey),1)])]),t("div",st,[t("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+o.c.PrivateKey},[!o.c.Status&&this.configurationToggling?(i(),_(d,{key:0,t:"Turning Off..."})):o.c.Status&&this.configurationToggling?(i(),_(d,{key:1,t:"Turning On..."})):o.c.Status&&!this.configurationToggling?(i(),_(d,{key:2,t:"On"})):!o.c.Status&&!this.configurationToggling?(i(),_(d,{key:3,t:"Off"})):y("",!0),this.configurationToggling?(i(),n("span",it)):y("",!0)],8,ot),B(t("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+o.c.PrivateKey,onChange:s[0]||(s[0]=k=>this.toggle()),"onUpdate:modelValue":s[1]||(s[1]=k=>o.c.Status=k)},null,40,nt),[[V,o.c.Status]])])],2)])])],2)}const rt=D(N,[["render",at],["__scopeId","data-v-6451623a"]]),lt={class:"text-muted me-2"},ct={class:"fw-bold"},dt={__name:"storageMount",props:{mount:Object,align:Boolean,square:Boolean},setup(e){U(a=>({"38705f32":f.value}));const s=e,o=O(!1),f=K(()=>s.square?"40px":"25px");return(a,g)=>(i(),n("div",{class:"flex-grow-1 square rounded-3 border position-relative",onMouseenter:g[0]||(g[0]=c=>o.value=!0),onMouseleave:g[1]||(g[1]=c=>o.value=!1),style:L({"background-color":`rgb(25 135 84 / ${e.mount.percent}%)`})},[r(G,{name:"zoomReversed"},{default:S(()=>[o.value?(i(),n("div",{key:0,style:{"white-space":"nowrap"},class:m(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[t("small",lt,[t("samp",null,u(e.mount.mountPoint),1)]),t("small",ct,u(e.mount.percent)+"% ",1)],2)):y("",!0)]),_:1})],36))}},ut=D(dt,[["__scopeId","data-v-a382214a"]]),mt={class:"row text-body g-3 mb-5"},gt={class:"col-md-6 col-sm-12 col-xl-3"},ht={class:"d-flex align-items-center"},ft={class:"text-muted"},_t={class:"ms-auto"},pt={key:0},yt={key:1,class:"spinner-border spinner-border-sm"},bt={class:"progress",role:"progressbar",style:{height:"6px"}},St={class:"d-flex mt-2 gap-1"},vt={class:"col-md-6 col-sm-12 col-xl-3"},xt={class:"d-flex align-items-center"},wt={class:"text-muted"},Ct={class:"ms-auto"},kt={key:0},Lt={key:1,class:"spinner-border spinner-border-sm"},Dt={class:"progress",role:"progressbar",style:{height:"6px"}},$t={class:"d-flex mt-2 gap-1"},Nt={class:"col-md-6 col-sm-12 col-xl-3"},Tt={class:"d-flex align-items-center"},Pt={class:"text-muted"},Mt={class:"ms-auto"},It={key:0},Bt={key:1,class:"spinner-border spinner-border-sm"},Ut={class:"progress",role:"progressbar",style:{height:"6px"}},Kt={class:"col-md-6 col-sm-12 col-xl-3"},Gt={class:"d-flex align-items-center"},Vt={class:"text-muted"},Ot={class:"ms-auto"},Rt={key:0},Wt={key:1,class:"spinner-border spinner-border-sm"},Ft={__name:"systemStatusWidget",setup(e){const s=M();let o=null;R(()=>{f(),o=setInterval(()=>{f()},5e3)}),W(()=>{clearInterval(o)});const f=()=>{I("/api/systemStatus",{},g=>{s.SystemStatus=g.data})},a=K(()=>s.SystemStatus);return(g,c)=>(i(),n("div",mt,[t("div",gt,[t("div",ht,[t("h6",ft,[c[0]||(c[0]=t("i",{class:"bi bi-cpu-fill me-2"},null,-1)),r(x,{t:"CPU"})]),t("h6",_t,[a.value?(i(),n("span",pt,u(a.value.CPU.cpu_percent)+"% ",1)):(i(),n("span",yt))])]),t("div",bt,[t("div",{class:"progress-bar",style:L({width:`${a.value?.CPU.cpu_percent}%`})},null,4)]),t("div",St,[(i(!0),n(w,null,C(a.value?.CPU.cpu_percent_per_cpu,(l,d)=>(i(),_(J,{key:d,align:d+1>Math.round(a.value?.CPU.cpu_percent_per_cpu.length/2),core_number:d,percentage:l},null,8,["align","core_number","percentage"]))),128))])]),t("div",vt,[t("div",xt,[t("h6",wt,[c[1]||(c[1]=t("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),r(x,{t:"Storage"})]),t("h6",Ct,[a.value?(i(),n("span",kt,u(a.value?.Disks.find(l=>l.mountPoint==="/").percent)+"% ",1)):(i(),n("span",Lt))])]),t("div",Dt,[t("div",{class:"progress-bar bg-success",style:L({width:`${a.value?.Disks.find(l=>l.mountPoint==="/").percent}%`})},null,4)]),t("div",$t,[a.value?(i(!0),n(w,{key:0},C(a.value?.Disks,(l,d)=>(i(),_(ut,{key:l.mountPoint,align:d+1>Math.round(a.value?.Disks.length/2),mount:l},null,8,["align","mount"]))),128)):y("",!0)])]),t("div",Nt,[t("div",Tt,[t("h6",Pt,[c[2]||(c[2]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(x,{t:"Memory"})]),t("h6",Mt,[a.value?(i(),n("span",It,u(a.value?.Memory.VirtualMemory.percent)+"% ",1)):(i(),n("span",Bt))])]),t("div",Ut,[t("div",{class:"progress-bar bg-info",style:L({width:`${a.value?.Memory.VirtualMemory.percent}%`})},null,4)])]),t("div",Kt,[t("div",Gt,[t("h6",Vt,[c[3]||(c[3]=t("i",{class:"bi bi-memory me-2"},null,-1)),r(x,{t:"Swap Memory"})]),t("h6",Ot,[a.value?(i(),n("span",Rt,u(a.value?.Memory.SwapMemory.percent)+"% ",1)):(i(),n("span",Wt))])]),c[4]||(c[4]=t("div",{class:"progress",role:"progressbar",style:{height:"6px"}},[t("div",{class:"progress-bar bg-warning",style:{width:"$ data?.Memory.SwapMemory.percent}%"}})],-1))])]))}},qt=D(Ft,[["__scopeId","data-v-c7f6d1a1"]]),zt={name:"configurationList",components:{SystemStatus:qt,LocaleText:x,ConfigurationCard:rt},async setup(){return{wireguardConfigurationsStore:F()}},data(){return{configurationLoaded:!1,sort:{Name:$("Name"),Status:$("Status"),"DataUsage.Total":$("Total Usage")},currentSort:{key:"Name",order:"asc"},currentDisplay:"List",searchKey:""}},async mounted(){window.localStorage.getItem("ConfigurationListSort")?this.currentSort=JSON.parse(window.localStorage.getItem("ConfigurationListSort")):window.localStorage.setItem("ConfigurationListSort",JSON.stringify(this.currentSort)),window.localStorage.getItem("ConfigurationListDisplay")?this.currentDisplay=window.localStorage.getItem("ConfigurationListDisplay"):window.localStorage.setItem("ConfigurationListDisplay",this.currentDisplay),await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0,this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)},beforeUnmount(){clearInterval(this.wireguardConfigurationsStore.ConfigurationListInterval)},computed:{configurations(){return[...this.wireguardConfigurationsStore.Configurations].filter(e=>e.Name.toLowerCase().includes(this.searchKey)||e.PublicKey.includes(this.searchKey)||!this.searchKey).sort((e,s)=>this.currentSort.order==="desc"?this.dotNotation(e,this.currentSort.key)this.dotNotation(s,this.currentSort.key)?-1:0:this.dotNotation(e,this.currentSort.key)>this.dotNotation(s,this.currentSort.key)?1:this.dotNotation(e,this.currentSort.key)f&&f[a],e);return typeof o=="string"?o.toLowerCase():o},updateSort(e){this.currentSort.key===e?this.currentSort.order==="asc"?this.currentSort.order="desc":this.currentSort.order="asc":this.currentSort.key=e,window.localStorage.setItem("ConfigurationListSort",JSON.stringify(this.currentSort))},updateDisplay(e){this.currentDisplay!==e&&(this.currentDisplay=e,window.localStorage.setItem("ConfigurationListDisplay",this.currentDisplay))}}},jt={class:"mt-md-5 mt-3"},Jt={class:"container-fluid"},At={class:"d-flex mb-4 configurationListTitle align-items-md-center gap-2 flex-column flex-md-row"},Et={class:"text-body d-flex mb-0"},Ht={key:0,class:"text-body filter mb-3 d-flex gap-2 flex-column flex-md-row"},Yt={class:"d-flex align-items-center gap-3 align-items-center mb-3 mb-md-0"},Qt={class:"text-muted"},Xt={class:"d-flex ms-auto ms-lg-0"},Zt=["onClick"],te={class:"align-items-center gap-3 align-items-center mb-3 mb-md-0 d-none d-lg-flex"},ee={class:"text-muted"},se={class:"d-flex ms-auto ms-lg-0"},oe=["onClick"],ie={class:"d-flex align-items-center ms-md-auto"},ne={class:"row g-3 mb-2"},ae={class:"text-muted col-12",key:"noConfiguration"};function re(e,s,o,f,a,g){const c=p("SystemStatus"),l=p("LocaleText"),d=p("RouterLink"),k=p("ConfigurationCard");return i(),n("div",jt,[t("div",Jt,[r(c),t("div",At,[t("h2",Et,[r(l,{t:"WireGuard Configurations"})]),r(d,{to:"/new_configuration",class:"ms-md-auto py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:S(()=>[s[1]||(s[1]=t("i",{class:"bi bi-plus-circle me-2"},null,-1)),r(l,{t:"Configuration"})]),_:1}),r(d,{to:"/restore_configuration",class:"py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},{default:S(()=>[s[2]||(s[2]=t("i",{class:"bi bi-clock-history me-2"},null,-1)),r(l,{t:"Restore"})]),_:1})]),r(G,{name:"fade"},{default:S(()=>[this.configurationLoaded?(i(),n("div",Ht,[t("div",Yt,[t("small",Qt,[r(l,{t:"Sort By"})]),t("div",Xt,[(i(!0),n(w,null,C(this.sort,(h,b)=>(i(),n("a",{role:"button",onClick:le=>g.updateSort(b),class:m([{"bg-primary-subtle text-primary-emphasis":this.currentSort.key===b},"px-2 py-1 rounded-3"])},[t("small",null,[this.currentSort.key===b?(i(),n("i",{key:0,class:m(["bi me-2",[this.currentSort.order==="asc"?"bi-sort-up":"bi-sort-down"]])},null,2)):y("",!0),v(u(h),1)])],10,Zt))),256))])]),t("div",te,[t("small",ee,[r(l,{t:"Display as"})]),t("div",se,[(i(),n(w,null,C([{name:"List",key:"list"},{name:"Grid",key:"grid"}],h=>t("a",{role:"button",onClick:b=>g.updateDisplay(h.name),class:m([{"bg-primary-subtle text-primary-emphasis":this.currentDisplay===h.name},"px-2 py-1 rounded-3"])},[t("small",null,[t("i",{class:m(["bi me-2","bi-"+h.key])},null,2),v(" "+u(h.name),1)])],10,oe)),64))])]),t("div",ie,[s[3]||(s[3]=t("label",{for:"configurationSearch",class:"text-muted"},[t("i",{class:"bi bi-search me-2"})],-1)),B(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":s[0]||(s[0]=h=>this.searchKey=h),id:"configurationSearch"},null,512),[[z,this.searchKey]])])])):y("",!0)]),_:1}),t("div",ne,[r(q,{name:"fade"},{default:S(()=>[this.configurationLoaded&&this.wireguardConfigurationsStore.Configurations.length===0?(i(),n("p",ae,[r(l,{t:"You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard."})])):this.configurationLoaded?(i(!0),n(w,{key:1},C(g.configurations,(h,b)=>(i(),_(k,{display:this.currentDisplay,delay:b*.03+"s",key:h.Name,c:h},null,8,["display","delay","c"]))),128)):y("",!0)]),_:1})])])])}const ge=D(zt,[["render",re],["__scopeId","data-v-0ac2bdcc"]]);export{ge as default}; diff --git a/src/static/app/dist/assets/dayjs.min-f_AEmQu-.js b/src/static/app/dist/assets/dayjs.min-fPdQmr57.js similarity index 99% rename from src/static/app/dist/assets/dayjs.min-f_AEmQu-.js rename to src/static/app/dist/assets/dayjs.min-fPdQmr57.js index 57cfb52..5c64e8c 100644 --- a/src/static/app/dist/assets/dayjs.min-f_AEmQu-.js +++ b/src/static/app/dist/assets/dayjs.min-fPdQmr57.js @@ -1 +1 @@ -import{a1 as Q,a2 as K}from"./index-qq0VI3aD.js";var E={exports:{}};(function(V,X){(function(W,k){V.exports=k()})(Q,function(){var W=1e3,k=6e4,N=36e5,A="millisecond",S="second",w="minute",O="hour",M="day",T="week",m="month",U="quarter",v="year",_="date",J="Invalid Date",q=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,B=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,G={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(s){var n=["th","st","nd","rd"],t=s%100;return"["+s+(n[(t-20)%10]||n[t]||n[0])+"]"}},I=function(s,n,t){var r=String(s);return!r||r.length>=n?s:""+Array(n+1-r.length).join(t)+s},P={s:I,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+I(r,2,"0")+":"+I(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(x=e),e||!r&&x},f=function(s,n){if(F(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=P;a.l=j,a.i=F,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=function(){function s(t){this.$L=j(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[Z]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(q);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==J},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t)=n?s:""+Array(n+1-r.length).join(t)+s},P={s:I,z:function(s){var n=-s.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),e=t%60;return(n<=0?"+":"-")+I(r,2,"0")+":"+I(e,2,"0")},m:function s(n,t){if(n.date()1)return s(u[0])}else{var o=n.name;D[o]=n,e=o}return!r&&e&&(x=e),e||!r&&x},f=function(s,n){if(F(s))return s.clone();var t=typeof n=="object"?n:{};return t.date=s,t.args=arguments,new C(t)},a=P;a.l=j,a.i=F,a.w=function(s,n){return f(s,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var C=function(){function s(t){this.$L=j(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[Z]=!0}var n=s.prototype;return n.parse=function(t){this.$d=function(r){var e=r.date,i=r.utc;if(e===null)return new Date(NaN);if(a.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var u=e.match(q);if(u){var o=u[2]-1||0,c=(u[7]||"0").substring(0,3);return i?new Date(Date.UTC(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)):new Date(u[1],o,u[3]||1,u[4]||0,u[5]||0,u[6]||0,c)}}return new Date(e)}(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return a},n.isValid=function(){return this.$d.toString()!==J},n.isSame=function(t,r){var e=f(t);return this.startOf(r)<=e&&e<=this.endOf(r)},n.isAfter=function(t,r){return f(t){clearInterval(u.Peers.RefreshInterval),h.value=!0,W("/api/deleteWireguardConfiguration",{ConfigurationName:p},_=>{_.status?(g.push("/"),u.newMessage("Server","Configuration deleted","success")):h.value=!1})},b=x(!0),y=x([]),w=()=>{b.value=!0,M("/api/getWireguardConfigurationBackup",{configurationName:p},_=>{y.value=_.data,b.value=!1})};Y(()=>{w()});const k=r;return(_,d)=>(c(),v("div",oe,[e("div",re,[e("div",de,[e("div",ue,[e("div",ce,[e("h5",fe,[i(l,{t:"Are you sure to delete this configuration?"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:d[0]||(d[0]=s=>k("close"))})]),e("div",ge,[e("p",me,[i(l,{t:"Once you deleted this configuration:"})]),e("ul",null,[e("li",null,[i(l,{t:"All connected peers will get disconnected"})]),e("li",null,[i(l,{t:"Both configuration file (.conf) and database table related to this configuration will get deleted"})])]),e("div",{class:$(["alert",[b.value?"alert-secondary":y.value.length>0?"alert-success":"alert-danger"]])},[b.value?(c(),v("div",be,[d[5]||(d[5]=e("i",{class:"bi bi-search me-2"},null,-1)),i(l,{t:"Checking backups..."})])):y.value.length>0?(c(),v("div",ve,[d[6]||(d[6]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),i(l,{t:"This configuration have "+y.value.length+" backups"},null,8,["t"])])):(c(),v("div",pe,[d[9]||(d[9]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),i(l,{t:"This configuration have no backup"}),e("a",{role:"button",onClick:d[1]||(d[1]=s=>k("backup")),class:"ms-auto btn btn-sm btn-primary rounded-3"},[d[7]||(d[7]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),i(l,{t:"Backup"})]),e("a",{role:"button",onClick:d[2]||(d[2]=s=>w()),class:"btn btn-sm btn-primary rounded-3"},d[8]||(d[8]=[e("i",{class:"bi bi-arrow-clockwise"},null,-1)]))]))],2),d[11]||(d[11]=e("hr",null,null,-1)),e("p",null,[i(l,{t:"If you're sure, please type in the configuration name below and click Delete"})]),B(e("input",{class:"form-control rounded-3 mb-3",placeholder:K(p),"onUpdate:modelValue":d[3]||(d[3]=s=>n.value=s),type:"text"},null,8,he),[[R,n.value]]),e("button",{class:"btn btn-danger w-100",onClick:d[4]||(d[4]=s=>f()),disabled:n.value!==K(p)||h.value},[d[10]||(d[10]=e("i",{class:"bi bi-trash-fill me-2 rounded-3"},null,-1)),h.value?(c(),N(l,{key:1,t:"Deleting..."})):(c(),N(l,{key:0,t:"Delete"}))],8,ye)])])])])]))}},we={class:"card my-0 rounded-3"},ke={class:"card-body position-relative"},Ce={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},_e={class:"m-auto"},Se={class:"d-flex gap-2 align-items-center justify-content-center"},Ne=["disabled"],$e=["disabled"],Be={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},Pe={class:"m-auto"},Re={class:"d-flex gap-2 align-items-center justify-content-center"},De=["disabled"],We=["disabled"],Le={class:"d-flex gap-3"},Ve={class:"d-flex flex-column"},He={class:"text-muted"},Me={class:"d-flex flex-column"},ze={class:"text-muted"},Ie={class:"d-flex gap-2 align-items-center ms-auto"},Ke={class:"card rounded-3"},Te={key:0,class:"card-body"},Fe=["value"],Oe={class:"d-flex"},Ue={__name:"backup",props:["b","delay"],emits:["refresh","refreshPeersList"],setup(o,{emit:r}){Q(d=>({a60ade86:k.value}));const t=o,p=x(!1),n=x(!1),g=O(),u=r,h=z(),f=x(!1),b=()=>{f.value=!0,W("/api/deleteWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{f.value=!1,d.status?(u("refresh"),h.newMessage("Server","Backup deleted","success")):h.newMessage("Server","Backup failed to delete","danger")})},y=()=>{f.value=!0,W("/api/restoreWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{f.value=!1,n.value=!1,d.status?(u("refreshPeersList"),h.newMessage("Server","Backup restored with "+t.b.filename,"success")):h.newMessage("Server","Backup failed to restore","danger")})},w=()=>{M("/api/downloadWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{d.status&&window.open(`/fileDownload?file=${d.data}`,"_blank")})},k=X(()=>t.delay+"s"),_=x(!1);return(d,s)=>(c(),v("div",we,[e("div",ke,[i(j,{name:"zoomReversed"},{default:T(()=>[p.value?(c(),v("div",Ce,[e("div",_e,[e("h5",null,[i(l,{t:"Are you sure to delete this backup?"})]),e("div",Se,[e("button",{class:"btn btn-danger rounded-3",disabled:f.value,onClick:s[0]||(s[0]=C=>b())},[i(l,{t:"Yes"})],8,Ne),e("button",{onClick:s[1]||(s[1]=C=>p.value=!1),disabled:f.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[i(l,{t:"No"})],8,$e)])])])):S("",!0)]),_:1}),i(j,{name:"zoomReversed"},{default:T(()=>[n.value?(c(),v("div",Be,[e("div",Pe,[e("h5",null,[i(l,{t:"Are you sure to restore this backup?"})]),e("div",Re,[e("button",{disabled:f.value,onClick:s[2]||(s[2]=C=>y()),class:"btn btn-success rounded-3"},[i(l,{t:"Yes"})],8,De),e("button",{onClick:s[3]||(s[3]=C=>n.value=!1),disabled:f.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[i(l,{t:"No"})],8,We)])])])):S("",!0)]),_:1}),e("div",Le,[e("div",Ve,[e("small",He,[i(l,{t:"Backup"})]),e("samp",null,D(o.b.filename),1)]),e("div",Me,[e("small",ze,[i(l,{t:"Backup Date"})]),V(" "+D(K(le)(o.b.backupDate,"YYYYMMDDHHmmss").format("YYYY-MM-DD HH:mm:ss")),1)]),e("div",Ie,[e("button",{onClick:s[4]||(s[4]=C=>w()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 btn-sm"},s[8]||(s[8]=[e("i",{class:"bi bi-download"},null,-1)])),e("button",{onClick:s[5]||(s[5]=C=>n.value=!0),class:"btn bg-warning-subtle text-warning-emphasis border-warning-subtle rounded-3 btn-sm"},s[9]||(s[9]=[e("i",{class:"bi bi-clock-history"},null,-1)])),e("button",{onClick:s[6]||(s[6]=C=>p.value=!0),class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 btn-sm"},s[10]||(s[10]=[e("i",{class:"bi bi-trash-fill"},null,-1)]))])]),s[14]||(s[14]=e("hr",null,null,-1)),e("div",Ke,[e("a",{role:"button",class:$(["card-header d-flex text-decoration-none align-items-center",{"border-bottom-0":!_.value}]),style:{cursor:"pointer"},onClick:s[7]||(s[7]=C=>_.value=!_.value)},[e("small",null,[s[11]||(s[11]=V(".conf ")),i(l,{t:"File"})]),s[12]||(s[12]=e("i",{class:"bi bi-chevron-down ms-auto"},null,-1))],2),_.value?(c(),v("div",Te,[e("textarea",{class:"form-control rounded-3",value:o.b.content,disabled:"",style:{height:"300px","font-family":"var(--bs-font-monospace),sans-serif !important"}},null,8,Fe)])):S("",!0)]),s[15]||(s[15]=e("hr",null,null,-1)),e("div",Oe,[e("span",null,[s[13]||(s[13]=e("i",{class:"bi bi-database me-1"},null,-1)),i(l,{t:"Database File"})]),e("i",{class:$(["bi ms-auto",[o.b.database?"text-success bi-check-circle-fill":"text-danger bi-x-circle-fill"]])},null,2)])])]))}},Ae=I(Ue,[["__scopeId","data-v-93ce03f2"]]),Je={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ye={class:"d-flex h-100 w-100"},je={class:"modal-dialog-centered dashboardModal w-100 h-100 overflow-x-scroll flex-column gap-3 mx-3"},Ee={class:"my-5 d-flex gap-3 flex-column position-relative"},Ge={class:"title"},qe={class:"d-flex mb-3"},Ze={class:"mb-0"},Qe={class:"position-relative d-flex flex-column gap-3"},Xe={class:"text-center title",key:"spinner"},et={class:"card my-0 rounded-3",key:"noBackups"},tt={class:"card-body text-center text-muted"},st={__name:"configurationBackupRestore",emits:["close","refreshPeersList"],setup(o,{emit:r}){const t=O(),p=x([]),n=x(!0),g=r;Y(()=>{u()});const u=()=>{n.value=!0,M("/api/getWireguardConfigurationBackup",{configurationName:t.params.id},f=>{p.value=f.data,n.value=!1})},h=()=>{M("/api/createWireguardConfigurationBackup",{configurationName:t.params.id},f=>{p.value=f.data,n.value=!1})};return(f,b)=>(c(),v("div",Je,[e("div",Ye,[e("div",je,[e("div",Ee,[e("div",Ge,[e("div",qe,[e("h4",Ze,[i(l,{t:"Backup & Restore"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=y=>f.$emit("close"))})]),e("button",{onClick:b[1]||(b[1]=y=>h()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 w-100"},[b[4]||(b[4]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),i(l,{t:"Create Backup"})])]),e("div",Qe,[i(G,{name:"list1"},{default:T(()=>[n.value&&p.value.length===0?(c(),v("div",Xe,b[5]||(b[5]=[e("div",{class:"spinner-border"},null,-1)]))):!n.value&&p.value.length===0?(c(),v("div",et,[e("div",tt,[b[6]||(b[6]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),i(l,{t:"No backup yet, click the button above to create backup."})])])):S("",!0),(c(!0),v(H,null,F(p.value,y=>(c(),N(Ae,{onRefresh:b[2]||(b[2]=w=>u()),onRefreshPeersList:b[3]||(b[3]=w=>g("refreshPeersList")),b:y,key:y.filename},null,8,["b"]))),128))]),_:1})])])])])],512))}},nt=I(st,[["__scopeId","data-v-1f718118"]]),at={class:"card rounded-3 flex-grow-1 bg-danger-subtle border-danger-subtle border shadow"},it={class:"card-body"},lt={class:"d-flex align-items-center gap-3 inputGroup"},ot=["value"],rt={class:"mb-0"},dt={class:"d-flex mt-3"},ut=["disabled"],ct={__name:"updateConfigurationName",props:{configurationName:String},emits:["close"],setup(o,{emit:r}){const t=o,p=r,n=J({data:"",valid:!1}),g=q();Y(()=>{Z(()=>n.data,y=>{n.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(y)&&y.length>0&&!g.Configurations.find(w=>w.Name===y)})});const u=z(),h=x(!1),f=E(),b=async()=>{n.data&&(h.value=!0,clearInterval(u.Peers.RefreshInterval),await W("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:n.data},async y=>{y.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),f.push(`/configuration/${n.data}/peers`)):(u.newMessage("Server",y.message,"danger"),h.value=!1)}))};return(y,w)=>(c(),v("div",at,[e("div",it,[e("p",null,[i(l,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[i(l,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[i(l,{t:"Delete current configuration's database table and .conf file"})])]),e("div",lt,[e("input",{class:"form-control form-control-sm rounded-3",value:o.configurationName,disabled:""},null,8,ot),w[3]||(w[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),B(e("input",{class:$(["form-control form-control-sm rounded-3",[n.data?n.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":w[0]||(w[0]=k=>n.data=k)},null,2),[[R,n.data]])]),e("div",{class:$(["invalid-feedback",{"d-block":!n.valid&&n.data}])},[i(l,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",rt,[e("li",null,[i(l,{t:"Configuration name already exist."})]),e("li",null,[i(l,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",dt,[e("button",{onClick:w[1]||(w[1]=k=>p("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[i(l,{t:"Cancel"})]),e("button",{onClick:w[2]||(w[2]=k=>b()),disabled:!n.data||h.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[i(l,{t:"Save"})],8,ut)])])]))}},ft=I(ct,[["__scopeId","data-v-faa7ff89"]]),gt={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},mt={class:"title"};function bt(o,r,t,p,n,g){return c(),v("div",{class:$(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>o.toggleDropdown&&o.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>o.hideDropdown&&o.hideDropdown(...u)),tabindex:"0"},[e("div",mt,[e("div",null,D(t.title),1)])],34)}const vt=I(gt,[["render",bt]]),pt={components:{Dropdown:vt},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(o,r){o.textContent=r.value},updated(o,r){o.scrolling?o.scrolling=!1:o.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let o="";for(let r=0;r{clearInterval(u.Peers.RefreshInterval),h.value=!0,W("/api/deleteWireguardConfiguration",{ConfigurationName:p},_=>{_.status?(g.push("/"),u.newMessage("Server","Configuration deleted","success")):h.value=!1})},b=x(!0),y=x([]),w=()=>{b.value=!0,M("/api/getWireguardConfigurationBackup",{configurationName:p},_=>{y.value=_.data,b.value=!1})};j(()=>{w()});const k=r;return(_,d)=>(c(),v("div",oe,[e("div",re,[e("div",de,[e("div",ue,[e("div",ce,[e("h5",fe,[i(l,{t:"Are you sure to delete this configuration?"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:d[0]||(d[0]=s=>k("close"))})]),e("div",ge,[e("p",me,[i(l,{t:"Once you deleted this configuration:"})]),e("ul",null,[e("li",null,[i(l,{t:"All connected peers will get disconnected"})]),e("li",null,[i(l,{t:"Both configuration file (.conf) and database table related to this configuration will get deleted"})])]),e("div",{class:$(["alert",[b.value?"alert-secondary":y.value.length>0?"alert-success":"alert-danger"]])},[b.value?(c(),v("div",be,[d[5]||(d[5]=e("i",{class:"bi bi-search me-2"},null,-1)),i(l,{t:"Checking backups..."})])):y.value.length>0?(c(),v("div",ve,[d[6]||(d[6]=e("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),i(l,{t:"This configuration have "+y.value.length+" backups"},null,8,["t"])])):(c(),v("div",pe,[d[9]||(d[9]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),i(l,{t:"This configuration have no backup"}),e("a",{role:"button",onClick:d[1]||(d[1]=s=>k("backup")),class:"ms-auto btn btn-sm btn-primary rounded-3"},[d[7]||(d[7]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),i(l,{t:"Backup"})]),e("a",{role:"button",onClick:d[2]||(d[2]=s=>w()),class:"btn btn-sm btn-primary rounded-3"},d[8]||(d[8]=[e("i",{class:"bi bi-arrow-clockwise"},null,-1)]))]))],2),d[11]||(d[11]=e("hr",null,null,-1)),e("p",null,[i(l,{t:"If you're sure, please type in the configuration name below and click Delete"})]),B(e("input",{class:"form-control rounded-3 mb-3",placeholder:K(p),"onUpdate:modelValue":d[3]||(d[3]=s=>n.value=s),type:"text"},null,8,he),[[R,n.value]]),e("button",{class:"btn btn-danger w-100",onClick:d[4]||(d[4]=s=>f()),disabled:n.value!==K(p)||h.value},[d[10]||(d[10]=e("i",{class:"bi bi-trash-fill me-2 rounded-3"},null,-1)),h.value?(c(),N(l,{key:1,t:"Deleting..."})):(c(),N(l,{key:0,t:"Delete"}))],8,ye)])])])])]))}},we={class:"card my-0 rounded-3"},ke={class:"card-body position-relative"},Ce={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},_e={class:"m-auto"},Se={class:"d-flex gap-2 align-items-center justify-content-center"},Ne=["disabled"],$e=["disabled"],Be={key:0,class:"position-absolute w-100 h-100 confirmationContainer start-0 top-0 rounded-3 d-flex p-2"},Pe={class:"m-auto"},Re={class:"d-flex gap-2 align-items-center justify-content-center"},De=["disabled"],We=["disabled"],Le={class:"d-flex gap-3"},Ve={class:"d-flex flex-column"},He={class:"text-muted"},Me={class:"d-flex flex-column"},ze={class:"text-muted"},Ie={class:"d-flex gap-2 align-items-center ms-auto"},Ke={class:"card rounded-3"},Te={key:0,class:"card-body"},Fe=["value"],Oe={class:"d-flex"},Ue={__name:"backup",props:["b","delay"],emits:["refresh","refreshPeersList"],setup(o,{emit:r}){Q(d=>({a60ade86:k.value}));const t=o,p=x(!1),n=x(!1),g=O(),u=r,h=z(),f=x(!1),b=()=>{f.value=!0,W("/api/deleteWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{f.value=!1,d.status?(u("refresh"),h.newMessage("Server","Backup deleted","success")):h.newMessage("Server","Backup failed to delete","danger")})},y=()=>{f.value=!0,W("/api/restoreWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{f.value=!1,n.value=!1,d.status?(u("refreshPeersList"),h.newMessage("Server","Backup restored with "+t.b.filename,"success")):h.newMessage("Server","Backup failed to restore","danger")})},w=()=>{M("/api/downloadWireguardConfigurationBackup",{configurationName:g.params.id,backupFileName:t.b.filename},d=>{d.status&&window.open(`/fileDownload?file=${d.data}`,"_blank")})},k=X(()=>t.delay+"s"),_=x(!1);return(d,s)=>(c(),v("div",we,[e("div",ke,[i(Y,{name:"zoomReversed"},{default:T(()=>[p.value?(c(),v("div",Ce,[e("div",_e,[e("h5",null,[i(l,{t:"Are you sure to delete this backup?"})]),e("div",Se,[e("button",{class:"btn btn-danger rounded-3",disabled:f.value,onClick:s[0]||(s[0]=C=>b())},[i(l,{t:"Yes"})],8,Ne),e("button",{onClick:s[1]||(s[1]=C=>p.value=!1),disabled:f.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[i(l,{t:"No"})],8,$e)])])])):S("",!0)]),_:1}),i(Y,{name:"zoomReversed"},{default:T(()=>[n.value?(c(),v("div",Be,[e("div",Pe,[e("h5",null,[i(l,{t:"Are you sure to restore this backup?"})]),e("div",Re,[e("button",{disabled:f.value,onClick:s[2]||(s[2]=C=>y()),class:"btn btn-success rounded-3"},[i(l,{t:"Yes"})],8,De),e("button",{onClick:s[3]||(s[3]=C=>n.value=!1),disabled:f.value,class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3"},[i(l,{t:"No"})],8,We)])])])):S("",!0)]),_:1}),e("div",Le,[e("div",Ve,[e("small",He,[i(l,{t:"Backup"})]),e("samp",null,D(o.b.filename),1)]),e("div",Me,[e("small",ze,[i(l,{t:"Backup Date"})]),V(" "+D(K(le)(o.b.backupDate,"YYYYMMDDHHmmss").format("YYYY-MM-DD HH:mm:ss")),1)]),e("div",Ie,[e("button",{onClick:s[4]||(s[4]=C=>w()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 btn-sm"},s[8]||(s[8]=[e("i",{class:"bi bi-download"},null,-1)])),e("button",{onClick:s[5]||(s[5]=C=>n.value=!0),class:"btn bg-warning-subtle text-warning-emphasis border-warning-subtle rounded-3 btn-sm"},s[9]||(s[9]=[e("i",{class:"bi bi-clock-history"},null,-1)])),e("button",{onClick:s[6]||(s[6]=C=>p.value=!0),class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle rounded-3 btn-sm"},s[10]||(s[10]=[e("i",{class:"bi bi-trash-fill"},null,-1)]))])]),s[14]||(s[14]=e("hr",null,null,-1)),e("div",Ke,[e("a",{role:"button",class:$(["card-header d-flex text-decoration-none align-items-center",{"border-bottom-0":!_.value}]),style:{cursor:"pointer"},onClick:s[7]||(s[7]=C=>_.value=!_.value)},[e("small",null,[s[11]||(s[11]=V(".conf ")),i(l,{t:"File"})]),s[12]||(s[12]=e("i",{class:"bi bi-chevron-down ms-auto"},null,-1))],2),_.value?(c(),v("div",Te,[e("textarea",{class:"form-control rounded-3",value:o.b.content,disabled:"",style:{height:"300px","font-family":"var(--bs-font-monospace),sans-serif !important"}},null,8,Fe)])):S("",!0)]),s[15]||(s[15]=e("hr",null,null,-1)),e("div",Oe,[e("span",null,[s[13]||(s[13]=e("i",{class:"bi bi-database me-1"},null,-1)),i(l,{t:"Database File"})]),e("i",{class:$(["bi ms-auto",[o.b.database?"text-success bi-check-circle-fill":"text-danger bi-x-circle-fill"]])},null,2)])])]))}},Ae=I(Ue,[["__scopeId","data-v-93ce03f2"]]),Je={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},je={class:"d-flex h-100 w-100"},Ye={class:"modal-dialog-centered dashboardModal w-100 h-100 overflow-x-scroll flex-column gap-3 mx-3"},Ee={class:"my-5 d-flex gap-3 flex-column position-relative"},Ge={class:"title"},qe={class:"d-flex mb-3"},Ze={class:"mb-0"},Qe={class:"position-relative d-flex flex-column gap-3"},Xe={class:"text-center title",key:"spinner"},et={class:"card my-0 rounded-3",key:"noBackups"},tt={class:"card-body text-center text-muted"},st={__name:"configurationBackupRestore",emits:["close","refreshPeersList"],setup(o,{emit:r}){const t=O(),p=x([]),n=x(!0),g=r;j(()=>{u()});const u=()=>{n.value=!0,M("/api/getWireguardConfigurationBackup",{configurationName:t.params.id},f=>{p.value=f.data,n.value=!1})},h=()=>{M("/api/createWireguardConfigurationBackup",{configurationName:t.params.id},f=>{p.value=f.data,n.value=!1})};return(f,b)=>(c(),v("div",Je,[e("div",je,[e("div",Ye,[e("div",Ee,[e("div",Ge,[e("div",qe,[e("h4",Ze,[i(l,{t:"Backup & Restore"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:b[0]||(b[0]=y=>f.$emit("close"))})]),e("button",{onClick:b[1]||(b[1]=y=>h()),class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3 w-100"},[b[4]||(b[4]=e("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),i(l,{t:"Create Backup"})])]),e("div",Qe,[i(G,{name:"list1"},{default:T(()=>[n.value&&p.value.length===0?(c(),v("div",Xe,b[5]||(b[5]=[e("div",{class:"spinner-border"},null,-1)]))):!n.value&&p.value.length===0?(c(),v("div",et,[e("div",tt,[b[6]||(b[6]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),i(l,{t:"No backup yet, click the button above to create backup."})])])):S("",!0),(c(!0),v(H,null,F(p.value,y=>(c(),N(Ae,{onRefresh:b[2]||(b[2]=w=>u()),onRefreshPeersList:b[3]||(b[3]=w=>g("refreshPeersList")),b:y,key:y.filename},null,8,["b"]))),128))]),_:1})])])])])],512))}},nt=I(st,[["__scopeId","data-v-1f718118"]]),at={class:"card rounded-3 flex-grow-1 bg-danger-subtle border-danger-subtle border shadow"},it={class:"card-body"},lt={class:"d-flex align-items-center gap-3 inputGroup"},ot=["value"],rt={class:"mb-0"},dt={class:"d-flex mt-3"},ut=["disabled"],ct={__name:"updateConfigurationName",props:{configurationName:String},emits:["close"],setup(o,{emit:r}){const t=o,p=r,n=J({data:"",valid:!1}),g=q();j(()=>{Z(()=>n.data,y=>{n.valid=/^[a-zA-Z0-9_=+.-]{1,15}$/.test(y)&&y.length>0&&!g.Configurations.find(w=>w.Name===y)})});const u=z(),h=x(!1),f=E(),b=async()=>{n.data&&(h.value=!0,clearInterval(u.Peers.RefreshInterval),await W("/api/renameWireguardConfiguration",{ConfigurationName:t.configurationName,NewConfigurationName:n.data},async y=>{y.status?(await g.getConfigurations(),u.newMessage("Server","Configuration renamed","success"),f.push(`/configuration/${n.data}/peers`)):(u.newMessage("Server",y.message,"danger"),h.value=!1)}))};return(y,w)=>(c(),v("div",at,[e("div",it,[e("p",null,[i(l,{t:"To update this configuration's name, WGDashboard will execute the following operations:"})]),e("ol",null,[e("li",null,[i(l,{t:"Duplicate current configuration's database table and .conf file with the new name"})]),e("li",null,[i(l,{t:"Delete current configuration's database table and .conf file"})])]),e("div",lt,[e("input",{class:"form-control form-control-sm rounded-3",value:o.configurationName,disabled:""},null,8,ot),w[3]||(w[3]=e("h3",{class:"mb-0"},[e("i",{class:"bi bi-arrow-right"})],-1)),B(e("input",{class:$(["form-control form-control-sm rounded-3",[n.data?n.valid?"is-valid":"is-invalid":""]]),id:"newConfigurationName","onUpdate:modelValue":w[0]||(w[0]=k=>n.data=k)},null,2),[[R,n.data]])]),e("div",{class:$(["invalid-feedback",{"d-block":!n.valid&&n.data}])},[i(l,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",rt,[e("li",null,[i(l,{t:"Configuration name already exist."})]),e("li",null,[i(l,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])],2),e("div",dt,[e("button",{onClick:w[1]||(w[1]=k=>p("close")),class:"btn btn-sm bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3"},[i(l,{t:"Cancel"})]),e("button",{onClick:w[2]||(w[2]=k=>b()),disabled:!n.data||h.value,class:"btn btn-sm btn-danger rounded-3 ms-auto"},[i(l,{t:"Save"})],8,ut)])])]))}},ft=I(ct,[["__scopeId","data-v-faa7ff89"]]),gt={name:"Dropdown",props:{width:{type:String,default:"80px"},height:{type:String,default:"auto"},title:{type:String,default:""},disabled:{type:Boolean,default:!1},defaultDisplay:{type:Boolean,default:!1}}},mt={class:"title"};function bt(o,r,t,p,n,g){return c(),v("div",{class:$(["dropdown",{disabled:t.disabled}]),onClick:r[0]||(r[0]=(...u)=>o.toggleDropdown&&o.toggleDropdown(...u)),onFocusout:r[1]||(r[1]=(...u)=>o.hideDropdown&&o.hideDropdown(...u)),tabindex:"0"},[e("div",mt,[e("div",null,D(t.title),1)])],34)}const vt=I(gt,[["render",bt]]),pt={components:{Dropdown:vt},name:"CodeEditor",props:{lineNums:{type:Boolean,default:!1},modelValue:{type:String},value:{type:String},theme:{type:String,default:"github-dark"},tabSpaces:{type:Number,default:2},wrap:{type:Boolean,default:!1},readOnly:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},header:{type:Boolean,default:!0},width:{type:String,default:"540px"},height:{type:String,default:"auto"},maxWidth:{type:String},minWidth:{type:String},maxHeight:{type:String},minHeight:{type:String},borderRadius:{type:String,default:"12px"},languages:{type:Array,default:function(){return[["javascript","JS"]]}},langListWidth:{type:String,default:"110px"},langListHeight:{type:String,default:"auto"},langListDisplay:{type:Boolean,default:!1},displayLanguage:{type:Boolean,default:!0},zIndex:{type:String,default:"0"},fontSize:{type:String,default:"17px"},padding:{type:String,default:"20px"}},directives:{highlight:{mounted(o,r){o.textContent=r.value},updated(o,r){o.scrolling?o.scrolling=!1:o.textContent=r.value}}},data(){return{scrollBarWidth:0,scrollBarHeight:0,top:0,left:0,languageClass:"hljs language-"+this.languages[0][0],languageTitle:this.languages[0][1]?this.languages[0][1]:this.languages[0][0],content:this.value,cursorPosition:0,insertTab:!1,lineNum:0,lineNumsWidth:0,scrolling:!1,textareaHeight:0,showLineNums:this.wrap?!1:this.lineNums}},computed:{tabWidth(){let o="";for(let r=0;r{this.scrollBarWidth=t[0].target.offsetWidth-t[0].target.clientWidth,this.scrollBarHeight=t[0].target.offsetHeight-t[0].target.clientHeight,this.textareaHeight=t[0].target.offsetHeight}).observe(this.$refs.textarea);const r=new ResizeObserver(t=>{this.lineNumsWidth=t[0].target.offsetWidth});this.$refs.lineNums&&r.observe(this.$refs.lineNums)},copy(){document.execCommand("copy")?(this.$refs.textarea.select(),document.execCommand("copy"),window.getSelection().removeAllRanges()):navigator.clipboard.writeText(this.$refs.textarea.value)},getLineNum(){const o=this.$refs.textarea.value;let r=0,t=o.indexOf(` `);for(;t!==-1;)r++,t=o.indexOf(` `,t+1);const p=this.$refs.lineNums.firstChild.offsetHeight,n=parseInt(this.textareaHeight/p)-1;this.lineNum=this.height=="auto"||r>n?r:n}},mounted(){this.$emit("lang",this.languages[0][0]),this.$emit("content",this.content),this.$emit("textarea",this.$refs.textarea),this.resizer()},updated(){this.insertTab&&(this.$refs.textarea.setSelectionRange(this.cursorPosition,this.cursorPosition),this.insertTab=!1),this.lineNums&&(this.scrolling?this.scrolling=!1:this.getLineNum())}},ht=["theme"],yt=["readOnly","autofocus","value"];function xt(o,r,t,p,n,g){const u=ee("Dropdown"),h=te("highlight");return c(),v("div",{theme:t.theme,class:$(["code-editor",{"hide-header":!t.header,scroll:g.scroll,"read-only":t.readOnly,wrap:t.wrap}]),style:P({width:t.width,height:t.height,zIndex:t.zIndex,maxWidth:t.maxWidth,minWidth:t.minWidth,maxHeight:t.maxHeight,minHeight:t.minHeight})},[e("div",{class:"hljs",style:P({borderRadius:t.borderRadius})},[t.header?(c(),v("div",{key:0,class:$(["header",{border:n.showLineNums}]),style:P({borderRadius:t.borderRadius+" "+t.borderRadius+" 0 0"})},[t.displayLanguage?(c(),N(u,{key:0,width:t.langListWidth,title:n.languageTitle,disabled:t.languages.length<=1,defaultDisplay:t.langListDisplay},null,8,["width","title","disabled","defaultDisplay"])):S("",!0)],6)):S("",!0),e("div",{class:"code-area",style:P({borderRadius:t.header?"0 0 "+t.borderRadius+" "+t.borderRadius:t.borderRadius})},[n.showLineNums?(c(),v("div",{key:0,ref:"lineNums",class:"line-nums hljs",style:P({fontSize:t.fontSize,paddingTop:t.header?"10px":t.padding,paddingBottom:t.padding,top:n.top+"px"})},[r[3]||(r[3]=e("div",null,"1",-1)),(c(!0),v(H,null,F(n.lineNum,f=>(c(),v("div",null,D(f+1),1))),256)),r[4]||(r[4]=e("div",null," ",-1))],4)):S("",!0),e("textarea",{title:"textarea",readOnly:t.readOnly,style:P({fontSize:t.fontSize,padding:t.header?t.lineNums?"10px "+t.padding+" "+t.padding:"0 "+t.padding+" "+t.padding:t.padding,marginLeft:n.showLineNums?n.lineNumsWidth+"px":"0",width:n.showLineNums?"calc(100% - "+n.lineNumsWidth+"px)":"100%"}),ref:"textarea",autofocus:t.autofocus,spellcheck:"false",onKeydown:r[0]||(r[0]=se(ne((...f)=>g.tab&&g.tab(...f),["prevent","stop"]),["tab"])),onScroll:r[1]||(r[1]=(...f)=>g.calcScrollDistance&&g.calcScrollDistance(...f)),value:t.modelValue==null?n.content:t.modelValue,onInput:r[2]||(r[2]=(...f)=>g.updateValue&&g.updateValue(...f))},null,44,yt),e("pre",{style:P({paddingRight:n.scrollBarWidth+"px",paddingBottom:n.scrollBarHeight+"px",marginLeft:n.showLineNums?n.lineNumsWidth+"px":"0",width:n.showLineNums?"calc(100% - "+n.lineNumsWidth+"px)":"100%"})},[r[6]||(r[6]=V(" ")),B((c(),v("code",{ref:"code",class:$(n.languageClass),style:P({top:n.top+"px",left:n.left+"px",fontSize:t.fontSize,padding:t.header?t.lineNums?"10px "+t.padding+" "+t.padding:"0 "+t.padding+" "+t.padding:t.padding})},r[5]||(r[5]=[V(` `)]),6)),[[h,g.contentValue]]),r[7]||(r[7]=V(` - `))],4)],4)],4)],14,ht)}const wt=I(pt,[["render",xt]]),kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Ct={class:"container d-flex h-100 w-100"},_t={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},St={class:"card rounded-3 shadow flex-grow-1",id:"deleteConfigurationContainer"},Nt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},$t={class:"mb-0"},Bt={class:"card-body px-4 d-flex flex-column gap-3"},Pt={class:"alert alert-warning rounded-3 mb-0"},Rt={key:0,class:"alert alert-danger rounded-3 mb-0"},Dt={class:"mb-2"},Wt={class:"bg-body w-100 p-2 rounded-3"},Lt={class:"d-flex gap-2"},Vt=["disabled"],Ht=["disabled"],Mt={__name:"editRawConfigurationFile",emits:["close"],async setup(o,{emit:r}){let t,p;const n=r,g=O(),u=x(""),h=x(""),f=x(!1),b=x(""),y=async()=>{await M("/api/getWireguardConfigurationRawFile",{configurationName:g.params.id},d=>{u.value=d.data.content,h.value=d.data.path})};[t,p]=ae(()=>y()),await t,p();const w=z(),k=x(!1),_=async()=>{k.value=!0,await W("/api/updateWireguardConfigurationRawFile",{configurationName:g.params.id,rawConfiguration:u.value},d=>{d.status?(f.value=!1,w.newMessage("Server","Configuration saved","success")):(f.value=!0,b.value=d.message),k.value=!1})};return(d,s)=>(c(),v("div",kt,[e("div",Ct,[e("div",_t,[e("div",St,[e("div",Nt,[e("h5",$t,[i(l,{t:"Edit Raw Configuration File"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=C=>n("close"))})]),e("div",Bt,[e("div",Pt,[s[4]||(s[4]=e("i",{class:"bi-exclamation-triangle-fill me-2"},null,-1)),i(l,{t:"Please be careful when editing the raw file"})]),f.value?(c(),v("div",Rt,[e("div",Dt,[e("strong",null,[i(l,{t:"Failed to save configuration. Please see the following error message:"})])]),e("div",Wt,[e("pre",null,D(b.value),1)])])):S("",!0),i(wt,{disabled:!0,"read-only":k.value,modelValue:u.value,"onUpdate:modelValue":s[1]||(s[1]=C=>u.value=C),theme:K(w).Configuration.Server.dashboard_theme==="dark"?"github-dark":"github",languages:[["ini",h.value]],width:"100%",height:"600px"},null,8,["read-only","modelValue","theme","languages"]),e("div",Lt,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",disabled:k.value,onClick:s[2]||(s[2]=C=>y())},[s[5]||(s[5]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(l,{t:"Reset"})],8,Vt),e("button",{onClick:s[3]||(s[3]=C=>_()),disabled:k.value,class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 px-3 py-2 shadow"},[s[6]||(s[6]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),k.value?(c(),N(l,{key:1,t:"Saving..."})):(c(),N(l,{key:0,t:"Save"}))],8,Ht)])])])])])]))}},zt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},It={class:"container d-flex h-100 w-100"},Kt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},Tt={class:"card rounded-3 shadow flex-grow-1"},Ft={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ot={class:"mb-0"},Ut={class:"card-body px-4 pb-4"},At={class:"d-flex gap-2 flex-column"},Jt={key:0,class:"d-flex align-items-center gap-3"},Yt={class:"text-muted"},jt={class:"d-flex align-items-center gap-3"},Et={class:"text-muted",style:{"word-break":"keep-all"}},Gt={class:"ms-auto",style:{"word-break":"break-all"}},qt={class:"d-flex"},Zt={for:"configuration_private_key",class:"form-label"},Qt={class:"text-muted d-block"},Xt={class:"form-check form-switch ms-auto"},es=["disabled"],ts={for:"configuration_ipaddress_cidr",class:"form-label"},ss={class:"text-muted"},ns=["disabled"],as={for:"configuration_listen_port",class:"form-label"},is={class:"text-muted"},ls=["disabled"],os=["for"],rs={class:"text-muted"},ds=["disabled","onUpdate:modelValue","id"],us=["for"],cs={class:"text-muted"},fs=["disabled","onUpdate:modelValue","id"],gs={class:"d-flex align-items-center gap-2 mt-4"},ms=["disabled"],bs=["disabled"],vs={class:"d-flex gap-2 flex-column"},xs={__name:"editConfiguration",props:{configurationInfo:Object},emits:["changed","close","refresh"],setup(o,{emit:r}){const t=o,p=q(),n=z(),g=x(!1),u=J(JSON.parse(JSON.stringify(t.configurationInfo))),h=x(!1),f=x(!1),b=J({PrivateKey:!0,IPAddress:!0,ListenPort:!0}),y=()=>{p.checkWGKeyLength(u.PrivateKey)?(b.PrivateKey=!0,u.PublicKey=window.wireguard.generatePublicKey(u.PrivateKey)):b.PrivateKey=!1},w=()=>{f.value=!1,Object.assign(u,JSON.parse(JSON.stringify(t.configurationInfo)))},k=r,_=()=>{g.value=!0,W("/api/updateWireguardConfiguration",u,L=>{g.value=!1,L.status?(n.newMessage("Server","Configuration saved","success"),f.value=!1,k("dataChanged",L.data)):n.newMessage("Server",L.message,"danger")})},d=x(!1);Z(u,()=>{f.value=JSON.stringify(u)!==JSON.stringify(t.configurationInfo)},{deep:!0});const s=x(!1),C=x(!1),U=x(!1);return(L,a)=>(c(),v("div",zt,[i(G,{name:"zoom"},{default:T(()=>[s.value?(c(),N(Mt,{key:0,name:"EditRawConfigurationFile",onClose:a[0]||(a[0]=m=>s.value=!1)})):S("",!0),U.value?(c(),N(xe,{key:"DeleteConfiguration",onBackup:a[1]||(a[1]=m=>C.value=!0),onClose:a[2]||(a[2]=m=>U.value=!1)})):S("",!0),C.value?(c(),N(nt,{key:2,onClose:a[3]||(a[3]=m=>C.value=!1),onRefreshPeersList:a[4]||(a[4]=m=>k("refresh"))})):S("",!0)]),_:1}),e("div",It,[e("div",Kt,[e("div",Tt,[e("div",Ft,[e("h4",Ot,[i(l,{t:"Configuration Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:a[5]||(a[5]=m=>L.$emit("close"))})]),e("div",Ut,[e("div",At,[d.value?S("",!0):(c(),v("div",Jt,[e("small",Yt,[i(l,{t:"Name"})]),e("small",null,D(u.Name),1),e("button",{onClick:a[6]||(a[6]=m=>d.value=!0),class:"btn btn-sm bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 ms-auto"}," Update Name ")])),d.value?(c(),N(ft,{key:1,onClose:a[7]||(a[7]=m=>d.value=!1),"configuration-name":u.Name},null,8,["configuration-name"])):(c(),v(H,{key:2},[a[24]||(a[24]=e("hr",null,null,-1)),e("div",jt,[e("small",Et,[i(l,{t:"Public Key"})]),e("small",Gt,D(u.PublicKey),1)]),a[25]||(a[25]=e("hr",null,null,-1)),e("div",null,[e("div",qt,[e("label",Zt,[e("small",Qt,[i(l,{t:"Private Key"})])]),e("div",Xt,[B(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"editPrivateKeySwitch","onUpdate:modelValue":a[8]||(a[8]=m=>h.value=m)},null,512),[[ie,h.value]]),a[18]||(a[18]=e("label",{class:"form-check-label",for:"editPrivateKeySwitch"},[e("small",null,"Edit")],-1))])]),B(e("input",{type:"text",class:$(["form-control form-control-sm rounded-3",{"is-invalid":!b.PrivateKey}]),disabled:g.value||!h.value,onKeyup:a[9]||(a[9]=m=>y()),"onUpdate:modelValue":a[10]||(a[10]=m=>u.PrivateKey=m),id:"configuration_private_key"},null,42,es),[[R,u.PrivateKey]])]),e("div",null,[e("label",ts,[e("small",ss,[i(l,{t:"IP Address/CIDR"})])]),B(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":a[11]||(a[11]=m=>u.Address=m),id:"configuration_ipaddress_cidr"},null,8,ns),[[R,u.Address]])]),e("div",null,[e("label",as,[e("small",is,[i(l,{t:"Listen Port"})])]),B(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":a[12]||(a[12]=m=>u.ListenPort=m),id:"configuration_listen_port"},null,8,ls),[[R,u.ListenPort]])]),(c(),v(H,null,F(["PreUp","PreDown","PostUp","PostDown"],m=>e("div",null,[e("label",{for:"configuration_"+m,class:"form-label"},[e("small",rs,[i(l,{t:m},null,8,["t"])])],8,os),B(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":A=>u[m]=A,id:"configuration_"+m},null,8,ds),[[R,u[m]]])])),64)),o.configurationInfo.Protocol==="awg"?(c(),v(H,{key:0},F(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],m=>e("div",null,[e("label",{for:"configuration_"+m,class:"form-label"},[e("small",cs,[i(l,{t:m},null,8,["t"])])],8,us),B(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":A=>u[m]=A,id:"configuration_"+m},null,8,fs),[[R,u[m]]])])),64)):S("",!0),e("div",gs,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto",onClick:a[13]||(a[13]=m=>w()),disabled:!f.value||g.value},[a[19]||(a[19]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(l,{t:"Reset"})],8,ms),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow",disabled:!f.value||g.value,onClick:a[14]||(a[14]=m=>_())},[a[20]||(a[20]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),i(l,{t:"Save"})],8,bs)]),a[26]||(a[26]=e("hr",null,null,-1)),a[27]||(a[27]=e("h5",{class:"mb-3"},"Danger Zone",-1)),e("div",vs,[e("button",{onClick:a[15]||(a[15]=m=>C.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 text-start d-flex"},[a[21]||(a[21]=e("i",{class:"bi bi-copy me-auto"},null,-1)),i(l,{t:"Backup & Restore"})]),e("button",{onClick:a[16]||(a[16]=m=>s.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 d-flex"},[a[22]||(a[22]=e("i",{class:"bi bi-pen me-auto"},null,-1)),i(l,{t:"Edit Raw Configuration File"})]),e("button",{onClick:a[17]||(a[17]=m=>U.value=!0),class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 d-flex mt-4"},[a[23]||(a[23]=e("i",{class:"bi bi-trash-fill me-auto"},null,-1)),i(l,{t:"Delete Configuration"})])])],64))])])])])])],512))}};export{xs as default}; + `))],4)],4)],4)],14,ht)}const wt=I(pt,[["render",xt]]),kt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},Ct={class:"container d-flex h-100 w-100"},_t={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},St={class:"card rounded-3 shadow flex-grow-1",id:"deleteConfigurationContainer"},Nt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},$t={class:"mb-0"},Bt={class:"card-body px-4 d-flex flex-column gap-3"},Pt={class:"alert alert-warning rounded-3 mb-0"},Rt={key:0,class:"alert alert-danger rounded-3 mb-0"},Dt={class:"mb-2"},Wt={class:"bg-body w-100 p-2 rounded-3"},Lt={class:"d-flex gap-2"},Vt=["disabled"],Ht=["disabled"],Mt={__name:"editRawConfigurationFile",emits:["close"],async setup(o,{emit:r}){let t,p;const n=r,g=O(),u=x(""),h=x(""),f=x(!1),b=x(""),y=async()=>{await M("/api/getWireguardConfigurationRawFile",{configurationName:g.params.id},d=>{u.value=d.data.content,h.value=d.data.path})};[t,p]=ae(()=>y()),await t,p();const w=z(),k=x(!1),_=async()=>{k.value=!0,await W("/api/updateWireguardConfigurationRawFile",{configurationName:g.params.id,rawConfiguration:u.value},d=>{d.status?(f.value=!1,w.newMessage("Server","Configuration saved","success")):(f.value=!0,b.value=d.message),k.value=!1})};return(d,s)=>(c(),v("div",kt,[e("div",Ct,[e("div",_t,[e("div",St,[e("div",Nt,[e("h5",$t,[i(l,{t:"Edit Raw Configuration File"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=C=>n("close"))})]),e("div",Bt,[e("div",Pt,[s[4]||(s[4]=e("i",{class:"bi-exclamation-triangle-fill me-2"},null,-1)),i(l,{t:"Please be careful when editing the raw file"})]),f.value?(c(),v("div",Rt,[e("div",Dt,[e("strong",null,[i(l,{t:"Failed to save configuration. Please see the following error message:"})])]),e("div",Wt,[e("pre",null,D(b.value),1)])])):S("",!0),i(wt,{disabled:!0,"read-only":k.value,modelValue:u.value,"onUpdate:modelValue":s[1]||(s[1]=C=>u.value=C),theme:K(w).Configuration.Server.dashboard_theme==="dark"?"github-dark":"github",languages:[["ini",h.value]],width:"100%",height:"600px"},null,8,["read-only","modelValue","theme","languages"]),e("div",Lt,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",disabled:k.value,onClick:s[2]||(s[2]=C=>y())},[s[5]||(s[5]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(l,{t:"Reset"})],8,Vt),e("button",{onClick:s[3]||(s[3]=C=>_()),disabled:k.value,class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 px-3 py-2 shadow"},[s[6]||(s[6]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),k.value?(c(),N(l,{key:1,t:"Saving..."})):(c(),N(l,{key:0,t:"Save"}))],8,Ht)])])])])])]))}},zt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},It={class:"container d-flex h-100 w-100"},Kt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},Tt={class:"card rounded-3 shadow flex-grow-1"},Ft={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Ot={class:"mb-0"},Ut={class:"card-body px-4 pb-4"},At={class:"d-flex gap-2 flex-column"},Jt={key:0,class:"d-flex align-items-center gap-3"},jt={class:"text-muted"},Yt={class:"d-flex align-items-center gap-3"},Et={class:"text-muted",style:{"word-break":"keep-all"}},Gt={class:"ms-auto",style:{"word-break":"break-all"}},qt={class:"d-flex"},Zt={for:"configuration_private_key",class:"form-label"},Qt={class:"text-muted d-block"},Xt={class:"form-check form-switch ms-auto"},es=["disabled"],ts={for:"configuration_ipaddress_cidr",class:"form-label"},ss={class:"text-muted"},ns=["disabled"],as={for:"configuration_listen_port",class:"form-label"},is={class:"text-muted"},ls=["disabled"],os=["for"],rs={class:"text-muted"},ds=["disabled","onUpdate:modelValue","id"],us=["for"],cs={class:"text-muted"},fs=["disabled","onUpdate:modelValue","id"],gs={class:"d-flex align-items-center gap-2 mt-4"},ms=["disabled"],bs=["disabled"],vs={class:"d-flex gap-2 flex-column"},xs={__name:"editConfiguration",props:{configurationInfo:Object},emits:["changed","close","refresh"],setup(o,{emit:r}){const t=o,p=q(),n=z(),g=x(!1),u=J(JSON.parse(JSON.stringify(t.configurationInfo))),h=x(!1),f=x(!1),b=J({PrivateKey:!0,IPAddress:!0,ListenPort:!0}),y=()=>{p.checkWGKeyLength(u.PrivateKey)?(b.PrivateKey=!0,u.PublicKey=window.wireguard.generatePublicKey(u.PrivateKey)):b.PrivateKey=!1},w=()=>{f.value=!1,Object.assign(u,JSON.parse(JSON.stringify(t.configurationInfo)))},k=r,_=()=>{g.value=!0,W("/api/updateWireguardConfiguration",u,L=>{g.value=!1,L.status?(n.newMessage("Server","Configuration saved","success"),f.value=!1,k("dataChanged",L.data)):n.newMessage("Server",L.message,"danger")})},d=x(!1);Z(u,()=>{f.value=JSON.stringify(u)!==JSON.stringify(t.configurationInfo)},{deep:!0});const s=x(!1),C=x(!1),U=x(!1);return(L,a)=>(c(),v("div",zt,[i(G,{name:"zoom"},{default:T(()=>[s.value?(c(),N(Mt,{key:0,name:"EditRawConfigurationFile",onClose:a[0]||(a[0]=m=>s.value=!1)})):S("",!0),U.value?(c(),N(xe,{key:"DeleteConfiguration",onBackup:a[1]||(a[1]=m=>C.value=!0),onClose:a[2]||(a[2]=m=>U.value=!1)})):S("",!0),C.value?(c(),N(nt,{key:2,onClose:a[3]||(a[3]=m=>C.value=!1),onRefreshPeersList:a[4]||(a[4]=m=>k("refresh"))})):S("",!0)]),_:1}),e("div",It,[e("div",Kt,[e("div",Tt,[e("div",Ft,[e("h4",Ot,[i(l,{t:"Configuration Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:a[5]||(a[5]=m=>L.$emit("close"))})]),e("div",Ut,[e("div",At,[d.value?S("",!0):(c(),v("div",Jt,[e("small",jt,[i(l,{t:"Name"})]),e("small",null,D(u.Name),1),e("button",{onClick:a[6]||(a[6]=m=>d.value=!0),class:"btn btn-sm bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 ms-auto"}," Update Name ")])),d.value?(c(),N(ft,{key:1,onClose:a[7]||(a[7]=m=>d.value=!1),"configuration-name":u.Name},null,8,["configuration-name"])):(c(),v(H,{key:2},[a[24]||(a[24]=e("hr",null,null,-1)),e("div",Yt,[e("small",Et,[i(l,{t:"Public Key"})]),e("small",Gt,D(u.PublicKey),1)]),a[25]||(a[25]=e("hr",null,null,-1)),e("div",null,[e("div",qt,[e("label",Zt,[e("small",Qt,[i(l,{t:"Private Key"})])]),e("div",Xt,[B(e("input",{class:"form-check-input",type:"checkbox",role:"switch",id:"editPrivateKeySwitch","onUpdate:modelValue":a[8]||(a[8]=m=>h.value=m)},null,512),[[ie,h.value]]),a[18]||(a[18]=e("label",{class:"form-check-label",for:"editPrivateKeySwitch"},[e("small",null,"Edit")],-1))])]),B(e("input",{type:"text",class:$(["form-control form-control-sm rounded-3",{"is-invalid":!b.PrivateKey}]),disabled:g.value||!h.value,onKeyup:a[9]||(a[9]=m=>y()),"onUpdate:modelValue":a[10]||(a[10]=m=>u.PrivateKey=m),id:"configuration_private_key"},null,42,es),[[R,u.PrivateKey]])]),e("div",null,[e("label",ts,[e("small",ss,[i(l,{t:"IP Address/CIDR"})])]),B(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":a[11]||(a[11]=m=>u.Address=m),id:"configuration_ipaddress_cidr"},null,8,ns),[[R,u.Address]])]),e("div",null,[e("label",as,[e("small",is,[i(l,{t:"Listen Port"})])]),B(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":a[12]||(a[12]=m=>u.ListenPort=m),id:"configuration_listen_port"},null,8,ls),[[R,u.ListenPort]])]),(c(),v(H,null,F(["PreUp","PreDown","PostUp","PostDown"],m=>e("div",null,[e("label",{for:"configuration_"+m,class:"form-label"},[e("small",rs,[i(l,{t:m},null,8,["t"])])],8,os),B(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":A=>u[m]=A,id:"configuration_"+m},null,8,ds),[[R,u[m]]])])),64)),o.configurationInfo.Protocol==="awg"?(c(),v(H,{key:0},F(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],m=>e("div",null,[e("label",{for:"configuration_"+m,class:"form-label"},[e("small",cs,[i(l,{t:m},null,8,["t"])])],8,us),B(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:g.value,"onUpdate:modelValue":A=>u[m]=A,id:"configuration_"+m},null,8,fs),[[R,u[m]]])])),64)):S("",!0),e("div",gs,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto",onClick:a[13]||(a[13]=m=>w()),disabled:!f.value||g.value},[a[19]||(a[19]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(l,{t:"Reset"})],8,ms),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 shadow",disabled:!f.value||g.value,onClick:a[14]||(a[14]=m=>_())},[a[20]||(a[20]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),i(l,{t:"Save"})],8,bs)]),a[26]||(a[26]=e("hr",null,null,-1)),a[27]||(a[27]=e("h5",{class:"mb-3"},"Danger Zone",-1)),e("div",vs,[e("button",{onClick:a[15]||(a[15]=m=>C.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 text-start d-flex"},[a[21]||(a[21]=e("i",{class:"bi bi-copy me-auto"},null,-1)),i(l,{t:"Backup & Restore"})]),e("button",{onClick:a[16]||(a[16]=m=>s.value=!0),class:"btn bg-warning-subtle border-warning-subtle text-warning-emphasis rounded-3 d-flex"},[a[22]||(a[22]=e("i",{class:"bi bi-pen me-auto"},null,-1)),i(l,{t:"Edit Raw Configuration File"})]),e("button",{onClick:a[17]||(a[17]=m=>U.value=!0),class:"btn bg-danger-subtle border-danger-subtle text-danger-emphasis rounded-3 d-flex mt-4"},[a[23]||(a[23]=e("i",{class:"bi bi-trash-fill me-auto"},null,-1)),i(l,{t:"Delete Configuration"})])])],64))])])])])])],512))}};export{xs as default}; diff --git a/src/static/app/dist/assets/index-B-2CoQAt.css b/src/static/app/dist/assets/index-B-2CoQAt.css new file mode 100644 index 0000000..2f7d88c --- /dev/null +++ b/src/static/app/dist/assets/index-B-2CoQAt.css @@ -0,0 +1 @@ +.agentMessage[data-v-8635cf47]{white-space:break-spaces;max-width:80%;display:flex;flex-direction:column;word-wrap:break-word}.text-bg-secondary[data-v-8635cf47]{background-color:RGBA(var(--bs-secondary-rgb),.7)!important}.text-bg-primary[data-v-8635cf47]{background-color:RGBA(var(--bs-primary-rgb),.7)!important}.agentContainer[data-v-8e5620c6]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#ff4a0052 100%)}.agentContainer.enabled[data-v-8e5620c6]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-8e5620c6]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-8e5620c6]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}@media screen and (max-width: 768px){.navbar-container[data-v-58e71749]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-58e71749]{animation-direction:normal;display:block!important;animation-name:zoomInFade-58e71749}}.navbar-container[data-v-58e71749]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-58e71749]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-58e71749{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-58e71749],.slideIn-leave-active[data-v-58e71749]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-58e71749],.slideIn-leave-to[data-v-58e71749]{transform:translateY(30px);filter:blur(3px);opacity:0}main[data-v-0c6a5068]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-0c6a5068]{height:calc(100dvh - 58px)}}} diff --git a/src/static/app/dist/assets/index-qq0VI3aD.js b/src/static/app/dist/assets/index-Bsy8tbGW.js similarity index 50% rename from src/static/app/dist/assets/index-qq0VI3aD.js rename to src/static/app/dist/assets/index-Bsy8tbGW.js index 2a3e784..76d41c5 100644 --- a/src/static/app/dist/assets/index-qq0VI3aD.js +++ b/src/static/app/dist/assets/index-Bsy8tbGW.js @@ -1,33 +1,33 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-NoeoO4ov.js","assets/localeText-miqCUaLJ.js","assets/dayjs.min-f_AEmQu-.js","assets/message-D3MS_X3R.js","assets/message-BaDb-qC9.css","assets/index-Co1Yzapo.css","assets/configurationList-DQQRd36V.js","assets/protocolBadge-C0pu7-u8.js","assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js","assets/storageMount-Dupif2Js.css","assets/configurationList-CUOCKhlF.css","assets/settings-CTsJUPTm.js","assets/vue-datepicker-Ci9-sWjm.js","assets/settings-H5PFVa1m.css","assets/ping-BeEh6Px6.js","assets/osmap-m_T5cJB3.js","assets/osmap-CoctJCk_.css","assets/ping-DojRH9NX.css","assets/traceroute-CrmFuIsy.js","assets/traceroute-DH1nb6XH.css","assets/newConfiguration-DxS5shXz.js","assets/index-L60y6kc9.js","assets/newConfiguration-DFJqg-M7.css","assets/restoreConfiguration--tXM7JI_.js","assets/restoreConfiguration-VgIx_N7z.css","assets/systemStatus-XiZp1W1_.js","assets/index-2C7nK5b4.js","assets/systemStatus-BFeEjpKW.css","assets/peerList-Byi8rRFH.js","assets/peerList-706Bi19y.css","assets/signin-DO6dmDeT.js","assets/signin-CHulm0U0.css","assets/setup-Dv1b0O33.js","assets/totp-DoCpDT9z.js","assets/browser-CjSdxGTc.js","assets/share-BVKPGH8X.js","assets/share-B4McccvP.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();var vg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gy(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Eg(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}),n}var yg={exports:{}},qe="top",nt="bottom",st="right",ze="left",Kr="auto",ds=[qe,nt,st,ze],On="start",ts="end",pc="clippingParents",fo="viewport",Wn="popper",gc="reference",Bi=ds.reduce(function(e,t){return e.concat([t+"-"+On,t+"-"+ts])},[]),ho=[].concat(ds,[Kr]).reduce(function(e,t){return e.concat([t,t+"-"+On,t+"-"+ts])},[]),mc="beforeRead",_c="read",vc="afterRead",Ec="beforeMain",yc="main",bc="afterMain",Ac="beforeWrite",Tc="write",wc="afterWrite",Cc=[mc,_c,vc,Ec,yc,bc,Ac,Tc,wc];function Nt(e){return e?(e.nodeName||"").toLowerCase():null}function rt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function xn(e){var t=rt(e).Element;return e instanceof t||e instanceof Element}function ct(e){var t=rt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function po(e){if(typeof ShadowRoot>"u")return!1;var t=rt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function bg(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},r=t.attributes[n]||{},o=t.elements[n];!ct(o)||!Nt(o)||(Object.assign(o.style,s),Object.keys(r).forEach(function(a){var l=r[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function Ag(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var r=t.elements[s],o=t.attributes[s]||{},a=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),l=a.reduce(function(c,d){return c[d]="",c},{});!ct(r)||!Nt(r)||(Object.assign(r.style,l),Object.keys(o).forEach(function(c){r.removeAttribute(c)}))})}}const go={name:"applyStyles",enabled:!0,phase:"write",fn:bg,effect:Ag,requires:["computeStyles"]};function Ot(e){return e.split("-")[0]}var Tn=Math.max,Dr=Math.min,ns=Math.round;function ji(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Sc(){return!/^((?!chrome|android).)*safari/i.test(ji())}function ss(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),r=1,o=1;t&&ct(e)&&(r=e.offsetWidth>0&&ns(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ns(s.height)/e.offsetHeight||1);var a=xn(e)?rt(e):window,l=a.visualViewport,c=!Sc()&&n,d=(s.left+(c&&l?l.offsetLeft:0))/r,f=(s.top+(c&&l?l.offsetTop:0))/o,h=s.width/r,p=s.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function mo(e){var t=ss(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function Oc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&po(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Bt(e){return rt(e).getComputedStyle(e)}function Tg(e){return["table","td","th"].indexOf(Nt(e))>=0}function on(e){return((xn(e)?e.ownerDocument:e.document)||window.document).documentElement}function Wr(e){return Nt(e)==="html"?e:e.assignedSlot||e.parentNode||(po(e)?e.host:null)||on(e)}function Ua(e){return!ct(e)||Bt(e).position==="fixed"?null:e.offsetParent}function wg(e){var t=/firefox/i.test(ji()),n=/Trident/i.test(ji());if(n&&ct(e)){var s=Bt(e);if(s.position==="fixed")return null}var r=Wr(e);for(po(r)&&(r=r.host);ct(r)&&["html","body"].indexOf(Nt(r))<0;){var o=Bt(r);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return r;r=r.parentNode}return null}function Gs(e){for(var t=rt(e),n=Ua(e);n&&Tg(n)&&Bt(n).position==="static";)n=Ua(n);return n&&(Nt(n)==="html"||Nt(n)==="body"&&Bt(n).position==="static")?t:n||wg(e)||t}function _o(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function xs(e,t,n){return Tn(e,Dr(t,n))}function Cg(e,t,n){var s=xs(e,t,n);return s>n?n:s}function xc(){return{top:0,right:0,bottom:0,left:0}}function Nc(e){return Object.assign({},xc(),e)}function $c(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var Sg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Nc(typeof t!="number"?t:$c(t,ds))};function Og(e){var t,n=e.state,s=e.name,r=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=Ot(n.placement),c=_o(l),d=[ze,st].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Sg(r.padding,n),p=mo(o),E=c==="y"?qe:ze,x=c==="y"?nt:st,C=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],D=a[c]-n.rects.reference[c],P=Gs(o),V=P?c==="y"?P.clientHeight||0:P.clientWidth||0:0,k=C/2-D/2,M=h[E],b=V-p[f]-h[x],y=V/2-p[f]/2+k,S=xs(M,y,b),T=c;n.modifiersData[s]=(t={},t[T]=S,t.centerOffset=S-y,t)}}function xg(e){var t=e.state,n=e.options,s=n.element,r=s===void 0?"[data-popper-arrow]":s;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||Oc(t.elements.popper,r)&&(t.elements.arrow=r))}const Dc={name:"arrow",enabled:!0,phase:"main",fn:Og,effect:xg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function rs(e){return e.split("-")[1]}var Ng={top:"auto",right:"auto",bottom:"auto",left:"auto"};function $g(e,t){var n=e.x,s=e.y,r=t.devicePixelRatio||1;return{x:ns(n*r)/r||0,y:ns(s*r)/r||0}}function Ya(e){var t,n=e.popper,s=e.popperRect,r=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,E=p===void 0?0:p,x=a.y,C=x===void 0?0:x,D=typeof f=="function"?f({x:E,y:C}):{x:E,y:C};E=D.x,C=D.y;var P=a.hasOwnProperty("x"),V=a.hasOwnProperty("y"),k=ze,M=qe,b=window;if(d){var y=Gs(n),S="clientHeight",T="clientWidth";if(y===rt(n)&&(y=on(n),Bt(y).position!=="static"&&l==="absolute"&&(S="scrollHeight",T="scrollWidth")),y=y,r===qe||(r===ze||r===st)&&o===ts){M=nt;var A=h&&y===b&&b.visualViewport?b.visualViewport.height:y[S];C-=A-s.height,C*=c?1:-1}if(r===ze||(r===qe||r===nt)&&o===ts){k=st;var w=h&&y===b&&b.visualViewport?b.visualViewport.width:y[T];E-=w-s.width,E*=c?1:-1}}var j=Object.assign({position:l},d&&Ng),B=f===!0?$g({x:E,y:C},rt(n)):{x:E,y:C};if(E=B.x,C=B.y,c){var Q;return Object.assign({},j,(Q={},Q[M]=V?"0":"",Q[k]=P?"0":"",Q.transform=(b.devicePixelRatio||1)<=1?"translate("+E+"px, "+C+"px)":"translate3d("+E+"px, "+C+"px, 0)",Q))}return Object.assign({},j,(t={},t[M]=V?C+"px":"",t[k]=P?E+"px":"",t.transform="",t))}function Dg(e){var t=e.state,n=e.options,s=n.gpuAcceleration,r=s===void 0?!0:s,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:Ot(t.placement),variation:rs(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Ya(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Ya(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Dg,data:{}};var dr={passive:!0};function Lg(e){var t=e.state,n=e.instance,s=e.options,r=s.scroll,o=r===void 0?!0:r,a=s.resize,l=a===void 0?!0:a,c=rt(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,dr)}),l&&c.addEventListener("resize",n.update,dr),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,dr)}),l&&c.removeEventListener("resize",n.update,dr)}}const Eo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Lg,data:{}};var Rg={left:"right",right:"left",bottom:"top",top:"bottom"};function wr(e){return e.replace(/left|right|bottom|top/g,function(t){return Rg[t]})}var Ig={start:"end",end:"start"};function Ga(e){return e.replace(/start|end/g,function(t){return Ig[t]})}function yo(e){var t=rt(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function bo(e){return ss(on(e)).left+yo(e).scrollLeft}function Pg(e,t){var n=rt(e),s=on(e),r=n.visualViewport,o=s.clientWidth,a=s.clientHeight,l=0,c=0;if(r){o=r.width,a=r.height;var d=Sc();(d||!d&&t==="fixed")&&(l=r.offsetLeft,c=r.offsetTop)}return{width:o,height:a,x:l+bo(e),y:c}}function Mg(e){var t,n=on(e),s=yo(e),r=(t=e.ownerDocument)==null?void 0:t.body,o=Tn(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=Tn(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-s.scrollLeft+bo(e),c=-s.scrollTop;return Bt(r||n).direction==="rtl"&&(l+=Tn(n.clientWidth,r?r.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function Ao(e){var t=Bt(e),n=t.overflow,s=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+s)}function Lc(e){return["html","body","#document"].indexOf(Nt(e))>=0?e.ownerDocument.body:ct(e)&&Ao(e)?e:Lc(Wr(e))}function Ns(e,t){var n;t===void 0&&(t=[]);var s=Lc(e),r=s===((n=e.ownerDocument)==null?void 0:n.body),o=rt(s),a=r?[o].concat(o.visualViewport||[],Ao(s)?s:[]):s,l=t.concat(a);return r?l:l.concat(Ns(Wr(a)))}function Ki(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function kg(e,t){var n=ss(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function qa(e,t,n){return t===fo?Ki(Pg(e,n)):xn(t)?kg(t,n):Ki(Mg(on(e)))}function Vg(e){var t=Ns(Wr(e)),n=["absolute","fixed"].indexOf(Bt(e).position)>=0,s=n&&ct(e)?Gs(e):e;return xn(s)?t.filter(function(r){return xn(r)&&Oc(r,s)&&Nt(r)!=="body"}):[]}function Fg(e,t,n,s){var r=t==="clippingParents"?Vg(e):[].concat(t),o=[].concat(r,[n]),a=o[0],l=o.reduce(function(c,d){var f=qa(e,d,s);return c.top=Tn(f.top,c.top),c.right=Dr(f.right,c.right),c.bottom=Dr(f.bottom,c.bottom),c.left=Tn(f.left,c.left),c},qa(e,a,s));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Rc(e){var t=e.reference,n=e.element,s=e.placement,r=s?Ot(s):null,o=s?rs(s):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(r){case qe:c={x:a,y:t.y-n.height};break;case nt:c={x:a,y:t.y+t.height};break;case st:c={x:t.x+t.width,y:l};break;case ze:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=r?_o(r):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case On:c[d]=c[d]-(t[f]/2-n[f]/2);break;case ts:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function is(e,t){t===void 0&&(t={});var n=t,s=n.placement,r=s===void 0?e.placement:s,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?pc:l,d=n.rootBoundary,f=d===void 0?fo:d,h=n.elementContext,p=h===void 0?Wn:h,E=n.altBoundary,x=E===void 0?!1:E,C=n.padding,D=C===void 0?0:C,P=Nc(typeof D!="number"?D:$c(D,ds)),V=p===Wn?gc:Wn,k=e.rects.popper,M=e.elements[x?V:p],b=Fg(xn(M)?M:M.contextElement||on(e.elements.popper),c,f,a),y=ss(e.elements.reference),S=Rc({reference:y,element:k,strategy:"absolute",placement:r}),T=Ki(Object.assign({},k,S)),A=p===Wn?T:y,w={top:b.top-A.top+P.top,bottom:A.bottom-b.bottom+P.bottom,left:b.left-A.left+P.left,right:A.right-b.right+P.right},j=e.modifiersData.offset;if(p===Wn&&j){var B=j[r];Object.keys(w).forEach(function(Q){var oe=[st,nt].indexOf(Q)>=0?1:-1,he=[qe,nt].indexOf(Q)>=0?"y":"x";w[Q]+=B[he]*oe})}return w}function Hg(e,t){t===void 0&&(t={});var n=t,s=n.placement,r=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?ho:c,f=rs(s),h=f?l?Bi:Bi.filter(function(x){return rs(x)===f}):ds,p=h.filter(function(x){return d.indexOf(x)>=0});p.length===0&&(p=h);var E=p.reduce(function(x,C){return x[C]=is(e,{placement:C,boundary:r,rootBoundary:o,padding:a})[Ot(C)],x},{});return Object.keys(E).sort(function(x,C){return E[x]-E[C]})}function Bg(e){if(Ot(e)===Kr)return[];var t=wr(e);return[Ga(e),t,Ga(t)]}function jg(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var r=n.mainAxis,o=r===void 0?!0:r,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,E=n.flipVariations,x=E===void 0?!0:E,C=n.allowedAutoPlacements,D=t.options.placement,P=Ot(D),V=P===D,k=c||(V||!x?[wr(D)]:Bg(D)),M=[D].concat(k).reduce(function(Be,Pe){return Be.concat(Ot(Pe)===Kr?Hg(t,{placement:Pe,boundary:f,rootBoundary:h,padding:d,flipVariations:x,allowedAutoPlacements:C}):Pe)},[]),b=t.rects.reference,y=t.rects.popper,S=new Map,T=!0,A=M[0],w=0;w=0,he=oe?"width":"height",te=is(t,{placement:j,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),Z=oe?Q?st:ze:Q?nt:qe;b[he]>y[he]&&(Z=wr(Z));var ce=wr(Z),Ce=[];if(o&&Ce.push(te[B]<=0),l&&Ce.push(te[Z]<=0,te[ce]<=0),Ce.every(function(Be){return Be})){A=j,T=!1;break}S.set(j,Ce)}if(T)for(var He=x?3:1,De=function(Pe){var we=M.find(function(R){var q=S.get(R);if(q)return q.slice(0,Pe).every(function(z){return z})});if(we)return A=we,"break"},Ae=He;Ae>0;Ae--){var et=De(Ae);if(et==="break")break}t.placement!==A&&(t.modifiersData[s]._skip=!0,t.placement=A,t.reset=!0)}}const Ic={name:"flip",enabled:!0,phase:"main",fn:jg,requiresIfExists:["offset"],data:{_skip:!1}};function za(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Xa(e){return[qe,st,nt,ze].some(function(t){return e[t]>=0})}function Kg(e){var t=e.state,n=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,a=is(t,{elementContext:"reference"}),l=is(t,{altBoundary:!0}),c=za(a,s),d=za(l,r,o),f=Xa(c),h=Xa(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const Pc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kg};function Wg(e,t,n){var s=Ot(e),r=[ze,qe].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*r,[ze,st].indexOf(s)>=0?{x:l,y:a}:{x:a,y:l}}function Ug(e){var t=e.state,n=e.options,s=e.name,r=n.offset,o=r===void 0?[0,0]:r,a=ho.reduce(function(f,h){return f[h]=Wg(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[s]=a}const Mc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Ug};function Yg(e){var t=e.state,n=e.name;t.modifiersData[n]=Rc({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const To={name:"popperOffsets",enabled:!0,phase:"read",fn:Yg,data:{}};function Gg(e){return e==="x"?"y":"x"}function qg(e){var t=e.state,n=e.options,s=e.name,r=n.mainAxis,o=r===void 0?!0:r,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,E=p===void 0?!0:p,x=n.tetherOffset,C=x===void 0?0:x,D=is(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),P=Ot(t.placement),V=rs(t.placement),k=!V,M=_o(P),b=Gg(M),y=t.modifiersData.popperOffsets,S=t.rects.reference,T=t.rects.popper,A=typeof C=="function"?C(Object.assign({},t.rects,{placement:t.placement})):C,w=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,B={x:0,y:0};if(y){if(o){var Q,oe=M==="y"?qe:ze,he=M==="y"?nt:st,te=M==="y"?"height":"width",Z=y[M],ce=Z+D[oe],Ce=Z-D[he],He=E?-T[te]/2:0,De=V===On?S[te]:T[te],Ae=V===On?-T[te]:-S[te],et=t.elements.arrow,Be=E&&et?mo(et):{width:0,height:0},Pe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:xc(),we=Pe[oe],R=Pe[he],q=xs(0,S[te],Be[te]),z=k?S[te]/2-He-q-we-w.mainAxis:De-q-we-w.mainAxis,J=k?-S[te]/2+He+q+R+w.mainAxis:Ae+q+R+w.mainAxis,$=t.elements.arrow&&Gs(t.elements.arrow),ge=$?M==="y"?$.clientTop||0:$.clientLeft||0:0,g=(Q=j?.[M])!=null?Q:0,_=Z+z-g-ge,O=Z+J-g,H=xs(E?Dr(ce,_):ce,Z,E?Tn(Ce,O):Ce);y[M]=H,B[M]=H-Z}if(l){var L,F=M==="x"?qe:ze,G=M==="x"?nt:st,N=y[b],W=b==="y"?"height":"width",K=N+D[F],se=N-D[G],X=[qe,ze].indexOf(P)!==-1,ee=(L=j?.[b])!=null?L:0,re=X?K:N-S[W]-T[W]-ee+w.altAxis,ae=X?N+S[W]+T[W]-ee-w.altAxis:se,de=E&&X?Cg(re,N,ae):xs(E?re:K,N,E?ae:se);y[b]=de,B[b]=de-N}t.modifiersData[s]=B}}const kc={name:"preventOverflow",enabled:!0,phase:"main",fn:qg,requiresIfExists:["offset"]};function zg(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Xg(e){return e===rt(e)||!ct(e)?yo(e):zg(e)}function Qg(e){var t=e.getBoundingClientRect(),n=ns(t.width)/e.offsetWidth||1,s=ns(t.height)/e.offsetHeight||1;return n!==1||s!==1}function Jg(e,t,n){n===void 0&&(n=!1);var s=ct(t),r=ct(t)&&Qg(t),o=on(t),a=ss(e,r,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(s||!s&&!n)&&((Nt(t)!=="body"||Ao(o))&&(l=Xg(t)),ct(t)?(c=ss(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=bo(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function Zg(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function r(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&r(c)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||r(o)}),s}function em(e){var t=Zg(e);return Cc.reduce(function(n,s){return n.concat(t.filter(function(r){return r.phase===s}))},[])}function tm(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function nm(e){var t=e.reduce(function(n,s){var r=n[s.name];return n[s.name]=r?Object.assign({},r,s,{options:Object.assign({},r.options,s.options),data:Object.assign({},r.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var Qa={placement:"bottom",modifiers:[],strategy:"absolute"};function Ja(){for(var e=arguments.length,t=new Array(e),n=0;ni.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();var wg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function cb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Cg(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}),n}var Sg={exports:{}},qe="top",nt="bottom",st="right",ze="left",Kr="auto",ds=[qe,nt,st,ze],On="start",ts="end",vc="clippingParents",fo="viewport",Wn="popper",Ec="reference",Bi=ds.reduce(function(e,t){return e.concat([t+"-"+On,t+"-"+ts])},[]),ho=[].concat(ds,[Kr]).reduce(function(e,t){return e.concat([t,t+"-"+On,t+"-"+ts])},[]),yc="beforeRead",bc="read",Ac="afterRead",Tc="beforeMain",wc="main",Cc="afterMain",Sc="beforeWrite",Oc="write",Nc="afterWrite",xc=[yc,bc,Ac,Tc,wc,Cc,Sc,Oc,Nc];function xt(e){return e?(e.nodeName||"").toLowerCase():null}function rt(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Nn(e){var t=rt(e).Element;return e instanceof t||e instanceof Element}function ct(e){var t=rt(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function po(e){if(typeof ShadowRoot>"u")return!1;var t=rt(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Og(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},r=t.attributes[n]||{},o=t.elements[n];!ct(o)||!xt(o)||(Object.assign(o.style,s),Object.keys(r).forEach(function(a){var l=r[a];l===!1?o.removeAttribute(a):o.setAttribute(a,l===!0?"":l)}))})}function Ng(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var r=t.elements[s],o=t.attributes[s]||{},a=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),l=a.reduce(function(c,d){return c[d]="",c},{});!ct(r)||!xt(r)||(Object.assign(r.style,l),Object.keys(o).forEach(function(c){r.removeAttribute(c)}))})}}const go={name:"applyStyles",enabled:!0,phase:"write",fn:Og,effect:Ng,requires:["computeStyles"]};function Ot(e){return e.split("-")[0]}var Tn=Math.max,Dr=Math.min,ns=Math.round;function ji(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function $c(){return!/^((?!chrome|android).)*safari/i.test(ji())}function ss(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),r=1,o=1;t&&ct(e)&&(r=e.offsetWidth>0&&ns(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&ns(s.height)/e.offsetHeight||1);var a=Nn(e)?rt(e):window,l=a.visualViewport,c=!$c()&&n,d=(s.left+(c&&l?l.offsetLeft:0))/r,f=(s.top+(c&&l?l.offsetTop:0))/o,h=s.width/r,p=s.height/o;return{width:h,height:p,top:f,right:d+h,bottom:f+p,left:d,x:d,y:f}}function mo(e){var t=ss(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function Dc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&po(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Bt(e){return rt(e).getComputedStyle(e)}function xg(e){return["table","td","th"].indexOf(xt(e))>=0}function on(e){return((Nn(e)?e.ownerDocument:e.document)||window.document).documentElement}function Wr(e){return xt(e)==="html"?e:e.assignedSlot||e.parentNode||(po(e)?e.host:null)||on(e)}function Ga(e){return!ct(e)||Bt(e).position==="fixed"?null:e.offsetParent}function $g(e){var t=/firefox/i.test(ji()),n=/Trident/i.test(ji());if(n&&ct(e)){var s=Bt(e);if(s.position==="fixed")return null}var r=Wr(e);for(po(r)&&(r=r.host);ct(r)&&["html","body"].indexOf(xt(r))<0;){var o=Bt(r);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return r;r=r.parentNode}return null}function Gs(e){for(var t=rt(e),n=Ga(e);n&&xg(n)&&Bt(n).position==="static";)n=Ga(n);return n&&(xt(n)==="html"||xt(n)==="body"&&Bt(n).position==="static")?t:n||$g(e)||t}function _o(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ns(e,t,n){return Tn(e,Dr(t,n))}function Dg(e,t,n){var s=Ns(e,t,n);return s>n?n:s}function Lc(){return{top:0,right:0,bottom:0,left:0}}function Ic(e){return Object.assign({},Lc(),e)}function Rc(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var Lg=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ic(typeof t!="number"?t:Rc(t,ds))};function Ig(e){var t,n=e.state,s=e.name,r=e.options,o=n.elements.arrow,a=n.modifiersData.popperOffsets,l=Ot(n.placement),c=_o(l),d=[ze,st].indexOf(l)>=0,f=d?"height":"width";if(!(!o||!a)){var h=Lg(r.padding,n),p=mo(o),E=c==="y"?qe:ze,S=c==="y"?nt:st,C=n.rects.reference[f]+n.rects.reference[c]-a[c]-n.rects.popper[f],D=a[c]-n.rects.reference[c],P=Gs(o),V=P?c==="y"?P.clientHeight||0:P.clientWidth||0:0,k=C/2-D/2,M=h[E],b=V-p[f]-h[S],y=V/2-p[f]/2+k,O=Ns(M,y,b),T=c;n.modifiersData[s]=(t={},t[T]=O,t.centerOffset=O-y,t)}}function Rg(e){var t=e.state,n=e.options,s=n.element,r=s===void 0?"[data-popper-arrow]":s;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||Dc(t.elements.popper,r)&&(t.elements.arrow=r))}const Pc={name:"arrow",enabled:!0,phase:"main",fn:Ig,effect:Rg,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function rs(e){return e.split("-")[1]}var Pg={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mg(e,t){var n=e.x,s=e.y,r=t.devicePixelRatio||1;return{x:ns(n*r)/r||0,y:ns(s*r)/r||0}}function qa(e){var t,n=e.popper,s=e.popperRect,r=e.placement,o=e.variation,a=e.offsets,l=e.position,c=e.gpuAcceleration,d=e.adaptive,f=e.roundOffsets,h=e.isFixed,p=a.x,E=p===void 0?0:p,S=a.y,C=S===void 0?0:S,D=typeof f=="function"?f({x:E,y:C}):{x:E,y:C};E=D.x,C=D.y;var P=a.hasOwnProperty("x"),V=a.hasOwnProperty("y"),k=ze,M=qe,b=window;if(d){var y=Gs(n),O="clientHeight",T="clientWidth";if(y===rt(n)&&(y=on(n),Bt(y).position!=="static"&&l==="absolute"&&(O="scrollHeight",T="scrollWidth")),y=y,r===qe||(r===ze||r===st)&&o===ts){M=nt;var A=h&&y===b&&b.visualViewport?b.visualViewport.height:y[O];C-=A-s.height,C*=c?1:-1}if(r===ze||(r===qe||r===nt)&&o===ts){k=st;var w=h&&y===b&&b.visualViewport?b.visualViewport.width:y[T];E-=w-s.width,E*=c?1:-1}}var j=Object.assign({position:l},d&&Pg),B=f===!0?Mg({x:E,y:C},rt(n)):{x:E,y:C};if(E=B.x,C=B.y,c){var Q;return Object.assign({},j,(Q={},Q[M]=V?"0":"",Q[k]=P?"0":"",Q.transform=(b.devicePixelRatio||1)<=1?"translate("+E+"px, "+C+"px)":"translate3d("+E+"px, "+C+"px, 0)",Q))}return Object.assign({},j,(t={},t[M]=V?C+"px":"",t[k]=P?E+"px":"",t.transform="",t))}function kg(e){var t=e.state,n=e.options,s=n.gpuAcceleration,r=s===void 0?!0:s,o=n.adaptive,a=o===void 0?!0:o,l=n.roundOffsets,c=l===void 0?!0:l,d={placement:Ot(t.placement),variation:rs(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,qa(Object.assign({},d,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,qa(Object.assign({},d,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:kg,data:{}};var dr={passive:!0};function Vg(e){var t=e.state,n=e.instance,s=e.options,r=s.scroll,o=r===void 0?!0:r,a=s.resize,l=a===void 0?!0:a,c=rt(t.elements.popper),d=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&d.forEach(function(f){f.addEventListener("scroll",n.update,dr)}),l&&c.addEventListener("resize",n.update,dr),function(){o&&d.forEach(function(f){f.removeEventListener("scroll",n.update,dr)}),l&&c.removeEventListener("resize",n.update,dr)}}const Eo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Vg,data:{}};var Fg={left:"right",right:"left",bottom:"top",top:"bottom"};function wr(e){return e.replace(/left|right|bottom|top/g,function(t){return Fg[t]})}var Hg={start:"end",end:"start"};function za(e){return e.replace(/start|end/g,function(t){return Hg[t]})}function yo(e){var t=rt(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function bo(e){return ss(on(e)).left+yo(e).scrollLeft}function Bg(e,t){var n=rt(e),s=on(e),r=n.visualViewport,o=s.clientWidth,a=s.clientHeight,l=0,c=0;if(r){o=r.width,a=r.height;var d=$c();(d||!d&&t==="fixed")&&(l=r.offsetLeft,c=r.offsetTop)}return{width:o,height:a,x:l+bo(e),y:c}}function jg(e){var t,n=on(e),s=yo(e),r=(t=e.ownerDocument)==null?void 0:t.body,o=Tn(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=Tn(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-s.scrollLeft+bo(e),c=-s.scrollTop;return Bt(r||n).direction==="rtl"&&(l+=Tn(n.clientWidth,r?r.clientWidth:0)-o),{width:o,height:a,x:l,y:c}}function Ao(e){var t=Bt(e),n=t.overflow,s=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+s)}function Mc(e){return["html","body","#document"].indexOf(xt(e))>=0?e.ownerDocument.body:ct(e)&&Ao(e)?e:Mc(Wr(e))}function xs(e,t){var n;t===void 0&&(t=[]);var s=Mc(e),r=s===((n=e.ownerDocument)==null?void 0:n.body),o=rt(s),a=r?[o].concat(o.visualViewport||[],Ao(s)?s:[]):s,l=t.concat(a);return r?l:l.concat(xs(Wr(a)))}function Ki(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Kg(e,t){var n=ss(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Xa(e,t,n){return t===fo?Ki(Bg(e,n)):Nn(t)?Kg(t,n):Ki(jg(on(e)))}function Wg(e){var t=xs(Wr(e)),n=["absolute","fixed"].indexOf(Bt(e).position)>=0,s=n&&ct(e)?Gs(e):e;return Nn(s)?t.filter(function(r){return Nn(r)&&Dc(r,s)&&xt(r)!=="body"}):[]}function Ug(e,t,n,s){var r=t==="clippingParents"?Wg(e):[].concat(t),o=[].concat(r,[n]),a=o[0],l=o.reduce(function(c,d){var f=Xa(e,d,s);return c.top=Tn(f.top,c.top),c.right=Dr(f.right,c.right),c.bottom=Dr(f.bottom,c.bottom),c.left=Tn(f.left,c.left),c},Xa(e,a,s));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function kc(e){var t=e.reference,n=e.element,s=e.placement,r=s?Ot(s):null,o=s?rs(s):null,a=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(r){case qe:c={x:a,y:t.y-n.height};break;case nt:c={x:a,y:t.y+t.height};break;case st:c={x:t.x+t.width,y:l};break;case ze:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var d=r?_o(r):null;if(d!=null){var f=d==="y"?"height":"width";switch(o){case On:c[d]=c[d]-(t[f]/2-n[f]/2);break;case ts:c[d]=c[d]+(t[f]/2-n[f]/2);break}}return c}function is(e,t){t===void 0&&(t={});var n=t,s=n.placement,r=s===void 0?e.placement:s,o=n.strategy,a=o===void 0?e.strategy:o,l=n.boundary,c=l===void 0?vc:l,d=n.rootBoundary,f=d===void 0?fo:d,h=n.elementContext,p=h===void 0?Wn:h,E=n.altBoundary,S=E===void 0?!1:E,C=n.padding,D=C===void 0?0:C,P=Ic(typeof D!="number"?D:Rc(D,ds)),V=p===Wn?Ec:Wn,k=e.rects.popper,M=e.elements[S?V:p],b=Ug(Nn(M)?M:M.contextElement||on(e.elements.popper),c,f,a),y=ss(e.elements.reference),O=kc({reference:y,element:k,strategy:"absolute",placement:r}),T=Ki(Object.assign({},k,O)),A=p===Wn?T:y,w={top:b.top-A.top+P.top,bottom:A.bottom-b.bottom+P.bottom,left:b.left-A.left+P.left,right:A.right-b.right+P.right},j=e.modifiersData.offset;if(p===Wn&&j){var B=j[r];Object.keys(w).forEach(function(Q){var oe=[st,nt].indexOf(Q)>=0?1:-1,he=[qe,nt].indexOf(Q)>=0?"y":"x";w[Q]+=B[he]*oe})}return w}function Yg(e,t){t===void 0&&(t={});var n=t,s=n.placement,r=n.boundary,o=n.rootBoundary,a=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,d=c===void 0?ho:c,f=rs(s),h=f?l?Bi:Bi.filter(function(S){return rs(S)===f}):ds,p=h.filter(function(S){return d.indexOf(S)>=0});p.length===0&&(p=h);var E=p.reduce(function(S,C){return S[C]=is(e,{placement:C,boundary:r,rootBoundary:o,padding:a})[Ot(C)],S},{});return Object.keys(E).sort(function(S,C){return E[S]-E[C]})}function Gg(e){if(Ot(e)===Kr)return[];var t=wr(e);return[za(e),t,za(t)]}function qg(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var r=n.mainAxis,o=r===void 0?!0:r,a=n.altAxis,l=a===void 0?!0:a,c=n.fallbackPlacements,d=n.padding,f=n.boundary,h=n.rootBoundary,p=n.altBoundary,E=n.flipVariations,S=E===void 0?!0:E,C=n.allowedAutoPlacements,D=t.options.placement,P=Ot(D),V=P===D,k=c||(V||!S?[wr(D)]:Gg(D)),M=[D].concat(k).reduce(function(Be,Pe){return Be.concat(Ot(Pe)===Kr?Yg(t,{placement:Pe,boundary:f,rootBoundary:h,padding:d,flipVariations:S,allowedAutoPlacements:C}):Pe)},[]),b=t.rects.reference,y=t.rects.popper,O=new Map,T=!0,A=M[0],w=0;w=0,he=oe?"width":"height",te=is(t,{placement:j,boundary:f,rootBoundary:h,altBoundary:p,padding:d}),Z=oe?Q?st:ze:Q?nt:qe;b[he]>y[he]&&(Z=wr(Z));var ce=wr(Z),Ce=[];if(o&&Ce.push(te[B]<=0),l&&Ce.push(te[Z]<=0,te[ce]<=0),Ce.every(function(Be){return Be})){A=j,T=!1;break}O.set(j,Ce)}if(T)for(var He=S?3:1,De=function(Pe){var we=M.find(function(I){var q=O.get(I);if(q)return q.slice(0,Pe).every(function(z){return z})});if(we)return A=we,"break"},Ae=He;Ae>0;Ae--){var et=De(Ae);if(et==="break")break}t.placement!==A&&(t.modifiersData[s]._skip=!0,t.placement=A,t.reset=!0)}}const Vc={name:"flip",enabled:!0,phase:"main",fn:qg,requiresIfExists:["offset"],data:{_skip:!1}};function Qa(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ja(e){return[qe,st,nt,ze].some(function(t){return e[t]>=0})}function zg(e){var t=e.state,n=e.name,s=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,a=is(t,{elementContext:"reference"}),l=is(t,{altBoundary:!0}),c=Qa(a,s),d=Qa(l,r,o),f=Ja(c),h=Ja(d);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:f,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":f,"data-popper-escaped":h})}const Fc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:zg};function Xg(e,t,n){var s=Ot(e),r=[ze,qe].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=o[0],l=o[1];return a=a||0,l=(l||0)*r,[ze,st].indexOf(s)>=0?{x:l,y:a}:{x:a,y:l}}function Qg(e){var t=e.state,n=e.options,s=e.name,r=n.offset,o=r===void 0?[0,0]:r,a=ho.reduce(function(f,h){return f[h]=Xg(h,t.rects,o),f},{}),l=a[t.placement],c=l.x,d=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=d),t.modifiersData[s]=a}const Hc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Qg};function Jg(e){var t=e.state,n=e.name;t.modifiersData[n]=kc({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const To={name:"popperOffsets",enabled:!0,phase:"read",fn:Jg,data:{}};function Zg(e){return e==="x"?"y":"x"}function em(e){var t=e.state,n=e.options,s=e.name,r=n.mainAxis,o=r===void 0?!0:r,a=n.altAxis,l=a===void 0?!1:a,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.padding,p=n.tether,E=p===void 0?!0:p,S=n.tetherOffset,C=S===void 0?0:S,D=is(t,{boundary:c,rootBoundary:d,padding:h,altBoundary:f}),P=Ot(t.placement),V=rs(t.placement),k=!V,M=_o(P),b=Zg(M),y=t.modifiersData.popperOffsets,O=t.rects.reference,T=t.rects.popper,A=typeof C=="function"?C(Object.assign({},t.rects,{placement:t.placement})):C,w=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),j=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,B={x:0,y:0};if(y){if(o){var Q,oe=M==="y"?qe:ze,he=M==="y"?nt:st,te=M==="y"?"height":"width",Z=y[M],ce=Z+D[oe],Ce=Z-D[he],He=E?-T[te]/2:0,De=V===On?O[te]:T[te],Ae=V===On?-T[te]:-O[te],et=t.elements.arrow,Be=E&&et?mo(et):{width:0,height:0},Pe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Lc(),we=Pe[oe],I=Pe[he],q=Ns(0,O[te],Be[te]),z=k?O[te]/2-He-q-we-w.mainAxis:De-q-we-w.mainAxis,J=k?-O[te]/2+He+q+I+w.mainAxis:Ae+q+I+w.mainAxis,$=t.elements.arrow&&Gs(t.elements.arrow),ge=$?M==="y"?$.clientTop||0:$.clientLeft||0:0,g=(Q=j?.[M])!=null?Q:0,_=Z+z-g-ge,N=Z+J-g,H=Ns(E?Dr(ce,_):ce,Z,E?Tn(Ce,N):Ce);y[M]=H,B[M]=H-Z}if(l){var L,F=M==="x"?qe:ze,G=M==="x"?nt:st,x=y[b],W=b==="y"?"height":"width",K=x+D[F],se=x-D[G],X=[qe,ze].indexOf(P)!==-1,ee=(L=j?.[b])!=null?L:0,re=X?K:x-O[W]-T[W]-ee+w.altAxis,ae=X?x+O[W]+T[W]-ee-w.altAxis:se,de=E&&X?Dg(re,x,ae):Ns(E?re:K,x,E?ae:se);y[b]=de,B[b]=de-x}t.modifiersData[s]=B}}const Bc={name:"preventOverflow",enabled:!0,phase:"main",fn:em,requiresIfExists:["offset"]};function tm(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function nm(e){return e===rt(e)||!ct(e)?yo(e):tm(e)}function sm(e){var t=e.getBoundingClientRect(),n=ns(t.width)/e.offsetWidth||1,s=ns(t.height)/e.offsetHeight||1;return n!==1||s!==1}function rm(e,t,n){n===void 0&&(n=!1);var s=ct(t),r=ct(t)&&sm(t),o=on(t),a=ss(e,r,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(s||!s&&!n)&&((xt(t)!=="body"||Ao(o))&&(l=nm(t)),ct(t)?(c=ss(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):o&&(c.x=bo(o))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function im(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function r(o){n.add(o.name);var a=[].concat(o.requires||[],o.requiresIfExists||[]);a.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&r(c)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||r(o)}),s}function om(e){var t=im(e);return xc.reduce(function(n,s){return n.concat(t.filter(function(r){return r.phase===s}))},[])}function am(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function lm(e){var t=e.reduce(function(n,s){var r=n[s.name];return n[s.name]=r?Object.assign({},r,s,{options:Object.assign({},r.options,s.options),data:Object.assign({},r.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var Za={placement:"bottom",modifiers:[],strategy:"absolute"};function el(){for(var e=arguments.length,t=new Array(e),n=0;nm[u]})}}return i.default=m,Object.freeze(i)}const r=s(n),o=new Map,a={set(m,i,u){o.has(m)||o.set(m,new Map);const v=o.get(m);if(!v.has(i)&&v.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(v.keys())[0]}.`);return}v.set(i,u)},get(m,i){return o.has(m)&&o.get(m).get(i)||null},remove(m,i){if(!o.has(m))return;const u=o.get(m);u.delete(i),u.size===0&&o.delete(m)}},l=1e6,c=1e3,d="transitionend",f=m=>(m&&window.CSS&&window.CSS.escape&&(m=m.replace(/#([^\s"#']+)/g,(i,u)=>`#${CSS.escape(u)}`)),m),h=m=>m==null?`${m}`:Object.prototype.toString.call(m).match(/\s([a-z]+)/i)[1].toLowerCase(),p=m=>{do m+=Math.floor(Math.random()*l);while(document.getElementById(m));return m},E=m=>{if(!m)return 0;let{transitionDuration:i,transitionDelay:u}=window.getComputedStyle(m);const v=Number.parseFloat(i),I=Number.parseFloat(u);return!v&&!I?0:(i=i.split(",")[0],u=u.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(u))*c)},x=m=>{m.dispatchEvent(new Event(d))},C=m=>!m||typeof m!="object"?!1:(typeof m.jquery<"u"&&(m=m[0]),typeof m.nodeType<"u"),D=m=>C(m)?m.jquery?m[0]:m:typeof m=="string"&&m.length>0?document.querySelector(f(m)):null,P=m=>{if(!C(m)||m.getClientRects().length===0)return!1;const i=getComputedStyle(m).getPropertyValue("visibility")==="visible",u=m.closest("details:not([open])");if(!u)return i;if(u!==m){const v=m.closest("summary");if(v&&v.parentNode!==u||v===null)return!1}return i},V=m=>!m||m.nodeType!==Node.ELEMENT_NODE||m.classList.contains("disabled")?!0:typeof m.disabled<"u"?m.disabled:m.hasAttribute("disabled")&&m.getAttribute("disabled")!=="false",k=m=>{if(!document.documentElement.attachShadow)return null;if(typeof m.getRootNode=="function"){const i=m.getRootNode();return i instanceof ShadowRoot?i:null}return m instanceof ShadowRoot?m:m.parentNode?k(m.parentNode):null},M=()=>{},b=m=>{m.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,S=[],T=m=>{document.readyState==="loading"?(S.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of S)i()}),S.push(m)):m()},A=()=>document.documentElement.dir==="rtl",w=m=>{T(()=>{const i=y();if(i){const u=m.NAME,v=i.fn[u];i.fn[u]=m.jQueryInterface,i.fn[u].Constructor=m,i.fn[u].noConflict=()=>(i.fn[u]=v,m.jQueryInterface)}})},j=(m,i=[],u=m)=>typeof m=="function"?m(...i):u,B=(m,i,u=!0)=>{if(!u){j(m);return}const I=E(i)+5;let Y=!1;const U=({target:le})=>{le===i&&(Y=!0,i.removeEventListener(d,U),j(m))};i.addEventListener(d,U),setTimeout(()=>{Y||x(i)},I)},Q=(m,i,u,v)=>{const I=m.length;let Y=m.indexOf(i);return Y===-1?!u&&v?m[I-1]:m[0]:(Y+=u?1:-1,v&&(Y=(Y+I)%I),m[Math.max(0,Math.min(Y,I-1))])},oe=/[^.]*(?=\..*)\.|.*/,he=/\..*/,te=/::\d+$/,Z={};let ce=1;const Ce={mouseenter:"mouseover",mouseleave:"mouseout"},He=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function De(m,i){return i&&`${i}::${ce++}`||m.uidEvent||ce++}function Ae(m){const i=De(m);return m.uidEvent=i,Z[i]=Z[i]||{},Z[i]}function et(m,i){return function u(v){return ge(v,{delegateTarget:m}),u.oneOff&&$.off(m,v.type,i),i.apply(m,[v])}}function Be(m,i,u){return function v(I){const Y=m.querySelectorAll(i);for(let{target:U}=I;U&&U!==this;U=U.parentNode)for(const le of Y)if(le===U)return ge(I,{delegateTarget:U}),v.oneOff&&$.off(m,I.type,i,u),u.apply(U,[I])}}function Pe(m,i,u=null){return Object.values(m).find(v=>v.callable===i&&v.delegationSelector===u)}function we(m,i,u){const v=typeof i=="string",I=v?u:i||u;let Y=J(m);return He.has(Y)||(Y=m),[v,I,Y]}function R(m,i,u,v,I){if(typeof i!="string"||!m)return;let[Y,U,le]=we(i,u,v);i in Ce&&(U=(_g=>function(Bn){if(!Bn.relatedTarget||Bn.relatedTarget!==Bn.delegateTarget&&!Bn.delegateTarget.contains(Bn.relatedTarget))return _g.call(this,Bn)})(U));const Xe=Ae(m),ot=Xe[le]||(Xe[le]={}),$e=Pe(ot,U,Y?u:null);if($e){$e.oneOff=$e.oneOff&&I;return}const At=De(U,i.replace(oe,"")),gt=Y?Be(m,u,U):et(m,U);gt.delegationSelector=Y?u:null,gt.callable=U,gt.oneOff=I,gt.uidEvent=At,ot[At]=gt,m.addEventListener(le,gt,Y)}function q(m,i,u,v,I){const Y=Pe(i[u],v,I);Y&&(m.removeEventListener(u,Y,!!I),delete i[u][Y.uidEvent])}function z(m,i,u,v){const I=i[u]||{};for(const[Y,U]of Object.entries(I))Y.includes(v)&&q(m,i,u,U.callable,U.delegationSelector)}function J(m){return m=m.replace(he,""),Ce[m]||m}const $={on(m,i,u,v){R(m,i,u,v,!1)},one(m,i,u,v){R(m,i,u,v,!0)},off(m,i,u,v){if(typeof i!="string"||!m)return;const[I,Y,U]=we(i,u,v),le=U!==i,Xe=Ae(m),ot=Xe[U]||{},$e=i.startsWith(".");if(typeof Y<"u"){if(!Object.keys(ot).length)return;q(m,Xe,U,Y,I?u:null);return}if($e)for(const At of Object.keys(Xe))z(m,Xe,At,i.slice(1));for(const[At,gt]of Object.entries(ot)){const fr=At.replace(te,"");(!le||i.includes(fr))&&q(m,Xe,U,gt.callable,gt.delegationSelector)}},trigger(m,i,u){if(typeof i!="string"||!m)return null;const v=y(),I=J(i),Y=i!==I;let U=null,le=!0,Xe=!0,ot=!1;Y&&v&&(U=v.Event(i,u),v(m).trigger(U),le=!U.isPropagationStopped(),Xe=!U.isImmediatePropagationStopped(),ot=U.isDefaultPrevented());const $e=ge(new Event(i,{bubbles:le,cancelable:!0}),u);return ot&&$e.preventDefault(),Xe&&m.dispatchEvent($e),$e.defaultPrevented&&U&&U.preventDefault(),$e}};function ge(m,i={}){for(const[u,v]of Object.entries(i))try{m[u]=v}catch{Object.defineProperty(m,u,{configurable:!0,get(){return v}})}return m}function g(m){if(m==="true")return!0;if(m==="false")return!1;if(m===Number(m).toString())return Number(m);if(m===""||m==="null")return null;if(typeof m!="string")return m;try{return JSON.parse(decodeURIComponent(m))}catch{return m}}function _(m){return m.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const O={setDataAttribute(m,i,u){m.setAttribute(`data-bs-${_(i)}`,u)},removeDataAttribute(m,i){m.removeAttribute(`data-bs-${_(i)}`)},getDataAttributes(m){if(!m)return{};const i={},u=Object.keys(m.dataset).filter(v=>v.startsWith("bs")&&!v.startsWith("bsConfig"));for(const v of u){let I=v.replace(/^bs/,"");I=I.charAt(0).toLowerCase()+I.slice(1,I.length),i[I]=g(m.dataset[v])}return i},getDataAttribute(m,i){return g(m.getAttribute(`data-bs-${_(i)}`))}};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,u){const v=C(u)?O.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...C(u)?O.getDataAttributes(u):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,u=this.constructor.DefaultType){for(const[v,I]of Object.entries(u)){const Y=i[v],U=C(Y)?"element":h(Y);if(!new RegExp(I).test(U))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${U}" but expected type "${I}".`)}}}const L="5.3.3";class F extends H{constructor(i,u){super(),i=D(i),i&&(this._element=i,this._config=this._getConfig(u),a.set(this._element,this.constructor.DATA_KEY,this))}dispose(){a.remove(this._element,this.constructor.DATA_KEY),$.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,u,v=!0){B(i,u,v)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return a.get(D(i),this.DATA_KEY)}static getOrCreateInstance(i,u={}){return this.getInstance(i)||new this(i,typeof u=="object"?u:null)}static get VERSION(){return L}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const G=m=>{let i=m.getAttribute("data-bs-target");if(!i||i==="#"){let u=m.getAttribute("href");if(!u||!u.includes("#")&&!u.startsWith("."))return null;u.includes("#")&&!u.startsWith("#")&&(u=`#${u.split("#")[1]}`),i=u&&u!=="#"?u.trim():null}return i?i.split(",").map(u=>f(u)).join(","):null},N={find(m,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,m))},findOne(m,i=document.documentElement){return Element.prototype.querySelector.call(i,m)},children(m,i){return[].concat(...m.children).filter(u=>u.matches(i))},parents(m,i){const u=[];let v=m.parentNode.closest(i);for(;v;)u.push(v),v=v.parentNode.closest(i);return u},prev(m,i){let u=m.previousElementSibling;for(;u;){if(u.matches(i))return[u];u=u.previousElementSibling}return[]},next(m,i){let u=m.nextElementSibling;for(;u;){if(u.matches(i))return[u];u=u.nextElementSibling}return[]},focusableChildren(m){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(u=>`${u}:not([tabindex^="-"])`).join(",");return this.find(i,m).filter(u=>!V(u)&&P(u))},getSelectorFromElement(m){const i=G(m);return i&&N.findOne(i)?i:null},getElementFromSelector(m){const i=G(m);return i?N.findOne(i):null},getMultipleElementsFromSelector(m){const i=G(m);return i?N.find(i):[]}},W=(m,i="hide")=>{const u=`click.dismiss${m.EVENT_KEY}`,v=m.NAME;$.on(document,u,`[data-bs-dismiss="${v}"]`,function(I){if(["A","AREA"].includes(this.tagName)&&I.preventDefault(),V(this))return;const Y=N.getElementFromSelector(this)||this.closest(`.${v}`);m.getOrCreateInstance(Y)[i]()})},K="alert",X=".bs.alert",ee=`close${X}`,re=`closed${X}`,ae="fade",de="show";class ue extends F{static get NAME(){return K}close(){if($.trigger(this._element,ee).defaultPrevented)return;this._element.classList.remove(de);const u=this._element.classList.contains(ae);this._queueCallback(()=>this._destroyElement(),this._element,u)}_destroyElement(){this._element.remove(),$.trigger(this._element,re),this.dispose()}static jQueryInterface(i){return this.each(function(){const u=ue.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}W(ue,"close"),w(ue);const je="button",tt=".bs.button",Ke=".data-api",fn="active",_s='[data-bs-toggle="button"]',We=`click${tt}${Ke}`;class Me extends F{static get NAME(){return je}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(fn))}static jQueryInterface(i){return this.each(function(){const u=Me.getOrCreateInstance(this);i==="toggle"&&u[i]()})}}$.on(document,We,_s,m=>{m.preventDefault();const i=m.target.closest(_s);Me.getOrCreateInstance(i).toggle()}),w(Me);const Zs="swipe",Rn=".bs.swipe",jf=`touchstart${Rn}`,Kf=`touchmove${Rn}`,Wf=`touchend${Rn}`,Uf=`pointerdown${Rn}`,Yf=`pointerup${Rn}`,Gf="touch",qf="pen",zf="pointer-event",Xf=40,Qf={endCallback:null,leftCallback:null,rightCallback:null},Jf={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class er extends H{constructor(i,u){super(),this._element=i,!(!i||!er.isSupported())&&(this._config=this._getConfig(u),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Qf}static get DefaultType(){return Jf}static get NAME(){return Zs}dispose(){$.off(this._element,Rn)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),j(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=Xf)return;const u=i/this._deltaX;this._deltaX=0,u&&j(u>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?($.on(this._element,Uf,i=>this._start(i)),$.on(this._element,Yf,i=>this._end(i)),this._element.classList.add(zf)):($.on(this._element,jf,i=>this._start(i)),$.on(this._element,Kf,i=>this._move(i)),$.on(this._element,Wf,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===qf||i.pointerType===Gf)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Zf="carousel",Kt=".bs.carousel",ra=".data-api",ed="ArrowLeft",td="ArrowRight",nd=500,vs="next",In="prev",Pn="left",tr="right",sd=`slide${Kt}`,ui=`slid${Kt}`,rd=`keydown${Kt}`,id=`mouseenter${Kt}`,od=`mouseleave${Kt}`,ad=`dragstart${Kt}`,ld=`load${Kt}${ra}`,cd=`click${Kt}${ra}`,ia="carousel",nr="active",ud="slide",fd="carousel-item-end",dd="carousel-item-start",hd="carousel-item-next",pd="carousel-item-prev",oa=".active",aa=".carousel-item",gd=oa+aa,md=".carousel-item img",_d=".carousel-indicators",vd="[data-bs-slide], [data-bs-slide-to]",Ed='[data-bs-ride="carousel"]',yd={[ed]:tr,[td]:Pn},bd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ad={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Mn extends F{constructor(i,u){super(i,u),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=N.findOne(_d,this._element),this._addEventListeners(),this._config.ride===ia&&this.cycle()}static get Default(){return bd}static get DefaultType(){return Ad}static get NAME(){return Zf}next(){this._slide(vs)}nextWhenVisible(){!document.hidden&&P(this._element)&&this.next()}prev(){this._slide(In)}pause(){this._isSliding&&x(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){$.one(this._element,ui,()=>this.cycle());return}this.cycle()}}to(i){const u=this._getItems();if(i>u.length-1||i<0)return;if(this._isSliding){$.one(this._element,ui,()=>this.to(i));return}const v=this._getItemIndex(this._getActive());if(v===i)return;const I=i>v?vs:In;this._slide(I,u[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&$.on(this._element,rd,i=>this._keydown(i)),this._config.pause==="hover"&&($.on(this._element,id,()=>this.pause()),$.on(this._element,od,()=>this._maybeEnableCycle())),this._config.touch&&er.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const v of N.find(md,this._element))$.on(v,ad,I=>I.preventDefault());const u={leftCallback:()=>this._slide(this._directionToOrder(Pn)),rightCallback:()=>this._slide(this._directionToOrder(tr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),nd+this._config.interval))}};this._swipeHelper=new er(this._element,u)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const u=yd[i.key];u&&(i.preventDefault(),this._slide(this._directionToOrder(u)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const u=N.findOne(oa,this._indicatorsElement);u.classList.remove(nr),u.removeAttribute("aria-current");const v=N.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);v&&(v.classList.add(nr),v.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const u=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=u||this._config.defaultInterval}_slide(i,u=null){if(this._isSliding)return;const v=this._getActive(),I=i===vs,Y=u||Q(this._getItems(),v,I,this._config.wrap);if(Y===v)return;const U=this._getItemIndex(Y),le=fr=>$.trigger(this._element,fr,{relatedTarget:Y,direction:this._orderToDirection(i),from:this._getItemIndex(v),to:U});if(le(sd).defaultPrevented||!v||!Y)return;const ot=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(U),this._activeElement=Y;const $e=I?dd:fd,At=I?hd:pd;Y.classList.add(At),b(Y),v.classList.add($e),Y.classList.add($e);const gt=()=>{Y.classList.remove($e,At),Y.classList.add(nr),v.classList.remove(nr,At,$e),this._isSliding=!1,le(ui)};this._queueCallback(gt,v,this._isAnimated()),ot&&this.cycle()}_isAnimated(){return this._element.classList.contains(ud)}_getActive(){return N.findOne(gd,this._element)}_getItems(){return N.find(aa,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return A()?i===Pn?In:vs:i===Pn?vs:In}_orderToDirection(i){return A()?i===In?Pn:tr:i===In?tr:Pn}static jQueryInterface(i){return this.each(function(){const u=Mn.getOrCreateInstance(this,i);if(typeof i=="number"){u.to(i);return}if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(document,cd,vd,function(m){const i=N.getElementFromSelector(this);if(!i||!i.classList.contains(ia))return;m.preventDefault();const u=Mn.getOrCreateInstance(i),v=this.getAttribute("data-bs-slide-to");if(v){u.to(v),u._maybeEnableCycle();return}if(O.getDataAttribute(this,"slide")==="next"){u.next(),u._maybeEnableCycle();return}u.prev(),u._maybeEnableCycle()}),$.on(window,ld,()=>{const m=N.find(Ed);for(const i of m)Mn.getOrCreateInstance(i)}),w(Mn);const Td="collapse",Es=".bs.collapse",wd=".data-api",Cd=`show${Es}`,Sd=`shown${Es}`,Od=`hide${Es}`,xd=`hidden${Es}`,Nd=`click${Es}${wd}`,fi="show",kn="collapse",sr="collapsing",$d="collapsed",Dd=`:scope .${kn} .${kn}`,Ld="collapse-horizontal",Rd="width",Id="height",Pd=".collapse.show, .collapse.collapsing",di='[data-bs-toggle="collapse"]',Md={parent:null,toggle:!0},kd={parent:"(null|element)",toggle:"boolean"};class Vn extends F{constructor(i,u){super(i,u),this._isTransitioning=!1,this._triggerArray=[];const v=N.find(di);for(const I of v){const Y=N.getSelectorFromElement(I),U=N.find(Y).filter(le=>le===this._element);Y!==null&&U.length&&this._triggerArray.push(I)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Md}static get DefaultType(){return kd}static get NAME(){return Td}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Pd).filter(le=>le!==this._element).map(le=>Vn.getOrCreateInstance(le,{toggle:!1}))),i.length&&i[0]._isTransitioning||$.trigger(this._element,Cd).defaultPrevented)return;for(const le of i)le.hide();const v=this._getDimension();this._element.classList.remove(kn),this._element.classList.add(sr),this._element.style[v]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const I=()=>{this._isTransitioning=!1,this._element.classList.remove(sr),this._element.classList.add(kn,fi),this._element.style[v]="",$.trigger(this._element,Sd)},U=`scroll${v[0].toUpperCase()+v.slice(1)}`;this._queueCallback(I,this._element,!0),this._element.style[v]=`${this._element[U]}px`}hide(){if(this._isTransitioning||!this._isShown()||$.trigger(this._element,Od).defaultPrevented)return;const u=this._getDimension();this._element.style[u]=`${this._element.getBoundingClientRect()[u]}px`,b(this._element),this._element.classList.add(sr),this._element.classList.remove(kn,fi);for(const I of this._triggerArray){const Y=N.getElementFromSelector(I);Y&&!this._isShown(Y)&&this._addAriaAndCollapsedClass([I],!1)}this._isTransitioning=!0;const v=()=>{this._isTransitioning=!1,this._element.classList.remove(sr),this._element.classList.add(kn),$.trigger(this._element,xd)};this._element.style[u]="",this._queueCallback(v,this._element,!0)}_isShown(i=this._element){return i.classList.contains(fi)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=D(i.parent),i}_getDimension(){return this._element.classList.contains(Ld)?Rd:Id}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(di);for(const u of i){const v=N.getElementFromSelector(u);v&&this._addAriaAndCollapsedClass([u],this._isShown(v))}}_getFirstLevelChildren(i){const u=N.find(Dd,this._config.parent);return N.find(i,this._config.parent).filter(v=>!u.includes(v))}_addAriaAndCollapsedClass(i,u){if(i.length)for(const v of i)v.classList.toggle($d,!u),v.setAttribute("aria-expanded",u)}static jQueryInterface(i){const u={};return typeof i=="string"&&/show|hide/.test(i)&&(u.toggle=!1),this.each(function(){const v=Vn.getOrCreateInstance(this,u);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i]()}})}}$.on(document,Nd,di,function(m){(m.target.tagName==="A"||m.delegateTarget&&m.delegateTarget.tagName==="A")&&m.preventDefault();for(const i of N.getMultipleElementsFromSelector(this))Vn.getOrCreateInstance(i,{toggle:!1}).toggle()}),w(Vn);const la="dropdown",dn=".bs.dropdown",hi=".data-api",Vd="Escape",ca="Tab",Fd="ArrowUp",ua="ArrowDown",Hd=2,Bd=`hide${dn}`,jd=`hidden${dn}`,Kd=`show${dn}`,Wd=`shown${dn}`,fa=`click${dn}${hi}`,da=`keydown${dn}${hi}`,Ud=`keyup${dn}${hi}`,Fn="show",Yd="dropup",Gd="dropend",qd="dropstart",zd="dropup-center",Xd="dropdown-center",hn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Qd=`${hn}.${Fn}`,rr=".dropdown-menu",Jd=".navbar",Zd=".navbar-nav",eh=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",th=A()?"top-end":"top-start",nh=A()?"top-start":"top-end",sh=A()?"bottom-end":"bottom-start",rh=A()?"bottom-start":"bottom-end",ih=A()?"left-start":"right-start",oh=A()?"right-start":"left-start",ah="top",lh="bottom",ch={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},uh={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class pt extends F{constructor(i,u){super(i,u),this._popper=null,this._parent=this._element.parentNode,this._menu=N.next(this._element,rr)[0]||N.prev(this._element,rr)[0]||N.findOne(rr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ch}static get DefaultType(){return uh}static get NAME(){return la}toggle(){return this._isShown()?this.hide():this.show()}show(){if(V(this._element)||this._isShown())return;const i={relatedTarget:this._element};if(!$.trigger(this._element,Kd,i).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Zd))for(const v of[].concat(...document.body.children))$.on(v,"mouseover",M);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Fn),this._element.classList.add(Fn),$.trigger(this._element,Wd,i)}}hide(){if(V(this._element)||!this._isShown())return;const i={relatedTarget:this._element};this._completeHide(i)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(i){if(!$.trigger(this._element,Bd,i).defaultPrevented){if("ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))$.off(v,"mouseover",M);this._popper&&this._popper.destroy(),this._menu.classList.remove(Fn),this._element.classList.remove(Fn),this._element.setAttribute("aria-expanded","false"),O.removeDataAttribute(this._menu,"popper"),$.trigger(this._element,jd,i)}}_getConfig(i){if(i=super._getConfig(i),typeof i.reference=="object"&&!C(i.reference)&&typeof i.reference.getBoundingClientRect!="function")throw new TypeError(`${la.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return i}_createPopper(){if(typeof r>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let i=this._element;this._config.reference==="parent"?i=this._parent:C(this._config.reference)?i=D(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const u=this._getPopperConfig();this._popper=r.createPopper(i,this._menu,u)}_isShown(){return this._menu.classList.contains(Fn)}_getPlacement(){const i=this._parent;if(i.classList.contains(Gd))return ih;if(i.classList.contains(qd))return oh;if(i.classList.contains(zd))return ah;if(i.classList.contains(Xd))return lh;const u=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(Yd)?u?nh:th:u?rh:sh}_detectNavbar(){return this._element.closest(Jd)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(O.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...j(this._config.popperConfig,[i])}}_selectMenuItem({key:i,target:u}){const v=N.find(eh,this._menu).filter(I=>P(I));v.length&&Q(v,u,i===ua,!v.includes(u)).focus()}static jQueryInterface(i){return this.each(function(){const u=pt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}static clearMenus(i){if(i.button===Hd||i.type==="keyup"&&i.key!==ca)return;const u=N.find(Qd);for(const v of u){const I=pt.getInstance(v);if(!I||I._config.autoClose===!1)continue;const Y=i.composedPath(),U=Y.includes(I._menu);if(Y.includes(I._element)||I._config.autoClose==="inside"&&!U||I._config.autoClose==="outside"&&U||I._menu.contains(i.target)&&(i.type==="keyup"&&i.key===ca||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const le={relatedTarget:I._element};i.type==="click"&&(le.clickEvent=i),I._completeHide(le)}}static dataApiKeydownHandler(i){const u=/input|textarea/i.test(i.target.tagName),v=i.key===Vd,I=[Fd,ua].includes(i.key);if(!I&&!v||u&&!v)return;i.preventDefault();const Y=this.matches(hn)?this:N.prev(this,hn)[0]||N.next(this,hn)[0]||N.findOne(hn,i.delegateTarget.parentNode),U=pt.getOrCreateInstance(Y);if(I){i.stopPropagation(),U.show(),U._selectMenuItem(i);return}U._isShown()&&(i.stopPropagation(),U.hide(),Y.focus())}}$.on(document,da,hn,pt.dataApiKeydownHandler),$.on(document,da,rr,pt.dataApiKeydownHandler),$.on(document,fa,pt.clearMenus),$.on(document,Ud,pt.clearMenus),$.on(document,fa,hn,function(m){m.preventDefault(),pt.getOrCreateInstance(this).toggle()}),w(pt);const ha="backdrop",fh="fade",pa="show",ga=`mousedown.bs.${ha}`,dh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},hh={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ma extends H{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return dh}static get DefaultType(){return hh}static get NAME(){return ha}show(i){if(!this._config.isVisible){j(i);return}this._append();const u=this._getElement();this._config.isAnimated&&b(u),u.classList.add(pa),this._emulateAnimation(()=>{j(i)})}hide(i){if(!this._config.isVisible){j(i);return}this._getElement().classList.remove(pa),this._emulateAnimation(()=>{this.dispose(),j(i)})}dispose(){this._isAppended&&($.off(this._element,ga),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(fh),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=D(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),$.on(i,ga,()=>{j(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){B(i,this._getElement(),this._config.isAnimated)}}const ph="focustrap",ir=".bs.focustrap",gh=`focusin${ir}`,mh=`keydown.tab${ir}`,_h="Tab",vh="forward",_a="backward",Eh={autofocus:!0,trapElement:null},yh={autofocus:"boolean",trapElement:"element"};class va extends H{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Eh}static get DefaultType(){return yh}static get NAME(){return ph}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),$.off(document,ir),$.on(document,gh,i=>this._handleFocusin(i)),$.on(document,mh,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,$.off(document,ir))}_handleFocusin(i){const{trapElement:u}=this._config;if(i.target===document||i.target===u||u.contains(i.target))return;const v=N.focusableChildren(u);v.length===0?u.focus():this._lastTabNavDirection===_a?v[v.length-1].focus():v[0].focus()}_handleKeydown(i){i.key===_h&&(this._lastTabNavDirection=i.shiftKey?_a:vh)}}const Ea=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ya=".sticky-top",or="padding-right",ba="margin-right";class pi{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,or,u=>u+i),this._setElementAttributes(Ea,or,u=>u+i),this._setElementAttributes(ya,ba,u=>u-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,or),this._resetElementAttributes(Ea,or),this._resetElementAttributes(ya,ba)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,u,v){const I=this.getWidth(),Y=U=>{if(U!==this._element&&window.innerWidth>U.clientWidth+I)return;this._saveInitialAttribute(U,u);const le=window.getComputedStyle(U).getPropertyValue(u);U.style.setProperty(u,`${v(Number.parseFloat(le))}px`)};this._applyManipulationCallback(i,Y)}_saveInitialAttribute(i,u){const v=i.style.getPropertyValue(u);v&&O.setDataAttribute(i,u,v)}_resetElementAttributes(i,u){const v=I=>{const Y=O.getDataAttribute(I,u);if(Y===null){I.style.removeProperty(u);return}O.removeDataAttribute(I,u),I.style.setProperty(u,Y)};this._applyManipulationCallback(i,v)}_applyManipulationCallback(i,u){if(C(i)){u(i);return}for(const v of N.find(i,this._element))u(v)}}const bh="modal",it=".bs.modal",Ah=".data-api",Th="Escape",wh=`hide${it}`,Ch=`hidePrevented${it}`,Aa=`hidden${it}`,Ta=`show${it}`,Sh=`shown${it}`,Oh=`resize${it}`,xh=`click.dismiss${it}`,Nh=`mousedown.dismiss${it}`,$h=`keydown.dismiss${it}`,Dh=`click${it}${Ah}`,wa="modal-open",Lh="fade",Ca="show",gi="modal-static",Rh=".modal.show",Ih=".modal-dialog",Ph=".modal-body",Mh='[data-bs-toggle="modal"]',kh={backdrop:!0,focus:!0,keyboard:!0},Vh={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class pn extends F{constructor(i,u){super(i,u),this._dialog=N.findOne(Ih,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new pi,this._addEventListeners()}static get Default(){return kh}static get DefaultType(){return Vh}static get NAME(){return bh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||$.trigger(this._element,Ta,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wa),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||$.trigger(this._element,wh).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ca),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){$.off(window,it),$.off(this._dialog,it),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ma({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new va({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const u=N.findOne(Ph,this._dialog);u&&(u.scrollTop=0),b(this._element),this._element.classList.add(Ca);const v=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,$.trigger(this._element,Sh,{relatedTarget:i})};this._queueCallback(v,this._dialog,this._isAnimated())}_addEventListeners(){$.on(this._element,$h,i=>{if(i.key===Th){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),$.on(window,Oh,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),$.on(this._element,Nh,i=>{$.one(this._element,xh,u=>{if(!(this._element!==i.target||this._element!==u.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(wa),this._resetAdjustments(),this._scrollBar.reset(),$.trigger(this._element,Aa)})}_isAnimated(){return this._element.classList.contains(Lh)}_triggerBackdropTransition(){if($.trigger(this._element,Ch).defaultPrevented)return;const u=this._element.scrollHeight>document.documentElement.clientHeight,v=this._element.style.overflowY;v==="hidden"||this._element.classList.contains(gi)||(u||(this._element.style.overflowY="hidden"),this._element.classList.add(gi),this._queueCallback(()=>{this._element.classList.remove(gi),this._queueCallback(()=>{this._element.style.overflowY=v},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,u=this._scrollBar.getWidth(),v=u>0;if(v&&!i){const I=A()?"paddingLeft":"paddingRight";this._element.style[I]=`${u}px`}if(!v&&i){const I=A()?"paddingRight":"paddingLeft";this._element.style[I]=`${u}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,u){return this.each(function(){const v=pn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i](u)}})}}$.on(document,Dh,Mh,function(m){const i=N.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&m.preventDefault(),$.one(i,Ta,I=>{I.defaultPrevented||$.one(i,Aa,()=>{P(this)&&this.focus()})});const u=N.findOne(Rh);u&&pn.getInstance(u).hide(),pn.getOrCreateInstance(i).toggle(this)}),W(pn),w(pn);const Fh="offcanvas",Dt=".bs.offcanvas",Sa=".data-api",Hh=`load${Dt}${Sa}`,Bh="Escape",Oa="show",xa="showing",Na="hiding",jh="offcanvas-backdrop",$a=".offcanvas.show",Kh=`show${Dt}`,Wh=`shown${Dt}`,Uh=`hide${Dt}`,Da=`hidePrevented${Dt}`,La=`hidden${Dt}`,Yh=`resize${Dt}`,Gh=`click${Dt}${Sa}`,qh=`keydown.dismiss${Dt}`,zh='[data-bs-toggle="offcanvas"]',Xh={backdrop:!0,keyboard:!0,scroll:!1},Qh={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Lt extends F{constructor(i,u){super(i,u),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Xh}static get DefaultType(){return Qh}static get NAME(){return Fh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||$.trigger(this._element,Kh,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new pi().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(xa);const v=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Oa),this._element.classList.remove(xa),$.trigger(this._element,Wh,{relatedTarget:i})};this._queueCallback(v,this._element,!0)}hide(){if(!this._isShown||$.trigger(this._element,Uh).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Na),this._backdrop.hide();const u=()=>{this._element.classList.remove(Oa,Na),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new pi().reset(),$.trigger(this._element,La)};this._queueCallback(u,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){$.trigger(this._element,Da);return}this.hide()},u=!!this._config.backdrop;return new ma({className:jh,isVisible:u,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:u?i:null})}_initializeFocusTrap(){return new va({trapElement:this._element})}_addEventListeners(){$.on(this._element,qh,i=>{if(i.key===Bh){if(this._config.keyboard){this.hide();return}$.trigger(this._element,Da)}})}static jQueryInterface(i){return this.each(function(){const u=Lt.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}$.on(document,Gh,zh,function(m){const i=N.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&m.preventDefault(),V(this))return;$.one(i,La,()=>{P(this)&&this.focus()});const u=N.findOne($a);u&&u!==i&&Lt.getInstance(u).hide(),Lt.getOrCreateInstance(i).toggle(this)}),$.on(window,Hh,()=>{for(const m of N.find($a))Lt.getOrCreateInstance(m).show()}),$.on(window,Yh,()=>{for(const m of N.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(m).position!=="fixed"&&Lt.getOrCreateInstance(m).hide()}),W(Lt),w(Lt);const Ra={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Jh=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Zh=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,ep=(m,i)=>{const u=m.nodeName.toLowerCase();return i.includes(u)?Jh.has(u)?!!Zh.test(m.nodeValue):!0:i.filter(v=>v instanceof RegExp).some(v=>v.test(u))};function tp(m,i,u){if(!m.length)return m;if(u&&typeof u=="function")return u(m);const I=new window.DOMParser().parseFromString(m,"text/html"),Y=[].concat(...I.body.querySelectorAll("*"));for(const U of Y){const le=U.nodeName.toLowerCase();if(!Object.keys(i).includes(le)){U.remove();continue}const Xe=[].concat(...U.attributes),ot=[].concat(i["*"]||[],i[le]||[]);for(const $e of Xe)ep($e,ot)||U.removeAttribute($e.nodeName)}return I.body.innerHTML}const np="TemplateFactory",sp={allowList:Ra,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},rp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ip={entry:"(string|element|function|null)",selector:"(string|element)"};class op extends H{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return sp}static get DefaultType(){return rp}static get NAME(){return np}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[I,Y]of Object.entries(this._config.content))this._setContent(i,Y,I);const u=i.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&u.classList.add(...v.split(" ")),u}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[u,v]of Object.entries(i))super._typeCheckConfig({selector:u,entry:v},ip)}_setContent(i,u,v){const I=N.findOne(v,i);if(I){if(u=this._resolvePossibleFunction(u),!u){I.remove();return}if(C(u)){this._putElementInTemplate(D(u),I);return}if(this._config.html){I.innerHTML=this._maybeSanitize(u);return}I.textContent=u}}_maybeSanitize(i){return this._config.sanitize?tp(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return j(i,[this])}_putElementInTemplate(i,u){if(this._config.html){u.innerHTML="",u.append(i);return}u.textContent=i.textContent}}const ap="tooltip",lp=new Set(["sanitize","allowList","sanitizeFn"]),mi="fade",cp="modal",ar="show",up=".tooltip-inner",Ia=`.${cp}`,Pa="hide.bs.modal",ys="hover",_i="focus",fp="click",dp="manual",hp="hide",pp="hidden",gp="show",mp="shown",_p="inserted",vp="click",Ep="focusin",yp="focusout",bp="mouseenter",Ap="mouseleave",Tp={AUTO:"auto",TOP:"top",RIGHT:A()?"left":"right",BOTTOM:"bottom",LEFT:A()?"right":"left"},wp={allowList:Ra,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Cp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class gn extends F{constructor(i,u){if(typeof r>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(i,u),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return wp}static get DefaultType(){return Cp}static get NAME(){return ap}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),$.off(this._element.closest(Ia),Pa,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=$.trigger(this._element,this.constructor.eventName(gp)),v=(k(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!v)return;this._disposePopper();const I=this._getTipElement();this._element.setAttribute("aria-describedby",I.getAttribute("id"));const{container:Y}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(Y.append(I),$.trigger(this._element,this.constructor.eventName(_p))),this._popper=this._createPopper(I),I.classList.add(ar),"ontouchstart"in document.documentElement)for(const le of[].concat(...document.body.children))$.on(le,"mouseover",M);const U=()=>{$.trigger(this._element,this.constructor.eventName(mp)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(U,this.tip,this._isAnimated())}hide(){if(!this._isShown()||$.trigger(this._element,this.constructor.eventName(hp)).defaultPrevented)return;if(this._getTipElement().classList.remove(ar),"ontouchstart"in document.documentElement)for(const I of[].concat(...document.body.children))$.off(I,"mouseover",M);this._activeTrigger[fp]=!1,this._activeTrigger[_i]=!1,this._activeTrigger[ys]=!1,this._isHovered=null;const v=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),$.trigger(this._element,this.constructor.eventName(pp)))};this._queueCallback(v,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const u=this._getTemplateFactory(i).toHtml();if(!u)return null;u.classList.remove(mi,ar),u.classList.add(`bs-${this.constructor.NAME}-auto`);const v=p(this.constructor.NAME).toString();return u.setAttribute("id",v),this._isAnimated()&&u.classList.add(mi),u}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new op({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[up]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(mi)}_isShown(){return this.tip&&this.tip.classList.contains(ar)}_createPopper(i){const u=j(this._config.placement,[this,i,this._element]),v=Tp[u.toUpperCase()];return r.createPopper(this._element,i,this._getPopperConfig(v))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_resolvePossibleFunction(i){return j(i,[this._element])}_getPopperConfig(i){const u={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:v=>{this._getTipElement().setAttribute("data-popper-placement",v.state.placement)}}]};return{...u,...j(this._config.popperConfig,[u])}}_setListeners(){const i=this._config.trigger.split(" ");for(const u of i)if(u==="click")$.on(this._element,this.constructor.eventName(vp),this._config.selector,v=>{this._initializeOnDelegatedTarget(v).toggle()});else if(u!==dp){const v=u===ys?this.constructor.eventName(bp):this.constructor.eventName(Ep),I=u===ys?this.constructor.eventName(Ap):this.constructor.eventName(yp);$.on(this._element,v,this._config.selector,Y=>{const U=this._initializeOnDelegatedTarget(Y);U._activeTrigger[Y.type==="focusin"?_i:ys]=!0,U._enter()}),$.on(this._element,I,this._config.selector,Y=>{const U=this._initializeOnDelegatedTarget(Y);U._activeTrigger[Y.type==="focusout"?_i:ys]=U._element.contains(Y.relatedTarget),U._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},$.on(this._element.closest(Ia),Pa,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,u){clearTimeout(this._timeout),this._timeout=setTimeout(i,u)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const u=O.getDataAttributes(this._element);for(const v of Object.keys(u))lp.has(v)&&delete u[v];return i={...u,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:D(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[u,v]of Object.entries(this._config))this.constructor.Default[u]!==v&&(i[u]=v);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const u=gn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}w(gn);const Sp="popover",Op=".popover-header",xp=".popover-body",Np={...gn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},$p={...gn.DefaultType,content:"(null|string|element|function)"};class lr extends gn{static get Default(){return Np}static get DefaultType(){return $p}static get NAME(){return Sp}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Op]:this._getTitle(),[xp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const u=lr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}w(lr);const Dp="scrollspy",vi=".bs.scrollspy",Lp=".data-api",Rp=`activate${vi}`,Ma=`click${vi}`,Ip=`load${vi}${Lp}`,Pp="dropdown-item",Hn="active",Mp='[data-bs-spy="scroll"]',Ei="[href]",kp=".nav, .list-group",ka=".nav-link",Vp=`${ka}, .nav-item > ${ka}, .list-group-item`,Fp=".dropdown",Hp=".dropdown-toggle",Bp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},jp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bs extends F{constructor(i,u){super(i,u),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Bp}static get DefaultType(){return jp}static get NAME(){return Dp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=D(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(u=>Number.parseFloat(u))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&($.off(this._config.target,Ma),$.on(this._config.target,Ma,Ei,i=>{const u=this._observableSections.get(i.target.hash);if(u){i.preventDefault();const v=this._rootElement||window,I=u.offsetTop-this._element.offsetTop;if(v.scrollTo){v.scrollTo({top:I,behavior:"smooth"});return}v.scrollTop=I}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(u=>this._observerCallback(u),i)}_observerCallback(i){const u=U=>this._targetLinks.get(`#${U.target.id}`),v=U=>{this._previousScrollData.visibleEntryTop=U.target.offsetTop,this._process(u(U))},I=(this._rootElement||document.documentElement).scrollTop,Y=I>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=I;for(const U of i){if(!U.isIntersecting){this._activeTarget=null,this._clearActiveClass(u(U));continue}const le=U.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(Y&&le){if(v(U),!I)return;continue}!Y&&!le&&v(U)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=N.find(Ei,this._config.target);for(const u of i){if(!u.hash||V(u))continue;const v=N.findOne(decodeURI(u.hash),this._element);P(v)&&(this._targetLinks.set(decodeURI(u.hash),u),this._observableSections.set(u.hash,v))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(Hn),this._activateParents(i),$.trigger(this._element,Rp,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(Pp)){N.findOne(Hp,i.closest(Fp)).classList.add(Hn);return}for(const u of N.parents(i,kp))for(const v of N.prev(u,Vp))v.classList.add(Hn)}_clearActiveClass(i){i.classList.remove(Hn);const u=N.find(`${Ei}.${Hn}`,i);for(const v of u)v.classList.remove(Hn)}static jQueryInterface(i){return this.each(function(){const u=bs.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(window,Ip,()=>{for(const m of N.find(Mp))bs.getOrCreateInstance(m)}),w(bs);const Kp="tab",mn=".bs.tab",Wp=`hide${mn}`,Up=`hidden${mn}`,Yp=`show${mn}`,Gp=`shown${mn}`,qp=`click${mn}`,zp=`keydown${mn}`,Xp=`load${mn}`,Qp="ArrowLeft",Va="ArrowRight",Jp="ArrowUp",Fa="ArrowDown",yi="Home",Ha="End",_n="active",Ba="fade",bi="show",Zp="dropdown",ja=".dropdown-toggle",eg=".dropdown-menu",Ai=`:not(${ja})`,tg='.list-group, .nav, [role="tablist"]',ng=".nav-item, .list-group-item",sg=`.nav-link${Ai}, .list-group-item${Ai}, [role="tab"]${Ai}`,Ka='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ti=`${sg}, ${Ka}`,rg=`.${_n}[data-bs-toggle="tab"], .${_n}[data-bs-toggle="pill"], .${_n}[data-bs-toggle="list"]`;class vn extends F{constructor(i){super(i),this._parent=this._element.closest(tg),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),$.on(this._element,zp,u=>this._keydown(u)))}static get NAME(){return Kp}show(){const i=this._element;if(this._elemIsActive(i))return;const u=this._getActiveElem(),v=u?$.trigger(u,Wp,{relatedTarget:i}):null;$.trigger(i,Yp,{relatedTarget:u}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(u,i),this._activate(i,u))}_activate(i,u){if(!i)return;i.classList.add(_n),this._activate(N.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(bi);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),$.trigger(i,Gp,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ba))}_deactivate(i,u){if(!i)return;i.classList.remove(_n),i.blur(),this._deactivate(N.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(bi);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),$.trigger(i,Up,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ba))}_keydown(i){if(![Qp,Va,Jp,Fa,yi,Ha].includes(i.key))return;i.stopPropagation(),i.preventDefault();const u=this._getChildren().filter(I=>!V(I));let v;if([yi,Ha].includes(i.key))v=u[i.key===yi?0:u.length-1];else{const I=[Va,Fa].includes(i.key);v=Q(u,i.target,I,!0)}v&&(v.focus({preventScroll:!0}),vn.getOrCreateInstance(v).show())}_getChildren(){return N.find(Ti,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,u){this._setAttributeIfNotExists(i,"role","tablist");for(const v of u)this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const u=this._elemIsActive(i),v=this._getOuterElement(i);i.setAttribute("aria-selected",u),v!==i&&this._setAttributeIfNotExists(v,"role","presentation"),u||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const u=N.getElementFromSelector(i);u&&(this._setAttributeIfNotExists(u,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(u,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,u){const v=this._getOuterElement(i);if(!v.classList.contains(Zp))return;const I=(Y,U)=>{const le=N.findOne(Y,v);le&&le.classList.toggle(U,u)};I(ja,_n),I(eg,bi),v.setAttribute("aria-expanded",u)}_setAttributeIfNotExists(i,u,v){i.hasAttribute(u)||i.setAttribute(u,v)}_elemIsActive(i){return i.classList.contains(_n)}_getInnerElement(i){return i.matches(Ti)?i:N.findOne(Ti,i)}_getOuterElement(i){return i.closest(ng)||i}static jQueryInterface(i){return this.each(function(){const u=vn.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(document,qp,Ka,function(m){["A","AREA"].includes(this.tagName)&&m.preventDefault(),!V(this)&&vn.getOrCreateInstance(this).show()}),$.on(window,Xp,()=>{for(const m of N.find(rg))vn.getOrCreateInstance(m)}),w(vn);const ig="toast",Wt=".bs.toast",og=`mouseover${Wt}`,ag=`mouseout${Wt}`,lg=`focusin${Wt}`,cg=`focusout${Wt}`,ug=`hide${Wt}`,fg=`hidden${Wt}`,dg=`show${Wt}`,hg=`shown${Wt}`,pg="fade",Wa="hide",cr="show",ur="showing",gg={animation:"boolean",autohide:"boolean",delay:"number"},mg={animation:!0,autohide:!0,delay:5e3};class As extends F{constructor(i,u){super(i,u),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return mg}static get DefaultType(){return gg}static get NAME(){return ig}show(){if($.trigger(this._element,dg).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(pg);const u=()=>{this._element.classList.remove(ur),$.trigger(this._element,hg),this._maybeScheduleHide()};this._element.classList.remove(Wa),b(this._element),this._element.classList.add(cr,ur),this._queueCallback(u,this._element,this._config.animation)}hide(){if(!this.isShown()||$.trigger(this._element,ug).defaultPrevented)return;const u=()=>{this._element.classList.add(Wa),this._element.classList.remove(ur,cr),$.trigger(this._element,fg)};this._element.classList.add(ur),this._queueCallback(u,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(cr),super.dispose()}isShown(){return this._element.classList.contains(cr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,u){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=u;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=u;break}}if(u){this._clearTimeout();return}const v=i.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){$.on(this._element,og,i=>this._onInteraction(i,!0)),$.on(this._element,ag,i=>this._onInteraction(i,!1)),$.on(this._element,lg,i=>this._onInteraction(i,!0)),$.on(this._element,cg,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const u=As.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}return W(As),w(As),{Alert:ue,Button:Me,Carousel:Mn,Collapse:Vn,Dropdown:pt,Modal:pn,Offcanvas:Lt,Popover:lr,ScrollSpy:bs,Tab:vn,Toast:As,Tooltip:gn}})})(yg);/** + */(function(e,t){(function(n,s){e.exports=s(gm)})(wg,function(n){function s(m){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const u in m)if(u!=="default"){const v=Object.getOwnPropertyDescriptor(m,u);Object.defineProperty(i,u,v.get?v:{enumerable:!0,get:()=>m[u]})}}return i.default=m,Object.freeze(i)}const r=s(n),o=new Map,a={set(m,i,u){o.has(m)||o.set(m,new Map);const v=o.get(m);if(!v.has(i)&&v.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(v.keys())[0]}.`);return}v.set(i,u)},get(m,i){return o.has(m)&&o.get(m).get(i)||null},remove(m,i){if(!o.has(m))return;const u=o.get(m);u.delete(i),u.size===0&&o.delete(m)}},l=1e6,c=1e3,d="transitionend",f=m=>(m&&window.CSS&&window.CSS.escape&&(m=m.replace(/#([^\s"#']+)/g,(i,u)=>`#${CSS.escape(u)}`)),m),h=m=>m==null?`${m}`:Object.prototype.toString.call(m).match(/\s([a-z]+)/i)[1].toLowerCase(),p=m=>{do m+=Math.floor(Math.random()*l);while(document.getElementById(m));return m},E=m=>{if(!m)return 0;let{transitionDuration:i,transitionDelay:u}=window.getComputedStyle(m);const v=Number.parseFloat(i),R=Number.parseFloat(u);return!v&&!R?0:(i=i.split(",")[0],u=u.split(",")[0],(Number.parseFloat(i)+Number.parseFloat(u))*c)},S=m=>{m.dispatchEvent(new Event(d))},C=m=>!m||typeof m!="object"?!1:(typeof m.jquery<"u"&&(m=m[0]),typeof m.nodeType<"u"),D=m=>C(m)?m.jquery?m[0]:m:typeof m=="string"&&m.length>0?document.querySelector(f(m)):null,P=m=>{if(!C(m)||m.getClientRects().length===0)return!1;const i=getComputedStyle(m).getPropertyValue("visibility")==="visible",u=m.closest("details:not([open])");if(!u)return i;if(u!==m){const v=m.closest("summary");if(v&&v.parentNode!==u||v===null)return!1}return i},V=m=>!m||m.nodeType!==Node.ELEMENT_NODE||m.classList.contains("disabled")?!0:typeof m.disabled<"u"?m.disabled:m.hasAttribute("disabled")&&m.getAttribute("disabled")!=="false",k=m=>{if(!document.documentElement.attachShadow)return null;if(typeof m.getRootNode=="function"){const i=m.getRootNode();return i instanceof ShadowRoot?i:null}return m instanceof ShadowRoot?m:m.parentNode?k(m.parentNode):null},M=()=>{},b=m=>{m.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,O=[],T=m=>{document.readyState==="loading"?(O.length||document.addEventListener("DOMContentLoaded",()=>{for(const i of O)i()}),O.push(m)):m()},A=()=>document.documentElement.dir==="rtl",w=m=>{T(()=>{const i=y();if(i){const u=m.NAME,v=i.fn[u];i.fn[u]=m.jQueryInterface,i.fn[u].Constructor=m,i.fn[u].noConflict=()=>(i.fn[u]=v,m.jQueryInterface)}})},j=(m,i=[],u=m)=>typeof m=="function"?m(...i):u,B=(m,i,u=!0)=>{if(!u){j(m);return}const R=E(i)+5;let Y=!1;const U=({target:le})=>{le===i&&(Y=!0,i.removeEventListener(d,U),j(m))};i.addEventListener(d,U),setTimeout(()=>{Y||S(i)},R)},Q=(m,i,u,v)=>{const R=m.length;let Y=m.indexOf(i);return Y===-1?!u&&v?m[R-1]:m[0]:(Y+=u?1:-1,v&&(Y=(Y+R)%R),m[Math.max(0,Math.min(Y,R-1))])},oe=/[^.]*(?=\..*)\.|.*/,he=/\..*/,te=/::\d+$/,Z={};let ce=1;const Ce={mouseenter:"mouseover",mouseleave:"mouseout"},He=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function De(m,i){return i&&`${i}::${ce++}`||m.uidEvent||ce++}function Ae(m){const i=De(m);return m.uidEvent=i,Z[i]=Z[i]||{},Z[i]}function et(m,i){return function u(v){return ge(v,{delegateTarget:m}),u.oneOff&&$.off(m,v.type,i),i.apply(m,[v])}}function Be(m,i,u){return function v(R){const Y=m.querySelectorAll(i);for(let{target:U}=R;U&&U!==this;U=U.parentNode)for(const le of Y)if(le===U)return ge(R,{delegateTarget:U}),v.oneOff&&$.off(m,R.type,i,u),u.apply(U,[R])}}function Pe(m,i,u=null){return Object.values(m).find(v=>v.callable===i&&v.delegationSelector===u)}function we(m,i,u){const v=typeof i=="string",R=v?u:i||u;let Y=J(m);return He.has(Y)||(Y=m),[v,R,Y]}function I(m,i,u,v,R){if(typeof i!="string"||!m)return;let[Y,U,le]=we(i,u,v);i in Ce&&(U=(Tg=>function(Bn){if(!Bn.relatedTarget||Bn.relatedTarget!==Bn.delegateTarget&&!Bn.delegateTarget.contains(Bn.relatedTarget))return Tg.call(this,Bn)})(U));const Xe=Ae(m),ot=Xe[le]||(Xe[le]={}),$e=Pe(ot,U,Y?u:null);if($e){$e.oneOff=$e.oneOff&&R;return}const At=De(U,i.replace(oe,"")),gt=Y?Be(m,u,U):et(m,U);gt.delegationSelector=Y?u:null,gt.callable=U,gt.oneOff=R,gt.uidEvent=At,ot[At]=gt,m.addEventListener(le,gt,Y)}function q(m,i,u,v,R){const Y=Pe(i[u],v,R);Y&&(m.removeEventListener(u,Y,!!R),delete i[u][Y.uidEvent])}function z(m,i,u,v){const R=i[u]||{};for(const[Y,U]of Object.entries(R))Y.includes(v)&&q(m,i,u,U.callable,U.delegationSelector)}function J(m){return m=m.replace(he,""),Ce[m]||m}const $={on(m,i,u,v){I(m,i,u,v,!1)},one(m,i,u,v){I(m,i,u,v,!0)},off(m,i,u,v){if(typeof i!="string"||!m)return;const[R,Y,U]=we(i,u,v),le=U!==i,Xe=Ae(m),ot=Xe[U]||{},$e=i.startsWith(".");if(typeof Y<"u"){if(!Object.keys(ot).length)return;q(m,Xe,U,Y,R?u:null);return}if($e)for(const At of Object.keys(Xe))z(m,Xe,At,i.slice(1));for(const[At,gt]of Object.entries(ot)){const fr=At.replace(te,"");(!le||i.includes(fr))&&q(m,Xe,U,gt.callable,gt.delegationSelector)}},trigger(m,i,u){if(typeof i!="string"||!m)return null;const v=y(),R=J(i),Y=i!==R;let U=null,le=!0,Xe=!0,ot=!1;Y&&v&&(U=v.Event(i,u),v(m).trigger(U),le=!U.isPropagationStopped(),Xe=!U.isImmediatePropagationStopped(),ot=U.isDefaultPrevented());const $e=ge(new Event(i,{bubbles:le,cancelable:!0}),u);return ot&&$e.preventDefault(),Xe&&m.dispatchEvent($e),$e.defaultPrevented&&U&&U.preventDefault(),$e}};function ge(m,i={}){for(const[u,v]of Object.entries(i))try{m[u]=v}catch{Object.defineProperty(m,u,{configurable:!0,get(){return v}})}return m}function g(m){if(m==="true")return!0;if(m==="false")return!1;if(m===Number(m).toString())return Number(m);if(m===""||m==="null")return null;if(typeof m!="string")return m;try{return JSON.parse(decodeURIComponent(m))}catch{return m}}function _(m){return m.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}const N={setDataAttribute(m,i,u){m.setAttribute(`data-bs-${_(i)}`,u)},removeDataAttribute(m,i){m.removeAttribute(`data-bs-${_(i)}`)},getDataAttributes(m){if(!m)return{};const i={},u=Object.keys(m.dataset).filter(v=>v.startsWith("bs")&&!v.startsWith("bsConfig"));for(const v of u){let R=v.replace(/^bs/,"");R=R.charAt(0).toLowerCase()+R.slice(1,R.length),i[R]=g(m.dataset[v])}return i},getDataAttribute(m,i){return g(m.getAttribute(`data-bs-${_(i)}`))}};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(i){return i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i}_mergeConfigObj(i,u){const v=C(u)?N.getDataAttribute(u,"config"):{};return{...this.constructor.Default,...typeof v=="object"?v:{},...C(u)?N.getDataAttributes(u):{},...typeof i=="object"?i:{}}}_typeCheckConfig(i,u=this.constructor.DefaultType){for(const[v,R]of Object.entries(u)){const Y=i[v],U=C(Y)?"element":h(Y);if(!new RegExp(R).test(U))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${v}" provided type "${U}" but expected type "${R}".`)}}}const L="5.3.3";class F extends H{constructor(i,u){super(),i=D(i),i&&(this._element=i,this._config=this._getConfig(u),a.set(this._element,this.constructor.DATA_KEY,this))}dispose(){a.remove(this._element,this.constructor.DATA_KEY),$.off(this._element,this.constructor.EVENT_KEY);for(const i of Object.getOwnPropertyNames(this))this[i]=null}_queueCallback(i,u,v=!0){B(i,u,v)}_getConfig(i){return i=this._mergeConfigObj(i,this._element),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}static getInstance(i){return a.get(D(i),this.DATA_KEY)}static getOrCreateInstance(i,u={}){return this.getInstance(i)||new this(i,typeof u=="object"?u:null)}static get VERSION(){return L}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(i){return`${i}${this.EVENT_KEY}`}}const G=m=>{let i=m.getAttribute("data-bs-target");if(!i||i==="#"){let u=m.getAttribute("href");if(!u||!u.includes("#")&&!u.startsWith("."))return null;u.includes("#")&&!u.startsWith("#")&&(u=`#${u.split("#")[1]}`),i=u&&u!=="#"?u.trim():null}return i?i.split(",").map(u=>f(u)).join(","):null},x={find(m,i=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(i,m))},findOne(m,i=document.documentElement){return Element.prototype.querySelector.call(i,m)},children(m,i){return[].concat(...m.children).filter(u=>u.matches(i))},parents(m,i){const u=[];let v=m.parentNode.closest(i);for(;v;)u.push(v),v=v.parentNode.closest(i);return u},prev(m,i){let u=m.previousElementSibling;for(;u;){if(u.matches(i))return[u];u=u.previousElementSibling}return[]},next(m,i){let u=m.nextElementSibling;for(;u;){if(u.matches(i))return[u];u=u.nextElementSibling}return[]},focusableChildren(m){const i=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(u=>`${u}:not([tabindex^="-"])`).join(",");return this.find(i,m).filter(u=>!V(u)&&P(u))},getSelectorFromElement(m){const i=G(m);return i&&x.findOne(i)?i:null},getElementFromSelector(m){const i=G(m);return i?x.findOne(i):null},getMultipleElementsFromSelector(m){const i=G(m);return i?x.find(i):[]}},W=(m,i="hide")=>{const u=`click.dismiss${m.EVENT_KEY}`,v=m.NAME;$.on(document,u,`[data-bs-dismiss="${v}"]`,function(R){if(["A","AREA"].includes(this.tagName)&&R.preventDefault(),V(this))return;const Y=x.getElementFromSelector(this)||this.closest(`.${v}`);m.getOrCreateInstance(Y)[i]()})},K="alert",X=".bs.alert",ee=`close${X}`,re=`closed${X}`,ae="fade",de="show";class ue extends F{static get NAME(){return K}close(){if($.trigger(this._element,ee).defaultPrevented)return;this._element.classList.remove(de);const u=this._element.classList.contains(ae);this._queueCallback(()=>this._destroyElement(),this._element,u)}_destroyElement(){this._element.remove(),$.trigger(this._element,re),this.dispose()}static jQueryInterface(i){return this.each(function(){const u=ue.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}W(ue,"close"),w(ue);const je="button",tt=".bs.button",Ke=".data-api",fn="active",_s='[data-bs-toggle="button"]',We=`click${tt}${Ke}`;class Me extends F{static get NAME(){return je}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(fn))}static jQueryInterface(i){return this.each(function(){const u=Me.getOrCreateInstance(this);i==="toggle"&&u[i]()})}}$.on(document,We,_s,m=>{m.preventDefault();const i=m.target.closest(_s);Me.getOrCreateInstance(i).toggle()}),w(Me);const Zs="swipe",In=".bs.swipe",qf=`touchstart${In}`,zf=`touchmove${In}`,Xf=`touchend${In}`,Qf=`pointerdown${In}`,Jf=`pointerup${In}`,Zf="touch",ed="pen",td="pointer-event",nd=40,sd={endCallback:null,leftCallback:null,rightCallback:null},rd={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class er extends H{constructor(i,u){super(),this._element=i,!(!i||!er.isSupported())&&(this._config=this._getConfig(u),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return sd}static get DefaultType(){return rd}static get NAME(){return Zs}dispose(){$.off(this._element,In)}_start(i){if(!this._supportPointerEvents){this._deltaX=i.touches[0].clientX;return}this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX)}_end(i){this._eventIsPointerPenTouch(i)&&(this._deltaX=i.clientX-this._deltaX),this._handleSwipe(),j(this._config.endCallback)}_move(i){this._deltaX=i.touches&&i.touches.length>1?0:i.touches[0].clientX-this._deltaX}_handleSwipe(){const i=Math.abs(this._deltaX);if(i<=nd)return;const u=i/this._deltaX;this._deltaX=0,u&&j(u>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?($.on(this._element,Qf,i=>this._start(i)),$.on(this._element,Jf,i=>this._end(i)),this._element.classList.add(td)):($.on(this._element,qf,i=>this._start(i)),$.on(this._element,zf,i=>this._move(i)),$.on(this._element,Xf,i=>this._end(i)))}_eventIsPointerPenTouch(i){return this._supportPointerEvents&&(i.pointerType===ed||i.pointerType===Zf)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const id="carousel",Kt=".bs.carousel",oa=".data-api",od="ArrowLeft",ad="ArrowRight",ld=500,vs="next",Rn="prev",Pn="left",tr="right",cd=`slide${Kt}`,ui=`slid${Kt}`,ud=`keydown${Kt}`,fd=`mouseenter${Kt}`,dd=`mouseleave${Kt}`,hd=`dragstart${Kt}`,pd=`load${Kt}${oa}`,gd=`click${Kt}${oa}`,aa="carousel",nr="active",md="slide",_d="carousel-item-end",vd="carousel-item-start",Ed="carousel-item-next",yd="carousel-item-prev",la=".active",ca=".carousel-item",bd=la+ca,Ad=".carousel-item img",Td=".carousel-indicators",wd="[data-bs-slide], [data-bs-slide-to]",Cd='[data-bs-ride="carousel"]',Sd={[od]:tr,[ad]:Pn},Od={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Nd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Mn extends F{constructor(i,u){super(i,u),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=x.findOne(Td,this._element),this._addEventListeners(),this._config.ride===aa&&this.cycle()}static get Default(){return Od}static get DefaultType(){return Nd}static get NAME(){return id}next(){this._slide(vs)}nextWhenVisible(){!document.hidden&&P(this._element)&&this.next()}prev(){this._slide(Rn)}pause(){this._isSliding&&S(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){$.one(this._element,ui,()=>this.cycle());return}this.cycle()}}to(i){const u=this._getItems();if(i>u.length-1||i<0)return;if(this._isSliding){$.one(this._element,ui,()=>this.to(i));return}const v=this._getItemIndex(this._getActive());if(v===i)return;const R=i>v?vs:Rn;this._slide(R,u[i])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(i){return i.defaultInterval=i.interval,i}_addEventListeners(){this._config.keyboard&&$.on(this._element,ud,i=>this._keydown(i)),this._config.pause==="hover"&&($.on(this._element,fd,()=>this.pause()),$.on(this._element,dd,()=>this._maybeEnableCycle())),this._config.touch&&er.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const v of x.find(Ad,this._element))$.on(v,hd,R=>R.preventDefault());const u={leftCallback:()=>this._slide(this._directionToOrder(Pn)),rightCallback:()=>this._slide(this._directionToOrder(tr)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),ld+this._config.interval))}};this._swipeHelper=new er(this._element,u)}_keydown(i){if(/input|textarea/i.test(i.target.tagName))return;const u=Sd[i.key];u&&(i.preventDefault(),this._slide(this._directionToOrder(u)))}_getItemIndex(i){return this._getItems().indexOf(i)}_setActiveIndicatorElement(i){if(!this._indicatorsElement)return;const u=x.findOne(la,this._indicatorsElement);u.classList.remove(nr),u.removeAttribute("aria-current");const v=x.findOne(`[data-bs-slide-to="${i}"]`,this._indicatorsElement);v&&(v.classList.add(nr),v.setAttribute("aria-current","true"))}_updateInterval(){const i=this._activeElement||this._getActive();if(!i)return;const u=Number.parseInt(i.getAttribute("data-bs-interval"),10);this._config.interval=u||this._config.defaultInterval}_slide(i,u=null){if(this._isSliding)return;const v=this._getActive(),R=i===vs,Y=u||Q(this._getItems(),v,R,this._config.wrap);if(Y===v)return;const U=this._getItemIndex(Y),le=fr=>$.trigger(this._element,fr,{relatedTarget:Y,direction:this._orderToDirection(i),from:this._getItemIndex(v),to:U});if(le(cd).defaultPrevented||!v||!Y)return;const ot=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(U),this._activeElement=Y;const $e=R?vd:_d,At=R?Ed:yd;Y.classList.add(At),b(Y),v.classList.add($e),Y.classList.add($e);const gt=()=>{Y.classList.remove($e,At),Y.classList.add(nr),v.classList.remove(nr,At,$e),this._isSliding=!1,le(ui)};this._queueCallback(gt,v,this._isAnimated()),ot&&this.cycle()}_isAnimated(){return this._element.classList.contains(md)}_getActive(){return x.findOne(bd,this._element)}_getItems(){return x.find(ca,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(i){return A()?i===Pn?Rn:vs:i===Pn?vs:Rn}_orderToDirection(i){return A()?i===Rn?Pn:tr:i===Rn?tr:Pn}static jQueryInterface(i){return this.each(function(){const u=Mn.getOrCreateInstance(this,i);if(typeof i=="number"){u.to(i);return}if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(document,gd,wd,function(m){const i=x.getElementFromSelector(this);if(!i||!i.classList.contains(aa))return;m.preventDefault();const u=Mn.getOrCreateInstance(i),v=this.getAttribute("data-bs-slide-to");if(v){u.to(v),u._maybeEnableCycle();return}if(N.getDataAttribute(this,"slide")==="next"){u.next(),u._maybeEnableCycle();return}u.prev(),u._maybeEnableCycle()}),$.on(window,pd,()=>{const m=x.find(Cd);for(const i of m)Mn.getOrCreateInstance(i)}),w(Mn);const xd="collapse",Es=".bs.collapse",$d=".data-api",Dd=`show${Es}`,Ld=`shown${Es}`,Id=`hide${Es}`,Rd=`hidden${Es}`,Pd=`click${Es}${$d}`,fi="show",kn="collapse",sr="collapsing",Md="collapsed",kd=`:scope .${kn} .${kn}`,Vd="collapse-horizontal",Fd="width",Hd="height",Bd=".collapse.show, .collapse.collapsing",di='[data-bs-toggle="collapse"]',jd={parent:null,toggle:!0},Kd={parent:"(null|element)",toggle:"boolean"};class Vn extends F{constructor(i,u){super(i,u),this._isTransitioning=!1,this._triggerArray=[];const v=x.find(di);for(const R of v){const Y=x.getSelectorFromElement(R),U=x.find(Y).filter(le=>le===this._element);Y!==null&&U.length&&this._triggerArray.push(R)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return jd}static get DefaultType(){return Kd}static get NAME(){return xd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let i=[];if(this._config.parent&&(i=this._getFirstLevelChildren(Bd).filter(le=>le!==this._element).map(le=>Vn.getOrCreateInstance(le,{toggle:!1}))),i.length&&i[0]._isTransitioning||$.trigger(this._element,Dd).defaultPrevented)return;for(const le of i)le.hide();const v=this._getDimension();this._element.classList.remove(kn),this._element.classList.add(sr),this._element.style[v]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const R=()=>{this._isTransitioning=!1,this._element.classList.remove(sr),this._element.classList.add(kn,fi),this._element.style[v]="",$.trigger(this._element,Ld)},U=`scroll${v[0].toUpperCase()+v.slice(1)}`;this._queueCallback(R,this._element,!0),this._element.style[v]=`${this._element[U]}px`}hide(){if(this._isTransitioning||!this._isShown()||$.trigger(this._element,Id).defaultPrevented)return;const u=this._getDimension();this._element.style[u]=`${this._element.getBoundingClientRect()[u]}px`,b(this._element),this._element.classList.add(sr),this._element.classList.remove(kn,fi);for(const R of this._triggerArray){const Y=x.getElementFromSelector(R);Y&&!this._isShown(Y)&&this._addAriaAndCollapsedClass([R],!1)}this._isTransitioning=!0;const v=()=>{this._isTransitioning=!1,this._element.classList.remove(sr),this._element.classList.add(kn),$.trigger(this._element,Rd)};this._element.style[u]="",this._queueCallback(v,this._element,!0)}_isShown(i=this._element){return i.classList.contains(fi)}_configAfterMerge(i){return i.toggle=!!i.toggle,i.parent=D(i.parent),i}_getDimension(){return this._element.classList.contains(Vd)?Fd:Hd}_initializeChildren(){if(!this._config.parent)return;const i=this._getFirstLevelChildren(di);for(const u of i){const v=x.getElementFromSelector(u);v&&this._addAriaAndCollapsedClass([u],this._isShown(v))}}_getFirstLevelChildren(i){const u=x.find(kd,this._config.parent);return x.find(i,this._config.parent).filter(v=>!u.includes(v))}_addAriaAndCollapsedClass(i,u){if(i.length)for(const v of i)v.classList.toggle(Md,!u),v.setAttribute("aria-expanded",u)}static jQueryInterface(i){const u={};return typeof i=="string"&&/show|hide/.test(i)&&(u.toggle=!1),this.each(function(){const v=Vn.getOrCreateInstance(this,u);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i]()}})}}$.on(document,Pd,di,function(m){(m.target.tagName==="A"||m.delegateTarget&&m.delegateTarget.tagName==="A")&&m.preventDefault();for(const i of x.getMultipleElementsFromSelector(this))Vn.getOrCreateInstance(i,{toggle:!1}).toggle()}),w(Vn);const ua="dropdown",dn=".bs.dropdown",hi=".data-api",Wd="Escape",fa="Tab",Ud="ArrowUp",da="ArrowDown",Yd=2,Gd=`hide${dn}`,qd=`hidden${dn}`,zd=`show${dn}`,Xd=`shown${dn}`,ha=`click${dn}${hi}`,pa=`keydown${dn}${hi}`,Qd=`keyup${dn}${hi}`,Fn="show",Jd="dropup",Zd="dropend",eh="dropstart",th="dropup-center",nh="dropdown-center",hn='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',sh=`${hn}.${Fn}`,rr=".dropdown-menu",rh=".navbar",ih=".navbar-nav",oh=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",ah=A()?"top-end":"top-start",lh=A()?"top-start":"top-end",ch=A()?"bottom-end":"bottom-start",uh=A()?"bottom-start":"bottom-end",fh=A()?"left-start":"right-start",dh=A()?"right-start":"left-start",hh="top",ph="bottom",gh={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},mh={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class pt extends F{constructor(i,u){super(i,u),this._popper=null,this._parent=this._element.parentNode,this._menu=x.next(this._element,rr)[0]||x.prev(this._element,rr)[0]||x.findOne(rr,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return gh}static get DefaultType(){return mh}static get NAME(){return ua}toggle(){return this._isShown()?this.hide():this.show()}show(){if(V(this._element)||this._isShown())return;const i={relatedTarget:this._element};if(!$.trigger(this._element,zd,i).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(ih))for(const v of[].concat(...document.body.children))$.on(v,"mouseover",M);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Fn),this._element.classList.add(Fn),$.trigger(this._element,Xd,i)}}hide(){if(V(this._element)||!this._isShown())return;const i={relatedTarget:this._element};this._completeHide(i)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(i){if(!$.trigger(this._element,Gd,i).defaultPrevented){if("ontouchstart"in document.documentElement)for(const v of[].concat(...document.body.children))$.off(v,"mouseover",M);this._popper&&this._popper.destroy(),this._menu.classList.remove(Fn),this._element.classList.remove(Fn),this._element.setAttribute("aria-expanded","false"),N.removeDataAttribute(this._menu,"popper"),$.trigger(this._element,qd,i)}}_getConfig(i){if(i=super._getConfig(i),typeof i.reference=="object"&&!C(i.reference)&&typeof i.reference.getBoundingClientRect!="function")throw new TypeError(`${ua.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return i}_createPopper(){if(typeof r>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let i=this._element;this._config.reference==="parent"?i=this._parent:C(this._config.reference)?i=D(this._config.reference):typeof this._config.reference=="object"&&(i=this._config.reference);const u=this._getPopperConfig();this._popper=r.createPopper(i,this._menu,u)}_isShown(){return this._menu.classList.contains(Fn)}_getPlacement(){const i=this._parent;if(i.classList.contains(Zd))return fh;if(i.classList.contains(eh))return dh;if(i.classList.contains(th))return hh;if(i.classList.contains(nh))return ph;const u=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return i.classList.contains(Jd)?u?lh:ah:u?uh:ch}_detectNavbar(){return this._element.closest(rh)!==null}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_getPopperConfig(){const i={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(N.setDataAttribute(this._menu,"popper","static"),i.modifiers=[{name:"applyStyles",enabled:!1}]),{...i,...j(this._config.popperConfig,[i])}}_selectMenuItem({key:i,target:u}){const v=x.find(oh,this._menu).filter(R=>P(R));v.length&&Q(v,u,i===da,!v.includes(u)).focus()}static jQueryInterface(i){return this.each(function(){const u=pt.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}static clearMenus(i){if(i.button===Yd||i.type==="keyup"&&i.key!==fa)return;const u=x.find(sh);for(const v of u){const R=pt.getInstance(v);if(!R||R._config.autoClose===!1)continue;const Y=i.composedPath(),U=Y.includes(R._menu);if(Y.includes(R._element)||R._config.autoClose==="inside"&&!U||R._config.autoClose==="outside"&&U||R._menu.contains(i.target)&&(i.type==="keyup"&&i.key===fa||/input|select|option|textarea|form/i.test(i.target.tagName)))continue;const le={relatedTarget:R._element};i.type==="click"&&(le.clickEvent=i),R._completeHide(le)}}static dataApiKeydownHandler(i){const u=/input|textarea/i.test(i.target.tagName),v=i.key===Wd,R=[Ud,da].includes(i.key);if(!R&&!v||u&&!v)return;i.preventDefault();const Y=this.matches(hn)?this:x.prev(this,hn)[0]||x.next(this,hn)[0]||x.findOne(hn,i.delegateTarget.parentNode),U=pt.getOrCreateInstance(Y);if(R){i.stopPropagation(),U.show(),U._selectMenuItem(i);return}U._isShown()&&(i.stopPropagation(),U.hide(),Y.focus())}}$.on(document,pa,hn,pt.dataApiKeydownHandler),$.on(document,pa,rr,pt.dataApiKeydownHandler),$.on(document,ha,pt.clearMenus),$.on(document,Qd,pt.clearMenus),$.on(document,ha,hn,function(m){m.preventDefault(),pt.getOrCreateInstance(this).toggle()}),w(pt);const ga="backdrop",_h="fade",ma="show",_a=`mousedown.bs.${ga}`,vh={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Eh={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class va extends H{constructor(i){super(),this._config=this._getConfig(i),this._isAppended=!1,this._element=null}static get Default(){return vh}static get DefaultType(){return Eh}static get NAME(){return ga}show(i){if(!this._config.isVisible){j(i);return}this._append();const u=this._getElement();this._config.isAnimated&&b(u),u.classList.add(ma),this._emulateAnimation(()=>{j(i)})}hide(i){if(!this._config.isVisible){j(i);return}this._getElement().classList.remove(ma),this._emulateAnimation(()=>{this.dispose(),j(i)})}dispose(){this._isAppended&&($.off(this._element,_a),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const i=document.createElement("div");i.className=this._config.className,this._config.isAnimated&&i.classList.add(_h),this._element=i}return this._element}_configAfterMerge(i){return i.rootElement=D(i.rootElement),i}_append(){if(this._isAppended)return;const i=this._getElement();this._config.rootElement.append(i),$.on(i,_a,()=>{j(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(i){B(i,this._getElement(),this._config.isAnimated)}}const yh="focustrap",ir=".bs.focustrap",bh=`focusin${ir}`,Ah=`keydown.tab${ir}`,Th="Tab",wh="forward",Ea="backward",Ch={autofocus:!0,trapElement:null},Sh={autofocus:"boolean",trapElement:"element"};class ya extends H{constructor(i){super(),this._config=this._getConfig(i),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ch}static get DefaultType(){return Sh}static get NAME(){return yh}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),$.off(document,ir),$.on(document,bh,i=>this._handleFocusin(i)),$.on(document,Ah,i=>this._handleKeydown(i)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,$.off(document,ir))}_handleFocusin(i){const{trapElement:u}=this._config;if(i.target===document||i.target===u||u.contains(i.target))return;const v=x.focusableChildren(u);v.length===0?u.focus():this._lastTabNavDirection===Ea?v[v.length-1].focus():v[0].focus()}_handleKeydown(i){i.key===Th&&(this._lastTabNavDirection=i.shiftKey?Ea:wh)}}const ba=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Aa=".sticky-top",or="padding-right",Ta="margin-right";class pi{constructor(){this._element=document.body}getWidth(){const i=document.documentElement.clientWidth;return Math.abs(window.innerWidth-i)}hide(){const i=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,or,u=>u+i),this._setElementAttributes(ba,or,u=>u+i),this._setElementAttributes(Aa,Ta,u=>u-i)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,or),this._resetElementAttributes(ba,or),this._resetElementAttributes(Aa,Ta)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(i,u,v){const R=this.getWidth(),Y=U=>{if(U!==this._element&&window.innerWidth>U.clientWidth+R)return;this._saveInitialAttribute(U,u);const le=window.getComputedStyle(U).getPropertyValue(u);U.style.setProperty(u,`${v(Number.parseFloat(le))}px`)};this._applyManipulationCallback(i,Y)}_saveInitialAttribute(i,u){const v=i.style.getPropertyValue(u);v&&N.setDataAttribute(i,u,v)}_resetElementAttributes(i,u){const v=R=>{const Y=N.getDataAttribute(R,u);if(Y===null){R.style.removeProperty(u);return}N.removeDataAttribute(R,u),R.style.setProperty(u,Y)};this._applyManipulationCallback(i,v)}_applyManipulationCallback(i,u){if(C(i)){u(i);return}for(const v of x.find(i,this._element))u(v)}}const Oh="modal",it=".bs.modal",Nh=".data-api",xh="Escape",$h=`hide${it}`,Dh=`hidePrevented${it}`,wa=`hidden${it}`,Ca=`show${it}`,Lh=`shown${it}`,Ih=`resize${it}`,Rh=`click.dismiss${it}`,Ph=`mousedown.dismiss${it}`,Mh=`keydown.dismiss${it}`,kh=`click${it}${Nh}`,Sa="modal-open",Vh="fade",Oa="show",gi="modal-static",Fh=".modal.show",Hh=".modal-dialog",Bh=".modal-body",jh='[data-bs-toggle="modal"]',Kh={backdrop:!0,focus:!0,keyboard:!0},Wh={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class pn extends F{constructor(i,u){super(i,u),this._dialog=x.findOne(Hh,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new pi,this._addEventListeners()}static get Default(){return Kh}static get DefaultType(){return Wh}static get NAME(){return Oh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){this._isShown||this._isTransitioning||$.trigger(this._element,Ca,{relatedTarget:i}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Sa),this._adjustDialog(),this._backdrop.show(()=>this._showElement(i)))}hide(){!this._isShown||this._isTransitioning||$.trigger(this._element,$h).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Oa),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){$.off(window,it),$.off(this._dialog,it),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new va({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new ya({trapElement:this._element})}_showElement(i){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const u=x.findOne(Bh,this._dialog);u&&(u.scrollTop=0),b(this._element),this._element.classList.add(Oa);const v=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,$.trigger(this._element,Lh,{relatedTarget:i})};this._queueCallback(v,this._dialog,this._isAnimated())}_addEventListeners(){$.on(this._element,Mh,i=>{if(i.key===xh){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),$.on(window,Ih,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),$.on(this._element,Ph,i=>{$.one(this._element,Rh,u=>{if(!(this._element!==i.target||this._element!==u.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Sa),this._resetAdjustments(),this._scrollBar.reset(),$.trigger(this._element,wa)})}_isAnimated(){return this._element.classList.contains(Vh)}_triggerBackdropTransition(){if($.trigger(this._element,Dh).defaultPrevented)return;const u=this._element.scrollHeight>document.documentElement.clientHeight,v=this._element.style.overflowY;v==="hidden"||this._element.classList.contains(gi)||(u||(this._element.style.overflowY="hidden"),this._element.classList.add(gi),this._queueCallback(()=>{this._element.classList.remove(gi),this._queueCallback(()=>{this._element.style.overflowY=v},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const i=this._element.scrollHeight>document.documentElement.clientHeight,u=this._scrollBar.getWidth(),v=u>0;if(v&&!i){const R=A()?"paddingLeft":"paddingRight";this._element.style[R]=`${u}px`}if(!v&&i){const R=A()?"paddingRight":"paddingLeft";this._element.style[R]=`${u}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(i,u){return this.each(function(){const v=pn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof v[i]>"u")throw new TypeError(`No method named "${i}"`);v[i](u)}})}}$.on(document,kh,jh,function(m){const i=x.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&m.preventDefault(),$.one(i,Ca,R=>{R.defaultPrevented||$.one(i,wa,()=>{P(this)&&this.focus()})});const u=x.findOne(Fh);u&&pn.getInstance(u).hide(),pn.getOrCreateInstance(i).toggle(this)}),W(pn),w(pn);const Uh="offcanvas",Dt=".bs.offcanvas",Na=".data-api",Yh=`load${Dt}${Na}`,Gh="Escape",xa="show",$a="showing",Da="hiding",qh="offcanvas-backdrop",La=".offcanvas.show",zh=`show${Dt}`,Xh=`shown${Dt}`,Qh=`hide${Dt}`,Ia=`hidePrevented${Dt}`,Ra=`hidden${Dt}`,Jh=`resize${Dt}`,Zh=`click${Dt}${Na}`,ep=`keydown.dismiss${Dt}`,tp='[data-bs-toggle="offcanvas"]',np={backdrop:!0,keyboard:!0,scroll:!1},sp={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Lt extends F{constructor(i,u){super(i,u),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return np}static get DefaultType(){return sp}static get NAME(){return Uh}toggle(i){return this._isShown?this.hide():this.show(i)}show(i){if(this._isShown||$.trigger(this._element,zh,{relatedTarget:i}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new pi().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($a);const v=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(xa),this._element.classList.remove($a),$.trigger(this._element,Xh,{relatedTarget:i})};this._queueCallback(v,this._element,!0)}hide(){if(!this._isShown||$.trigger(this._element,Qh).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Da),this._backdrop.hide();const u=()=>{this._element.classList.remove(xa,Da),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new pi().reset(),$.trigger(this._element,Ra)};this._queueCallback(u,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const i=()=>{if(this._config.backdrop==="static"){$.trigger(this._element,Ia);return}this.hide()},u=!!this._config.backdrop;return new va({className:qh,isVisible:u,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:u?i:null})}_initializeFocusTrap(){return new ya({trapElement:this._element})}_addEventListeners(){$.on(this._element,ep,i=>{if(i.key===Gh){if(this._config.keyboard){this.hide();return}$.trigger(this._element,Ia)}})}static jQueryInterface(i){return this.each(function(){const u=Lt.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}$.on(document,Zh,tp,function(m){const i=x.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&m.preventDefault(),V(this))return;$.one(i,Ra,()=>{P(this)&&this.focus()});const u=x.findOne(La);u&&u!==i&&Lt.getInstance(u).hide(),Lt.getOrCreateInstance(i).toggle(this)}),$.on(window,Yh,()=>{for(const m of x.find(La))Lt.getOrCreateInstance(m).show()}),$.on(window,Jh,()=>{for(const m of x.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(m).position!=="fixed"&&Lt.getOrCreateInstance(m).hide()}),W(Lt),w(Lt);const Pa={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},rp=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ip=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,op=(m,i)=>{const u=m.nodeName.toLowerCase();return i.includes(u)?rp.has(u)?!!ip.test(m.nodeValue):!0:i.filter(v=>v instanceof RegExp).some(v=>v.test(u))};function ap(m,i,u){if(!m.length)return m;if(u&&typeof u=="function")return u(m);const R=new window.DOMParser().parseFromString(m,"text/html"),Y=[].concat(...R.body.querySelectorAll("*"));for(const U of Y){const le=U.nodeName.toLowerCase();if(!Object.keys(i).includes(le)){U.remove();continue}const Xe=[].concat(...U.attributes),ot=[].concat(i["*"]||[],i[le]||[]);for(const $e of Xe)op($e,ot)||U.removeAttribute($e.nodeName)}return R.body.innerHTML}const lp="TemplateFactory",cp={allowList:Pa,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},up={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},fp={entry:"(string|element|function|null)",selector:"(string|element)"};class dp extends H{constructor(i){super(),this._config=this._getConfig(i)}static get Default(){return cp}static get DefaultType(){return up}static get NAME(){return lp}getContent(){return Object.values(this._config.content).map(i=>this._resolvePossibleFunction(i)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(i){return this._checkContent(i),this._config.content={...this._config.content,...i},this}toHtml(){const i=document.createElement("div");i.innerHTML=this._maybeSanitize(this._config.template);for(const[R,Y]of Object.entries(this._config.content))this._setContent(i,Y,R);const u=i.children[0],v=this._resolvePossibleFunction(this._config.extraClass);return v&&u.classList.add(...v.split(" ")),u}_typeCheckConfig(i){super._typeCheckConfig(i),this._checkContent(i.content)}_checkContent(i){for(const[u,v]of Object.entries(i))super._typeCheckConfig({selector:u,entry:v},fp)}_setContent(i,u,v){const R=x.findOne(v,i);if(R){if(u=this._resolvePossibleFunction(u),!u){R.remove();return}if(C(u)){this._putElementInTemplate(D(u),R);return}if(this._config.html){R.innerHTML=this._maybeSanitize(u);return}R.textContent=u}}_maybeSanitize(i){return this._config.sanitize?ap(i,this._config.allowList,this._config.sanitizeFn):i}_resolvePossibleFunction(i){return j(i,[this])}_putElementInTemplate(i,u){if(this._config.html){u.innerHTML="",u.append(i);return}u.textContent=i.textContent}}const hp="tooltip",pp=new Set(["sanitize","allowList","sanitizeFn"]),mi="fade",gp="modal",ar="show",mp=".tooltip-inner",Ma=`.${gp}`,ka="hide.bs.modal",ys="hover",_i="focus",_p="click",vp="manual",Ep="hide",yp="hidden",bp="show",Ap="shown",Tp="inserted",wp="click",Cp="focusin",Sp="focusout",Op="mouseenter",Np="mouseleave",xp={AUTO:"auto",TOP:"top",RIGHT:A()?"left":"right",BOTTOM:"bottom",LEFT:A()?"right":"left"},$p={allowList:Pa,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Dp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class gn extends F{constructor(i,u){if(typeof r>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(i,u),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return $p}static get DefaultType(){return Dp}static get NAME(){return hp}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),$.off(this._element.closest(Ma),ka,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const i=$.trigger(this._element,this.constructor.eventName(bp)),v=(k(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(i.defaultPrevented||!v)return;this._disposePopper();const R=this._getTipElement();this._element.setAttribute("aria-describedby",R.getAttribute("id"));const{container:Y}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(Y.append(R),$.trigger(this._element,this.constructor.eventName(Tp))),this._popper=this._createPopper(R),R.classList.add(ar),"ontouchstart"in document.documentElement)for(const le of[].concat(...document.body.children))$.on(le,"mouseover",M);const U=()=>{$.trigger(this._element,this.constructor.eventName(Ap)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(U,this.tip,this._isAnimated())}hide(){if(!this._isShown()||$.trigger(this._element,this.constructor.eventName(Ep)).defaultPrevented)return;if(this._getTipElement().classList.remove(ar),"ontouchstart"in document.documentElement)for(const R of[].concat(...document.body.children))$.off(R,"mouseover",M);this._activeTrigger[_p]=!1,this._activeTrigger[_i]=!1,this._activeTrigger[ys]=!1,this._isHovered=null;const v=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),$.trigger(this._element,this.constructor.eventName(yp)))};this._queueCallback(v,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(i){const u=this._getTemplateFactory(i).toHtml();if(!u)return null;u.classList.remove(mi,ar),u.classList.add(`bs-${this.constructor.NAME}-auto`);const v=p(this.constructor.NAME).toString();return u.setAttribute("id",v),this._isAnimated()&&u.classList.add(mi),u}setContent(i){this._newContent=i,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(i){return this._templateFactory?this._templateFactory.changeContent(i):this._templateFactory=new dp({...this._config,content:i,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[mp]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(i){return this.constructor.getOrCreateInstance(i.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(mi)}_isShown(){return this.tip&&this.tip.classList.contains(ar)}_createPopper(i){const u=j(this._config.placement,[this,i,this._element]),v=xp[u.toUpperCase()];return r.createPopper(this._element,i,this._getPopperConfig(v))}_getOffset(){const{offset:i}=this._config;return typeof i=="string"?i.split(",").map(u=>Number.parseInt(u,10)):typeof i=="function"?u=>i(u,this._element):i}_resolvePossibleFunction(i){return j(i,[this._element])}_getPopperConfig(i){const u={placement:i,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:v=>{this._getTipElement().setAttribute("data-popper-placement",v.state.placement)}}]};return{...u,...j(this._config.popperConfig,[u])}}_setListeners(){const i=this._config.trigger.split(" ");for(const u of i)if(u==="click")$.on(this._element,this.constructor.eventName(wp),this._config.selector,v=>{this._initializeOnDelegatedTarget(v).toggle()});else if(u!==vp){const v=u===ys?this.constructor.eventName(Op):this.constructor.eventName(Cp),R=u===ys?this.constructor.eventName(Np):this.constructor.eventName(Sp);$.on(this._element,v,this._config.selector,Y=>{const U=this._initializeOnDelegatedTarget(Y);U._activeTrigger[Y.type==="focusin"?_i:ys]=!0,U._enter()}),$.on(this._element,R,this._config.selector,Y=>{const U=this._initializeOnDelegatedTarget(Y);U._activeTrigger[Y.type==="focusout"?_i:ys]=U._element.contains(Y.relatedTarget),U._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},$.on(this._element.closest(Ma),ka,this._hideModalHandler)}_fixTitle(){const i=this._element.getAttribute("title");i&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",i),this._element.setAttribute("data-bs-original-title",i),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(i,u){clearTimeout(this._timeout),this._timeout=setTimeout(i,u)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(i){const u=N.getDataAttributes(this._element);for(const v of Object.keys(u))pp.has(v)&&delete u[v];return i={...u,...typeof i=="object"&&i?i:{}},i=this._mergeConfigObj(i),i=this._configAfterMerge(i),this._typeCheckConfig(i),i}_configAfterMerge(i){return i.container=i.container===!1?document.body:D(i.container),typeof i.delay=="number"&&(i.delay={show:i.delay,hide:i.delay}),typeof i.title=="number"&&(i.title=i.title.toString()),typeof i.content=="number"&&(i.content=i.content.toString()),i}_getDelegateConfig(){const i={};for(const[u,v]of Object.entries(this._config))this.constructor.Default[u]!==v&&(i[u]=v);return i.selector=!1,i.trigger="manual",i}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(i){return this.each(function(){const u=gn.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}w(gn);const Lp="popover",Ip=".popover-header",Rp=".popover-body",Pp={...gn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Mp={...gn.DefaultType,content:"(null|string|element|function)"};class lr extends gn{static get Default(){return Pp}static get DefaultType(){return Mp}static get NAME(){return Lp}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ip]:this._getTitle(),[Rp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(i){return this.each(function(){const u=lr.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i]()}})}}w(lr);const kp="scrollspy",vi=".bs.scrollspy",Vp=".data-api",Fp=`activate${vi}`,Va=`click${vi}`,Hp=`load${vi}${Vp}`,Bp="dropdown-item",Hn="active",jp='[data-bs-spy="scroll"]',Ei="[href]",Kp=".nav, .list-group",Fa=".nav-link",Wp=`${Fa}, .nav-item > ${Fa}, .list-group-item`,Up=".dropdown",Yp=".dropdown-toggle",Gp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},qp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bs extends F{constructor(i,u){super(i,u),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Gp}static get DefaultType(){return qp}static get NAME(){return kp}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const i of this._observableSections.values())this._observer.observe(i)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(i){return i.target=D(i.target)||document.body,i.rootMargin=i.offset?`${i.offset}px 0px -30%`:i.rootMargin,typeof i.threshold=="string"&&(i.threshold=i.threshold.split(",").map(u=>Number.parseFloat(u))),i}_maybeEnableSmoothScroll(){this._config.smoothScroll&&($.off(this._config.target,Va),$.on(this._config.target,Va,Ei,i=>{const u=this._observableSections.get(i.target.hash);if(u){i.preventDefault();const v=this._rootElement||window,R=u.offsetTop-this._element.offsetTop;if(v.scrollTo){v.scrollTo({top:R,behavior:"smooth"});return}v.scrollTop=R}}))}_getNewObserver(){const i={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(u=>this._observerCallback(u),i)}_observerCallback(i){const u=U=>this._targetLinks.get(`#${U.target.id}`),v=U=>{this._previousScrollData.visibleEntryTop=U.target.offsetTop,this._process(u(U))},R=(this._rootElement||document.documentElement).scrollTop,Y=R>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=R;for(const U of i){if(!U.isIntersecting){this._activeTarget=null,this._clearActiveClass(u(U));continue}const le=U.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(Y&&le){if(v(U),!R)return;continue}!Y&&!le&&v(U)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const i=x.find(Ei,this._config.target);for(const u of i){if(!u.hash||V(u))continue;const v=x.findOne(decodeURI(u.hash),this._element);P(v)&&(this._targetLinks.set(decodeURI(u.hash),u),this._observableSections.set(u.hash,v))}}_process(i){this._activeTarget!==i&&(this._clearActiveClass(this._config.target),this._activeTarget=i,i.classList.add(Hn),this._activateParents(i),$.trigger(this._element,Fp,{relatedTarget:i}))}_activateParents(i){if(i.classList.contains(Bp)){x.findOne(Yp,i.closest(Up)).classList.add(Hn);return}for(const u of x.parents(i,Kp))for(const v of x.prev(u,Wp))v.classList.add(Hn)}_clearActiveClass(i){i.classList.remove(Hn);const u=x.find(`${Ei}.${Hn}`,i);for(const v of u)v.classList.remove(Hn)}static jQueryInterface(i){return this.each(function(){const u=bs.getOrCreateInstance(this,i);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(window,Hp,()=>{for(const m of x.find(jp))bs.getOrCreateInstance(m)}),w(bs);const zp="tab",mn=".bs.tab",Xp=`hide${mn}`,Qp=`hidden${mn}`,Jp=`show${mn}`,Zp=`shown${mn}`,eg=`click${mn}`,tg=`keydown${mn}`,ng=`load${mn}`,sg="ArrowLeft",Ha="ArrowRight",rg="ArrowUp",Ba="ArrowDown",yi="Home",ja="End",_n="active",Ka="fade",bi="show",ig="dropdown",Wa=".dropdown-toggle",og=".dropdown-menu",Ai=`:not(${Wa})`,ag='.list-group, .nav, [role="tablist"]',lg=".nav-item, .list-group-item",cg=`.nav-link${Ai}, .list-group-item${Ai}, [role="tab"]${Ai}`,Ua='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ti=`${cg}, ${Ua}`,ug=`.${_n}[data-bs-toggle="tab"], .${_n}[data-bs-toggle="pill"], .${_n}[data-bs-toggle="list"]`;class vn extends F{constructor(i){super(i),this._parent=this._element.closest(ag),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),$.on(this._element,tg,u=>this._keydown(u)))}static get NAME(){return zp}show(){const i=this._element;if(this._elemIsActive(i))return;const u=this._getActiveElem(),v=u?$.trigger(u,Xp,{relatedTarget:i}):null;$.trigger(i,Jp,{relatedTarget:u}).defaultPrevented||v&&v.defaultPrevented||(this._deactivate(u,i),this._activate(i,u))}_activate(i,u){if(!i)return;i.classList.add(_n),this._activate(x.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.add(bi);return}i.removeAttribute("tabindex"),i.setAttribute("aria-selected",!0),this._toggleDropDown(i,!0),$.trigger(i,Zp,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ka))}_deactivate(i,u){if(!i)return;i.classList.remove(_n),i.blur(),this._deactivate(x.getElementFromSelector(i));const v=()=>{if(i.getAttribute("role")!=="tab"){i.classList.remove(bi);return}i.setAttribute("aria-selected",!1),i.setAttribute("tabindex","-1"),this._toggleDropDown(i,!1),$.trigger(i,Qp,{relatedTarget:u})};this._queueCallback(v,i,i.classList.contains(Ka))}_keydown(i){if(![sg,Ha,rg,Ba,yi,ja].includes(i.key))return;i.stopPropagation(),i.preventDefault();const u=this._getChildren().filter(R=>!V(R));let v;if([yi,ja].includes(i.key))v=u[i.key===yi?0:u.length-1];else{const R=[Ha,Ba].includes(i.key);v=Q(u,i.target,R,!0)}v&&(v.focus({preventScroll:!0}),vn.getOrCreateInstance(v).show())}_getChildren(){return x.find(Ti,this._parent)}_getActiveElem(){return this._getChildren().find(i=>this._elemIsActive(i))||null}_setInitialAttributes(i,u){this._setAttributeIfNotExists(i,"role","tablist");for(const v of u)this._setInitialAttributesOnChild(v)}_setInitialAttributesOnChild(i){i=this._getInnerElement(i);const u=this._elemIsActive(i),v=this._getOuterElement(i);i.setAttribute("aria-selected",u),v!==i&&this._setAttributeIfNotExists(v,"role","presentation"),u||i.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(i,"role","tab"),this._setInitialAttributesOnTargetPanel(i)}_setInitialAttributesOnTargetPanel(i){const u=x.getElementFromSelector(i);u&&(this._setAttributeIfNotExists(u,"role","tabpanel"),i.id&&this._setAttributeIfNotExists(u,"aria-labelledby",`${i.id}`))}_toggleDropDown(i,u){const v=this._getOuterElement(i);if(!v.classList.contains(ig))return;const R=(Y,U)=>{const le=x.findOne(Y,v);le&&le.classList.toggle(U,u)};R(Wa,_n),R(og,bi),v.setAttribute("aria-expanded",u)}_setAttributeIfNotExists(i,u,v){i.hasAttribute(u)||i.setAttribute(u,v)}_elemIsActive(i){return i.classList.contains(_n)}_getInnerElement(i){return i.matches(Ti)?i:x.findOne(Ti,i)}_getOuterElement(i){return i.closest(lg)||i}static jQueryInterface(i){return this.each(function(){const u=vn.getOrCreateInstance(this);if(typeof i=="string"){if(u[i]===void 0||i.startsWith("_")||i==="constructor")throw new TypeError(`No method named "${i}"`);u[i]()}})}}$.on(document,eg,Ua,function(m){["A","AREA"].includes(this.tagName)&&m.preventDefault(),!V(this)&&vn.getOrCreateInstance(this).show()}),$.on(window,ng,()=>{for(const m of x.find(ug))vn.getOrCreateInstance(m)}),w(vn);const fg="toast",Wt=".bs.toast",dg=`mouseover${Wt}`,hg=`mouseout${Wt}`,pg=`focusin${Wt}`,gg=`focusout${Wt}`,mg=`hide${Wt}`,_g=`hidden${Wt}`,vg=`show${Wt}`,Eg=`shown${Wt}`,yg="fade",Ya="hide",cr="show",ur="showing",bg={animation:"boolean",autohide:"boolean",delay:"number"},Ag={animation:!0,autohide:!0,delay:5e3};class As extends F{constructor(i,u){super(i,u),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ag}static get DefaultType(){return bg}static get NAME(){return fg}show(){if($.trigger(this._element,vg).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(yg);const u=()=>{this._element.classList.remove(ur),$.trigger(this._element,Eg),this._maybeScheduleHide()};this._element.classList.remove(Ya),b(this._element),this._element.classList.add(cr,ur),this._queueCallback(u,this._element,this._config.animation)}hide(){if(!this.isShown()||$.trigger(this._element,mg).defaultPrevented)return;const u=()=>{this._element.classList.add(Ya),this._element.classList.remove(ur,cr),$.trigger(this._element,_g)};this._element.classList.add(ur),this._queueCallback(u,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(cr),super.dispose()}isShown(){return this._element.classList.contains(cr)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(i,u){switch(i.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=u;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=u;break}}if(u){this._clearTimeout();return}const v=i.relatedTarget;this._element===v||this._element.contains(v)||this._maybeScheduleHide()}_setListeners(){$.on(this._element,dg,i=>this._onInteraction(i,!0)),$.on(this._element,hg,i=>this._onInteraction(i,!1)),$.on(this._element,pg,i=>this._onInteraction(i,!0)),$.on(this._element,gg,i=>this._onInteraction(i,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(i){return this.each(function(){const u=As.getOrCreateInstance(this,i);if(typeof i=="string"){if(typeof u[i]>"u")throw new TypeError(`No method named "${i}"`);u[i](this)}})}}return W(As),w(As),{Alert:ue,Button:Me,Carousel:Mn,Collapse:Vn,Dropdown:pt,Modal:pn,Offcanvas:Lt,Popover:lr,ScrollSpy:bs,Tab:vn,Toast:As,Tooltip:gn}})})(Sg);/** * @vue/shared v3.5.11 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function wo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},zn=[],xt=()=>{},um=()=>!1,Yr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Co=e=>e.startsWith("onUpdate:"),Oe=Object.assign,So=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},fm=Object.prototype.hasOwnProperty,pe=(e,t)=>fm.call(e,t),ne=Array.isArray,Xn=e=>qs(e)==="[object Map]",hs=e=>qs(e)==="[object Set]",Za=e=>qs(e)==="[object Date]",ie=e=>typeof e=="function",be=e=>typeof e=="string",$t=e=>typeof e=="symbol",ve=e=>e!==null&&typeof e=="object",Oo=e=>(ve(e)||ie(e))&&ie(e.then)&&ie(e.catch),Vc=Object.prototype.toString,qs=e=>Vc.call(e),dm=e=>qs(e).slice(8,-1),Fc=e=>qs(e)==="[object Object]",xo=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$s=wo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},hm=/-(\w)/g,ht=Gr(e=>e.replace(hm,(t,n)=>n?n.toUpperCase():"")),pm=/\B([A-Z])/g,an=Gr(e=>e.replace(pm,"-$1").toLowerCase()),qr=Gr(e=>e.charAt(0).toUpperCase()+e.slice(1)),wi=Gr(e=>e?`on${qr(e)}`:""),nn=(e,t)=>!Object.is(e,t),Cr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Bc=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let el;const jc=()=>el||(el=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zr(e){if(ne(e)){const t={};for(let n=0;n{if(n){const s=n.split(mm);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Xr(e){let t="";if(be(e))t=e;else if(ne(e))for(let n=0;nNn(n,t))}const Wc=e=>!!(e&&e.__v_isRef===!0),Am=e=>be(e)?e:e==null?"":ne(e)||ve(e)&&(e.toString===Vc||!ie(e.toString))?Wc(e)?Am(e.value):JSON.stringify(e,Uc,2):String(e),Uc=(e,t)=>Wc(t)?Uc(e,t.value):Xn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Ci(s,o)+" =>"]=r,n),{})}:hs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ci(n))}:$t(t)?Ci(t):ve(t)&&!ne(t)&&!Fc(t)?String(t):t,Ci=(e,t="")=>{var n;return $t(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**//*! #__NO_SIDE_EFFECTS__ */function wo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},zn=[],Nt=()=>{},mm=()=>!1,Yr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Co=e=>e.startsWith("onUpdate:"),Oe=Object.assign,So=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},_m=Object.prototype.hasOwnProperty,pe=(e,t)=>_m.call(e,t),ne=Array.isArray,Xn=e=>qs(e)==="[object Map]",hs=e=>qs(e)==="[object Set]",tl=e=>qs(e)==="[object Date]",ie=e=>typeof e=="function",be=e=>typeof e=="string",$t=e=>typeof e=="symbol",ve=e=>e!==null&&typeof e=="object",Oo=e=>(ve(e)||ie(e))&&ie(e.then)&&ie(e.catch),jc=Object.prototype.toString,qs=e=>jc.call(e),vm=e=>qs(e).slice(8,-1),Kc=e=>qs(e)==="[object Object]",No=e=>be(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$s=wo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Gr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Em=/-(\w)/g,ht=Gr(e=>e.replace(Em,(t,n)=>n?n.toUpperCase():"")),ym=/\B([A-Z])/g,an=Gr(e=>e.replace(ym,"-$1").toLowerCase()),qr=Gr(e=>e.charAt(0).toUpperCase()+e.slice(1)),wi=Gr(e=>e?`on${qr(e)}`:""),nn=(e,t)=>!Object.is(e,t),Cr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Uc=e=>{const t=be(e)?Number(e):NaN;return isNaN(t)?e:t};let nl;const Yc=()=>nl||(nl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zr(e){if(ne(e)){const t={};for(let n=0;n{if(n){const s=n.split(Am);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Xr(e){let t="";if(be(e))t=e;else if(ne(e))for(let n=0;nxn(n,t))}const qc=e=>!!(e&&e.__v_isRef===!0),Nm=e=>be(e)?e:e==null?"":ne(e)||ve(e)&&(e.toString===jc||!ie(e.toString))?qc(e)?Nm(e.value):JSON.stringify(e,zc,2):String(e),zc=(e,t)=>qc(t)?zc(e,t.value):Xn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Ci(s,o)+" =>"]=r,n),{})}:hs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ci(n))}:$t(t)?Ci(t):ve(t)&&!ne(t)&&!Kc(t)?String(t):t,Ci=(e,t="")=>{var n;return $t(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.11 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ye;class Yc{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Ls){let t=Ls;for(Ls=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ds;){let t=Ds;for(Ds=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Jc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Zc(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Lo(s),wm(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Wi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(eu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function eu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Fs))return;e.globalVersion=Fs;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Wi(e)){e.flags&=-3;return}const n=Ee,s=Et;Ee=e,Et=!0;try{Jc(e);const r=e.fn(e._value);(t.version===0||nn(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ee=n,Et=s,Zc(e),e.flags&=-3}}function Lo(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s),!n.subs&&n.computed){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Lo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wm(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Et=!0;const tu=[];function ln(){tu.push(Et),Et=!1}function cn(){const e=tu.pop();Et=e===void 0?!0:e}function tl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let Fs=0;class Cm{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ro{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ee||!Et||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new Cm(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,nu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=s)}return n}trigger(t){this.version++,Fs++,this.notify(t)}notify(t){$o();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Do()}}}function nu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)nu(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Rr=new WeakMap,wn=Symbol(""),Ui=Symbol(""),Hs=Symbol("");function Fe(e,t,n){if(Et&&Ee){let s=Rr.get(e);s||Rr.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Ro),r.map=s,r.key=n),r.track()}}function Ht(e,t,n,s,r,o){const a=Rr.get(e);if(!a){Fs++;return}const l=c=>{c&&c.trigger()};if($o(),t==="clear")a.forEach(l);else{const c=ne(e),d=c&&xo(n);if(c&&n==="length"){const f=Number(s);a.forEach((h,p)=>{(p==="length"||p===Hs||!$t(p)&&p>=f)&&l(h)})}else switch(n!==void 0&&l(a.get(n)),d&&l(a.get(Hs)),t){case"add":c?d&&l(a.get("length")):(l(a.get(wn)),Xn(e)&&l(a.get(Ui)));break;case"delete":c||(l(a.get(wn)),Xn(e)&&l(a.get(Ui)));break;case"set":Xn(e)&&l(a.get(wn));break}}Do()}function Sm(e,t){const n=Rr.get(e);return n&&n.get(t)}function jn(e){const t=fe(e);return t===e?t:(Fe(t,"iterate",Hs),ut(e)?t:t.map(ke))}function Qr(e){return Fe(e=fe(e),"iterate",Hs),e}const Om={__proto__:null,[Symbol.iterator](){return Oi(this,Symbol.iterator,ke)},concat(...e){return jn(this).concat(...e.map(t=>ne(t)?jn(t):t))},entries(){return Oi(this,"entries",e=>(e[1]=ke(e[1]),e))},every(e,t){return Rt(this,"every",e,t,void 0,arguments)},filter(e,t){return Rt(this,"filter",e,t,n=>n.map(ke),arguments)},find(e,t){return Rt(this,"find",e,t,ke,arguments)},findIndex(e,t){return Rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Rt(this,"findLast",e,t,ke,arguments)},findLastIndex(e,t){return Rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return xi(this,"includes",e)},indexOf(...e){return xi(this,"indexOf",e)},join(e){return jn(this).join(e)},lastIndexOf(...e){return xi(this,"lastIndexOf",e)},map(e,t){return Rt(this,"map",e,t,void 0,arguments)},pop(){return Ts(this,"pop")},push(...e){return Ts(this,"push",e)},reduce(e,...t){return nl(this,"reduce",e,t)},reduceRight(e,...t){return nl(this,"reduceRight",e,t)},shift(){return Ts(this,"shift")},some(e,t){return Rt(this,"some",e,t,void 0,arguments)},splice(...e){return Ts(this,"splice",e)},toReversed(){return jn(this).toReversed()},toSorted(e){return jn(this).toSorted(e)},toSpliced(...e){return jn(this).toSpliced(...e)},unshift(...e){return Ts(this,"unshift",e)},values(){return Oi(this,"values",ke)}};function Oi(e,t,n){const s=Qr(e),r=s[t]();return s!==e&&!ut(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.value&&(o.value=n(o.value)),o}),r}const xm=Array.prototype;function Rt(e,t,n,s,r,o){const a=Qr(e),l=a!==e&&!ut(e),c=a[t];if(c!==xm[t]){const h=c.apply(e,o);return l?ke(h):h}let d=n;a!==e&&(l?d=function(h,p){return n.call(this,ke(h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(a,d,s);return l&&r?r(f):f}function nl(e,t,n,s){const r=Qr(e);let o=n;return r!==e&&(ut(e)?n.length>3&&(o=function(a,l,c){return n.call(this,a,l,c,e)}):o=function(a,l,c){return n.call(this,a,ke(l),c,e)}),r[t](o,...s)}function xi(e,t,n){const s=fe(e);Fe(s,"iterate",Hs);const r=s[t](...n);return(r===-1||r===!1)&&ko(n[0])?(n[0]=fe(n[0]),s[t](...n)):r}function Ts(e,t,n=[]){ln(),$o();const s=fe(e)[t].apply(e,n);return Do(),cn(),s}const Nm=wo("__proto__,__v_isRef,__isVue"),su=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($t));function $m(e){$t(e)||(e=String(e));const t=fe(this);return Fe(t,"has",e),t.hasOwnProperty(e)}class ru{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?Km:lu:o?au:ou).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const a=ne(t);if(!r){let c;if(a&&(c=Om[n]))return c;if(n==="hasOwnProperty")return $m}const l=Reflect.get(t,n,Te(t)?t:s);return($t(n)?su.has(n):Nm(n))||(r||Fe(t,"get",n),o)?l:Te(l)?a&&xo(n)?l:l.value:ve(l)?r?uu(l):zs(l):l}}class iu extends ru{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const c=$n(o);if(!ut(s)&&!$n(s)&&(o=fe(o),s=fe(s)),!ne(t)&&Te(o)&&!Te(s))return c?!1:(o.value=s,!0)}const a=ne(t)&&xo(n)?Number(n)e,Jr=e=>Reflect.getPrototypeOf(e);function hr(e,t,n=!1,s=!1){e=e.__v_raw;const r=fe(e),o=fe(t);n||(nn(t,o)&&Fe(r,"get",t),Fe(r,"get",o));const{has:a}=Jr(r),l=s?Io:n?Vo:ke;if(a.call(r,t))return l(e.get(t));if(a.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function pr(e,t=!1){const n=this.__v_raw,s=fe(n),r=fe(e);return t||(nn(e,r)&&Fe(s,"has",e),Fe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function gr(e,t=!1){return e=e.__v_raw,!t&&Fe(fe(e),"iterate",wn),Reflect.get(e,"size",e)}function sl(e,t=!1){!t&&!ut(e)&&!$n(e)&&(e=fe(e));const n=fe(this);return Jr(n).has.call(n,e)||(n.add(e),Ht(n,"add",e,e)),this}function rl(e,t,n=!1){!n&&!ut(t)&&!$n(t)&&(t=fe(t));const s=fe(this),{has:r,get:o}=Jr(s);let a=r.call(s,e);a||(e=fe(e),a=r.call(s,e));const l=o.call(s,e);return s.set(e,t),a?nn(t,l)&&Ht(s,"set",e,t):Ht(s,"add",e,t),this}function il(e){const t=fe(this),{has:n,get:s}=Jr(t);let r=n.call(t,e);r||(e=fe(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ht(t,"delete",e,void 0),o}function ol(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&Ht(e,"clear",void 0,void 0),n}function mr(e,t){return function(s,r){const o=this,a=o.__v_raw,l=fe(a),c=t?Io:e?Vo:ke;return!e&&Fe(l,"iterate",wn),a.forEach((d,f)=>s.call(r,c(d),c(f),o))}}function _r(e,t,n){return function(...s){const r=this.__v_raw,o=fe(r),a=Xn(o),l=e==="entries"||e===Symbol.iterator&&a,c=e==="keys"&&a,d=r[e](...s),f=n?Io:t?Vo:ke;return!t&&Fe(o,"iterate",c?Ui:wn),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ut(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pm(){const e={get(o){return hr(this,o)},get size(){return gr(this)},has:pr,add:sl,set:rl,delete:il,clear:ol,forEach:mr(!1,!1)},t={get(o){return hr(this,o,!1,!0)},get size(){return gr(this)},has:pr,add(o){return sl.call(this,o,!0)},set(o,a){return rl.call(this,o,a,!0)},delete:il,clear:ol,forEach:mr(!1,!0)},n={get(o){return hr(this,o,!0)},get size(){return gr(this,!0)},has(o){return pr.call(this,o,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:mr(!0,!1)},s={get(o){return hr(this,o,!0,!0)},get size(){return gr(this,!0)},has(o){return pr.call(this,o,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:mr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=_r(o,!1,!1),n[o]=_r(o,!0,!1),t[o]=_r(o,!1,!0),s[o]=_r(o,!0,!0)}),[e,n,t,s]}const[Mm,km,Vm,Fm]=Pm();function Po(e,t){const n=t?e?Fm:Vm:e?km:Mm;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(pe(n,r)&&r in s?n:s,r,o)}const Hm={get:Po(!1,!1)},Bm={get:Po(!1,!0)},jm={get:Po(!0,!1)};const ou=new WeakMap,au=new WeakMap,lu=new WeakMap,Km=new WeakMap;function Wm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Um(e){return e.__v_skip||!Object.isExtensible(e)?0:Wm(dm(e))}function zs(e){return $n(e)?e:Mo(e,!1,Lm,Hm,ou)}function cu(e){return Mo(e,!1,Im,Bm,au)}function uu(e){return Mo(e,!0,Rm,jm,lu)}function Mo(e,t,n,s,r){if(!ve(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const a=Um(e);if(a===0)return e;const l=new Proxy(e,a===2?s:n);return r.set(e,l),l}function tn(e){return $n(e)?tn(e.__v_raw):!!(e&&e.__v_isReactive)}function $n(e){return!!(e&&e.__v_isReadonly)}function ut(e){return!!(e&&e.__v_isShallow)}function ko(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Zr(e){return!pe(e,"__v_skip")&&Object.isExtensible(e)&&Hc(e,"__v_skip",!0),e}const ke=e=>ve(e)?zs(e):e,Vo=e=>ve(e)?uu(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function Cn(e){return du(e,!1)}function fu(e){return du(e,!0)}function du(e,t){return Te(e)?e:new Ym(e,t)}class Ym{constructor(t,n){this.dep=new Ro,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:fe(t),this._value=n?t:ke(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ut(t)||$n(t);t=s?t:fe(t),nn(t,n)&&(this._rawValue=t,this._value=s?t:ke(t),this.dep.trigger())}}function vt(e){return Te(e)?e.value:e}const Gm={get:(e,t,n)=>t==="__v_raw"?e:vt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Te(r)&&!Te(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function hu(e){return tn(e)?e:new Proxy(e,Gm)}function qm(e){const t=ne(e)?new Array(e.length):{};for(const n in e)t[n]=pu(e,n);return t}class zm{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Sm(fe(this._object),this._key)}}class Xm{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function zy(e,t,n){return Te(e)?e:ie(e)?new Xm(e):ve(e)&&arguments.length>1?pu(e,t,n):Cn(e)}function pu(e,t,n){const s=e[t];return Te(s)?s:new zm(e,t,n)}class Qm{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ro(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Qc(this,!0),!0}get value(){const t=this.dep.track();return eu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Jm(e,t,n=!1){let s,r;return ie(e)?s=e:(s=e.get,r=e.set),new Qm(s,r,n)}const vr={},Ir=new WeakMap;let An;function Zm(e,t=!1,n=An){if(n){let s=Ir.get(n);s||Ir.set(n,s=[]),s.push(e)}}function e_(e,t,n=_e){const{immediate:s,deep:r,once:o,scheduler:a,augmentJob:l,call:c}=n,d=M=>r?M:ut(M)||r===!1||r===0?Vt(M,1):Vt(M);let f,h,p,E,x=!1,C=!1;if(Te(e)?(h=()=>e.value,x=ut(e)):tn(e)?(h=()=>d(e),x=!0):ne(e)?(C=!0,x=e.some(M=>tn(M)||ut(M)),h=()=>e.map(M=>{if(Te(M))return M.value;if(tn(M))return d(M);if(ie(M))return c?c(M,2):M()})):ie(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){ln();try{p()}finally{cn()}}const M=An;An=f;try{return c?c(e,3,[E]):e(E)}finally{An=M}}:h=xt,t&&r){const M=h,b=r===!0?1/0:r;h=()=>Vt(M(),b)}const D=qc(),P=()=>{f.stop(),D&&So(D.effects,f)};if(o&&t){const M=t;t=(...b)=>{M(...b),P()}}let V=C?new Array(e.length).fill(vr):vr;const k=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const b=f.run();if(r||x||(C?b.some((y,S)=>nn(y,V[S])):nn(b,V))){p&&p();const y=An;An=f;try{const S=[b,V===vr?void 0:C&&V[0]===vr?[]:V,E];c?c(t,3,S):t(...S),V=b}finally{An=y}}}else f.run()};return l&&l(k),f=new zc(h),f.scheduler=a?()=>a(k,!1):k,E=M=>Zm(M,!1,f),p=f.onStop=()=>{const M=Ir.get(f);if(M){if(c)c(M,4);else for(const b of M)b();Ir.delete(f)}},t?s?k(!0):V=f.run():a?a(k.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function Vt(e,t=1/0,n){if(t<=0||!ve(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Te(e))Vt(e.value,t,n);else if(ne(e))for(let s=0;s{Vt(s,t,n)});else if(Fc(e)){for(const s in e)Vt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Vt(e[s],t,n)}return e}/** +**/let Ye;class Xc{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ye,!t&&Ye&&(this.index=(Ye.scopes||(Ye.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Ls){let t=Ls;for(Ls=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ds;){let t=Ds;for(Ds=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function nu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function su(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Lo(s),$m(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Wi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ru(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ru(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Fs))return;e.globalVersion=Fs;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Wi(e)){e.flags&=-3;return}const n=Ee,s=Et;Ee=e,Et=!0;try{nu(e);const r=e.fn(e._value);(t.version===0||nn(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ee=n,Et=s,su(e),e.flags&=-3}}function Lo(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s),!n.subs&&n.computed){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Lo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function $m(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Et=!0;const iu=[];function ln(){iu.push(Et),Et=!1}function cn(){const e=iu.pop();Et=e===void 0?!0:e}function sl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let Fs=0;class Dm{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Io{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Ee||!Et||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new Dm(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,ou(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=s)}return n}trigger(t){this.version++,Fs++,this.notify(t)}notify(t){$o();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Do()}}}function ou(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)ou(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ir=new WeakMap,wn=Symbol(""),Ui=Symbol(""),Hs=Symbol("");function Fe(e,t,n){if(Et&&Ee){let s=Ir.get(e);s||Ir.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Io),r.map=s,r.key=n),r.track()}}function Ht(e,t,n,s,r,o){const a=Ir.get(e);if(!a){Fs++;return}const l=c=>{c&&c.trigger()};if($o(),t==="clear")a.forEach(l);else{const c=ne(e),d=c&&No(n);if(c&&n==="length"){const f=Number(s);a.forEach((h,p)=>{(p==="length"||p===Hs||!$t(p)&&p>=f)&&l(h)})}else switch(n!==void 0&&l(a.get(n)),d&&l(a.get(Hs)),t){case"add":c?d&&l(a.get("length")):(l(a.get(wn)),Xn(e)&&l(a.get(Ui)));break;case"delete":c||(l(a.get(wn)),Xn(e)&&l(a.get(Ui)));break;case"set":Xn(e)&&l(a.get(wn));break}}Do()}function Lm(e,t){const n=Ir.get(e);return n&&n.get(t)}function jn(e){const t=fe(e);return t===e?t:(Fe(t,"iterate",Hs),ut(e)?t:t.map(ke))}function Qr(e){return Fe(e=fe(e),"iterate",Hs),e}const Im={__proto__:null,[Symbol.iterator](){return Oi(this,Symbol.iterator,ke)},concat(...e){return jn(this).concat(...e.map(t=>ne(t)?jn(t):t))},entries(){return Oi(this,"entries",e=>(e[1]=ke(e[1]),e))},every(e,t){return It(this,"every",e,t,void 0,arguments)},filter(e,t){return It(this,"filter",e,t,n=>n.map(ke),arguments)},find(e,t){return It(this,"find",e,t,ke,arguments)},findIndex(e,t){return It(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return It(this,"findLast",e,t,ke,arguments)},findLastIndex(e,t){return It(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return It(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ni(this,"includes",e)},indexOf(...e){return Ni(this,"indexOf",e)},join(e){return jn(this).join(e)},lastIndexOf(...e){return Ni(this,"lastIndexOf",e)},map(e,t){return It(this,"map",e,t,void 0,arguments)},pop(){return Ts(this,"pop")},push(...e){return Ts(this,"push",e)},reduce(e,...t){return rl(this,"reduce",e,t)},reduceRight(e,...t){return rl(this,"reduceRight",e,t)},shift(){return Ts(this,"shift")},some(e,t){return It(this,"some",e,t,void 0,arguments)},splice(...e){return Ts(this,"splice",e)},toReversed(){return jn(this).toReversed()},toSorted(e){return jn(this).toSorted(e)},toSpliced(...e){return jn(this).toSpliced(...e)},unshift(...e){return Ts(this,"unshift",e)},values(){return Oi(this,"values",ke)}};function Oi(e,t,n){const s=Qr(e),r=s[t]();return s!==e&&!ut(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.value&&(o.value=n(o.value)),o}),r}const Rm=Array.prototype;function It(e,t,n,s,r,o){const a=Qr(e),l=a!==e&&!ut(e),c=a[t];if(c!==Rm[t]){const h=c.apply(e,o);return l?ke(h):h}let d=n;a!==e&&(l?d=function(h,p){return n.call(this,ke(h),p,e)}:n.length>2&&(d=function(h,p){return n.call(this,h,p,e)}));const f=c.call(a,d,s);return l&&r?r(f):f}function rl(e,t,n,s){const r=Qr(e);let o=n;return r!==e&&(ut(e)?n.length>3&&(o=function(a,l,c){return n.call(this,a,l,c,e)}):o=function(a,l,c){return n.call(this,a,ke(l),c,e)}),r[t](o,...s)}function Ni(e,t,n){const s=fe(e);Fe(s,"iterate",Hs);const r=s[t](...n);return(r===-1||r===!1)&&ko(n[0])?(n[0]=fe(n[0]),s[t](...n)):r}function Ts(e,t,n=[]){ln(),$o();const s=fe(e)[t].apply(e,n);return Do(),cn(),s}const Pm=wo("__proto__,__v_isRef,__isVue"),au=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($t));function Mm(e){$t(e)||(e=String(e));const t=fe(this);return Fe(t,"has",e),t.hasOwnProperty(e)}class lu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?zm:du:o?fu:uu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const a=ne(t);if(!r){let c;if(a&&(c=Im[n]))return c;if(n==="hasOwnProperty")return Mm}const l=Reflect.get(t,n,Te(t)?t:s);return($t(n)?au.has(n):Pm(n))||(r||Fe(t,"get",n),o)?l:Te(l)?a&&No(n)?l:l.value:ve(l)?r?pu(l):zs(l):l}}class cu extends lu{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];if(!this._isShallow){const c=$n(o);if(!ut(s)&&!$n(s)&&(o=fe(o),s=fe(s)),!ne(t)&&Te(o)&&!Te(s))return c?!1:(o.value=s,!0)}const a=ne(t)&&No(n)?Number(n)e,Jr=e=>Reflect.getPrototypeOf(e);function hr(e,t,n=!1,s=!1){e=e.__v_raw;const r=fe(e),o=fe(t);n||(nn(t,o)&&Fe(r,"get",t),Fe(r,"get",o));const{has:a}=Jr(r),l=s?Ro:n?Vo:ke;if(a.call(r,t))return l(e.get(t));if(a.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function pr(e,t=!1){const n=this.__v_raw,s=fe(n),r=fe(e);return t||(nn(e,r)&&Fe(s,"has",e),Fe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function gr(e,t=!1){return e=e.__v_raw,!t&&Fe(fe(e),"iterate",wn),Reflect.get(e,"size",e)}function il(e,t=!1){!t&&!ut(e)&&!$n(e)&&(e=fe(e));const n=fe(this);return Jr(n).has.call(n,e)||(n.add(e),Ht(n,"add",e,e)),this}function ol(e,t,n=!1){!n&&!ut(t)&&!$n(t)&&(t=fe(t));const s=fe(this),{has:r,get:o}=Jr(s);let a=r.call(s,e);a||(e=fe(e),a=r.call(s,e));const l=o.call(s,e);return s.set(e,t),a?nn(t,l)&&Ht(s,"set",e,t):Ht(s,"add",e,t),this}function al(e){const t=fe(this),{has:n,get:s}=Jr(t);let r=n.call(t,e);r||(e=fe(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ht(t,"delete",e,void 0),o}function ll(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&Ht(e,"clear",void 0,void 0),n}function mr(e,t){return function(s,r){const o=this,a=o.__v_raw,l=fe(a),c=t?Ro:e?Vo:ke;return!e&&Fe(l,"iterate",wn),a.forEach((d,f)=>s.call(r,c(d),c(f),o))}}function _r(e,t,n){return function(...s){const r=this.__v_raw,o=fe(r),a=Xn(o),l=e==="entries"||e===Symbol.iterator&&a,c=e==="keys"&&a,d=r[e](...s),f=n?Ro:t?Vo:ke;return!t&&Fe(o,"iterate",c?Ui:wn),{next(){const{value:h,done:p}=d.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}},[Symbol.iterator](){return this}}}}function Ut(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Bm(){const e={get(o){return hr(this,o)},get size(){return gr(this)},has:pr,add:il,set:ol,delete:al,clear:ll,forEach:mr(!1,!1)},t={get(o){return hr(this,o,!1,!0)},get size(){return gr(this)},has:pr,add(o){return il.call(this,o,!0)},set(o,a){return ol.call(this,o,a,!0)},delete:al,clear:ll,forEach:mr(!1,!0)},n={get(o){return hr(this,o,!0)},get size(){return gr(this,!0)},has(o){return pr.call(this,o,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:mr(!0,!1)},s={get(o){return hr(this,o,!0,!0)},get size(){return gr(this,!0)},has(o){return pr.call(this,o,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:mr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=_r(o,!1,!1),n[o]=_r(o,!0,!1),t[o]=_r(o,!1,!0),s[o]=_r(o,!0,!0)}),[e,n,t,s]}const[jm,Km,Wm,Um]=Bm();function Po(e,t){const n=t?e?Um:Wm:e?Km:jm;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(pe(n,r)&&r in s?n:s,r,o)}const Ym={get:Po(!1,!1)},Gm={get:Po(!1,!0)},qm={get:Po(!0,!1)};const uu=new WeakMap,fu=new WeakMap,du=new WeakMap,zm=new WeakMap;function Xm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qm(e){return e.__v_skip||!Object.isExtensible(e)?0:Xm(vm(e))}function zs(e){return $n(e)?e:Mo(e,!1,Vm,Ym,uu)}function hu(e){return Mo(e,!1,Hm,Gm,fu)}function pu(e){return Mo(e,!0,Fm,qm,du)}function Mo(e,t,n,s,r){if(!ve(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const a=Qm(e);if(a===0)return e;const l=new Proxy(e,a===2?s:n);return r.set(e,l),l}function tn(e){return $n(e)?tn(e.__v_raw):!!(e&&e.__v_isReactive)}function $n(e){return!!(e&&e.__v_isReadonly)}function ut(e){return!!(e&&e.__v_isShallow)}function ko(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Zr(e){return!pe(e,"__v_skip")&&Object.isExtensible(e)&&Wc(e,"__v_skip",!0),e}const ke=e=>ve(e)?zs(e):e,Vo=e=>ve(e)?pu(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function Cn(e){return mu(e,!1)}function gu(e){return mu(e,!0)}function mu(e,t){return Te(e)?e:new Jm(e,t)}class Jm{constructor(t,n){this.dep=new Io,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:fe(t),this._value=n?t:ke(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ut(t)||$n(t);t=s?t:fe(t),nn(t,n)&&(this._rawValue=t,this._value=s?t:ke(t),this.dep.trigger())}}function vt(e){return Te(e)?e.value:e}const Zm={get:(e,t,n)=>t==="__v_raw"?e:vt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Te(r)&&!Te(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function _u(e){return tn(e)?e:new Proxy(e,Zm)}function e_(e){const t=ne(e)?new Array(e.length):{};for(const n in e)t[n]=vu(e,n);return t}class t_{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Lm(fe(this._object),this._key)}}class n_{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function fb(e,t,n){return Te(e)?e:ie(e)?new n_(e):ve(e)&&arguments.length>1?vu(e,t,n):Cn(e)}function vu(e,t,n){const s=e[t];return Te(s)?s:new t_(e,t,n)}class s_{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Io(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Fs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return tu(this,!0),!0}get value(){const t=this.dep.track();return ru(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function r_(e,t,n=!1){let s,r;return ie(e)?s=e:(s=e.get,r=e.set),new s_(s,r,n)}const vr={},Rr=new WeakMap;let An;function i_(e,t=!1,n=An){if(n){let s=Rr.get(n);s||Rr.set(n,s=[]),s.push(e)}}function o_(e,t,n=_e){const{immediate:s,deep:r,once:o,scheduler:a,augmentJob:l,call:c}=n,d=M=>r?M:ut(M)||r===!1||r===0?Vt(M,1):Vt(M);let f,h,p,E,S=!1,C=!1;if(Te(e)?(h=()=>e.value,S=ut(e)):tn(e)?(h=()=>d(e),S=!0):ne(e)?(C=!0,S=e.some(M=>tn(M)||ut(M)),h=()=>e.map(M=>{if(Te(M))return M.value;if(tn(M))return d(M);if(ie(M))return c?c(M,2):M()})):ie(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){ln();try{p()}finally{cn()}}const M=An;An=f;try{return c?c(e,3,[E]):e(E)}finally{An=M}}:h=Nt,t&&r){const M=h,b=r===!0?1/0:r;h=()=>Vt(M(),b)}const D=Jc(),P=()=>{f.stop(),D&&So(D.effects,f)};if(o&&t){const M=t;t=(...b)=>{M(...b),P()}}let V=C?new Array(e.length).fill(vr):vr;const k=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const b=f.run();if(r||S||(C?b.some((y,O)=>nn(y,V[O])):nn(b,V))){p&&p();const y=An;An=f;try{const O=[b,V===vr?void 0:C&&V[0]===vr?[]:V,E];c?c(t,3,O):t(...O),V=b}finally{An=y}}}else f.run()};return l&&l(k),f=new Zc(h),f.scheduler=a?()=>a(k,!1):k,E=M=>i_(M,!1,f),p=f.onStop=()=>{const M=Rr.get(f);if(M){if(c)c(M,4);else for(const b of M)b();Rr.delete(f)}},t?s?k(!0):V=f.run():a?a(k.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function Vt(e,t=1/0,n){if(t<=0||!ve(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Te(e))Vt(e.value,t,n);else if(ne(e))for(let s=0;s{Vt(s,t,n)});else if(Kc(e)){for(const s in e)Vt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Vt(e[s],t,n)}return e}/** * @vue/runtime-core v3.5.11 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Xs(e,t,n,s){try{return s?e(...s):e()}catch(r){ps(r,t,n)}}function yt(e,t,n,s){if(ie(e)){const r=Xs(e,t,n,s);return r&&Oo(r)&&r.catch(o=>{ps(o,t,n)}),r}if(ne(e)){const r=[];for(let o=0;o>>1,r=Ge[s],o=Bs(r);o=Bs(n)?Ge.push(e):Ge.splice(n_(t),0,e),e.flags|=1,mu()}}function mu(){Pr||(Pr=gu.then(vu))}function Yi(e){ne(e)?Qn.push(...e):Xt&&e.id===-1?Xt.splice(Un+1,0,e):e.flags&1||(Qn.push(e),e.flags|=1),mu()}function al(e,t,n=wt+1){for(;nBs(n)-Bs(s));if(Qn.length=0,Xt){Xt.push(...t);return}for(Xt=t,Un=0;Une.id==null?e.flags&2?-1:1/0:e.id;function vu(e){try{for(wt=0;wt{s._d&&bl(-1);const o=Mr(t);let a;try{a=e(...r)}finally{Mr(o),s._d&&bl(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function Xy(e,t){if(Ne===null)return e;const n=ri(Ne),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Rs=e=>e&&(e.disabled||e.disabled===""),s_=e=>e&&(e.defer||e.defer===""),ll=e=>typeof SVGElement<"u"&&e instanceof SVGElement,cl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Gi=(e,t)=>{const n=e&&e.to;return be(n)?t?t(n):null:n},r_={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,a,l,c,d){const{mc:f,pc:h,pbc:p,o:{insert:E,querySelector:x,createText:C,createComment:D}}=d,P=Rs(t.props);let{shapeFlag:V,children:k,dynamicChildren:M}=t;if(e==null){const b=t.el=C(""),y=t.anchor=C("");E(b,n,s),E(y,n,s);const S=(A,w)=>{V&16&&(r&&r.isCE&&(r.ce._teleportTarget=A),f(k,A,w,r,o,a,l,c))},T=()=>{const A=t.target=Gi(t.props,x),w=Au(A,t,C,E);A&&(a!=="svg"&&ll(A)?a="svg":a!=="mathml"&&cl(A)&&(a="mathml"),P||(S(A,w),Sr(t)))};P&&(S(n,y),Sr(t)),s_(t.props)?Je(T,o):T()}else{t.el=e.el,t.targetStart=e.targetStart;const b=t.anchor=e.anchor,y=t.target=e.target,S=t.targetAnchor=e.targetAnchor,T=Rs(e.props),A=T?n:y,w=T?b:S;if(a==="svg"||ll(y)?a="svg":(a==="mathml"||cl(y))&&(a="mathml"),M?(p(e.dynamicChildren,M,A,r,o,a,l),zo(e,t,!0)):c||h(e,t,A,w,r,o,a,l,!1),P)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Er(t,n,b,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=t.target=Gi(t.props,x);j&&Er(t,j,null,d,0)}else T&&Er(t,y,S,d,1);Sr(t)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:a,children:l,anchor:c,targetStart:d,targetAnchor:f,target:h,props:p}=e;if(h&&(r(d),r(f)),o&&r(c),a&16){const E=o||!Rs(p);for(let x=0;x{e.isMounted=!0}),Du(()=>{e.isUnmounting=!0}),e}const at=[Function,Array],wu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:at,onEnter:at,onAfterEnter:at,onEnterCancelled:at,onBeforeLeave:at,onLeave:at,onAfterLeave:at,onLeaveCancelled:at,onBeforeAppear:at,onAppear:at,onAfterAppear:at,onAppearCancelled:at},Cu=e=>{const t=e.subTree;return t.component?Cu(t.component):t},o_={name:"BaseTransition",props:wu,setup(e,{slots:t}){const n=gs(),s=Tu();return()=>{const r=t.default&&Ho(t.default(),!0);if(!r||!r.length)return;const o=Su(r),a=fe(e),{mode:l}=a;if(s.isLeaving)return Ni(o);const c=ul(o);if(!c)return Ni(o);let d=js(c,a,s,n,p=>d=p);c.type!==Ie&&Dn(c,d);const f=n.subTree,h=f&&ul(f);if(h&&h.type!==Ie&&!St(c,h)&&Cu(n).type!==Ie){const p=js(h,a,s,n);if(Dn(h,p),l==="out-in"&&c.type!==Ie)return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete p.afterLeave},Ni(o);l==="in-out"&&c.type!==Ie&&(p.delayLeave=(E,x,C)=>{const D=Ou(s,h);D[String(h.key)]=h,E[Qt]=()=>{x(),E[Qt]=void 0,delete d.delayedLeave},d.delayedLeave=C})}return o}}};function Su(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ie){t=n;break}}return t}const a_=o_;function Ou(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function js(e,t,n,s,r){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:E,onAfterLeave:x,onLeaveCancelled:C,onBeforeAppear:D,onAppear:P,onAfterAppear:V,onAppearCancelled:k}=t,M=String(e.key),b=Ou(n,e),y=(A,w)=>{A&&yt(A,s,9,w)},S=(A,w)=>{const j=w[1];y(A,w),ne(A)?A.every(B=>B.length<=1)&&j():A.length<=1&&j()},T={mode:a,persisted:l,beforeEnter(A){let w=c;if(!n.isMounted)if(o)w=D||c;else return;A[Qt]&&A[Qt](!0);const j=b[M];j&&St(e,j)&&j.el[Qt]&&j.el[Qt](),y(w,[A])},enter(A){let w=d,j=f,B=h;if(!n.isMounted)if(o)w=P||d,j=V||f,B=k||h;else return;let Q=!1;const oe=A[yr]=he=>{Q||(Q=!0,he?y(B,[A]):y(j,[A]),T.delayedLeave&&T.delayedLeave(),A[yr]=void 0)};w?S(w,[A,oe]):oe()},leave(A,w){const j=String(e.key);if(A[yr]&&A[yr](!0),n.isUnmounting)return w();y(p,[A]);let B=!1;const Q=A[Qt]=oe=>{B||(B=!0,w(),oe?y(C,[A]):y(x,[A]),A[Qt]=void 0,b[j]===e&&delete b[j])};b[j]=e,E?S(E,[A,Q]):Q()},clone(A){const w=js(A,t,n,s,r);return r&&r(w),w}};return T}function Ni(e){if(Qs(e))return e=sn(e),e.children=null,e}function ul(e){if(!Qs(e))return bu(e.type)&&e.children?Su(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ie(n.default))return n.default()}}function Dn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Dn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ho(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;on.value,set:o=>n.value=o})}return n}function qi(e,t,n,s,r=!1){if(ne(e)){e.forEach((x,C)=>qi(x,t&&(ne(t)?t[C]:t),n,s,r));return}if(Jn(s)&&!r)return;const o=s.shapeFlag&4?ri(s.component):s.el,a=r?null:o,{i:l,r:c}=e,d=t&&t.r,f=l.refs===_e?l.refs={}:l.refs,h=l.setupState,p=fe(h),E=h===_e?()=>!1:x=>pe(p,x);if(d!=null&&d!==c&&(be(d)?(f[d]=null,E(d)&&(h[d]=null)):Te(d)&&(d.value=null)),ie(c))Xs(c,l,12,[a,f]);else{const x=be(c),C=Te(c);if(x||C){const D=()=>{if(e.f){const P=x?E(c)?h[c]:f[c]:c.value;r?ne(P)&&So(P,o):ne(P)?P.includes(o)||P.push(o):x?(f[c]=[o],E(c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else x?(f[c]=a,E(c)&&(h[c]=a)):C&&(c.value=a,e.k&&(f[e.k]=a))};a?(D.id=-1,Je(D,n)):D()}}}const fl=e=>e.nodeType===8;function l_(e,t){if(fl(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(fl(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Zy(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:o,timeout:a,suspensible:l=!0,onError:c}=e;let d=null,f,h=0;const p=()=>(h++,d=null,E()),E=()=>{let x;return d||(x=d=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),c)return new Promise((D,P)=>{c(C,()=>D(p()),()=>P(C),h+1)});throw C}).then(C=>x!==d&&d?d:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),f=C,C)))};return Bo({name:"AsyncComponentWrapper",__asyncLoader:E,__asyncHydrate(x,C,D){const P=o?()=>{const V=o(D,k=>l_(x,k));V&&(C.bum||(C.bum=[])).push(V)}:D;f?P():E().then(()=>!C.isUnmounted&&P())},get __asyncResolved(){return f},setup(){const x=xe;if(jo(x),f)return()=>$i(f,x);const C=k=>{d=null,ps(k,x,13,!s)};if(l&&x.suspense||Js)return E().then(k=>()=>$i(k,x)).catch(k=>(C(k),()=>s?ye(s,{error:k}):null));const D=Cn(!1),P=Cn(),V=Cn(!!r);return r&&setTimeout(()=>{V.value=!1},r),a!=null&&setTimeout(()=>{if(!D.value&&!P.value){const k=new Error(`Async component timed out after ${a}ms.`);C(k),P.value=k}},a),E().then(()=>{D.value=!0,x.parent&&Qs(x.parent.vnode)&&x.parent.update()}).catch(k=>{C(k),P.value=k}),()=>{if(D.value&&f)return $i(f,x);if(P.value&&s)return ye(s,{error:P.value});if(n&&!V.value)return ye(n)}}})}function $i(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,a=ye(e,s,r);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const Qs=e=>e.type.__isKeepAlive;function c_(e,t){xu(e,"a",t)}function u_(e,t){xu(e,"da",t)}function xu(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ti(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Qs(r.parent.vnode)&&f_(s,t,n,r),r=r.parent}}function f_(e,t,n,s){const r=ti(t,e,s,!0);Wo(()=>{So(s[t],r)},n)}function ti(e,t,n=xe,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{ln();const l=Ln(n),c=yt(t,n,e,a);return l(),cn(),c});return s?r.unshift(o):r.push(o),o}}const jt=e=>(t,n=xe)=>{(!Js||e==="sp")&&ti(e,(...s)=>t(...s),n)},Nu=jt("bm"),Ko=jt("m"),d_=jt("bu"),$u=jt("u"),Du=jt("bum"),Wo=jt("um"),h_=jt("sp"),p_=jt("rtg"),g_=jt("rtc");function m_(e,t=xe){ti("ec",e,t)}const Uo="components",__="directives";function v_(e,t){return Yo(Uo,e,!0,t)||e}const Lu=Symbol.for("v-ndc");function E_(e){return be(e)?Yo(Uo,e,!1)||e:e||Lu}function eb(e){return Yo(__,e)}function Yo(e,t,n=!0,s=!1){const r=Ne||xe;if(r){const o=r.type;if(e===Uo){const l=pv(o,!1);if(l&&(l===t||l===ht(t)||l===qr(ht(t))))return o}const a=dl(r[e]||o[e],t)||dl(r.appContext[e],t);return!a&&s?o:a}}function dl(e,t){return e&&(e[t]||e[ht(t)]||e[qr(ht(t))])}function tb(e,t,n,s){let r;const o=n,a=ne(e);if(a||be(e)){const l=a&&tn(e);let c=!1;l&&(c=!ut(e),e=Qr(e)),r=new Array(e.length);for(let d=0,f=e.length;dt(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;c{const o=s.fn(...r);return o&&(o.key=s.key),o}:s.fn)}return e}function sb(e,t,n={},s,r){if(Ne.ce||Ne.parent&&Jn(Ne.parent)&&Ne.parent.ce)return t!=="default"&&(n.name=t),Ct(),Ws(Ve,null,[ye("slot",n,s)],64);let o=e[t];o&&o._c&&(o._d=!1),Ct();const a=o&&Ru(o(n)),l=Ws(Ve,{key:(n.key||a&&a.key||`_${t}`)+(!a&&s?"_fb":"")},a||[],a&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Ru(e){return e.some(t=>as(t)?!(t.type===Ie||t.type===Ve&&!Ru(t.children)):!0)?e:null}const zi=e=>e?ef(e)?ri(e):zi(e.parent):null,Is=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>zi(e.parent),$root:e=>zi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Go(e),$forceUpdate:e=>e.f||(e.f=()=>{Fo(e.update)}),$nextTick:e=>e.n||(e.n=ei.bind(e.proxy)),$watch:e=>j_.bind(e)}),Di=(e,t)=>e!==_e&&!e.__isScriptSetup&&pe(e,t),y_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:a,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const E=a[t];if(E!==void 0)switch(E){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Di(s,t))return a[t]=1,s[t];if(r!==_e&&pe(r,t))return a[t]=2,r[t];if((d=e.propsOptions[0])&&pe(d,t))return a[t]=3,o[t];if(n!==_e&&pe(n,t))return a[t]=4,n[t];Xi&&(a[t]=0)}}const f=Is[t];let h,p;if(f)return t==="$attrs"&&Fe(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==_e&&pe(n,t))return a[t]=4,n[t];if(p=c.config.globalProperties,pe(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Di(r,t)?(r[t]=n,!0):s!==_e&&pe(s,t)?(s[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},a){let l;return!!n[a]||e!==_e&&pe(e,a)||Di(t,a)||(l=o[0])&&pe(l,a)||pe(s,a)||pe(Is,a)||pe(r.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rb(){return Iu().slots}function ib(){return Iu().attrs}function Iu(){const e=gs();return e.setupContext||(e.setupContext=nf(e))}function hl(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function ob(e){const t=gs();let n=e();return to(),Oo(n)&&(n=n.catch(s=>{throw Ln(t),s})),[n,()=>Ln(t)]}let Xi=!0;function b_(e){const t=Go(e),n=e.proxy,s=e.ctx;Xi=!1,t.beforeCreate&&pl(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:a,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:E,updated:x,activated:C,deactivated:D,beforeDestroy:P,beforeUnmount:V,destroyed:k,unmounted:M,render:b,renderTracked:y,renderTriggered:S,errorCaptured:T,serverPrefetch:A,expose:w,inheritAttrs:j,components:B,directives:Q,filters:oe}=t;if(d&&A_(d,s,null),a)for(const Z in a){const ce=a[Z];ie(ce)&&(s[Z]=ce.bind(n))}if(r){const Z=r.call(n,n);ve(Z)&&(e.data=zs(Z))}if(Xi=!0,o)for(const Z in o){const ce=o[Z],Ce=ie(ce)?ce.bind(n,n):ie(ce.get)?ce.get.bind(n,n):xt,He=!ie(ce)&&ie(ce.set)?ce.set.bind(n):xt,De=lt({get:Ce,set:He});Object.defineProperty(s,Z,{enumerable:!0,configurable:!0,get:()=>De.value,set:Ae=>De.value=Ae})}if(l)for(const Z in l)Pu(l[Z],s,n,Z);if(c){const Z=ie(c)?c.call(n):c;Reflect.ownKeys(Z).forEach(ce=>{Or(ce,Z[ce])})}f&&pl(f,e,"c");function te(Z,ce){ne(ce)?ce.forEach(Ce=>Z(Ce.bind(n))):ce&&Z(ce.bind(n))}if(te(Nu,h),te(Ko,p),te(d_,E),te($u,x),te(c_,C),te(u_,D),te(m_,T),te(g_,y),te(p_,S),te(Du,V),te(Wo,M),te(h_,A),ne(w))if(w.length){const Z=e.exposed||(e.exposed={});w.forEach(ce=>{Object.defineProperty(Z,ce,{get:()=>n[ce],set:Ce=>n[ce]=Ce})})}else e.exposed||(e.exposed={});b&&e.render===xt&&(e.render=b),j!=null&&(e.inheritAttrs=j),B&&(e.components=B),Q&&(e.directives=Q),A&&jo(e)}function A_(e,t,n=xt){ne(e)&&(e=Qi(e));for(const s in e){const r=e[s];let o;ve(r)?"default"in r?o=ft(r.from||s,r.default,!0):o=ft(r.from||s):o=ft(r),Te(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[s]=o}}function pl(e,t,n){yt(ne(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pu(e,t,n,s){let r=s.includes(".")?Gu(n,s):()=>n[s];if(be(e)){const o=t[e];ie(o)&&Zn(r,o)}else if(ie(e))Zn(r,e.bind(n));else if(ve(e))if(ne(e))e.forEach(o=>Pu(o,t,n,s));else{const o=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(o)&&Zn(r,o,e)}}function Go(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>kr(c,d,a,!0)),kr(c,t,a)),ve(t)&&o.set(t,c),c}function kr(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&kr(e,o,n,!0),r&&r.forEach(a=>kr(e,a,n,!0));for(const a in t)if(!(s&&a==="expose")){const l=T_[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const T_={data:gl,props:ml,emits:ml,methods:Os,computed:Os,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Os,directives:Os,watch:C_,provide:gl,inject:w_};function gl(e,t){return t?e?function(){return Oe(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function w_(e,t){return Os(Qi(e),Qi(t))}function Qi(e){if(ne(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(s&&s.proxy):t}}function x_(){return!!(xe||Ne||Sn)}const ku={},Vu=()=>Object.create(ku),Fu=e=>Object.getPrototypeOf(e)===ku;function N_(e,t,n,s=!1){const r={},o=Vu();e.propsDefaults=Object.create(null),Hu(e,t,r,o);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=s?r:cu(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function $_(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:a}}=e,l=fe(r),[c]=e.propsOptions;let d=!1;if((s||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,E]=Bu(h,t,!0);Oe(a,p),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return ve(e)&&s.set(e,zn),zn;if(ne(o))for(let f=0;fe[0]==="_"||e==="$stable",qo=e=>ne(e)?e.map(_t):[_t(e)],L_=(e,t,n)=>{if(t._n)return t;const s=Yn((...r)=>qo(t(...r)),n);return s._c=!1,s},Ku=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ju(r))continue;const o=e[r];if(ie(o))t[r]=L_(r,o,s);else if(o!=null){const a=qo(o);t[r]=()=>a}}},Wu=(e,t)=>{const n=qo(t);e.slots.default=()=>n},Uu=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},R_=(e,t,n)=>{const s=e.slots=Vu();if(e.vnode.shapeFlag&32){const r=t._;r?(Uu(s,t,n),n&&Hc(s,"_",r,!0)):Ku(t,s)}else t&&Wu(e,t)},I_=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,a=_e;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Uu(r,t,n):(o=!t.$stable,Ku(t,r)),a=t}else t&&(Wu(e,t),a={default:1});if(o)for(const l in r)!ju(l)&&a[l]==null&&delete r[l]},Je=tv;function P_(e){return M_(e)}function M_(e,t){const n=jc();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:a,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:E=xt,insertStaticContent:x}=e,C=(g,_,O,H=null,L=null,F=null,G=void 0,N=null,W=!!_.dynamicChildren)=>{if(g===_)return;g&&!St(g,_)&&(H=R(g),Ae(g,L,F,!0),g=null),_.patchFlag===-2&&(W=!1,_.dynamicChildren=null);const{type:K,ref:se,shapeFlag:X}=_;switch(K){case si:D(g,_,O,H);break;case Ie:P(g,_,O,H);break;case xr:g==null&&V(_,O,H,G);break;case Ve:B(g,_,O,H,L,F,G,N,W);break;default:X&1?b(g,_,O,H,L,F,G,N,W):X&6?Q(g,_,O,H,L,F,G,N,W):(X&64||X&128)&&K.process(g,_,O,H,L,F,G,N,W,J)}se!=null&&L&&qi(se,g&&g.ref,F,_||g,!_)},D=(g,_,O,H)=>{if(g==null)s(_.el=l(_.children),O,H);else{const L=_.el=g.el;_.children!==g.children&&d(L,_.children)}},P=(g,_,O,H)=>{g==null?s(_.el=c(_.children||""),O,H):_.el=g.el},V=(g,_,O,H)=>{[g.el,g.anchor]=x(g.children,_,O,H,g.el,g.anchor)},k=({el:g,anchor:_},O,H)=>{let L;for(;g&&g!==_;)L=p(g),s(g,O,H),g=L;s(_,O,H)},M=({el:g,anchor:_})=>{let O;for(;g&&g!==_;)O=p(g),r(g),g=O;r(_)},b=(g,_,O,H,L,F,G,N,W)=>{_.type==="svg"?G="svg":_.type==="math"&&(G="mathml"),g==null?y(_,O,H,L,F,G,N,W):A(g,_,L,F,G,N,W)},y=(g,_,O,H,L,F,G,N)=>{let W,K;const{props:se,shapeFlag:X,transition:ee,dirs:re}=g;if(W=g.el=a(g.type,F,se&&se.is,se),X&8?f(W,g.children):X&16&&T(g.children,W,null,H,L,Li(g,F),G,N),re&&En(g,null,H,"created"),S(W,g,g.scopeId,G,H),se){for(const de in se)de!=="value"&&!$s(de)&&o(W,de,null,se[de],F,H);"value"in se&&o(W,"value",null,se.value,F),(K=se.onVnodeBeforeMount)&&Tt(K,H,g)}re&&En(g,null,H,"beforeMount");const ae=k_(L,ee);ae&&ee.beforeEnter(W),s(W,_,O),((K=se&&se.onVnodeMounted)||ae||re)&&Je(()=>{K&&Tt(K,H,g),ae&&ee.enter(W),re&&En(g,null,H,"mounted")},L)},S=(g,_,O,H,L)=>{if(O&&E(g,O),H)for(let F=0;F{for(let K=W;K{const N=_.el=g.el;let{patchFlag:W,dynamicChildren:K,dirs:se}=_;W|=g.patchFlag&16;const X=g.props||_e,ee=_.props||_e;let re;if(O&&yn(O,!1),(re=ee.onVnodeBeforeUpdate)&&Tt(re,O,_,g),se&&En(_,g,O,"beforeUpdate"),O&&yn(O,!0),(X.innerHTML&&ee.innerHTML==null||X.textContent&&ee.textContent==null)&&f(N,""),K?w(g.dynamicChildren,K,N,O,H,Li(_,L),F):G||ce(g,_,N,null,O,H,Li(_,L),F,!1),W>0){if(W&16)j(N,X,ee,O,L);else if(W&2&&X.class!==ee.class&&o(N,"class",null,ee.class,L),W&4&&o(N,"style",X.style,ee.style,L),W&8){const ae=_.dynamicProps;for(let de=0;de{re&&Tt(re,O,_,g),se&&En(_,g,O,"updated")},H)},w=(g,_,O,H,L,F,G)=>{for(let N=0;N<_.length;N++){const W=g[N],K=_[N],se=W.el&&(W.type===Ve||!St(W,K)||W.shapeFlag&70)?h(W.el):O;C(W,K,se,null,H,L,F,G,!0)}},j=(g,_,O,H,L)=>{if(_!==O){if(_!==_e)for(const F in _)!$s(F)&&!(F in O)&&o(g,F,_[F],null,L,H);for(const F in O){if($s(F))continue;const G=O[F],N=_[F];G!==N&&F!=="value"&&o(g,F,N,G,L,H)}"value"in O&&o(g,"value",_.value,O.value,L)}},B=(g,_,O,H,L,F,G,N,W)=>{const K=_.el=g?g.el:l(""),se=_.anchor=g?g.anchor:l("");let{patchFlag:X,dynamicChildren:ee,slotScopeIds:re}=_;re&&(N=N?N.concat(re):re),g==null?(s(K,O,H),s(se,O,H),T(_.children||[],O,se,L,F,G,N,W)):X>0&&X&64&&ee&&g.dynamicChildren?(w(g.dynamicChildren,ee,O,L,F,G,N),(_.key!=null||L&&_===L.subTree)&&zo(g,_,!0)):ce(g,_,O,se,L,F,G,N,W)},Q=(g,_,O,H,L,F,G,N,W)=>{_.slotScopeIds=N,g==null?_.shapeFlag&512?L.ctx.activate(_,O,H,G,W):oe(_,O,H,L,F,G,W):he(g,_,W)},oe=(g,_,O,H,L,F,G)=>{const N=g.component=uv(g,H,L);if(Qs(g)&&(N.ctx.renderer=J),fv(N,!1,G),N.asyncDep){if(L&&L.registerDep(N,te,G),!g.el){const W=N.subTree=ye(Ie);P(null,W,_,O)}}else te(N,g,_,O,L,F,G)},he=(g,_,O)=>{const H=_.component=g.component;if(q_(g,_,O))if(H.asyncDep&&!H.asyncResolved){Z(H,_,O);return}else H.next=_,H.update();else _.el=g.el,H.vnode=_},te=(g,_,O,H,L,F,G)=>{const N=()=>{if(g.isMounted){let{next:X,bu:ee,u:re,parent:ae,vnode:de}=g;{const Ke=Yu(g);if(Ke){X&&(X.el=de.el,Z(g,X,G)),Ke.asyncDep.then(()=>{g.isUnmounted||N()});return}}let ue=X,je;yn(g,!1),X?(X.el=de.el,Z(g,X,G)):X=de,ee&&Cr(ee),(je=X.props&&X.props.onVnodeBeforeUpdate)&&Tt(je,ae,X,de),yn(g,!0);const Le=Ri(g),tt=g.subTree;g.subTree=Le,C(tt,Le,h(tt.el),R(tt),g,L,F),X.el=Le.el,ue===null&&Qo(g,Le.el),re&&Je(re,L),(je=X.props&&X.props.onVnodeUpdated)&&Je(()=>Tt(je,ae,X,de),L)}else{let X;const{el:ee,props:re}=_,{bm:ae,m:de,parent:ue,root:je,type:Le}=g,tt=Jn(_);if(yn(g,!1),ae&&Cr(ae),!tt&&(X=re&&re.onVnodeBeforeMount)&&Tt(X,ue,_),yn(g,!0),ee&&ge){const Ke=()=>{g.subTree=Ri(g),ge(ee,g.subTree,g,L,null)};tt&&Le.__asyncHydrate?Le.__asyncHydrate(ee,g,Ke):Ke()}else{je.ce&&je.ce._injectChildStyle(Le);const Ke=g.subTree=Ri(g);C(null,Ke,O,H,g,L,F),_.el=Ke.el}if(de&&Je(de,L),!tt&&(X=re&&re.onVnodeMounted)){const Ke=_;Je(()=>Tt(X,ue,Ke),L)}(_.shapeFlag&256||ue&&Jn(ue.vnode)&&ue.vnode.shapeFlag&256)&&g.a&&Je(g.a,L),g.isMounted=!0,_=O=H=null}};g.scope.on();const W=g.effect=new zc(N);g.scope.off();const K=g.update=W.run.bind(W),se=g.job=W.runIfDirty.bind(W);se.i=g,se.id=g.uid,W.scheduler=()=>Fo(se),yn(g,!0),K()},Z=(g,_,O)=>{_.component=g;const H=g.vnode.props;g.vnode=_,g.next=null,$_(g,_.props,H,O),I_(g,_.children,O),ln(),al(g),cn()},ce=(g,_,O,H,L,F,G,N,W=!1)=>{const K=g&&g.children,se=g?g.shapeFlag:0,X=_.children,{patchFlag:ee,shapeFlag:re}=_;if(ee>0){if(ee&128){He(K,X,O,H,L,F,G,N,W);return}else if(ee&256){Ce(K,X,O,H,L,F,G,N,W);return}}re&8?(se&16&&we(K,L,F),X!==K&&f(O,X)):se&16?re&16?He(K,X,O,H,L,F,G,N,W):we(K,L,F,!0):(se&8&&f(O,""),re&16&&T(X,O,H,L,F,G,N,W))},Ce=(g,_,O,H,L,F,G,N,W)=>{g=g||zn,_=_||zn;const K=g.length,se=_.length,X=Math.min(K,se);let ee;for(ee=0;eese?we(g,L,F,!0,!1,X):T(_,O,H,L,F,G,N,W,X)},He=(g,_,O,H,L,F,G,N,W)=>{let K=0;const se=_.length;let X=g.length-1,ee=se-1;for(;K<=X&&K<=ee;){const re=g[K],ae=_[K]=W?Jt(_[K]):_t(_[K]);if(St(re,ae))C(re,ae,O,null,L,F,G,N,W);else break;K++}for(;K<=X&&K<=ee;){const re=g[X],ae=_[ee]=W?Jt(_[ee]):_t(_[ee]);if(St(re,ae))C(re,ae,O,null,L,F,G,N,W);else break;X--,ee--}if(K>X){if(K<=ee){const re=ee+1,ae=reee)for(;K<=X;)Ae(g[K],L,F,!0),K++;else{const re=K,ae=K,de=new Map;for(K=ae;K<=ee;K++){const We=_[K]=W?Jt(_[K]):_t(_[K]);We.key!=null&&de.set(We.key,K)}let ue,je=0;const Le=ee-ae+1;let tt=!1,Ke=0;const fn=new Array(Le);for(K=0;K=Le){Ae(We,L,F,!0);continue}let Me;if(We.key!=null)Me=de.get(We.key);else for(ue=ae;ue<=ee;ue++)if(fn[ue-ae]===0&&St(We,_[ue])){Me=ue;break}Me===void 0?Ae(We,L,F,!0):(fn[Me-ae]=K+1,Me>=Ke?Ke=Me:tt=!0,C(We,_[Me],O,null,L,F,G,N,W),je++)}const _s=tt?V_(fn):zn;for(ue=_s.length-1,K=Le-1;K>=0;K--){const We=ae+K,Me=_[We],Zs=We+1{const{el:F,type:G,transition:N,children:W,shapeFlag:K}=g;if(K&6){De(g.component.subTree,_,O,H);return}if(K&128){g.suspense.move(_,O,H);return}if(K&64){G.move(g,_,O,J);return}if(G===Ve){s(F,_,O);for(let X=0;XN.enter(F),L);else{const{leave:X,delayLeave:ee,afterLeave:re}=N,ae=()=>s(F,_,O),de=()=>{X(F,()=>{ae(),re&&re()})};ee?ee(F,ae,de):de()}else s(F,_,O)},Ae=(g,_,O,H=!1,L=!1)=>{const{type:F,props:G,ref:N,children:W,dynamicChildren:K,shapeFlag:se,patchFlag:X,dirs:ee,cacheIndex:re}=g;if(X===-2&&(L=!1),N!=null&&qi(N,null,O,g,!0),re!=null&&(_.renderCache[re]=void 0),se&256){_.ctx.deactivate(g);return}const ae=se&1&&ee,de=!Jn(g);let ue;if(de&&(ue=G&&G.onVnodeBeforeUnmount)&&Tt(ue,_,g),se&6)Pe(g.component,O,H);else{if(se&128){g.suspense.unmount(O,H);return}ae&&En(g,null,_,"beforeUnmount"),se&64?g.type.remove(g,_,O,J,H):K&&!K.hasOnce&&(F!==Ve||X>0&&X&64)?we(K,_,O,!1,!0):(F===Ve&&X&384||!L&&se&16)&&we(W,_,O),H&&et(g)}(de&&(ue=G&&G.onVnodeUnmounted)||ae)&&Je(()=>{ue&&Tt(ue,_,g),ae&&En(g,null,_,"unmounted")},O)},et=g=>{const{type:_,el:O,anchor:H,transition:L}=g;if(_===Ve){Be(O,H);return}if(_===xr){M(g);return}const F=()=>{r(O),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(g.shapeFlag&1&&L&&!L.persisted){const{leave:G,delayLeave:N}=L,W=()=>G(O,F);N?N(g.el,F,W):W()}else F()},Be=(g,_)=>{let O;for(;g!==_;)O=p(g),r(g),g=O;r(_)},Pe=(g,_,O)=>{const{bum:H,scope:L,job:F,subTree:G,um:N,m:W,a:K}=g;vl(W),vl(K),H&&Cr(H),L.stop(),F&&(F.flags|=8,Ae(G,g,_,O)),N&&Je(N,_),Je(()=>{g.isUnmounted=!0},_),_&&_.pendingBranch&&!_.isUnmounted&&g.asyncDep&&!g.asyncResolved&&g.suspenseId===_.pendingId&&(_.deps--,_.deps===0&&_.resolve())},we=(g,_,O,H=!1,L=!1,F=0)=>{for(let G=F;G{if(g.shapeFlag&6)return R(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const _=p(g.anchor||g.el),O=_&&_[yu];return O?p(O):_};let q=!1;const z=(g,_,O)=>{g==null?_._vnode&&Ae(_._vnode,null,null,!0):C(_._vnode||null,g,_,null,null,null,O),_._vnode=g,q||(q=!0,al(),_u(),q=!1)},J={p:C,um:Ae,m:De,r:et,mt:oe,mc:T,pc:ce,pbc:w,n:R,o:e};let $,ge;return{render:z,hydrate:$,createApp:O_(z,$)}}function Li({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function yn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function k_(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zo(e,t,n=!1){const s=e.children,r=t.children;if(ne(s)&&ne(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function Yu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Yu(t)}function vl(e){if(e)for(let t=0;tft(F_);function B_(e,t){return Xo(e,null,{flush:"post"})}function Zn(e,t,n){return Xo(e,t,n)}function Xo(e,t,n=_e){const{immediate:s,deep:r,flush:o,once:a}=n,l=Oe({},n);let c;if(Js)if(o==="sync"){const p=H_();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!t||s)l.once=!0;else{const p=()=>{};return p.stop=xt,p.resume=xt,p.pause=xt,p}const d=xe;l.call=(p,E,x)=>yt(p,d,E,x);let f=!1;o==="post"?l.scheduler=p=>{Je(p,d&&d.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(p,E)=>{E?p():Fo(p)}),l.augmentJob=p=>{t&&(p.flags|=4),f&&(p.flags|=2,d&&(p.id=d.uid,p.i=d))};const h=e_(e,t,l);return c&&c.push(h),h}function j_(e,t,n){const s=this.proxy,r=be(e)?e.includes(".")?Gu(s,e):()=>s[e]:e.bind(s,s);let o;ie(t)?o=t:(o=t.handler,n=t);const a=Ln(this),l=Xo(r,o.bind(s),n);return a(),l}function Gu(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${an(t)}Modifiers`];function W_(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||_e;let r=n;const o=t.startsWith("update:"),a=o&&K_(s,t.slice(7));a&&(a.trim&&(r=n.map(f=>be(f)?f.trim():f)),a.number&&(r=n.map(Lr)));let l,c=s[l=wi(t)]||s[l=wi(ht(t))];!c&&o&&(c=s[l=wi(an(t))]),c&&yt(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,yt(d,e,6,r)}}function qu(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let a={},l=!1;if(!ie(e)){const c=d=>{const f=qu(d,t,!0);f&&(l=!0,Oe(a,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(ve(e)&&s.set(e,null),null):(ne(o)?o.forEach(c=>a[c]=null):Oe(a,o),ve(e)&&s.set(e,a),a)}function ni(e,t){return!e||!Yr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,an(t))||pe(e,t))}function Ri(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:a,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:E,ctx:x,inheritAttrs:C}=e,D=Mr(e);let P,V;try{if(n.shapeFlag&4){const M=r||s,b=M;P=_t(d.call(b,M,f,h,E,p,x)),V=l}else{const M=t;P=_t(M.length>1?M(h,{attrs:l,slots:a,emit:c}):M(h,null)),V=t.props?l:Y_(l)}}catch(M){Ps.length=0,ps(M,e,1),P=ye(Ie)}let k=P;if(V&&C!==!1){const M=Object.keys(V),{shapeFlag:b}=k;M.length&&b&7&&(o&&M.some(Co)&&(V=G_(V,o)),k=sn(k,V,!1,!0))}return n.dirs&&(k=sn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&Dn(k,n.transition),P=k,Mr(D),P}function U_(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Yr(n))&&((t||(t={}))[n]=e[n]);return t},G_=(e,t)=>{const n={};for(const s in e)(!Co(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function q_(e,t,n){const{props:s,children:r,component:o}=e,{props:a,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?El(s,a,d):!!a;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;let Zi=0;const z_={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,o,a,l,c,d){if(e==null)Q_(t,n,s,r,o,a,l,c,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}J_(e,t,n,s,r,a,l,c,d)}},hydrate:Z_,normalize:ev},X_=z_;function Ks(e,t){const n=e.props&&e.props[t];ie(n)&&n()}function Q_(e,t,n,s,r,o,a,l,c){const{p:d,o:{createElement:f}}=c,h=f("div"),p=e.suspense=Xu(e,r,s,t,h,n,o,a,l,c);d(null,p.pendingBranch=e.ssContent,h,null,s,p,o,a),p.deps>0?(Ks(e,"onPending"),Ks(e,"onFallback"),d(null,e.ssFallback,t,n,s,null,o,a),es(p,e.ssFallback)):p.resolve(!1,!0)}function J_(e,t,n,s,r,o,a,l,{p:c,um:d,o:{createElement:f}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const p=t.ssContent,E=t.ssFallback,{activeBranch:x,pendingBranch:C,isInFallback:D,isHydrating:P}=h;if(C)h.pendingBranch=p,St(p,C)?(c(C,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0?h.resolve():D&&(P||(c(x,E,n,s,r,null,o,a,l),es(h,E)))):(h.pendingId=Zi++,P?(h.isHydrating=!1,h.activeBranch=C):d(C,r,h),h.deps=0,h.effects.length=0,h.hiddenContainer=f("div"),D?(c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0?h.resolve():(c(x,E,n,s,r,null,o,a,l),es(h,E))):x&&St(p,x)?(c(x,p,n,s,r,h,o,a,l),h.resolve(!0)):(c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0&&h.resolve()));else if(x&&St(p,x))c(x,p,n,s,r,h,o,a,l),es(h,p);else if(Ks(t,"onPending"),h.pendingBranch=p,p.shapeFlag&512?h.pendingId=p.component.suspenseId:h.pendingId=Zi++,c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0)h.resolve();else{const{timeout:V,pendingId:k}=h;V>0?setTimeout(()=>{h.pendingId===k&&h.fallback(E)},V):V===0&&h.fallback(E)}}function Xu(e,t,n,s,r,o,a,l,c,d,f=!1){const{p:h,m:p,um:E,n:x,o:{parentNode:C,remove:D}}=d;let P;const V=nv(e);V&&t&&t.pendingBranch&&(P=t.pendingId,t.deps++);const k=e.props?Bc(e.props.timeout):void 0,M=o,b={vnode:e,parent:t,parentComponent:n,namespace:a,container:s,hiddenContainer:r,deps:0,pendingId:Zi++,timeout:typeof k=="number"?k:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(y=!1,S=!1){const{vnode:T,activeBranch:A,pendingBranch:w,pendingId:j,effects:B,parentComponent:Q,container:oe}=b;let he=!1;b.isHydrating?b.isHydrating=!1:y||(he=A&&w.transition&&w.transition.mode==="out-in",he&&(A.transition.afterLeave=()=>{j===b.pendingId&&(p(w,oe,o===M?x(A):o,0),Yi(B))}),A&&(C(A.el)===oe&&(o=x(A)),E(A,Q,b,!0)),he||p(w,oe,o,0)),es(b,w),b.pendingBranch=null,b.isInFallback=!1;let te=b.parent,Z=!1;for(;te;){if(te.pendingBranch){te.effects.push(...B),Z=!0;break}te=te.parent}!Z&&!he&&Yi(B),b.effects=[],V&&t&&t.pendingBranch&&P===t.pendingId&&(t.deps--,t.deps===0&&!S&&t.resolve()),Ks(T,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:S,activeBranch:T,parentComponent:A,container:w,namespace:j}=b;Ks(S,"onFallback");const B=x(T),Q=()=>{b.isInFallback&&(h(null,y,w,B,A,null,j,l,c),es(b,y))},oe=y.transition&&y.transition.mode==="out-in";oe&&(T.transition.afterLeave=Q),b.isInFallback=!0,E(T,A,null,!0),oe||Q()},move(y,S,T){b.activeBranch&&p(b.activeBranch,y,S,T),b.container=y},next(){return b.activeBranch&&x(b.activeBranch)},registerDep(y,S,T){const A=!!b.pendingBranch;A&&b.deps++;const w=y.vnode.el;y.asyncDep.catch(j=>{ps(j,y,0)}).then(j=>{if(y.isUnmounted||b.isUnmounted||b.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:B}=y;no(y,j,!1),w&&(B.el=w);const Q=!w&&y.subTree.el;S(y,B,C(w||y.subTree.el),w?null:x(y.subTree),b,a,T),Q&&D(Q),Qo(y,B.el),A&&--b.deps===0&&b.resolve()})},unmount(y,S){b.isUnmounted=!0,b.activeBranch&&E(b.activeBranch,n,y,S),b.pendingBranch&&E(b.pendingBranch,n,y,S)}};return b}function Z_(e,t,n,s,r,o,a,l,c){const d=t.suspense=Xu(t,s,n,e.parentNode,document.createElement("div"),null,r,o,a,l,!0),f=c(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function ev(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=yl(s?n.default:n),e.ssFallback=s?yl(n.fallback):ye(Ie)}function yl(e){let t;if(ie(e)){const n=os&&e._c;n&&(e._d=!1,Ct()),e=e(),n&&(e._d=!0,t=Ze,Qu())}return ne(e)&&(e=U_(e)),e=_t(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function tv(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):Yi(e)}function es(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let r=t.el;for(;!r&&t.component;)t=t.component.subTree,r=t.el;n.el=r,s&&s.subTree===n&&(s.vnode.el=r,Qo(s,r))}function nv(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ve=Symbol.for("v-fgt"),si=Symbol.for("v-txt"),Ie=Symbol.for("v-cmt"),xr=Symbol.for("v-stc"),Ps=[];let Ze=null;function Ct(e=!1){Ps.push(Ze=e?null:[])}function Qu(){Ps.pop(),Ze=Ps[Ps.length-1]||null}let os=1;function bl(e){os+=e,e<0&&Ze&&(Ze.hasOnce=!0)}function Ju(e){return e.dynamicChildren=os>0?Ze||zn:null,Qu(),os>0&&Ze&&Ze.push(e),e}function br(e,t,n,s,r,o){return Ju(qn(e,t,n,s,r,o,!0))}function Ws(e,t,n,s,r){return Ju(ye(e,t,n,s,r,!0))}function as(e){return e?e.__v_isVNode===!0:!1}function St(e,t){return e.type===t.type&&e.key===t.key}const Zu=({key:e})=>e??null,Nr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Te(e)||ie(e)?{i:Ne,r:e,k:t,f:!!n}:e:null);function qn(e,t=null,n=null,s=0,r=null,o=e===Ve?0:1,a=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zu(t),ref:t&&Nr(t),scopeId:Eu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ne};return l?(Jo(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=be(n)?8:16),os>0&&!a&&Ze&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Ze.push(c),c}const ye=sv;function sv(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Lu)&&(e=Ie),as(e)){const l=sn(e,t,!0);return n&&Jo(l,n),os>0&&!o&&Ze&&(l.shapeFlag&6?Ze[Ze.indexOf(e)]=l:Ze.push(l)),l.patchFlag=-2,l}if(gv(e)&&(e=e.__vccOpts),t){t=rv(t);let{class:l,style:c}=t;l&&!be(l)&&(t.class=Xr(l)),ve(c)&&(ko(c)&&!ne(c)&&(c=Oe({},c)),t.style=zr(c))}const a=be(e)?1:zu(e)?128:bu(e)?64:ve(e)?4:ie(e)?2:0;return qn(e,t,n,s,r,a,o,!0)}function rv(e){return e?ko(e)||Fu(e)?Oe({},e):e:null}function sn(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:a,children:l,transition:c}=e,d=t?av(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Zu(d),ref:t&&t.ref?n&&o?ne(o)?o.concat(Nr(t)):[o,Nr(t)]:Nr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ve?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Dn(f,c.clone(f)),f}function iv(e=" ",t=0){return ye(si,null,e,t)}function ov(e="",t=!1){return t?(Ct(),Ws(Ie,null,e)):ye(Ie,null,e)}function _t(e){return e==null||typeof e=="boolean"?ye(Ie):ne(e)?ye(Ve,null,e.slice()):as(e)?Jt(e):ye(si,null,String(e))}function Jt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Jo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Jo(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Fu(t)?t._ctx=Ne:r===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:Ne},n=32):(t=String(t),s&64?(n=16,t=[iv(t)]):n=8);e.children=t,e.shapeFlag|=n}function av(...e){const t={};for(let n=0;nxe||Ne;let Vr,eo;{const e=jc(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(a=>a(o)):r[0](o)}};Vr=t("__VUE_INSTANCE_SETTERS__",n=>xe=n),eo=t("__VUE_SSR_SETTERS__",n=>Js=n)}const Ln=e=>{const t=xe;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},to=()=>{xe&&xe.scope.off(),Vr(null)};function ef(e){return e.vnode.shapeFlag&4}let Js=!1;function fv(e,t=!1,n=!1){t&&eo(t);const{props:s,children:r}=e.vnode,o=ef(e);N_(e,s,o,t),R_(e,r,n);const a=o?dv(e,t):void 0;return t&&eo(!1),a}function dv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,y_);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?nf(e):null,o=Ln(e);ln();const a=Xs(s,e,0,[e.props,r]);if(cn(),o(),Oo(a)){if(Jn(e)||jo(e),a.then(to,to),t)return a.then(l=>{no(e,l,t)}).catch(l=>{ps(l,e,0)});e.asyncDep=a}else no(e,a,t)}else tf(e,t)}function no(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ve(t)&&(e.setupState=hu(t)),tf(e,n)}let Al;function tf(e,t,n){const s=e.type;if(!e.render){if(!t&&Al&&!s.render){const r=s.template||Go(e).template;if(r){const{isCustomElement:o,compilerOptions:a}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,d=Oe(Oe({isCustomElement:o,delimiters:l},a),c);s.render=Al(r,d)}}e.render=s.render||xt}{const r=Ln(e);ln();try{b_(e)}finally{cn(),r()}}}const hv={get(e,t){return Fe(e,"get",""),e[t]}};function nf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,hv),slots:e.slots,emit:e.emit,expose:t}}function ri(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hu(Zr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Is)return Is[n](e)},has(t,n){return n in t||n in Is}})):e.proxy}function pv(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function gv(e){return ie(e)&&"__vccOpts"in e}const lt=(e,t)=>Jm(e,t,Js);function Zo(e,t,n){const s=arguments.length;return s===2?ve(t)&&!ne(t)?as(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&as(n)&&(n=[n]),ye(e,t,n))}const mv="3.5.11";/** +**/function Xs(e,t,n,s){try{return s?e(...s):e()}catch(r){ps(r,t,n)}}function yt(e,t,n,s){if(ie(e)){const r=Xs(e,t,n,s);return r&&Oo(r)&&r.catch(o=>{ps(o,t,n)}),r}if(ne(e)){const r=[];for(let o=0;o>>1,r=Ge[s],o=Bs(r);o=Bs(n)?Ge.push(e):Ge.splice(l_(t),0,e),e.flags|=1,yu()}}function yu(){Pr||(Pr=Eu.then(Au))}function Yi(e){ne(e)?Qn.push(...e):Xt&&e.id===-1?Xt.splice(Un+1,0,e):e.flags&1||(Qn.push(e),e.flags|=1),yu()}function cl(e,t,n=wt+1){for(;nBs(n)-Bs(s));if(Qn.length=0,Xt){Xt.push(...t);return}for(Xt=t,Un=0;Une.id==null?e.flags&2?-1:1/0:e.id;function Au(e){try{for(wt=0;wt{s._d&&Tl(-1);const o=Mr(t);let a;try{a=e(...r)}finally{Mr(o),s._d&&Tl(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function db(e,t){if(xe===null)return e;const n=ri(xe),s=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,Is=e=>e&&(e.disabled||e.disabled===""),c_=e=>e&&(e.defer||e.defer===""),ul=e=>typeof SVGElement<"u"&&e instanceof SVGElement,fl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Gi=(e,t)=>{const n=e&&e.to;return be(n)?t?t(n):null:n},u_={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,a,l,c,d){const{mc:f,pc:h,pbc:p,o:{insert:E,querySelector:S,createText:C,createComment:D}}=d,P=Is(t.props);let{shapeFlag:V,children:k,dynamicChildren:M}=t;if(e==null){const b=t.el=C(""),y=t.anchor=C("");E(b,n,s),E(y,n,s);const O=(A,w)=>{V&16&&(r&&r.isCE&&(r.ce._teleportTarget=A),f(k,A,w,r,o,a,l,c))},T=()=>{const A=t.target=Gi(t.props,S),w=Su(A,t,C,E);A&&(a!=="svg"&&ul(A)?a="svg":a!=="mathml"&&fl(A)&&(a="mathml"),P||(O(A,w),Sr(t)))};P&&(O(n,y),Sr(t)),c_(t.props)?Je(T,o):T()}else{t.el=e.el,t.targetStart=e.targetStart;const b=t.anchor=e.anchor,y=t.target=e.target,O=t.targetAnchor=e.targetAnchor,T=Is(e.props),A=T?n:y,w=T?b:O;if(a==="svg"||ul(y)?a="svg":(a==="mathml"||fl(y))&&(a="mathml"),M?(p(e.dynamicChildren,M,A,r,o,a,l),zo(e,t,!0)):c||h(e,t,A,w,r,o,a,l,!1),P)T?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Er(t,n,b,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=t.target=Gi(t.props,S);j&&Er(t,j,null,d,0)}else T&&Er(t,y,O,d,1);Sr(t)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:a,children:l,anchor:c,targetStart:d,targetAnchor:f,target:h,props:p}=e;if(h&&(r(d),r(f)),o&&r(c),a&16){const E=o||!Is(p);for(let S=0;S{e.isMounted=!0}),Pu(()=>{e.isUnmounting=!0}),e}const at=[Function,Array],Nu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:at,onEnter:at,onAfterEnter:at,onEnterCancelled:at,onBeforeLeave:at,onLeave:at,onAfterLeave:at,onLeaveCancelled:at,onBeforeAppear:at,onAppear:at,onAfterAppear:at,onAppearCancelled:at},xu=e=>{const t=e.subTree;return t.component?xu(t.component):t},d_={name:"BaseTransition",props:Nu,setup(e,{slots:t}){const n=gs(),s=Ou();return()=>{const r=t.default&&Ho(t.default(),!0);if(!r||!r.length)return;const o=$u(r),a=fe(e),{mode:l}=a;if(s.isLeaving)return xi(o);const c=dl(o);if(!c)return xi(o);let d=js(c,a,s,n,p=>d=p);c.type!==Re&&Dn(c,d);const f=n.subTree,h=f&&dl(f);if(h&&h.type!==Re&&!St(c,h)&&xu(n).type!==Re){const p=js(h,a,s,n);if(Dn(h,p),l==="out-in"&&c.type!==Re)return s.isLeaving=!0,p.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete p.afterLeave},xi(o);l==="in-out"&&c.type!==Re&&(p.delayLeave=(E,S,C)=>{const D=Du(s,h);D[String(h.key)]=h,E[Qt]=()=>{S(),E[Qt]=void 0,delete d.delayedLeave},d.delayedLeave=C})}return o}}};function $u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Re){t=n;break}}return t}const h_=d_;function Du(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function js(e,t,n,s,r){const{appear:o,mode:a,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:E,onAfterLeave:S,onLeaveCancelled:C,onBeforeAppear:D,onAppear:P,onAfterAppear:V,onAppearCancelled:k}=t,M=String(e.key),b=Du(n,e),y=(A,w)=>{A&&yt(A,s,9,w)},O=(A,w)=>{const j=w[1];y(A,w),ne(A)?A.every(B=>B.length<=1)&&j():A.length<=1&&j()},T={mode:a,persisted:l,beforeEnter(A){let w=c;if(!n.isMounted)if(o)w=D||c;else return;A[Qt]&&A[Qt](!0);const j=b[M];j&&St(e,j)&&j.el[Qt]&&j.el[Qt](),y(w,[A])},enter(A){let w=d,j=f,B=h;if(!n.isMounted)if(o)w=P||d,j=V||f,B=k||h;else return;let Q=!1;const oe=A[yr]=he=>{Q||(Q=!0,he?y(B,[A]):y(j,[A]),T.delayedLeave&&T.delayedLeave(),A[yr]=void 0)};w?O(w,[A,oe]):oe()},leave(A,w){const j=String(e.key);if(A[yr]&&A[yr](!0),n.isUnmounting)return w();y(p,[A]);let B=!1;const Q=A[Qt]=oe=>{B||(B=!0,w(),oe?y(C,[A]):y(S,[A]),A[Qt]=void 0,b[j]===e&&delete b[j])};b[j]=e,E?O(E,[A,Q]):Q()},clone(A){const w=js(A,t,n,s,r);return r&&r(w),w}};return T}function xi(e){if(Qs(e))return e=sn(e),e.children=null,e}function dl(e){if(!Qs(e))return Cu(e.type)&&e.children?$u(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ie(n.default))return n.default()}}function Dn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Dn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ho(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;on.value,set:o=>n.value=o})}return n}function qi(e,t,n,s,r=!1){if(ne(e)){e.forEach((S,C)=>qi(S,t&&(ne(t)?t[C]:t),n,s,r));return}if(Jn(s)&&!r)return;const o=s.shapeFlag&4?ri(s.component):s.el,a=r?null:o,{i:l,r:c}=e,d=t&&t.r,f=l.refs===_e?l.refs={}:l.refs,h=l.setupState,p=fe(h),E=h===_e?()=>!1:S=>pe(p,S);if(d!=null&&d!==c&&(be(d)?(f[d]=null,E(d)&&(h[d]=null)):Te(d)&&(d.value=null)),ie(c))Xs(c,l,12,[a,f]);else{const S=be(c),C=Te(c);if(S||C){const D=()=>{if(e.f){const P=S?E(c)?h[c]:f[c]:c.value;r?ne(P)&&So(P,o):ne(P)?P.includes(o)||P.push(o):S?(f[c]=[o],E(c)&&(h[c]=f[c])):(c.value=[o],e.k&&(f[e.k]=c.value))}else S?(f[c]=a,E(c)&&(h[c]=a)):C&&(c.value=a,e.k&&(f[e.k]=a))};a?(D.id=-1,Je(D,n)):D()}}}const hl=e=>e.nodeType===8;function p_(e,t){if(hl(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(hl(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function gb(e){ie(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:o,timeout:a,suspensible:l=!0,onError:c}=e;let d=null,f,h=0;const p=()=>(h++,d=null,E()),E=()=>{let S;return d||(S=d=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),c)return new Promise((D,P)=>{c(C,()=>D(p()),()=>P(C),h+1)});throw C}).then(C=>S!==d&&d?d:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),f=C,C)))};return Bo({name:"AsyncComponentWrapper",__asyncLoader:E,__asyncHydrate(S,C,D){const P=o?()=>{const V=o(D,k=>p_(S,k));V&&(C.bum||(C.bum=[])).push(V)}:D;f?P():E().then(()=>!C.isUnmounted&&P())},get __asyncResolved(){return f},setup(){const S=Ne;if(jo(S),f)return()=>$i(f,S);const C=k=>{d=null,ps(k,S,13,!s)};if(l&&S.suspense||Js)return E().then(k=>()=>$i(k,S)).catch(k=>(C(k),()=>s?ye(s,{error:k}):null));const D=Cn(!1),P=Cn(),V=Cn(!!r);return r&&setTimeout(()=>{V.value=!1},r),a!=null&&setTimeout(()=>{if(!D.value&&!P.value){const k=new Error(`Async component timed out after ${a}ms.`);C(k),P.value=k}},a),E().then(()=>{D.value=!0,S.parent&&Qs(S.parent.vnode)&&S.parent.update()}).catch(k=>{C(k),P.value=k}),()=>{if(D.value&&f)return $i(f,S);if(P.value&&s)return ye(s,{error:P.value});if(n&&!V.value)return ye(n)}}})}function $i(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,a=ye(e,s,r);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const Qs=e=>e.type.__isKeepAlive;function g_(e,t){Lu(e,"a",t)}function m_(e,t){Lu(e,"da",t)}function Lu(e,t,n=Ne){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ti(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Qs(r.parent.vnode)&&__(s,t,n,r),r=r.parent}}function __(e,t,n,s){const r=ti(t,e,s,!0);Wo(()=>{So(s[t],r)},n)}function ti(e,t,n=Ne,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{ln();const l=Ln(n),c=yt(t,n,e,a);return l(),cn(),c});return s?r.unshift(o):r.push(o),o}}const jt=e=>(t,n=Ne)=>{(!Js||e==="sp")&&ti(e,(...s)=>t(...s),n)},Iu=jt("bm"),Ko=jt("m"),v_=jt("bu"),Ru=jt("u"),Pu=jt("bum"),Wo=jt("um"),E_=jt("sp"),y_=jt("rtg"),b_=jt("rtc");function A_(e,t=Ne){ti("ec",e,t)}const Uo="components",T_="directives";function w_(e,t){return Yo(Uo,e,!0,t)||e}const Mu=Symbol.for("v-ndc");function C_(e){return be(e)?Yo(Uo,e,!1)||e:e||Mu}function mb(e){return Yo(T_,e)}function Yo(e,t,n=!0,s=!1){const r=xe||Ne;if(r){const o=r.type;if(e===Uo){const l=yv(o,!1);if(l&&(l===t||l===ht(t)||l===qr(ht(t))))return o}const a=pl(r[e]||o[e],t)||pl(r.appContext[e],t);return!a&&s?o:a}}function pl(e,t){return e&&(e[t]||e[ht(t)]||e[qr(ht(t))])}function _b(e,t,n,s){let r;const o=n,a=ne(e);if(a||be(e)){const l=a&&tn(e);let c=!1;l&&(c=!ut(e),e=Qr(e)),r=new Array(e.length);for(let d=0,f=e.length;dt(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,d=l.length;c{const o=s.fn(...r);return o&&(o.key=s.key),o}:s.fn)}return e}function Eb(e,t,n={},s,r){if(xe.ce||xe.parent&&Jn(xe.parent)&&xe.parent.ce)return t!=="default"&&(n.name=t),Ct(),Ws(Ve,null,[ye("slot",n,s)],64);let o=e[t];o&&o._c&&(o._d=!1),Ct();const a=o&&ku(o(n)),l=Ws(Ve,{key:(n.key||a&&a.key||`_${t}`)+(!a&&s?"_fb":"")},a||[],a&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function ku(e){return e.some(t=>as(t)?!(t.type===Re||t.type===Ve&&!ku(t.children)):!0)?e:null}const zi=e=>e?rf(e)?ri(e):zi(e.parent):null,Rs=Oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>zi(e.parent),$root:e=>zi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Go(e),$forceUpdate:e=>e.f||(e.f=()=>{Fo(e.update)}),$nextTick:e=>e.n||(e.n=ei.bind(e.proxy)),$watch:e=>q_.bind(e)}),Di=(e,t)=>e!==_e&&!e.__isScriptSetup&&pe(e,t),S_={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:a,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const E=a[t];if(E!==void 0)switch(E){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Di(s,t))return a[t]=1,s[t];if(r!==_e&&pe(r,t))return a[t]=2,r[t];if((d=e.propsOptions[0])&&pe(d,t))return a[t]=3,o[t];if(n!==_e&&pe(n,t))return a[t]=4,n[t];Xi&&(a[t]=0)}}const f=Rs[t];let h,p;if(f)return t==="$attrs"&&Fe(e.attrs,"get",""),f(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==_e&&pe(n,t))return a[t]=4,n[t];if(p=c.config.globalProperties,pe(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Di(r,t)?(r[t]=n,!0):s!==_e&&pe(s,t)?(s[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},a){let l;return!!n[a]||e!==_e&&pe(e,a)||Di(t,a)||(l=o[0])&&pe(l,a)||pe(s,a)||pe(Rs,a)||pe(r.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function yb(){return Vu().slots}function bb(){return Vu().attrs}function Vu(){const e=gs();return e.setupContext||(e.setupContext=af(e))}function gl(e){return ne(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function Ab(e){const t=gs();let n=e();return to(),Oo(n)&&(n=n.catch(s=>{throw Ln(t),s})),[n,()=>Ln(t)]}let Xi=!0;function O_(e){const t=Go(e),n=e.proxy,s=e.ctx;Xi=!1,t.beforeCreate&&ml(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:a,watch:l,provide:c,inject:d,created:f,beforeMount:h,mounted:p,beforeUpdate:E,updated:S,activated:C,deactivated:D,beforeDestroy:P,beforeUnmount:V,destroyed:k,unmounted:M,render:b,renderTracked:y,renderTriggered:O,errorCaptured:T,serverPrefetch:A,expose:w,inheritAttrs:j,components:B,directives:Q,filters:oe}=t;if(d&&N_(d,s,null),a)for(const Z in a){const ce=a[Z];ie(ce)&&(s[Z]=ce.bind(n))}if(r){const Z=r.call(n,n);ve(Z)&&(e.data=zs(Z))}if(Xi=!0,o)for(const Z in o){const ce=o[Z],Ce=ie(ce)?ce.bind(n,n):ie(ce.get)?ce.get.bind(n,n):Nt,He=!ie(ce)&&ie(ce.set)?ce.set.bind(n):Nt,De=lt({get:Ce,set:He});Object.defineProperty(s,Z,{enumerable:!0,configurable:!0,get:()=>De.value,set:Ae=>De.value=Ae})}if(l)for(const Z in l)Fu(l[Z],s,n,Z);if(c){const Z=ie(c)?c.call(n):c;Reflect.ownKeys(Z).forEach(ce=>{Or(ce,Z[ce])})}f&&ml(f,e,"c");function te(Z,ce){ne(ce)?ce.forEach(Ce=>Z(Ce.bind(n))):ce&&Z(ce.bind(n))}if(te(Iu,h),te(Ko,p),te(v_,E),te(Ru,S),te(g_,C),te(m_,D),te(A_,T),te(b_,y),te(y_,O),te(Pu,V),te(Wo,M),te(E_,A),ne(w))if(w.length){const Z=e.exposed||(e.exposed={});w.forEach(ce=>{Object.defineProperty(Z,ce,{get:()=>n[ce],set:Ce=>n[ce]=Ce})})}else e.exposed||(e.exposed={});b&&e.render===Nt&&(e.render=b),j!=null&&(e.inheritAttrs=j),B&&(e.components=B),Q&&(e.directives=Q),A&&jo(e)}function N_(e,t,n=Nt){ne(e)&&(e=Qi(e));for(const s in e){const r=e[s];let o;ve(r)?"default"in r?o=ft(r.from||s,r.default,!0):o=ft(r.from||s):o=ft(r),Te(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[s]=o}}function ml(e,t,n){yt(ne(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fu(e,t,n,s){let r=s.includes(".")?Qu(n,s):()=>n[s];if(be(e)){const o=t[e];ie(o)&&Zn(r,o)}else if(ie(e))Zn(r,e.bind(n));else if(ve(e))if(ne(e))e.forEach(o=>Fu(o,t,n,s));else{const o=ie(e.handler)?e.handler.bind(n):t[e.handler];ie(o)&&Zn(r,o,e)}}function Go(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(d=>kr(c,d,a,!0)),kr(c,t,a)),ve(t)&&o.set(t,c),c}function kr(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&kr(e,o,n,!0),r&&r.forEach(a=>kr(e,a,n,!0));for(const a in t)if(!(s&&a==="expose")){const l=x_[a]||n&&n[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const x_={data:_l,props:vl,emits:vl,methods:Os,computed:Os,beforeCreate:Ue,created:Ue,beforeMount:Ue,mounted:Ue,beforeUpdate:Ue,updated:Ue,beforeDestroy:Ue,beforeUnmount:Ue,destroyed:Ue,unmounted:Ue,activated:Ue,deactivated:Ue,errorCaptured:Ue,serverPrefetch:Ue,components:Os,directives:Os,watch:D_,provide:_l,inject:$_};function _l(e,t){return t?e?function(){return Oe(ie(e)?e.call(this,this):e,ie(t)?t.call(this,this):t)}:t:e}function $_(e,t){return Os(Qi(e),Qi(t))}function Qi(e){if(ne(e)){const t={};for(let n=0;n1)return n&&ie(t)?t.call(s&&s.proxy):t}}function R_(){return!!(Ne||xe||Sn)}const Bu={},ju=()=>Object.create(Bu),Ku=e=>Object.getPrototypeOf(e)===Bu;function P_(e,t,n,s=!1){const r={},o=ju();e.propsDefaults=Object.create(null),Wu(e,t,r,o);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=s?r:hu(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function M_(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:a}}=e,l=fe(r),[c]=e.propsOptions;let d=!1;if((s||a>0)&&!(a&16)){if(a&8){const f=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[p,E]=Uu(h,t,!0);Oe(a,p),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return ve(e)&&s.set(e,zn),zn;if(ne(o))for(let f=0;fe[0]==="_"||e==="$stable",qo=e=>ne(e)?e.map(_t):[_t(e)],V_=(e,t,n)=>{if(t._n)return t;const s=Yn((...r)=>qo(t(...r)),n);return s._c=!1,s},Gu=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Yu(r))continue;const o=e[r];if(ie(o))t[r]=V_(r,o,s);else if(o!=null){const a=qo(o);t[r]=()=>a}}},qu=(e,t)=>{const n=qo(t);e.slots.default=()=>n},zu=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},F_=(e,t,n)=>{const s=e.slots=ju();if(e.vnode.shapeFlag&32){const r=t._;r?(zu(s,t,n),n&&Wc(s,"_",r,!0)):Gu(t,s)}else t&&qu(e,t)},H_=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,a=_e;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:zu(r,t,n):(o=!t.$stable,Gu(t,r)),a=t}else t&&(qu(e,t),a={default:1});if(o)for(const l in r)!Yu(l)&&a[l]==null&&delete r[l]},Je=av;function B_(e){return j_(e)}function j_(e,t){const n=Yc();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:a,createText:l,createComment:c,setText:d,setElementText:f,parentNode:h,nextSibling:p,setScopeId:E=Nt,insertStaticContent:S}=e,C=(g,_,N,H=null,L=null,F=null,G=void 0,x=null,W=!!_.dynamicChildren)=>{if(g===_)return;g&&!St(g,_)&&(H=I(g),Ae(g,L,F,!0),g=null),_.patchFlag===-2&&(W=!1,_.dynamicChildren=null);const{type:K,ref:se,shapeFlag:X}=_;switch(K){case si:D(g,_,N,H);break;case Re:P(g,_,N,H);break;case Nr:g==null&&V(_,N,H,G);break;case Ve:B(g,_,N,H,L,F,G,x,W);break;default:X&1?b(g,_,N,H,L,F,G,x,W):X&6?Q(g,_,N,H,L,F,G,x,W):(X&64||X&128)&&K.process(g,_,N,H,L,F,G,x,W,J)}se!=null&&L&&qi(se,g&&g.ref,F,_||g,!_)},D=(g,_,N,H)=>{if(g==null)s(_.el=l(_.children),N,H);else{const L=_.el=g.el;_.children!==g.children&&d(L,_.children)}},P=(g,_,N,H)=>{g==null?s(_.el=c(_.children||""),N,H):_.el=g.el},V=(g,_,N,H)=>{[g.el,g.anchor]=S(g.children,_,N,H,g.el,g.anchor)},k=({el:g,anchor:_},N,H)=>{let L;for(;g&&g!==_;)L=p(g),s(g,N,H),g=L;s(_,N,H)},M=({el:g,anchor:_})=>{let N;for(;g&&g!==_;)N=p(g),r(g),g=N;r(_)},b=(g,_,N,H,L,F,G,x,W)=>{_.type==="svg"?G="svg":_.type==="math"&&(G="mathml"),g==null?y(_,N,H,L,F,G,x,W):A(g,_,L,F,G,x,W)},y=(g,_,N,H,L,F,G,x)=>{let W,K;const{props:se,shapeFlag:X,transition:ee,dirs:re}=g;if(W=g.el=a(g.type,F,se&&se.is,se),X&8?f(W,g.children):X&16&&T(g.children,W,null,H,L,Li(g,F),G,x),re&&En(g,null,H,"created"),O(W,g,g.scopeId,G,H),se){for(const de in se)de!=="value"&&!$s(de)&&o(W,de,null,se[de],F,H);"value"in se&&o(W,"value",null,se.value,F),(K=se.onVnodeBeforeMount)&&Tt(K,H,g)}re&&En(g,null,H,"beforeMount");const ae=K_(L,ee);ae&&ee.beforeEnter(W),s(W,_,N),((K=se&&se.onVnodeMounted)||ae||re)&&Je(()=>{K&&Tt(K,H,g),ae&&ee.enter(W),re&&En(g,null,H,"mounted")},L)},O=(g,_,N,H,L)=>{if(N&&E(g,N),H)for(let F=0;F{for(let K=W;K{const x=_.el=g.el;let{patchFlag:W,dynamicChildren:K,dirs:se}=_;W|=g.patchFlag&16;const X=g.props||_e,ee=_.props||_e;let re;if(N&&yn(N,!1),(re=ee.onVnodeBeforeUpdate)&&Tt(re,N,_,g),se&&En(_,g,N,"beforeUpdate"),N&&yn(N,!0),(X.innerHTML&&ee.innerHTML==null||X.textContent&&ee.textContent==null)&&f(x,""),K?w(g.dynamicChildren,K,x,N,H,Li(_,L),F):G||ce(g,_,x,null,N,H,Li(_,L),F,!1),W>0){if(W&16)j(x,X,ee,N,L);else if(W&2&&X.class!==ee.class&&o(x,"class",null,ee.class,L),W&4&&o(x,"style",X.style,ee.style,L),W&8){const ae=_.dynamicProps;for(let de=0;de{re&&Tt(re,N,_,g),se&&En(_,g,N,"updated")},H)},w=(g,_,N,H,L,F,G)=>{for(let x=0;x<_.length;x++){const W=g[x],K=_[x],se=W.el&&(W.type===Ve||!St(W,K)||W.shapeFlag&70)?h(W.el):N;C(W,K,se,null,H,L,F,G,!0)}},j=(g,_,N,H,L)=>{if(_!==N){if(_!==_e)for(const F in _)!$s(F)&&!(F in N)&&o(g,F,_[F],null,L,H);for(const F in N){if($s(F))continue;const G=N[F],x=_[F];G!==x&&F!=="value"&&o(g,F,x,G,L,H)}"value"in N&&o(g,"value",_.value,N.value,L)}},B=(g,_,N,H,L,F,G,x,W)=>{const K=_.el=g?g.el:l(""),se=_.anchor=g?g.anchor:l("");let{patchFlag:X,dynamicChildren:ee,slotScopeIds:re}=_;re&&(x=x?x.concat(re):re),g==null?(s(K,N,H),s(se,N,H),T(_.children||[],N,se,L,F,G,x,W)):X>0&&X&64&&ee&&g.dynamicChildren?(w(g.dynamicChildren,ee,N,L,F,G,x),(_.key!=null||L&&_===L.subTree)&&zo(g,_,!0)):ce(g,_,N,se,L,F,G,x,W)},Q=(g,_,N,H,L,F,G,x,W)=>{_.slotScopeIds=x,g==null?_.shapeFlag&512?L.ctx.activate(_,N,H,G,W):oe(_,N,H,L,F,G,W):he(g,_,W)},oe=(g,_,N,H,L,F,G)=>{const x=g.component=mv(g,H,L);if(Qs(g)&&(x.ctx.renderer=J),_v(x,!1,G),x.asyncDep){if(L&&L.registerDep(x,te,G),!g.el){const W=x.subTree=ye(Re);P(null,W,_,N)}}else te(x,g,_,N,L,F,G)},he=(g,_,N)=>{const H=_.component=g.component;if(ev(g,_,N))if(H.asyncDep&&!H.asyncResolved){Z(H,_,N);return}else H.next=_,H.update();else _.el=g.el,H.vnode=_},te=(g,_,N,H,L,F,G)=>{const x=()=>{if(g.isMounted){let{next:X,bu:ee,u:re,parent:ae,vnode:de}=g;{const Ke=Xu(g);if(Ke){X&&(X.el=de.el,Z(g,X,G)),Ke.asyncDep.then(()=>{g.isUnmounted||x()});return}}let ue=X,je;yn(g,!1),X?(X.el=de.el,Z(g,X,G)):X=de,ee&&Cr(ee),(je=X.props&&X.props.onVnodeBeforeUpdate)&&Tt(je,ae,X,de),yn(g,!0);const Le=Ii(g),tt=g.subTree;g.subTree=Le,C(tt,Le,h(tt.el),I(tt),g,L,F),X.el=Le.el,ue===null&&Qo(g,Le.el),re&&Je(re,L),(je=X.props&&X.props.onVnodeUpdated)&&Je(()=>Tt(je,ae,X,de),L)}else{let X;const{el:ee,props:re}=_,{bm:ae,m:de,parent:ue,root:je,type:Le}=g,tt=Jn(_);if(yn(g,!1),ae&&Cr(ae),!tt&&(X=re&&re.onVnodeBeforeMount)&&Tt(X,ue,_),yn(g,!0),ee&&ge){const Ke=()=>{g.subTree=Ii(g),ge(ee,g.subTree,g,L,null)};tt&&Le.__asyncHydrate?Le.__asyncHydrate(ee,g,Ke):Ke()}else{je.ce&&je.ce._injectChildStyle(Le);const Ke=g.subTree=Ii(g);C(null,Ke,N,H,g,L,F),_.el=Ke.el}if(de&&Je(de,L),!tt&&(X=re&&re.onVnodeMounted)){const Ke=_;Je(()=>Tt(X,ue,Ke),L)}(_.shapeFlag&256||ue&&Jn(ue.vnode)&&ue.vnode.shapeFlag&256)&&g.a&&Je(g.a,L),g.isMounted=!0,_=N=H=null}};g.scope.on();const W=g.effect=new Zc(x);g.scope.off();const K=g.update=W.run.bind(W),se=g.job=W.runIfDirty.bind(W);se.i=g,se.id=g.uid,W.scheduler=()=>Fo(se),yn(g,!0),K()},Z=(g,_,N)=>{_.component=g;const H=g.vnode.props;g.vnode=_,g.next=null,M_(g,_.props,H,N),H_(g,_.children,N),ln(),cl(g),cn()},ce=(g,_,N,H,L,F,G,x,W=!1)=>{const K=g&&g.children,se=g?g.shapeFlag:0,X=_.children,{patchFlag:ee,shapeFlag:re}=_;if(ee>0){if(ee&128){He(K,X,N,H,L,F,G,x,W);return}else if(ee&256){Ce(K,X,N,H,L,F,G,x,W);return}}re&8?(se&16&&we(K,L,F),X!==K&&f(N,X)):se&16?re&16?He(K,X,N,H,L,F,G,x,W):we(K,L,F,!0):(se&8&&f(N,""),re&16&&T(X,N,H,L,F,G,x,W))},Ce=(g,_,N,H,L,F,G,x,W)=>{g=g||zn,_=_||zn;const K=g.length,se=_.length,X=Math.min(K,se);let ee;for(ee=0;eese?we(g,L,F,!0,!1,X):T(_,N,H,L,F,G,x,W,X)},He=(g,_,N,H,L,F,G,x,W)=>{let K=0;const se=_.length;let X=g.length-1,ee=se-1;for(;K<=X&&K<=ee;){const re=g[K],ae=_[K]=W?Jt(_[K]):_t(_[K]);if(St(re,ae))C(re,ae,N,null,L,F,G,x,W);else break;K++}for(;K<=X&&K<=ee;){const re=g[X],ae=_[ee]=W?Jt(_[ee]):_t(_[ee]);if(St(re,ae))C(re,ae,N,null,L,F,G,x,W);else break;X--,ee--}if(K>X){if(K<=ee){const re=ee+1,ae=reee)for(;K<=X;)Ae(g[K],L,F,!0),K++;else{const re=K,ae=K,de=new Map;for(K=ae;K<=ee;K++){const We=_[K]=W?Jt(_[K]):_t(_[K]);We.key!=null&&de.set(We.key,K)}let ue,je=0;const Le=ee-ae+1;let tt=!1,Ke=0;const fn=new Array(Le);for(K=0;K=Le){Ae(We,L,F,!0);continue}let Me;if(We.key!=null)Me=de.get(We.key);else for(ue=ae;ue<=ee;ue++)if(fn[ue-ae]===0&&St(We,_[ue])){Me=ue;break}Me===void 0?Ae(We,L,F,!0):(fn[Me-ae]=K+1,Me>=Ke?Ke=Me:tt=!0,C(We,_[Me],N,null,L,F,G,x,W),je++)}const _s=tt?W_(fn):zn;for(ue=_s.length-1,K=Le-1;K>=0;K--){const We=ae+K,Me=_[We],Zs=We+1{const{el:F,type:G,transition:x,children:W,shapeFlag:K}=g;if(K&6){De(g.component.subTree,_,N,H);return}if(K&128){g.suspense.move(_,N,H);return}if(K&64){G.move(g,_,N,J);return}if(G===Ve){s(F,_,N);for(let X=0;Xx.enter(F),L);else{const{leave:X,delayLeave:ee,afterLeave:re}=x,ae=()=>s(F,_,N),de=()=>{X(F,()=>{ae(),re&&re()})};ee?ee(F,ae,de):de()}else s(F,_,N)},Ae=(g,_,N,H=!1,L=!1)=>{const{type:F,props:G,ref:x,children:W,dynamicChildren:K,shapeFlag:se,patchFlag:X,dirs:ee,cacheIndex:re}=g;if(X===-2&&(L=!1),x!=null&&qi(x,null,N,g,!0),re!=null&&(_.renderCache[re]=void 0),se&256){_.ctx.deactivate(g);return}const ae=se&1&&ee,de=!Jn(g);let ue;if(de&&(ue=G&&G.onVnodeBeforeUnmount)&&Tt(ue,_,g),se&6)Pe(g.component,N,H);else{if(se&128){g.suspense.unmount(N,H);return}ae&&En(g,null,_,"beforeUnmount"),se&64?g.type.remove(g,_,N,J,H):K&&!K.hasOnce&&(F!==Ve||X>0&&X&64)?we(K,_,N,!1,!0):(F===Ve&&X&384||!L&&se&16)&&we(W,_,N),H&&et(g)}(de&&(ue=G&&G.onVnodeUnmounted)||ae)&&Je(()=>{ue&&Tt(ue,_,g),ae&&En(g,null,_,"unmounted")},N)},et=g=>{const{type:_,el:N,anchor:H,transition:L}=g;if(_===Ve){Be(N,H);return}if(_===Nr){M(g);return}const F=()=>{r(N),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(g.shapeFlag&1&&L&&!L.persisted){const{leave:G,delayLeave:x}=L,W=()=>G(N,F);x?x(g.el,F,W):W()}else F()},Be=(g,_)=>{let N;for(;g!==_;)N=p(g),r(g),g=N;r(_)},Pe=(g,_,N)=>{const{bum:H,scope:L,job:F,subTree:G,um:x,m:W,a:K}=g;yl(W),yl(K),H&&Cr(H),L.stop(),F&&(F.flags|=8,Ae(G,g,_,N)),x&&Je(x,_),Je(()=>{g.isUnmounted=!0},_),_&&_.pendingBranch&&!_.isUnmounted&&g.asyncDep&&!g.asyncResolved&&g.suspenseId===_.pendingId&&(_.deps--,_.deps===0&&_.resolve())},we=(g,_,N,H=!1,L=!1,F=0)=>{for(let G=F;G{if(g.shapeFlag&6)return I(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const _=p(g.anchor||g.el),N=_&&_[wu];return N?p(N):_};let q=!1;const z=(g,_,N)=>{g==null?_._vnode&&Ae(_._vnode,null,null,!0):C(_._vnode||null,g,_,null,null,null,N),_._vnode=g,q||(q=!0,cl(),bu(),q=!1)},J={p:C,um:Ae,m:De,r:et,mt:oe,mc:T,pc:ce,pbc:w,n:I,o:e};let $,ge;return{render:z,hydrate:$,createApp:I_(z,$)}}function Li({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function yn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function K_(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zo(e,t,n=!1){const s=e.children,r=t.children;if(ne(s)&&ne(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function Xu(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Xu(t)}function yl(e){if(e)for(let t=0;tft(U_);function G_(e,t){return Xo(e,null,{flush:"post"})}function Zn(e,t,n){return Xo(e,t,n)}function Xo(e,t,n=_e){const{immediate:s,deep:r,flush:o,once:a}=n,l=Oe({},n);let c;if(Js)if(o==="sync"){const p=Y_();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!t||s)l.once=!0;else{const p=()=>{};return p.stop=Nt,p.resume=Nt,p.pause=Nt,p}const d=Ne;l.call=(p,E,S)=>yt(p,d,E,S);let f=!1;o==="post"?l.scheduler=p=>{Je(p,d&&d.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(p,E)=>{E?p():Fo(p)}),l.augmentJob=p=>{t&&(p.flags|=4),f&&(p.flags|=2,d&&(p.id=d.uid,p.i=d))};const h=o_(e,t,l);return c&&c.push(h),h}function q_(e,t,n){const s=this.proxy,r=be(e)?e.includes(".")?Qu(s,e):()=>s[e]:e.bind(s,s);let o;ie(t)?o=t:(o=t.handler,n=t);const a=Ln(this),l=Xo(r,o.bind(s),n);return a(),l}function Qu(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${an(t)}Modifiers`];function X_(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||_e;let r=n;const o=t.startsWith("update:"),a=o&&z_(s,t.slice(7));a&&(a.trim&&(r=n.map(f=>be(f)?f.trim():f)),a.number&&(r=n.map(Lr)));let l,c=s[l=wi(t)]||s[l=wi(ht(t))];!c&&o&&(c=s[l=wi(an(t))]),c&&yt(c,e,6,r);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,yt(d,e,6,r)}}function Ju(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let a={},l=!1;if(!ie(e)){const c=d=>{const f=Ju(d,t,!0);f&&(l=!0,Oe(a,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(ve(e)&&s.set(e,null),null):(ne(o)?o.forEach(c=>a[c]=null):Oe(a,o),ve(e)&&s.set(e,a),a)}function ni(e,t){return!e||!Yr(t)?!1:(t=t.slice(2).replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,an(t))||pe(e,t))}function Ii(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:a,attrs:l,emit:c,render:d,renderCache:f,props:h,data:p,setupState:E,ctx:S,inheritAttrs:C}=e,D=Mr(e);let P,V;try{if(n.shapeFlag&4){const M=r||s,b=M;P=_t(d.call(b,M,f,h,E,p,S)),V=l}else{const M=t;P=_t(M.length>1?M(h,{attrs:l,slots:a,emit:c}):M(h,null)),V=t.props?l:J_(l)}}catch(M){Ps.length=0,ps(M,e,1),P=ye(Re)}let k=P;if(V&&C!==!1){const M=Object.keys(V),{shapeFlag:b}=k;M.length&&b&7&&(o&&M.some(Co)&&(V=Z_(V,o)),k=sn(k,V,!1,!0))}return n.dirs&&(k=sn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&Dn(k,n.transition),P=k,Mr(D),P}function Q_(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Yr(n))&&((t||(t={}))[n]=e[n]);return t},Z_=(e,t)=>{const n={};for(const s in e)(!Co(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function ev(e,t,n){const{props:s,children:r,component:o}=e,{props:a,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?bl(s,a,d):!!a;if(c&8){const f=t.dynamicProps;for(let h=0;he.__isSuspense;let Zi=0;const tv={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,o,a,l,c,d){if(e==null)sv(t,n,s,r,o,a,l,c,d);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}rv(e,t,n,s,r,a,l,c,d)}},hydrate:iv,normalize:ov},nv=tv;function Ks(e,t){const n=e.props&&e.props[t];ie(n)&&n()}function sv(e,t,n,s,r,o,a,l,c){const{p:d,o:{createElement:f}}=c,h=f("div"),p=e.suspense=ef(e,r,s,t,h,n,o,a,l,c);d(null,p.pendingBranch=e.ssContent,h,null,s,p,o,a),p.deps>0?(Ks(e,"onPending"),Ks(e,"onFallback"),d(null,e.ssFallback,t,n,s,null,o,a),es(p,e.ssFallback)):p.resolve(!1,!0)}function rv(e,t,n,s,r,o,a,l,{p:c,um:d,o:{createElement:f}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const p=t.ssContent,E=t.ssFallback,{activeBranch:S,pendingBranch:C,isInFallback:D,isHydrating:P}=h;if(C)h.pendingBranch=p,St(p,C)?(c(C,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0?h.resolve():D&&(P||(c(S,E,n,s,r,null,o,a,l),es(h,E)))):(h.pendingId=Zi++,P?(h.isHydrating=!1,h.activeBranch=C):d(C,r,h),h.deps=0,h.effects.length=0,h.hiddenContainer=f("div"),D?(c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0?h.resolve():(c(S,E,n,s,r,null,o,a,l),es(h,E))):S&&St(p,S)?(c(S,p,n,s,r,h,o,a,l),h.resolve(!0)):(c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0&&h.resolve()));else if(S&&St(p,S))c(S,p,n,s,r,h,o,a,l),es(h,p);else if(Ks(t,"onPending"),h.pendingBranch=p,p.shapeFlag&512?h.pendingId=p.component.suspenseId:h.pendingId=Zi++,c(null,p,h.hiddenContainer,null,r,h,o,a,l),h.deps<=0)h.resolve();else{const{timeout:V,pendingId:k}=h;V>0?setTimeout(()=>{h.pendingId===k&&h.fallback(E)},V):V===0&&h.fallback(E)}}function ef(e,t,n,s,r,o,a,l,c,d,f=!1){const{p:h,m:p,um:E,n:S,o:{parentNode:C,remove:D}}=d;let P;const V=lv(e);V&&t&&t.pendingBranch&&(P=t.pendingId,t.deps++);const k=e.props?Uc(e.props.timeout):void 0,M=o,b={vnode:e,parent:t,parentComponent:n,namespace:a,container:s,hiddenContainer:r,deps:0,pendingId:Zi++,timeout:typeof k=="number"?k:-1,activeBranch:null,pendingBranch:null,isInFallback:!f,isHydrating:f,isUnmounted:!1,effects:[],resolve(y=!1,O=!1){const{vnode:T,activeBranch:A,pendingBranch:w,pendingId:j,effects:B,parentComponent:Q,container:oe}=b;let he=!1;b.isHydrating?b.isHydrating=!1:y||(he=A&&w.transition&&w.transition.mode==="out-in",he&&(A.transition.afterLeave=()=>{j===b.pendingId&&(p(w,oe,o===M?S(A):o,0),Yi(B))}),A&&(C(A.el)===oe&&(o=S(A)),E(A,Q,b,!0)),he||p(w,oe,o,0)),es(b,w),b.pendingBranch=null,b.isInFallback=!1;let te=b.parent,Z=!1;for(;te;){if(te.pendingBranch){te.effects.push(...B),Z=!0;break}te=te.parent}!Z&&!he&&Yi(B),b.effects=[],V&&t&&t.pendingBranch&&P===t.pendingId&&(t.deps--,t.deps===0&&!O&&t.resolve()),Ks(T,"onResolve")},fallback(y){if(!b.pendingBranch)return;const{vnode:O,activeBranch:T,parentComponent:A,container:w,namespace:j}=b;Ks(O,"onFallback");const B=S(T),Q=()=>{b.isInFallback&&(h(null,y,w,B,A,null,j,l,c),es(b,y))},oe=y.transition&&y.transition.mode==="out-in";oe&&(T.transition.afterLeave=Q),b.isInFallback=!0,E(T,A,null,!0),oe||Q()},move(y,O,T){b.activeBranch&&p(b.activeBranch,y,O,T),b.container=y},next(){return b.activeBranch&&S(b.activeBranch)},registerDep(y,O,T){const A=!!b.pendingBranch;A&&b.deps++;const w=y.vnode.el;y.asyncDep.catch(j=>{ps(j,y,0)}).then(j=>{if(y.isUnmounted||b.isUnmounted||b.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:B}=y;no(y,j,!1),w&&(B.el=w);const Q=!w&&y.subTree.el;O(y,B,C(w||y.subTree.el),w?null:S(y.subTree),b,a,T),Q&&D(Q),Qo(y,B.el),A&&--b.deps===0&&b.resolve()})},unmount(y,O){b.isUnmounted=!0,b.activeBranch&&E(b.activeBranch,n,y,O),b.pendingBranch&&E(b.pendingBranch,n,y,O)}};return b}function iv(e,t,n,s,r,o,a,l,c){const d=t.suspense=ef(t,s,n,e.parentNode,document.createElement("div"),null,r,o,a,l,!0),f=c(e,d.pendingBranch=t.ssContent,n,d,o,a);return d.deps===0&&d.resolve(!1,!0),f}function ov(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=Al(s?n.default:n),e.ssFallback=s?Al(n.fallback):ye(Re)}function Al(e){let t;if(ie(e)){const n=os&&e._c;n&&(e._d=!1,Ct()),e=e(),n&&(e._d=!0,t=Ze,tf())}return ne(e)&&(e=Q_(e)),e=_t(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function av(e,t){t&&t.pendingBranch?ne(e)?t.effects.push(...e):t.effects.push(e):Yi(e)}function es(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let r=t.el;for(;!r&&t.component;)t=t.component.subTree,r=t.el;n.el=r,s&&s.subTree===n&&(s.vnode.el=r,Qo(s,r))}function lv(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Ve=Symbol.for("v-fgt"),si=Symbol.for("v-txt"),Re=Symbol.for("v-cmt"),Nr=Symbol.for("v-stc"),Ps=[];let Ze=null;function Ct(e=!1){Ps.push(Ze=e?null:[])}function tf(){Ps.pop(),Ze=Ps[Ps.length-1]||null}let os=1;function Tl(e){os+=e,e<0&&Ze&&(Ze.hasOnce=!0)}function nf(e){return e.dynamicChildren=os>0?Ze||zn:null,tf(),os>0&&Ze&&Ze.push(e),e}function br(e,t,n,s,r,o){return nf(qn(e,t,n,s,r,o,!0))}function Ws(e,t,n,s,r){return nf(ye(e,t,n,s,r,!0))}function as(e){return e?e.__v_isVNode===!0:!1}function St(e,t){return e.type===t.type&&e.key===t.key}const sf=({key:e})=>e??null,xr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?be(e)||Te(e)||ie(e)?{i:xe,r:e,k:t,f:!!n}:e:null);function qn(e,t=null,n=null,s=0,r=null,o=e===Ve?0:1,a=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&sf(t),ref:t&&xr(t),scopeId:Tu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:xe};return l?(Jo(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=be(n)?8:16),os>0&&!a&&Ze&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Ze.push(c),c}const ye=cv;function cv(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Mu)&&(e=Re),as(e)){const l=sn(e,t,!0);return n&&Jo(l,n),os>0&&!o&&Ze&&(l.shapeFlag&6?Ze[Ze.indexOf(e)]=l:Ze.push(l)),l.patchFlag=-2,l}if(bv(e)&&(e=e.__vccOpts),t){t=uv(t);let{class:l,style:c}=t;l&&!be(l)&&(t.class=Xr(l)),ve(c)&&(ko(c)&&!ne(c)&&(c=Oe({},c)),t.style=zr(c))}const a=be(e)?1:Zu(e)?128:Cu(e)?64:ve(e)?4:ie(e)?2:0;return qn(e,t,n,s,r,a,o,!0)}function uv(e){return e?ko(e)||Ku(e)?Oe({},e):e:null}function sn(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:a,children:l,transition:c}=e,d=t?hv(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&sf(d),ref:t&&t.ref?n&&o?ne(o)?o.concat(xr(t)):[o,xr(t)]:xr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ve?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Dn(f,c.clone(f)),f}function fv(e=" ",t=0){return ye(si,null,e,t)}function dv(e="",t=!1){return t?(Ct(),Ws(Re,null,e)):ye(Re,null,e)}function _t(e){return e==null||typeof e=="boolean"?ye(Re):ne(e)?ye(Ve,null,e.slice()):as(e)?Jt(e):ye(si,null,String(e))}function Jt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Jo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ne(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Jo(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Ku(t)?t._ctx=xe:r===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ie(t)?(t={default:t,_ctx:xe},n=32):(t=String(t),s&64?(n=16,t=[fv(t)]):n=8);e.children=t,e.shapeFlag|=n}function hv(...e){const t={};for(let n=0;nNe||xe;let Vr,eo;{const e=Yc(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(a=>a(o)):r[0](o)}};Vr=t("__VUE_INSTANCE_SETTERS__",n=>Ne=n),eo=t("__VUE_SSR_SETTERS__",n=>Js=n)}const Ln=e=>{const t=Ne;return Vr(e),e.scope.on(),()=>{e.scope.off(),Vr(t)}},to=()=>{Ne&&Ne.scope.off(),Vr(null)};function rf(e){return e.vnode.shapeFlag&4}let Js=!1;function _v(e,t=!1,n=!1){t&&eo(t);const{props:s,children:r}=e.vnode,o=rf(e);P_(e,s,o,t),F_(e,r,n);const a=o?vv(e,t):void 0;return t&&eo(!1),a}function vv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,S_);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?af(e):null,o=Ln(e);ln();const a=Xs(s,e,0,[e.props,r]);if(cn(),o(),Oo(a)){if(Jn(e)||jo(e),a.then(to,to),t)return a.then(l=>{no(e,l,t)}).catch(l=>{ps(l,e,0)});e.asyncDep=a}else no(e,a,t)}else of(e,t)}function no(e,t,n){ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ve(t)&&(e.setupState=_u(t)),of(e,n)}let wl;function of(e,t,n){const s=e.type;if(!e.render){if(!t&&wl&&!s.render){const r=s.template||Go(e).template;if(r){const{isCustomElement:o,compilerOptions:a}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,d=Oe(Oe({isCustomElement:o,delimiters:l},a),c);s.render=wl(r,d)}}e.render=s.render||Nt}{const r=Ln(e);ln();try{O_(e)}finally{cn(),r()}}}const Ev={get(e,t){return Fe(e,"get",""),e[t]}};function af(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ev),slots:e.slots,emit:e.emit,expose:t}}function ri(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_u(Zr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Rs)return Rs[n](e)},has(t,n){return n in t||n in Rs}})):e.proxy}function yv(e,t=!0){return ie(e)?e.displayName||e.name:e.name||t&&e.__name}function bv(e){return ie(e)&&"__vccOpts"in e}const lt=(e,t)=>r_(e,t,Js);function Zo(e,t,n){const s=arguments.length;return s===2?ve(t)&&!ne(t)?as(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&as(n)&&(n=[n]),ye(e,t,n))}const Av="3.5.11";/** * @vue/runtime-dom v3.5.11 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let so;const Tl=typeof window<"u"&&window.trustedTypes;if(Tl)try{so=Tl.createPolicy("vue",{createHTML:e=>e})}catch{}const sf=so?e=>so.createHTML(e):e=>e,_v="http://www.w3.org/2000/svg",vv="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,wl=Mt&&Mt.createElement("template"),Ev={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Mt.createElementNS(_v,e):t==="mathml"?Mt.createElementNS(vv,e):n?Mt.createElement(e,{is:n}):Mt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Mt.createTextNode(e),createComment:e=>Mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const a=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{wl.innerHTML=sf(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=wl.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Yt="transition",ws="animation",ls=Symbol("_vtc"),rf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},of=Oe({},wu,rf),yv=e=>(e.displayName="Transition",e.props=of,e),Cl=yv((e,{slots:t})=>Zo(a_,af(e),t)),bn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},Sl=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function af(e){const t={};for(const B in e)B in rf||(t[B]=e[B]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=e,x=bv(r),C=x&&x[0],D=x&&x[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:k,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:S=V,onAppearCancelled:T=k}=t,A=(B,Q,oe)=>{qt(B,Q?f:l),qt(B,Q?d:a),oe&&oe()},w=(B,Q)=>{B._isLeaving=!1,qt(B,h),qt(B,E),qt(B,p),Q&&Q()},j=B=>(Q,oe)=>{const he=B?S:V,te=()=>A(Q,B,oe);bn(he,[Q,te]),Ol(()=>{qt(Q,B?c:o),Pt(Q,B?f:l),Sl(he)||xl(Q,s,C,te)})};return Oe(t,{onBeforeEnter(B){bn(P,[B]),Pt(B,o),Pt(B,a)},onBeforeAppear(B){bn(y,[B]),Pt(B,c),Pt(B,d)},onEnter:j(!1),onAppear:j(!0),onLeave(B,Q){B._isLeaving=!0;const oe=()=>w(B,Q);Pt(B,h),Pt(B,p),cf(),Ol(()=>{B._isLeaving&&(qt(B,h),Pt(B,E),Sl(M)||xl(B,s,D,oe))}),bn(M,[B,oe])},onEnterCancelled(B){A(B,!1),bn(k,[B])},onAppearCancelled(B){A(B,!0),bn(T,[B])},onLeaveCancelled(B){w(B),bn(b,[B])}})}function bv(e){if(e==null)return null;if(ve(e))return[Ii(e.enter),Ii(e.leave)];{const t=Ii(e);return[t,t]}}function Ii(e){return Bc(e)}function Pt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ls]||(e[ls]=new Set)).add(t)}function qt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[ls];n&&(n.delete(t),n.size||(e[ls]=void 0))}function Ol(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Av=0;function xl(e,t,n,s){const r=e._endId=++Av,o=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:c}=lf(e,t);if(!a)return s();const d=a+"end";let f=0;const h=()=>{e.removeEventListener(d,p),o()},p=E=>{E.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[x]||"").split(", "),r=s(`${Yt}Delay`),o=s(`${Yt}Duration`),a=Nl(r,o),l=s(`${ws}Delay`),c=s(`${ws}Duration`),d=Nl(l,c);let f=null,h=0,p=0;t===Yt?a>0&&(f=Yt,h=a,p=o.length):t===ws?d>0&&(f=ws,h=d,p=c.length):(h=Math.max(a,d),f=h>0?a>d?Yt:ws:null,p=f?f===Yt?o.length:c.length:0);const E=f===Yt&&/\b(transform|all)(,|$)/.test(s(`${Yt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:E}}function Nl(e,t){for(;e.length$l(n)+$l(e[s])))}function $l(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function cf(){return document.body.offsetHeight}function Tv(e,t,n){const s=e[ls];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Fr=Symbol("_vod"),uf=Symbol("_vsh"),ab={beforeMount(e,{value:t},{transition:n}){e[Fr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Cs(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Cs(e,!0),s.enter(e)):s.leave(e,()=>{Cs(e,!1)}):Cs(e,t))},beforeUnmount(e,{value:t}){Cs(e,t)}};function Cs(e,t){e.style.display=t?e[Fr]:"none",e[uf]=!t}const ff=Symbol("");function lb(e){const t=gs();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Hr(o,r))},s=()=>{const r=e(t.proxy);t.ce?Hr(t.ce,r):ro(t.subTree,r),n(r)};Nu(()=>{B_(s)}),Ko(()=>{const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Wo(()=>r.disconnect())})}function ro(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ro(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Hr(e.el,t);else if(e.type===Ve)e.children.forEach(n=>ro(n,t));else if(e.type===xr){let{el:n,anchor:s}=e;for(;n&&(Hr(n,t),n!==s);)n=n.nextSibling}}function Hr(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const r in t)n.setProperty(`--${r}`,t[r]),s+=`--${r}: ${t[r]};`;n[ff]=s}}const wv=/(^|;)\s*display\s*:/;function Cv(e,t,n){const s=e.style,r=be(n);let o=!1;if(n&&!r){if(t)if(be(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&$r(s,l,"")}else for(const a in t)n[a]==null&&$r(s,a,"");for(const a in n)a==="display"&&(o=!0),$r(s,a,n[a])}else if(r){if(t!==n){const a=s[ff];a&&(n+=";"+a),s.cssText=n,o=wv.test(n)}}else t&&e.removeAttribute("style");Fr in e&&(e[Fr]=o?s.display:"",e[uf]&&(s.display="none"))}const Dl=/\s*!important$/;function $r(e,t,n){if(ne(n))n.forEach(s=>$r(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Sv(e,t);Dl.test(n)?e.setProperty(an(s),n.replace(Dl,""),"important"):e[s]=n}}const Ll=["Webkit","Moz","ms"],Pi={};function Sv(e,t){const n=Pi[t];if(n)return n;let s=ht(t);if(s!=="filter"&&s in e)return Pi[t]=s;s=qr(s);for(let r=0;rMi||($v.then(()=>Mi=0),Mi=Date.now());function Lv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;yt(Rv(s,n.value),t,5,[s])};return n.value=e,n.attached=Dv(),n}function Rv(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Vl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Iv=(e,t,n,s,r,o)=>{const a=r==="svg";t==="class"?Tv(e,s,a):t==="style"?Cv(e,n,s):Yr(t)?Co(t)||xv(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pv(e,t,s,a))?(Pl(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Il(e,t,s,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!be(s))?Pl(e,ht(t),s):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Il(e,t,s,a))};function Pv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Vl(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Vl(t)&&be(n)?!1:t in e}const df=new WeakMap,hf=new WeakMap,Br=Symbol("_moveCb"),Fl=Symbol("_enterCb"),Mv=e=>(delete e.props.mode,e),kv=Mv({name:"TransitionGroup",props:Oe({},of,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=gs(),s=Tu();let r,o;return $u(()=>{if(!r.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!Bv(r[0].el,n.vnode.el,a))return;r.forEach(Vv),r.forEach(Fv);const l=r.filter(Hv);cf(),l.forEach(c=>{const d=c.el,f=d.style;Pt(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const h=d[Br]=p=>{p&&p.target!==d||(!p||/transform$/.test(p.propertyName))&&(d.removeEventListener("transitionend",h),d[Br]=null,qt(d,a))};d.addEventListener("transitionend",h)})}),()=>{const a=fe(e),l=af(a);let c=a.tag||Ve;if(r=[],o)for(let d=0;d{l.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:a}=lf(s);return o.removeChild(s),a}const rn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Cr(t,n):t};function jv(e){e.target.composing=!0}function Hl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const dt=Symbol("_assign"),Bl={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[dt]=rn(r);const o=s||r.props&&r.props.type==="number";Ft(e,t?"change":"input",a=>{if(a.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=Lr(l)),e[dt](l)}),n&&Ft(e,"change",()=>{e.value=e.value.trim()}),t||(Ft(e,"compositionstart",jv),Ft(e,"compositionend",Hl),Ft(e,"change",Hl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},a){if(e[dt]=rn(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Lr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},Kv={deep:!0,created(e,t,n){e[dt]=rn(n),Ft(e,"change",()=>{const s=e._modelValue,r=cs(e),o=e.checked,a=e[dt];if(ne(s)){const l=No(s,r),c=l!==-1;if(o&&!c)a(s.concat(r));else if(!o&&c){const d=[...s];d.splice(l,1),a(d)}}else if(hs(s)){const l=new Set(s);o?l.add(r):l.delete(r),a(l)}else a(pf(e,o))})},mounted:jl,beforeUpdate(e,t,n){e[dt]=rn(n),jl(e,t,n)}};function jl(e,{value:t},n){e._modelValue=t;let s;ne(t)?s=No(t,n.props.value)>-1:hs(t)?s=t.has(n.props.value):s=Nn(t,pf(e,!0)),e.checked!==s&&(e.checked=s)}const Wv={created(e,{value:t},n){e.checked=Nn(t,n.props.value),e[dt]=rn(n),Ft(e,"change",()=>{e[dt](cs(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[dt]=rn(s),t!==n&&(e.checked=Nn(t,s.props.value))}},Uv={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=hs(t);Ft(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Lr(cs(a)):cs(a));e[dt](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,ei(()=>{e._assigning=!1})}),e[dt]=rn(s)},mounted(e,{value:t}){Kl(e,t)},beforeUpdate(e,t,n){e[dt]=rn(n)},updated(e,{value:t}){e._assigning||Kl(e,t)}};function Kl(e,t){const n=e.multiple,s=ne(t);if(!(n&&!s&&!hs(t))){for(let r=0,o=e.options.length;rString(d)===String(l)):a.selected=No(t,l)>-1}else a.selected=t.has(l);else if(Nn(cs(a),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function cs(e){return"_value"in e?e._value:e.value}function pf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const ub={created(e,t,n){Ar(e,t,n,null,"created")},mounted(e,t,n){Ar(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Ar(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Ar(e,t,n,s,"updated")}};function Yv(e,t){switch(e){case"SELECT":return Uv;case"TEXTAREA":return Bl;default:switch(t){case"checkbox":return Kv;case"radio":return Wv;default:return Bl}}}function Ar(e,t,n,s,r){const a=Yv(e.tagName,n.props&&n.props.type)[r];a&&a(e,t,n,s)}const Gv=["ctrl","shift","alt","meta"],qv={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Gv.some(n=>e[`${n}Key`]&&!t.includes(n))},fb=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=an(r.key);if(t.some(a=>a===o||zv[a]===o))return e(r)})},Xv=Oe({patchProp:Iv},Ev);let Wl;function gf(){return Wl||(Wl=P_(Xv))}const hb=(...e)=>{gf().render(...e)},Qv=(...e)=>{const t=gf().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Zv(s);if(!r)return;const o=t._component;!ie(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,Jv(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Jv(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zv(e){return be(e)?document.querySelector(e):e}var eE=!1;/*! +**/let so;const Cl=typeof window<"u"&&window.trustedTypes;if(Cl)try{so=Cl.createPolicy("vue",{createHTML:e=>e})}catch{}const lf=so?e=>so.createHTML(e):e=>e,Tv="http://www.w3.org/2000/svg",wv="http://www.w3.org/1998/Math/MathML",Mt=typeof document<"u"?document:null,Sl=Mt&&Mt.createElement("template"),Cv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Mt.createElementNS(Tv,e):t==="mathml"?Mt.createElementNS(wv,e):n?Mt.createElement(e,{is:n}):Mt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Mt.createTextNode(e),createComment:e=>Mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const a=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Sl.innerHTML=lf(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Sl.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Yt="transition",ws="animation",ls=Symbol("_vtc"),cf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},uf=Oe({},Nu,cf),Sv=e=>(e.displayName="Transition",e.props=uf,e),Ol=Sv((e,{slots:t})=>Zo(h_,ff(e),t)),bn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},Nl=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function ff(e){const t={};for(const B in e)B in cf||(t[B]=e[B]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:d=a,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=e,S=Ov(r),C=S&&S[0],D=S&&S[1],{onBeforeEnter:P,onEnter:V,onEnterCancelled:k,onLeave:M,onLeaveCancelled:b,onBeforeAppear:y=P,onAppear:O=V,onAppearCancelled:T=k}=t,A=(B,Q,oe)=>{qt(B,Q?f:l),qt(B,Q?d:a),oe&&oe()},w=(B,Q)=>{B._isLeaving=!1,qt(B,h),qt(B,E),qt(B,p),Q&&Q()},j=B=>(Q,oe)=>{const he=B?O:V,te=()=>A(Q,B,oe);bn(he,[Q,te]),xl(()=>{qt(Q,B?c:o),Pt(Q,B?f:l),Nl(he)||$l(Q,s,C,te)})};return Oe(t,{onBeforeEnter(B){bn(P,[B]),Pt(B,o),Pt(B,a)},onBeforeAppear(B){bn(y,[B]),Pt(B,c),Pt(B,d)},onEnter:j(!1),onAppear:j(!0),onLeave(B,Q){B._isLeaving=!0;const oe=()=>w(B,Q);Pt(B,h),Pt(B,p),hf(),xl(()=>{B._isLeaving&&(qt(B,h),Pt(B,E),Nl(M)||$l(B,s,D,oe))}),bn(M,[B,oe])},onEnterCancelled(B){A(B,!1),bn(k,[B])},onAppearCancelled(B){A(B,!0),bn(T,[B])},onLeaveCancelled(B){w(B),bn(b,[B])}})}function Ov(e){if(e==null)return null;if(ve(e))return[Ri(e.enter),Ri(e.leave)];{const t=Ri(e);return[t,t]}}function Ri(e){return Uc(e)}function Pt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ls]||(e[ls]=new Set)).add(t)}function qt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[ls];n&&(n.delete(t),n.size||(e[ls]=void 0))}function xl(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Nv=0;function $l(e,t,n,s){const r=e._endId=++Nv,o=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:l,propCount:c}=df(e,t);if(!a)return s();const d=a+"end";let f=0;const h=()=>{e.removeEventListener(d,p),o()},p=E=>{E.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[S]||"").split(", "),r=s(`${Yt}Delay`),o=s(`${Yt}Duration`),a=Dl(r,o),l=s(`${ws}Delay`),c=s(`${ws}Duration`),d=Dl(l,c);let f=null,h=0,p=0;t===Yt?a>0&&(f=Yt,h=a,p=o.length):t===ws?d>0&&(f=ws,h=d,p=c.length):(h=Math.max(a,d),f=h>0?a>d?Yt:ws:null,p=f?f===Yt?o.length:c.length:0);const E=f===Yt&&/\b(transform|all)(,|$)/.test(s(`${Yt}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:E}}function Dl(e,t){for(;e.lengthLl(n)+Ll(e[s])))}function Ll(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function hf(){return document.body.offsetHeight}function xv(e,t,n){const s=e[ls];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Fr=Symbol("_vod"),pf=Symbol("_vsh"),Tb={beforeMount(e,{value:t},{transition:n}){e[Fr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Cs(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Cs(e,!0),s.enter(e)):s.leave(e,()=>{Cs(e,!1)}):Cs(e,t))},beforeUnmount(e,{value:t}){Cs(e,t)}};function Cs(e,t){e.style.display=t?e[Fr]:"none",e[pf]=!t}const gf=Symbol("");function wb(e){const t=gs();if(!t)return;const n=t.ut=(r=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(o=>Hr(o,r))},s=()=>{const r=e(t.proxy);t.ce?Hr(t.ce,r):ro(t.subTree,r),n(r)};Iu(()=>{G_(s)}),Ko(()=>{const r=new MutationObserver(s);r.observe(t.subTree.el.parentNode,{childList:!0}),Wo(()=>r.disconnect())})}function ro(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ro(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Hr(e.el,t);else if(e.type===Ve)e.children.forEach(n=>ro(n,t));else if(e.type===Nr){let{el:n,anchor:s}=e;for(;n&&(Hr(n,t),n!==s);)n=n.nextSibling}}function Hr(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const r in t)n.setProperty(`--${r}`,t[r]),s+=`--${r}: ${t[r]};`;n[gf]=s}}const $v=/(^|;)\s*display\s*:/;function Dv(e,t,n){const s=e.style,r=be(n);let o=!1;if(n&&!r){if(t)if(be(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();n[l]==null&&$r(s,l,"")}else for(const a in t)n[a]==null&&$r(s,a,"");for(const a in n)a==="display"&&(o=!0),$r(s,a,n[a])}else if(r){if(t!==n){const a=s[gf];a&&(n+=";"+a),s.cssText=n,o=$v.test(n)}}else t&&e.removeAttribute("style");Fr in e&&(e[Fr]=o?s.display:"",e[pf]&&(s.display="none"))}const Il=/\s*!important$/;function $r(e,t,n){if(ne(n))n.forEach(s=>$r(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Lv(e,t);Il.test(n)?e.setProperty(an(s),n.replace(Il,""),"important"):e[s]=n}}const Rl=["Webkit","Moz","ms"],Pi={};function Lv(e,t){const n=Pi[t];if(n)return n;let s=ht(t);if(s!=="filter"&&s in e)return Pi[t]=s;s=qr(s);for(let r=0;rMi||(Mv.then(()=>Mi=0),Mi=Date.now());function Vv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;yt(Fv(s,n.value),t,5,[s])};return n.value=e,n.attached=kv(),n}function Fv(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Hl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Hv=(e,t,n,s,r,o)=>{const a=r==="svg";t==="class"?xv(e,s,a):t==="style"?Dv(e,n,s):Yr(t)?Co(t)||Rv(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bv(e,t,s,a))?(kl(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ml(e,t,s,a,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!be(s))?kl(e,ht(t),s):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ml(e,t,s,a))};function Bv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Hl(t)&&ie(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Hl(t)&&be(n)?!1:t in e}const mf=new WeakMap,_f=new WeakMap,Br=Symbol("_moveCb"),Bl=Symbol("_enterCb"),jv=e=>(delete e.props.mode,e),Kv=jv({name:"TransitionGroup",props:Oe({},uf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=gs(),s=Ou();let r,o;return Ru(()=>{if(!r.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!Gv(r[0].el,n.vnode.el,a))return;r.forEach(Wv),r.forEach(Uv);const l=r.filter(Yv);hf(),l.forEach(c=>{const d=c.el,f=d.style;Pt(d,a),f.transform=f.webkitTransform=f.transitionDuration="";const h=d[Br]=p=>{p&&p.target!==d||(!p||/transform$/.test(p.propertyName))&&(d.removeEventListener("transitionend",h),d[Br]=null,qt(d,a))};d.addEventListener("transitionend",h)})}),()=>{const a=fe(e),l=ff(a);let c=a.tag||Ve;if(r=[],o)for(let d=0;d{l.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),n.split(/\s+/).forEach(l=>l&&s.classList.add(l)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:a}=df(s);return o.removeChild(s),a}const rn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Cr(t,n):t};function qv(e){e.target.composing=!0}function jl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const dt=Symbol("_assign"),Kl={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[dt]=rn(r);const o=s||r.props&&r.props.type==="number";Ft(e,t?"change":"input",a=>{if(a.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=Lr(l)),e[dt](l)}),n&&Ft(e,"change",()=>{e.value=e.value.trim()}),t||(Ft(e,"compositionstart",qv),Ft(e,"compositionend",jl),Ft(e,"change",jl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},a){if(e[dt]=rn(a),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Lr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},zv={deep:!0,created(e,t,n){e[dt]=rn(n),Ft(e,"change",()=>{const s=e._modelValue,r=cs(e),o=e.checked,a=e[dt];if(ne(s)){const l=xo(s,r),c=l!==-1;if(o&&!c)a(s.concat(r));else if(!o&&c){const d=[...s];d.splice(l,1),a(d)}}else if(hs(s)){const l=new Set(s);o?l.add(r):l.delete(r),a(l)}else a(vf(e,o))})},mounted:Wl,beforeUpdate(e,t,n){e[dt]=rn(n),Wl(e,t,n)}};function Wl(e,{value:t},n){e._modelValue=t;let s;ne(t)?s=xo(t,n.props.value)>-1:hs(t)?s=t.has(n.props.value):s=xn(t,vf(e,!0)),e.checked!==s&&(e.checked=s)}const Xv={created(e,{value:t},n){e.checked=xn(t,n.props.value),e[dt]=rn(n),Ft(e,"change",()=>{e[dt](cs(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[dt]=rn(s),t!==n&&(e.checked=xn(t,s.props.value))}},Qv={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=hs(t);Ft(e,"change",()=>{const o=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?Lr(cs(a)):cs(a));e[dt](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,ei(()=>{e._assigning=!1})}),e[dt]=rn(s)},mounted(e,{value:t}){Ul(e,t)},beforeUpdate(e,t,n){e[dt]=rn(n)},updated(e,{value:t}){e._assigning||Ul(e,t)}};function Ul(e,t){const n=e.multiple,s=ne(t);if(!(n&&!s&&!hs(t))){for(let r=0,o=e.options.length;rString(d)===String(l)):a.selected=xo(t,l)>-1}else a.selected=t.has(l);else if(xn(cs(a),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function cs(e){return"_value"in e?e._value:e.value}function vf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Sb={created(e,t,n){Ar(e,t,n,null,"created")},mounted(e,t,n){Ar(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Ar(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Ar(e,t,n,s,"updated")}};function Jv(e,t){switch(e){case"SELECT":return Qv;case"TEXTAREA":return Kl;default:switch(t){case"checkbox":return zv;case"radio":return Xv;default:return Kl}}}function Ar(e,t,n,s,r){const a=Jv(e.tagName,n.props&&n.props.type)[r];a&&a(e,t,n,s)}const Zv=["ctrl","shift","alt","meta"],eE={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zv.some(n=>e[`${n}Key`]&&!t.includes(n))},Ob=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const o=an(r.key);if(t.some(a=>a===o||tE[a]===o))return e(r)})},nE=Oe({patchProp:Hv},Cv);let Yl;function Ef(){return Yl||(Yl=B_(nE))}const xb=(...e)=>{Ef().render(...e)},sE=(...e)=>{const t=Ef().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=iE(s);if(!r)return;const o=t._component;!ie(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,rE(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function rE(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function iE(e){return be(e)?document.querySelector(e):e}var oE=!1;/*! * pinia v2.2.4 * (c) 2024 Eduardo San Martin Morote * @license MIT - */let mf;const ii=e=>mf=e,_f=Symbol();function io(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ms;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ms||(Ms={}));function tE(){const e=Gc(!0),t=e.run(()=>Cn({}));let n=[],s=[];const r=Zr({install(o){ii(r),r._a=o,o.provide(_f,r),o.config.globalProperties.$pinia=r,s.forEach(a=>n.push(a)),s=[]},use(o){return!this._a&&!eE?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const vf=()=>{};function Ul(e,t,n,s=vf){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&qc()&&Tm(r),r}function Kn(e,...t){e.slice().forEach(n=>{n(...t)})}const nE=e=>e(),Yl=Symbol(),ki=Symbol();function oo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];io(r)&&io(s)&&e.hasOwnProperty(n)&&!Te(s)&&!tn(s)?e[n]=oo(r,s):e[n]=s}return e}const sE=Symbol();function rE(e){return!io(e)||!e.hasOwnProperty(sE)}const{assign:zt}=Object;function iE(e){return!!(Te(e)&&e.effect)}function oE(e,t,n,s){const{state:r,actions:o,getters:a}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=r?r():{});const f=qm(n.state.value[e]);return zt(f,o,Object.keys(a||{}).reduce((h,p)=>(h[p]=Zr(lt(()=>{ii(n);const E=n._s.get(e);return a[p].call(E,E)})),h),{}))}return c=Ef(e,d,t,n,s,!0),c}function Ef(e,t,n={},s,r,o){let a;const l=zt({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],E;const x=s.state.value[e];!o&&!x&&(s.state.value[e]={}),Cn({});let C;function D(T){let A;d=f=!1,typeof T=="function"?(T(s.state.value[e]),A={type:Ms.patchFunction,storeId:e,events:E}):(oo(s.state.value[e],T),A={type:Ms.patchObject,payload:T,storeId:e,events:E});const w=C=Symbol();ei().then(()=>{C===w&&(d=!0)}),f=!0,Kn(h,A,s.state.value[e])}const P=o?function(){const{state:A}=n,w=A?A():{};this.$patch(j=>{zt(j,w)})}:vf;function V(){a.stop(),h=[],p=[],s._s.delete(e)}const k=(T,A="")=>{if(Yl in T)return T[ki]=A,T;const w=function(){ii(s);const j=Array.from(arguments),B=[],Q=[];function oe(Z){B.push(Z)}function he(Z){Q.push(Z)}Kn(p,{args:j,name:w[ki],store:b,after:oe,onError:he});let te;try{te=T.apply(this&&this.$id===e?this:b,j)}catch(Z){throw Kn(Q,Z),Z}return te instanceof Promise?te.then(Z=>(Kn(B,Z),Z)).catch(Z=>(Kn(Q,Z),Promise.reject(Z))):(Kn(B,te),te)};return w[Yl]=!0,w[ki]=A,w},M={_p:s,$id:e,$onAction:Ul.bind(null,p),$patch:D,$reset:P,$subscribe(T,A={}){const w=Ul(h,T,A.detached,()=>j()),j=a.run(()=>Zn(()=>s.state.value[e],B=>{(A.flush==="sync"?f:d)&&T({storeId:e,type:Ms.direct,events:E},B)},zt({},c,A)));return w},$dispose:V},b=zs(M);s._s.set(e,b);const S=(s._a&&s._a.runWithContext||nE)(()=>s._e.run(()=>(a=Gc()).run(()=>t({action:k}))));for(const T in S){const A=S[T];if(Te(A)&&!iE(A)||tn(A))o||(x&&rE(A)&&(Te(A)?A.value=x[T]:oo(A,x[T])),s.state.value[e][T]=A);else if(typeof A=="function"){const w=k(A,T);S[T]=w,l.actions[T]=A}}return zt(b,S),zt(fe(b),S),Object.defineProperty(b,"$state",{get:()=>s.state.value[e],set:T=>{D(A=>{zt(A,T)})}}),s._p.forEach(T=>{zt(b,a.run(()=>T({store:b,app:s._a,pinia:s,options:l})))}),x&&o&&n.hydrate&&n.hydrate(b.$state,x),d=!0,f=!0,b}function yf(e,t,n){let s,r;const o=typeof t=="function";typeof e=="string"?(s=e,r=o?n:t):(r=e,s=e.id);function a(l,c){const d=x_();return l=l||(d?ft(_f,null):null),l&&ii(l),l=mf,l._s.has(s)||(o?Ef(s,t,r,l):oE(s,r,l)),l._s.get(s)}return a.$id=s,a}const aE="/static/app/dist/assets/logo-XE_HdY0J.png";/*! + */let yf;const ii=e=>yf=e,bf=Symbol();function io(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ms;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ms||(Ms={}));function aE(){const e=Qc(!0),t=e.run(()=>Cn({}));let n=[],s=[];const r=Zr({install(o){ii(r),r._a=o,o.provide(bf,r),o.config.globalProperties.$pinia=r,s.forEach(a=>n.push(a)),s=[]},use(o){return!this._a&&!oE?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Af=()=>{};function Gl(e,t,n,s=Af){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&Jc()&&xm(r),r}function Kn(e,...t){e.slice().forEach(n=>{n(...t)})}const lE=e=>e(),ql=Symbol(),ki=Symbol();function oo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];io(r)&&io(s)&&e.hasOwnProperty(n)&&!Te(s)&&!tn(s)?e[n]=oo(r,s):e[n]=s}return e}const cE=Symbol();function uE(e){return!io(e)||!e.hasOwnProperty(cE)}const{assign:zt}=Object;function fE(e){return!!(Te(e)&&e.effect)}function dE(e,t,n,s){const{state:r,actions:o,getters:a}=t,l=n.state.value[e];let c;function d(){l||(n.state.value[e]=r?r():{});const f=e_(n.state.value[e]);return zt(f,o,Object.keys(a||{}).reduce((h,p)=>(h[p]=Zr(lt(()=>{ii(n);const E=n._s.get(e);return a[p].call(E,E)})),h),{}))}return c=Tf(e,d,t,n,s,!0),c}function Tf(e,t,n={},s,r,o){let a;const l=zt({actions:{}},n),c={deep:!0};let d,f,h=[],p=[],E;const S=s.state.value[e];!o&&!S&&(s.state.value[e]={}),Cn({});let C;function D(T){let A;d=f=!1,typeof T=="function"?(T(s.state.value[e]),A={type:Ms.patchFunction,storeId:e,events:E}):(oo(s.state.value[e],T),A={type:Ms.patchObject,payload:T,storeId:e,events:E});const w=C=Symbol();ei().then(()=>{C===w&&(d=!0)}),f=!0,Kn(h,A,s.state.value[e])}const P=o?function(){const{state:A}=n,w=A?A():{};this.$patch(j=>{zt(j,w)})}:Af;function V(){a.stop(),h=[],p=[],s._s.delete(e)}const k=(T,A="")=>{if(ql in T)return T[ki]=A,T;const w=function(){ii(s);const j=Array.from(arguments),B=[],Q=[];function oe(Z){B.push(Z)}function he(Z){Q.push(Z)}Kn(p,{args:j,name:w[ki],store:b,after:oe,onError:he});let te;try{te=T.apply(this&&this.$id===e?this:b,j)}catch(Z){throw Kn(Q,Z),Z}return te instanceof Promise?te.then(Z=>(Kn(B,Z),Z)).catch(Z=>(Kn(Q,Z),Promise.reject(Z))):(Kn(B,te),te)};return w[ql]=!0,w[ki]=A,w},M={_p:s,$id:e,$onAction:Gl.bind(null,p),$patch:D,$reset:P,$subscribe(T,A={}){const w=Gl(h,T,A.detached,()=>j()),j=a.run(()=>Zn(()=>s.state.value[e],B=>{(A.flush==="sync"?f:d)&&T({storeId:e,type:Ms.direct,events:E},B)},zt({},c,A)));return w},$dispose:V},b=zs(M);s._s.set(e,b);const O=(s._a&&s._a.runWithContext||lE)(()=>s._e.run(()=>(a=Qc()).run(()=>t({action:k}))));for(const T in O){const A=O[T];if(Te(A)&&!fE(A)||tn(A))o||(S&&uE(A)&&(Te(A)?A.value=S[T]:oo(A,S[T])),s.state.value[e][T]=A);else if(typeof A=="function"){const w=k(A,T);O[T]=w,l.actions[T]=A}}return zt(b,O),zt(fe(b),O),Object.defineProperty(b,"$state",{get:()=>s.state.value[e],set:T=>{D(A=>{zt(A,T)})}}),s._p.forEach(T=>{zt(b,a.run(()=>T({store:b,app:s._a,pinia:s,options:l})))}),S&&o&&n.hydrate&&n.hydrate(b.$state,S),d=!0,f=!0,b}function wf(e,t,n){let s,r;const o=typeof t=="function";typeof e=="string"?(s=e,r=o?n:t):(r=e,s=e.id);function a(l,c){const d=R_();return l=l||(d?ft(bf,null):null),l&&ii(l),l=yf,l._s.has(s)||(o?Tf(s,t,r,l):dE(s,r,l)),l._s.get(s)}return a.$id=s,a}const hE="/static/app/dist/assets/logo-XE_HdY0J.png";/*! * vue-router v4.4.5 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const Gn=typeof document<"u";function bf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&bf(e.default)}const me=Object.assign;function Vi(e,t){const n={};for(const s in t){const r=t[s];n[s]=bt(r)?r.map(e):e(r)}return n}const ks=()=>{},bt=Array.isArray,Af=/#/g,cE=/&/g,uE=/\//g,fE=/=/g,dE=/\?/g,Tf=/\+/g,hE=/%5B/g,pE=/%5D/g,wf=/%5E/g,gE=/%60/g,Cf=/%7B/g,mE=/%7C/g,Sf=/%7D/g,_E=/%20/g;function ea(e){return encodeURI(""+e).replace(mE,"|").replace(hE,"[").replace(pE,"]")}function vE(e){return ea(e).replace(Cf,"{").replace(Sf,"}").replace(wf,"^")}function ao(e){return ea(e).replace(Tf,"%2B").replace(_E,"+").replace(Af,"%23").replace(cE,"%26").replace(gE,"`").replace(Cf,"{").replace(Sf,"}").replace(wf,"^")}function EE(e){return ao(e).replace(fE,"%3D")}function yE(e){return ea(e).replace(Af,"%23").replace(dE,"%3F")}function bE(e){return e==null?"":yE(e).replace(uE,"%2F")}function Us(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const AE=/\/$/,TE=e=>e.replace(AE,"");function Fi(e,t,n="/"){let s,r={},o="",a="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(s=t.slice(0,c),o=t.slice(c+1,l>-1?l:t.length),r=e(o)),l>-1&&(s=s||t.slice(0,l),a=t.slice(l,t.length)),s=OE(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:r,hash:Us(a)}}function wE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function CE(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&us(t.matched[s],n.matched[r])&&Of(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function us(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Of(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!SE(e[n],t[n]))return!1;return!0}function SE(e,t){return bt(e)?ql(e,t):bt(t)?ql(t,e):e===t}function ql(e,t){return bt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function OE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(a).join("/")}const Gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Ys;(function(e){e.pop="pop",e.push="push"})(Ys||(Ys={}));var Vs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vs||(Vs={}));function xE(e){if(!e)if(Gn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),TE(e)}const NE=/^[^#]+#/;function $E(e,t){return e.replace(NE,"#")+t}function DE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const oi=()=>({left:window.scrollX,top:window.scrollY});function LE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=DE(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function zl(e,t){return(history.state?history.state.position-t:-1)+e}const lo=new Map;function RE(e,t){lo.set(e,t)}function IE(e){const t=lo.get(e);return lo.delete(e),t}let PE=()=>location.protocol+"//"+location.host;function xf(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let l=r.includes(e.slice(o))?e.slice(o).length:1,c=r.slice(l);return c[0]!=="/"&&(c="/"+c),Gl(c,"")}return Gl(n,e)+s+r}function ME(e,t,n,s){let r=[],o=[],a=null;const l=({state:p})=>{const E=xf(e,location),x=n.value,C=t.value;let D=0;if(p){if(n.value=E,t.value=p,a&&a===x){a=null;return}D=C?p.position-C.position:0}else s(E);r.forEach(P=>{P(n.value,x,{delta:D,type:Ys.pop,direction:D?D>0?Vs.forward:Vs.back:Vs.unknown})})};function c(){a=n.value}function d(p){r.push(p);const E=()=>{const x=r.indexOf(p);x>-1&&r.splice(x,1)};return o.push(E),E}function f(){const{history:p}=window;p.state&&p.replaceState(me({},p.state,{scroll:oi()}),"")}function h(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:d,destroy:h}}function Xl(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?oi():null}}function kE(e){const{history:t,location:n}=window,s={value:xf(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:PE()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),r.value=d}catch(E){console.error(E),n[f?"replace":"assign"](p)}}function a(c,d){const f=me({},t.state,Xl(r.value.back,c,r.value.forward,!0),d,{position:r.value.position});o(c,f,!0),s.value=c}function l(c,d){const f=me({},r.value,t.state,{forward:c,scroll:oi()});o(f.current,f,!0);const h=me({},Xl(s.value,c,null),{position:f.position+1},d);o(c,h,!1),s.value=c}return{location:s,state:r,push:l,replace:a}}function VE(e){e=xE(e);const t=kE(e),n=ME(e,t.state,t.location,t.replace);function s(o,a=!0){a||n.pauseListeners(),history.go(o)}const r=me({location:"",base:e,go:s,createHref:$E.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function FE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),VE(e)}function HE(e){return typeof e=="string"||e&&typeof e=="object"}function Nf(e){return typeof e=="string"||typeof e=="symbol"}const $f=Symbol("");var Ql;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ql||(Ql={}));function fs(e,t){return me(new Error,{type:e,[$f]:!0},t)}function It(e,t){return e instanceof Error&&$f in e&&(t==null||!!(e.type&t))}const Jl="[^/]+?",BE={sensitive:!1,strict:!1,start:!0,end:!0},jE=/[.+*?^${}()[\]/\\]/g;function KE(e,t){const n=me({},BE,t),s=[];let r=n.start?"^":"";const o=[];for(const d of e){const f=d.length?[]:[90];n.strict&&!d.length&&(r+="/");for(let h=0;ht.length?t.length===1&&t[0]===80?1:-1:0}function Df(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const UE={type:0,value:""},YE=/[a-zA-Z0-9_]/;function GE(e){if(!e)return[[]];if(e==="/")return[[UE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(E){throw new Error(`ERR (${n})/"${d}": ${E}`)}let n=0,s=n;const r=[];let o;function a(){o&&r.push(o),o=[]}let l=0,c,d="",f="";function h(){d&&(n===0?o.push({type:0,value:d}):n===1||n===2||n===3?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;l{a(k)}:ks}function a(h){if(Nf(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function l(){return n}function c(h){const p=JE(h,n);n.splice(p,0,h),h.record.name&&!nc(h)&&s.set(h.record.name,h)}function d(h,p){let E,x={},C,D;if("name"in h&&h.name){if(E=s.get(h.name),!E)throw fs(1,{location:h});D=E.record.name,x=me(ec(p.params,E.keys.filter(k=>!k.optional).concat(E.parent?E.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),h.params&&ec(h.params,E.keys.map(k=>k.name))),C=E.stringify(x)}else if(h.path!=null)C=h.path,E=n.find(k=>k.re.test(C)),E&&(x=E.parse(C),D=E.record.name);else{if(E=p.name?s.get(p.name):n.find(k=>k.re.test(p.path)),!E)throw fs(1,{location:h,currentLocation:p});D=E.record.name,x=me({},p.params,h.params),C=E.stringify(x)}const P=[];let V=E;for(;V;)P.unshift(V.record),V=V.parent;return{name:D,path:C,params:x,matched:P,meta:QE(P)}}e.forEach(h=>o(h));function f(){n.length=0,s.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function ec(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function tc(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:XE(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function XE(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function nc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function QE(e){return e.reduce((t,n)=>me(t,n.meta),{})}function sc(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function JE(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Df(e,t[o])<0?s=o:n=o+1}const r=ZE(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ZE(e){let t=e;for(;t=t.parent;)if(Lf(t)&&Df(e,t)===0)return t}function Lf({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ey(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&ao(o)):[s&&ao(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function ty(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=bt(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const ny=Symbol(""),ic=Symbol(""),ai=Symbol(""),ta=Symbol(""),co=Symbol("");function Ss(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Zt(e,t,n,s,r,o=a=>a()){const a=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(fs(4,{from:n,to:t})):p instanceof Error?c(p):HE(p)?c(fs(2,{from:t,to:p})):(a&&s.enterCallbacks[r]===a&&typeof p=="function"&&a.push(p),l())},f=o(()=>e.call(s&&s.instances[r],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function Hi(e,t,n,s,r=o=>o()){const o=[];for(const a of e)for(const l in a.components){let c=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(bf(c)){const f=(c.__vccOpts||c)[t];f&&o.push(Zt(f,n,s,a,l,r))}else{let d=c();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const h=lE(f)?f.default:f;a.mods[l]=f,a.components[l]=h;const E=(h.__vccOpts||h)[t];return E&&Zt(E,n,s,a,l,r)()}))}}return o}function oc(e){const t=ft(ai),n=ft(ta),s=lt(()=>{const c=vt(e.to);return t.resolve(c)}),r=lt(()=>{const{matched:c}=s.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(us.bind(null,f));if(p>-1)return p;const E=ac(c[d-2]);return d>1&&ac(f)===E&&h[h.length-1].path!==E?h.findIndex(us.bind(null,c[d-2])):p}),o=lt(()=>r.value>-1&&oy(n.params,s.value.params)),a=lt(()=>r.value>-1&&r.value===n.matched.length-1&&Of(n.params,s.value.params));function l(c={}){return iy(c)?t[vt(e.replace)?"replace":"push"](vt(e.to)).catch(ks):Promise.resolve()}return{route:s,href:lt(()=>s.value.href),isActive:o,isExactActive:a,navigate:l}}const sy=Bo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:oc,setup(e,{slots:t}){const n=zs(oc(e)),{options:s}=ft(ai),r=lt(()=>({[lc(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[lc(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Zo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),ry=sy;function iy(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function oy(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!bt(r)||r.length!==s.length||s.some((o,a)=>o!==r[a]))return!1}return!0}function ac(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const lc=(e,t,n)=>e??t??n,ay=Bo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ft(co),r=lt(()=>e.route||s.value),o=ft(ic,0),a=lt(()=>{let d=vt(o);const{matched:f}=r.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=lt(()=>r.value.matched[a.value]);Or(ic,lt(()=>a.value+1)),Or(ny,l),Or(co,r);const c=Cn();return Zn(()=>[c.value,l.value,e.name],([d,f,h],[p,E,x])=>{f&&(f.instances[h]=d,E&&E!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=E.leaveGuards),f.updateGuards.size||(f.updateGuards=E.updateGuards))),d&&f&&(!E||!us(f,E)||!p)&&(f.enterCallbacks[h]||[]).forEach(C=>C(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return cc(n.default,{Component:p,route:d});const E=h.props[f],x=E?E===!0?d.params:typeof E=="function"?E(d):E:null,D=Zo(p,me({},x,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return cc(n.default,{Component:D,route:d})||D}}});function cc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Rf=ay;function ly(e){const t=zE(e.routes,e),n=e.parseQuery||ey,s=e.stringifyQuery||rc,r=e.history,o=Ss(),a=Ss(),l=Ss(),c=fu(Gt);let d=Gt;Gn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Vi.bind(null,R=>""+R),h=Vi.bind(null,bE),p=Vi.bind(null,Us);function E(R,q){let z,J;return Nf(R)?(z=t.getRecordMatcher(R),J=q):J=R,t.addRoute(J,z)}function x(R){const q=t.getRecordMatcher(R);q&&t.removeRoute(q)}function C(){return t.getRoutes().map(R=>R.record)}function D(R){return!!t.getRecordMatcher(R)}function P(R,q){if(q=me({},q||c.value),typeof R=="string"){const _=Fi(n,R,q.path),O=t.resolve({path:_.path},q),H=r.createHref(_.fullPath);return me(_,O,{params:p(O.params),hash:Us(_.hash),redirectedFrom:void 0,href:H})}let z;if(R.path!=null)z=me({},R,{path:Fi(n,R.path,q.path).path});else{const _=me({},R.params);for(const O in _)_[O]==null&&delete _[O];z=me({},R,{params:h(_)}),q.params=h(q.params)}const J=t.resolve(z,q),$=R.hash||"";J.params=f(p(J.params));const ge=wE(s,me({},R,{hash:vE($),path:J.path})),g=r.createHref(ge);return me({fullPath:ge,hash:$,query:s===rc?ty(R.query):R.query||{}},J,{redirectedFrom:void 0,href:g})}function V(R){return typeof R=="string"?Fi(n,R,c.value.path):me({},R)}function k(R,q){if(d!==R)return fs(8,{from:q,to:R})}function M(R){return S(R)}function b(R){return M(me(V(R),{replace:!0}))}function y(R){const q=R.matched[R.matched.length-1];if(q&&q.redirect){const{redirect:z}=q;let J=typeof z=="function"?z(R):z;return typeof J=="string"&&(J=J.includes("?")||J.includes("#")?J=V(J):{path:J},J.params={}),me({query:R.query,hash:R.hash,params:J.path!=null?{}:R.params},J)}}function S(R,q){const z=d=P(R),J=c.value,$=R.state,ge=R.force,g=R.replace===!0,_=y(z);if(_)return S(me(V(_),{state:typeof _=="object"?me({},$,_.state):$,force:ge,replace:g}),q||z);const O=z;O.redirectedFrom=q;let H;return!ge&&CE(s,J,z)&&(H=fs(16,{to:O,from:J}),De(J,J,!0,!1)),(H?Promise.resolve(H):w(O,J)).catch(L=>It(L)?It(L,2)?L:He(L):ce(L,O,J)).then(L=>{if(L){if(It(L,2))return S(me({replace:g},V(L.to),{state:typeof L.to=="object"?me({},$,L.to.state):$,force:ge}),q||O)}else L=B(O,J,!0,g,$);return j(O,J,L),L})}function T(R,q){const z=k(R,q);return z?Promise.reject(z):Promise.resolve()}function A(R){const q=Be.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(R):R()}function w(R,q){let z;const[J,$,ge]=cy(R,q);z=Hi(J.reverse(),"beforeRouteLeave",R,q);for(const _ of J)_.leaveGuards.forEach(O=>{z.push(Zt(O,R,q))});const g=T.bind(null,R,q);return z.push(g),we(z).then(()=>{z=[];for(const _ of o.list())z.push(Zt(_,R,q));return z.push(g),we(z)}).then(()=>{z=Hi($,"beforeRouteUpdate",R,q);for(const _ of $)_.updateGuards.forEach(O=>{z.push(Zt(O,R,q))});return z.push(g),we(z)}).then(()=>{z=[];for(const _ of ge)if(_.beforeEnter)if(bt(_.beforeEnter))for(const O of _.beforeEnter)z.push(Zt(O,R,q));else z.push(Zt(_.beforeEnter,R,q));return z.push(g),we(z)}).then(()=>(R.matched.forEach(_=>_.enterCallbacks={}),z=Hi(ge,"beforeRouteEnter",R,q,A),z.push(g),we(z))).then(()=>{z=[];for(const _ of a.list())z.push(Zt(_,R,q));return z.push(g),we(z)}).catch(_=>It(_,8)?_:Promise.reject(_))}function j(R,q,z){l.list().forEach(J=>A(()=>J(R,q,z)))}function B(R,q,z,J,$){const ge=k(R,q);if(ge)return ge;const g=q===Gt,_=Gn?history.state:{};z&&(J||g?r.replace(R.fullPath,me({scroll:g&&_&&_.scroll},$)):r.push(R.fullPath,$)),c.value=R,De(R,q,z,g),He()}let Q;function oe(){Q||(Q=r.listen((R,q,z)=>{if(!Pe.listening)return;const J=P(R),$=y(J);if($){S(me($,{replace:!0}),J).catch(ks);return}d=J;const ge=c.value;Gn&&RE(zl(ge.fullPath,z.delta),oi()),w(J,ge).catch(g=>It(g,12)?g:It(g,2)?(S(g.to,J).then(_=>{It(_,20)&&!z.delta&&z.type===Ys.pop&&r.go(-1,!1)}).catch(ks),Promise.reject()):(z.delta&&r.go(-z.delta,!1),ce(g,J,ge))).then(g=>{g=g||B(J,ge,!1),g&&(z.delta&&!It(g,8)?r.go(-z.delta,!1):z.type===Ys.pop&&It(g,20)&&r.go(-1,!1)),j(J,ge,g)}).catch(ks)}))}let he=Ss(),te=Ss(),Z;function ce(R,q,z){He(R);const J=te.list();return J.length?J.forEach($=>$(R,q,z)):console.error(R),Promise.reject(R)}function Ce(){return Z&&c.value!==Gt?Promise.resolve():new Promise((R,q)=>{he.add([R,q])})}function He(R){return Z||(Z=!R,oe(),he.list().forEach(([q,z])=>R?z(R):q()),he.reset()),R}function De(R,q,z,J){const{scrollBehavior:$}=e;if(!Gn||!$)return Promise.resolve();const ge=!z&&IE(zl(R.fullPath,0))||(J||!z)&&history.state&&history.state.scroll||null;return ei().then(()=>$(R,q,ge)).then(g=>g&&LE(g)).catch(g=>ce(g,R,q))}const Ae=R=>r.go(R);let et;const Be=new Set,Pe={currentRoute:c,listening:!0,addRoute:E,removeRoute:x,clearRoutes:t.clearRoutes,hasRoute:D,getRoutes:C,resolve:P,options:e,push:M,replace:b,go:Ae,back:()=>Ae(-1),forward:()=>Ae(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:te.add,isReady:Ce,install(R){const q=this;R.component("RouterLink",ry),R.component("RouterView",Rf),R.config.globalProperties.$router=q,Object.defineProperty(R.config.globalProperties,"$route",{enumerable:!0,get:()=>vt(c)}),Gn&&!et&&c.value===Gt&&(et=!0,M(r.location).catch($=>{}));const z={};for(const $ in Gt)Object.defineProperty(z,$,{get:()=>c.value[$],enumerable:!0});R.provide(ai,q),R.provide(ta,cu(z)),R.provide(co,c);const J=R.unmount;Be.add(R),R.unmount=function(){Be.delete(R),Be.size<1&&(d=Gt,Q&&Q(),Q=null,c.value=Gt,et=!1,Z=!1),J()}}};function we(R){return R.reduce((q,z)=>q.then(()=>A(z)),Promise.resolve())}return Pe}function cy(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;aus(d,l))?s.push(l):n.push(l));const c=e.matched[a];c&&(t.matched.find(d=>us(d,c))||r.push(c))}return[n,s,r]}function pb(){return ft(ai)}function uy(e){return ft(ta)}const fy="modulepreload",dy=function(e){return"/static/app/dist/"+e},uc={},Qe=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");r=Promise.allSettled(n.map(c=>{if(c=dy(c),c in uc)return;uc[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":fy,d||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),d)return new Promise((p,E)=>{h.addEventListener("load",p),h.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return r.then(a=>{for(const l of a||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},fc="[a-fA-F\\d:]",en=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${fc})|(?<=${fc})(?=\\s|$))`:"",mt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Se="[a-fA-F\\d]{1,4}",li=` + */const Gn=typeof document<"u";function Cf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function pE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Cf(e.default)}const me=Object.assign;function Vi(e,t){const n={};for(const s in t){const r=t[s];n[s]=bt(r)?r.map(e):e(r)}return n}const ks=()=>{},bt=Array.isArray,Sf=/#/g,gE=/&/g,mE=/\//g,_E=/=/g,vE=/\?/g,Of=/\+/g,EE=/%5B/g,yE=/%5D/g,Nf=/%5E/g,bE=/%60/g,xf=/%7B/g,AE=/%7C/g,$f=/%7D/g,TE=/%20/g;function ea(e){return encodeURI(""+e).replace(AE,"|").replace(EE,"[").replace(yE,"]")}function wE(e){return ea(e).replace(xf,"{").replace($f,"}").replace(Nf,"^")}function ao(e){return ea(e).replace(Of,"%2B").replace(TE,"+").replace(Sf,"%23").replace(gE,"%26").replace(bE,"`").replace(xf,"{").replace($f,"}").replace(Nf,"^")}function CE(e){return ao(e).replace(_E,"%3D")}function SE(e){return ea(e).replace(Sf,"%23").replace(vE,"%3F")}function OE(e){return e==null?"":SE(e).replace(mE,"%2F")}function Us(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const NE=/\/$/,xE=e=>e.replace(NE,"");function Fi(e,t,n="/"){let s,r={},o="",a="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(s=t.slice(0,c),o=t.slice(c+1,l>-1?l:t.length),r=e(o)),l>-1&&(s=s||t.slice(0,l),a=t.slice(l,t.length)),s=IE(s??t,n),{fullPath:s+(o&&"?")+o+a,path:s,query:r,hash:Us(a)}}function $E(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function zl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function DE(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&us(t.matched[s],n.matched[r])&&Df(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function us(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Df(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!LE(e[n],t[n]))return!1;return!0}function LE(e,t){return bt(e)?Xl(e,t):bt(t)?Xl(t,e):e===t}function Xl(e,t){return bt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function IE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,a,l;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(a).join("/")}const Gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Ys;(function(e){e.pop="pop",e.push="push"})(Ys||(Ys={}));var Vs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vs||(Vs={}));function RE(e){if(!e)if(Gn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),xE(e)}const PE=/^[^#]+#/;function ME(e,t){return e.replace(PE,"#")+t}function kE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const oi=()=>({left:window.scrollX,top:window.scrollY});function VE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=kE(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ql(e,t){return(history.state?history.state.position-t:-1)+e}const lo=new Map;function FE(e,t){lo.set(e,t)}function HE(e){const t=lo.get(e);return lo.delete(e),t}let BE=()=>location.protocol+"//"+location.host;function Lf(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let l=r.includes(e.slice(o))?e.slice(o).length:1,c=r.slice(l);return c[0]!=="/"&&(c="/"+c),zl(c,"")}return zl(n,e)+s+r}function jE(e,t,n,s){let r=[],o=[],a=null;const l=({state:p})=>{const E=Lf(e,location),S=n.value,C=t.value;let D=0;if(p){if(n.value=E,t.value=p,a&&a===S){a=null;return}D=C?p.position-C.position:0}else s(E);r.forEach(P=>{P(n.value,S,{delta:D,type:Ys.pop,direction:D?D>0?Vs.forward:Vs.back:Vs.unknown})})};function c(){a=n.value}function d(p){r.push(p);const E=()=>{const S=r.indexOf(p);S>-1&&r.splice(S,1)};return o.push(E),E}function f(){const{history:p}=window;p.state&&p.replaceState(me({},p.state,{scroll:oi()}),"")}function h(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:c,listen:d,destroy:h}}function Jl(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?oi():null}}function KE(e){const{history:t,location:n}=window,s={value:Lf(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:BE()+e+c;try{t[f?"replaceState":"pushState"](d,"",p),r.value=d}catch(E){console.error(E),n[f?"replace":"assign"](p)}}function a(c,d){const f=me({},t.state,Jl(r.value.back,c,r.value.forward,!0),d,{position:r.value.position});o(c,f,!0),s.value=c}function l(c,d){const f=me({},r.value,t.state,{forward:c,scroll:oi()});o(f.current,f,!0);const h=me({},Jl(s.value,c,null),{position:f.position+1},d);o(c,h,!1),s.value=c}return{location:s,state:r,push:l,replace:a}}function WE(e){e=RE(e);const t=KE(e),n=jE(e,t.state,t.location,t.replace);function s(o,a=!0){a||n.pauseListeners(),history.go(o)}const r=me({location:"",base:e,go:s,createHref:ME.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function UE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),WE(e)}function YE(e){return typeof e=="string"||e&&typeof e=="object"}function If(e){return typeof e=="string"||typeof e=="symbol"}const Rf=Symbol("");var Zl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Zl||(Zl={}));function fs(e,t){return me(new Error,{type:e,[Rf]:!0},t)}function Rt(e,t){return e instanceof Error&&Rf in e&&(t==null||!!(e.type&t))}const ec="[^/]+?",GE={sensitive:!1,strict:!1,start:!0,end:!0},qE=/[.+*?^${}()[\]/\\]/g;function zE(e,t){const n=me({},GE,t),s=[];let r=n.start?"^":"";const o=[];for(const d of e){const f=d.length?[]:[90];n.strict&&!d.length&&(r+="/");for(let h=0;ht.length?t.length===1&&t[0]===80?1:-1:0}function Pf(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const QE={type:0,value:""},JE=/[a-zA-Z0-9_]/;function ZE(e){if(!e)return[[]];if(e==="/")return[[QE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(E){throw new Error(`ERR (${n})/"${d}": ${E}`)}let n=0,s=n;const r=[];let o;function a(){o&&r.push(o),o=[]}let l=0,c,d="",f="";function h(){d&&(n===0?o.push({type:0,value:d}):n===1||n===2||n===3?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:d,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;l{a(k)}:ks}function a(h){if(If(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(a),h.alias.forEach(a))}}function l(){return n}function c(h){const p=ry(h,n);n.splice(p,0,h),h.record.name&&!rc(h)&&s.set(h.record.name,h)}function d(h,p){let E,S={},C,D;if("name"in h&&h.name){if(E=s.get(h.name),!E)throw fs(1,{location:h});D=E.record.name,S=me(nc(p.params,E.keys.filter(k=>!k.optional).concat(E.parent?E.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),h.params&&nc(h.params,E.keys.map(k=>k.name))),C=E.stringify(S)}else if(h.path!=null)C=h.path,E=n.find(k=>k.re.test(C)),E&&(S=E.parse(C),D=E.record.name);else{if(E=p.name?s.get(p.name):n.find(k=>k.re.test(p.path)),!E)throw fs(1,{location:h,currentLocation:p});D=E.record.name,S=me({},p.params,h.params),C=E.stringify(S)}const P=[];let V=E;for(;V;)P.unshift(V.record),V=V.parent;return{name:D,path:C,params:S,matched:P,meta:sy(P)}}e.forEach(h=>o(h));function f(){n.length=0,s.clear()}return{addRoute:o,resolve:d,removeRoute:a,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function nc(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function sc(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ny(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ny(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function rc(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function sy(e){return e.reduce((t,n)=>me(t,n.meta),{})}function ic(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function ry(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Pf(e,t[o])<0?s=o:n=o+1}const r=iy(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function iy(e){let t=e;for(;t=t.parent;)if(Mf(t)&&Pf(e,t)===0)return t}function Mf({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function oy(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&ao(o)):[s&&ao(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function ay(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=bt(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const ly=Symbol(""),ac=Symbol(""),ai=Symbol(""),ta=Symbol(""),co=Symbol("");function Ss(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Zt(e,t,n,s,r,o=a=>a()){const a=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(fs(4,{from:n,to:t})):p instanceof Error?c(p):YE(p)?c(fs(2,{from:t,to:p})):(a&&s.enterCallbacks[r]===a&&typeof p=="function"&&a.push(p),l())},f=o(()=>e.call(s&&s.instances[r],t,n,d));let h=Promise.resolve(f);e.length<3&&(h=h.then(d)),h.catch(p=>c(p))})}function Hi(e,t,n,s,r=o=>o()){const o=[];for(const a of e)for(const l in a.components){let c=a.components[l];if(!(t!=="beforeRouteEnter"&&!a.instances[l]))if(Cf(c)){const f=(c.__vccOpts||c)[t];f&&o.push(Zt(f,n,s,a,l,r))}else{let d=c();o.push(()=>d.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${a.path}"`);const h=pE(f)?f.default:f;a.mods[l]=f,a.components[l]=h;const E=(h.__vccOpts||h)[t];return E&&Zt(E,n,s,a,l,r)()}))}}return o}function lc(e){const t=ft(ai),n=ft(ta),s=lt(()=>{const c=vt(e.to);return t.resolve(c)}),r=lt(()=>{const{matched:c}=s.value,{length:d}=c,f=c[d-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(us.bind(null,f));if(p>-1)return p;const E=cc(c[d-2]);return d>1&&cc(f)===E&&h[h.length-1].path!==E?h.findIndex(us.bind(null,c[d-2])):p}),o=lt(()=>r.value>-1&&dy(n.params,s.value.params)),a=lt(()=>r.value>-1&&r.value===n.matched.length-1&&Df(n.params,s.value.params));function l(c={}){return fy(c)?t[vt(e.replace)?"replace":"push"](vt(e.to)).catch(ks):Promise.resolve()}return{route:s,href:lt(()=>s.value.href),isActive:o,isExactActive:a,navigate:l}}const cy=Bo({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:lc,setup(e,{slots:t}){const n=zs(lc(e)),{options:s}=ft(ai),r=lt(()=>({[uc(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[uc(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Zo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),uy=cy;function fy(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function dy(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!bt(r)||r.length!==s.length||s.some((o,a)=>o!==r[a]))return!1}return!0}function cc(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const uc=(e,t,n)=>e??t??n,hy=Bo({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ft(co),r=lt(()=>e.route||s.value),o=ft(ac,0),a=lt(()=>{let d=vt(o);const{matched:f}=r.value;let h;for(;(h=f[d])&&!h.components;)d++;return d}),l=lt(()=>r.value.matched[a.value]);Or(ac,lt(()=>a.value+1)),Or(ly,l),Or(co,r);const c=Cn();return Zn(()=>[c.value,l.value,e.name],([d,f,h],[p,E,S])=>{f&&(f.instances[h]=d,E&&E!==f&&d&&d===p&&(f.leaveGuards.size||(f.leaveGuards=E.leaveGuards),f.updateGuards.size||(f.updateGuards=E.updateGuards))),d&&f&&(!E||!us(f,E)||!p)&&(f.enterCallbacks[h]||[]).forEach(C=>C(d))},{flush:"post"}),()=>{const d=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return fc(n.default,{Component:p,route:d});const E=h.props[f],S=E?E===!0?d.params:typeof E=="function"?E(d):E:null,D=Zo(p,me({},S,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return fc(n.default,{Component:D,route:d})||D}}});function fc(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const kf=hy;function py(e){const t=ty(e.routes,e),n=e.parseQuery||oy,s=e.stringifyQuery||oc,r=e.history,o=Ss(),a=Ss(),l=Ss(),c=gu(Gt);let d=Gt;Gn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Vi.bind(null,I=>""+I),h=Vi.bind(null,OE),p=Vi.bind(null,Us);function E(I,q){let z,J;return If(I)?(z=t.getRecordMatcher(I),J=q):J=I,t.addRoute(J,z)}function S(I){const q=t.getRecordMatcher(I);q&&t.removeRoute(q)}function C(){return t.getRoutes().map(I=>I.record)}function D(I){return!!t.getRecordMatcher(I)}function P(I,q){if(q=me({},q||c.value),typeof I=="string"){const _=Fi(n,I,q.path),N=t.resolve({path:_.path},q),H=r.createHref(_.fullPath);return me(_,N,{params:p(N.params),hash:Us(_.hash),redirectedFrom:void 0,href:H})}let z;if(I.path!=null)z=me({},I,{path:Fi(n,I.path,q.path).path});else{const _=me({},I.params);for(const N in _)_[N]==null&&delete _[N];z=me({},I,{params:h(_)}),q.params=h(q.params)}const J=t.resolve(z,q),$=I.hash||"";J.params=f(p(J.params));const ge=$E(s,me({},I,{hash:wE($),path:J.path})),g=r.createHref(ge);return me({fullPath:ge,hash:$,query:s===oc?ay(I.query):I.query||{}},J,{redirectedFrom:void 0,href:g})}function V(I){return typeof I=="string"?Fi(n,I,c.value.path):me({},I)}function k(I,q){if(d!==I)return fs(8,{from:q,to:I})}function M(I){return O(I)}function b(I){return M(me(V(I),{replace:!0}))}function y(I){const q=I.matched[I.matched.length-1];if(q&&q.redirect){const{redirect:z}=q;let J=typeof z=="function"?z(I):z;return typeof J=="string"&&(J=J.includes("?")||J.includes("#")?J=V(J):{path:J},J.params={}),me({query:I.query,hash:I.hash,params:J.path!=null?{}:I.params},J)}}function O(I,q){const z=d=P(I),J=c.value,$=I.state,ge=I.force,g=I.replace===!0,_=y(z);if(_)return O(me(V(_),{state:typeof _=="object"?me({},$,_.state):$,force:ge,replace:g}),q||z);const N=z;N.redirectedFrom=q;let H;return!ge&&DE(s,J,z)&&(H=fs(16,{to:N,from:J}),De(J,J,!0,!1)),(H?Promise.resolve(H):w(N,J)).catch(L=>Rt(L)?Rt(L,2)?L:He(L):ce(L,N,J)).then(L=>{if(L){if(Rt(L,2))return O(me({replace:g},V(L.to),{state:typeof L.to=="object"?me({},$,L.to.state):$,force:ge}),q||N)}else L=B(N,J,!0,g,$);return j(N,J,L),L})}function T(I,q){const z=k(I,q);return z?Promise.reject(z):Promise.resolve()}function A(I){const q=Be.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(I):I()}function w(I,q){let z;const[J,$,ge]=gy(I,q);z=Hi(J.reverse(),"beforeRouteLeave",I,q);for(const _ of J)_.leaveGuards.forEach(N=>{z.push(Zt(N,I,q))});const g=T.bind(null,I,q);return z.push(g),we(z).then(()=>{z=[];for(const _ of o.list())z.push(Zt(_,I,q));return z.push(g),we(z)}).then(()=>{z=Hi($,"beforeRouteUpdate",I,q);for(const _ of $)_.updateGuards.forEach(N=>{z.push(Zt(N,I,q))});return z.push(g),we(z)}).then(()=>{z=[];for(const _ of ge)if(_.beforeEnter)if(bt(_.beforeEnter))for(const N of _.beforeEnter)z.push(Zt(N,I,q));else z.push(Zt(_.beforeEnter,I,q));return z.push(g),we(z)}).then(()=>(I.matched.forEach(_=>_.enterCallbacks={}),z=Hi(ge,"beforeRouteEnter",I,q,A),z.push(g),we(z))).then(()=>{z=[];for(const _ of a.list())z.push(Zt(_,I,q));return z.push(g),we(z)}).catch(_=>Rt(_,8)?_:Promise.reject(_))}function j(I,q,z){l.list().forEach(J=>A(()=>J(I,q,z)))}function B(I,q,z,J,$){const ge=k(I,q);if(ge)return ge;const g=q===Gt,_=Gn?history.state:{};z&&(J||g?r.replace(I.fullPath,me({scroll:g&&_&&_.scroll},$)):r.push(I.fullPath,$)),c.value=I,De(I,q,z,g),He()}let Q;function oe(){Q||(Q=r.listen((I,q,z)=>{if(!Pe.listening)return;const J=P(I),$=y(J);if($){O(me($,{replace:!0}),J).catch(ks);return}d=J;const ge=c.value;Gn&&FE(Ql(ge.fullPath,z.delta),oi()),w(J,ge).catch(g=>Rt(g,12)?g:Rt(g,2)?(O(g.to,J).then(_=>{Rt(_,20)&&!z.delta&&z.type===Ys.pop&&r.go(-1,!1)}).catch(ks),Promise.reject()):(z.delta&&r.go(-z.delta,!1),ce(g,J,ge))).then(g=>{g=g||B(J,ge,!1),g&&(z.delta&&!Rt(g,8)?r.go(-z.delta,!1):z.type===Ys.pop&&Rt(g,20)&&r.go(-1,!1)),j(J,ge,g)}).catch(ks)}))}let he=Ss(),te=Ss(),Z;function ce(I,q,z){He(I);const J=te.list();return J.length?J.forEach($=>$(I,q,z)):console.error(I),Promise.reject(I)}function Ce(){return Z&&c.value!==Gt?Promise.resolve():new Promise((I,q)=>{he.add([I,q])})}function He(I){return Z||(Z=!I,oe(),he.list().forEach(([q,z])=>I?z(I):q()),he.reset()),I}function De(I,q,z,J){const{scrollBehavior:$}=e;if(!Gn||!$)return Promise.resolve();const ge=!z&&HE(Ql(I.fullPath,0))||(J||!z)&&history.state&&history.state.scroll||null;return ei().then(()=>$(I,q,ge)).then(g=>g&&VE(g)).catch(g=>ce(g,I,q))}const Ae=I=>r.go(I);let et;const Be=new Set,Pe={currentRoute:c,listening:!0,addRoute:E,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:D,getRoutes:C,resolve:P,options:e,push:M,replace:b,go:Ae,back:()=>Ae(-1),forward:()=>Ae(1),beforeEach:o.add,beforeResolve:a.add,afterEach:l.add,onError:te.add,isReady:Ce,install(I){const q=this;I.component("RouterLink",uy),I.component("RouterView",kf),I.config.globalProperties.$router=q,Object.defineProperty(I.config.globalProperties,"$route",{enumerable:!0,get:()=>vt(c)}),Gn&&!et&&c.value===Gt&&(et=!0,M(r.location).catch($=>{}));const z={};for(const $ in Gt)Object.defineProperty(z,$,{get:()=>c.value[$],enumerable:!0});I.provide(ai,q),I.provide(ta,hu(z)),I.provide(co,c);const J=I.unmount;Be.add(I),I.unmount=function(){Be.delete(I),Be.size<1&&(d=Gt,Q&&Q(),Q=null,c.value=Gt,et=!1,Z=!1),J()}}};function we(I){return I.reduce((q,z)=>q.then(()=>A(z)),Promise.resolve())}return Pe}function gy(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;aus(d,l))?s.push(l):n.push(l));const c=e.matched[a];c&&(t.matched.find(d=>us(d,c))||r.push(c))}return[n,s,r]}function $b(){return ft(ai)}function my(e){return ft(ta)}const _y="modulepreload",vy=function(e){return"/static/app/dist/"+e},dc={},Qe=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");r=Promise.allSettled(n.map(c=>{if(c=vy(c),c in dc)return;dc[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":_y,d||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),d)return new Promise((p,E)=>{h.addEventListener("load",p),h.addEventListener("error",()=>E(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return r.then(a=>{for(const l of a||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},hc="[a-fA-F\\d:]",en=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${hc})|(?<=${hc})(?=\\s|$))`:"",mt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Se="[a-fA-F\\d]{1,4}",li=` (?: (?:${Se}:){7}(?:${Se}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 (?:${Se}:){6}(?:${mt}|:${Se}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 @@ -38,7 +38,7 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-NoeoO4ov. (?:${Se}:){1}(?:(?::${Se}){0,4}:${mt}|(?::${Se}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 (?::(?:(?::${Se}){0,5}:${mt}|(?::${Se}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 -`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),hy=new RegExp(`(?:^${mt}$)|(?:^${li}$)`),py=new RegExp(`^${mt}$`),gy=new RegExp(`^${li}$`),ci=e=>e&&e.exact?hy:new RegExp(`(?:${en(e)}${mt}${en(e)})|(?:${en(e)}${li}${en(e)})`,"g");ci.v4=e=>e&&e.exact?py:new RegExp(`${en(e)}${mt}${en(e)}`,"g");ci.v6=e=>e&&e.exact?gy:new RegExp(`${en(e)}${li}${en(e)}`,"g");const If={exact:!1},Pf=`${ci.v4().source}\\/(3[0-2]|[12]?[0-9])`,Mf=`${ci.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,my=new RegExp(`^${Pf}$`),_y=new RegExp(`^${Mf}$`),vy=({exact:e}=If)=>e?my:new RegExp(Pf,"g"),Ey=({exact:e}=If)=>e?_y:new RegExp(Mf,"g"),kf=vy({exact:!0}),Vf=Ey({exact:!0}),na=e=>kf.test(e)?4:Vf.test(e)?6:0;na.v4=e=>kf.test(e);na.v6=e=>Vf.test(e);const kt=e=>{const t=un();if(t.Locale===null)return e;const s=Object.keys(t.Locale).filter(r=>e.match(new RegExp("^"+r+"$","gi"))!==null);return s.length===0||s.length>1||t.Locale[s[0]].length===0?e:e.replace(new RegExp(s[0],"gi"),t.Locale[s[0]])},yy=yf("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",ConfigurationListInterval:void 0,PeerScheduleJobs:{dropdowns:{Field:[{display:kt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:kt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:kt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:kt("Date"),value:"date",type:"date"}],Operator:[{display:kt("larger than"),value:"lgt"}],Action:[{display:kt("Restrict Peer"),value:"restrict"},{display:kt("Delete Peer"),value:"delete"}]}}}),actions:{async getConfigurations(){await jr("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return na(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}}}),by=async()=>{let e=!1;return await jr("/api/validateAuthentication",{},t=>{e=t.status}),e},ms=ly({history:FE(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>Qe(()=>import("./index-NoeoO4ov.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>Qe(()=>import("./configurationList-DQQRd36V.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:()=>Qe(()=>import("./settings-CTsJUPTm.js"),__vite__mapDeps([11,1,2,12,13])),meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:()=>Qe(()=>import("./ping-BeEh6Px6.js"),__vite__mapDeps([14,1,15,16,17]))},{path:"/traceroute",name:"Traceroute",component:()=>Qe(()=>import("./traceroute-CrmFuIsy.js"),__vite__mapDeps([18,15,16,1,19]))},{name:"New Configuration",path:"/new_configuration",component:()=>Qe(()=>import("./newConfiguration-DxS5shXz.js"),__vite__mapDeps([20,21,1,22])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"/restore_configuration",component:()=>Qe(()=>import("./restoreConfiguration--tXM7JI_.js"),__vite__mapDeps([23,1,2,7,21,24])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"/system_status",component:()=>Qe(()=>import("./systemStatus-XiZp1W1_.js"),__vite__mapDeps([25,1,8,9,26,2,27])),meta:{title:"System Status"}},{name:"Configuration",path:"/configuration/:id",component:()=>Qe(()=>import("./configuration-CYLiSKJl.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>Qe(()=>import("./peerList-Byi8rRFH.js"),__vite__mapDeps([28,7,1,26,2,29]))}]}]},{path:"/signin",component:()=>Qe(()=>import("./signin-DO6dmDeT.js"),__vite__mapDeps([30,3,1,2,4,31])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>Qe(()=>import("./setup-Dv1b0O33.js"),__vite__mapDeps([32,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>Qe(()=>import("./totp-DoCpDT9z.js"),__vite__mapDeps([33,34,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>Qe(()=>import("./share-BVKPGH8X.js"),__vite__mapDeps([35,34,1,36])),meta:{title:"Share",hideTopNav:!0}}]});ms.beforeEach(async(e,t,n)=>{const s=yy(),r=un();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",r.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?r.getActiveCrossServer()?(await r.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):await by()?(await r.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),r.Redirect=void 0,n()):(r.Redirect=e,n("/signin"),r.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});ms.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const Ff=()=>{let e={"content-type":"application/json"};const n=un().getActiveCrossServer();return n&&(e["wg-dashboard-apikey"]=n.apiKey),e},Hf=e=>{const n=un().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},jr=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${Hf(e)}?${s.toString()}`,{headers:Ff()}).then(r=>{const o=un();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),ms.push({path:"/signin"})})},gb=async(e,t,n)=>{await fetch(`${Hf(e)}`,{headers:Ff(),method:"POST",body:JSON.stringify(t)}).then(s=>{const r=un();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&r.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),ms.push({path:"/signin"})})};let Tr;const Ay=new Uint8Array(16);function Ty(){if(!Tr&&(Tr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Tr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Tr(Ay)}const Re=[];for(let e=0;e<256;++e)Re.push((e+256).toString(16).slice(1));function wy(e,t=0){return Re[e[t+0]]+Re[e[t+1]]+Re[e[t+2]]+Re[e[t+3]]+"-"+Re[e[t+4]]+Re[e[t+5]]+"-"+Re[e[t+6]]+Re[e[t+7]]+"-"+Re[e[t+8]]+Re[e[t+9]]+"-"+Re[e[t+10]]+Re[e[t+11]]+Re[e[t+12]]+Re[e[t+13]]+Re[e[t+14]]+Re[e[t+15]]}const Cy=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),dc={randomUUID:Cy};function hc(e,t,n){if(dc.randomUUID&&!t&&!e)return dc.randomUUID();e=e||{};const s=e.random||(e.rng||Ty)();return s[6]=s[6]&15|64,s[8]=s[8]&63|128,wy(s)}const un=yf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:void 0}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[hc().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e)},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await jr("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await jr("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:hc(),from:kt(e),content:kt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(s=>e.match(new RegExp("^"+s+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}}});/*! SPDX-License-Identifier: GPL-2.0 +`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Ey=new RegExp(`(?:^${mt}$)|(?:^${li}$)`),yy=new RegExp(`^${mt}$`),by=new RegExp(`^${li}$`),ci=e=>e&&e.exact?Ey:new RegExp(`(?:${en(e)}${mt}${en(e)})|(?:${en(e)}${li}${en(e)})`,"g");ci.v4=e=>e&&e.exact?yy:new RegExp(`${en(e)}${mt}${en(e)}`,"g");ci.v6=e=>e&&e.exact?by:new RegExp(`${en(e)}${li}${en(e)}`,"g");const Vf={exact:!1},Ff=`${ci.v4().source}\\/(3[0-2]|[12]?[0-9])`,Hf=`${ci.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,Ay=new RegExp(`^${Ff}$`),Ty=new RegExp(`^${Hf}$`),wy=({exact:e}=Vf)=>e?Ay:new RegExp(Ff,"g"),Cy=({exact:e}=Vf)=>e?Ty:new RegExp(Hf,"g"),Bf=wy({exact:!0}),jf=Cy({exact:!0}),na=e=>Bf.test(e)?4:jf.test(e)?6:0;na.v4=e=>Bf.test(e);na.v6=e=>jf.test(e);const kt=e=>{const t=un();if(t.Locale===null)return e;const s=Object.keys(t.Locale).filter(r=>e.match(new RegExp("^"+r+"$","gi"))!==null);return s.length===0||s.length>1||t.Locale[s[0]].length===0?e:e.replace(new RegExp(s[0],"gi"),t.Locale[s[0]])},Sy=wf("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",ConfigurationListInterval:void 0,PeerScheduleJobs:{dropdowns:{Field:[{display:kt("Total Received"),value:"total_receive",unit:"GB",type:"number"},{display:kt("Total Sent"),value:"total_sent",unit:"GB",type:"number"},{display:kt("Total Usage"),value:"total_data",unit:"GB",type:"number"},{display:kt("Date"),value:"date",type:"date"}],Operator:[{display:kt("larger than"),value:"lgt"}],Action:[{display:kt("Restrict Peer"),value:"restrict"},{display:kt("Delete Peer"),value:"delete"}]}}}),actions:{async getConfigurations(){await jr("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return na(e)!==0},checkWGKeyLength(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)}}}),Oy=async()=>{let e=!1;return await jr("/api/validateAuthentication",{},t=>{e=t.status}),e},ms=py({history:UE(),scrollBehavior(){document.querySelector("main")!==null&&document.querySelector("main").scrollTo({top:0})},routes:[{name:"Index",path:"/",component:()=>Qe(()=>import("./index-DayqW9ZJ.js"),__vite__mapDeps([0,1,2,3,4,5])),meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:()=>Qe(()=>import("./configurationList-DklaYDZL.js"),__vite__mapDeps([6,1,7,8,9,10])),meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:()=>Qe(()=>import("./settings-DI91zM2r.js"),__vite__mapDeps([11,1,2,12,13])),meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:()=>Qe(()=>import("./ping-RnINcPPT.js"),__vite__mapDeps([14,1,15,16,17]))},{path:"/traceroute",name:"Traceroute",component:()=>Qe(()=>import("./traceroute-DttaJ1gk.js"),__vite__mapDeps([18,15,16,1,19]))},{name:"New Configuration",path:"/new_configuration",component:()=>Qe(()=>import("./newConfiguration-DGE5GvY1.js"),__vite__mapDeps([20,21,1,22])),meta:{title:"New Configuration"}},{name:"Restore Configuration",path:"/restore_configuration",component:()=>Qe(()=>import("./restoreConfiguration-zRXQz624.js"),__vite__mapDeps([23,1,2,7,21,24])),meta:{title:"Restore Configuration"}},{name:"System Status",path:"/system_status",component:()=>Qe(()=>import("./systemStatus-m8M0paXn.js"),__vite__mapDeps([25,1,8,9,26,2,27])),meta:{title:"System Status"}},{name:"Configuration",path:"/configuration/:id",component:()=>Qe(()=>import("./configuration-Dcu_WF0d.js"),[]),meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:()=>Qe(()=>import("./peerList-BWUtc9Bh.js"),__vite__mapDeps([28,7,1,26,2,29]))}]}]},{path:"/signin",component:()=>Qe(()=>import("./signin-EC4Wk_x5.js"),__vite__mapDeps([30,3,1,2,4,31])),meta:{title:"Sign In",hideTopNav:!0}},{path:"/welcome",component:()=>Qe(()=>import("./setup-BuRnJAgh.js"),__vite__mapDeps([32,1])),meta:{requiresAuth:!0,title:"Welcome to WGDashboard",hideTopNav:!0}},{path:"/2FASetup",component:()=>Qe(()=>import("./totp-zLXmwPpE.js"),__vite__mapDeps([33,34,1])),meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup",hideTopNav:!0}},{path:"/share",component:()=>Qe(()=>import("./share-DfPEOTNH.js"),__vite__mapDeps([35,34,1,36])),meta:{title:"Share",hideTopNav:!0}}]});ms.beforeEach(async(e,t,n)=>{const s=Sy(),r=un();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",r.ShowNavBar=!1,document.querySelector(".loadingBar").classList.remove("loadingDone"),document.querySelector(".loadingBar").classList.add("loading"),e.meta.requiresAuth?r.getActiveCrossServer()?(await r.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):await Oy()?(await r.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),r.Redirect=void 0,n()):(r.Redirect=e,n("/signin"),r.newMessage("WGDashboard","Sign in session ended, please sign in again","warning")):n()});ms.afterEach(()=>{document.querySelector(".loadingBar").classList.remove("loading"),document.querySelector(".loadingBar").classList.add("loadingDone")});const Kf=()=>{let e={"content-type":"application/json"};const n=un().getActiveCrossServer();return n&&(e["wg-dashboard-apikey"]=n.apiKey),e},Wf=e=>{const n=un().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},jr=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${Wf(e)}?${s.toString()}`,{headers:Kf()}).then(r=>{const o=un();if(r.ok)return r.json();if(r.status!==200)throw r.status===401&&o.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(r.statusText)}).then(r=>n?n(r):void 0).catch(r=>{console.log("Error:",r),ms.push({path:"/signin"})})},Db=async(e,t,n)=>{await fetch(`${Wf(e)}`,{headers:Kf(),method:"POST",body:JSON.stringify(t)}).then(s=>{const r=un();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&r.newMessage("WGDashboard","Sign in session ended, please sign in again","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log("Error:",s),ms.push({path:"/signin"})})};let Tr;const Ny=new Uint8Array(16);function xy(){if(!Tr&&(Tr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Tr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Tr(Ny)}const Ie=[];for(let e=0;e<256;++e)Ie.push((e+256).toString(16).slice(1));function $y(e,t=0){return Ie[e[t+0]]+Ie[e[t+1]]+Ie[e[t+2]]+Ie[e[t+3]]+"-"+Ie[e[t+4]]+Ie[e[t+5]]+"-"+Ie[e[t+6]]+Ie[e[t+7]]+"-"+Ie[e[t+8]]+Ie[e[t+9]]+"-"+Ie[e[t+10]]+Ie[e[t+11]]+Ie[e[t+12]]+Ie[e[t+13]]+Ie[e[t+14]]+Ie[e[t+15]]}const Dy=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),pc={randomUUID:Dy};function gc(e,t,n){if(pc.randomUUID&&!t&&!e)return pc.randomUUID();e=e||{};const s=e.random||(e.rng||xy)();return s[6]=s[6]&15|64,s[8]=s[8]&63|128,$y(s)}const un=wf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},SystemStatus:void 0,ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1,Locale:void 0,HelpAgent:{Enable:!1}}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[gc().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e)},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await jr("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await jr("/api/signout",{},()=>{this.removeActiveCrossServer(),document.cookie="",this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:gc(),from:kt(e),content:kt(t),type:n,show:!0})},applyLocale(e){if(this.Locale===null)return e;const n=Object.keys(this.Locale).filter(s=>e.match(new RegExp("^"+s+"$","g"))!==null);return console.log(n),n.length===0||n.length>1?e:this.Locale[n[0]]}},persist:{pick:["HelpAgent.Enable"]}});/*! SPDX-License-Identifier: GPL-2.0 * * Copyright (C) 2015-2020 Jason A. Donenfeld . All Rights Reserved. - */(function(){function e(b){var y=new Float64Array(16);if(b)for(var S=0;S>16&1),T[w-1]&=65535;T[15]=A[15]-32767-(T[14]>>16&1),S=T[15]>>16&1,T[14]&=65535,s(A,T,1-S)}for(var w=0;w<16;++w)b[2*w]=A[w]&255,b[2*w+1]=A[w]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function s(b,y,S){for(var T,A=~(S-1),w=0;w<16;++w)T=A&(b[w]^y[w]),b[w]^=T,y[w]^=T}function r(b,y,S){for(var T=0;T<16;++T)b[T]=y[T]+S[T]|0}function o(b,y,S){for(var T=0;T<16;++T)b[T]=y[T]-S[T]|0}function a(b,y,S){for(var T=new Float64Array(31),A=0;A<16;++A)for(var w=0;w<16;++w)T[A+w]+=y[A]*S[w];for(var A=0;A<15;++A)T[A]+=38*T[A+16];for(var A=0;A<16;++A)b[A]=T[A];n(b),n(b)}function l(b,y){for(var S=e(),T=0;T<16;++T)S[T]=y[T];for(var T=253;T>=0;--T)a(S,S,S),T!==2&&T!==4&&a(S,S,y);for(var T=0;T<16;++T)b[T]=S[T]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,S=new Uint8Array(32),T=e([1]),A=e([9]),w=e(),j=e([1]),B=e(),Q=e(),oe=e([56129,1]),he=e([9]),te=0;te<32;++te)S[te]=b[te];c(S);for(var te=254;te>=0;--te)y=S[te>>>3]>>>(te&7)&1,s(T,A,y),s(w,j,y),r(B,T,w),o(T,T,w),r(w,A,j),o(A,A,j),a(j,B,B),a(Q,T,T),a(T,w,T),a(w,A,B),r(B,T,w),o(T,T,w),a(A,T,T),o(w,j,Q),a(T,w,oe),r(T,T,j),a(w,w,T),a(T,j,Q),a(j,A,he),a(A,B,B),s(T,A,y),s(w,j,y);return l(w,w),a(T,T,w),t(S,T),S}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var S=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),T=0;T<4;++T)b[T]=S[T]+65+(25-S[T]>>8&6)-(51-S[T]>>8&75)-(61-S[T]>>8&15)+(62-S[T]>>8&3)}function E(b){var y,S=new Uint8Array(44);for(y=0;y<32/3;++y)p(S.subarray(y*4),b.subarray(y*3));return p(S.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),S[43]=61,String.fromCharCode.apply(null,S)}function x(b){let y=window.atob(b),S=y.length,T=new Uint8Array(S);for(let w=0;w>>8&255,y>>>16&255,y>>>24&255)}function D(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var S=0;S>>1:y>>>1;k.table[S]=y}}for(var A=-1,w=0;w>>8^k.table[(A^b[w])&255];return(A^-1)>>>0}function M(b){for(var y=[],S=[],T=0,A=0;A{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Oy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},xy={class:"container-fluid d-flex text-body align-items-center"},Ny={key:0,class:"bi bi-list"},$y={key:1,class:"bi bi-x-lg"},Dy={__name:"App",setup(e){const t=un();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP&&(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0),Zn(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=uy();return(s,r)=>{const o=v_("RouterLink");return Ct(),br(Ve,null,[r[2]||(r[2]=qn("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),vt(n).meta.hideTopNav?ov("",!0):(Ct(),br("nav",Oy,[qn("div",xy,[ye(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Yn(()=>r[1]||(r[1]=[qn("img",{src:aE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])),_:1}),qn("a",{role:"button",class:"navbarBtn text-body",onClick:r[0]||(r[0]=a=>vt(t).ShowNavBar=!vt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[ye(Cl,{name:"fade2",mode:"out-in"},{default:Yn(()=>[vt(t).ShowNavBar?(Ct(),br("i",$y)):(Ct(),br("i",Ny))]),_:1})])])])),(Ct(),Ws(X_,null,{default:Yn(()=>[ye(vt(Rf),null,{default:Yn(({Component:a})=>[ye(Cl,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Yn(()=>[(Ct(),Ws(E_(a)))]),_:2},1024)]),_:1})]),_:1}))],64)}}},Ly=Sy(Dy,[["__scopeId","data-v-7966f302"]]);let uo;await fetch("/api/locale").then(e=>e.json()).then(e=>uo=e.data).catch(()=>{uo=null});const sa=Qv(Ly);sa.use(ms);const Bf=tE();Bf.use(({store:e})=>{e.$router=Zr(ms)});sa.use(Bf);const Ry=un();Ry.Locale=uo;sa.mount("#app");export{ko as $,Kv as A,lb as B,zr as C,un as D,gb as E,Ve as F,kt as G,Uv as H,Zn as I,pb as J,uy as K,qc as L,Tm as M,Zy as N,Qe as O,ob as P,Bo as Q,fu as R,X_ as S,cb as T,Zo as U,mv as V,yy as W,Wo as X,fe as Y,ei as Z,Sy as _,Ct as a,ub as a0,vg as a1,Gy as a2,Jy as a3,eb as a4,fb as a5,Wv as a6,rb as a7,zy as a8,nb as a9,sb as aa,qy as ab,rv as ac,av as ad,Te as ae,Qy as af,hb as ag,ib as ah,d_ as ai,ab as aj,qn as b,br as c,ye as d,ov as e,iv as f,lt as g,zs as h,Nu as i,Du as j,tb as k,Ws as l,Xy as m,Xr as n,Ko as o,db as p,hc as q,Cn as r,jr as s,Am as t,vt as u,Bl as v,Yn as w,Cl as x,v_ as y,E_ as z}; + */(function(){function e(b){var y=new Float64Array(16);if(b)for(var O=0;O>16&1),T[w-1]&=65535;T[15]=A[15]-32767-(T[14]>>16&1),O=T[15]>>16&1,T[14]&=65535,s(A,T,1-O)}for(var w=0;w<16;++w)b[2*w]=A[w]&255,b[2*w+1]=A[w]>>8}function n(b){for(var y=0;y<16;++y)b[(y+1)%16]+=(y<15?1:38)*Math.floor(b[y]/65536),b[y]&=65535}function s(b,y,O){for(var T,A=~(O-1),w=0;w<16;++w)T=A&(b[w]^y[w]),b[w]^=T,y[w]^=T}function r(b,y,O){for(var T=0;T<16;++T)b[T]=y[T]+O[T]|0}function o(b,y,O){for(var T=0;T<16;++T)b[T]=y[T]-O[T]|0}function a(b,y,O){for(var T=new Float64Array(31),A=0;A<16;++A)for(var w=0;w<16;++w)T[A+w]+=y[A]*O[w];for(var A=0;A<15;++A)T[A]+=38*T[A+16];for(var A=0;A<16;++A)b[A]=T[A];n(b),n(b)}function l(b,y){for(var O=e(),T=0;T<16;++T)O[T]=y[T];for(var T=253;T>=0;--T)a(O,O,O),T!==2&&T!==4&&a(O,O,y);for(var T=0;T<16;++T)b[T]=O[T]}function c(b){b[31]=b[31]&127|64,b[0]&=248}function d(b){for(var y,O=new Uint8Array(32),T=e([1]),A=e([9]),w=e(),j=e([1]),B=e(),Q=e(),oe=e([56129,1]),he=e([9]),te=0;te<32;++te)O[te]=b[te];c(O);for(var te=254;te>=0;--te)y=O[te>>>3]>>>(te&7)&1,s(T,A,y),s(w,j,y),r(B,T,w),o(T,T,w),r(w,A,j),o(A,A,j),a(j,B,B),a(Q,T,T),a(T,w,T),a(w,A,B),r(B,T,w),o(T,T,w),a(A,T,T),o(w,j,Q),a(T,w,oe),r(T,T,j),a(w,w,T),a(T,j,Q),a(j,A,he),a(A,B,B),s(T,A,y),s(w,j,y);return l(w,w),a(T,T,w),t(O,T),O}function f(){var b=new Uint8Array(32);return window.crypto.getRandomValues(b),b}function h(){var b=f();return c(b),b}function p(b,y){for(var O=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),T=0;T<4;++T)b[T]=O[T]+65+(25-O[T]>>8&6)-(51-O[T]>>8&75)-(61-O[T]>>8&15)+(62-O[T]>>8&3)}function E(b){var y,O=new Uint8Array(44);for(y=0;y<32/3;++y)p(O.subarray(y*4),b.subarray(y*3));return p(O.subarray(y*4),Uint8Array.from([b[y*3+0],b[y*3+1],0])),O[43]=61,String.fromCharCode.apply(null,O)}function S(b){let y=window.atob(b),O=y.length,T=new Uint8Array(O);for(let w=0;w>>8&255,y>>>16&255,y>>>24&255)}function D(b,y){b.push(y&255,y>>>8&255)}function P(b,y){for(var O=0;O>>1:y>>>1;k.table[O]=y}}for(var A=-1,w=0;w>>8^k.table[(A^b[w])&255];return(A^-1)>>>0}function M(b){for(var y=[],O=[],T=0,A=0;A{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Iy={key:0,class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},Ry={class:"container-fluid d-flex text-body align-items-center"},Py={key:0,class:"bi bi-list"},My={key:1,class:"bi bi-x-lg"},ky={__name:"App",setup(e){const t=un();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP&&(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0),Zn(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=my();return(s,r)=>{const o=w_("RouterLink");return Ct(),br(Ve,null,[r[2]||(r[2]=qn("div",{style:{"z-index":"9999",height:"5px"},class:"position-absolute loadingBar top-0 start-0"},null,-1)),vt(n).meta.hideTopNav?dv("",!0):(Ct(),br("nav",Iy,[qn("div",Ry,[ye(o,{to:"/",class:"navbar-brand mb-0 h1"},{default:Yn(()=>r[1]||(r[1]=[qn("img",{src:hE,alt:"WGDashboard Logo",style:{width:"32px"}},null,-1)])),_:1}),qn("a",{role:"button",class:"navbarBtn text-body",onClick:r[0]||(r[0]=a=>vt(t).ShowNavBar=!vt(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},[ye(Ol,{name:"fade2",mode:"out-in"},{default:Yn(()=>[vt(t).ShowNavBar?(Ct(),br("i",My)):(Ct(),br("i",Py))]),_:1})])])])),(Ct(),Ws(nv,null,{default:Yn(()=>[ye(vt(kf),null,{default:Yn(({Component:a})=>[ye(Ol,{name:"app",mode:"out-in",type:"transition",appear:""},{default:Yn(()=>[(Ct(),Ws(C_(a)))]),_:2},1024)]),_:1})]),_:1}))],64)}}},Vy=Ly(ky,[["__scopeId","data-v-7966f302"]]),Fy=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Hy=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,By=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function jy(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Ky(e);return}return t}function Ky(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Wy(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e[0]==='"'&&e.endsWith('"')&&!e.includes("\\"))return n.slice(1,-1);if(n.length<=9){const s=n.toLowerCase();if(s==="true")return!0;if(s==="false")return!1;if(s==="undefined")return;if(s==="null")return null;if(s==="nan")return Number.NaN;if(s==="infinity")return Number.POSITIVE_INFINITY;if(s==="-infinity")return Number.NEGATIVE_INFINITY}if(!By.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Fy.test(e)||Hy.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,jy)}return JSON.parse(e)}catch(s){if(t.strict)throw s;return e}}function Uy(e,t){if(e==null)return;let n=e;for(let s=0;s1&&(t=sa(typeof e!="object"||e===null||!Object.prototype.hasOwnProperty.call(e,s)?Number.isInteger(Number(n[1]))?[]:{}:e[s],t,Array.prototype.slice.call(n,1))),Number.isInteger(Number(s))&&Array.isArray(e)?e.slice()[s]:Object.assign({},e,{[s]:t})}function Uf(e,t){if(e==null||t.length===0)return e;if(t.length===1){if(e==null)return e;if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.slice.call(e,0).splice(t[0],1);const n={};for(const s in e)n[s]=e[s];return delete n[t[0]],n}if(e[t[0]]==null){if(Number.isInteger(t[0])&&Array.isArray(e))return Array.prototype.concat.call([],e);const n={};for(const s in e)n[s]=e[s];return n}return sa(e,Uf(e[t[0]],Array.prototype.slice.call(t,1)),[t[0]])}function Yf(e,t){return t.map(n=>n.split(".")).map(n=>[n,Uy(e,n)]).filter(n=>n[1]!==void 0).reduce((n,s)=>sa(n,s[1],s[0]),{})}function Gf(e,t){return t.map(n=>n.split(".")).reduce((n,s)=>Uf(n,s),e)}function mc(e,{storage:t,serializer:n,key:s,debug:r,pick:o,omit:a,beforeHydrate:l,afterHydrate:c},d,f=!0){try{f&&l?.(d);const h=t.getItem(s);if(h){const p=n.deserialize(h),E=o?Yf(p,o):p,S=a?Gf(E,a):E;e.$patch(S)}f&&c?.(d)}catch(h){r&&console.error("[pinia-plugin-persistedstate]",h)}}function _c(e,{storage:t,serializer:n,key:s,debug:r,pick:o,omit:a}){try{const l=o?Yf(e,o):e,c=a?Gf(l,a):l,d=n.serialize(c);t.setItem(s,d)}catch(l){r&&console.error("[pinia-plugin-persistedstate]",l)}}function Yy(e,t,n){const{pinia:s,store:r,options:{persist:o=n}}=e;if(!o)return;if(!(r.$id in s.state.value)){const c=s._s.get(r.$id.replace("__hot:",""));c&&Promise.resolve().then(()=>c.$persist());return}const l=(Array.isArray(o)?o:o===!0?[{}]:[o]).map(t);r.$hydrate=({runHooks:c=!0}={})=>{l.forEach(d=>{mc(r,d,e,c)})},r.$persist=()=>{l.forEach(c=>{_c(r.$state,c)})},l.forEach(c=>{mc(r,c,e),r.$subscribe((d,f)=>_c(f,c),{detached:!0})})}function Gy(e={}){return function(t){Yy(t,n=>({key:(e.key?e.key:s=>s)(n.key??t.store.$id),debug:n.debug??e.debug??!1,serializer:n.serializer??e.serializer??{serialize:s=>JSON.stringify(s),deserialize:s=>Wy(s)},storage:n.storage??e.storage??window.localStorage,beforeHydrate:n.beforeHydrate,afterHydrate:n.afterHydrate,pick:n.pick,omit:n.omit}),e.auto??!1)}}var qy=Gy();let uo;await fetch("/api/locale").then(e=>e.json()).then(e=>uo=e.data).catch(()=>{uo=null});const ra=sE(Vy);ra.use(ms);const ia=aE();ia.use(({store:e})=>{e.$router=Zr(ms)});ia.use(qy);ra.use(ia);const zy=un();zy.Locale=uo;ra.mount("#app");export{ko as $,wb as A,zr as B,Pu as C,un as D,Db as E,Ve as F,kt as G,Qv as H,Zn as I,$b as J,my as K,Jc as L,xm as M,gb as N,Qe as O,Ab as P,Bo as Q,gu as R,nv as S,Cb as T,Zo as U,Av as V,Sy as W,Wo as X,fe as Y,ei as Z,Ly as _,Ct as a,Sb as a0,wg as a1,cb as a2,pb as a3,mb as a4,Ob as a5,Xv as a6,yb as a7,fb as a8,vb as a9,Eb as aa,ub as ab,uv as ac,hv as ad,Te as ae,hb as af,xb as ag,bb as ah,v_ as ai,Tb as aj,qn as b,br as c,ye as d,dv as e,fv as f,lt as g,zs as h,Iu as i,Ws as j,_b as k,Ol as l,db as m,Xr as n,Ko as o,Nb as p,gc as q,Cn as r,zv as s,Nm as t,vt as u,Kl as v,Yn as w,jr as x,w_ as y,C_ as z}; diff --git a/src/static/app/dist/assets/index-Co1Yzapo.css b/src/static/app/dist/assets/index-Co1Yzapo.css deleted file mode 100644 index e9cbe12..0000000 --- a/src/static/app/dist/assets/index-Co1Yzapo.css +++ /dev/null @@ -1 +0,0 @@ -.agentMessage[data-v-8635cf47]{white-space:break-spaces;max-width:80%;display:flex;flex-direction:column;word-wrap:break-word}.text-bg-secondary[data-v-8635cf47]{background-color:RGBA(var(--bs-secondary-rgb),.7)!important}.text-bg-primary[data-v-8635cf47]{background-color:RGBA(var(--bs-primary-rgb),.7)!important}.agentContainer[data-v-950a378a]{--agentHeight: 100vh;position:absolute;z-index:9999;top:0;left:100%;width:450px;box-shadow:0 10px 30px #0000004d;backdrop-filter:blur(8px);background:linear-gradient(var(--degree),#009dff52 var(--distance2),#ff4a0052 100%)}.agentContainer.connected[data-v-950a378a]{height:calc(var(--agentHeight) - 1rem)}@media screen and (max-width: 768px){.agentContainer[data-v-950a378a]{--agentHeight: 100vh !important;top:0;left:0;max-height:calc(var(--agentHeight) - 58px - 1rem);width:calc(100% - 1rem)}}.agentChatroomBody[data-v-950a378a]{flex:1 1 auto;overflow-y:auto;max-height:calc(var(--agentHeight) - 70px - 244px)}.agent-message-move[data-v-950a378a],.agent-message-enter-active[data-v-950a378a],.agent-message-leave-active[data-v-950a378a]{transition:all .5s cubic-bezier(.82,.58,.17,1)}.agent-message-enter-from[data-v-950a378a],.agent-message-leave-to[data-v-950a378a]{opacity:0;filter:blur(8px);transform:translateY(30px)}.agent-message-leave-active[data-v-950a378a]{position:absolute}@media screen and (max-width: 768px){.navbar-container[data-v-e7e23062]{position:absolute!important;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-e7e23062]{animation-direction:normal;display:block!important;animation-name:zoomInFade-e7e23062}}.navbar-container[data-v-e7e23062]{height:100vh;position:relative}@supports (height: 100dvh){@media screen and (max-width: 768px){.navbar-container[data-v-e7e23062]{height:calc(100dvh - 58px)}}}@keyframes zoomInFade-e7e23062{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.slideIn-enter-active[data-v-e7e23062],.slideIn-leave-active[data-v-e7e23062]{transition:all .3s cubic-bezier(.82,.58,.17,1)}.slideIn-enter-from[data-v-e7e23062],.slideIn-leave-to[data-v-e7e23062]{transform:translate(30px);filter:blur(3px);opacity:0}main[data-v-0c6a5068]{height:100vh}@supports (height: 100dvh){@media screen and (max-width: 768px){main[data-v-0c6a5068]{height:calc(100dvh - 58px)}}} diff --git a/src/static/app/dist/assets/index-2C7nK5b4.js b/src/static/app/dist/assets/index-DTSRB6Eo.js similarity index 99% rename from src/static/app/dist/assets/index-2C7nK5b4.js rename to src/static/app/dist/assets/index-DTSRB6Eo.js index 7034658..5d33cd0 100644 --- a/src/static/app/dist/assets/index-2C7nK5b4.js +++ b/src/static/app/dist/assets/index-DTSRB6Eo.js @@ -1,4 +1,4 @@ -import{Q as Ws,R as Vs,U as Ue,V as Hn,r as Wn,o as Vn,X as Nn,I as jn,Y as Xe,Z as $n,$ as Ns}from"./index-qq0VI3aD.js";/*! +import{Q as Ws,R as Vs,U as Ue,V as Hn,r as Wn,o as Vn,X as Nn,I as jn,Y as Xe,Z as $n,$ as Ns}from"./index-Bsy8tbGW.js";/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela diff --git a/src/static/app/dist/assets/index-DayqW9ZJ.js b/src/static/app/dist/assets/index-DayqW9ZJ.js new file mode 100644 index 0000000..fe1b387 --- /dev/null +++ b/src/static/app/dist/assets/index-DayqW9ZJ.js @@ -0,0 +1,57 @@ +import{r as G,o as ae,a as f,c as w,b as l,d as g,e as A,f as L,t as O,_ as ne,g as Ce,n as E,h as Ge,i as Oe,G as oe,j as z,w as _,T as ce,F as ue,k as he,l as F,m as Ae,u as I,p as Ze,v as je,q as We,D as pe,s as Ue,W as Qe,x as Fe,y as P,z as Ve,S as Ye}from"./index-Bsy8tbGW.js";import{L as S}from"./localeText-CoKvgn8T.js";import{d as Xe}from"./dayjs.min-fPdQmr57.js";import{M as Je}from"./message-HYNxjFjL.js";const Ke={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},et={class:"container d-flex h-100 w-100"},tt={class:"m-auto modal-dialog-centered dashboardModal"},nt={class:"card rounded-3 shadow flex-grow-1"},st={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},it={class:"mb-0"},rt={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},ot={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},lt={class:"card-body d-flex gap-4 align-items-center"},at={class:"d-flex align-items-center"},ct={class:"badge rounded-pill text-bg-primary ms-2"},ut={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},ht={key:1},pt={class:"text-muted"},dt={class:"card text-decoration-none",href:"https://donaldzou.github.io/WGDashboard-Documentation/",target:"_blank"},gt={class:"card-body d-flex gap-4 align-items-center"},ft={class:"mb-0"},mt={class:"text-muted"},bt={__name:"helpModal",setup(a){const e=G(!0),t=G(void 0);return ae(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(n=>n.json()).then(n=>{t.value=n,e.value=!1}).catch(()=>{e.value=!1})}),(n,s)=>(f(),w("div",Ke,[l("div",et,[l("div",tt,[l("div",nt,[l("div",st,[l("h4",it,[g(S,{t:"Help"})]),l("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=r=>n.$emit("close"))})]),l("div",rt,[l("a",ot,[l("div",lt,[s[3]||(s[3]=l("h1",{class:"mb-0"},[l("i",{class:"bi bi-discord"})],-1)),l("div",null,[l("div",at,[s[2]||(s[2]=l("h5",{class:"mb-0"}," Discord Server ",-1)),l("span",ct,[e.value?(f(),w("span",ut)):A("",!0),t.value!==void 0&&!e.value?(f(),w("span",ht,[s[1]||(s[1]=l("i",{class:"bi bi-person-fill me-2"},null,-1)),L(O(t.value.presence_count)+" Online ",1)])):A("",!0)])]),l("small",pt,[g(S,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),l("a",dt,[l("div",gt,[s[4]||(s[4]=l("h1",{class:"mb-0"},[l("i",{class:"bi bi-hash"})],-1)),l("div",null,[l("h5",ft,[g(S,{t:"Official Documentation"})]),l("small",mt,[g(S,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}};function de(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let q=de();function ze(a){q=a}const Q={exec:()=>null};function m(a,e=""){let t=typeof a=="string"?a:a.source;const n={replace:(s,r)=>{let i=typeof r=="string"?r:r.source;return i=i.replace($.caret,"$1"),t=t.replace(s,i),n},getRegex:()=>new RegExp(t,e)};return n}const $={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:a=>new RegExp(`^( {0,3}${a})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}#`),htmlBeginRegex:a=>new RegExp(`^ {0,${Math.min(3,a-1)}}<(?:[a-z].*>|!--)`,"i")},kt=/^(?:[ \t]*(?:\n|$))+/,xt=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,wt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,V=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,yt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ge=/(?:[*+-]|\d{1,9}[.)])/,Le=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Me=m(Le).replace(/bull/g,ge).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),_t=m(Le).replace(/bull/g,ge).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),fe=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,vt=/^[^\n]+/,me=/(?!\s*\])(?:\\.|[^\[\]\\])+/,$t=m(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",me).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),St=m(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ge).getRegex(),se="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",be=/|$))/,Tt=m("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",be).replace("tag",se).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Be=m(fe).replace("hr",V).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",se).getRegex(),Rt=m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Be).getRegex(),ke={blockquote:Rt,code:xt,def:$t,fences:wt,heading:yt,hr:V,html:Tt,lheading:Me,list:St,newline:kt,paragraph:Be,table:Q,text:vt},_e=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",V).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",se).getRegex(),Ct={...ke,lheading:_t,table:_e,paragraph:m(fe).replace("hr",V).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_e).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",se).getRegex()},At={...ke,html:m(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",be).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Q,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(fe).replace("hr",V).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Me).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},zt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Lt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ie=/^( {2,}|\\)\n(?!\s*$)/,Mt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,De=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Dt=m(De,"u").replace(/punct/g,ie).getRegex(),qt=m(De,"u").replace(/punct/g,Ee).getRegex(),qe="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ht=m(qe,"gu").replace(/notPunctSpace/g,Pe).replace(/punctSpace/g,xe).replace(/punct/g,ie).getRegex(),Nt=m(qe,"gu").replace(/notPunctSpace/g,Pt).replace(/punctSpace/g,It).replace(/punct/g,Ee).getRegex(),Gt=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Pe).replace(/punctSpace/g,xe).replace(/punct/g,ie).getRegex(),Ot=m(/\\(punct)/,"gu").replace(/punct/g,ie).getRegex(),Zt=m(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),jt=m(be).replace("(?:-->|$)","-->").getRegex(),Wt=m("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",jt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),K=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ut=m(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",K).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),He=m(/^!?\[(label)\]\[(ref)\]/).replace("label",K).replace("ref",me).getRegex(),Ne=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",me).getRegex(),Qt=m("reflink|nolink(?!\\()","g").replace("reflink",He).replace("nolink",Ne).getRegex(),we={_backpedal:Q,anyPunctuation:Ot,autolink:Zt,blockSkip:Et,br:Ie,code:Lt,del:Q,emStrongLDelim:Dt,emStrongRDelimAst:Ht,emStrongRDelimUnd:Gt,escape:zt,link:Ut,nolink:Ne,punctuation:Bt,reflink:He,reflinkSearch:Qt,tag:Wt,text:Mt,url:Q},Ft={...we,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",K).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",K).getRegex()},le={...we,emStrongRDelimAst:Nt,emStrongLDelim:qt,url:m(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},ve=a=>Yt[a];function C(a,e){if(e){if($.escapeTest.test(a))return a.replace($.escapeReplace,ve)}else if($.escapeTestNoEncode.test(a))return a.replace($.escapeReplaceNoEncode,ve);return a}function $e(a){try{a=encodeURI(a).replace($.percentDecode,"%")}catch{return null}return a}function Se(a,e){const t=a.replace($.findPipe,(r,i,o)=>{let c=!1,u=i;for(;--u>=0&&o[u]==="\\";)c=!c;return c?"|":" |"}),n=t.split($.splitPipe);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{const i=r.match(t.other.beginningSpace);if(i===null)return r;const[o]=i;return o.length>=s.length?r.slice(s.length):r}).join(` +`)}class ee{options;rules;lexer;constructor(e){this.options=e||q}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:U(n,` +`)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const n=t[0],s=Jt(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){const s=U(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:U(t[0],` +`)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let n=U(t[0],` +`).split(` +`),s="",r="";const i=[];for(;n.length>0;){let o=!1;const c=[];let u;for(u=0;u1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");const i=this.rules.other.listItemRegex(n);let o=!1;for(;e;){let u=!1,h="",p="";if(!(t=i.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let k=t[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,Z=>" ".repeat(3*Z.length)),d=e.split(` +`,1)[0],y=!k.trim(),x=0;if(this.options.pedantic?(x=2,p=k.trimStart()):y?x=t[1].length+1:(x=t[2].search(this.rules.other.nonSpaceChar),x=x>4?1:x,p=k.slice(x),x+=t[1].length),y&&this.rules.other.blankLine.test(d)&&(h+=d+` +`,e=e.substring(d.length+1),u=!0),!u){const Z=this.rules.other.nextBulletRegex(x),N=this.rules.other.hrRegex(x),M=this.rules.other.fencesBeginRegex(x),B=this.rules.other.headingBeginRegex(x),Y=this.rules.other.htmlBeginRegex(x);for(;e;){const re=e.split(` +`,1)[0];let j;if(d=re,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),j=d):j=d.replace(this.rules.other.tabCharGlobal," "),M.test(d)||B.test(d)||Y.test(d)||Z.test(d)||N.test(d))break;if(j.search(this.rules.other.nonSpaceChar)>=x||!d.trim())p+=` +`+j.slice(x);else{if(y||k.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||M.test(k)||B.test(k)||N.test(k))break;p+=` +`+d}!y&&!d.trim()&&(y=!0),h+=re+` +`,e=e.substring(re.length+1),k=j.slice(x)}}r.loose||(o?r.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(o=!0));let v=null,H;this.options.gfm&&(v=this.rules.other.listIsTask.exec(p),v&&(H=v[0]!=="[ ] ",p=p.replace(this.rules.other.listReplaceTask,""))),r.items.push({type:"list_item",raw:h,task:!!v,checked:H,loose:!1,text:p,tokens:[]}),r.raw+=h}const c=r.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let u=0;uk.type==="space"),p=h.length>0&&h.some(k=>this.rules.other.anyLine.test(k.raw));r.loose=p}if(r.loose)for(let u=0;u({text:c,tokens:this.lexer.inline(c),header:!1,align:i.align[u]})));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const n=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;const i=U(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{const i=Xt(t[2],"()");if(i>-1){const c=(t[0].indexOf("!")===0?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let s=t[2],r="";if(this.options.pedantic){const i=this.rules.other.pedanticHrefTitle.exec(s);i&&(s=i[1],r=i[3])}else r=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Te(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=t[s.toLowerCase()];if(!r){const i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Te(n,r,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!s||s[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const i=[...s[0]].length-1;let o,c,u=i,h=0;const p=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,t=t.slice(-1*e.length+i);(s=p.exec(t))!=null;){if(o=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!o)continue;if(c=[...o].length,s[3]||s[4]){u+=c;continue}else if((s[5]||s[6])&&i%3&&!((i+c)%3)){h+=c;continue}if(u-=c,u>0)continue;c=Math.min(c,c+u+h);const k=[...s[0]][0].length,d=e.slice(0,i+s.index+k+c);if(Math.min(i,c)%2){const x=d.slice(1,-1);return{type:"em",raw:d,text:x,tokens:this.lexer.inlineTokens(x)}}const y=d.slice(2,-2);return{type:"strong",raw:d,text:y,tokens:this.lexer.inlineTokens(y)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," ");const s=this.rules.other.nonSpaceChar.test(n),r=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&r&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,s;if(t[2]==="@")n=t[0],s="mailto:"+n;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0]);n=t[0],t[1]==="www."?s="http://"+t[0]:s=t[0]}return{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){const n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}}class T{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||q,this.options.tokenizer=this.options.tokenizer||new ee,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={other:$,block:X.normal,inline:W.normal};this.options.pedantic?(t.block=X.pedantic,t.inline=W.pedantic):this.options.gfm&&(t.block=X.gfm,this.options.breaks?t.inline=W.breaks:t.inline=W.gfm),this.tokenizer.rules=t}static get rules(){return{block:X,inline:W}}static lex(e,t){return new T(t).lex(e)}static lexInline(e,t){return new T(t).inlineTokens(e)}lex(e){e=e.replace($.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let t=0;t(s=i.call({lexer:this},e,t))?(e=e.substring(s.raw.length),t.push(s),!0):!1))continue;if(s=this.tokenizer.space(e)){e=e.substring(s.raw.length);const i=t.at(-1);s.raw.length===1&&i!==void 0?i.raw+=` +`:t.push(s);continue}if(s=this.tokenizer.code(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=` +`+s.raw,i.text+=` +`+s.text,this.inlineQueue.at(-1).src=i.text):t.push(s);continue}if(s=this.tokenizer.fences(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.heading(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.hr(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.blockquote(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.list(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.html(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.def(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=` +`+s.raw,i.text+=` +`+s.raw,this.inlineQueue.at(-1).src=i.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if(s=this.tokenizer.table(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.lheading(e)){e=e.substring(s.raw.length),t.push(s);continue}let r=e;if(this.options.extensions?.startBlock){let i=1/0;const o=e.slice(1);let c;this.options.extensions.startBlock.forEach(u=>{c=u.call({lexer:this},o),typeof c=="number"&&c>=0&&(i=Math.min(i,c))}),i<1/0&&i>=0&&(r=e.substring(0,i+1))}if(this.state.top&&(s=this.tokenizer.paragraph(r))){const i=t.at(-1);n&&i?.type==="paragraph"?(i.raw+=` +`+s.raw,i.text+=` +`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(s),n=r.length!==e.length,e=e.substring(s.raw.length);continue}if(s=this.tokenizer.text(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="text"?(i.raw+=` +`+s.raw,i.text+=` +`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(s);continue}if(e){const i="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(i);break}else throw new Error(i)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,s=null;if(this.tokens.links){const o=Object.keys(this.tokens.links);if(o.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,s.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r=!1,i="";for(;e;){r||(i=""),r=!1;let o;if(this.options.extensions?.inline?.some(u=>(o=u.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);const u=t.at(-1);o.type==="text"&&u?.type==="text"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let c=e;if(this.options.extensions?.startInline){let u=1/0;const h=e.slice(1);let p;this.options.extensions.startInline.forEach(k=>{p=k.call({lexer:this},h),typeof p=="number"&&p>=0&&(u=Math.min(u,p))}),u<1/0&&u>=0&&(c=e.substring(0,u+1))}if(o=this.tokenizer.inlineText(c)){e=e.substring(o.raw.length),o.raw.slice(-1)!=="_"&&(i=o.raw.slice(-1)),r=!0;const u=t.at(-1);u?.type==="text"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(e){const u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}}class te{options;parser;constructor(e){this.options=e||q}space(e){return""}code({text:e,lang:t,escaped:n}){const s=(t||"").match($.notSpaceStart)?.[0],r=e.replace($.endingNewline,"")+` +`;return s?'
'+(n?r:C(r,!0))+`
+`:"
"+(n?r:C(r,!0))+`
+`}blockquote({tokens:e}){return`
+${this.parser.parse(e)}
+`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} +`}hr(e){return`
+`}list(e){const t=e.ordered,n=e.start;let s="";for(let o=0;o +`+s+" +`}listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+C(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • +`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    +`}table(e){let t="",n="";for(let r=0;r${s}`),` + +`+t+` +`+s+`
    +`}tablerow({text:e}){return` +${e} +`}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${C(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){const s=this.parser.parseInline(n),r=$e(e);if(r===null)return s;e=r;let i='
    ",i}image({href:e,title:t,text:n}){const s=$e(e);if(s===null)return C(n);e=s;let r=`${n}{const o=r[i].flat(1/0);n=n.concat(this.walkTokens(o,t))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{const s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){const i=t.renderers[r.name];i?t.renderers[r.name]=function(...o){let c=r.renderer.apply(this,o);return c===!1&&(c=i.apply(this,o)),c}:t.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const i=t[r.level];i?i.unshift(r.tokenizer):t[r.level]=[r.tokenizer],r.start&&(r.level==="block"?t.startBlock?t.startBlock.push(r.start):t.startBlock=[r.start]:r.level==="inline"&&(t.startInline?t.startInline.push(r.start):t.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(t.childTokens[r.name]=r.childTokens)}),s.extensions=t),n.renderer){const r=this.defaults.renderer||new te(this.defaults);for(const i in n.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const o=i,c=n.renderer[o],u=r[o];r[o]=(...h)=>{let p=c.apply(r,h);return p===!1&&(p=u.apply(r,h)),p||""}}s.renderer=r}if(n.tokenizer){const r=this.defaults.tokenizer||new ee(this.defaults);for(const i in n.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const o=i,c=n.tokenizer[o],u=r[o];r[o]=(...h)=>{let p=c.apply(r,h);return p===!1&&(p=u.apply(r,h)),p}}s.tokenizer=r}if(n.hooks){const r=this.defaults.hooks||new J;for(const i in n.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;const o=i,c=n.hooks[o],u=r[o];J.passThroughHooks.has(i)?r[o]=h=>{if(this.defaults.async)return Promise.resolve(c.call(r,h)).then(k=>u.call(r,k));const p=c.call(r,h);return u.call(r,p)}:r[o]=(...h)=>{let p=c.apply(r,h);return p===!1&&(p=u.apply(r,h)),p}}s.hooks=r}if(n.walkTokens){const r=this.defaults.walkTokens,i=n.walkTokens;s.walkTokens=function(o){let c=[];return c.push(i.call(this,o)),r&&(c=c.concat(r.call(this,o))),c}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return T.lex(e,t??this.defaults)}parser(e,t){return R.parse(e,t??this.defaults)}parseMarkdown(e){return(n,s)=>{const r={...s},i={...this.defaults,...r},o=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);const c=i.hooks?i.hooks.provideLexer():e?T.lex:T.lexInline,u=i.hooks?i.hooks.provideParser():e?R.parse:R.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then(h=>c(h,i)).then(h=>i.hooks?i.hooks.processAllTokens(h):h).then(h=>i.walkTokens?Promise.all(this.walkTokens(h,i.walkTokens)).then(()=>h):h).then(h=>u(h,i)).then(h=>i.hooks?i.hooks.postprocess(h):h).catch(o);try{i.hooks&&(n=i.hooks.preprocess(n));let h=c(n,i);i.hooks&&(h=i.hooks.processAllTokens(h)),i.walkTokens&&this.walkTokens(h,i.walkTokens);let p=u(h,i);return i.hooks&&(p=i.hooks.postprocess(p)),p}catch(h){return o(h)}}}onError(e,t){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){const s="

    An error occurred:

    "+C(n.message+"",!0)+"
    ";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}}const D=new Kt;function b(a,e){return D.parse(a,e)}b.options=b.setOptions=function(a){return D.setOptions(a),b.defaults=D.defaults,ze(b.defaults),b};b.getDefaults=de;b.defaults=q;b.use=function(...a){return D.use(...a),b.defaults=D.defaults,ze(b.defaults),b};b.walkTokens=function(a,e){return D.walkTokens(a,e)};b.parseInline=D.parseInline;b.Parser=R;b.parser=R.parse;b.Renderer=te;b.TextRenderer=ye;b.Lexer=T;b.lexer=T.lex;b.Tokenizer=ee;b.Hooks=J;b.parse=b;b.options;b.setOptions;b.use;b.walkTokens;b.parseInline;R.parse;T.lex;const en={key:0,class:"p-2 rounded-5 text-bg-secondary",style:{"line-height":"1"}},tn={__name:"agentMessage",props:{message:{content:String,id:String,role:String,time:String},ind:Number},setup(a){const e=a;return ae(()=>{document.querySelector(".agentChatroomBody").scrollTop=document.querySelector(".agentChatroomBody").scrollHeight}),Ce(()=>b.parse(e.message.content)),(t,n)=>(f(),w("div",{class:E({"d-flex flex-row align-items-end gap-2":a.message.role==="assistant","mt-auto":a.ind===0})},[a.message.role==="assistant"?(f(),w("div",en,n[0]||(n[0]=[l("i",{class:"bi bi-robot"},null,-1)]))):A("",!0),l("div",{class:E(["d-flex text-body agentMessage",{"ms-auto":a.message.role==="user"}])},[l("div",{class:E(["px-3 py-2 rounded-3 shadow-sm",[a.message.role==="user"?"text-bg-primary ms-auto align-items-end":"text-bg-secondary align-items-start"]])},O(a.message.content),3)],2)],2))}},nn=ne(tn,[["__scopeId","data-v-8635cf47"]]),sn={class:"flex-grow-1 d-flex flex-column"},rn={class:"agentChatroomBody p-3 pb-5 d-flex flex-column gap-3 flex-grow-1",key:"body"},on={class:"d-flex text-white align-items-center p-3 gap-3 rounded-bottom-3 mt-auto",key:"input",style:{"box-shadow":"1px -1rem 3rem 0 rgba(0, 0, 0, 0.175) !important"}},ln=["placeholder","disabled"],an={key:0,class:"bi bi-send-fill"},cn={key:1,class:"spinner-border spinner-border-sm"},Re="https://wgdashboard-bot-middleware-5xqq9.ondigitalocean.app",un={__name:"agentContainer",setup(a){const e=G(""),t=G(!1),n=Ge({}),s=G(!1),r=G(!1),i=()=>{document.querySelector(".agentChatroomBody").scrollTop=document.querySelector(".agentChatroomBody").scrollHeight},o=(p,k)=>{let d=We().toString();return n[d]={id:d,role:p,content:k,time:Xe().format("YYYY-MM-DD HH:mm:ss")},d},c=Ce(()=>Object.values(n).filter(p=>p.content)),u=()=>{if(e.value){o("user",e.value),e.value="",t.value=!0;let p=o("assistant","");fetch(`${Re}/api/completion`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:c.value})}).then(k=>{if(k.ok){const y=k.body.getReader(),x=new TextDecoder,v=()=>{y.read().then(({value:H,done:Z})=>{if(Z){t.value=!1;return}let N=x.decode(H,{stream:!0}).trim();N=N.split(` +`),N.forEach(M=>{if(M){M=M.replace(/^data:\s*/,"");let B=JSON.parse(M);if(B.status)B.data!=="[DONE]"&&B.data.choices.forEach(Y=>{Y.delta.content&&(n[p].content+=Y.delta.content,i())});else throw new Error(B.message)}}),v()}).catch(H=>{console.log(H),t.value=!1,n[p].content="Sorry, the bot is not responding."})};v()}else throw t.value=!1,new Error("Invalid response")}).catch(()=>{t.value=!1,n[p].content="Sorry, the bot is not responding."})}},h=async()=>{r.value=!0,await fetch(`${Re}/api/health`,{signal:AbortSignal.timeout(3e3)}).then(p=>p.json()).then(p=>{s.value=p.status==="ok",r.value=!1}).catch(()=>{r.value=!1,s.value=!1})};return Oe(()=>{o("assistant",oe("Hi! How can I help you today?"))}),ae(async()=>{await h()}),(p,k)=>(f(),w("div",sn,[l("div",{class:E(["p-1 text-center shadow",{"text-bg-secondary":r.value,"text-bg-success":!r.value&&s.value}])},[l("small",null,[r.value?(f(),z(S,{key:0,t:"Connecting..."})):(f(),z(S,{key:1,t:s.value?"Connected":"Not Connected"},null,8,["t"]))])],2),g(F,{name:"agent-message"},{default:_(()=>[s.value&&!r.value?(f(),w("div",rn,[g(ce,{name:"agent-message"},{default:_(()=>[(f(!0),w(ue,null,he(c.value,(d,y)=>(f(),z(nn,{message:d,key:d.id,ind:y},null,8,["message","ind"]))),128))]),_:1})])):A("",!0)]),_:1}),g(F,{name:"agent-message"},{default:_(()=>[s.value&&!r.value?(f(),w("div",on,[Ae(l("input",{type:"text",class:"form-control rounded-3 bg-transparent border-0",placeholder:I(oe)("What do you want to ask?"),onKeyup:Ze(u,["enter"]),"onUpdate:modelValue":k[0]||(k[0]=d=>e.value=d),disabled:t.value},null,40,ln),[[je,e.value]]),l("a",{role:"button",class:"agentChatroomSendButton text-body",onClick:u},[t.value?(f(),w("span",cn)):(f(),w("i",an))])])):A("",!0)]),_:1})]))}},hn={key:"header",class:"shadow"},pn={class:"p-3 d-flex gap-2 flex-column"},dn={class:"d-flex text-body"},gn={class:"d-flex flex-column align-items-start gap-1"},fn={class:"mb-0"},mn={class:"mb-0"},bn={class:"list-group"},kn={href:"https://donaldzou.github.io/WGDashboard-Documentation/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},xn={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},wn={class:"d-flex flex-column p-3 gap-2"},yn={class:"d-flex w-100"},_n={class:"mb-0"},vn={class:"form-check form-switch ms-auto mb-0"},$n={class:"form-check-label fw-bold",for:"enableHelpAgent"},Sn={key:0,class:"text-muted"},Tn={__name:"agentModal",emits:["close"],setup(a,{emit:e}){const t=e,n=pe();return(s,r)=>(f(),w("div",{class:E(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{enabled:I(n).HelpAgent.Enable}])},[g(ce,{name:"agent-message"},{default:_(()=>[l("div",hn,[l("div",pn,[l("div",dn,[l("div",gn,[l("h5",fn,[g(S,{t:"Help"})])]),l("a",{role:"button",class:"ms-auto text-body",onClick:r[0]||(r[0]=i=>t("close"))},r[2]||(r[2]=[l("h5",{class:"mb-0"},[l("i",{class:"bi bi-x-lg"})],-1)]))]),l("p",mn,[g(S,{t:"You can visit our: "})]),l("div",bn,[l("a",kn,[r[3]||(r[3]=l("i",{class:"bi bi-book-fill"},null,-1)),g(S,{class:"ms-auto",t:"Official Documentation"})]),l("a",xn,[r[4]||(r[4]=l("i",{class:"bi bi-discord"},null,-1)),g(S,{class:"ms-auto",t:"Discord Server"})])])]),l("div",wn,[l("div",yn,[l("h5",_n,[g(S,{t:"WGDashboard Help Bot"})]),l("div",vn,[Ae(l("input",{class:"form-check-input","onUpdate:modelValue":r[1]||(r[1]=i=>I(n).HelpAgent.Enable=i),type:"checkbox",role:"switch",id:"enableHelpAgent"},null,512),[[Ue,I(n).HelpAgent.Enable]]),l("label",$n,[g(S,{t:I(n).HelpAgent.Enable?"Enabled":"Disabled"},null,8,["t"])])])]),I(n).HelpAgent.Enable?A("",!0):(f(),w("small",Sn,r[5]||(r[5]=[L(" By using this service, you're agreed to send your messages to a Large Language Model (LLM) hosted on DigitalOcean. Your messages will not store on the server in any type of form, you can verify it on "),l("a",{href:"https://github.com/donaldzou/WGDashboard-Bot-Middleware",target:"_blank"},"here",-1),L(". For more information, please contact me through GitHub or email. ")])))])]),I(n).HelpAgent.Enable?(f(),z(un,{key:"agentContainer"})):A("",!0)]),_:1})],2))}},Rn=ne(Tn,[["__scopeId","data-v-8e5620c6"]]),Cn={name:"navbar",components:{HelpModal:bt,LocaleText:S,AgentModal:Rn},setup(){const a=Qe(),e=pe();return{wireguardConfigurationsStore:a,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!1}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},mounted(){Fe("/api/getDashboardUpdate",{},a=>{a.status?(a.data&&(this.updateAvailable=!0,this.updateUrl=a.data),this.updateMessage=a.message):(this.updateMessage=oe("Failed to check available update"),console.log(`Failed to get update: ${a.message}`))})}},An=["data-bs-theme"],zn={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},Ln={class:"sidebar-sticky"},Mn={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},Bn={key:0,class:"ms-auto"},In={class:"nav flex-column px-2 gap-1"},Pn={class:"nav-item"},En={class:"nav-item"},Dn={class:"nav-item"},qn={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},Hn={class:"nav flex-column px-2 gap-1"},Nn={class:"nav-item"},Gn={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},On={class:"nav flex-column px-2 gap-1"},Zn={class:"nav-item"},jn={class:"nav-item"},Wn={class:"nav-item"},Un={class:"nav flex-column px-2 mb-3"},Qn={class:"nav-item"},Fn={class:"nav-item",style:{"font-size":"0.8rem"}},Vn=["href"],Yn={class:"nav-link text-muted rounded-3"},Xn={key:1,class:"nav-link text-muted rounded-3"};function Jn(a,e,t,n,s,r){const i=P("LocaleText"),o=P("RouterLink"),c=P("HelpModal"),u=P("AgentModal");return f(),w("div",{class:E(["col-md-3 col-lg-2 d-md-block p-2 navbar-container",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":n.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[l("nav",zn,[l("div",Ln,[l("div",Mn,[e[5]||(e[5]=l("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(f(),w("small",Bn,[e[4]||(e[4]=l("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),L(O(r.getActiveCrossServer.host),1)])):A("",!0)]),l("ul",In,[l("li",Pn,[g(o,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:_(()=>[e[6]||(e[6]=l("i",{class:"bi bi-house me-2"},null,-1)),g(i,{t:"Home"})]),_:1})]),l("li",En,[g(o,{class:"nav-link rounded-3",to:"/settings","exact-active-class":"active"},{default:_(()=>[e[7]||(e[7]=l("i",{class:"bi bi-gear me-2"},null,-1)),g(i,{t:"Settings"})]),_:1})]),l("li",Dn,[l("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=h=>s.openAgentModal=!0)},[e[8]||(e[8]=l("i",{class:"bi bi-question-circle me-2"},null,-1)),g(i,{t:"Help"})])])]),e[11]||(e[11]=l("hr",{class:"text-body my-2"},null,-1)),l("h6",qn,[g(i,{t:"WireGuard Configurations"})]),l("ul",Hn,[(f(!0),w(ue,null,he(this.wireguardConfigurationsStore.Configurations,h=>(f(),w("li",Nn,[g(o,{to:"/configuration/"+h.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:_(()=>[l("span",{class:E(["dot me-2",{active:h.Status}])},null,2),L(" "+O(h.Name),1)]),_:2},1032,["to"])]))),256))]),e[12]||(e[12]=l("hr",{class:"text-body my-2"},null,-1)),l("h6",Gn,[g(i,{t:"Tools"})]),l("ul",On,[l("li",Zn,[g(o,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:_(()=>[g(i,{t:"System Status"})]),_:1})]),l("li",jn,[g(o,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:_(()=>[g(i,{t:"Ping"})]),_:1})]),l("li",Wn,[g(o,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:_(()=>[g(i,{t:"Traceroute"})]),_:1})])]),e[13]||(e[13]=l("hr",{class:"text-body my-2"},null,-1)),l("ul",Un,[l("li",Qn,[l("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=h=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[9]||(e[9]=l("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),g(i,{t:"Sign Out"})])]),l("li",Fn,[this.updateAvailable?(f(),w("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[l("small",Yn,[g(i,{t:this.updateMessage},null,8,["t"]),e[10]||(e[10]=L(" (")),g(i,{t:"Current Version:"}),L(" "+O(n.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,Vn)):(f(),w("small",Xn,[g(i,{t:this.updateMessage},null,8,["t"]),L(" ("+O(n.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),g(F,{name:"zoom"},{default:_(()=>[this.openHelpModal?(f(),z(c,{key:0,onClose:e[2]||(e[2]=h=>{s.openHelpModal=!1})})):A("",!0)]),_:1}),g(F,{name:"slideIn"},{default:_(()=>[this.openAgentModal?(f(),z(u,{key:0,onClose:e[3]||(e[3]=h=>s.openAgentModal=!1)})):A("",!0)]),_:1})],10,An)}const Kn=ne(Cn,[["render",Jn],["__scopeId","data-v-58e71749"]]),es={name:"index",components:{Message:Je,Navbar:Kn},async setup(){return{dashboardConfigurationStore:pe()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(a=>a.show)}}},ts=["data-bs-theme"],ns={class:"row h-100"},ss={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},is={class:"messageCentre text-body position-absolute d-flex"};function rs(a,e,t,n,s,r){const i=P("Navbar"),o=P("RouterView"),c=P("Message");return f(),w("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[l("div",ns,[g(i),l("main",ss,[(f(),z(Ye,null,{default:_(()=>[g(o,null,{default:_(({Component:u})=>[g(F,{name:"fade2",mode:"out-in",appear:""},{default:_(()=>[(f(),z(Ve(u)))]),_:2},1024)]),_:1})]),_:1})),l("div",is,[g(ce,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:_(()=>[(f(!0),w(ue,null,he(r.getMessages.slice().reverse(),u=>(f(),z(c,{message:u,key:u.id},null,8,["message"]))),128))]),_:1})])])])],8,ts)}const us=ne(es,[["render",rs],["__scopeId","data-v-0c6a5068"]]);export{us as default}; diff --git a/src/static/app/dist/assets/index-BQdSC5f5.css b/src/static/app/dist/assets/index-DjJVGzEF.css similarity index 99% rename from src/static/app/dist/assets/index-BQdSC5f5.css rename to src/static/app/dist/assets/index-DjJVGzEF.css index 0292fd9..711de38 100644 --- a/src/static/app/dist/assets/index-BQdSC5f5.css +++ b/src/static/app/dist/assets/index-DjJVGzEF.css @@ -1,4 +1,4 @@ -@charset "UTF-8";*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.dp__input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}::-webkit-scrollbar{display:none}.codeFont{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.feather{width:16px;height:16px;vertical-align:text-bottom}.btn-primary{font-weight:700}#app{width:100%;height:100vh}@supports (height: 100dvh){#app{height:100dvh}}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #ff4a00; inherits: false;}@property --distance2{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.dashboardLogo{background:#178bff;background:linear-gradient(234deg,var(--brandColor1) var(--distance2),var(--brandColor2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:--brandColor1 1s,--brandColor2 .3s,--distance2 1s!important}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 1s,--brandColor2 1s,--distance2 .5s!important}.btn-brand.loading{animation:spin infinite forwards 3s linear}.btn-brand:hover,.dashboardLogo:hover{--brandColor1: rgba(0, 157, 255, 1);--brandColor2: rgba(255, 135, 91, 1);--distance2: 30%}.signInBtn.signedIn{--distance2: 100%}@keyframes spin{0%{--degree: 234deg}to{--degree: 594deg}}[data-bs-theme=dark].main,#app:has(.main[data-bs-theme=dark]),[data-bs-theme=dark].navbar-container{background-color:#1b1e21}.sidebar .nav-link,.bottomNavContainer .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1)}[data-bs-theme=dark] .sidebar .nav-link{color:#fff}[data-bs-theme=dark] .sidebar .nav-link.active{color:#74b7ff}[data-bs-theme=dark] .nav-link:hover,[data-bs-theme=dark] .nav-link.active{background-color:#323844}.nav-link:hover,.nav-link.active{background-color:#e8e8e8}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active,.bottomNavContainer .nav-link.active{color:#007bff}.sidebar .nav-link:hover .feather,.sidebar .nav-link.active .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}.navbar .navbar-toggler{top:.25rem;right:1rem}.form-control{transition:all .2s ease-in-out}.form-control:disabled{cursor:not-allowed}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:#ffffff1a;border-color:#ffffff1a}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px #ffffff40}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:all .4s cubic-bezier(.96,-.07,.34,1);opacity:1}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:none!important;padding:0;margin:0 1rem 0 0}.btn-control:hover{background-color:transparent!important}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:none!important;box-shadow:none}.btn-qrcode-peer{padding:0!important}.btn-qrcode-peer:active,.btn-qrcode-peer:hover{transform:scale(.9) rotate(180deg);border:0!important}.btn-download-peer:active,.btn-download-peer:hover{color:#17a2b8!important;transform:translateY(5px)}.share_peer_btn_group .btn-control{margin:0 0 0 1rem;padding:0!important;transition:all .4s cubic-bezier(1,-.43,0,1)}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-lock-peer:hover{color:#28a745}.btn-lock-peer.lock,.btn-lock-peer.lock:hover{color:#6c757d}.btn-control.btn-outline-primary:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width: 992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}.peer_data_group{text-align:right;display:flex;margin-bottom:.5rem}.peer_data_group p{text-transform:uppercase;margin-bottom:0;margin-right:1rem}@media (max-width: 768px){.peer_data_group{text-align:left}}.index-switch{display:flex;align-items:center;justify-content:flex-end}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width: 768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:7rem!important}}.btn-manage-group{z-index:99;position:fixed;bottom:3rem;right:2rem;display:flex}.btn-manage-group .setting_btn_menu{position:absolute;top:-124px;background-color:#fff;padding:1rem 0;right:0;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;border-radius:10px;min-width:250px;display:none;transform:translateY(-30px);opacity:0;transition:all .3s cubic-bezier(.58,.03,.05,1)}.btn-manage-group .setting_btn_menu.show{display:block}.setting_btn_menu.showing{transform:translateY(0);opacity:1}.setting_btn_menu a{display:flex;padding:.5rem 1rem;transition:all .1s ease-in-out;font-size:1rem;align-items:center;cursor:pointer}.setting_btn_menu a:hover{background-color:#efefef;text-decoration:none}.setting_btn_menu a i{margin-right:auto!important}.add_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;margin-right:1rem;font-size:1.5rem}.setting_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;font-size:1.5rem}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating:before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key,#peer_preshared_key_textbox{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card{border-radius:10px}.peer_list .card .button-group{height:22px}.form-control{border-radius:10px}.btn{border-radius:8px}.login-box label[for=username],.login-box label[for=password],.login-box label[for=totp]{font-size:1rem;margin:0!important;transform:translateY(2.1rem) translate(1rem);padding:0}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}@-webkit-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}@-moz-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff}.info_loading{height:19.19px;opacity:0!important}#conf_status_btn{transition:.2s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}#qrcode_img img{width:100%}#selected_ip_list .badge,#selected_peer_list .badge{margin:.1rem}#add_modal.ip_modal_open{transition:filter .2s ease-in-out;filter:brightness(.5)}#delete_bulk_modal .list-group a.active{background-color:#dc3545;border-color:#dc3545}#selected_peer_list{max-height:80px;overflow-y:scroll;overflow-x:hidden}.no-response{width:100%;height:100%;position:fixed;background:#000000ba;z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all 1s ease-in-out}.no-response.active{display:flex}.no-response.active.show{opacity:100}.no-response .container>*{text-align:center}.no-responding{transition:all 1s ease-in-out;filter:blur(10px)}pre.index-alert{margin-bottom:0;padding:1rem;background-color:#343a40;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-top:1rem;color:#fff}.peerNameCol{display:flex;align-items:center;margin-bottom:.2rem}.peerName{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peerLightContainer{text-transform:uppercase;margin:0;margin-left:auto!important}#config_body{transition:.3s ease-in-out}#config_body.firstLoading{opacity:.2}.chartTitle{display:flex}.chartControl{margin-bottom:1rem;display:flex;align-items:center}.chartTitle h6{margin-bottom:0;line-height:1;margin-right:.5rem}.chartContainer.fullScreen{position:fixed;z-index:9999;background-color:#fff;top:0;left:0;width:calc(100% + 15px);height:100%;padding:32px}.chartContainer.fullScreen .col-sm{padding-right:0;height:100%}.chartContainer.fullScreen .chartCanvasContainer{width:100%;height:calc(100% - 47px)!important;max-height:calc(100% - 47px)!important}#switch{transition:all .2s ease-in}.toggle--switch{display:none}.toggleLabel{width:64px;height:32px;background-color:#6c757d17;display:flex;position:relative;border:2px solid #6c757d8c;border-radius:100px;transition:all .2s ease-in;cursor:pointer;margin:0}.toggle--switch.waiting+.toggleLabel{opacity:.5}.toggleLabel:before{background-color:#6c757d;height:26px;width:26px;content:"";border-radius:100px;margin:1px;position:absolute;animation-name:off;animation-duration:.35s;animation-fill-mode:forwards;transition:all .2s ease-in;cursor:pointer}.toggleLabel:hover:before{filter:brightness(1.2)}.toggle--switch:checked+.toggleLabel{background-color:#007bff17!important;border:2px solid #007bff8c}.toggle--switch:checked+.toggleLabel:before{background-color:#007bff;animation-name:on;animation-duration:.35s;animation-fill-mode:forwards}@keyframes on{0%{left:0}60%{left:0;width:40px}to{left:32px;width:26px}}@keyframes off{0%{left:32px}60%{left:18px;width:40px}to{left:0;width:26px}}.toastContainer{z-index:99999!important}.toast{min-width:300px;background-color:#fff;z-index:99999}.toast-header{background-color:#fff}.toast-progressbar{width:100%;height:4px;background-color:#007bff;border-bottom-left-radius:.25rem}.addConfigurationAvailableIPs{margin-bottom:0}.input-feedback{display:none}#addConfigurationModal label{display:flex;width:100%;align-items:center}#addConfigurationModal label a{margin-left:auto!important}#reGeneratePrivateKey{border-top-right-radius:10px;border-bottom-right-radius:10px}.addConfigurationToggleStatus.waiting{opacity:.5}.peerDataUsageChartContainer{min-height:50vh;width:100%}.peerDataUsageChartControl{display:block!important;margin:0}.peerDataUsageChartControl .switchUnit{width:33.3%}.peerDataUsageChartControl .switchTimePeriod{width:25%}@media (min-width: 1200px){#peerDataUsage .modal-xl{max-width:95vw}}.bottom{display:none}@media (max-width: 768px){.bottom{display:block}.btn-manage-group{bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}main{padding-bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}}.bottomNavContainer{display:flex;color:#333;padding-bottom:env(safe-area-inset-bottom,5px);box-shadow:inset 0 1px #0000001a}.bottomNavButton{width:25vw;display:flex;flex-direction:column;align-items:center;margin:.7rem 0;color:#33333380;cursor:pointer;transition:all ease-in .2s}.bottomNavButton.active{color:#333}.bottomNavButton i{font-size:1.2rem}.bottomNavButton .subNav{width:100vw;position:absolute;z-index:10000;bottom:0;left:0;background-color:#272b30;display:none;animation-duration:.4s;padding-bottom:env(safe-area-inset-bottom,5px)}.bottomNavButton .subNav.active{display:block}.bottomNavButton .subNav .nav .nav-item .nav-link{padding:.7rem 1rem}.bottomNavWrapper{height:100%;width:100%;background-color:#000000a1;position:fixed;z-index:1030;display:none;left:0}.bottomNavWrapper.active{display:block}.sb-update-url .dot-running{transform:translate(10px)}.list-group-item{transition:all .1s ease-in}.theme-switch-btn{width:100%}.fade-enter-active,.fade-leave-active{transition:all .5s cubic-bezier(.42,0,.22,1)}.fade-enter-from,.fade-leave-to{transform:translateY(40px);opacity:0}.fade2-enter-active,.fade2-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.fade2-enter-from{transform:translateY(-30px);opacity:0}.fade2-leave-to{transform:translateY(30px);filter:blur(3px);opacity:0}.login-container-fluid{height:calc(100% - 50px)}@media screen and (min-width: 576px){.login-container-fluid{height:100%}}.totp{font-family:var(--bs-font-monospace)}.message-move,.message-enter-active,.message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from,.message-leave-to{filter:blur(2px);opacity:0}.message-enter-from{transform:translateY(-30px)}.message-leave-to{transform:translateY(30px)}.message-leave-active{position:absolute}.fade3-enter-active,.fade3-leave-active{transition:all .15s ease-in-out}.fade3-enter-from{transform:scale(1);opacity:0}.fade3-leave-to{transform:scale(.8);opacity:0}.list-move,.list-enter-active,.list-leave-active{transition:all .5s ease-in-out}.list-enter-from,.list-leave-to{opacity:0;transform:scale(1.1)}.list-leave-active{position:absolute}.peerSettingContainer{background-color:#00000060;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dashboardModal{min-height:calc(100% - 3.5rem);width:700px}.dashboardModal>.card{margin:1.75rem}.zoom-enter-active,.zoom-leave-active,.zoomReversed-enter-active,.zoomReversed-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.zoom-enter-from,.zoom-leave-to{transform:scale(1.1);filter:blur(3px);opacity:0}.zoomReversed-enter-from,.zoomReversed-leave-to{transform:scale(.9);filter:blur(3px);opacity:0}.messageCentre{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre{width:calc(100% - 2rem)}}.slide-move,.slide-enter-active,.slide-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.slide-leave-active{position:absolute;width:100%}.slide-enter-from{opacity:0;transform:translate(-50px)!important}.slide-leave-to{opacity:0;transform:translate(50px)!important}@property --bgdegree{syntax: ""; initial-value: 234deg; inherits: false;}.login-container-fluid{background:linear-gradient(var(--bgdegree),#009fff1a var(--distance2),#ff4b001a 100%);animation:login 8s ease-in-out forwards}.login-container-fluid[data-bs-theme=dark]{background:linear-gradient(var(--bgdegree),#003555 var(--distance2),#521800 100%);animation:login 8s ease-in-out forwards}@keyframes login{0%{--bgdegree: 234deg}to{--bgdegree: 594deg}}.loadingBar{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%)}.loadingBar.loading{animation:loading cubic-bezier(.82,.58,.17,1) .2s forwards}.loadingBar.loadingDone{animation:loadingDone cubic-bezier(.82,.58,.17,1) .5s forwards}@keyframes loading{0%{opacity:0;width:0%}to{opacity:1;width:20%}}@keyframes loadingDone{0%{opacity:1;width:20%}to{opacity:0;width:100%}}@media screen and (max-width: 576px){.dashboardModal{width:100%!important}.dashboardModal>.card{margin:.5rem!important}}samp{word-wrap:anywhere}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.slideUp-enter-active,.slideUp-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.slideUp-enter-from,.slideUp-leave-to{transform:translateY(100%);filter:blur(3px)}.peerList-move,.peerList-enter-active,.peerList-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.peerList-enter-from{transform:translateY(100%);opacity:0}.peerList-leave-to{transform:scale(.8);opacity:0}.peerList-leave-active{position:absolute}/*! +@charset "UTF-8";*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.dp__input{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol!important}::-webkit-scrollbar{display:none}.codeFont{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.feather{width:16px;height:16px;vertical-align:text-bottom}.btn-primary{font-weight:700}#app{width:100%;height:100vh}@supports (height: 100dvh){#app{height:100dvh}}@property --brandColor1{syntax: ""; initial-value: #009dff; inherits: false;}@property --brandColor2{syntax: ""; initial-value: #ff4a00; inherits: false;}@property --distance2{syntax: ""; initial-value: 0%; inherits: false;}@property --degree{syntax: ""; initial-value: 234deg; inherits: false;}.dashboardLogo{background:#178bff;background:linear-gradient(234deg,var(--brandColor1) var(--distance2),var(--brandColor2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:--brandColor1 1s,--brandColor2 .3s,--distance2 1s!important}.btn-brand{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%);border:0!important;transition:--brandColor1 1s,--brandColor2 1s,--distance2 .5s!important}.btn-brand.loading{animation:spin infinite forwards 3s linear}.btn-brand:hover,.dashboardLogo:hover{--brandColor1: rgba(0, 157, 255, 1);--brandColor2: rgba(255, 135, 91, 1);--distance2: 30%}.signInBtn.signedIn{--distance2: 100%}@keyframes spin{0%{--degree: 234deg}to{--degree: 594deg}}[data-bs-theme=dark].main,#app:has(.main[data-bs-theme=dark]),[data-bs-theme=dark].navbar-container{background-color:#1b1e21}.sidebar .nav-link,.bottomNavContainer .nav-link{font-weight:500;color:#333;transition:.2s cubic-bezier(.82,-.07,0,1)}[data-bs-theme=dark] .sidebar .nav-link{color:#fff}[data-bs-theme=dark] .sidebar .nav-link.active{color:#74b7ff}[data-bs-theme=dark] .nav-link:hover,[data-bs-theme=dark] .nav-link.active{background-color:#323844}.nav-link:hover,.nav-link.active{background-color:#e8e8e8}.sidebar .nav-link .feather{margin-right:4px;color:#999}.sidebar .nav-link.active,.bottomNavContainer .nav-link.active{color:#007bff}.sidebar .nav-link:hover .feather,.sidebar .nav-link.active .feather{color:inherit}.sidebar-heading{font-size:.75rem;text-transform:uppercase}.navbar-brand{padding-top:.75rem;padding-bottom:.75rem;font-size:1rem}.navbar .navbar-toggler{top:.25rem;right:1rem}.form-control{transition:all .2s ease-in-out}.form-control:disabled{cursor:not-allowed}.navbar .form-control{padding:.75rem 1rem;border-width:0;border-radius:0}.form-control-dark{color:#fff;background-color:#ffffff1a;border-color:#ffffff1a}.form-control-dark:focus{border-color:transparent;box-shadow:0 0 0 3px #ffffff40}.dot{width:10px;height:10px;border-radius:50px;display:inline-block;margin-left:auto!important;background-color:#6c757d}.dot.active{background-color:#28a745!important;box-shadow:0 0 0 .2rem #28a74545}.h6-dot-running{margin-left:.3rem}.card-running{border-color:#28a745}.info h6{line-break:anywhere;transition:all .4s cubic-bezier(.96,-.07,.34,1);opacity:1}.info .row .col-sm{display:flex;flex-direction:column}.info .row .col-sm small{display:flex}.info .row .col-sm small strong:last-child(1){margin-left:auto!important}.btn-control{border:none!important;padding:0;margin:0 1rem 0 0}.btn-control:hover{background-color:transparent!important}.btn-control:active,.btn-control:focus{background-color:transparent!important;border:none!important;box-shadow:none}.btn-qrcode-peer{padding:0!important}.btn-qrcode-peer:active,.btn-qrcode-peer:hover{transform:scale(.9) rotate(180deg);border:0!important}.btn-download-peer:active,.btn-download-peer:hover{color:#17a2b8!important;transform:translateY(5px)}.share_peer_btn_group .btn-control{margin:0 0 0 1rem;padding:0!important;transition:all .4s cubic-bezier(1,-.43,0,1)}.btn-control:hover{background:#fff}.btn-delete-peer:hover{color:#dc3545}.btn-lock-peer:hover{color:#28a745}.btn-lock-peer.lock,.btn-lock-peer.lock:hover{color:#6c757d}.btn-control.btn-outline-primary:hover{color:#007bff}.btn-download-peer:hover{color:#17a2b8}.login-container{padding:2rem}@media (max-width: 992px){.card-col{margin-bottom:1rem}}.switch{font-size:2rem}.switch:hover{text-decoration:none}.btn-group-label:hover{color:#007bff;border-color:#007bff;background:#fff}.peer_data_group{text-align:right;display:flex;margin-bottom:.5rem}.peer_data_group p{text-transform:uppercase;margin-bottom:0;margin-right:1rem}@media (max-width: 768px){.peer_data_group{text-align:left}}.index-switch{display:flex;align-items:center;justify-content:flex-end}main{margin-bottom:3rem}.peer_list{margin-bottom:7rem}@media (max-width: 768px){.add_btn{bottom:1.5rem!important}.peer_list{margin-bottom:7rem!important}}.btn-manage-group{z-index:99;position:fixed;bottom:3rem;right:2rem;display:flex}.btn-manage-group .setting_btn_menu{position:absolute;top:-124px;background-color:#fff;padding:1rem 0;right:0;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;border-radius:10px;min-width:250px;display:none;transform:translateY(-30px);opacity:0;transition:all .3s cubic-bezier(.58,.03,.05,1)}.btn-manage-group .setting_btn_menu.show{display:block}.setting_btn_menu.showing{transform:translateY(0);opacity:1}.setting_btn_menu a{display:flex;padding:.5rem 1rem;transition:all .1s ease-in-out;font-size:1rem;align-items:center;cursor:pointer}.setting_btn_menu a:hover{background-color:#efefef;text-decoration:none}.setting_btn_menu a i{margin-right:auto!important}.add_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;margin-right:1rem;font-size:1.5rem}.setting_btn{height:54px;z-index:99;border-radius:100px!important;padding:0 14px;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;font-size:1.5rem}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{0%{-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.rotating:before{-webkit-animation:rotating .75s linear infinite;-moz-animation:rotating .75s linear infinite;-ms-animation:rotating .75s linear infinite;-o-animation:rotating .75s linear infinite;animation:rotating .75s linear infinite}.peer_private_key_textbox_switch{position:absolute;right:2rem;transform:translateY(-28px);font-size:1.2rem;cursor:pointer}#peer_private_key_textbox,#private_key,#public_key,#peer_preshared_key_textbox{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.progress-bar{transition:.3s ease-in-out}.key{transition:.2s ease-in-out;cursor:pointer}.key:hover{color:#007bff}.card{border-radius:10px}.peer_list .card .button-group{height:22px}.form-control{border-radius:10px}.btn{border-radius:8px}.login-box label[for=username],.login-box label[for=password],.login-box label[for=totp]{font-size:1rem;margin:0!important;transform:translateY(2.1rem) translate(1rem);padding:0}.modal-content{border-radius:10px}.tooltip-inner{font-size:.8rem}@-webkit-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}@-moz-keyframes loading{0%{background-color:#dfdfdf}50%{background-color:#adadad}to{background-color:#dfdfdf}}.conf_card{transition:.2s ease-in-out}.conf_card:hover{border-color:#007bff}.info_loading{height:19.19px;opacity:0!important}#conf_status_btn{transition:.2s ease-in-out}#conf_status_btn.info_loading{height:38px;border-radius:5px;animation:loading 3s infinite ease-in-out}#qrcode_img img{width:100%}#selected_ip_list .badge,#selected_peer_list .badge{margin:.1rem}#add_modal.ip_modal_open{transition:filter .2s ease-in-out;filter:brightness(.5)}#delete_bulk_modal .list-group a.active{background-color:#dc3545;border-color:#dc3545}#selected_peer_list{max-height:80px;overflow-y:scroll;overflow-x:hidden}.no-response{width:100%;height:100%;position:fixed;background:#000000ba;z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all 1s ease-in-out}.no-response.active{display:flex}.no-response.active.show{opacity:100}.no-response .container>*{text-align:center}.no-responding{transition:all 1s ease-in-out;filter:blur(10px)}pre.index-alert{margin-bottom:0;padding:1rem;background-color:#343a40;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;margin-top:1rem;color:#fff}.peerNameCol{display:flex;align-items:center;margin-bottom:.2rem}.peerName{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peerLightContainer{text-transform:uppercase;margin:0;margin-left:auto!important}#config_body{transition:.3s ease-in-out}#config_body.firstLoading{opacity:.2}.chartTitle{display:flex}.chartControl{margin-bottom:1rem;display:flex;align-items:center}.chartTitle h6{margin-bottom:0;line-height:1;margin-right:.5rem}.chartContainer.fullScreen{position:fixed;z-index:9999;background-color:#fff;top:0;left:0;width:calc(100% + 15px);height:100%;padding:32px}.chartContainer.fullScreen .col-sm{padding-right:0;height:100%}.chartContainer.fullScreen .chartCanvasContainer{width:100%;height:calc(100% - 47px)!important;max-height:calc(100% - 47px)!important}#switch{transition:all .2s ease-in}.toggle--switch{display:none}.toggleLabel{width:64px;height:32px;background-color:#6c757d17;display:flex;position:relative;border:2px solid #6c757d8c;border-radius:100px;transition:all .2s ease-in;cursor:pointer;margin:0}.toggle--switch.waiting+.toggleLabel{opacity:.5}.toggleLabel:before{background-color:#6c757d;height:26px;width:26px;content:"";border-radius:100px;margin:1px;position:absolute;animation-name:off;animation-duration:.35s;animation-fill-mode:forwards;transition:all .2s ease-in;cursor:pointer}.toggleLabel:hover:before{filter:brightness(1.2)}.toggle--switch:checked+.toggleLabel{background-color:#007bff17!important;border:2px solid #007bff8c}.toggle--switch:checked+.toggleLabel:before{background-color:#007bff;animation-name:on;animation-duration:.35s;animation-fill-mode:forwards}@keyframes on{0%{left:0}60%{left:0;width:40px}to{left:32px;width:26px}}@keyframes off{0%{left:32px}60%{left:18px;width:40px}to{left:0;width:26px}}.toastContainer{z-index:99999!important}.toast{min-width:300px;background-color:#fff;z-index:99999}.toast-header{background-color:#fff}.toast-progressbar{width:100%;height:4px;background-color:#007bff;border-bottom-left-radius:.25rem}.addConfigurationAvailableIPs{margin-bottom:0}.input-feedback{display:none}#addConfigurationModal label{display:flex;width:100%;align-items:center}#addConfigurationModal label a{margin-left:auto!important}#reGeneratePrivateKey{border-top-right-radius:10px;border-bottom-right-radius:10px}.addConfigurationToggleStatus.waiting{opacity:.5}.peerDataUsageChartContainer{min-height:50vh;width:100%}.peerDataUsageChartControl{display:block!important;margin:0}.peerDataUsageChartControl .switchUnit{width:33.3%}.peerDataUsageChartControl .switchTimePeriod{width:25%}@media (min-width: 1200px){#peerDataUsage .modal-xl{max-width:95vw}}.bottom{display:none}@media (max-width: 768px){.bottom{display:block}.btn-manage-group{bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}main{padding-bottom:calc(3rem + 40px + env(safe-area-inset-bottom,5px))}}.bottomNavContainer{display:flex;color:#333;padding-bottom:env(safe-area-inset-bottom,5px);box-shadow:inset 0 1px #0000001a}.bottomNavButton{width:25vw;display:flex;flex-direction:column;align-items:center;margin:.7rem 0;color:#33333380;cursor:pointer;transition:all ease-in .2s}.bottomNavButton.active{color:#333}.bottomNavButton i{font-size:1.2rem}.bottomNavButton .subNav{width:100vw;position:absolute;z-index:10000;bottom:0;left:0;background-color:#272b30;display:none;animation-duration:.4s;padding-bottom:env(safe-area-inset-bottom,5px)}.bottomNavButton .subNav.active{display:block}.bottomNavButton .subNav .nav .nav-item .nav-link{padding:.7rem 1rem}.bottomNavWrapper{height:100%;width:100%;background-color:#000000a1;position:fixed;z-index:1030;display:none;left:0}.bottomNavWrapper.active{display:block}.sb-update-url .dot-running{transform:translate(10px)}.list-group-item{transition:all .1s ease-in}.theme-switch-btn{width:100%}.fade-enter-active,.fade-leave-active{transition:all .5s cubic-bezier(.42,0,.22,1)}.fade-enter-from,.fade-leave-to{transform:translateY(40px);opacity:0}.fade2-enter-active,.fade2-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.fade2-enter-from{transform:translateY(-30px);opacity:0}.fade2-leave-to{transform:translateY(30px);filter:blur(3px);opacity:0}.login-container-fluid{height:calc(100% - 50px)}@media screen and (min-width: 576px){.login-container-fluid{height:100%}}.totp{font-family:var(--bs-font-monospace)}.message-move,.message-enter-active,.message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.message-enter-from,.message-leave-to{filter:blur(2px);opacity:0}.message-enter-from{transform:translateY(-30px)}.message-leave-to{transform:translateY(30px)}.message-leave-active{position:absolute}.fade3-enter-active,.fade3-leave-active{transition:all .15s ease-in-out}.fade3-enter-from{transform:scale(1);opacity:0}.fade3-leave-to{transform:scale(.8);opacity:0}.list-move,.list-enter-active,.list-leave-active{transition:all .5s ease-in-out}.list-enter-from,.list-leave-to{opacity:0;transform:scale(1.1)}.list-leave-active{position:absolute}.peerSettingContainer{background-color:#00000060;z-index:9999;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dashboardModal{min-height:calc(100% - 3.5rem);width:700px}.dashboardModal>.card{margin:1.75rem}.zoom-enter-active,.zoom-leave-active,.zoomReversed-enter-active,.zoomReversed-leave-active{transition:all .3s cubic-bezier(.82,.58,.17,1)}.zoom-enter-from,.zoom-leave-to{transform:scale(1.1);filter:blur(3px);opacity:0}.zoomReversed-enter-from,.zoomReversed-leave-to{transform:scale(.9);filter:blur(3px);opacity:0}.messageCentre{z-index:9999;top:1rem;right:1rem}@media screen and (max-width: 768px){.messageCentre{width:calc(100% - 2rem)}}.slide-move,.slide-enter-active,.slide-leave-active{transition:all .4s cubic-bezier(.82,.58,.17,1)}.slide-leave-active{position:absolute;width:100%}.slide-enter-from{opacity:0;transform:translate(-50px)!important}.slide-leave-to{opacity:0;transform:translate(50px)!important}@property --bgdegree{syntax: ""; initial-value: 234deg; inherits: false;}.login-container-fluid{background:linear-gradient(var(--bgdegree),#009fff1a var(--distance2),#ff4b001a 100%);animation:login 8s ease-in-out forwards}.login-container-fluid[data-bs-theme=dark]{background:linear-gradient(var(--bgdegree),#003555 var(--distance2),#521800 100%);animation:login 8s ease-in-out forwards}@keyframes login{0%{--bgdegree: 234deg}to{--bgdegree: 594deg}}.loadingBar{background:linear-gradient(var(--degree),var(--brandColor1) var(--distance2),var(--brandColor2) 100%)}.loadingBar.loading{animation:loading cubic-bezier(.82,.58,.17,1) .2s forwards}.loadingBar.loadingDone{animation:loadingDone cubic-bezier(.82,.58,.17,1) .5s forwards}@keyframes loading{0%{opacity:0;width:0%}to{opacity:1;width:20%}}@keyframes loadingDone{0%{opacity:1;width:20%}to{opacity:0;width:100%}}@media screen and (max-width: 576px){.dashboardModal{width:100%!important}.dashboardModal>.card{margin:.5rem!important}}samp{word-wrap:anywhere}.amneziawgBg{background:#91c7c1;background:linear-gradient(90deg,#91c7c1,#6b5fa1,#e38e41)}.wireguardBg{background:#7d2020;background:linear-gradient(90deg,#7d2020,#ff3838)}.slideUp-enter-active,.slideUp-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.slideUp-enter-from,.slideUp-leave-to{transform:translateY(100%);filter:blur(3px)}.peerList-move,.peerList-enter-active,.peerList-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.peerList-enter-from{transform:translateY(100%);opacity:0}.peerList-leave-to{transform:scale(.8);opacity:0}.peerList-leave-active{position:absolute}.agent-message-move,.agent-message-enter-active,.agent-message-leave-active{transition:all .5s cubic-bezier(.82,.58,.17,1)}.agent-message-enter-from,.agent-message-leave-to{opacity:0;filter:blur(8px);transform:translateY(30px)}.agent-message-leave-active{position:absolute}/*! * Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) diff --git a/src/static/app/dist/assets/index-NoeoO4ov.js b/src/static/app/dist/assets/index-NoeoO4ov.js deleted file mode 100644 index 7294c57..0000000 --- a/src/static/app/dist/assets/index-NoeoO4ov.js +++ /dev/null @@ -1,57 +0,0 @@ -import{r as M,o as le,a as x,c as y,b as c,d as g,e as I,f as H,t as P,_ as ee,g as Oe,n as D,h as je,i as Ge,G as ie,j as Ze,w as S,T as re,F as ce,k as ue,l as O,m as Ue,u as We,p as Qe,v as Fe,q as Ve,W as Je,D as Ae,s as Xe,x as oe,y as E,z as Ye,S as Ke}from"./index-qq0VI3aD.js";import{L as A}from"./localeText-miqCUaLJ.js";import{d as et}from"./dayjs.min-f_AEmQu-.js";import{M as tt}from"./message-D3MS_X3R.js";const nt={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},st={class:"container d-flex h-100 w-100"},it={class:"m-auto modal-dialog-centered dashboardModal"},rt={class:"card rounded-3 shadow flex-grow-1"},ot={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},at={class:"mb-0"},lt={class:"card-body px-4 pb-4 d-flex flex-column gap-2"},ct={class:"card text-decoration-none",target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm"},ut={class:"card-body d-flex gap-4 align-items-center"},ht={class:"d-flex align-items-center"},pt={class:"badge rounded-pill text-bg-primary ms-2"},dt={key:0,class:"spinner-border spinner-border-sm",style:{width:"0.7rem",height:"0.7rem"}},gt={key:1},ft={class:"text-muted"},mt={class:"card text-decoration-none",href:"https://donaldzou.github.io/WGDashboard-Documentation/",target:"_blank"},kt={class:"card-body d-flex gap-4 align-items-center"},bt={class:"mb-0"},xt={class:"text-muted"},wt={__name:"helpModal",setup(l){const e=M(!0),t=M(void 0);return le(()=>{e.value=!0,fetch("https://discord.com/api/guilds/1276818723637956628/widget.json").then(n=>n.json()).then(n=>{t.value=n,e.value=!1}).catch(()=>{e.value=!1})}),(n,s)=>(x(),y("div",nt,[c("div",st,[c("div",it,[c("div",rt,[c("div",ot,[c("h4",at,[g(A,{t:"Help"})]),c("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=r=>n.$emit("close"))})]),c("div",lt,[c("a",ct,[c("div",ut,[s[3]||(s[3]=c("h1",{class:"mb-0"},[c("i",{class:"bi bi-discord"})],-1)),c("div",null,[c("div",ht,[s[2]||(s[2]=c("h5",{class:"mb-0"}," Discord Server ",-1)),c("span",pt,[e.value?(x(),y("span",dt)):I("",!0),t.value!==void 0&&!e.value?(x(),y("span",gt,[s[1]||(s[1]=c("i",{class:"bi bi-person-fill me-2"},null,-1)),H(P(t.value.presence_count)+" Online ",1)])):I("",!0)])]),c("small",ft,[g(A,{t:"Join our Discord server for quick help or chat about WGDashboard!"})])])])]),c("a",mt,[c("div",kt,[s[4]||(s[4]=c("h1",{class:"mb-0"},[c("i",{class:"bi bi-hash"})],-1)),c("div",null,[c("h5",bt,[g(A,{t:"Official Documentation"})]),c("small",xt,[g(A,{t:"Official documentation contains User Guides and more..."})])])])])])])])])]))}};function he(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let N=he();function ze(l){N=l}const Q={exec:()=>null};function m(l,e=""){let t=typeof l=="string"?l:l.source;const n={replace:(s,r)=>{let i=typeof r=="string"?r:r.source;return i=i.replace(v.caret,"$1"),t=t.replace(s,i),n},getRegex:()=>new RegExp(t,e)};return n}const v={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^
    /i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:l=>new RegExp(`^( {0,3}${l})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}#`),htmlBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}<(?:[a-z].*>|!--)`,"i")},yt=/^(?:[ \t]*(?:\n|$))+/,_t=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,vt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,F=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,$t=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pe=/(?:[*+-]|\d{1,9}[.)])/,Ie=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Le=m(Ie).replace(/bull/g,pe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),St=m(Ie).replace(/bull/g,pe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),de=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Tt=/^[^\n]+/,ge=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Rt=m(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ge).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ct=m(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pe).getRegex(),te="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",fe=/|$))/,At=m("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",fe).replace("tag",te).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Be=m(de).replace("hr",F).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",te).getRegex(),zt=m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Be).getRegex(),me={blockquote:zt,code:_t,def:Rt,fences:vt,heading:$t,hr:F,html:At,lheading:Le,list:Ct,newline:yt,paragraph:Be,table:Q,text:Tt},ye=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",F).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",te).getRegex(),It={...me,lheading:St,table:ye,paragraph:m(de).replace("hr",F).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ye).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",te).getRegex()},Lt={...me,html:m(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",fe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Q,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(de).replace("hr",F).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Le).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Bt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Mt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Me=/^( {2,}|\\)\n(?!\s*$)/,Pt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,De=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Ht=m(De,"u").replace(/punct/g,ne).getRegex(),Ot=m(De,"u").replace(/punct/g,Ee).getRegex(),qe="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",jt=m(qe,"gu").replace(/notPunctSpace/g,Pe).replace(/punctSpace/g,ke).replace(/punct/g,ne).getRegex(),Gt=m(qe,"gu").replace(/notPunctSpace/g,qt).replace(/punctSpace/g,Dt).replace(/punct/g,Ee).getRegex(),Zt=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Pe).replace(/punctSpace/g,ke).replace(/punct/g,ne).getRegex(),Ut=m(/\\(punct)/,"gu").replace(/punct/g,ne).getRegex(),Wt=m(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qt=m(fe).replace("(?:-->|$)","-->").getRegex(),Ft=m("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Qt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Vt=m(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",X).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ne=m(/^!?\[(label)\]\[(ref)\]/).replace("label",X).replace("ref",ge).getRegex(),He=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",ge).getRegex(),Jt=m("reflink|nolink(?!\\()","g").replace("reflink",Ne).replace("nolink",He).getRegex(),be={_backpedal:Q,anyPunctuation:Ut,autolink:Wt,blockSkip:Nt,br:Me,code:Mt,del:Q,emStrongLDelim:Ht,emStrongRDelimAst:jt,emStrongRDelimUnd:Zt,escape:Bt,link:Vt,nolink:He,punctuation:Et,reflink:Ne,reflinkSearch:Jt,tag:Ft,text:Pt,url:Q},Xt={...be,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",X).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X).getRegex()},ae={...be,emStrongRDelimAst:Gt,emStrongLDelim:Ot,url:m(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},_e=l=>Kt[l];function z(l,e){if(e){if(v.escapeTest.test(l))return l.replace(v.escapeReplace,_e)}else if(v.escapeTestNoEncode.test(l))return l.replace(v.escapeReplaceNoEncode,_e);return l}function ve(l){try{l=encodeURI(l).replace(v.percentDecode,"%")}catch{return null}return l}function $e(l,e){const t=l.replace(v.findPipe,(r,i,o)=>{let a=!1,u=i;for(;--u>=0&&o[u]==="\\";)a=!a;return a?"|":" |"}),n=t.split(v.splitPipe);let s=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{const i=r.match(t.other.beginningSpace);if(i===null)return r;const[o]=i;return o.length>=s.length?r.slice(s.length):r}).join(` -`)}class Y{options;rules;lexer;constructor(e){this.options=e||N}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:W(n,` -`)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const n=t[0],s=tn(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){const s=W(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:W(t[0],` -`)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let n=W(t[0],` -`).split(` -`),s="",r="";const i=[];for(;n.length>0;){let o=!1;const a=[];let u;for(u=0;u1,r={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");const i=this.rules.other.listItemRegex(n);let o=!1;for(;e;){let u=!1,h="",d="";if(!(t=i.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let w=t[2].split(` -`,1)[0].replace(this.rules.other.listReplaceTabs,L=>" ".repeat(3*L.length)),f=e.split(` -`,1)[0],_=!w.trim(),p=0;if(this.options.pedantic?(p=2,d=w.trimStart()):_?p=t[1].length+1:(p=t[2].search(this.rules.other.nonSpaceChar),p=p>4?1:p,d=w.slice(p),p+=t[1].length),_&&this.rules.other.blankLine.test(f)&&(h+=f+` -`,e=e.substring(f.length+1),u=!0),!u){const L=this.rules.other.nextBulletRegex(p),j=this.rules.other.hrRegex(p),G=this.rules.other.fencesBeginRegex(p),Z=this.rules.other.headingBeginRegex(p),se=this.rules.other.htmlBeginRegex(p);for(;e;){const B=e.split(` -`,1)[0];let C;if(f=B,this.options.pedantic?(f=f.replace(this.rules.other.listReplaceNesting," "),C=f):C=f.replace(this.rules.other.tabCharGlobal," "),G.test(f)||Z.test(f)||se.test(f)||L.test(f)||j.test(f))break;if(C.search(this.rules.other.nonSpaceChar)>=p||!f.trim())d+=` -`+C.slice(p);else{if(_||w.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||G.test(w)||Z.test(w)||j.test(w))break;d+=` -`+f}!_&&!f.trim()&&(_=!0),h+=B+` -`,e=e.substring(B.length+1),w=C.slice(p)}}r.loose||(o?r.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(o=!0));let b=null,$;this.options.gfm&&(b=this.rules.other.listIsTask.exec(d),b&&($=b[0]!=="[ ] ",d=d.replace(this.rules.other.listReplaceTask,""))),r.items.push({type:"list_item",raw:h,task:!!b,checked:$,loose:!1,text:d,tokens:[]}),r.raw+=h}const a=r.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let u=0;uw.type==="space"),d=h.length>0&&h.some(w=>this.rules.other.anyLine.test(w.raw));r.loose=d}if(r.loose)for(let u=0;u({text:a,tokens:this.lexer.inline(a),header:!1,align:i.align[u]})));return i}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const n=t[1].charAt(t[1].length-1)===` -`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;const i=W(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{const i=en(t[2],"()");if(i>-1){const a=(t[0].indexOf("!")===0?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let s=t[2],r="";if(this.options.pedantic){const i=this.rules.other.pedanticHrefTitle.exec(s);i&&(s=i[1],r=i[3])}else r=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Se(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=t[s.toLowerCase()];if(!r){const i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Se(n,r,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!s||s[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const i=[...s[0]].length-1;let o,a,u=i,h=0;const d=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(s=d.exec(t))!=null;){if(o=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!o)continue;if(a=[...o].length,s[3]||s[4]){u+=a;continue}else if((s[5]||s[6])&&i%3&&!((i+a)%3)){h+=a;continue}if(u-=a,u>0)continue;a=Math.min(a,a+u+h);const w=[...s[0]][0].length,f=e.slice(0,i+s.index+w+a);if(Math.min(i,a)%2){const p=f.slice(1,-1);return{type:"em",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}const _=f.slice(2,-2);return{type:"strong",raw:f,text:_,tokens:this.lexer.inlineTokens(_)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," ");const s=this.rules.other.nonSpaceChar.test(n),r=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&r&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,s;if(t[2]==="@")n=t[0],s="mailto:"+n;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0]);n=t[0],t[1]==="www."?s="http://"+t[0]:s=t[0]}return{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){const n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}}class T{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||N,this.options.tokenizer=this.options.tokenizer||new Y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={other:v,block:V.normal,inline:U.normal};this.options.pedantic?(t.block=V.pedantic,t.inline=U.pedantic):this.options.gfm&&(t.block=V.gfm,this.options.breaks?t.inline=U.breaks:t.inline=U.gfm),this.tokenizer.rules=t}static get rules(){return{block:V,inline:U}}static lex(e,t){return new T(t).lex(e)}static lexInline(e,t){return new T(t).inlineTokens(e)}lex(e){e=e.replace(v.carriageReturn,` -`),this.blockTokens(e,this.tokens);for(let t=0;t(s=i.call({lexer:this},e,t))?(e=e.substring(s.raw.length),t.push(s),!0):!1))continue;if(s=this.tokenizer.space(e)){e=e.substring(s.raw.length);const i=t.at(-1);s.raw.length===1&&i!==void 0?i.raw+=` -`:t.push(s);continue}if(s=this.tokenizer.code(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=` -`+s.raw,i.text+=` -`+s.text,this.inlineQueue.at(-1).src=i.text):t.push(s);continue}if(s=this.tokenizer.fences(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.heading(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.hr(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.blockquote(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.list(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.html(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.def(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="paragraph"||i?.type==="text"?(i.raw+=` -`+s.raw,i.text+=` -`+s.raw,this.inlineQueue.at(-1).src=i.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if(s=this.tokenizer.table(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.lheading(e)){e=e.substring(s.raw.length),t.push(s);continue}let r=e;if(this.options.extensions?.startBlock){let i=1/0;const o=e.slice(1);let a;this.options.extensions.startBlock.forEach(u=>{a=u.call({lexer:this},o),typeof a=="number"&&a>=0&&(i=Math.min(i,a))}),i<1/0&&i>=0&&(r=e.substring(0,i+1))}if(this.state.top&&(s=this.tokenizer.paragraph(r))){const i=t.at(-1);n&&i?.type==="paragraph"?(i.raw+=` -`+s.raw,i.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(s),n=r.length!==e.length,e=e.substring(s.raw.length);continue}if(s=this.tokenizer.text(e)){e=e.substring(s.raw.length);const i=t.at(-1);i?.type==="text"?(i.raw+=` -`+s.raw,i.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=i.text):t.push(s);continue}if(e){const i="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(i);break}else throw new Error(i)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,s=null;if(this.tokens.links){const o=Object.keys(this.tokens.links);if(o.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,s.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r=!1,i="";for(;e;){r||(i=""),r=!1;let o;if(this.options.extensions?.inline?.some(u=>(o=u.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);const u=t.at(-1);o.type==="text"&&u?.type==="text"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let a=e;if(this.options.extensions?.startInline){let u=1/0;const h=e.slice(1);let d;this.options.extensions.startInline.forEach(w=>{d=w.call({lexer:this},h),typeof d=="number"&&d>=0&&(u=Math.min(u,d))}),u<1/0&&u>=0&&(a=e.substring(0,u+1))}if(o=this.tokenizer.inlineText(a)){e=e.substring(o.raw.length),o.raw.slice(-1)!=="_"&&(i=o.raw.slice(-1)),r=!0;const u=t.at(-1);u?.type==="text"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(e){const u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}}class K{options;parser;constructor(e){this.options=e||N}space(e){return""}code({text:e,lang:t,escaped:n}){const s=(t||"").match(v.notSpaceStart)?.[0],r=e.replace(v.endingNewline,"")+` -`;return s?'
    '+(n?r:z(r,!0))+`
    -`:"
    "+(n?r:z(r,!0))+`
    -`}blockquote({tokens:e}){return`
    -${this.parser.parse(e)}
    -`}html({text:e}){return e}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} -`}hr(e){return`
    -`}list(e){const t=e.ordered,n=e.start;let s="";for(let o=0;o -`+s+" -`}listitem(e){let t="";if(e.task){const n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+z(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
  • ${t}
  • -`}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    -`}table(e){let t="",n="";for(let r=0;r${s}`),` - -`+t+` -`+s+`
    -`}tablerow({text:e}){return` -${e} -`}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${z(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){const s=this.parser.parseInline(n),r=ve(e);if(r===null)return s;e=r;let i='
    ",i}image({href:e,title:t,text:n}){const s=ve(e);if(s===null)return z(n);e=s;let r=`${n}{const o=r[i].flat(1/0);n=n.concat(this.walkTokens(o,t))}):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{const s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){const i=t.renderers[r.name];i?t.renderers[r.name]=function(...o){let a=r.renderer.apply(this,o);return a===!1&&(a=i.apply(this,o)),a}:t.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const i=t[r.level];i?i.unshift(r.tokenizer):t[r.level]=[r.tokenizer],r.start&&(r.level==="block"?t.startBlock?t.startBlock.push(r.start):t.startBlock=[r.start]:r.level==="inline"&&(t.startInline?t.startInline.push(r.start):t.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(t.childTokens[r.name]=r.childTokens)}),s.extensions=t),n.renderer){const r=this.defaults.renderer||new K(this.defaults);for(const i in n.renderer){if(!(i in r))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;const o=i,a=n.renderer[o],u=r[o];r[o]=(...h)=>{let d=a.apply(r,h);return d===!1&&(d=u.apply(r,h)),d||""}}s.renderer=r}if(n.tokenizer){const r=this.defaults.tokenizer||new Y(this.defaults);for(const i in n.tokenizer){if(!(i in r))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;const o=i,a=n.tokenizer[o],u=r[o];r[o]=(...h)=>{let d=a.apply(r,h);return d===!1&&(d=u.apply(r,h)),d}}s.tokenizer=r}if(n.hooks){const r=this.defaults.hooks||new J;for(const i in n.hooks){if(!(i in r))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;const o=i,a=n.hooks[o],u=r[o];J.passThroughHooks.has(i)?r[o]=h=>{if(this.defaults.async)return Promise.resolve(a.call(r,h)).then(w=>u.call(r,w));const d=a.call(r,h);return u.call(r,d)}:r[o]=(...h)=>{let d=a.apply(r,h);return d===!1&&(d=u.apply(r,h)),d}}s.hooks=r}if(n.walkTokens){const r=this.defaults.walkTokens,i=n.walkTokens;s.walkTokens=function(o){let a=[];return a.push(i.call(this,o)),r&&(a=a.concat(r.call(this,o))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return T.lex(e,t??this.defaults)}parser(e,t){return R.parse(e,t??this.defaults)}parseMarkdown(e){return(n,s)=>{const r={...s},i={...this.defaults,...r},o=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);const a=i.hooks?i.hooks.provideLexer():e?T.lex:T.lexInline,u=i.hooks?i.hooks.provideParser():e?R.parse:R.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(n):n).then(h=>a(h,i)).then(h=>i.hooks?i.hooks.processAllTokens(h):h).then(h=>i.walkTokens?Promise.all(this.walkTokens(h,i.walkTokens)).then(()=>h):h).then(h=>u(h,i)).then(h=>i.hooks?i.hooks.postprocess(h):h).catch(o);try{i.hooks&&(n=i.hooks.preprocess(n));let h=a(n,i);i.hooks&&(h=i.hooks.processAllTokens(h)),i.walkTokens&&this.walkTokens(h,i.walkTokens);let d=u(h,i);return i.hooks&&(d=i.hooks.postprocess(d)),d}catch(h){return o(h)}}}onError(e,t){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){const s="

    An error occurred:

    "+z(n.message+"",!0)+"
    ";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}}const q=new nn;function k(l,e){return q.parse(l,e)}k.options=k.setOptions=function(l){return q.setOptions(l),k.defaults=q.defaults,ze(k.defaults),k};k.getDefaults=he;k.defaults=N;k.use=function(...l){return q.use(...l),k.defaults=q.defaults,ze(k.defaults),k};k.walkTokens=function(l,e){return q.walkTokens(l,e)};k.parseInline=q.parseInline;k.Parser=R;k.parser=R.parse;k.Renderer=K;k.TextRenderer=xe;k.Lexer=T;k.lexer=T.lex;k.Tokenizer=Y;k.Hooks=J;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;R.parse;T.lex;const sn={key:0,class:"p-2 rounded-5 text-bg-secondary",style:{"line-height":"1"}},rn={__name:"agentMessage",props:{message:{content:String,id:String,role:String,time:String},ind:Number},setup(l){const e=l;return le(()=>{document.querySelector(".agentChatroomBody").scrollTop=document.querySelector(".agentChatroomBody").scrollHeight}),Oe(()=>k.parse(e.message.content)),(t,n)=>(x(),y("div",{class:D({"d-flex flex-row align-items-end gap-2":l.message.role==="assistant","mt-auto":l.ind===0})},[l.message.role==="assistant"?(x(),y("div",sn,n[0]||(n[0]=[c("i",{class:"bi bi-robot"},null,-1)]))):I("",!0),c("div",{class:D(["d-flex text-body agentMessage",{"ms-auto":l.message.role==="user"}])},[c("div",{class:D(["px-3 py-2 rounded-3 shadow-sm",[l.message.role==="user"?"text-bg-primary ms-auto align-items-end":"text-bg-secondary align-items-start"]])},P(l.message.content),3)],2)],2))}},on=ee(rn,[["__scopeId","data-v-8635cf47"]]),an={key:"header",class:"shadow"},ln={class:"p-3 d-flex gap-2 flex-column"},cn={class:"d-flex text-body"},un={class:"d-flex flex-column align-items-start gap-1"},hn={class:"mb-0"},pn={class:"mb-0"},dn={class:"list-group"},gn={href:"https://donaldzou.github.io/WGDashboard-Documentation/",target:"_blank",class:"list-group-item list-group-item-action d-flex align-items-center"},fn={target:"_blank",role:"button",href:"https://discord.gg/72TwzjeuWm",class:"list-group-item list-group-item-action d-flex align-items-center"},mn={class:"d-flex align-items-center p-3"},kn={class:"mb-0"},bn={class:"mb-0 ms-auto"},xn={key:0,class:"mb-0 text-muted d-flex gap-2 align-items-center"},wn={class:"agentChatroomBody p-3 pb-5 d-flex flex-column gap-3 flex-grow-1",key:"body"},yn={class:"d-flex text-white align-items-center p-3 gap-3 rounded-bottom-3 mt-auto",key:"input",style:{"box-shadow":"1px -1rem 3rem 0 rgba(0, 0, 0, 0.175) !important"}},_n=["placeholder","disabled"],vn={key:0,class:"bi bi-send-fill"},$n={key:1,class:"spinner-border spinner-border-sm"},Te="https://agent-aee6a811e474080613b1-ie5yg.ondigitalocean.app",Re="JrYZtArj_C5FGRts06op58QUHPFCgUzo",Ce="1150ab95-025b-11f0-bf8f-4e013e2ddde4",Sn={__name:"agentModal",emits:["close"],setup(l,{emit:e}){const t=M(""),n=M(!1),s=je({});let r,i=M(void 0);const o=M(!1),a=M(!1),u=()=>{document.querySelector(".agentChatroomBody").scrollTop=document.querySelector(".agentChatroomBody").scrollHeight},h=(p,b)=>{let $=Ve().toString();return s[$]={id:$,role:p,content:b,time:et().format("YYYY-MM-DD HH:mm:ss")},$},d=()=>{t.value&&(h("user",t.value),t.value="",n.value=!0,fetch(`${Te}/api/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i.value.access_token}`},body:JSON.stringify({include_functions_info:!1,include_retrieval_info:!1,include_guardrails_info:!1,stream:!0,messages:Object.values(s)})}).then(p=>{if(p.ok){const $=p.body.getReader(),L=new TextDecoder;let j=h("assistant","");const G=()=>{$.read().then(({value:Z,done:se})=>{if(se){n.value=!1;return}let B=L.decode(Z,{stream:!0}).trim();B=B.split(` -`),B.forEach(C=>{C&&(C=C.replace(/^data:\s*/,""),C!=="[DONE]"&&JSON.parse(C).choices.forEach(we=>{we.delta.content&&(s[j].content+=we.delta.content,u())}))}),G()}).catch(Z=>{n.value=!1,s[j].content="Sorry, the bot is not responding."})};G()}else throw n.value=!1,new Error("Invalid response")}))},w=async()=>{a.value=!0,await fetch(`${Te}/health`,{signal:AbortSignal.timeout(3e3)}).then(p=>p.json()).then(p=>{o.value=p.status==="ok"}).catch(()=>{a.value=!1,o.value=!1}),o.value&&await fetch(`https://cloud.digitalocean.com/gen-ai/auth/agents/${Ce}/token`,{headers:{"Content-Type":"application/json","X-Api-Key":Re},method:"POST",body:JSON.stringify({})}).then(p=>{if(p.ok)return p.json();throw new Error("Access token not available")}).then(p=>{i.value=p,a.value=!1}).catch(()=>{a.value=!1,o.value=!1})},f=async()=>{i.value&&await fetch(`https://cloud.digitalocean.com/gen-ai/auth/agents/${Ce}/token?refresh_token=${i.value.refresh_token}`,{headers:{"Content-Type":"application/json","X-Api-Key":Re},method:"PUT",body:JSON.stringify({})}).then(p=>p.json()).then(p=>{o.value=!0,i.value=p}).catch(p=>{o.value=!1,console.log(p)})};Ge(()=>{h("assistant",ie("Hi! How can I help you today?"))}),le(async()=>{await w(),r=setInterval(async()=>{await f()},6e4)}),Ze(()=>{clearInterval(r)});const _=e;return(p,b)=>(x(),y("div",{class:D(["agentContainer m-2 rounded-3 d-flex flex-column text-body",{connected:o.value&&!a.value}])},[g(re,{name:"agent-message"},{default:S(()=>[c("div",an,[c("div",ln,[c("div",cn,[c("div",un,[c("h5",hn,[g(A,{t:"Help"})])]),c("a",{role:"button",class:"ms-auto text-body",onClick:b[0]||(b[0]=$=>_("close"))},b[2]||(b[2]=[c("h5",{class:"mb-0"},[c("i",{class:"bi bi-x-lg"})],-1)]))]),c("p",pn,[g(A,{t:"You can visit our: "})]),c("div",dn,[c("a",gn,[b[3]||(b[3]=c("i",{class:"bi bi-book-fill"},null,-1)),g(A,{class:"ms-auto",t:"Official Documentation"})]),c("a",fn,[b[4]||(b[4]=c("i",{class:"bi bi-discord"},null,-1)),g(A,{class:"ms-auto",t:"Discord Server"})])])]),c("div",mn,[c("h5",kn,[g(A,{t:"WGDashboard Help Bot"})]),c("h6",bn,[a.value?(x(),y("span",xn,[b[5]||(b[5]=c("span",{class:"spinner-border spinner-border-sm"},null,-1)),c("small",null,[g(A,{t:"Connecting..."})])])):(x(),y("span",{key:1,class:D(["mb-0 d-flex gap-2 align-items-center badge",[o.value?"text-bg-success":"text-bg-danger"]])},P(o.value?"Connected":"Not Connected"),3))])])]),o.value&&!a.value?(x(),y("div",wn,[g(re,{name:"agent-message"},{default:S(()=>[(x(!0),y(ce,null,ue(Object.values(s),($,L)=>(x(),O(on,{message:$,key:$.id,ind:L},null,8,["message","ind"]))),128))]),_:1})])):I("",!0),o.value&&!a.value?(x(),y("div",yn,[Ue(c("input",{type:"text",class:"form-control rounded-3 bg-transparent border-0",placeholder:We(ie)("What do you want to ask?"),onKeyup:Qe(d,["enter"]),"onUpdate:modelValue":b[1]||(b[1]=$=>t.value=$),disabled:n.value},null,40,_n),[[Fe,t.value]]),c("a",{role:"button",class:"agentChatroomSendButton text-body",onClick:d},[n.value?(x(),y("span",$n)):(x(),y("i",vn))])])):I("",!0)]),_:1})],2))}},Tn=ee(Sn,[["__scopeId","data-v-950a378a"]]),Rn={name:"navbar",components:{HelpModal:wt,LocaleText:A,AgentModal:Tn},setup(){const l=Je(),e=Ae();return{wireguardConfigurationsStore:l,dashboardConfigurationStore:e}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:"",openHelpModal:!1,openAgentModal:!0}},computed:{getActiveCrossServer(){if(this.dashboardConfigurationStore.ActiveServerConfiguration)return new URL(this.dashboardConfigurationStore.CrossServerConfiguration.ServerList[this.dashboardConfigurationStore.ActiveServerConfiguration].host)}},mounted(){Xe("/api/getDashboardUpdate",{},l=>{l.status?(l.data&&(this.updateAvailable=!0,this.updateUrl=l.data),this.updateMessage=l.message):(this.updateMessage=ie("Failed to check available update"),console.log(`Failed to get update: ${l.message}`))})}},Cn=["data-bs-theme"],An={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},zn={class:"sidebar-sticky"},In={class:"text-white text-center m-0 py-3 mb-2 btn-brand"},Ln={key:0,class:"ms-auto"},Bn={class:"nav flex-column px-2 gap-1"},Mn={class:"nav-item"},Pn={class:"nav-item"},En={class:"nav-item"},Dn={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},qn={class:"nav flex-column px-2 gap-1"},Nn={class:"nav-item"},Hn={class:"sidebar-heading px-3 mt-3 mb-1 text-muted text-center"},On={class:"nav flex-column px-2 gap-1"},jn={class:"nav-item"},Gn={class:"nav-item"},Zn={class:"nav-item"},Un={class:"nav flex-column px-2 mb-3"},Wn={class:"nav-item"},Qn={class:"nav-item",style:{"font-size":"0.8rem"}},Fn=["href"],Vn={class:"nav-link text-muted rounded-3"},Jn={key:1,class:"nav-link text-muted rounded-3"};function Xn(l,e,t,n,s,r){const i=E("LocaleText"),o=E("RouterLink"),a=E("HelpModal"),u=E("AgentModal");return x(),y("div",{class:D(["col-md-3 col-lg-2 d-md-block p-2 navbar-container",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":n.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[c("nav",An,[c("div",zn,[c("div",In,[e[5]||(e[5]=c("h5",{class:"mb-0"}," WGDashboard ",-1)),r.getActiveCrossServer!==void 0?(x(),y("small",Ln,[e[4]||(e[4]=c("i",{class:"bi bi-hdd-rack-fill me-2"},null,-1)),H(P(r.getActiveCrossServer.host),1)])):I("",!0)]),c("ul",Bn,[c("li",Mn,[g(o,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:S(()=>[e[6]||(e[6]=c("i",{class:"bi bi-house me-2"},null,-1)),g(i,{t:"Home"})]),_:1})]),c("li",Pn,[g(o,{class:"nav-link rounded-3",to:"/settings","exact-active-class":"active"},{default:S(()=>[e[7]||(e[7]=c("i",{class:"bi bi-gear me-2"},null,-1)),g(i,{t:"Settings"})]),_:1})]),c("li",En,[c("a",{class:"nav-link rounded-3",role:"button",onClick:e[0]||(e[0]=h=>s.openAgentModal=!0)},[e[8]||(e[8]=c("i",{class:"bi bi-question-circle me-2"},null,-1)),g(i,{t:"Help"})])])]),e[11]||(e[11]=c("hr",{class:"text-body my-2"},null,-1)),c("h6",Dn,[g(i,{t:"WireGuard Configurations"})]),c("ul",qn,[(x(!0),y(ce,null,ue(this.wireguardConfigurationsStore.Configurations,h=>(x(),y("li",Nn,[g(o,{to:"/configuration/"+h.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:S(()=>[c("span",{class:D(["dot me-2",{active:h.Status}])},null,2),H(" "+P(h.Name),1)]),_:2},1032,["to"])]))),256))]),e[12]||(e[12]=c("hr",{class:"text-body my-2"},null,-1)),c("h6",Hn,[g(i,{t:"Tools"})]),c("ul",On,[c("li",jn,[g(o,{to:"/system_status",class:"nav-link rounded-3","active-class":"active"},{default:S(()=>[g(i,{t:"System Status"})]),_:1})]),c("li",Gn,[g(o,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:S(()=>[g(i,{t:"Ping"})]),_:1})]),c("li",Zn,[g(o,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:S(()=>[g(i,{t:"Traceroute"})]),_:1})])]),e[13]||(e[13]=c("hr",{class:"text-body my-2"},null,-1)),c("ul",Un,[c("li",Wn,[c("a",{class:"nav-link text-danger rounded-3",onClick:e[1]||(e[1]=h=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[e[9]||(e[9]=c("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),g(i,{t:"Sign Out"})])]),c("li",Qn,[this.updateAvailable?(x(),y("a",{key:0,href:this.updateUrl,class:"text-decoration-none rounded-3",target:"_blank"},[c("small",Vn,[g(i,{t:this.updateMessage},null,8,["t"]),e[10]||(e[10]=H(" (")),g(i,{t:"Current Version:"}),H(" "+P(n.dashboardConfigurationStore.Configuration.Server.version)+") ",1)])],8,Fn)):(x(),y("small",Jn,[g(i,{t:this.updateMessage},null,8,["t"]),H(" ("+P(n.dashboardConfigurationStore.Configuration.Server.version)+") ",1)]))])])])]),g(oe,{name:"zoom"},{default:S(()=>[this.openHelpModal?(x(),O(a,{key:0,onClose:e[2]||(e[2]=h=>{s.openHelpModal=!1})})):I("",!0)]),_:1}),g(oe,{name:"slideIn"},{default:S(()=>[this.openAgentModal?(x(),O(u,{key:0,onClose:e[3]||(e[3]=h=>s.openAgentModal=!1)})):I("",!0)]),_:1})],10,Cn)}const Yn=ee(Rn,[["render",Xn],["__scopeId","data-v-e7e23062"]]),Kn={name:"index",components:{Message:tt,Navbar:Yn},async setup(){return{dashboardConfigurationStore:Ae()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(l=>l.show)}}},es=["data-bs-theme"],ts={class:"row h-100"},ns={class:"col-md-9 col-lg-10 overflow-y-scroll mb-0 pt-2"},ss={class:"messageCentre text-body position-absolute d-flex"};function is(l,e,t,n,s,r){const i=E("Navbar"),o=E("RouterView"),a=E("Message");return x(),y("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[c("div",ts,[g(i),c("main",ns,[(x(),O(Ke,null,{default:S(()=>[g(o,null,{default:S(({Component:u})=>[g(oe,{name:"fade2",mode:"out-in",appear:""},{default:S(()=>[(x(),O(Ye(u)))]),_:2},1024)]),_:1})]),_:1})),c("div",ss,[g(re,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:S(()=>[(x(!0),y(ce,null,ue(r.getMessages.slice().reverse(),u=>(x(),O(a,{message:u,key:u.id},null,8,["message"]))),128))]),_:1})])])])],8,es)}const us=ee(Kn,[["render",is],["__scopeId","data-v-0c6a5068"]]);export{us as default}; diff --git a/src/static/app/dist/assets/localeText-miqCUaLJ.js b/src/static/app/dist/assets/localeText-CoKvgn8T.js similarity index 76% rename from src/static/app/dist/assets/localeText-miqCUaLJ.js rename to src/static/app/dist/assets/localeText-CoKvgn8T.js index 590676c..a85c0fd 100644 --- a/src/static/app/dist/assets/localeText-miqCUaLJ.js +++ b/src/static/app/dist/assets/localeText-CoKvgn8T.js @@ -1 +1 @@ -import{_ as e,G as t,a as o,c as a,t as c}from"./index-qq0VI3aD.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return o(),a("span",null,c(this.getLocaleText),1)}const u=e(s,[["render",n]]);export{u as L}; +import{_ as e,G as t,a as o,c as a,t as c}from"./index-Bsy8tbGW.js";const s={name:"localeText",props:{t:""},computed:{getLocaleText(){return t(this.t)}}};function n(r,p,l,_,i,x){return o(),a("span",null,c(this.getLocaleText),1)}const u=e(s,[["render",n]]);export{u as L}; diff --git a/src/static/app/dist/assets/message-D3MS_X3R.js b/src/static/app/dist/assets/message-HYNxjFjL.js similarity index 65% rename from src/static/app/dist/assets/message-D3MS_X3R.js rename to src/static/app/dist/assets/message-HYNxjFjL.js index 9db2adb..b910a97 100644 --- a/src/static/app/dist/assets/message-D3MS_X3R.js +++ b/src/static/app/dist/assets/message-HYNxjFjL.js @@ -1 +1 @@ -import{L as l}from"./localeText-miqCUaLJ.js";import{d as c}from"./dayjs.min-f_AEmQu-.js";import{_ as h,a as o,c as a,b as e,d as i,w as u,f as p,t as n,x as g,n as f,y as x}from"./index-qq0VI3aD.js";const _={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:l},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=x("LocaleText");return o(),a("div",{onMouseenter:s[1]||(s[1]=r=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=r=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:f([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[i(g,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(o(),a("div",k,[e("small",{onClick:s[0]||(s[0]=r=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),i(d,{t:"Dismiss"})])])):(o(),a("div",b,[e("small",w,[i(d,{t:"FROM "}),p(" "+n(this.message.from),1)]),e("small",y,n(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,n(this.message.content),1)])],40,v)}const z=h(_,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; +import{L as r}from"./localeText-CoKvgn8T.js";import{d as c}from"./dayjs.min-fPdQmr57.js";import{_ as h,a as o,c as a,b as e,d as i,w as u,f as p,t as n,l as g,n as f,y as _}from"./index-Bsy8tbGW.js";const x={name:"message",methods:{dayjs:c,hide(){this.ct(),this.message.show=!1},show(){this.timeout=setTimeout(()=>{this.message.show=!1},5e3)},ct(){clearTimeout(this.timeout)}},components:{LocaleText:r},props:{message:Object},mounted(){this.show()},data(){return{dismiss:!1,timeout:null}}},v=["id"],b={key:0,class:"d-flex"},w={class:"fw-bold d-block",style:{"text-transform":"uppercase"}},y={class:"ms-auto"},k={key:1},T={class:"card-body d-flex align-items-center gap-3"};function M(C,s,L,j,t,m){const d=_("LocaleText");return o(),a("div",{onMouseenter:s[1]||(s[1]=l=>{t.dismiss=!0,this.ct()}),onMouseleave:s[2]||(s[2]=l=>{t.dismiss=!1,this.show()}),class:"card shadow rounded-3 position-relative message ms-auto",id:this.message.id},[e("div",{class:f([{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"},"card-header pos"])},[i(g,{name:"zoom",mode:"out-in"},{default:u(()=>[t.dismiss?(o(),a("div",k,[e("small",{onClick:s[0]||(s[0]=l=>m.hide()),class:"d-block mx-auto w-100 text-center",style:{cursor:"pointer"}},[s[3]||(s[3]=e("i",{class:"bi bi-x-lg me-2"},null,-1)),i(d,{t:"Dismiss"})])])):(o(),a("div",b,[e("small",w,[i(d,{t:"FROM "}),p(" "+n(this.message.from),1)]),e("small",y,n(m.dayjs().format("hh:mm A")),1)]))]),_:1})],2),e("div",T,[e("div",null,n(this.message.content),1)])],40,v)}const z=h(x,[["render",M],["__scopeId","data-v-94c76b54"]]);export{z as M}; diff --git a/src/static/app/dist/assets/newConfiguration-DxS5shXz.js b/src/static/app/dist/assets/newConfiguration-DGE5GvY1.js similarity index 98% rename from src/static/app/dist/assets/newConfiguration-DxS5shXz.js rename to src/static/app/dist/assets/newConfiguration-DGE5GvY1.js index f49bf61..8c716c3 100644 --- a/src/static/app/dist/assets/newConfiguration-DxS5shXz.js +++ b/src/static/app/dist/assets/newConfiguration-DGE5GvY1.js @@ -1,3 +1,3 @@ -import{p as P}from"./index-L60y6kc9.js";import{_ as x,W as L,r as k,s as S,D as K,E as A,c as l,b as t,d as a,w as U,n as v,e as b,m as p,v as h,t as g,f as w,F as y,k as _,y as C,a as d}from"./index-qq0VI3aD.js";import{L as I}from"./localeText-miqCUaLJ.js";const N=s=>{const e=s.split(` +import{p as P}from"./index-L60y6kc9.js";import{_ as x,W as L,r as k,x as S,D as K,E as A,c as l,b as t,d as a,w as U,n as v,e as b,m as p,v as h,t as g,f as w,F as y,k as _,y as C,a as d}from"./index-Bsy8tbGW.js";import{L as I}from"./localeText-CoKvgn8T.js";const N=s=>{const e=s.split(` `),i={};for(let c of e){if(c==="[Peer]")break;if(c.length>0){let n=c.replace(" = ","=");n.indexOf("=")>-1&&(n=[n.slice(0,n.indexOf("=")),n.slice(n.indexOf("=")+1)],n[0]==="ListenPort"?i[n[0]]=parseInt(n[1]):i[n[0]]=n[1])}}return i},O=s=>{const e=s.split(` `),i=[];let c=-1;const n=e.indexOf("[Peer]");if(n===-1)return!1;for(let u=n;u-1&&(f=[f.slice(0,f.indexOf("=")),f.slice(f.indexOf("=")+1)],i[c][f[0]]=f[1])}return i},q={name:"newConfiguration",components:{LocaleText:I},async setup(){const s=L(),e=k([]);await S("/api/protocolsEnabled",{},c=>{e.value=c.data});const i=K();return{store:s,protocols:e,dashboardStore:i}},data(){return{newConfiguration:{ConfigurationName:"",Address:"",ListenPort:"",PrivateKey:"",PublicKey:"",PresharedKey:"",PreUp:"",PreDown:"",PostUp:"",PostDown:"",Protocol:"wg",Jc:5,Jmin:49,Jmax:998,S1:17,S2:110,H1:0,H2:0,H3:0,H4:0},numberOfAvailableIPs:"0",error:!1,errorMessage:"",success:!1,loading:!1,parseInterfaceResult:void 0,parsePeersResult:void 0}},created(){this.wireguardGenerateKeypair();let s=[];for(;[...new Set(s)].length!==4;)s=[this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1),this.rand(1,2**31-1)];this.newConfiguration.H1=s[0],this.newConfiguration.H2=s[1],this.newConfiguration.H3=s[2],this.newConfiguration.H4=s[3]},methods:{rand(s,e){return Math.floor(Math.random()*(e-s)+s)},wireguardGenerateKeypair(){const s=window.wireguard.generateKeypair();this.newConfiguration.PrivateKey=s.privateKey,this.newConfiguration.PublicKey=s.publicKey,this.newConfiguration.PresharedKey=s.presharedKey},async saveNewConfiguration(){this.goodToSubmit&&(this.loading=!0,await A("/api/addWireguardConfiguration",this.newConfiguration,async s=>{s.status?(this.success=!0,await this.store.getConfigurations(),this.$router.push(`/configuration/${this.newConfiguration.ConfigurationName}/peers`)):(this.error=!0,this.errorMessage=s.message,document.querySelector(`#${s.data}`).classList.remove("is-valid"),document.querySelector(`#${s.data}`).classList.add("is-invalid"),this.loading=!1)}))},openFileUpload(){document.querySelector("#fileUpload").click()},readFile(s){const e=s.target.files[0];if(!e)return!1;const i=new FileReader;i.onload=c=>{this.parseInterfaceResult=N(c.target.result),this.parsePeersResult=O(c.target.result);let n=0;if(this.parseInterfaceResult){this.newConfiguration.ConfigurationName=e.name.replace(".conf","");for(let u of Object.keys(this.parseInterfaceResult))Object.keys(this.newConfiguration).includes(u)&&(this.newConfiguration[u]=this.parseInterfaceResult[u],n+=1)}n>0?this.dashboardStore.newMessage("WGDashboard",`Parse successful! Updated ${n} field(s)`,"success"):this.dashboardStore.newMessage("WGDashboard","Parse failed","danger")},i.readAsText(e)}},computed:{goodToSubmit(){let s=["ConfigurationName","Address","ListenPort","PrivateKey"],e=[...document.querySelectorAll("input[required]")];return s.find(i=>this.newConfiguration[i].length===0)===void 0&&e.find(i=>i.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(s){let e=document.querySelector("#Address");e.classList.remove("is-invalid","is-valid");try{if(s.trim().split("/").filter(n=>n.length>0).length!==2)throw Error();let i=P(s),c=i.end-i.start;this.numberOfAvailableIPs=c.toLocaleString(),e.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",e.classList.add("is-invalid")}},"newConfiguration.ListenPort"(s){let e=document.querySelector("#ListenPort");e.classList.remove("is-invalid","is-valid"),s<0||s>65353||!Number.isInteger(s)?e.classList.add("is-invalid"):e.classList.add("is-valid")},"newConfiguration.ConfigurationName"(s){let e=document.querySelector("#ConfigurationName");e.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(s)||s.length===0||this.store.Configurations.find(i=>i.Name===s)?e.classList.add("is-invalid"):e.classList.add("is-valid")},"newConfiguration.PrivateKey"(s){let e=document.querySelector("#PrivateKey");e.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(s),e.classList.add("is-valid")}catch{e.classList.add("is-invalid")}}},mounted(){document.querySelector("#fileUpload").addEventListener("change",this.readFile,!1)}},D={class:"mt-md-5 mt-3 text-body"},R={class:"container mb-4"},H={class:"mb-4 d-flex align-items-center gap-4 align-items-center"},$={class:"mb-0"},M={class:"d-flex gap-2 ms-auto"},F={class:"card rounded-3 shadow"},G={class:"card-header"},T={class:"card-body d-flex gap-2 protocolBtnGroup"},V={key:0,class:"bi bi-check-circle-fill me-2"},B={key:1,class:"bi bi-circle me-2"},W={key:0,class:"bi bi-check-circle-fill me-2"},E={key:1,class:"bi bi-circle me-2"},J={class:"card rounded-3 shadow"},z={class:"card-header"},j={class:"card-body"},Z=["disabled"],Q={class:"invalid-feedback"},X={key:0},Y={key:1},ee={class:"mb-0"},te={class:"card rounded-3 shadow"},se={class:"card-header"},ie={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},oe={class:"mb-2"},ne={class:"text-muted fw-bold mb-1"},ae={class:"input-group"},re=["disabled"],le={class:"text-muted fw-bold mb-1"},de={class:"card rounded-3 shadow"},ce={class:"card-header"},ue={class:"card-body"},fe=["disabled"],pe={class:"invalid-feedback"},he={key:0},ge={key:1},me={class:"card rounded-3 shadow"},be={class:"card-header d-flex align-items-center"},ve={class:"badge rounded-pill text-bg-success ms-auto"},we={class:"card-body"},ye=["disabled"],_e={class:"invalid-feedback"},Ce={key:0},Pe={key:1},xe={class:"accordion",id:"newConfigurationOptionalAccordion"},Le={class:"accordion-item"},ke={class:"accordion-header"},Se={class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Ke={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Ae={class:"accordion-body d-flex flex-column gap-3"},Ue={class:"card rounded-3"},Ie={class:"card-header"},Ne={class:"card-body"},Oe=["id","onUpdate:modelValue"],qe={class:"card rounded-3"},De={class:"card-header"},Re={class:"card-body"},He=["id","onUpdate:modelValue"],$e=["disabled"],Me={key:0,class:"d-flex w-100"},Fe={key:1,class:"d-flex w-100"},Ge={key:2,class:"d-flex w-100 align-items-center"};function Te(s,e,i,c,n,u){const f=C("RouterLink"),r=C("LocaleText");return d(),l("div",D,[t("div",R,[t("div",H,[a(f,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:U(()=>e[10]||(e[10]=[t("h2",{class:"mb-0",style:{"line-height":"0"}},[t("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1}),t("h2",$,[a(r,{t:"New Configuration"})]),t("div",M,[t("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:e[0]||(e[0]=o=>u.openFileUpload()),type:"button","aria-expanded":"false"},[e[11]||(e[11]=t("i",{class:"bi bi-upload me-2"},null,-1)),a(r,{t:"Open File"})]),e[12]||(e[12]=t("input",{type:"file",id:"fileUpload",multiple:"",class:"d-none",accept:"text/plain"},null,-1))])]),t("form",{class:"text-body d-flex flex-column gap-3",onSubmit:e[9]||(e[9]=o=>{o.preventDefault(),this.saveNewConfiguration()})},[t("div",F,[t("div",G,[a(r,{t:"Protocol"})]),t("div",T,[this.protocols.includes("wg")?(d(),l("a",{key:0,onClick:e[1]||(e[1]=o=>this.newConfiguration.Protocol="wg"),class:v([{"opacity-50":this.newConfiguration.Protocol!=="wg"},"btn btn-primary wireguardBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="wg"?(d(),l("i",V)):(d(),l("i",B)),e[13]||(e[13]=t("strong",null," WireGuard ",-1))],2)):b("",!0),this.protocols.includes("awg")?(d(),l("a",{key:1,onClick:e[2]||(e[2]=o=>this.newConfiguration.Protocol="awg"),class:v([{"opacity-50":this.newConfiguration.Protocol!=="awg"},"btn btn-primary amneziawgBg border-0"]),style:{"flex-basis":"100%"}},[this.newConfiguration.Protocol==="awg"?(d(),l("i",W)):(d(),l("i",E)),e[14]||(e[14]=t("strong",null," AmneziaWG ",-1))],2)):b("",!0)])]),t("div",J,[t("div",z,[a(r,{t:"Configuration Name"})]),t("div",j,[p(t("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":e[3]||(e[3]=o=>this.newConfiguration.ConfigurationName=o),disabled:this.loading,required:""},null,8,Z),[[h,this.newConfiguration.ConfigurationName]]),t("div",Q,[this.error?(d(),l("div",X,g(this.errorMessage),1)):(d(),l("div",Y,[a(r,{t:"Configuration name is invalid. Possible reasons:"}),t("ul",ee,[t("li",null,[a(r,{t:"Configuration name already exist."})]),t("li",null,[a(r,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])])]),t("div",te,[t("div",se,[a(r,{t:"Private Key"}),e[15]||(e[15]=w(" & ")),a(r,{t:"Public Key"})]),t("div",ie,[t("div",oe,[t("label",ne,[t("small",null,[a(r,{t:"Private Key"})])]),t("div",ae,[p(t("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":e[4]||(e[4]=o=>this.newConfiguration.PrivateKey=o)},null,8,re),[[h,this.newConfiguration.PrivateKey]]),t("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:e[5]||(e[5]=o=>u.wireguardGenerateKeypair())},e[16]||(e[16]=[t("i",{class:"bi bi-arrow-repeat"},null,-1)]))])]),t("div",null,[t("label",le,[t("small",null,[a(r,{t:"Public Key"})])]),p(t("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":e[6]||(e[6]=o=>this.newConfiguration.PublicKey=o),disabled:""},null,512),[[h,this.newConfiguration.PublicKey]])])])]),t("div",de,[t("div",ce,[a(r,{t:"Listen Port"})]),t("div",ue,[p(t("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":e[7]||(e[7]=o=>this.newConfiguration.ListenPort=o),disabled:this.loading,required:""},null,8,fe),[[h,this.newConfiguration.ListenPort]]),t("div",pe,[this.error?(d(),l("div",he,g(this.errorMessage),1)):(d(),l("div",ge,[a(r,{t:"Invalid port"})]))])])]),t("div",me,[t("div",be,[a(r,{t:"IP Address/CIDR"}),t("span",ve,g(n.numberOfAvailableIPs)+" Available IPs",1)]),t("div",we,[p(t("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":e[8]||(e[8]=o=>this.newConfiguration.Address=o),disabled:this.loading,required:""},null,8,ye),[[h,this.newConfiguration.Address]]),t("div",_e,[this.error?(d(),l("div",Ce,g(this.errorMessage),1)):(d(),l("div",Pe," IP Address/CIDR is invalid "))])])]),e[21]||(e[21]=t("hr",null,null,-1)),t("div",xe,[t("div",Le,[t("h2",ke,[t("button",Se,[a(r,{t:"Optional Settings"})])]),t("div",Ke,[t("div",Ae,[(d(),l(y,null,_(["PreUp","PreDown","PostUp","PostDown"],o=>t("div",Ue,[t("div",Ie,g(o),1),t("div",Ne,[p(t("input",{type:"text",class:"form-control font-monospace",id:o,"onUpdate:modelValue":m=>this.newConfiguration[o]=m},null,8,Oe),[[h,this.newConfiguration[o]]])])])),64)),this.newConfiguration.Protocol==="awg"?(d(),l(y,{key:0},_(["Jc","Jmin","Jmax","S1","S2","H1","H2","H3","H4"],o=>t("div",qe,[t("div",De,g(o),1),t("div",Re,[p(t("input",{type:"text",class:"form-control font-monospace",id:o,"onUpdate:modelValue":m=>this.newConfiguration[o]=m},null,8,He),[[h,this.newConfiguration[o]]])])])),64)):b("",!0)])])])]),t("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit||this.loading||this.success},[this.success?(d(),l("span",Me,[a(r,{t:"Success"}),e[17]||(e[17]=w("! ")),e[18]||(e[18]=t("i",{class:"bi bi-check-circle-fill ms-2"},null,-1))])):this.loading?(d(),l("span",Ge,[a(r,{t:"Saving..."}),e[20]||(e[20]=t("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1))])):(d(),l("span",Fe,[e[19]||(e[19]=t("i",{class:"bi bi-save-fill me-2"},null,-1)),a(r,{t:"Save"})]))],8,$e)],32)])])}const Ee=x(q,[["render",Te],["__scopeId","data-v-141f725f"]]);export{Ee as default}; diff --git a/src/static/app/dist/assets/osmap-m_T5cJB3.js b/src/static/app/dist/assets/osmap-iQEplA0N.js similarity index 99% rename from src/static/app/dist/assets/osmap-m_T5cJB3.js rename to src/static/app/dist/assets/osmap-iQEplA0N.js index 73c13e6..c8831a9 100644 --- a/src/static/app/dist/assets/osmap-m_T5cJB3.js +++ b/src/static/app/dist/assets/osmap-iQEplA0N.js @@ -1,4 +1,4 @@ -import{_ as el,D as il,a as nl,c as sl,e as rl}from"./index-qq0VI3aD.js";class fe{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}const di={PROPERTYCHANGE:"propertychange"};class Wn{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function ol(n,t,e){let i,s;e=e||ae;let r=0,o=n.length,a=!1;for(;r>1),s=+e(n[i],t),s<0?r=i+1:(o=i,a=!s);return a?r:~r}function ae(n,t){return n>t?1:n0?s-1:s}return i-1}if(e>0){for(let s=1;s0||o===0)})}function Wi(){return!0}function Zn(){return!1}function fi(){}function No(n){let t,e,i;return function(){const s=Array.prototype.slice.call(arguments);return(!e||this!==i||!Ae(s,e))&&(i=this,e=s,t=n.apply(this,arguments)),t}}function hl(n){function t(){let e;try{e=n()}catch(i){return Promise.reject(i)}return e instanceof Promise?e:Promise.resolve(e)}return t()}function nn(n){for(const t in n)delete n[t]}function gi(n){let t;for(t in n)return!1;return!t}class Kn extends Wn{constructor(t){super(),this.eventTarget_=t,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(t,e){if(!t||!e)return;const i=this.listeners_||(this.listeners_={}),s=i[t]||(i[t]=[]);s.includes(e)||s.push(e)}dispatchEvent(t){const e=typeof t=="string",i=e?t:t.type,s=this.listeners_&&this.listeners_[i];if(!s)return;const r=e?new fe(t):t;r.target||(r.target=this.eventTarget_||this);const o=this.dispatching_||(this.dispatching_={}),a=this.pendingRemovals_||(this.pendingRemovals_={});i in o||(o[i]=0,a[i]=0),++o[i];let l;for(let c=0,h=s.length;c0:!1}removeEventListener(t,e){if(!this.listeners_)return;const i=this.listeners_[t];if(!i)return;const s=i.indexOf(e);s!==-1&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[s]=fi,++this.pendingRemovals_[t]):(i.splice(s,1),i.length===0&&delete this.listeners_[t]))}}const z={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"};function V(n,t,e,i,s){if(s){const o=e;e=function(){n.removeEventListener(t,e),o.apply(i??this,arguments)}}else i&&i!==n&&(e=e.bind(i));const r={target:n,type:t,listener:e};return n.addEventListener(t,e),r}function vn(n,t,e,i){return V(n,t,e,i,!0)}function tt(n){n&&n.target&&(n.target.removeEventListener(n.type,n.listener),nn(n))}class sn extends Kn{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(z.CHANGE)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,s=new Array(i);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,i=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new gn(wt.ADD,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){this.unique_&&this.assertUnique_(t);const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let i=0,s=e.length;i=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new gn(wt.REMOVE,e,t)),e}setAt(t,e){const i=this.getLength();if(t>=i){this.insertAt(t,e);return}if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const s=this.array_[t];this.array_[t]=e,this.dispatchEvent(new gn(wt.REMOVE,s,t)),this.dispatchEvent(new gn(wt.ADD,e,t))}updateLength_(){this.set(Nr.LENGTH,this.array_.length)}assertUnique_(t,e){for(let i=0,s=this.array_.length;i1?(e=s,i=r):l>0&&(e+=o*l,i+=a*l)}return hi(n,t,e,i)}function hi(n,t,e,i){const s=e-n,r=i-t;return s*s+r*r}function fl(n){const t=n.length;for(let i=0;ir&&(r=l,s=a)}if(r===0)return null;const o=n[s];n[s]=n[i],n[i]=o;for(let a=i+1;a=0;i--){e[i]=n[i][t]/n[i][i];for(let s=i-1;s>=0;s--)n[s][t]-=n[s][i]*e[i]}return e}function In(n){return n*Math.PI/180}function ci(n,t){const e=n%t;return e*t<0?e+t:e}function St(n,t,e){return n+e*(t-n)}function Vs(n,t){const e=Math.pow(10,t);return Math.round(n*e)/e}function _n(n,t){return Math.floor(Vs(n,t))}function mn(n,t){return Math.ceil(Vs(n,t))}class Go extends $t{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);typeof t.properties=="object"&&(delete e.properties,Object.assign(e,t.properties)),e[J.OPACITY]=t.opacity!==void 0?t.opacity:1,j(typeof e[J.OPACITY]=="number","Layer opacity must be a number"),e[J.VISIBLE]=t.visible!==void 0?t.visible:!0,e[J.Z_INDEX]=t.zIndex,e[J.MAX_RESOLUTION]=t.maxResolution!==void 0?t.maxResolution:1/0,e[J.MIN_RESOLUTION]=t.minResolution!==void 0?t.minResolution:0,e[J.MIN_ZOOM]=t.minZoom!==void 0?t.minZoom:-1/0,e[J.MAX_ZOOM]=t.maxZoom!==void 0?t.maxZoom:1/0,this.className_=e.className!==void 0?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:t===void 0?!0:t},i=this.getZIndex();return e.opacity=st(Math.round(this.getOpacity()*100)/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=i===void 0&&!e.managed?1/0:i,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return U()}getLayerStatesArray(t){return U()}getExtent(){return this.get(J.EXTENT)}getMaxResolution(){return this.get(J.MAX_RESOLUTION)}getMinResolution(){return this.get(J.MIN_RESOLUTION)}getMinZoom(){return this.get(J.MIN_ZOOM)}getMaxZoom(){return this.get(J.MAX_ZOOM)}getOpacity(){return this.get(J.OPACITY)}getSourceState(){return U()}getVisible(){return this.get(J.VISIBLE)}getZIndex(){return this.get(J.Z_INDEX)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(J.EXTENT,t)}setMaxResolution(t){this.set(J.MAX_RESOLUTION,t)}setMinResolution(t){this.set(J.MIN_RESOLUTION,t)}setMaxZoom(t){this.set(J.MAX_ZOOM,t)}setMinZoom(t){this.set(J.MIN_ZOOM,t)}setOpacity(t){j(typeof t=="number","Layer opacity must be a number"),this.set(J.OPACITY,t)}setVisible(t){this.set(J.VISIBLE,t)}setZIndex(t){this.set(J.Z_INDEX,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const Ot={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"},mt={ANIMATING:0,INTERACTING:1},Nt={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},gl=42,Us=256,js={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class zo{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=t.extent!==void 0?t.extent:null,this.worldExtent_=t.worldExtent!==void 0?t.worldExtent:null,this.axisOrientation_=t.axisOrientation!==void 0?t.axisOrientation:"enu",this.global_=t.global!==void 0?t.global:!1,this.canWrapX_=!!(this.global_&&this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||js[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!!(t&&this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!!(this.global_&&t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const rn=6378137,oi=Math.PI*rn,_l=[-oi,-oi,oi,oi],ml=[-180,-85,180,85],pn=rn*Math.log(Math.tan(Math.PI/2));class je extends zo{constructor(t){super({code:t,units:"m",extent:_l,global:!0,worldExtent:ml,getPointResolution:function(e,i){return e/Math.cosh(i[1]/rn)}})}}const Gr=[new je("EPSG:3857"),new je("EPSG:102100"),new je("EPSG:102113"),new je("EPSG:900913"),new je("http://www.opengis.net/def/crs/EPSG/0/3857"),new je("http://www.opengis.net/gml/srs/epsg.xml#3857")];function pl(n,t,e,i){const s=n.length;e=e>1?e:2,i=i??e,t===void 0&&(e>2?t=n.slice():t=new Array(s));for(let r=0;rpn?o=pn:o<-pn&&(o=-pn),t[r+1]=o}return t}function yl(n,t,e,i){const s=n.length;e=e>1?e:2,i=i??e,t===void 0&&(e>2?t=n.slice():t=new Array(s));for(let r=0;rs&&(l=l|ht.RIGHT),ar&&(l=l|ht.ABOVE),l===ht.UNKNOWN&&(l=ht.INTERSECTING),l}function Ft(){return[1/0,1/0,-1/0,-1/0]}function Se(n,t,e,i,s){return s?(s[0]=n,s[1]=t,s[2]=e,s[3]=i,s):[n,t,e,i]}function Bn(n){return Se(1/0,1/0,-1/0,-1/0,n)}function Yo(n,t){const e=n[0],i=n[1];return Se(e,i,e,i,t)}function $s(n,t,e,i,s){const r=Bn(s);return Zo(r,n,t,e,i)}function Yi(n,t){return n[0]==t[0]&&n[2]==t[2]&&n[1]==t[1]&&n[3]==t[3]}function Tl(n,t){return t[0]n[2]&&(n[2]=t[2]),t[1]n[3]&&(n[3]=t[3]),n}function zi(n,t){t[0]n[2]&&(n[2]=t[0]),t[1]n[3]&&(n[3]=t[1])}function Zo(n,t,e,i,s){for(;et[0]?i[0]=n[0]:i[0]=t[0],n[1]>t[1]?i[1]=n[1]:i[1]=t[1],n[2]=t[0]&&n[1]<=t[3]&&n[3]>=t[1]}function Hn(n){return n[2]=o&&_<=l),!i&&r&ht.RIGHT&&!(s&ht.RIGHT)&&(m=f-(d-l)*g,i=m>=a&&m<=c),!i&&r&ht.BELOW&&!(s&ht.BELOW)&&(_=d-(f-a)/g,i=_>=o&&_<=l),!i&&r&ht.LEFT&&!(s&ht.LEFT)&&(m=f-(d-o)*g,i=m>=a&&m<=c)}return i}function Bo(n,t){const e=t.getExtent(),i=Xe(n);if(t.canWrapX()&&(i[0]=e[2])){const s=q(e),o=Math.floor((i[0]-e[0])/s)*s;n[0]-=o,n[2]-=o}return n}function Js(n,t,e){if(t.canWrapX()){const i=t.getExtent();if(!isFinite(n[0])||!isFinite(n[2]))return[[i[0],n[1],i[2],n[3]]];Bo(n,t);const s=q(i);if(q(n)>s&&!e)return[[i[0],n[1],i[2],n[3]]];if(n[0]i[2])return[[n[0],n[1],i[2],n[3]],[i[0],n[1],n[2]-s,n[3]]]}return[n]}function Ml(n,t){return n[0]+=+t[0],n[1]+=+t[1],n}function Ln(n,t){let e=!0;for(let i=n.length-1;i>=0;--i)if(n[i]!=t[i]){e=!1;break}return e}function Qs(n,t){const e=Math.cos(t),i=Math.sin(t),s=n[0]*e-n[1]*i,r=n[1]*e+n[0]*i;return n[0]=s,n[1]=r,n}function bl(n,t){return n[0]*=t,n[1]*=t,n}function Vo(n,t){if(t.canWrapX()){const e=q(t.getExtent()),i=Dl(n,t,e);i&&(n[0]-=i*e)}return n}function Dl(n,t,e){const i=t.getExtent();let s=0;return t.canWrapX()&&(n[0]i[2])&&(e=e||q(i),s=Math.floor((n[0]-i[0])/e)),s}const Pl=63710088e-1;function Yr(n,t,e){e=e||Pl;const i=In(n[1]),s=In(t[1]),r=(s-i)/2,o=In(t[0]-n[0])/2,a=Math.sin(r)*Math.sin(r)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(s);return 2*e*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function Uo(...n){console.warn(...n)}let Os=!0;function jo(n){Os=!1}function tr(n,t){if(t!==void 0){for(let e=0,i=n.length;e=-180&&n[0]<=180&&n[1]>=-90&&n[1]<=90&&(Os=!1,Uo("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),n}function $o(n,t){return n}function Te(n,t){return n}function Nl(){Kr(Gr),Kr(Xr),kl(Xr,Gr,pl,yl)}Nl();function Br(n,t,e){return function(i,s,r,o,a){if(!i)return;if(!s&&!t)return i;const l=t?0:r[0]*s,c=t?0:r[1]*s,h=a?a[0]:0,u=a?a[1]:0;let d=n[0]+l/2+h,f=n[2]-l/2+h,g=n[1]+c/2+u,_=n[3]-c/2+u;d>f&&(d=(f+d)/2,f=d),g>_&&(g=(_+g)/2,_=g);let m=st(i[0],d,f),p=st(i[1],g,_);if(o&&e&&s){const y=30*s;m+=-y*Math.log(1+Math.max(0,d-i[0])/y)+y*Math.log(1+Math.max(0,i[0]-f)/y),p+=-y*Math.log(1+Math.max(0,g-i[1])/y)+y*Math.log(1+Math.max(0,i[1]-_)/y)}return[m,p]}}function Gl(n){return n}function nr(n,t,e,i){const s=q(t)/e[0],r=pt(t)/e[1];return i?Math.min(n,Math.max(s,r)):Math.min(n,Math.min(s,r))}function sr(n,t,e){let i=Math.min(n,t);const s=50;return i*=Math.log(1+s*Math.max(0,n/t-1))/s+1,e&&(i=Math.max(i,e),i/=Math.log(1+s*Math.max(0,e/n-1))/s+1),st(i,e/2,t*2)}function zl(n,t,e,i){return t=t!==void 0?t:!0,function(s,r,o,a){if(s!==void 0){const l=n[0],c=n[n.length-1],h=e?nr(l,e,o,i):l;if(a)return t?sr(s,h,c):st(s,c,h);const u=Math.min(h,s),d=Math.floor(Bs(n,u,r));return n[d]>h&&dMath.round(e*jr[i])/jr[i]).join(", ")+")"}function ve(n,t,e,i,s,r,o){r=r||[],o=o||2;let a=0;for(let l=t;l{if(!i)return this.getSimplifiedGeometry(e);const s=this.clone();return s.applyTransform(i),s.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return U()}closestPointXY(t,e,i,s){return U()}containsXY(t,e){const i=this.getClosestPoint([t,e]);return i[0]===t&&i[1]===e}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return U()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&Bn(e),this.extentRevision_=this.getRevision()}return Ll(this.extent_,t)}rotate(t,e){U()}scale(t,e,i){U()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return U()}getType(){return U()}applyTransform(t){U()}intersectsExtent(t){return U()}translate(t,e){U()}transform(t,e){const i=kt(t),s=i.getUnits()=="tile-pixels"?function(r,o,a){const l=i.getExtent(),c=i.getWorldExtent(),h=pt(c)/pt(l);return de(Hr,c[0],c[3],h,-h,0,0,0),ve(r,0,r.length,a,Hr,o),An(i,e)(r,o,a)}:An(i,e);return this.applyTransform(s),this}}class qn extends ql{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return $s(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return U()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)u=e;else if(d>0){for(let f=0;fs&&(s=c),r=a,o=l}return s}function Ql(n,t,e,i,s){for(let r=0,o=e.length;r0;){const u=c.pop(),d=c.pop();let f=0;const g=n[d],_=n[d+1],m=n[u],p=n[u+1];for(let y=d+i;yf&&(h=y,f=w)}f>s&&(l[(h-t)/i]=1,d+i0&&_>f)&&(g<0&&m0&&m>g)){c=u,h=d;continue}r[o++]=c,r[o++]=h,a=c,l=h,c=u,h=d}return r[o++]=c,r[o++]=h,o}function ea(n,t,e,i,s,r,o,a){for(let l=0,c=e.length;lr&&(c-a)*(r-l)-(s-a)*(h-l)>0&&o++:h<=r&&(c-a)*(r-l)-(s-a)*(h-l)<0&&o--,a=c,l=h}return o!==0}function na(n,t,e,i,s,r){if(e.length===0||!Ne(n,t,e[0],i,s,r))return!1;for(let o=1,a=e.length;op&&(c=(h+u)/2,na(n,t,e,i,c,g)&&(m=c,p=y)),h=u}return isNaN(m)&&(m=s[r]),o?(o.push(m,g,p),o):[m,g,p]}function ah(n,t,e,i,s){let r=[];for(let o=0,a=e.length;o=s[0]&&r[2]<=s[2]||r[1]>=s[1]&&r[3]<=s[3]?!0:sa(n,t,e,i,function(o,a){return Al(s,o,a)}):!1}function ra(n,t,e,i,s){return!!(cr(n,t,e,i,s)||Ne(n,t,e,i,s[0],s[1])||Ne(n,t,e,i,s[0],s[3])||Ne(n,t,e,i,s[2],s[1])||Ne(n,t,e,i,s[2],s[3]))}function lh(n,t,e,i,s){if(!ra(n,t,e[0],i,s))return!1;if(e.length===1)return!0;for(let r=1,o=e.length;r0}function ch(n,t,e,i,s){s=s!==void 0?s:!1;for(let r=0,o=e.length;r1&&typeof arguments[e-1]=="function"&&(i=arguments[e-1],--e);let s=0;for(;s0}getInteracting(){return this.hints_[mt.INTERACTING]>0}cancelAnimations(){this.setHint(mt.ANIMATING,-this.hints_[mt.ANIMATING]);let t;for(let e=0,i=this.animations_.length;e=0;--i){const s=this.animations_[i];let r=!0;for(let o=0,a=s.length;o0?c/l.duration:1;h>=1?(l.complete=!0,h=1):r=!1;const u=l.easing(h);if(l.sourceCenter){const d=l.sourceCenter[0],f=l.sourceCenter[1],g=l.targetCenter[0],_=l.targetCenter[1];this.nextCenter_=l.targetCenter;const m=d+u*(g-d),p=f+u*(_-f);this.targetCenter_=[m,p]}if(l.sourceResolution&&l.targetResolution){const d=u===1?l.targetResolution:l.sourceResolution+u*(l.targetResolution-l.sourceResolution);if(l.anchor){const f=this.getViewportSize_(this.getRotation()),g=this.constraints_.resolution(d,0,f,!0);this.targetCenter_=this.calculateCenterZoom(g,l.anchor)}this.nextResolution_=l.targetResolution,this.targetResolution_=d,this.applyTargetState_(!0)}if(l.sourceRotation!==void 0&&l.targetRotation!==void 0){const d=u===1?ci(l.targetRotation+Math.PI,2*Math.PI)-Math.PI:l.sourceRotation+u*(l.targetRotation-l.sourceRotation);if(l.anchor){const f=this.constraints_.rotation(d,!0);this.targetCenter_=this.calculateCenterRotate(f,l.anchor)}this.nextRotation_=l.targetRotation,this.targetRotation_=d}if(this.applyTargetState_(!0),e=!0,!l.complete)break}if(r){this.animations_[i]=null,this.setHint(mt.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const o=s[0].callback;o&&yn(o,!0)}}this.animations_=this.animations_.filter(Boolean),e&&this.updateAnimationKey_===void 0&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let i;const s=this.getCenterInternal();return s!==void 0&&(i=[s[0]-e[0],s[1]-e[1]],Qs(i,t-this.getRotation()),Ml(i,e)),i}calculateCenterZoom(t,e){let i;const s=this.getCenterInternal(),r=this.getResolution();if(s!==void 0&&r!==void 0){const o=e[0]-t*(e[0]-s[0])/r,a=e[1]-t*(e[1]-s[1])/r;i=[o,a]}return i}getViewportSize_(t){const e=this.viewportSize_;if(t){const i=e[0],s=e[1];return[Math.abs(i*Math.cos(t))+Math.abs(s*Math.sin(t)),Math.abs(i*Math.sin(t))+Math.abs(s*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t&&Fs(t,this.getProjection())}getCenterInternal(){return this.get(Nt.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return t!==void 0?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){const e=this.calculateExtentInternal(t);return $o(e,this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();j(e,"The view center is not defined");const i=this.getResolution();j(i!==void 0,"The view resolution is not defined");const s=this.getRotation();return j(s!==void 0,"The view rotation is not defined"),Ps(e,i,s,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(Nt.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(Te(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=q(t)/e[0],s=pt(t)/e[1];return Math.max(i,s)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,s=Math.log(e/i)/Math.log(t);return function(r){return e/Math.pow(t,r*s)}}getRotation(){return this.get(Nt.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),s=this.minResolution_,r=Math.log(i/s)/e;return function(o){return Math.log(i/o)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const i=this.padding_;return i&&(e=[e[0]-i[1]-i[3],e[1]-i[0]-i[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),i=this.getRotation();let s=this.getCenterInternal();const r=this.padding_;if(r){const o=this.getViewportSizeMinusPadding_();s=gs(s,this.getViewportSize_(),[o[0]/2+r[3],o[1]/2+r[0]],e,i)}return{center:s.slice(0),projection:t!==void 0?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:i,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return e!==void 0&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e=this.minZoom_||0,i,s;if(this.resolutions_){const r=Bs(this.resolutions_,t,1);e=r,i=this.resolutions_[r],r==this.resolutions_.length-1?s=2:s=i/this.resolutions_[r+1]}else i=this.maxResolution_,s=this.zoomFactor_;return e+Math.log(i/t)/Math.log(s)}getResolutionForZoom(t){if(this.resolutions_?.length){if(this.resolutions_.length===1)return this.resolutions_[0];const e=st(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,st(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(j(Array.isArray(t)||typeof t.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){j(!Hn(t),"Cannot fit empty extent provided as `geometry`");const s=Te(t,this.getProjection());i=to(s)}else if(t.getType()==="Circle"){const s=Te(t.getExtent(),this.getProjection());i=to(s),i.rotate(this.getRotation(),Xe(s))}else i=t;this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),s=Math.sin(-e),r=t.getFlatCoordinates(),o=t.getStride();let a=1/0,l=1/0,c=-1/0,h=-1/0;for(let u=0,d=r.length;u{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return!this.renderer_||!this.rendered?null:this.renderer_.getData(t)}isVisible(t){let e;const i=this.getMapInternal();!t&&i&&(t=i.getView()),t instanceof Vt?e={viewState:t.getState(),extent:t.calculateExtent()}:e=t,!e.layerStatesArray&&i&&(e.layerStatesArray=i.getLayerGroup().getLayerStatesArray());let s;e.layerStatesArray?s=e.layerStatesArray.find(o=>o.layer===this):s=this.getLayerState();const r=this.getExtent();return dr(s,e.viewState)&&(!r||Tt(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];const i=t instanceof Vt?t.getViewStateAndExtent():t;let s=e(i);return Array.isArray(s)||(s=[s]),s}render(t,e){const i=this.getRenderer();return i.prepareFrame(t)?(this.rendered=!0,i.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set(J.MAP,t)}getMapInternal(){return this.get(J.MAP)}setMap(t){this.mapPrecomposeKey_&&(tt(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(tt(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=V(t,Ot.PRECOMPOSE,this.handlePrecompose_,this),this.mapRenderKey_=V(this,z.CHANGE,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,i=this.getLayerState(!1);j(!e.some(s=>s.layer===i.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(i)}setSource(t){this.set(J.SOURCE,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),super.disposeInternal()}}function dr(n,t){if(!n.visible)return!1;const e=t.resolution;if(e=n.maxResolution)return!1;const i=t.zoom;return i>n.minZoom&&i<=n.maxZoom}function oa(n,t,e=0,i=n.length-1,s=mh){for(;i>e;){if(i-e>600){const l=i-e+1,c=t-e+1,h=Math.log(l),u=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*u*(l-u)/l)*(c-l/2<0?-1:1),f=Math.max(e,Math.floor(t-c*u/l+d)),g=Math.min(i,Math.floor(t+(l-c)*u/l+d));oa(n,t,f,g,s)}const r=n[t];let o=e,a=i;for(Ai(n,e,t),s(n[i],r)>0&&Ai(n,e,i);o0;)a--}s(n[e],r)===0?Ai(n,e,a):(a++,Ai(n,a,i)),a<=t&&(e=a+1),t<=a&&(i=a-1)}}function Ai(n,t,e){const i=n[t];n[t]=n[e],n[e]=i}function mh(n,t){return nt?1:0}let aa=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const i=[];if(!xn(t,e))return i;const s=this.toBBox,r=[];for(;e;){for(let o=0;o=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(s,r,e)}_split(t,e){const i=t[e],s=i.children.length,r=this._minEntries;this._chooseSplitAxis(i,r,s);const o=this._chooseSplitIndex(i,r,s),a=ii(i.children.splice(o,i.children.length-o));a.height=i.height,a.leaf=i.leaf,He(i,this.toBBox),He(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(i,a)}_splitRoot(t,e){this.data=ii([t,e]),this.data.height=t.height+1,this.data.leaf=!1,He(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let s,r=1/0,o=1/0;for(let a=e;a<=i-e;a++){const l=Pi(t,0,a,this.toBBox),c=Pi(t,a,i,this.toBBox),h=wh(l,c),u=_s(l)+_s(c);h=e;c--){const h=t.children[c];Oi(a,t.leaf?r(h):h),l+=En(a)}return l}_adjustParentBBoxes(t,e,i){for(let s=i;s>=0;s--)Oi(e[s],t)}_condense(t){for(let e=t.length-1,i;e>=0;e--)t[e].children.length===0?e>0?(i=t[e-1].children,i.splice(i.indexOf(t[e]),1)):this.clear():He(t[e],this.toBBox)}};function ph(n,t,e){if(!e)return t.indexOf(n);for(let i=0;i=n.minX&&t.maxY>=n.minY}function ii(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function eo(n,t,e,i,s){const r=[t,e];for(;r.length;){if(e=r.pop(),t=r.pop(),e-t<=i)continue;const o=t+Math.ceil((e-t)/i/2)*i;oa(n,o,t,e,s),r.push(t,o,o,e)}}const Y={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};function io(n){return n[0]>0&&n[1]>0}function Ch(n,t,e){return e===void 0&&(e=[0,0]),e[0]=n[0]*t+.5|0,e[1]=n[1]*t+.5|0,e}function vt(n,t){return Array.isArray(n)?n:(t===void 0?t=[n,n]:(t[0]=n,t[1]=n),t)}class Qn{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=vt(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new Qn({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return U()}getImage(t){return U()}getHitDetectionImage(){return U()}getPixelRatio(t){return 1}getImageState(){return U()}getImageSize(){return U()}getOrigin(){return U()}getSize(){return U()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=vt(t)}listenImageChange(t){U()}load(){U()}unlistenImageChange(t){U()}ready(){return Promise.resolve()}}const Ui={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]};var ft={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"]};ft.whitepoint={2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}};ft.max=ft.whitepoint[2].D65;ft.rgb=function(n,t){t=t||ft.whitepoint[2].E;var e=n[0]/t[0],i=n[1]/t[1],s=n[2]/t[2],r,o,a;return r=e*3.240969941904521+i*-1.537383177570093+s*-.498610760293,o=e*-.96924363628087+i*1.87596750150772+s*.041555057407175,a=e*.055630079696993+i*-.20397695888897+s*1.056971514242878,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r=r*12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o=o*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a=a*12.92,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),a=Math.min(Math.max(0,a),1),[r*255,o*255,a*255]};Ui.xyz=function(n,t){var e=n[0]/255,i=n[1]/255,s=n[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92;var r=e*.41239079926595+i*.35758433938387+s*.18048078840183,o=e*.21263900587151+i*.71516867876775+s*.072192315360733,a=e*.019330818715591+i*.11919477979462+s*.95053215224966;return t=t||ft.whitepoint[2].E,[r*t[0],o*t[1],a*t[2]]};const fr={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(n,t,e){var i,s,r,o,a,l,c,h,u,d,f,g,_;if(r=n[0],o=n[1],a=n[2],r===0)return[0,0,0];var m=.0011070564598794539;return t=t||"D65",e=e||2,u=ft.whitepoint[e][t][0],d=ft.whitepoint[e][t][1],f=ft.whitepoint[e][t][2],g=4*u/(u+15*d+3*f),_=9*d/(u+15*d+3*f),i=o/(13*r)+g||0,s=a/(13*r)+_||0,c=r>8?d*Math.pow((r+16)/116,3):d*r*m,l=c*9*i/(4*s)||0,h=c*(12-3*i-20*s)/(4*s)||0,[l,c,h]}};ft.luv=function(n,t,e){var i,s,r,o,a,l,c,h,u,d,f,g,_,m=.008856451679035631,p=903.2962962962961;t=t||"D65",e=e||2,u=ft.whitepoint[e][t][0],d=ft.whitepoint[e][t][1],f=ft.whitepoint[e][t][2],g=4*u/(u+15*d+3*f),_=9*d/(u+15*d+3*f),l=n[0],c=n[1],h=n[2],i=4*l/(l+15*c+3*h)||0,s=9*c/(l+15*c+3*h)||0;var y=c/d;return r=y<=m?p*y:116*Math.pow(y,1/3)-16,o=13*r*(i-g),a=13*r*(s-_),[r,o,a]};var la={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(n){var t=n[0],e=n[1],i=n[2],s,r,o;return o=i/360*2*Math.PI,s=e*Math.cos(o),r=e*Math.sin(o),[t,s,r]},xyz:function(n){return fr.xyz(la.luv(n))}};fr.lchuv=function(n){var t=n[0],e=n[1],i=n[2],s=Math.sqrt(e*e+i*i),r=Math.atan2(i,e),o=r*360/2/Math.PI;return o<0&&(o+=360),[t,s,o]};ft.lchuv=function(n){return fr.lchuv(ft.luv(n))};const no={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var so={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Rh(n){var t,e=[],i=1,s;if(typeof n=="number")return{space:"rgb",values:[n>>>16,(n&65280)>>>8,n&255],alpha:1};if(typeof n=="number")return{space:"rgb",values:[n>>>16,(n&65280)>>>8,n&255],alpha:1};if(n=String(n).toLowerCase(),no[n])e=no[n].slice(),s="rgb";else if(n==="transparent")i=0,s="rgb",e=[0,0,0];else if(n[0]==="#"){var r=n.slice(1),o=r.length,a=o<=4;i=1,a?(e=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],o===4&&(i=parseInt(r[3]+r[3],16)/255)):(e=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],o===8&&(i=parseInt(r[6]+r[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),s="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(n)){var l=t[1];s=l.replace(/a$/,"");var c=s==="cmyk"?4:s==="gray"?1:3;e=t[2].trim().split(/\s*[,\/]\s*|\s+/),s==="color"&&(s=e.shift()),e=e.map(function(h,u){if(h[h.length-1]==="%")return h=parseFloat(h)/100,u===3?h:s==="rgb"?h*255:s[0]==="h"||s[0]==="l"&&!u?h*100:s==="lab"?h*125:s==="lch"?u<2?h*150:h*360:s[0]==="o"&&!u?h:s==="oklab"?h*.4:s==="oklch"?u<2?h*.4:h*360:h;if(s[u]==="h"||u===2&&s[s.length-1]==="h"){if(so[h]!==void 0)return so[h];if(h.endsWith("deg"))return parseFloat(h);if(h.endsWith("turn"))return parseFloat(h)*360;if(h.endsWith("grad"))return parseFloat(h)*360/400;if(h.endsWith("rad"))return parseFloat(h)*180/Math.PI}return h==="none"?0:parseFloat(h)}),i=e.length>c?e.pop():1}else/[0-9](?:\s|\/|,)/.test(n)&&(e=n.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),s=n.match(/([a-z])/ig)?.join("")?.toLowerCase()||"rgb");return{space:s,values:e,alpha:i}}const ps={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(n){var t=n[0]/360,e=n[1]/100,i=n[2]/100,s,r,o,a,l,c=0;if(e===0)return l=i*255,[l,l,l];for(r=i<.5?i*(1+e):i+e-i*e,s=2*i-r,a=[0,0,0];c<3;)o=t+1/3*-(c-1),o<0?o++:o>1&&o--,l=6*o<1?s+(r-s)*6*o:2*o<1?r:3*o<2?s+(r-s)*(2/3-o)*6:s,a[c++]=l*255;return a}};Ui.hsl=function(n){var t=n[0]/255,e=n[1]/255,i=n[2]/255,s=Math.min(t,e,i),r=Math.max(t,e,i),o=r-s,a,l,c;return r===s?a=0:t===r?a=(e-i)/o:e===r?a=2+(i-t)/o:i===r&&(a=4+(t-e)/o),a=Math.min(a*60,360),a<0&&(a+=360),c=(s+r)/2,r===s?l=0:c<=.5?l=o/(r+s):l=o/(2-r-s),[a,l*100,c*100]};function Th(n){Array.isArray(n)&&n.raw&&(n=String.raw(...arguments)),n instanceof Number&&(n=+n);var t,e=Rh(n);if(!e.space)return[];const i=e.space[0]==="h"?ps.min:Ui.min,s=e.space[0]==="h"?ps.max:Ui.max;return t=Array(3),t[0]=Math.min(Math.max(e.values[0],i[0]),s[0]),t[1]=Math.min(Math.max(e.values[1],i[1]),s[1]),t[2]=Math.min(Math.max(e.values[2],i[2]),s[2]),e.space[0]==="h"&&(t=ps.rgb(t)),t.push(Math.min(Math.max(e.alpha,0),1)),t}const gr=[NaN,NaN,NaN,0];function Ih(n){return typeof n=="string"?n:mr(n)}const vh=1024,Mi={};let ys=0;function Sh(n){if(n.length===4)return n;const t=n.slice();return t[3]=1,t}function ro(n){const t=ft.lchuv(Ui.xyz(n));return t[3]=n[3],t}function Lh(n){const t=ft.rgb(la.xyz(n));return t[3]=n[3],t}function _r(n){if(n==="none")return gr;if(Mi.hasOwnProperty(n))return Mi[n];if(ys>=vh){let e=0;for(const i in Mi)e++&3||(delete Mi[i],--ys)}const t=Th(n);if(t.length!==4)throw new Error('failed to parse "'+n+'" as color');for(const e of t)if(isNaN(e))throw new Error('failed to parse "'+n+'" as color');return ha(t),Mi[n]=t,++ys,t}function ji(n){return Array.isArray(n)?n:_r(n)}function ha(n){return n[0]=st(n[0]+.5|0,0,255),n[1]=st(n[1]+.5|0,0,255),n[2]=st(n[2]+.5|0,0,255),n[3]=st(n[3],0,1),n}function mr(n){let t=n[0];t!=(t|0)&&(t=t+.5|0);let e=n[1];e!=(e|0)&&(e=e+.5|0);let i=n[2];i!=(i|0)&&(i=i+.5|0);const s=n[3]===void 0?1:Math.round(n[3]*1e3)/1e3;return"rgba("+t+","+e+","+i+","+s+")"}const Le=typeof navigator<"u"&&typeof navigator.userAgent<"u"?navigator.userAgent.toLowerCase():"",Ah=Le.includes("firefox"),Mh=Le.includes("safari")&&!Le.includes("chrom");Mh&&(Le.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(Le));const bh=Le.includes("webkit")&&!Le.includes("edge"),ca=Le.includes("macintosh"),ua=typeof devicePixelRatio<"u"?devicePixelRatio:1,da=typeof WorkerGlobalScope<"u"&&typeof OffscreenCanvas<"u"&&self instanceof WorkerGlobalScope,fa=typeof Image<"u"&&Image.prototype.decode,ga=function(){let n=!1;try{const t=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("_",null,t),window.removeEventListener("_",null,t)}catch{}return n}();function rt(n,t,e,i){let s;return e&&e.length?s=e.shift():da?s=new OffscreenCanvas(n||300,t||300):s=document.createElement("canvas"),n&&(s.width=n),t&&(s.height=t),s.getContext("2d",i)}let Es;function bn(){return Es||(Es=rt(1,1)),Es}function mi(n){const t=n.canvas;t.width=1,t.height=1,n.clearRect(0,0,1,1)}function oo(n,t){const e=t.parentNode;e&&e.replaceChild(n,t)}function Dh(n){for(;n.lastChild;)n.lastChild.remove()}function Ph(n,t){const e=n.childNodes;for(let i=0;;++i){const s=e[i],r=t[i];if(!s&&!r)break;if(s!==r){if(!s){n.appendChild(r);continue}if(!r){n.removeChild(s),--i;continue}n.insertBefore(r,s)}}}function Oh(n,t,e){const i=n;let s=!0,r=!1,o=!1;const a=[vn(i,z.LOAD,function(){o=!0,r||t()})];return i.src&&fa?(r=!0,i.decode().then(function(){s&&t()}).catch(function(l){s&&(o?t():e())})):a.push(vn(i,z.ERROR,e)),function(){s=!1,a.forEach(tt)}}function Fh(n,t){return new Promise((e,i)=>{function s(){o(),e(n)}function r(){o(),i(new Error("Image load error"))}function o(){n.removeEventListener("load",s),n.removeEventListener("error",r)}n.addEventListener("load",s),n.addEventListener("error",r)})}function kh(n,t){return t&&(n.src=t),n.src&&fa?new Promise((e,i)=>n.decode().then(()=>e(n)).catch(s=>n.complete&&n.width?e(n):i(s))):Fh(n)}class Nh{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=32}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const i=this.cache_[e];!(t++&3)&&!i.hasListener()&&(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,i){const s=xs(t,e,i);return s in this.cache_?this.cache_[s]:null}getPattern(t,e,i){const s=xs(t,e,i);return s in this.patternCache_?this.patternCache_[s]:null}set(t,e,i,s,r){const o=xs(t,e,i),a=o in this.cache_;this.cache_[o]=s,r&&(s.getImageState()===Y.IDLE&&s.load(),s.getImageState()===Y.LOADING?s.ready().then(()=>{this.patternCache_[o]=bn().createPattern(s.getImage(1),"repeat")}):this.patternCache_[o]=bn().createPattern(s.getImage(1),"repeat")),a||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function xs(n,t,e){const i=e?ji(e):"null";return t+":"+n+":"+i}const Ht=new Nh;let bi=null;class Gh extends Kn{constructor(t,e,i,s,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=r,this.imageState_=s===void 0?Y.IDLE:s,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(this.tainted_===void 0&&this.imageState_===Y.LOADED){bi||(bi=rt(1,1,void 0,{willReadFrequently:!0})),bi.drawImage(this.image_,0,0);try{bi.getImageData(0,0,1,1),this.tainted_=!1}catch{bi=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(z.CHANGE)}handleImageError_(){this.imageState_=Y.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=Y.LOADED,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],i=rt(t,e);i.fillRect(0,0,t,e),this.hitDetectionImage_=i.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(this.imageState_===Y.IDLE){this.image_||this.initializeImage_(),this.imageState_=Y.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&kh(this.image_,this.src_).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}}replaceColor_(t){if(!this.color_||this.canvas_[t]||this.imageState_!==Y.LOADED)return;const e=this.image_,i=rt(Math.ceil(e.width*t),Math.ceil(e.height*t)),s=i.canvas;i.scale(t,t),i.drawImage(e,0,0),i.globalCompositeOperation="multiply",i.fillStyle=Ih(this.color_),i.fillRect(0,0,s.width/t,s.height/t),i.globalCompositeOperation="destination-in",i.drawImage(e,0,0),this.canvas_[t]=s}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(this.imageState_===Y.LOADED||this.imageState_===Y.ERROR)t();else{const e=()=>{(this.imageState_===Y.LOADED||this.imageState_===Y.ERROR)&&(this.removeEventListener(z.CHANGE,e),t())};this.addEventListener(z.CHANGE,e)}})),this.ready_}}function pr(n,t,e,i,s,r){let o=t===void 0?void 0:Ht.get(t,e,s);return o||(o=new Gh(n,n&&"src"in n?n.src||void 0:t,e,i,s),Ht.set(t,e,s,o,r)),r&&o&&!Ht.getPattern(t,e,s)&&Ht.set(t,e,s,o,r),o}function qt(n){return n?Array.isArray(n)?mr(n):typeof n=="object"&&"src"in n?zh(n):n:null}function zh(n){if(!n.offset||!n.size)return Ht.getPattern(n.src,"anonymous",n.color);const t=n.src+":"+n.offset,e=Ht.getPattern(t,void 0,n.color);if(e)return e;const i=Ht.get(n.src,"anonymous",null);if(i.getImageState()!==Y.LOADED)return null;const s=rt(n.size[0],n.size[1]);return s.drawImage(i.getImage(1),n.offset[0],n.offset[1],n.size[0],n.size[1],0,0,n.size[0],n.size[1]),pr(s.canvas,t,void 0,Y.LOADED,n.color,!0),Ht.getPattern(t,void 0,n.color)}const wn="ol-hidden",ts="ol-unselectable",yr="ol-control",ao="ol-collapsed",Xh=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))",`?\\s*([-,\\"\\'\\sa-z]+?)\\s*$`].join(""),"i"),lo=["style","variant","weight","size","lineHeight","family"],_a=function(n){const t=n.match(Xh);if(!t)return null;const e={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let i=0,s=lo.length;i>1),s=+e(n[i],t),s<0?r=i+1:(o=i,a=!s);return a?r:~r}function ae(n,t){return n>t?1:n0?s-1:s}return i-1}if(e>0){for(let s=1;s0||o===0)})}function Wi(){return!0}function Zn(){return!1}function fi(){}function No(n){let t,e,i;return function(){const s=Array.prototype.slice.call(arguments);return(!e||this!==i||!Ae(s,e))&&(i=this,e=s,t=n.apply(this,arguments)),t}}function hl(n){function t(){let e;try{e=n()}catch(i){return Promise.reject(i)}return e instanceof Promise?e:Promise.resolve(e)}return t()}function nn(n){for(const t in n)delete n[t]}function gi(n){let t;for(t in n)return!1;return!t}class Kn extends Wn{constructor(t){super(),this.eventTarget_=t,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(t,e){if(!t||!e)return;const i=this.listeners_||(this.listeners_={}),s=i[t]||(i[t]=[]);s.includes(e)||s.push(e)}dispatchEvent(t){const e=typeof t=="string",i=e?t:t.type,s=this.listeners_&&this.listeners_[i];if(!s)return;const r=e?new fe(t):t;r.target||(r.target=this.eventTarget_||this);const o=this.dispatching_||(this.dispatching_={}),a=this.pendingRemovals_||(this.pendingRemovals_={});i in o||(o[i]=0,a[i]=0),++o[i];let l;for(let c=0,h=s.length;c0:!1}removeEventListener(t,e){if(!this.listeners_)return;const i=this.listeners_[t];if(!i)return;const s=i.indexOf(e);s!==-1&&(this.pendingRemovals_&&t in this.pendingRemovals_?(i[s]=fi,++this.pendingRemovals_[t]):(i.splice(s,1),i.length===0&&delete this.listeners_[t]))}}const z={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"};function V(n,t,e,i,s){if(s){const o=e;e=function(){n.removeEventListener(t,e),o.apply(i??this,arguments)}}else i&&i!==n&&(e=e.bind(i));const r={target:n,type:t,listener:e};return n.addEventListener(t,e),r}function vn(n,t,e,i){return V(n,t,e,i,!0)}function tt(n){n&&n.target&&(n.target.removeEventListener(n.type,n.listener),nn(n))}class sn extends Kn{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(z.CHANGE)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const i=t.length,s=new Array(i);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,i=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new gn(wt.ADD,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){this.unique_&&this.assertUnique_(t);const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let i=0,s=e.length;i=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new gn(wt.REMOVE,e,t)),e}setAt(t,e){const i=this.getLength();if(t>=i){this.insertAt(t,e);return}if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const s=this.array_[t];this.array_[t]=e,this.dispatchEvent(new gn(wt.REMOVE,s,t)),this.dispatchEvent(new gn(wt.ADD,e,t))}updateLength_(){this.set(Nr.LENGTH,this.array_.length)}assertUnique_(t,e){for(let i=0,s=this.array_.length;i1?(e=s,i=r):l>0&&(e+=o*l,i+=a*l)}return hi(n,t,e,i)}function hi(n,t,e,i){const s=e-n,r=i-t;return s*s+r*r}function fl(n){const t=n.length;for(let i=0;ir&&(r=l,s=a)}if(r===0)return null;const o=n[s];n[s]=n[i],n[i]=o;for(let a=i+1;a=0;i--){e[i]=n[i][t]/n[i][i];for(let s=i-1;s>=0;s--)n[s][t]-=n[s][i]*e[i]}return e}function In(n){return n*Math.PI/180}function ci(n,t){const e=n%t;return e*t<0?e+t:e}function St(n,t,e){return n+e*(t-n)}function Vs(n,t){const e=Math.pow(10,t);return Math.round(n*e)/e}function _n(n,t){return Math.floor(Vs(n,t))}function mn(n,t){return Math.ceil(Vs(n,t))}class Go extends $t{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);typeof t.properties=="object"&&(delete e.properties,Object.assign(e,t.properties)),e[J.OPACITY]=t.opacity!==void 0?t.opacity:1,j(typeof e[J.OPACITY]=="number","Layer opacity must be a number"),e[J.VISIBLE]=t.visible!==void 0?t.visible:!0,e[J.Z_INDEX]=t.zIndex,e[J.MAX_RESOLUTION]=t.maxResolution!==void 0?t.maxResolution:1/0,e[J.MIN_RESOLUTION]=t.minResolution!==void 0?t.minResolution:0,e[J.MIN_ZOOM]=t.minZoom!==void 0?t.minZoom:-1/0,e[J.MAX_ZOOM]=t.maxZoom!==void 0?t.maxZoom:1/0,this.className_=e.className!==void 0?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:t===void 0?!0:t},i=this.getZIndex();return e.opacity=st(Math.round(this.getOpacity()*100)/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=i===void 0&&!e.managed?1/0:i,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return U()}getLayerStatesArray(t){return U()}getExtent(){return this.get(J.EXTENT)}getMaxResolution(){return this.get(J.MAX_RESOLUTION)}getMinResolution(){return this.get(J.MIN_RESOLUTION)}getMinZoom(){return this.get(J.MIN_ZOOM)}getMaxZoom(){return this.get(J.MAX_ZOOM)}getOpacity(){return this.get(J.OPACITY)}getSourceState(){return U()}getVisible(){return this.get(J.VISIBLE)}getZIndex(){return this.get(J.Z_INDEX)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(J.EXTENT,t)}setMaxResolution(t){this.set(J.MAX_RESOLUTION,t)}setMinResolution(t){this.set(J.MIN_RESOLUTION,t)}setMaxZoom(t){this.set(J.MAX_ZOOM,t)}setMinZoom(t){this.set(J.MIN_ZOOM,t)}setOpacity(t){j(typeof t=="number","Layer opacity must be a number"),this.set(J.OPACITY,t)}setVisible(t){this.set(J.VISIBLE,t)}setZIndex(t){this.set(J.Z_INDEX,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const Ot={PRERENDER:"prerender",POSTRENDER:"postrender",PRECOMPOSE:"precompose",POSTCOMPOSE:"postcompose",RENDERCOMPLETE:"rendercomplete"},mt={ANIMATING:0,INTERACTING:1},Nt={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},gl=42,Us=256,js={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class zo{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=t.extent!==void 0?t.extent:null,this.worldExtent_=t.worldExtent!==void 0?t.worldExtent:null,this.axisOrientation_=t.axisOrientation!==void 0?t.axisOrientation:"enu",this.global_=t.global!==void 0?t.global:!1,this.canWrapX_=!!(this.global_&&this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||js[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!!(t&&this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!!(this.global_&&t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const rn=6378137,oi=Math.PI*rn,_l=[-oi,-oi,oi,oi],ml=[-180,-85,180,85],pn=rn*Math.log(Math.tan(Math.PI/2));class je extends zo{constructor(t){super({code:t,units:"m",extent:_l,global:!0,worldExtent:ml,getPointResolution:function(e,i){return e/Math.cosh(i[1]/rn)}})}}const Gr=[new je("EPSG:3857"),new je("EPSG:102100"),new je("EPSG:102113"),new je("EPSG:900913"),new je("http://www.opengis.net/def/crs/EPSG/0/3857"),new je("http://www.opengis.net/gml/srs/epsg.xml#3857")];function pl(n,t,e,i){const s=n.length;e=e>1?e:2,i=i??e,t===void 0&&(e>2?t=n.slice():t=new Array(s));for(let r=0;rpn?o=pn:o<-pn&&(o=-pn),t[r+1]=o}return t}function yl(n,t,e,i){const s=n.length;e=e>1?e:2,i=i??e,t===void 0&&(e>2?t=n.slice():t=new Array(s));for(let r=0;rs&&(l=l|ht.RIGHT),ar&&(l=l|ht.ABOVE),l===ht.UNKNOWN&&(l=ht.INTERSECTING),l}function Ft(){return[1/0,1/0,-1/0,-1/0]}function Se(n,t,e,i,s){return s?(s[0]=n,s[1]=t,s[2]=e,s[3]=i,s):[n,t,e,i]}function Bn(n){return Se(1/0,1/0,-1/0,-1/0,n)}function Yo(n,t){const e=n[0],i=n[1];return Se(e,i,e,i,t)}function $s(n,t,e,i,s){const r=Bn(s);return Zo(r,n,t,e,i)}function Yi(n,t){return n[0]==t[0]&&n[2]==t[2]&&n[1]==t[1]&&n[3]==t[3]}function Tl(n,t){return t[0]n[2]&&(n[2]=t[2]),t[1]n[3]&&(n[3]=t[3]),n}function zi(n,t){t[0]n[2]&&(n[2]=t[0]),t[1]n[3]&&(n[3]=t[1])}function Zo(n,t,e,i,s){for(;et[0]?i[0]=n[0]:i[0]=t[0],n[1]>t[1]?i[1]=n[1]:i[1]=t[1],n[2]=t[0]&&n[1]<=t[3]&&n[3]>=t[1]}function Hn(n){return n[2]=o&&_<=l),!i&&r&ht.RIGHT&&!(s&ht.RIGHT)&&(m=f-(d-l)*g,i=m>=a&&m<=c),!i&&r&ht.BELOW&&!(s&ht.BELOW)&&(_=d-(f-a)/g,i=_>=o&&_<=l),!i&&r&ht.LEFT&&!(s&ht.LEFT)&&(m=f-(d-o)*g,i=m>=a&&m<=c)}return i}function Bo(n,t){const e=t.getExtent(),i=Xe(n);if(t.canWrapX()&&(i[0]=e[2])){const s=q(e),o=Math.floor((i[0]-e[0])/s)*s;n[0]-=o,n[2]-=o}return n}function Js(n,t,e){if(t.canWrapX()){const i=t.getExtent();if(!isFinite(n[0])||!isFinite(n[2]))return[[i[0],n[1],i[2],n[3]]];Bo(n,t);const s=q(i);if(q(n)>s&&!e)return[[i[0],n[1],i[2],n[3]]];if(n[0]i[2])return[[n[0],n[1],i[2],n[3]],[i[0],n[1],n[2]-s,n[3]]]}return[n]}function Ml(n,t){return n[0]+=+t[0],n[1]+=+t[1],n}function Ln(n,t){let e=!0;for(let i=n.length-1;i>=0;--i)if(n[i]!=t[i]){e=!1;break}return e}function Qs(n,t){const e=Math.cos(t),i=Math.sin(t),s=n[0]*e-n[1]*i,r=n[1]*e+n[0]*i;return n[0]=s,n[1]=r,n}function bl(n,t){return n[0]*=t,n[1]*=t,n}function Vo(n,t){if(t.canWrapX()){const e=q(t.getExtent()),i=Dl(n,t,e);i&&(n[0]-=i*e)}return n}function Dl(n,t,e){const i=t.getExtent();let s=0;return t.canWrapX()&&(n[0]i[2])&&(e=e||q(i),s=Math.floor((n[0]-i[0])/e)),s}const Pl=63710088e-1;function Yr(n,t,e){e=e||Pl;const i=In(n[1]),s=In(t[1]),r=(s-i)/2,o=In(t[0]-n[0])/2,a=Math.sin(r)*Math.sin(r)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(s);return 2*e*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function Uo(...n){console.warn(...n)}let Os=!0;function jo(n){Os=!1}function tr(n,t){if(t!==void 0){for(let e=0,i=n.length;e=-180&&n[0]<=180&&n[1]>=-90&&n[1]<=90&&(Os=!1,Uo("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),n}function $o(n,t){return n}function Te(n,t){return n}function Nl(){Kr(Gr),Kr(Xr),kl(Xr,Gr,pl,yl)}Nl();function Br(n,t,e){return function(i,s,r,o,a){if(!i)return;if(!s&&!t)return i;const l=t?0:r[0]*s,c=t?0:r[1]*s,h=a?a[0]:0,u=a?a[1]:0;let d=n[0]+l/2+h,f=n[2]-l/2+h,g=n[1]+c/2+u,_=n[3]-c/2+u;d>f&&(d=(f+d)/2,f=d),g>_&&(g=(_+g)/2,_=g);let m=st(i[0],d,f),p=st(i[1],g,_);if(o&&e&&s){const y=30*s;m+=-y*Math.log(1+Math.max(0,d-i[0])/y)+y*Math.log(1+Math.max(0,i[0]-f)/y),p+=-y*Math.log(1+Math.max(0,g-i[1])/y)+y*Math.log(1+Math.max(0,i[1]-_)/y)}return[m,p]}}function Gl(n){return n}function nr(n,t,e,i){const s=q(t)/e[0],r=pt(t)/e[1];return i?Math.min(n,Math.max(s,r)):Math.min(n,Math.min(s,r))}function sr(n,t,e){let i=Math.min(n,t);const s=50;return i*=Math.log(1+s*Math.max(0,n/t-1))/s+1,e&&(i=Math.max(i,e),i/=Math.log(1+s*Math.max(0,e/n-1))/s+1),st(i,e/2,t*2)}function zl(n,t,e,i){return t=t!==void 0?t:!0,function(s,r,o,a){if(s!==void 0){const l=n[0],c=n[n.length-1],h=e?nr(l,e,o,i):l;if(a)return t?sr(s,h,c):st(s,c,h);const u=Math.min(h,s),d=Math.floor(Bs(n,u,r));return n[d]>h&&dMath.round(e*jr[i])/jr[i]).join(", ")+")"}function ve(n,t,e,i,s,r,o){r=r||[],o=o||2;let a=0;for(let l=t;l{if(!i)return this.getSimplifiedGeometry(e);const s=this.clone();return s.applyTransform(i),s.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return U()}closestPointXY(t,e,i,s){return U()}containsXY(t,e){const i=this.getClosestPoint([t,e]);return i[0]===t&&i[1]===e}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return U()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&Bn(e),this.extentRevision_=this.getRevision()}return Ll(this.extent_,t)}rotate(t,e){U()}scale(t,e,i){U()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return U()}getType(){return U()}applyTransform(t){U()}intersectsExtent(t){return U()}translate(t,e){U()}transform(t,e){const i=kt(t),s=i.getUnits()=="tile-pixels"?function(r,o,a){const l=i.getExtent(),c=i.getWorldExtent(),h=pt(c)/pt(l);return de(Hr,c[0],c[3],h,-h,0,0,0),ve(r,0,r.length,a,Hr,o),An(i,e)(r,o,a)}:An(i,e);return this.applyTransform(s),this}}class qn extends ql{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return $s(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return U()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||this.simplifiedGeometryMaxMinSquaredTolerance!==0&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)u=e;else if(d>0){for(let f=0;fs&&(s=c),r=a,o=l}return s}function Ql(n,t,e,i,s){for(let r=0,o=e.length;r0;){const u=c.pop(),d=c.pop();let f=0;const g=n[d],_=n[d+1],m=n[u],p=n[u+1];for(let y=d+i;yf&&(h=y,f=w)}f>s&&(l[(h-t)/i]=1,d+i0&&_>f)&&(g<0&&m0&&m>g)){c=u,h=d;continue}r[o++]=c,r[o++]=h,a=c,l=h,c=u,h=d}return r[o++]=c,r[o++]=h,o}function ea(n,t,e,i,s,r,o,a){for(let l=0,c=e.length;lr&&(c-a)*(r-l)-(s-a)*(h-l)>0&&o++:h<=r&&(c-a)*(r-l)-(s-a)*(h-l)<0&&o--,a=c,l=h}return o!==0}function na(n,t,e,i,s,r){if(e.length===0||!Ne(n,t,e[0],i,s,r))return!1;for(let o=1,a=e.length;op&&(c=(h+u)/2,na(n,t,e,i,c,g)&&(m=c,p=y)),h=u}return isNaN(m)&&(m=s[r]),o?(o.push(m,g,p),o):[m,g,p]}function ah(n,t,e,i,s){let r=[];for(let o=0,a=e.length;o=s[0]&&r[2]<=s[2]||r[1]>=s[1]&&r[3]<=s[3]?!0:sa(n,t,e,i,function(o,a){return Al(s,o,a)}):!1}function ra(n,t,e,i,s){return!!(cr(n,t,e,i,s)||Ne(n,t,e,i,s[0],s[1])||Ne(n,t,e,i,s[0],s[3])||Ne(n,t,e,i,s[2],s[1])||Ne(n,t,e,i,s[2],s[3]))}function lh(n,t,e,i,s){if(!ra(n,t,e[0],i,s))return!1;if(e.length===1)return!0;for(let r=1,o=e.length;r0}function ch(n,t,e,i,s){s=s!==void 0?s:!1;for(let r=0,o=e.length;r1&&typeof arguments[e-1]=="function"&&(i=arguments[e-1],--e);let s=0;for(;s0}getInteracting(){return this.hints_[mt.INTERACTING]>0}cancelAnimations(){this.setHint(mt.ANIMATING,-this.hints_[mt.ANIMATING]);let t;for(let e=0,i=this.animations_.length;e=0;--i){const s=this.animations_[i];let r=!0;for(let o=0,a=s.length;o0?c/l.duration:1;h>=1?(l.complete=!0,h=1):r=!1;const u=l.easing(h);if(l.sourceCenter){const d=l.sourceCenter[0],f=l.sourceCenter[1],g=l.targetCenter[0],_=l.targetCenter[1];this.nextCenter_=l.targetCenter;const m=d+u*(g-d),p=f+u*(_-f);this.targetCenter_=[m,p]}if(l.sourceResolution&&l.targetResolution){const d=u===1?l.targetResolution:l.sourceResolution+u*(l.targetResolution-l.sourceResolution);if(l.anchor){const f=this.getViewportSize_(this.getRotation()),g=this.constraints_.resolution(d,0,f,!0);this.targetCenter_=this.calculateCenterZoom(g,l.anchor)}this.nextResolution_=l.targetResolution,this.targetResolution_=d,this.applyTargetState_(!0)}if(l.sourceRotation!==void 0&&l.targetRotation!==void 0){const d=u===1?ci(l.targetRotation+Math.PI,2*Math.PI)-Math.PI:l.sourceRotation+u*(l.targetRotation-l.sourceRotation);if(l.anchor){const f=this.constraints_.rotation(d,!0);this.targetCenter_=this.calculateCenterRotate(f,l.anchor)}this.nextRotation_=l.targetRotation,this.targetRotation_=d}if(this.applyTargetState_(!0),e=!0,!l.complete)break}if(r){this.animations_[i]=null,this.setHint(mt.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const o=s[0].callback;o&&yn(o,!0)}}this.animations_=this.animations_.filter(Boolean),e&&this.updateAnimationKey_===void 0&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let i;const s=this.getCenterInternal();return s!==void 0&&(i=[s[0]-e[0],s[1]-e[1]],Qs(i,t-this.getRotation()),Ml(i,e)),i}calculateCenterZoom(t,e){let i;const s=this.getCenterInternal(),r=this.getResolution();if(s!==void 0&&r!==void 0){const o=e[0]-t*(e[0]-s[0])/r,a=e[1]-t*(e[1]-s[1])/r;i=[o,a]}return i}getViewportSize_(t){const e=this.viewportSize_;if(t){const i=e[0],s=e[1];return[Math.abs(i*Math.cos(t))+Math.abs(s*Math.sin(t)),Math.abs(i*Math.sin(t))+Math.abs(s*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t&&Fs(t,this.getProjection())}getCenterInternal(){return this.get(Nt.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return t!==void 0?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){const e=this.calculateExtentInternal(t);return $o(e,this.getProjection())}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();j(e,"The view center is not defined");const i=this.getResolution();j(i!==void 0,"The view resolution is not defined");const s=this.getRotation();return j(s!==void 0,"The view rotation is not defined"),Ps(e,i,s,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(Nt.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(Te(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const i=q(t)/e[0],s=pt(t)/e[1];return Math.max(i,s)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,s=Math.log(e/i)/Math.log(t);return function(r){return e/Math.pow(t,r*s)}}getRotation(){return this.get(Nt.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),i=this.getConstrainedResolution(this.maxResolution_),s=this.minResolution_,r=Math.log(i/s)/e;return function(o){return Math.log(i/o)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const i=this.padding_;return i&&(e=[e[0]-i[1]-i[3],e[1]-i[0]-i[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),i=this.getRotation();let s=this.getCenterInternal();const r=this.padding_;if(r){const o=this.getViewportSizeMinusPadding_();s=gs(s,this.getViewportSize_(),[o[0]/2+r[3],o[1]/2+r[0]],e,i)}return{center:s.slice(0),projection:t!==void 0?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:i,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return e!==void 0&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e=this.minZoom_||0,i,s;if(this.resolutions_){const r=Bs(this.resolutions_,t,1);e=r,i=this.resolutions_[r],r==this.resolutions_.length-1?s=2:s=i/this.resolutions_[r+1]}else i=this.maxResolution_,s=this.zoomFactor_;return e+Math.log(i/t)/Math.log(s)}getResolutionForZoom(t){if(this.resolutions_?.length){if(this.resolutions_.length===1)return this.resolutions_[0];const e=st(Math.floor(t),0,this.resolutions_.length-2),i=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(i,st(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let i;if(j(Array.isArray(t)||typeof t.getSimplifiedGeometry=="function","Invalid extent or geometry provided as `geometry`"),Array.isArray(t)){j(!Hn(t),"Cannot fit empty extent provided as `geometry`");const s=Te(t,this.getProjection());i=to(s)}else if(t.getType()==="Circle"){const s=Te(t.getExtent(),this.getProjection());i=to(s),i.rotate(this.getRotation(),Xe(s))}else i=t;this.fitInternal(i,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),i=Math.cos(e),s=Math.sin(-e),r=t.getFlatCoordinates(),o=t.getStride();let a=1/0,l=1/0,c=-1/0,h=-1/0;for(let u=0,d=r.length;u{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return!this.renderer_||!this.rendered?null:this.renderer_.getData(t)}isVisible(t){let e;const i=this.getMapInternal();!t&&i&&(t=i.getView()),t instanceof Vt?e={viewState:t.getState(),extent:t.calculateExtent()}:e=t,!e.layerStatesArray&&i&&(e.layerStatesArray=i.getLayerGroup().getLayerStatesArray());let s;e.layerStatesArray?s=e.layerStatesArray.find(o=>o.layer===this):s=this.getLayerState();const r=this.getExtent();return dr(s,e.viewState)&&(!r||Tt(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];const i=t instanceof Vt?t.getViewStateAndExtent():t;let s=e(i);return Array.isArray(s)||(s=[s]),s}render(t,e){const i=this.getRenderer();return i.prepareFrame(t)?(this.rendered=!0,i.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set(J.MAP,t)}getMapInternal(){return this.get(J.MAP)}setMap(t){this.mapPrecomposeKey_&&(tt(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(tt(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=V(t,Ot.PRECOMPOSE,this.handlePrecompose_,this),this.mapRenderKey_=V(this,z.CHANGE,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,i=this.getLayerState(!1);j(!e.some(s=>s.layer===i.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(i)}setSource(t){this.set(J.SOURCE,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),super.disposeInternal()}}function dr(n,t){if(!n.visible)return!1;const e=t.resolution;if(e=n.maxResolution)return!1;const i=t.zoom;return i>n.minZoom&&i<=n.maxZoom}function oa(n,t,e=0,i=n.length-1,s=mh){for(;i>e;){if(i-e>600){const l=i-e+1,c=t-e+1,h=Math.log(l),u=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*u*(l-u)/l)*(c-l/2<0?-1:1),f=Math.max(e,Math.floor(t-c*u/l+d)),g=Math.min(i,Math.floor(t+(l-c)*u/l+d));oa(n,t,f,g,s)}const r=n[t];let o=e,a=i;for(Ai(n,e,t),s(n[i],r)>0&&Ai(n,e,i);o0;)a--}s(n[e],r)===0?Ai(n,e,a):(a++,Ai(n,a,i)),a<=t&&(e=a+1),t<=a&&(i=a-1)}}function Ai(n,t,e){const i=n[t];n[t]=n[e],n[e]=i}function mh(n,t){return nt?1:0}let aa=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const i=[];if(!xn(t,e))return i;const s=this.toBBox,r=[];for(;e;){for(let o=0;o=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(s,r,e)}_split(t,e){const i=t[e],s=i.children.length,r=this._minEntries;this._chooseSplitAxis(i,r,s);const o=this._chooseSplitIndex(i,r,s),a=ii(i.children.splice(o,i.children.length-o));a.height=i.height,a.leaf=i.leaf,He(i,this.toBBox),He(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(i,a)}_splitRoot(t,e){this.data=ii([t,e]),this.data.height=t.height+1,this.data.leaf=!1,He(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let s,r=1/0,o=1/0;for(let a=e;a<=i-e;a++){const l=Pi(t,0,a,this.toBBox),c=Pi(t,a,i,this.toBBox),h=wh(l,c),u=_s(l)+_s(c);h=e;c--){const h=t.children[c];Oi(a,t.leaf?r(h):h),l+=En(a)}return l}_adjustParentBBoxes(t,e,i){for(let s=i;s>=0;s--)Oi(e[s],t)}_condense(t){for(let e=t.length-1,i;e>=0;e--)t[e].children.length===0?e>0?(i=t[e-1].children,i.splice(i.indexOf(t[e]),1)):this.clear():He(t[e],this.toBBox)}};function ph(n,t,e){if(!e)return t.indexOf(n);for(let i=0;i=n.minX&&t.maxY>=n.minY}function ii(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function eo(n,t,e,i,s){const r=[t,e];for(;r.length;){if(e=r.pop(),t=r.pop(),e-t<=i)continue;const o=t+Math.ceil((e-t)/i/2)*i;oa(n,o,t,e,s),r.push(t,o,o,e)}}const Y={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};function io(n){return n[0]>0&&n[1]>0}function Ch(n,t,e){return e===void 0&&(e=[0,0]),e[0]=n[0]*t+.5|0,e[1]=n[1]*t+.5|0,e}function vt(n,t){return Array.isArray(n)?n:(t===void 0?t=[n,n]:(t[0]=n,t[1]=n),t)}class Qn{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=vt(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new Qn({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return U()}getImage(t){return U()}getHitDetectionImage(){return U()}getPixelRatio(t){return 1}getImageState(){return U()}getImageSize(){return U()}getOrigin(){return U()}getSize(){return U()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=vt(t)}listenImageChange(t){U()}load(){U()}unlistenImageChange(t){U()}ready(){return Promise.resolve()}}const Ui={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]};var ft={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"]};ft.whitepoint={2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}};ft.max=ft.whitepoint[2].D65;ft.rgb=function(n,t){t=t||ft.whitepoint[2].E;var e=n[0]/t[0],i=n[1]/t[1],s=n[2]/t[2],r,o,a;return r=e*3.240969941904521+i*-1.537383177570093+s*-.498610760293,o=e*-.96924363628087+i*1.87596750150772+s*.041555057407175,a=e*.055630079696993+i*-.20397695888897+s*1.056971514242878,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r=r*12.92,o=o>.0031308?1.055*Math.pow(o,1/2.4)-.055:o=o*12.92,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a=a*12.92,r=Math.min(Math.max(0,r),1),o=Math.min(Math.max(0,o),1),a=Math.min(Math.max(0,a),1),[r*255,o*255,a*255]};Ui.xyz=function(n,t){var e=n[0]/255,i=n[1]/255,s=n[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92;var r=e*.41239079926595+i*.35758433938387+s*.18048078840183,o=e*.21263900587151+i*.71516867876775+s*.072192315360733,a=e*.019330818715591+i*.11919477979462+s*.95053215224966;return t=t||ft.whitepoint[2].E,[r*t[0],o*t[1],a*t[2]]};const fr={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(n,t,e){var i,s,r,o,a,l,c,h,u,d,f,g,_;if(r=n[0],o=n[1],a=n[2],r===0)return[0,0,0];var m=.0011070564598794539;return t=t||"D65",e=e||2,u=ft.whitepoint[e][t][0],d=ft.whitepoint[e][t][1],f=ft.whitepoint[e][t][2],g=4*u/(u+15*d+3*f),_=9*d/(u+15*d+3*f),i=o/(13*r)+g||0,s=a/(13*r)+_||0,c=r>8?d*Math.pow((r+16)/116,3):d*r*m,l=c*9*i/(4*s)||0,h=c*(12-3*i-20*s)/(4*s)||0,[l,c,h]}};ft.luv=function(n,t,e){var i,s,r,o,a,l,c,h,u,d,f,g,_,m=.008856451679035631,p=903.2962962962961;t=t||"D65",e=e||2,u=ft.whitepoint[e][t][0],d=ft.whitepoint[e][t][1],f=ft.whitepoint[e][t][2],g=4*u/(u+15*d+3*f),_=9*d/(u+15*d+3*f),l=n[0],c=n[1],h=n[2],i=4*l/(l+15*c+3*h)||0,s=9*c/(l+15*c+3*h)||0;var y=c/d;return r=y<=m?p*y:116*Math.pow(y,1/3)-16,o=13*r*(i-g),a=13*r*(s-_),[r,o,a]};var la={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(n){var t=n[0],e=n[1],i=n[2],s,r,o;return o=i/360*2*Math.PI,s=e*Math.cos(o),r=e*Math.sin(o),[t,s,r]},xyz:function(n){return fr.xyz(la.luv(n))}};fr.lchuv=function(n){var t=n[0],e=n[1],i=n[2],s=Math.sqrt(e*e+i*i),r=Math.atan2(i,e),o=r*360/2/Math.PI;return o<0&&(o+=360),[t,s,o]};ft.lchuv=function(n){return fr.lchuv(ft.luv(n))};const no={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var so={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Rh(n){var t,e=[],i=1,s;if(typeof n=="number")return{space:"rgb",values:[n>>>16,(n&65280)>>>8,n&255],alpha:1};if(typeof n=="number")return{space:"rgb",values:[n>>>16,(n&65280)>>>8,n&255],alpha:1};if(n=String(n).toLowerCase(),no[n])e=no[n].slice(),s="rgb";else if(n==="transparent")i=0,s="rgb",e=[0,0,0];else if(n[0]==="#"){var r=n.slice(1),o=r.length,a=o<=4;i=1,a?(e=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)],o===4&&(i=parseInt(r[3]+r[3],16)/255)):(e=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)],o===8&&(i=parseInt(r[6]+r[7],16)/255)),e[0]||(e[0]=0),e[1]||(e[1]=0),e[2]||(e[2]=0),s="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(n)){var l=t[1];s=l.replace(/a$/,"");var c=s==="cmyk"?4:s==="gray"?1:3;e=t[2].trim().split(/\s*[,\/]\s*|\s+/),s==="color"&&(s=e.shift()),e=e.map(function(h,u){if(h[h.length-1]==="%")return h=parseFloat(h)/100,u===3?h:s==="rgb"?h*255:s[0]==="h"||s[0]==="l"&&!u?h*100:s==="lab"?h*125:s==="lch"?u<2?h*150:h*360:s[0]==="o"&&!u?h:s==="oklab"?h*.4:s==="oklch"?u<2?h*.4:h*360:h;if(s[u]==="h"||u===2&&s[s.length-1]==="h"){if(so[h]!==void 0)return so[h];if(h.endsWith("deg"))return parseFloat(h);if(h.endsWith("turn"))return parseFloat(h)*360;if(h.endsWith("grad"))return parseFloat(h)*360/400;if(h.endsWith("rad"))return parseFloat(h)*180/Math.PI}return h==="none"?0:parseFloat(h)}),i=e.length>c?e.pop():1}else/[0-9](?:\s|\/|,)/.test(n)&&(e=n.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),s=n.match(/([a-z])/ig)?.join("")?.toLowerCase()||"rgb");return{space:s,values:e,alpha:i}}const ps={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(n){var t=n[0]/360,e=n[1]/100,i=n[2]/100,s,r,o,a,l,c=0;if(e===0)return l=i*255,[l,l,l];for(r=i<.5?i*(1+e):i+e-i*e,s=2*i-r,a=[0,0,0];c<3;)o=t+1/3*-(c-1),o<0?o++:o>1&&o--,l=6*o<1?s+(r-s)*6*o:2*o<1?r:3*o<2?s+(r-s)*(2/3-o)*6:s,a[c++]=l*255;return a}};Ui.hsl=function(n){var t=n[0]/255,e=n[1]/255,i=n[2]/255,s=Math.min(t,e,i),r=Math.max(t,e,i),o=r-s,a,l,c;return r===s?a=0:t===r?a=(e-i)/o:e===r?a=2+(i-t)/o:i===r&&(a=4+(t-e)/o),a=Math.min(a*60,360),a<0&&(a+=360),c=(s+r)/2,r===s?l=0:c<=.5?l=o/(r+s):l=o/(2-r-s),[a,l*100,c*100]};function Th(n){Array.isArray(n)&&n.raw&&(n=String.raw(...arguments)),n instanceof Number&&(n=+n);var t,e=Rh(n);if(!e.space)return[];const i=e.space[0]==="h"?ps.min:Ui.min,s=e.space[0]==="h"?ps.max:Ui.max;return t=Array(3),t[0]=Math.min(Math.max(e.values[0],i[0]),s[0]),t[1]=Math.min(Math.max(e.values[1],i[1]),s[1]),t[2]=Math.min(Math.max(e.values[2],i[2]),s[2]),e.space[0]==="h"&&(t=ps.rgb(t)),t.push(Math.min(Math.max(e.alpha,0),1)),t}const gr=[NaN,NaN,NaN,0];function Ih(n){return typeof n=="string"?n:mr(n)}const vh=1024,Mi={};let ys=0;function Sh(n){if(n.length===4)return n;const t=n.slice();return t[3]=1,t}function ro(n){const t=ft.lchuv(Ui.xyz(n));return t[3]=n[3],t}function Lh(n){const t=ft.rgb(la.xyz(n));return t[3]=n[3],t}function _r(n){if(n==="none")return gr;if(Mi.hasOwnProperty(n))return Mi[n];if(ys>=vh){let e=0;for(const i in Mi)e++&3||(delete Mi[i],--ys)}const t=Th(n);if(t.length!==4)throw new Error('failed to parse "'+n+'" as color');for(const e of t)if(isNaN(e))throw new Error('failed to parse "'+n+'" as color');return ha(t),Mi[n]=t,++ys,t}function ji(n){return Array.isArray(n)?n:_r(n)}function ha(n){return n[0]=st(n[0]+.5|0,0,255),n[1]=st(n[1]+.5|0,0,255),n[2]=st(n[2]+.5|0,0,255),n[3]=st(n[3],0,1),n}function mr(n){let t=n[0];t!=(t|0)&&(t=t+.5|0);let e=n[1];e!=(e|0)&&(e=e+.5|0);let i=n[2];i!=(i|0)&&(i=i+.5|0);const s=n[3]===void 0?1:Math.round(n[3]*1e3)/1e3;return"rgba("+t+","+e+","+i+","+s+")"}const Le=typeof navigator<"u"&&typeof navigator.userAgent<"u"?navigator.userAgent.toLowerCase():"",Ah=Le.includes("firefox"),Mh=Le.includes("safari")&&!Le.includes("chrom");Mh&&(Le.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(Le));const bh=Le.includes("webkit")&&!Le.includes("edge"),ca=Le.includes("macintosh"),ua=typeof devicePixelRatio<"u"?devicePixelRatio:1,da=typeof WorkerGlobalScope<"u"&&typeof OffscreenCanvas<"u"&&self instanceof WorkerGlobalScope,fa=typeof Image<"u"&&Image.prototype.decode,ga=function(){let n=!1;try{const t=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("_",null,t),window.removeEventListener("_",null,t)}catch{}return n}();function rt(n,t,e,i){let s;return e&&e.length?s=e.shift():da?s=new OffscreenCanvas(n||300,t||300):s=document.createElement("canvas"),n&&(s.width=n),t&&(s.height=t),s.getContext("2d",i)}let Es;function bn(){return Es||(Es=rt(1,1)),Es}function mi(n){const t=n.canvas;t.width=1,t.height=1,n.clearRect(0,0,1,1)}function oo(n,t){const e=t.parentNode;e&&e.replaceChild(n,t)}function Dh(n){for(;n.lastChild;)n.lastChild.remove()}function Ph(n,t){const e=n.childNodes;for(let i=0;;++i){const s=e[i],r=t[i];if(!s&&!r)break;if(s!==r){if(!s){n.appendChild(r);continue}if(!r){n.removeChild(s),--i;continue}n.insertBefore(r,s)}}}function Oh(n,t,e){const i=n;let s=!0,r=!1,o=!1;const a=[vn(i,z.LOAD,function(){o=!0,r||t()})];return i.src&&fa?(r=!0,i.decode().then(function(){s&&t()}).catch(function(l){s&&(o?t():e())})):a.push(vn(i,z.ERROR,e)),function(){s=!1,a.forEach(tt)}}function Fh(n,t){return new Promise((e,i)=>{function s(){o(),e(n)}function r(){o(),i(new Error("Image load error"))}function o(){n.removeEventListener("load",s),n.removeEventListener("error",r)}n.addEventListener("load",s),n.addEventListener("error",r)})}function kh(n,t){return t&&(n.src=t),n.src&&fa?new Promise((e,i)=>n.decode().then(()=>e(n)).catch(s=>n.complete&&n.width?e(n):i(s))):Fh(n)}class Nh{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=32}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const i=this.cache_[e];!(t++&3)&&!i.hasListener()&&(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,i){const s=xs(t,e,i);return s in this.cache_?this.cache_[s]:null}getPattern(t,e,i){const s=xs(t,e,i);return s in this.patternCache_?this.patternCache_[s]:null}set(t,e,i,s,r){const o=xs(t,e,i),a=o in this.cache_;this.cache_[o]=s,r&&(s.getImageState()===Y.IDLE&&s.load(),s.getImageState()===Y.LOADING?s.ready().then(()=>{this.patternCache_[o]=bn().createPattern(s.getImage(1),"repeat")}):this.patternCache_[o]=bn().createPattern(s.getImage(1),"repeat")),a||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}}function xs(n,t,e){const i=e?ji(e):"null";return t+":"+n+":"+i}const Ht=new Nh;let bi=null;class Gh extends Kn{constructor(t,e,i,s,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=i,this.canvas_={},this.color_=r,this.imageState_=s===void 0?Y.IDLE:s,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,this.crossOrigin_!==null&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(this.tainted_===void 0&&this.imageState_===Y.LOADED){bi||(bi=rt(1,1,void 0,{willReadFrequently:!0})),bi.drawImage(this.image_,0,0);try{bi.getImageData(0,0,1,1),this.tainted_=!1}catch{bi=null,this.tainted_=!0}}return this.tainted_===!0}dispatchChangeEvent_(){this.dispatchEvent(z.CHANGE)}handleImageError_(){this.imageState_=Y.ERROR,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=Y.LOADED,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],i=rt(t,e);i.fillRect(0,0,t,e),this.hitDetectionImage_=i.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(this.imageState_===Y.IDLE){this.image_||this.initializeImage_(),this.imageState_=Y.LOADING;try{this.src_!==void 0&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&kh(this.image_,this.src_).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}}replaceColor_(t){if(!this.color_||this.canvas_[t]||this.imageState_!==Y.LOADED)return;const e=this.image_,i=rt(Math.ceil(e.width*t),Math.ceil(e.height*t)),s=i.canvas;i.scale(t,t),i.drawImage(e,0,0),i.globalCompositeOperation="multiply",i.fillStyle=Ih(this.color_),i.fillRect(0,0,s.width/t,s.height/t),i.globalCompositeOperation="destination-in",i.drawImage(e,0,0),this.canvas_[t]=s}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(this.imageState_===Y.LOADED||this.imageState_===Y.ERROR)t();else{const e=()=>{(this.imageState_===Y.LOADED||this.imageState_===Y.ERROR)&&(this.removeEventListener(z.CHANGE,e),t())};this.addEventListener(z.CHANGE,e)}})),this.ready_}}function pr(n,t,e,i,s,r){let o=t===void 0?void 0:Ht.get(t,e,s);return o||(o=new Gh(n,n&&"src"in n?n.src||void 0:t,e,i,s),Ht.set(t,e,s,o,r)),r&&o&&!Ht.getPattern(t,e,s)&&Ht.set(t,e,s,o,r),o}function qt(n){return n?Array.isArray(n)?mr(n):typeof n=="object"&&"src"in n?zh(n):n:null}function zh(n){if(!n.offset||!n.size)return Ht.getPattern(n.src,"anonymous",n.color);const t=n.src+":"+n.offset,e=Ht.getPattern(t,void 0,n.color);if(e)return e;const i=Ht.get(n.src,"anonymous",null);if(i.getImageState()!==Y.LOADED)return null;const s=rt(n.size[0],n.size[1]);return s.drawImage(i.getImage(1),n.offset[0],n.offset[1],n.size[0],n.size[1],0,0,n.size[0],n.size[1]),pr(s.canvas,t,void 0,Y.LOADED,n.color,!0),Ht.getPattern(t,void 0,n.color)}const wn="ol-hidden",ts="ol-unselectable",yr="ol-control",ao="ol-collapsed",Xh=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))",`?\\s*([-,\\"\\'\\sa-z]+?)\\s*$`].join(""),"i"),lo=["style","variant","weight","size","lineHeight","family"],_a=function(n){const t=n.match(Xh);if(!t)return null;const e={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let i=0,s=lo.length;it.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},H={for:"peer_endpoint_allowed_ips",class:"form-label"},Q={class:"text-muted"},Y=["disabled"];function Z(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",H,[e("small",Q,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":c.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Y),[[f,this.endpointAllowedIps]])])}const X=g(z,[["render",Z]]),ee={name:"allowedIPsInput",components:{LocaleText:r},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=A(),n=I(),u=C("");return Object.keys(l.availableIp).length>0&&(u.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:u}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},te={class:"d-flex flex-column flex-md-row mb-2"},se={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},ae={class:"text-muted"},le={class:"form-check form-switch ms-md-auto"},oe={class:"form-check-label",for:"disableIPValidation"},ie={class:"d-flex"},de=["onClick"],ne={class:"d-flex gap-2 align-items-center"},re={class:"input-group"},ue=["placeholder","disabled"],ce=["disabled"],pe={class:"text-muted"},be={class:"dropdown flex-grow-1"},he=["disabled"],_e={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},ve={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},fe=["onClick"],ye={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ge={class:"me-auto"},we={key:0,class:"px-3 py-2"},xe={key:0,class:"text-muted"},$e={key:1,class:"text-muted"};function Ae(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",te,[e("label",se,[e("small",ae,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",le,[b(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[P,this.data.allowed_ips_validation]]),e("label",oe,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",ie,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(G,{name:"list"},{default:E(()=>[(i(!0),d(O,null,L(this.data.allowed_ips,(a,p)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[$(K(a)+" ",1),e("a",{role:"button",onClick:S=>this.data.allowed_ips.splice(p,1)},t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)]),8,de)]))),128))]),_:1})],2)]),e("div",ne,[e("div",re,[b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>c.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,ue),[[f,c.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)]),10,ce)]),e("small",pe,[o(s,{t:"or"})]),e("div",be,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",_e,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),b(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",ve,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(O,null,L(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:p=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},K(a),11,fe))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",ye,[(i(!0),d(O,null,L(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:p=>this.addAllowedIp(a)},[e("span",ge,[e("small",null,K(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",we,[this.availableIpSearchString?(i(),d("small",xe,[o(s,{t:"No available IP containing"}),$('"'+K(this.availableIpSearchString)+'"',1)])):(i(),d("small",$e,[o(s,{t:"No more IP address available in this subnet"})]))])):y("",!0)])])])):y("",!0)])])],2)}const Ie=g(ee,[["render",Ae],["__scopeId","data-v-ed72944d"]]),Pe={name:"dnsInput",components:{LocaleText:r},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=A(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Se={for:"peer_DNS_textbox",class:"form-label"},Ke={class:"text-muted"},Ce=["disabled"];function Oe(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",Se,[e("small",Ke,[o(s,{t:"DNS"})])]),b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ce),[[f,this.dns]])])}const Le=g(Pe,[["render",Oe]]),Ne={name:"nameInput",components:{LocaleText:r},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Te={class:"text-muted"},Ve=["disabled"];function Be(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Te,[o(s,{t:"Name"})])]),b(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Ve),[[f,this.data.name]])],2)}const Me=g(Ne,[["render",Be]]),Ue={name:"privatePublicKeyInput",components:{LocaleText:r},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=A();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},je={for:"peer_private_key_textbox",class:"form-label"},Ee={class:"text-muted"},Ge={class:"input-group"},Fe=["disabled"],Re=["disabled"],We={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},Je={class:"text-muted"},ze={class:"form-check form-switch ms-md-auto"},He=["disabled"],Qe={class:"form-check-label",for:"enablePublicKeyEdit"},Ye=["disabled"];function Ze(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",je,[e("small",Ee,[o(s,{t:"Private Key"}),t[6]||(t[6]=$()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])])]),e("div",Ge,[b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[f,this.keypair.privateKey]]),e("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]),8,Re)])]),e("div",null,[e("div",We,[e("label",qe,[e("small",Je,[o(s,{t:"Public Key"}),t[8]||(t[8]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ze,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=a=>this.editKey=a)},null,8,He),[[P,this.editKey]]),e("label",Qe,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),b(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=a=>this.keypair.publicKey=a),onBlur:t[5]||(t[5]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,Ye),[[f,this.keypair.publicKey]])])],2)}const Xe=g(Ue,[["render",Ze]]),et={name:"bulkAdd",components:{LocaleText:r},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},tt={class:"form-check form-switch"},st=["disabled"],at={class:"form-check-label me-2",for:"bulk_add"},lt={class:"text-muted d-block"},ot={key:0,class:"form-group"},it=["max","placeholder"],dt={class:"text-muted"};function nt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("div",tt,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,st),[[P,this.data.bulkAdd]]),e("label",at,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",lt,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",ot,[b(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,it),[[f,this.data.bulkAddAmount]]),e("small",dt,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):y("",!0)])}const rt=g(et,[["render",nt]]),ut={name:"presharedKeyInput",components:{LocaleText:r},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ct={class:"d-flex align-items-start"},pt={for:"peer_preshared_key_textbox",class:"form-label"},bt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},_t=["disabled"];function mt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("div",ct,[e("label",pt,[e("small",bt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[P,this.enable]])])]),b(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,_t),[[f,this.data.preshared_key]])])}const vt=g(ut,[["render",mt]]),ft={name:"mtuInput",components:{LocaleText:r},props:{data:Object,saving:Boolean}},yt={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},gt=["disabled"];function wt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",yt,[e("small",kt,[o(s,{t:"MTU"})])]),b(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,gt),[[f,this.data.mtu]])])}const xt=g(ft,[["render",wt]]),$t={name:"persistentKeepAliveInput",components:{LocaleText:r},props:{data:Object,saving:Boolean}},At={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},Pt=["disabled"];function St(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",At,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),b(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,Pt),[[f,this.data.keepalive]])])}const Kt=g($t,[["render",St]]),Ct={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ot={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Nt={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Tt={class:"mb-0"},Vt={class:"card-body px-4 pb-4"},Bt={class:"d-flex flex-column gap-2"},Mt={class:"accordion mb-3",id:"peerAddModalAccordion"},Ut={class:"accordion-item"},jt={class:"accordion-header"},Et={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Gt={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Rt={class:"d-flex flex-column gap-2"},Wt={class:"row gy-3"},qt={key:0,class:"col-sm"},Jt={class:"col-sm"},zt={class:"col-sm"},Ht={key:1,class:"col-12"},Qt={class:"form-check form-switch"},Yt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Zt={class:"fw-bold"},Xt={key:0},es={class:"form-label d-block"},ts={class:"text-muted"},ss={class:"btn-group",role:"group"},as={class:"btn btn-outline-primary btn-sm",for:"advanced_security_on"},ls={class:"btn btn-outline-primary btn-sm",for:"advanced_security_off"},os={class:"d-flex mt-2"},is=["disabled"],ds={key:0,class:"bi bi-plus-circle-fill me-2"},us={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,u;const c=I(),v=A(),s=C({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:c.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:c.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(c.Configuration.Peers.peer_keep_alive),mtu:parseInt(c.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=C([]),p=C(!1),S=R();[n,u]=W(()=>B("/api/getAvailableIPs/"+S.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,u();const N=t,M=D(()=>v.Configurations.find(_=>_.Name===S.params.id).Protocol),U=D(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(k=>{s.value[k].length===0&&(_=!1)}),_}),j=()=>{p.value=!0,J("/api/addPeers/"+S.params.id,s.value,_=>{_.status?(c.newMessage("Server","Peer created successfully","success"),N("addedPeers")):c.newMessage("Server",_.message,"danger"),p.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,h)=>(i(),d("div",Ct,[e("div",Ot,[e("div",Lt,[e("div",Nt,[e("div",Dt,[e("h4",Tt,[o(r,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:h[0]||(h[0]=k=>N("close"))})]),e("div",Vt,[e("div",Bt,[o(rt,{saving:p.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),h[5]||(h[5]=e("hr",{class:"mb-0 mt-2"},null,-1)),s.value.bulkAdd?y("",!0):(i(),x(Me,{key:0,saving:p.value,data:s.value},null,8,["saving","data"])),s.value.bulkAdd?y("",!0):(i(),x(Xe,{key:1,saving:p.value,data:s.value},null,8,["saving","data"])),s.value.bulkAdd?y("",!0):(i(),x(Ie,{key:2,availableIp:a.value,saving:p.value,data:s.value},null,8,["availableIp","saving","data"]))]),h[7]||(h[7]=e("hr",null,null,-1)),e("div",Mt,[e("div",Ut,[e("h2",jt,[e("button",Et,[o(r,{t:"Advanced Options"})])]),e("div",Gt,[e("div",Ft,[e("div",Rt,[o(Le,{saving:p.value,data:s.value},null,8,["saving","data"]),o(X,{saving:p.value,data:s.value},null,8,["saving","data"]),e("div",Wt,[s.value.bulkAdd?y("",!0):(i(),d("div",qt,[o(vt,{saving:p.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Jt,[o(xt,{saving:p.value,data:s.value},null,8,["saving","data"])]),e("div",zt,[o(Kt,{saving:p.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",Ht,[e("div",Qt,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":h[1]||(h[1]=k=>s.value.preshared_key_bulkAdd=k),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[P,s.value.preshared_key_bulkAdd]]),e("label",Yt,[e("small",Zt,[o(r,{t:"Pre-Shared Key"}),h[6]||(h[6]=$()),s.value.preshared_key_bulkAdd?(i(),x(r,{key:0,t:"Enabled"})):(i(),x(r,{key:1,t:"Disabled"}))])])])])):y("",!0)])])])])])]),M.value==="awg"?(i(),d("div",Xt,[e("h5",null,[o(r,{t:"AmneziaWG Peer Setting"})]),e("div",null,[e("label",es,[e("small",ts,[o(r,{t:"Advanced Security"})])]),e("div",ss,[b(e("input",{type:"radio",class:"btn-check","onUpdate:modelValue":h[2]||(h[2]=k=>s.value.advanced_security=k),value:"on",name:"advanced_security_radio",id:"advanced_security_on",autocomplete:"off"},null,512),[[T,s.value.advanced_security]]),e("label",as,[o(r,{t:"On"})]),b(e("input",{type:"radio","onUpdate:modelValue":h[3]||(h[3]=k=>s.value.advanced_security=k),value:"off",class:"btn-check",name:"advanced_security_radio",id:"advanced_security_off",autocomplete:"off"},null,512),[[T,s.value.advanced_security]]),e("label",ls,[o(r,{t:"Off"})])])])])):y("",!0),e("div",os,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!U.value||p.value,onClick:h[4]||(h[4]=k=>j())},[p.value?y("",!0):(i(),d("i",ds)),p.value?(i(),x(r,{key:1,t:"Adding..."})):(i(),x(r,{key:2,t:"Add"}))],8,is)])])])])])],512))}};export{us as default}; +import{_ as g,W as A,D as I,y as w,a as i,c as d,b as e,d as o,f as $,m as b,v as f,n as m,r as C,G as V,s as P,w as E,F as O,k as L,t as K,T as G,p as F,e as y,x as B,K as R,P as W,g as D,I as q,j as x,a6 as T,E as J}from"./index-Bsy8tbGW.js";import{L as r}from"./localeText-CoKvgn8T.js";const z={name:"endpointAllowedIps",components:{LocaleText:r},props:{data:Object,saving:Boolean},setup(){const l=A(),t=I();return{store:l,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let l=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.checkCIDR(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IPs format is incorrect","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},H={for:"peer_endpoint_allowed_ips",class:"form-label"},Q={class:"text-muted"},Y=["disabled"];function Z(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",H,[e("small",Q,[o(s,{t:"Endpoint Allowed IPs"}),t[2]||(t[2]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":c.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.endpointAllowedIps=a),onBlur:t[1]||(t[1]=a=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Y),[[f,this.endpointAllowedIps]])])}const X=g(z,[["render",Z]]),ee={name:"allowedIPsInput",components:{LocaleText:r},props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(l){const t=A(),n=I(),u=C("");return Object.keys(l.availableIp).length>0&&(u.value=Object.keys(l.availableIp)[0]),{store:t,dashboardStore:n,selectedSubnet:u}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp[this.selectedSubnet].filter(l=>l.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(l)):this.availableIp[this.selectedSubnet].filter(l=>!this.data.allowed_ips.includes(l))},inputGetLocale(){return V("Enter IP Address/CIDR")}},methods:{addAllowedIp(l){let t=l.split(",");for(let n=0;n0&&this.data.allowed_ips.length===0)for(let l in this.availableIp)this.availableIp[l].length>0&&this.addAllowedIp(this.availableIp[l][0])}},te={class:"d-flex flex-column flex-md-row mb-2"},se={for:"peer_allowed_ip_textbox",class:"form-label mb-0"},ae={class:"text-muted"},le={class:"form-check form-switch ms-md-auto"},oe={class:"form-check-label",for:"disableIPValidation"},ie={class:"d-flex"},de=["onClick"],ne={class:"d-flex gap-2 align-items-center"},re={class:"input-group"},ue=["placeholder","disabled"],ce=["disabled"],pe={class:"text-muted"},be={class:"dropdown flex-grow-1"},he=["disabled"],_e={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3 pb-0",style:{width:"300px !important"}},me={class:"px-3 d-flex gap-3 align-items-center"},ve={class:"px-3 overflow-x-scroll d-flex overflow-x-scroll overflow-y-hidden align-items-center gap-2"},fe=["onClick"],ye={class:"overflow-y-scroll",style:{height:"270px"}},ke=["onClick"],ge={class:"me-auto"},we={key:0,class:"px-3 py-2"},xe={key:0,class:"text-muted"},$e={key:1,class:"text-muted"};function Ae(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("div",te,[e("label",se,[e("small",ae,[o(s,{t:"Allowed IPs"}),t[5]||(t[5]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",le,[b(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.allowed_ips_validation=a),role:"switch",id:"disableIPValidation"},null,512),[[P,this.data.allowed_ips_validation]]),e("label",oe,[e("small",null,[o(s,{t:"Allowed IPs Validation"})])])])]),e("div",ie,[e("div",{class:m(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[o(G,{name:"list"},{default:E(()=>[(i(!0),d(O,null,L(this.data.allowed_ips,(a,p)=>(i(),d("span",{class:"badge rounded-pill text-bg-success",key:a},[$(K(a)+" ",1),e("a",{role:"button",onClick:S=>this.data.allowed_ips.splice(p,1)},t[6]||(t[6]=[e("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)]),8,de)]))),128))]),_:1})],2)]),e("div",ne,[e("div",re,[b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:this.inputGetLocale,onKeyup:t[1]||(t[1]=F(a=>this.customAvailableIp?this.addAllowedIp(this.customAvailableIp):void 0,["enter"])),"onUpdate:modelValue":t[2]||(t[2]=a=>c.customAvailableIp=a),id:"peer_allowed_ip_textbox",disabled:n.bulk},null,42,ue),[[f,c.customAvailableIp]]),e("button",{class:m(["btn btn-sm rounded-end-3",[this.customAvailableIp?"btn-success":"btn-outline-success"]]),disabled:n.bulk||!this.customAvailableIp,onClick:t[3]||(t[3]=a=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-plus-lg"},null,-1)]),10,ce)]),e("small",pe,[o(s,{t:"or"})]),e("div",be,[e("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[t[8]||(t[8]=e("i",{class:"bi bi-filter-circle me-2"},null,-1)),o(s,{t:"Pick Available IP"})],8,he),this.availableIp?(i(),d("ul",_e,[e("li",null,[e("div",me,[t[9]||(t[9]=e("label",{for:"availableIpSearchString",class:"text-muted"},[e("i",{class:"bi bi-search"})],-1)),b(e("input",{id:"availableIpSearchString",class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[4]||(t[4]=a=>this.availableIpSearchString=a)},null,512),[[f,this.availableIpSearchString]])]),t[11]||(t[11]=e("hr",{class:"my-2"},null,-1)),e("div",ve,[t[10]||(t[10]=e("small",{class:"text-muted"},"Subnet",-1)),(i(!0),d(O,null,L(Object.keys(this.availableIp),a=>(i(),d("button",{key:a,onClick:p=>this.selectedSubnet=a,class:m([{"bg-primary-subtle":this.selectedSubnet===a},"btn btn-sm text-primary-emphasis rounded-3"])},K(a),11,fe))),128))]),t[12]||(t[12]=e("hr",{class:"mt-2 mb-0"},null,-1))]),e("li",null,[e("div",ye,[(i(!0),d(O,null,L(this.searchAvailableIps,a=>(i(),d("div",{style:{},key:a},[e("a",{class:"dropdown-item d-flex",role:"button",onClick:p=>this.addAllowedIp(a)},[e("span",ge,[e("small",null,K(a),1)])],8,ke)]))),128)),this.searchAvailableIps.length===0?(i(),d("div",we,[this.availableIpSearchString?(i(),d("small",xe,[o(s,{t:"No available IP containing"}),$('"'+K(this.availableIpSearchString)+'"',1)])):(i(),d("small",$e,[o(s,{t:"No more IP address available in this subnet"})]))])):y("",!0)])])])):y("",!0)])])],2)}const Ie=g(ee,[["render",Ae],["__scopeId","data-v-ed72944d"]]),Pe={name:"dnsInput",components:{LocaleText:r},props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const l=A(),t=I();return{store:l,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let l=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in l)if(!this.store.regexCheckIP(l[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS format is incorrect","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Se={for:"peer_DNS_textbox",class:"form-label"},Ke={class:"text-muted"},Ce=["disabled"];function Oe(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",Se,[e("small",Ke,[o(s,{t:"DNS"})])]),b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.dns=a),id:"peer_DNS_textbox"},null,10,Ce),[[f,this.dns]])])}const Le=g(Pe,[["render",Oe]]),Ne={name:"nameInput",components:{LocaleText:r},props:{bulk:Boolean,data:Object,saving:Boolean}},De={for:"peer_name_textbox",class:"form-label"},Te={class:"text-muted"},Ve=["disabled"];function Be(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m({inactiveField:this.bulk})},[e("label",De,[e("small",Te,[o(s,{t:"Name"})])]),b(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.name=a),id:"peer_name_textbox",placeholder:""},null,8,Ve),[[f,this.data.name]])],2)}const Me=g(Ne,[["render",Be]]),Ue={name:"privatePublicKeyInput",components:{LocaleText:r},props:{data:Object,saving:Boolean,bulk:Boolean},setup(){const l=I(),t=A();return{dashboardStore:l,wgStore:t}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(l){return/^[A-Za-z0-9+/]{43}=?=?$/.test(l)},checkMatching(){try{this.keypair.privateKey&&this.wgStore.checkWGKeyLength(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private key does not match with the public key","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},je={for:"peer_private_key_textbox",class:"form-label"},Ee={class:"text-muted"},Ge={class:"input-group"},Fe=["disabled"],Re=["disabled"],We={class:"d-flex flex-column flex-md-row mb-2"},qe={for:"public_key",class:"form-label mb-0"},Je={class:"text-muted"},ze={class:"form-check form-switch ms-md-auto"},He=["disabled"],Qe={class:"form-check-label",for:"enablePublicKeyEdit"},Ye=["disabled"];function Ze(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",{class:m(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[e("div",null,[e("label",je,[e("small",Ee,[o(s,{t:"Private Key"}),t[6]||(t[6]=$()),e("code",null,[o(s,{t:"(Required for QR Code and Download)"})])])]),e("div",Ge,[b(e("input",{type:"text",class:m(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=a=>this.keypair.privateKey=a),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=a=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,Fe),[[f,this.keypair.privateKey]]),e("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=a=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},t[7]||(t[7]=[e("i",{class:"bi bi-arrow-repeat"},null,-1)]),8,Re)])]),e("div",null,[e("div",We,[e("label",qe,[e("small",Je,[o(s,{t:"Public Key"}),t[8]||(t[8]=$()),e("code",null,[o(s,{t:"(Required)"})])])]),e("div",ze,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=a=>this.editKey=a)},null,8,He),[[P,this.editKey]]),e("label",Qe,[e("small",null,[o(s,{t:"Use your own Private and Public Key"})])])])]),b(e("input",{class:m(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=a=>this.keypair.publicKey=a),onBlur:t[5]||(t[5]=a=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,Ye),[[f,this.keypair.publicKey]])])],2)}const Xe=g(Ue,[["render",Ze]]),et={name:"bulkAdd",components:{LocaleText:r},props:{saving:Boolean,data:Object,availableIp:void 0},data(){return{numberOfAvailableIPs:null}},computed:{bulkAddGetLocale(){return V("How many peers you want to add?")},getNumberOfAvailableIPs(){return this.numberOfAvailableIPs?Object.values(this.numberOfAvailableIPs).reduce((l,t)=>l+t):"..."}},watch:{"data.bulkAdd":{immediate:!0,handler(l){l&&B("/api/getNumberOfAvailableIPs/"+this.$route.params.id,{},t=>{t.status&&(this.numberOfAvailableIPs=t.data)})}}}},tt={class:"form-check form-switch"},st=["disabled"],at={class:"form-check-label me-2",for:"bulk_add"},lt={class:"text-muted d-block"},ot={key:0,class:"form-group"},it=["max","placeholder"],dt={class:"text-muted"};function nt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("div",tt,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=a=>this.data.bulkAdd=a)},null,8,st),[[P,this.data.bulkAdd]]),e("label",at,[e("small",null,[e("strong",null,[o(s,{t:"Bulk Add"})])])])]),e("p",{class:m({"mb-0":!this.data.bulkAdd})},[e("small",lt,[o(s,{t:"By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP."})])],2),this.data.bulkAdd?(i(),d("div",ot,[b(e("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",id:"bulk_add_count",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.bulkAddAmount=a),placeholder:this.bulkAddGetLocale},null,8,it),[[f,this.data.bulkAddAmount]]),e("small",dt,[o(s,{t:"You can add up to "+v.getNumberOfAvailableIPs+" peers"},null,8,["t"])])])):y("",!0)])}const rt=g(et,[["render",nt]]),ut={name:"presharedKeyInput",components:{LocaleText:r},props:{data:Object,saving:Boolean},data(){return{enable:!1}},watch:{enable(){this.enable?this.data.preshared_key=window.wireguard.generateKeypair().presharedKey:this.data.preshared_key=""}}},ct={class:"d-flex align-items-start"},pt={for:"peer_preshared_key_textbox",class:"form-label"},bt={class:"text-muted"},ht={class:"form-check form-switch ms-auto"},_t=["disabled"];function mt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("div",ct,[e("label",pt,[e("small",bt,[o(s,{t:"Pre-Shared Key"})])]),e("div",ht,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":t[0]||(t[0]=a=>this.enable=a),id:"peer_preshared_key_switch"},null,512),[[P,this.enable]])])]),b(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||!this.enable,"onUpdate:modelValue":t[1]||(t[1]=a=>this.data.preshared_key=a),id:"peer_preshared_key_textbox"},null,8,_t),[[f,this.data.preshared_key]])])}const vt=g(ut,[["render",mt]]),ft={name:"mtuInput",components:{LocaleText:r},props:{data:Object,saving:Boolean}},yt={for:"peer_mtu",class:"form-label"},kt={class:"text-muted"},gt=["disabled"];function wt(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",yt,[e("small",kt,[o(s,{t:"MTU"})])]),b(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.mtu=a),min:"0",id:"peer_mtu"},null,8,gt),[[f,this.data.mtu]])])}const xt=g(ft,[["render",wt]]),$t={name:"persistentKeepAliveInput",components:{LocaleText:r},props:{data:Object,saving:Boolean}},At={for:"peer_keep_alive",class:"form-label"},It={class:"text-muted"},Pt=["disabled"];function St(l,t,n,u,c,v){const s=w("LocaleText");return i(),d("div",null,[e("label",At,[e("small",It,[o(s,{t:"Persistent Keepalive"})])]),b(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=a=>this.data.keepalive=a),id:"peer_keep_alive"},null,8,Pt),[[f,this.data.keepalive]])])}const Kt=g($t,[["render",St]]),Ct={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"editConfigurationContainer"},Ot={class:"container d-flex h-100 w-100"},Lt={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"1000px"}},Nt={class:"card rounded-3 shadow flex-grow-1"},Dt={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},Tt={class:"mb-0"},Vt={class:"card-body px-4 pb-4"},Bt={class:"d-flex flex-column gap-2"},Mt={class:"accordion mb-3",id:"peerAddModalAccordion"},Ut={class:"accordion-item"},jt={class:"accordion-header"},Et={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerAddModalAccordionAdvancedOptions"},Gt={id:"peerAddModalAccordionAdvancedOptions",class:"accordion-collapse collapse collapsed","data-bs-parent":"#peerAddModalAccordion"},Ft={class:"accordion-body rounded-bottom-3"},Rt={class:"d-flex flex-column gap-2"},Wt={class:"row gy-3"},qt={key:0,class:"col-sm"},Jt={class:"col-sm"},zt={class:"col-sm"},Ht={key:1,class:"col-12"},Qt={class:"form-check form-switch"},Yt={class:"form-check-label",for:"bullAdd_PresharedKey_Switch"},Zt={class:"fw-bold"},Xt={key:0},es={class:"form-label d-block"},ts={class:"text-muted"},ss={class:"btn-group",role:"group"},as={class:"btn btn-outline-primary btn-sm",for:"advanced_security_on"},ls={class:"btn btn-outline-primary btn-sm",for:"advanced_security_off"},os={class:"d-flex mt-2"},is=["disabled"],ds={key:0,class:"bi bi-plus-circle-fill me-2"},us={__name:"peerAddModal",emits:["close","addedPeers"],async setup(l,{emit:t}){let n,u;const c=I(),v=A(),s=C({bulkAdd:!1,bulkAddAmount:0,name:"",allowed_ips:[],private_key:"",public_key:"",DNS:c.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:c.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(c.Configuration.Peers.peer_keep_alive),mtu:parseInt(c.Configuration.Peers.peer_mtu),preshared_key:"",preshared_key_bulkAdd:!1,advanced_security:"off",allowed_ips_validation:!0}),a=C([]),p=C(!1),S=R();[n,u]=W(()=>B("/api/getAvailableIPs/"+S.params.id,{},_=>{_.status&&(a.value=_.data)})),await n,u();const N=t,M=D(()=>v.Configurations.find(_=>_.Name===S.params.id).Protocol),U=D(()=>{let _=!0;return s.value.bulkAdd?(s.value.bulkAddAmount.length===0||s.value.bulkAddAmount>a.value.length)&&(_=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(k=>{s.value[k].length===0&&(_=!1)}),_}),j=()=>{p.value=!0,J("/api/addPeers/"+S.params.id,s.value,_=>{_.status?(c.newMessage("Server","Peer created successfully","success"),N("addedPeers")):c.newMessage("Server",_.message,"danger"),p.value=!1})};return q(()=>s.value.bulkAddAmount,()=>{s.value.bulkAddAmount>a.value.length&&(s.value.bulkAddAmount=a.value.length)}),(_,h)=>(i(),d("div",Ct,[e("div",Ot,[e("div",Lt,[e("div",Nt,[e("div",Dt,[e("h4",Tt,[o(r,{t:"Add Peers"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:h[0]||(h[0]=k=>N("close"))})]),e("div",Vt,[e("div",Bt,[o(rt,{saving:p.value,data:s.value,availableIp:a.value},null,8,["saving","data","availableIp"]),h[5]||(h[5]=e("hr",{class:"mb-0 mt-2"},null,-1)),s.value.bulkAdd?y("",!0):(i(),x(Me,{key:0,saving:p.value,data:s.value},null,8,["saving","data"])),s.value.bulkAdd?y("",!0):(i(),x(Xe,{key:1,saving:p.value,data:s.value},null,8,["saving","data"])),s.value.bulkAdd?y("",!0):(i(),x(Ie,{key:2,availableIp:a.value,saving:p.value,data:s.value},null,8,["availableIp","saving","data"]))]),h[7]||(h[7]=e("hr",null,null,-1)),e("div",Mt,[e("div",Ut,[e("h2",jt,[e("button",Et,[o(r,{t:"Advanced Options"})])]),e("div",Gt,[e("div",Ft,[e("div",Rt,[o(Le,{saving:p.value,data:s.value},null,8,["saving","data"]),o(X,{saving:p.value,data:s.value},null,8,["saving","data"]),e("div",Wt,[s.value.bulkAdd?y("",!0):(i(),d("div",qt,[o(vt,{saving:p.value,data:s.value,bulk:s.value.bulkAdd},null,8,["saving","data","bulk"])])),e("div",Jt,[o(xt,{saving:p.value,data:s.value},null,8,["saving","data"])]),e("div",zt,[o(Kt,{saving:p.value,data:s.value},null,8,["saving","data"])]),s.value.bulkAdd?(i(),d("div",Ht,[e("div",Qt,[b(e("input",{class:"form-check-input",type:"checkbox",role:"switch","onUpdate:modelValue":h[1]||(h[1]=k=>s.value.preshared_key_bulkAdd=k),id:"bullAdd_PresharedKey_Switch",checked:""},null,512),[[P,s.value.preshared_key_bulkAdd]]),e("label",Yt,[e("small",Zt,[o(r,{t:"Pre-Shared Key"}),h[6]||(h[6]=$()),s.value.preshared_key_bulkAdd?(i(),x(r,{key:0,t:"Enabled"})):(i(),x(r,{key:1,t:"Disabled"}))])])])])):y("",!0)])])])])])]),M.value==="awg"?(i(),d("div",Xt,[e("h5",null,[o(r,{t:"AmneziaWG Peer Setting"})]),e("div",null,[e("label",es,[e("small",ts,[o(r,{t:"Advanced Security"})])]),e("div",ss,[b(e("input",{type:"radio",class:"btn-check","onUpdate:modelValue":h[2]||(h[2]=k=>s.value.advanced_security=k),value:"on",name:"advanced_security_radio",id:"advanced_security_on",autocomplete:"off"},null,512),[[T,s.value.advanced_security]]),e("label",as,[o(r,{t:"On"})]),b(e("input",{type:"radio","onUpdate:modelValue":h[3]||(h[3]=k=>s.value.advanced_security=k),value:"off",class:"btn-check",name:"advanced_security_radio",id:"advanced_security_off",autocomplete:"off"},null,512),[[T,s.value.advanced_security]]),e("label",ls,[o(r,{t:"Off"})])])])])):y("",!0),e("div",os,[e("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!U.value||p.value,onClick:h[4]||(h[4]=k=>j())},[p.value?y("",!0):(i(),d("i",ds)),p.value?(i(),x(r,{key:1,t:"Adding..."})):(i(),x(r,{key:2,t:"Add"}))],8,is)])])])])])],512))}};export{us as default}; diff --git a/src/static/app/dist/assets/peerConfigurationFile-DeJjLyWG.js b/src/static/app/dist/assets/peerConfigurationFile-DeJjLyWG.js new file mode 100644 index 0000000..b5cdefd --- /dev/null +++ b/src/static/app/dist/assets/peerConfigurationFile-DeJjLyWG.js @@ -0,0 +1 @@ +import{_ as v,D as g,r as o,o as h,K as y,x,a as i,c as n,b as s,d as c,w,l as C,n as k,e as F}from"./index-Bsy8tbGW.js";import{L as T}from"./localeText-CoKvgn8T.js";import"./browser-CjSdxGTc.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},P={class:"card rounded-3 shadow w-100"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},G={class:"mb-0"},L={class:"card-body p-4"},N={class:"d-flex"},V=["disabled"],j={key:0,class:"d-block"},I={key:1,class:"d-block",id:"check"},W={style:{height:"300px"},class:"d-flex"},$=["value"],q={key:0,class:"spinner-border m-auto",role:"status"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=y();x("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const _=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(i(),n("div",M,[s("div",S,[s("div",D,[s("div",P,[s("div",B,[s("h4",G,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=b=>m("close"))})]),s("div",L,[s("div",N,[s("button",{onClick:e[1]||(e[1]=b=>_()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(C,{name:"slide-up",mode:"out-in"},{default:w(()=>[t.value?(i(),n("span",I,e[3]||(e[3]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(i(),n("span",j,e[2]||(e[2]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,V)]),s("div",W,[s("textarea",{style:{height:"300px"},class:k(["form-control w-100 rounded-3 mt-2 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,$),a.value?(i(),n("div",q,e[4]||(e[4]=[s("span",{class:"visually-hidden"},"Loading...",-1)]))):F("",!0)])])])])])]))}},R=v(z,[["__scopeId","data-v-9dd98f87"]]);export{R as default}; diff --git a/src/static/app/dist/assets/peerConfigurationFile-DkD8Gm6p.js b/src/static/app/dist/assets/peerConfigurationFile-DkD8Gm6p.js deleted file mode 100644 index 6e56715..0000000 --- a/src/static/app/dist/assets/peerConfigurationFile-DkD8Gm6p.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as v,D as g,r as o,o as h,K as y,s as x,a as i,c as n,b as s,d as c,w,x as C,n as k,e as F}from"./index-qq0VI3aD.js";import{L as T}from"./localeText-miqCUaLJ.js";import"./browser-CjSdxGTc.js";const M={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},S={class:"container d-flex h-100 w-100"},D={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},P={class:"card rounded-3 shadow w-100"},B={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},G={class:"mb-0"},L={class:"card-body p-4"},N={class:"d-flex"},V=["disabled"],j={key:0,class:"d-block"},I={key:1,class:"d-block",id:"check"},W={style:{height:"300px"},class:"d-flex"},$=["value"],q={key:0,class:"spinner-border m-auto",role:"status"},z={__name:"peerConfigurationFile",props:{selectedPeer:Object},emits:["close"],setup(u,{emit:p}){const m=p,f=u,r=g(),t=o(!1),l=o(""),a=o(!0);o({error:!1,message:void 0}),h(()=>{const d=y();x("/api/downloadPeer/"+d.params.id,{id:f.selectedPeer.id},e=>{e.status?(l.value=e.data.file,a.value=!1):this.dashboardStore.newMessage("Server",e.message,"danger")})});const _=async()=>{navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(l.value).then(()=>{t.value=!0,setTimeout(()=>{t.value=!1},3e3)}).catch(()=>{r.newMessage("WGDashboard","Failed to copy","danger")}):(document.querySelector("#peerConfigurationFile").select(),document.execCommand("copy")?(t.value=!0,setTimeout(()=>{t.value=!1},3e3)):r.newMessage("WGDashboard","Failed to copy","danger"))};return(d,e)=>(i(),n("div",M,[s("div",S,[s("div",D,[s("div",P,[s("div",B,[s("h4",G,[c(T,{t:"Peer Configuration File"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=b=>m("close"))})]),s("div",L,[s("div",N,[s("button",{onClick:e[1]||(e[1]=b=>_()),disabled:t.value||a.value,class:"ms-auto btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 position-relative"},[c(C,{name:"slide-up",mode:"out-in"},{default:w(()=>[t.value?(i(),n("span",I,e[3]||(e[3]=[s("i",{class:"bi bi-check-circle-fill"},null,-1)]))):(i(),n("span",j,e[2]||(e[2]=[s("i",{class:"bi bi-clipboard-fill"},null,-1)])))]),_:1})],8,V)]),s("div",W,[s("textarea",{style:{height:"300px"},class:k(["form-control w-100 rounded-3 mt-2 animate__fadeIn animate__faster animate__animated",{"d-none":a.value}]),id:"peerConfigurationFile",value:l.value},null,10,$),a.value?(i(),n("div",q,e[4]||(e[4]=[s("span",{class:"visually-hidden"},"Loading...",-1)]))):F("",!0)])])])])])]))}},R=v(z,[["__scopeId","data-v-9dd98f87"]]);export{R as default}; diff --git a/src/static/app/dist/assets/peerJobs-C5pXPD6E.js b/src/static/app/dist/assets/peerJobs-DxMoy9_C.js similarity index 83% rename from src/static/app/dist/assets/peerJobs-C5pXPD6E.js rename to src/static/app/dist/assets/peerJobs-DxMoy9_C.js index aa1ff01..1708db6 100644 --- a/src/static/app/dist/assets/peerJobs-C5pXPD6E.js +++ b/src/static/app/dist/assets/peerJobs-DxMoy9_C.js @@ -1 +1 @@ -import{S as p,a as b}from"./schedulePeerJob-EFi1-jqz.js";import{_ as h,W as u,q as m,y as i,a as o,c as a,b as e,d as r,w as _,F as v,k as f,l as J,e as x,T as g}from"./index-qq0VI3aD.js";import{L as w}from"./localeText-miqCUaLJ.js";import"./vue-datepicker-Ci9-sWjm.js";import"./dayjs.min-f_AEmQu-.js";const P={name:"peerJobs",setup(){return{store:u()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:p,ScheduleDropdown:b},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:m().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},S={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},k={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return o(),a("div",y,[e("div",S,[e("div",$,[e("div",C,[e("div",D,[e("h4",k,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),e("div",j,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=s=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(g,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:_(()=>[(o(!0),a(v,null,f(this.selectedPeer.jobs,(s,E)=>(o(),J(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(s),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:s.JobID,pjob:s},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(o(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):x("",!0)]),_:1})])])])])])}const z=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{z as default}; +import{S as p,a as b}from"./schedulePeerJob-Dzn4I5cg.js";import{_ as h,W as u,q as m,y as i,a as o,c as a,b as e,d as r,w as _,F as v,k as f,j as J,e as x,T as g}from"./index-Bsy8tbGW.js";import{L as w}from"./localeText-CoKvgn8T.js";import"./vue-datepicker-JvyILFmR.js";import"./dayjs.min-fPdQmr57.js";const P={name:"peerJobs",setup(){return{store:u()}},props:{selectedPeer:Object},components:{LocaleText:w,SchedulePeerJob:p,ScheduleDropdown:b},data(){return{}},methods:{deleteJob(d){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==d.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:m().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},S={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},C={class:"card rounded-3 shadow",style:{width:"700px"}},D={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},j={class:"mb-0 fw-normal"},k={class:"card-body px-4 pb-4 pt-2 position-relative"},T={class:"d-flex align-items-center mb-3"},N={class:"card shadow-sm",key:"none",style:{height:"153px"}},I={class:"card-body text-muted text-center d-flex"},L={class:"m-auto"};function O(d,t,B,F,V,A){const n=i("LocaleText"),l=i("SchedulePeerJob");return o(),a("div",y,[e("div",S,[e("div",$,[e("div",C,[e("div",D,[e("h4",j,[r(n,{t:"Schedule Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),e("div",k,[e("div",T,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=s=>this.addJob())},[t[3]||(t[3]=e("i",{class:"bi bi-plus-lg me-2"},null,-1)),r(n,{t:"Job"})])]),r(g,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:_(()=>[(o(!0),a(v,null,f(this.selectedPeer.jobs,(s,E)=>(o(),J(l,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(s),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:s.JobID,pjob:s},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(o(),a("div",N,[e("div",I,[e("h6",L,[r(n,{t:"This peer does not have any job yet."})])])])):x("",!0)]),_:1})])])])])])}const z=h(P,[["render",O],["__scopeId","data-v-5bbdd42b"]]);export{z as default}; diff --git a/src/static/app/dist/assets/peerJobsAllModal-jn7CFd-3.js b/src/static/app/dist/assets/peerJobsAllModal-B-tPwkef.js similarity index 75% rename from src/static/app/dist/assets/peerJobsAllModal-jn7CFd-3.js rename to src/static/app/dist/assets/peerJobsAllModal-B-tPwkef.js index 2e25cae..d621f7d 100644 --- a/src/static/app/dist/assets/peerJobsAllModal-jn7CFd-3.js +++ b/src/static/app/dist/assets/peerJobsAllModal-B-tPwkef.js @@ -1 +1 @@ -import{S as _}from"./schedulePeerJob-EFi1-jqz.js";import{_ as g,W as v,y as c,a as t,c as r,b as e,d as l,F as p,k as b,t as m,e as f,l as y}from"./index-qq0VI3aD.js";import{L as x}from"./localeText-miqCUaLJ.js";import"./vue-datepicker-Ci9-sWjm.js";import"./dayjs.min-f_AEmQu-.js";const J={name:"peerJobsAllModal",setup(){return{store:v()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},k={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},w={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},C={class:"card-body px-4 pb-4 pt-2"},P={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},j={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",k,[e("div",w,[e("div",$,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",C,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",P,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",j,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),y(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const U=g(J,[["render",W]]);export{U as default}; +import{S as _}from"./schedulePeerJob-Dzn4I5cg.js";import{_ as g,W as v,y as c,a as t,c as r,b as e,d as l,F as p,k as b,t as m,e as f,j as y}from"./index-Bsy8tbGW.js";import{L as x}from"./localeText-CoKvgn8T.js";import"./vue-datepicker-JvyILFmR.js";import"./dayjs.min-fPdQmr57.js";const J={name:"peerJobsAllModal",setup(){return{store:v()}},components:{LocaleText:x,SchedulePeerJob:_},props:{configurationPeers:Array[Object]},computed:{getAllJobs(){return this.configurationPeers.filter(a=>a.jobs.length>0)}}},k={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},w={class:"container d-flex h-100 w-100"},$={class:"m-auto modal-dialog-centered dashboardModal"},A={class:"card rounded-3 shadow",style:{width:"900px"}},L={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},S={class:"mb-0 fw-normal"},j={class:"card-body px-4 pb-4 pt-2"},C={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},P={class:"accordion-header"},M=["data-bs-target"],B={key:0},N={class:"text-muted"},D=["id"],T={class:"accordion-body"},V={key:1,class:"card shadow-sm",style:{height:"153px"}},F={class:"card-body text-muted text-center d-flex"},O={class:"m-auto"};function W(a,o,E,I,R,q){const n=c("LocaleText"),u=c("SchedulePeerJob");return t(),r("div",k,[e("div",w,[e("div",$,[e("div",A,[e("div",L,[e("h4",S,[l(n,{t:"All Active Jobs"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:o[0]||(o[0]=s=>this.$emit("close"))})]),e("div",j,[e("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow mb-2",onClick:o[1]||(o[1]=s=>this.$emit("allLogs"))},[o[4]||(o[4]=e("i",{class:"bi bi-clock me-2"},null,-1)),l(n,{t:"Logs"})]),this.getAllJobs.length>0?(t(),r("div",C,[(t(!0),r(p,null,b(this.getAllJobs,(s,d)=>(t(),r("div",{class:"accordion-item",key:s.id},[e("h2",P,[e("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+d},[e("small",null,[e("strong",null,[s.name?(t(),r("span",B,m(s.name)+" • ",1)):f("",!0),e("samp",N,m(s.id),1)])])],8,M)]),e("div",{id:"collapse_"+d,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[e("div",T,[(t(!0),r(p,null,b(s.jobs,i=>(t(),y(u,{onDelete:o[2]||(o[2]=h=>this.$emit("refresh")),onRefresh:o[3]||(o[3]=h=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:i.JobID,pjob:i},null,8,["dropdowns","pjob"]))),128))])],8,D)]))),128))])):(t(),r("div",V,[e("div",F,[e("span",O,[l(n,{t:"No active job at the moment."})])])]))])])])])])}const U=g(J,[["render",W]]);export{U as default}; diff --git a/src/static/app/dist/assets/peerJobsLogsModal-DPkiKaTI.js b/src/static/app/dist/assets/peerJobsLogsModal-DHMeg_-m.js similarity index 90% rename from src/static/app/dist/assets/peerJobsLogsModal-DPkiKaTI.js rename to src/static/app/dist/assets/peerJobsLogsModal-DHMeg_-m.js index edc6d43..e4ccf44 100644 --- a/src/static/app/dist/assets/peerJobsLogsModal-DPkiKaTI.js +++ b/src/static/app/dist/assets/peerJobsLogsModal-DHMeg_-m.js @@ -1 +1 @@ -import{d as m}from"./dayjs.min-f_AEmQu-.js";import{_ as p,s as g,y as _,a,c as n,b as s,d as i,f as b,t as c,m as h,A as u,e as d,F as f,k as w,n as L}from"./index-qq0VI3aD.js";import{L as k}from"./localeText-miqCUaLJ.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await g(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&r.Status==="1"||this.showFailedJob&&r.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},A={class:"form-check"},T={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=_("LocaleText");return a(),n("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(a(),n("div",as,t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)]))):(a(),n("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",A,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",T,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(a(),n("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(a(),n("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(a(!0),n(f,null,w(this.showLogs,o=>(a(),n("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(a(),n("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(a(),n("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:L(["badge",[o.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(a(),n("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ")]))):d("",!0),this.showLogAmount>20?(a(),n("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ")]))):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; +import{d as m}from"./dayjs.min-fPdQmr57.js";import{_ as p,x as g,y as _,a,c as n,b as s,d as i,f as b,t as c,m as h,s as u,e as d,F as f,k as w,n as L}from"./index-Bsy8tbGW.js";import{L as k}from"./localeText-CoKvgn8T.js";const x={name:"peerJobsLogsModal",components:{LocaleText:k},props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await g(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},r=>{this.data=r.data,this.logFetchTime=m().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(r=>this.showSuccessJob&&r.Status==="1"||this.showFailedJob&&r.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},y={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},v={class:"container-fluid d-flex h-100 w-100"},D={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},S={class:"card rounded-3 shadow w-100"},I={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},J={class:"mb-0"},C={class:"card-body px-4 pb-4 pt-2"},F={key:0},j={class:"mb-2 d-flex gap-3"},M={class:"d-flex gap-3 align-items-center"},V={class:"text-muted"},T={class:"form-check"},A={class:"form-check-label",for:"jobLogsShowSuccessCheck"},N={class:"badge text-success-emphasis bg-success-subtle"},U={class:"form-check"},Y={class:"form-check-label",for:"jobLogsShowFailedCheck"},B={class:"badge text-danger-emphasis bg-danger-subtle"},z={class:"d-flex gap-3 align-items-center ms-auto"},H={class:"text-muted"},$={class:"form-check"},E={class:"form-check-label",for:"jobLogsShowJobIDCheck"},G={class:"form-check"},O={class:"form-check-label",for:"jobLogsShowLogIDCheck"},P={class:"table"},R={scope:"col"},q={key:0,scope:"col"},K={key:1,scope:"col"},Q={scope:"col"},W={scope:"col"},X={style:{"font-size":"0.875rem"}},Z={scope:"row"},ss={key:0},ts={class:"text-muted"},os={key:1},es={class:"text-muted"},is={class:"d-flex gap-2"},as={key:1,class:"d-flex align-items-center flex-column"};function ns(r,t,ls,cs,l,ds){const e=_("LocaleText");return a(),n("div",y,[s("div",v,[s("div",D,[s("div",S,[s("div",I,[s("h4",J,[i(e,{t:"Jobs Logs"})]),s("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),s("div",C,[this.dataLoading?(a(),n("div",as,t[11]||(t[11]=[s("div",{class:"spinner-border text-body",role:"status"},[s("span",{class:"visually-hidden"},"Loading...")],-1)]))):(a(),n("div",F,[s("p",null,[i(e,{t:"Updated at"}),b(" : "+c(this.logFetchTime),1)]),s("div",j,[s("button",{onClick:t[1]||(t[1]=o=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[t[8]||(t[8]=s("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),i(e,{t:"Refresh"})]),s("div",M,[s("span",V,[i(e,{t:"Filter"})]),s("div",T,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=o=>this.showSuccessJob=o),id:"jobLogsShowSuccessCheck"},null,512),[[u,this.showSuccessJob]]),s("label",A,[s("span",N,[i(e,{t:"Success"})])])]),s("div",U,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=o=>this.showFailedJob=o),id:"jobLogsShowFailedCheck"},null,512),[[u,this.showFailedJob]]),s("label",Y,[s("span",B,[i(e,{t:"Failed"})])])])]),s("div",z,[s("span",H,[i(e,{t:"Display"})]),s("div",$,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=o=>l.showJobID=o),id:"jobLogsShowJobIDCheck"},null,512),[[u,l.showJobID]]),s("label",E,[i(e,{t:"Job ID"})])]),s("div",G,[h(s("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=o=>l.showLogID=o),id:"jobLogsShowLogIDCheck"},null,512),[[u,l.showLogID]]),s("label",O,[i(e,{t:"Log ID"})])])])]),s("table",P,[s("thead",null,[s("tr",null,[s("th",R,[i(e,{t:"Date"})]),l.showLogID?(a(),n("th",q,[i(e,{t:"Log ID"})])):d("",!0),l.showJobID?(a(),n("th",K,[i(e,{t:"Job ID"})])):d("",!0),s("th",Q,[i(e,{t:"Status"})]),s("th",W,[i(e,{t:"Message"})])])]),s("tbody",null,[(a(!0),n(f,null,w(this.showLogs,o=>(a(),n("tr",X,[s("th",Z,c(o.LogDate),1),l.showLogID?(a(),n("td",ss,[s("samp",ts,c(o.LogID),1)])):d("",!0),l.showJobID?(a(),n("td",os,[s("samp",es,c(o.JobID),1)])):d("",!0),s("td",null,[s("span",{class:L(["badge",[o.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},c(o.Status==="1"?"Success":"Failed"),3)]),s("td",null,c(o.Message),1)]))),256))])]),s("div",is,[this.getLogs.length>this.showLogAmount?(a(),n("button",{key:0,onClick:t[6]||(t[6]=o=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[9]||(t[9]=[s("i",{class:"bi bi-chevron-down me-2"},null,-1),b(" Show More ")]))):d("",!0),this.showLogAmount>20?(a(),n("button",{key:1,onClick:t[7]||(t[7]=o=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},t[10]||(t[10]=[s("i",{class:"bi bi-chevron-up me-2"},null,-1),b(" Collapse ")]))):d("",!0)])]))])])])])])}const bs=p(x,[["render",ns]]);export{bs as default}; diff --git a/src/static/app/dist/assets/peerList-Byi8rRFH.js b/src/static/app/dist/assets/peerList-BWUtc9Bh.js similarity index 93% rename from src/static/app/dist/assets/peerList-Byi8rRFH.js rename to src/static/app/dist/assets/peerList-BWUtc9Bh.js index 842c6d3..9407739 100644 --- a/src/static/app/dist/assets/peerList-Byi8rRFH.js +++ b/src/static/app/dist/assets/peerList-BWUtc9Bh.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerShareLinkModal-Cwih6XLa.js","assets/index-qq0VI3aD.js","assets/index-BQdSC5f5.css","assets/dayjs.min-f_AEmQu-.js","assets/vue-datepicker-Ci9-sWjm.js","assets/localeText-miqCUaLJ.js","assets/peerShareLinkModal-B5PnDn1q.css","assets/peerJobs-C5pXPD6E.js","assets/schedulePeerJob-EFi1-jqz.js","assets/schedulePeerJob--V7cpve7.css","assets/peerJobs-voXURBEt.css","assets/peerQRCode-DO1697Pg.js","assets/browser-CjSdxGTc.js","assets/peerConfigurationFile-DkD8Gm6p.js","assets/peerConfigurationFile-Dma_bQR7.css","assets/peerSettings-CmZMeQE1.js","assets/peerSettings-oGNRGN1t.css","assets/peerSearchBar-D0kxtEEh.js","assets/peerSearchBar-5knTmb8D.css","assets/peerJobsAllModal-jn7CFd-3.js","assets/peerJobsLogsModal-DPkiKaTI.js","assets/editConfiguration-CwtICTna.js","assets/editConfiguration-V2E2cg2k.css","assets/selectPeers-xuWFNlnr.js","assets/selectPeers-Wjnh8YUZ.css","assets/peerAddModal-DrD_JFnU.js","assets/peerAddModal-s_w1PY7H.css"])))=>i.map(i=>d[i]); -import{r as O,D as G,o as le,I as Y,j as te,g as E,a,c as v,b as e,d as i,u as k,t as y,e as w,K as ie,s as F,_ as Q,W as de,G as R,E as J,F as B,k as K,n as D,y as U,L as fe,M as ge,w as T,x as se,f as N,l as P,T as ee,N as L,O as A,P as ve,m as be,A as he,S as _e}from"./index-qq0VI3aD.js";import{_ as ye}from"./protocolBadge-C0pu7-u8.js";import{L as C}from"./localeText-miqCUaLJ.js";import{C as Se,L as we,B as $e,a as Pe,b as xe,c as Ce,p as ke,d as Oe,e as De,f as Me,P as Le,h as Ae,g as ae}from"./index-2C7nK5b4.js";import{d as Re}from"./dayjs.min-f_AEmQu-.js";const Ie={class:"row gx-2 gy-2 mb-3"},Ee={class:"col-12"},Te={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Be={class:"card-header bg-transparent border-0"},Ne={class:"text-muted"},Je={class:"card-body pt-1"},Fe={class:"col-sm col-lg-6"},je={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Ve={class:"card-header bg-transparent border-0 d-flex align-items-center"},Ue={class:"text-muted"},Ge={key:0,class:"text-primary fw-bold ms-auto"},Qe={class:"card-body pt-1"},ze={class:"col-sm col-lg-6"},We={class:"card rounded-3 bg-transparent",style:{height:"270px"}},qe={class:"card-header bg-transparent border-0 d-flex align-items-center"},Ke={class:"text-muted"},He={key:0,class:"text-success fw-bold ms-auto"},Ye={class:"card-body pt-1"},Ze={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(o){Se.register(we,$e,Pe,xe,Ce,ke,Oe,De,Me,Le);const t=o,n=O({timestamp:[],data:[]}),r=O({timestamp:[],data:[]}),x=ie(),S=G(),d=O(void 0),b=async()=>{await F("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:x.params.id},g=>{let _=Re().format("hh:mm:ss A");(g.data.sent!==0&&g.data.recv!==0||n.value.data.length>0&&r.value.data.length>0)&&(n.value.timestamp.push(_),n.value.data.push(g.data.sent),r.value.timestamp.push(_),r.value.data.push(g.data.recv))})},m=()=>{clearInterval(d.value),d.value=void 0,t.configurationInfo.Status&&(d.value=setInterval(()=>{b()},parseInt(S.Configuration.Server.dashboard_refresh_interval)))};le(()=>{m()}),Y(()=>t.configurationInfo.Status,()=>{m()}),Y(()=>S.Configuration.Server.dashboard_refresh_interval,()=>{m()}),te(()=>{clearInterval(d.value),d.value=void 0});const p=E(()=>{let g=t.configurationPeers.filter(_=>_.cumu_data+_.total_data>0);return{labels:g.map(_=>_.name?_.name:`Untitled Peer - ${_.id}`),datasets:[{label:"Total Data Usage",data:g.map(_=>_.cumu_data+_.total_data),backgroundColor:g.map(_=>"#ffc107"),tooltip:{callbacks:{label:_=>`${_.formattedValue} GB`}}}]}}),$=E(()=>({labels:[...n.value.timestamp],datasets:[{label:"Data Sent",data:[...n.value.data],fill:!1,borderColor:"#198754",backgroundColor:"#198754",tension:0}]})),M=E(()=>({labels:[...r.value.timestamp],datasets:[{label:"Data Received",data:[...r.value.data],fill:!1,borderColor:"#0d6efd",backgroundColor:"#0d6efd",tension:0}]})),l=E(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(g,_)=>`${Math.round((g+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),c=E(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:g=>`${g.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(g,_)=>`${Math.round((g+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(g,_)=>(a(),v("div",Ie,[e("div",Ee,[e("div",Te,[e("div",Be,[e("small",Ne,[i(C,{t:"Peers Data Usage"})])]),e("div",Je,[i(k(Ae),{data:p.value,options:l.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",Fe,[e("div",je,[e("div",Ve,[e("small",Ue,[i(C,{t:"Real Time Received Data Usage"})]),r.value.data.length>0?(a(),v("small",Ge,y(r.value.data[r.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",Qe,[i(k(ae),{options:c.value,data:M.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",ze,[e("div",We,[e("div",qe,[e("small",Ke,[i(C,{t:"Real Time Sent Data Usage"})]),n.value.data.length>0?(a(),v("small",He,y(n.value.data[n.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",Ye,[i(k(ae),{options:c.value,data:$.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Xe={name:"peerSearch",components:{LocaleText:C},setup(){const o=G(),t=de();return{store:o,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:R("Status"),name:R("Name"),allowed_ip:R("Allowed IPs"),restricted:R("Restricted")},interval:{5e3:R("5 Seconds"),1e4:R("10 Seconds"),3e4:R("30 Seconds"),6e4:R("1 Minutes")},display:{grid:R("Grid"),list:R("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:o},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:o},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:o},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){F(`/api/downloadAllPeers/${this.configuration.Name}`,{},o=>{o.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(o,this.configuration.Name)})}}},et={class:"d-flex flex-column gap-2 my-4"},tt={class:"d-flex gap-2 peerSearchContainer"},st={class:"dropdown"},ot={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},nt={class:"badge text-bg-primary ms-2"},at={class:"dropdown-menu rounded-3"},rt=["onClick"],lt={class:"ms-auto"},it={key:0,class:"bi bi-check-circle-fill"},dt={class:"dropdown"},ut={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ct={class:"badge text-bg-primary ms-2"},mt={class:"dropdown-menu rounded-3"},pt=["onClick"],ft={class:"ms-auto"},gt={key:0,class:"bi bi-check-circle-fill"},vt={class:"dropdown"},bt={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ht={class:"badge text-bg-primary ms-2"},_t={class:"dropdown-menu rounded-3"},yt=["onClick"],St={class:"ms-auto"},wt={key:0,class:"bi bi-check-circle-fill"};function $t(o,t,n,r,x,S){const d=U("LocaleText");return a(),v("div",et,[e("div",tt,[e("div",st,[e("button",ot,[t[4]||(t[4]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),i(d,{t:"Sort By"}),e("span",nt,y(this.sort[r.store.Configuration.Server.dashboard_sort]),1)]),e("ul",at,[(a(!0),v(B,null,K(this.sort,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateSort(m)},[e("small",null,y(b),1),e("small",lt,[r.store.Configuration.Server.dashboard_sort===m?(a(),v("i",it)):w("",!0)])],8,rt)]))),256))])]),e("div",dt,[e("button",ut,[t[5]||(t[5]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),i(d,{t:"Refresh Interval"}),e("span",ct,y(this.interval[r.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",mt,[(a(!0),v(B,null,K(this.interval,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateRefreshInterval(m)},[e("small",null,y(b),1),e("small",ft,[r.store.Configuration.Server.dashboard_refresh_interval===m?(a(),v("i",gt)):w("",!0)])],8,pt)]))),256))])]),e("div",vt,[e("button",bt,[e("i",{class:D(["bi me-2","bi-"+r.store.Configuration.Server.dashboard_peer_list_display])},null,2),i(d,{t:"Display"}),e("span",ht,y(this.display[r.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",_t,[(a(!0),v(B,null,K(this.display,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateDisplay(m)},[e("small",null,y(b),1),e("small",St,[r.store.Configuration.Server.dashboard_peer_list_display===m?(a(),v("i",wt)):w("",!0)])],8,yt)]))),256))])]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[0]||(t[0]=b=>this.$emit("search"))},[t[6]||(t[6]=e("i",{class:"bi bi-search me-2"},null,-1)),i(d,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[1]||(t[1]=b=>this.downloadAllPeer())},[t[7]||(t[7]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[2]||(t[2]=b=>this.$emit("selectPeers"))},[t[8]||(t[8]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[3]||(t[3]=b=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[9]||(t[9]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Pt=Q(Xe,[["render",$t],["__scopeId","data-v-c96b078a"]]);function xt(o){return fe()?(ge(o),!0):!1}function ue(o){return typeof o=="function"?o():k(o)}const ce=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ct=Object.prototype.toString,kt=o=>Ct.call(o)==="[object Object]",H=()=>{},Ot=Dt();function Dt(){var o,t;return ce&&((o=window?.navigator)==null?void 0:o.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function V(o){var t;const n=ue(o);return(t=n?.$el)!=null?t:n}const me=ce?window:void 0;function X(...o){let t,n,r,x;if(typeof o[0]=="string"||Array.isArray(o[0])?([n,r,x]=o,t=me):[t,n,r,x]=o,!t)return H;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const S=[],d=()=>{S.forEach($=>$()),S.length=0},b=($,M,l,c)=>($.addEventListener(M,l,c),()=>$.removeEventListener(M,l,c)),m=Y(()=>[V(t),ue(x)],([$,M])=>{if(d(),!$)return;const l=kt(M)?{...M}:M;S.push(...n.flatMap(c=>r.map(g=>b($,c,g,l))))},{immediate:!0,flush:"post"}),p=()=>{m(),d()};return xt(p),p}let re=!1;function Mt(o,t,n={}){const{window:r=me,ignore:x=[],capture:S=!0,detectIframe:d=!1}=n;if(!r)return H;Ot&&!re&&(re=!0,Array.from(r.document.body.children).forEach(l=>l.addEventListener("click",H)),r.document.documentElement.addEventListener("click",H));let b=!0;const m=l=>x.some(c=>{if(typeof c=="string")return Array.from(r.document.querySelectorAll(c)).some(g=>g===l.target||l.composedPath().includes(g));{const g=V(c);return g&&(l.target===g||l.composedPath().includes(g))}}),$=[X(r,"click",l=>{const c=V(o);if(!(!c||c===l.target||l.composedPath().includes(c))){if(l.detail===0&&(b=!m(l)),!b){b=!0;return}t(l)}},{passive:!0,capture:S}),X(r,"pointerdown",l=>{const c=V(o);b=!m(l)&&!!(c&&!l.composedPath().includes(c))},{passive:!0}),d&&X(r,"blur",l=>{setTimeout(()=>{var c;const g=V(o);((c=r.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!g?.contains(r.document.activeElement)&&t(l)},0)})].filter(Boolean);return()=>$.forEach(l=>l())}const Lt={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},At={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(o,{emit:t}){const n=t,r=O(!1);return(x,S)=>(a(),v("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:S[0]||(S[0]=d=>r.value=!0),onMouseleave:S[1]||(S[1]=d=>r.value=!1),onClick:S[2]||(S[2]=d=>n("click"))},[e("i",{class:D(["me-auto bi",o.icon])},null,2),i(se,{name:"zoomReversed"},{default:T(()=>[r.value?(a(),v("span",Lt,[e("small",null,y(o.title),1)])):w("",!0)]),_:1})],32))}},Rt=Q(At,[["__scopeId","data-v-2d66aeb6"]]),It={name:"peerSettingsDropdown",components:{PeerSettingsDropdownTool:Rt,LocaleText:C},setup(){return{dashboardStore:G()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1}},methods:{downloadPeer(){F("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},o=>{if(o.status){const t=new Blob([o.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),r=`${o.data.fileName}.conf`,x=document.createElement("a");x.href=n,x.download=r,x.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",o.message,"danger")})},downloadQRCode(o){F("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(o,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,J(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,J(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,J(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},Et={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},Tt={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Bt={class:"text-body d-flex"},Nt={class:"ms-auto"},Jt={key:1},Ft={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},jt={key:2},Vt={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Ut={key:1,class:"confirmDelete"},Gt={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},Qt={class:"d-flex w-100 gap-2"},zt=["disabled"],Wt=["disabled"],qt={key:1};function Kt(o,t,n,r,x,S){const d=U("LocaleText"),b=U("PeerSettingsDropdownTool");return a(),v("ul",Et,[this.Peer.restricted?(a(),v("li",qt,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[10]||(t[10]=m=>this.allowAccessPeer()),role:"button"},[t[22]||(t[22]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(a(),P(d,{key:1,t:"Allowing Access..."})):(a(),P(d,{key:0,t:"Allow Access"}))],2)])):(a(),v(B,{key:0},[this.confirmDelete?(a(),v("li",Ut,[e("p",Gt,[i(d,{t:"Are you sure to delete this peer?"})]),e("div",Qt,[e("button",{onClick:t[8]||(t[8]=m=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[i(d,{t:"Yes"})],8,zt),e("button",{disabled:this.deleteBtnDisabled,onClick:t[9]||(t[9]=m=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[i(d,{t:"No"})],8,Wt)])])):(a(),v(B,{key:0},[this.Peer.status==="running"?(a(),v(B,{key:0},[e("li",Tt,[e("span",Bt,[t[11]||(t[11]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",Nt,y(this.Peer.endpoint),1)])]),t[12]||(t[12]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):w("",!0),this.Peer.private_key?(a(),v("li",jt,[t[13]||(t[13]=e("div",{class:"text-center text-muted"},null,-1)),e("div",Vt,[i(b,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=m=>this.downloadPeer())}),i(b,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=m=>this.$emit("qrcode"))}),i(b,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=m=>this.$emit("configurationFile"))}),i(b,{icon:"bi-share",title:"Share",onClick:t[3]||(t[3]=m=>this.$emit("share"))})])])):(a(),v("li",Jt,[e("small",Ft,[i(d,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[20]||(t[20]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=m=>this.$emit("setting"))},[t[14]||(t[14]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[15]||(t[15]=N()),i(d,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=m=>this.$emit("jobs"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[17]||(t[17]=N()),i(d,{t:"Schedule Jobs"})])]),t[21]||(t[21]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[6]||(t[6]=m=>this.restrictPeer()),role:"button"},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(a(),P(d,{key:1,t:"Restricting..."})):(a(),P(d,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:D(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[7]||(t[7]=m=>this.confirmDelete=!0),role:"button"},[t[19]||(t[19]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(a(),P(d,{key:1,t:"Deleting..."})):(a(),P(d,{key:0,t:"Delete"}))],2)])],64))],64))])}const Ht=Q(It,[["render",Kt],["__scopeId","data-v-d46268aa"]]),Yt={name:"peer",components:{LocaleText:C,PeerSettingsDropdown:Ht},props:{Peer:Object},data(){return{}},setup(){const o=O(null),t=O(!1),n=G();return Mt(o,r=>{t.value=!1}),{target:o,subMenuOpened:t,dashboardStore:n}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},Zt={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},Xt={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},es={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},ts={class:"text-primary"},ss={class:"text-success"},os={key:0,class:"text-secondary"},ns={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},as={class:"card-body pt-1",style:{"font-size":"0.9rem"}},rs={class:"text-muted"},ls={class:"d-block"},is={class:"text-muted"},ds={class:"d-block"},us={class:"text-muted"},cs={class:"d-block"},ms={class:"d-flex align-items-end ms-auto"};function ps(o,t,n,r,x,S){const d=U("LocaleText"),b=U("PeerSettingsDropdown");return a(),v("div",{class:D(["card shadow-sm rounded-3 peerCard",{"border-warning":n.Peer.restricted}])},[e("div",null,[n.Peer.restricted?(a(),v("div",ns,[t[13]||(t[13]=e("i",{class:"bi-lock-fill me-2"},null,-1)),i(d,{t:"Access Restricted"})])):(a(),v("div",Zt,[e("div",{class:D(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&n.Peer.status==="running"?(a(),v("div",Xt,[t[7]||(t[7]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,y(n.Peer.endpoint),1)])):w("",!0),e("div",es,[e("span",ts,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,y((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),t[9]||(t[9]=N(" GB "))]),e("span",ss,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,y((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),t[11]||(t[11]=N(" GB "))]),n.Peer.latest_handshake!=="No Handshake"?(a(),v("span",os,[t[12]||(t[12]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),N(" "+y(S.getLatestHandshake)+" ago ",1)])):w("",!0)])]))]),e("div",as,[e("h6",null,y(n.Peer.name?n.Peer.name:"Untitled Peer"),1),e("div",{class:D(["d-flex",[r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",rs,[i(d,{t:"Public Key"})]),e("small",ls,[e("samp",null,y(n.Peer.id),1)])],2),e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",is,[i(d,{t:"Allowed IPs"})]),e("small",ds,[e("samp",null,y(n.Peer.allowed_ip),1)])],2),n.Peer.advanced_security?(a(),v("div",{key:0,class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",us,[i(d,{t:"Advanced Security"})]),e("small",cs,[e("samp",null,y(n.Peer.advanced_security),1)])],2)):w("",!0),e("div",ms,[e("div",{class:D(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=m=>this.subMenuOpened=!0)},t[14]||(t[14]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])),i(se,{name:"slide-fade"},{default:T(()=>[this.subMenuOpened?(a(),P(b,{key:0,onQrcode:t[1]||(t[1]=m=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=m=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=m=>this.$emit("setting")),onJobs:t[4]||(t[4]=m=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=m=>this.$emit("refresh")),onShare:t[6]||(t[6]=m=>this.$emit("share")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):w("",!0)]),_:1})],2)])],2)])],2)}const fs=Q(Yt,[["render",ps],["__scopeId","data-v-da99e0f2"]]),gs={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(o,{emit:t}){const n=t,r=L(()=>A(()=>import("./peerShareLinkModal-Cwih6XLa.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),x=L(()=>A(()=>import("./peerJobs-C5pXPD6E.js"),__vite__mapDeps([7,8,1,2,4,3,5,9,10]))),S=L(()=>A(()=>import("./peerQRCode-DO1697Pg.js"),__vite__mapDeps([11,12,5,1,2]))),d=L(()=>A(()=>import("./peerConfigurationFile-DkD8Gm6p.js"),__vite__mapDeps([13,1,2,5,12,14]))),b=L(()=>A(()=>import("./peerSettings-CmZMeQE1.js"),__vite__mapDeps([15,1,2,5,16])));return(m,p)=>(a(),P(ee,{name:"zoom"},{default:T(()=>[o.configurationModals.peerSetting.modalOpen?(a(),P(k(b),{key:"PeerSettingsModal",selectedPeer:o.configurationModalSelectedPeer,onRefresh:p[0]||(p[0]=$=>n("refresh")),onClose:p[1]||(p[1]=$=>o.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerQRCode.modalOpen?(a(),P(k(S),{key:"PeerQRCodeModal",selectedPeer:o.configurationModalSelectedPeer,onClose:p[2]||(p[2]=$=>o.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerScheduleJobs.modalOpen?(a(),P(k(x),{key:"PeerJobsModal",onRefresh:p[3]||(p[3]=$=>n("refresh")),selectedPeer:o.configurationModalSelectedPeer,onClose:p[4]||(p[4]=$=>o.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerShare.modalOpen?(a(),P(k(r),{key:"PeerShareLinkModal",onClose:p[5]||(p[5]=$=>{o.configurationModals.peerShare.modalOpen=!1}),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerConfigurationFile.modalOpen?(a(),P(k(d),{key:4,onClose:p[6]||(p[6]=$=>o.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0)]),_:1}))}},vs={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},bs={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(o,{emit:t}){const n=O(void 0),r=t;return le(()=>{n.value=new IntersectionObserver(x=>{x.forEach(S=>{S.isIntersecting&&r("loadMore")})},{rootMargin:"20px",threshold:1}),n.value.observe(document.querySelector("#loadMore"))}),te(()=>{n.value.disconnect()}),(x,S)=>(a(),v("div",vs))}},hs={class:"container-fluid"},_s={class:"d-flex align-items-sm-center flex-column flex-sm-row gap-3"},ys={class:"text-muted d-flex align-items-center gap-2"},Ss={class:"mb-0"},ws={class:"d-flex align-items-center gap-3"},$s={class:"mb-0 display-4"},Ps={class:"ms-sm-auto d-flex gap-2 flex-column"},xs={class:"card rounded-3 bg-transparent"},Cs={class:"card-body py-2 d-flex align-items-center"},ks={class:"text-muted"},Os={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},Ds=["for"],Ms={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},Ls=["disabled","id"],As={class:"d-flex gap-2"},Rs={class:"row mt-3 gy-2 gx-2 mb-2"},Is={class:"col-12 col-lg-3"},Es={class:"card rounded-3 bg-transparent h-100"},Ts={class:"card-body py-2 d-flex flex-column justify-content-center"},Bs={class:"mb-0 text-muted"},Ns={class:"col-12 col-lg-3"},Js={class:"card rounded-3 bg-transparent h-100"},Fs={class:"card-body py-2 d-flex flex-column justify-content-center"},js={class:"mb-0 text-muted"},Vs={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},Us={class:"card rounded-3 bg-transparent h-100"},Gs={class:"card-body py-2 d-flex flex-column justify-content-center"},Qs={class:"mb-0 text-muted"},zs={class:"row gx-2 gy-2 mb-2"},Ws={class:"col-12 col-lg-3"},qs={class:"card rounded-3 bg-transparent h-100"},Ks={class:"card-body d-flex"},Hs={class:"mb-0 text-muted"},Ys={class:"h4"},Zs={class:"col-12 col-lg-3"},Xs={class:"card rounded-3 bg-transparent h-100"},eo={class:"card-body d-flex"},to={class:"mb-0 text-muted"},so={class:"h4"},oo={class:"col-12 col-lg-3"},no={class:"card rounded-3 bg-transparent h-100"},ao={class:"card-body d-flex"},ro={class:"mb-0 text-muted"},lo={class:"h4 text-primary"},io={class:"col-12 col-lg-3"},uo={class:"card rounded-3 bg-transparent h-100"},co={class:"card-body d-flex"},mo={class:"mb-0 text-muted"},po={class:"h4 text-success"},fo={style:{"margin-bottom":"80px"}},go=20,vo={__name:"peerList",async setup(o){let t,n;const r=L(()=>A(()=>import("./peerSearchBar-D0kxtEEh.js"),__vite__mapDeps([17,1,2,5,18]))),x=L(()=>A(()=>import("./peerJobsAllModal-jn7CFd-3.js"),__vite__mapDeps([19,8,1,2,4,3,5,9]))),S=L(()=>A(()=>import("./peerJobsLogsModal-DPkiKaTI.js"),__vite__mapDeps([20,3,1,2,5]))),d=L(()=>A(()=>import("./editConfiguration-CwtICTna.js"),__vite__mapDeps([21,1,2,5,3,22]))),b=L(()=>A(()=>import("./selectPeers-xuWFNlnr.js"),__vite__mapDeps([23,1,2,5,24]))),m=L(()=>A(()=>import("./peerAddModal-DrD_JFnU.js"),__vite__mapDeps([25,1,2,5,26]))),p=G(),$=de(),M=ie(),l=O({}),c=O([]),g=O(!1),_=O({}),h=O({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1}}),Z=O(!1),I=async()=>{await F("/api/getWireguardConfigurationInfo",{configurationName:M.params.id},f=>{f.status&&(l.value=f.data.configurationInfo,c.value=f.data.configurationPeers,c.value.forEach(s=>{s.restricted=!1}),f.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,c.value.push(s)}))})};[t,n]=ve(()=>I()),await t,n();const z=O(void 0),oe=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await I()},parseInt(p.Configuration.Server.dashboard_refresh_interval))};oe(),te(()=>{clearInterval(z.value),z.value=void 0}),Y(()=>p.Configuration.Server.dashboard_refresh_interval,()=>{oe()});const pe=async()=>{g.value=!0,await F("/api/toggleWireguardConfiguration/",{configurationName:l.value.Name},f=>{f.status?p.newMessage("Server",`${l.value.Name} ${f.data?"is on":"is off"}`,"success"):p.newMessage("Server",f.message,"danger"),$.Configurations.find(s=>s.Name===l.value.Name).Status=f.data,l.value.Status=f.data,g.value=!1})},W=E(()=>({connectedPeers:c.value.filter(f=>f.status==="running").length,totalUsage:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_data+f.cumu_data).reduce((f,s)=>f+s,0).toFixed(4):0,totalReceive:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_receive+f.cumu_receive).reduce((f,s)=>f+s,0).toFixed(4):0,totalSent:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_sent+f.cumu_sent).reduce((f,s)=>f+s,0).toFixed(4):0})),q=O(10),ne=E(()=>{const f=$.searchString?c.value.filter(s=>s.name.includes($.searchString)||s.id.includes($.searchString)||s.allowed_ip.includes($.searchString)):c.value;return p.Configuration.Server.dashboard_sort==="restricted"?f.sort((s,u)=>s[p.Configuration.Server.dashboard_sort]u[p.Configuration.Server.dashboard_sort]?-1:0).slice(0,q.value):f.sort((s,u)=>s[p.Configuration.Server.dashboard_sort]u[p.Configuration.Server.dashboard_sort]?1:0).slice(0,q.value)});return(f,s)=>(a(),v("div",hs,[e("div",_s,[e("div",null,[e("div",ys,[e("h5",Ss,[i(ye,{protocol:l.value.Protocol},null,8,["protocol"])])]),e("div",ws,[e("h1",$s,[e("samp",null,y(l.value.Name),1)])])]),e("div",Ps,[e("div",xs,[e("div",Cs,[e("small",ks,[i(C,{t:"Status"})]),e("div",{class:D(["dot ms-2",{active:l.value.Status}])},null,2),e("div",Os,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+l.value.id},[l.value.Status&&!g.value?(a(),P(C,{key:0,t:"On"})):!l.value.Status&&!g.value?(a(),P(C,{key:1,t:"Off"})):w("",!0),g.value?(a(),v("span",Ms)):w("",!0)],8,Ds),be(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:g.value,type:"checkbox",role:"switch",id:"switch"+l.value.id,onChange:s[0]||(s[0]=u=>pe()),"onUpdate:modelValue":s[1]||(s[1]=u=>l.value.Status=u)},null,40,Ls),[[he,l.value.Status]])])])]),e("div",As,[e("a",{role:"button",onClick:s[2]||(s[2]=u=>h.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[s[29]||(s[29]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),i(C,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:s[3]||(s[3]=u=>h.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[s[30]||(s[30]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),i(C,{t:"Configuration Settings"})])])])]),s[35]||(s[35]=e("hr",null,null,-1)),e("div",Rs,[e("div",Is,[e("div",Es,[e("div",Ts,[e("p",Bs,[e("small",null,[i(C,{t:"Address"})])]),N(" "+y(l.value.Address),1)])])]),e("div",Ns,[e("div",Js,[e("div",Fs,[e("p",js,[e("small",null,[i(C,{t:"Listen Port"})])]),N(" "+y(l.value.ListenPort),1)])])]),e("div",Vs,[e("div",Us,[e("div",Gs,[e("p",Qs,[e("small",null,[i(C,{t:"Public Key"})])]),e("samp",null,y(l.value.PublicKey),1)])])])]),e("div",zs,[e("div",Ws,[e("div",qs,[e("div",Ks,[e("div",null,[e("p",Hs,[e("small",null,[i(C,{t:"Connected Peers"})])]),e("strong",Ys,y(W.value.connectedPeers)+" / "+y(c.value.length),1)]),s[31]||(s[31]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",Zs,[e("div",Xs,[e("div",eo,[e("div",null,[e("p",to,[e("small",null,[i(C,{t:"Total Usage"})])]),e("strong",so,y(W.value.totalUsage)+" GB",1)]),s[32]||(s[32]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",oo,[e("div",no,[e("div",ao,[e("div",null,[e("p",ro,[e("small",null,[i(C,{t:"Total Received"})])]),e("strong",lo,y(W.value.totalReceive)+" GB",1)]),s[33]||(s[33]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",io,[e("div",uo,[e("div",co,[e("div",null,[e("p",mo,[e("small",null,[i(C,{t:"Total Sent"})])]),e("strong",po,y(W.value.totalSent)+" GB",1)]),s[34]||(s[34]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),i(Ze,{configurationPeers:c.value,configurationInfo:l.value},null,8,["configurationPeers","configurationInfo"]),s[36]||(s[36]=e("hr",null,null,-1)),e("div",fo,[c.value.length>0?(a(),P(Pt,{key:0,onSearch:s[4]||(s[4]=u=>Z.value=!0),onJobsAll:s[5]||(s[5]=u=>h.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:s[6]||(s[6]=u=>h.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:s[7]||(s[7]=u=>h.value.editConfiguration.modalOpen=!0),onSelectPeers:s[8]||(s[8]=u=>h.value.selectPeers.modalOpen=!0),onBackupRestore:s[9]||(s[9]=u=>h.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[10]||(s[10]=u=>h.value.deleteConfiguration.modalOpen=!0),configuration:l.value},null,8,["configuration"])):w("",!0),i(ee,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:T(()=>[(a(!0),v(B,null,K(ne.value,u=>(a(),v("div",{class:D(["col-12",{"col-lg-6 col-xl-4":k(p).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:u.id},[i(fs,{Peer:u,onShare:j=>{h.value.peerShare.modalOpen=!0,_.value=u},onRefresh:s[11]||(s[11]=j=>I()),onJobs:j=>{h.value.peerScheduleJobs.modalOpen=!0,_.value=u},onSetting:j=>{h.value.peerSetting.modalOpen=!0,_.value=u},onQrcode:j=>{_.value=u,h.value.peerQRCode.modalOpen=!0},onConfigurationFile:j=>{_.value=u,h.value.peerConfigurationFile.modalOpen=!0}},null,8,["Peer","onShare","onJobs","onSetting","onQrcode","onConfigurationFile"])],2))),128))]),_:1})]),i(se,{name:"slideUp"},{default:T(()=>[Z.value?(a(),P(k(r),{key:0,onClose:s[12]||(s[12]=u=>Z.value=!1)})):w("",!0)]),_:1}),i(gs,{configurationModals:h.value,configurationModalSelectedPeer:_.value,onRefresh:s[13]||(s[13]=u=>I())},null,8,["configurationModals","configurationModalSelectedPeer"]),i(ee,{name:"zoom"},{default:T(()=>[(a(),P(_e,{key:"PeerAddModal"},{default:T(()=>[h.value.peerNew.modalOpen?(a(),P(k(m),{key:0,onClose:s[14]||(s[14]=u=>h.value.peerNew.modalOpen=!1),onAddedPeers:s[15]||(s[15]=u=>{h.value.peerNew.modalOpen=!1,I()})})):w("",!0)]),_:1})),h.value.peerScheduleJobsAll.modalOpen?(a(),P(k(x),{key:"PeerJobsAllModal",onRefresh:s[16]||(s[16]=u=>I()),onAllLogs:s[17]||(s[17]=u=>h.value.peerScheduleJobsLogs.modalOpen=!0),onClose:s[18]||(s[18]=u=>h.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:c.value},null,8,["configurationPeers"])):w("",!0),h.value.peerScheduleJobsLogs.modalOpen?(a(),P(k(S),{key:"PeerJobsLogsModal",onClose:s[19]||(s[19]=u=>h.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),h.value.editConfiguration.modalOpen?(a(),P(k(d),{key:"EditConfigurationModal",onEditRaw:s[20]||(s[20]=u=>h.value.editRawConfigurationFile.modalOpen=!0),onClose:s[21]||(s[21]=u=>h.value.editConfiguration.modalOpen=!1),onDataChanged:s[22]||(s[22]=u=>l.value=u),onRefresh:s[23]||(s[23]=u=>I()),onBackupRestore:s[24]||(s[24]=u=>h.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[25]||(s[25]=u=>h.value.deleteConfiguration.modalOpen=!0),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),h.value.selectPeers.modalOpen?(a(),P(k(b),{key:3,onRefresh:s[26]||(s[26]=u=>I()),configurationPeers:c.value,onClose:s[27]||(s[27]=u=>h.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):w("",!0)]),_:1}),i(bs,{showPeersCount:q.value,peerListLength:ne.value.length,onLoadMore:s[28]||(s[28]=u=>q.value+=go)},null,8,["showPeersCount","peerListLength"])]))}},wo=Q(vo,[["__scopeId","data-v-9736e433"]]);export{wo as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/peerShareLinkModal-DzYO0DNm.js","assets/index-Bsy8tbGW.js","assets/index-DjJVGzEF.css","assets/dayjs.min-fPdQmr57.js","assets/vue-datepicker-JvyILFmR.js","assets/localeText-CoKvgn8T.js","assets/peerShareLinkModal-B5PnDn1q.css","assets/peerJobs-DxMoy9_C.js","assets/schedulePeerJob-Dzn4I5cg.js","assets/schedulePeerJob--V7cpve7.css","assets/peerJobs-voXURBEt.css","assets/peerQRCode-DBJSQ5yX.js","assets/browser-CjSdxGTc.js","assets/peerConfigurationFile-DeJjLyWG.js","assets/peerConfigurationFile-Dma_bQR7.css","assets/peerSettings-BRtvlDTK.js","assets/peerSettings-oGNRGN1t.css","assets/peerSearchBar-CkCP8yvr.js","assets/peerSearchBar-5knTmb8D.css","assets/peerJobsAllModal-B-tPwkef.js","assets/peerJobsLogsModal-DHMeg_-m.js","assets/editConfiguration-DJLOCD5Z.js","assets/editConfiguration-V2E2cg2k.css","assets/selectPeers-C8QoMvtN.js","assets/selectPeers-Wjnh8YUZ.css","assets/peerAddModal-CIua0mAo.js","assets/peerAddModal-s_w1PY7H.css"])))=>i.map(i=>d[i]); +import{r as O,D as G,o as le,I as Y,C as te,g as E,a,c as v,b as e,d as i,u as k,t as y,e as w,K as ie,x as F,_ as Q,W as de,G as R,E as J,F as B,k as K,n as D,y as U,L as fe,M as ge,w as T,l as se,f as N,j as P,T as ee,N as L,O as A,P as ve,m as be,s as he,S as _e}from"./index-Bsy8tbGW.js";import{_ as ye}from"./protocolBadge-DT7-D9tI.js";import{L as C}from"./localeText-CoKvgn8T.js";import{C as Se,L as we,B as $e,a as Pe,b as xe,c as Ce,p as ke,d as Oe,e as De,f as Me,P as Le,h as Ae,g as ae}from"./index-DTSRB6Eo.js";import{d as Re}from"./dayjs.min-fPdQmr57.js";const Ie={class:"row gx-2 gy-2 mb-3"},Ee={class:"col-12"},Te={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Be={class:"card-header bg-transparent border-0"},Ne={class:"text-muted"},Je={class:"card-body pt-1"},Fe={class:"col-sm col-lg-6"},je={class:"card rounded-3 bg-transparent",style:{height:"270px"}},Ve={class:"card-header bg-transparent border-0 d-flex align-items-center"},Ue={class:"text-muted"},Ge={key:0,class:"text-primary fw-bold ms-auto"},Qe={class:"card-body pt-1"},ze={class:"col-sm col-lg-6"},We={class:"card rounded-3 bg-transparent",style:{height:"270px"}},qe={class:"card-header bg-transparent border-0 d-flex align-items-center"},Ke={class:"text-muted"},He={key:0,class:"text-success fw-bold ms-auto"},Ye={class:"card-body pt-1"},Ze={__name:"peerDataUsageCharts",props:{configurationPeers:Array,configurationInfo:Object},setup(o){Se.register(we,$e,Pe,xe,Ce,ke,Oe,De,Me,Le);const t=o,n=O({timestamp:[],data:[]}),r=O({timestamp:[],data:[]}),x=ie(),S=G(),d=O(void 0),b=async()=>{await F("/api/getWireguardConfigurationRealtimeTraffic",{configurationName:x.params.id},g=>{let _=Re().format("hh:mm:ss A");(g.data.sent!==0&&g.data.recv!==0||n.value.data.length>0&&r.value.data.length>0)&&(n.value.timestamp.push(_),n.value.data.push(g.data.sent),r.value.timestamp.push(_),r.value.data.push(g.data.recv))})},m=()=>{clearInterval(d.value),d.value=void 0,t.configurationInfo.Status&&(d.value=setInterval(()=>{b()},parseInt(S.Configuration.Server.dashboard_refresh_interval)))};le(()=>{m()}),Y(()=>t.configurationInfo.Status,()=>{m()}),Y(()=>S.Configuration.Server.dashboard_refresh_interval,()=>{m()}),te(()=>{clearInterval(d.value),d.value=void 0});const p=E(()=>{let g=t.configurationPeers.filter(_=>_.cumu_data+_.total_data>0);return{labels:g.map(_=>_.name?_.name:`Untitled Peer - ${_.id}`),datasets:[{label:"Total Data Usage",data:g.map(_=>_.cumu_data+_.total_data),backgroundColor:g.map(_=>"#ffc107"),tooltip:{callbacks:{label:_=>`${_.formattedValue} GB`}}}]}}),$=E(()=>({labels:[...n.value.timestamp],datasets:[{label:"Data Sent",data:[...n.value.data],fill:!1,borderColor:"#198754",backgroundColor:"#198754",tension:0}]})),M=E(()=>({labels:[...r.value.timestamp],datasets:[{label:"Data Received",data:[...r.value.data],fill:!1,borderColor:"#0d6efd",backgroundColor:"#0d6efd",tension:0}]})),l=E(()=>({responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(g,_)=>`${Math.round((g+Number.EPSILON)*1e3)/1e3} GB`},grid:{display:!1}}}})),c=E(()=>({responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:g=>`${g.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!0}},y:{ticks:{callback:(g,_)=>`${Math.round((g+Number.EPSILON)*1e3)/1e3} MB/s`},grid:{display:!0}}}}));return(g,_)=>(a(),v("div",Ie,[e("div",Ee,[e("div",Te,[e("div",Be,[e("small",Ne,[i(C,{t:"Peers Data Usage"})])]),e("div",Je,[i(k(Ae),{data:p.value,options:l.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),e("div",Fe,[e("div",je,[e("div",Ve,[e("small",Ue,[i(C,{t:"Real Time Received Data Usage"})]),r.value.data.length>0?(a(),v("small",Ge,y(r.value.data[r.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",Qe,[i(k(ae),{options:c.value,data:M.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),e("div",ze,[e("div",We,[e("div",qe,[e("small",Ke,[i(C,{t:"Real Time Sent Data Usage"})]),n.value.data.length>0?(a(),v("small",He,y(n.value.data[n.value.data.length-1])+" MB/s ",1)):w("",!0)]),e("div",Ye,[i(k(ae),{options:c.value,data:$.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]))}},Xe={name:"peerSearch",components:{LocaleText:C},setup(){const o=G(),t=de();return{store:o,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:R("Status"),name:R("Name"),allowed_ip:R("Allowed IPs"),restricted:R("Restricted")},interval:{5e3:R("5 Seconds"),1e4:R("10 Seconds"),3e4:R("30 Seconds"),6e4:R("1 Minutes")},display:{grid:R("Grid"),list:R("List")},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:o},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:o},t=>{t.status&&this.store.getConfiguration()})},updateDisplay(o){J("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_peer_list_display",value:o},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){F(`/api/downloadAllPeers/${this.configuration.Name}`,{},o=>{o.data.forEach(t=>{t.fileName=t.fileName+".conf"}),window.wireguard.generateZipFiles(o,this.configuration.Name)})}}},et={class:"d-flex flex-column gap-2 my-4"},tt={class:"d-flex gap-2 peerSearchContainer"},st={class:"dropdown"},ot={"data-bs-toggle":"dropdown",class:"btn w-100 btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},nt={class:"badge text-bg-primary ms-2"},at={class:"dropdown-menu rounded-3"},rt=["onClick"],lt={class:"ms-auto"},it={key:0,class:"bi bi-check-circle-fill"},dt={class:"dropdown"},ut={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ct={class:"badge text-bg-primary ms-2"},mt={class:"dropdown-menu rounded-3"},pt=["onClick"],ft={class:"ms-auto"},gt={key:0,class:"bi bi-check-circle-fill"},vt={class:"dropdown"},bt={"data-bs-toggle":"dropdown",class:"btn btn-sm w-100 text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle position-relative"},ht={class:"badge text-bg-primary ms-2"},_t={class:"dropdown-menu rounded-3"},yt=["onClick"],St={class:"ms-auto"},wt={key:0,class:"bi bi-check-circle-fill"};function $t(o,t,n,r,x,S){const d=U("LocaleText");return a(),v("div",et,[e("div",tt,[e("div",st,[e("button",ot,[t[4]||(t[4]=e("i",{class:"bi bi-sort-up me-2"},null,-1)),i(d,{t:"Sort By"}),e("span",nt,y(this.sort[r.store.Configuration.Server.dashboard_sort]),1)]),e("ul",at,[(a(!0),v(B,null,K(this.sort,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateSort(m)},[e("small",null,y(b),1),e("small",lt,[r.store.Configuration.Server.dashboard_sort===m?(a(),v("i",it)):w("",!0)])],8,rt)]))),256))])]),e("div",dt,[e("button",ut,[t[5]||(t[5]=e("i",{class:"bi bi-arrow-repeat me-2"},null,-1)),i(d,{t:"Refresh Interval"}),e("span",ct,y(this.interval[r.store.Configuration.Server.dashboard_refresh_interval]),1)]),e("ul",mt,[(a(!0),v(B,null,K(this.interval,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateRefreshInterval(m)},[e("small",null,y(b),1),e("small",ft,[r.store.Configuration.Server.dashboard_refresh_interval===m?(a(),v("i",gt)):w("",!0)])],8,pt)]))),256))])]),e("div",vt,[e("button",bt,[e("i",{class:D(["bi me-2","bi-"+r.store.Configuration.Server.dashboard_peer_list_display])},null,2),i(d,{t:"Display"}),e("span",ht,y(this.display[r.store.Configuration.Server.dashboard_peer_list_display]),1)]),e("ul",_t,[(a(!0),v(B,null,K(this.display,(b,m)=>(a(),v("li",null,[e("button",{class:"dropdown-item d-flex align-items-center",onClick:p=>this.updateDisplay(m)},[e("small",null,y(b),1),e("small",St,[r.store.Configuration.Server.dashboard_peer_list_display===m?(a(),v("i",wt)):w("",!0)])],8,yt)]))),256))])]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle ms-lg-auto",onClick:t[0]||(t[0]=b=>this.$emit("search"))},[t[6]||(t[6]=e("i",{class:"bi bi-search me-2"},null,-1)),i(d,{t:"Search"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[1]||(t[1]=b=>this.downloadAllPeer())},[t[7]||(t[7]=e("i",{class:"bi bi-download me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Download All",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[2]||(t[2]=b=>this.$emit("selectPeers"))},[t[8]||(t[8]=e("i",{class:"bi bi-check2-all me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Select Peers",class:"d-sm-block d-lg-none d-xl-block"})]),e("button",{class:"btn btn-sm text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:t[3]||(t[3]=b=>this.$emit("jobsAll")),type:"button","aria-expanded":"false"},[t[9]||(t[9]=e("i",{class:"bi bi-person-walking me-2 me-lg-0 me-xl-2"},null,-1)),i(d,{t:"Active Jobs",class:"d-sm-block d-lg-none d-xl-block"})])])])}const Pt=Q(Xe,[["render",$t],["__scopeId","data-v-c96b078a"]]);function xt(o){return fe()?(ge(o),!0):!1}function ue(o){return typeof o=="function"?o():k(o)}const ce=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ct=Object.prototype.toString,kt=o=>Ct.call(o)==="[object Object]",H=()=>{},Ot=Dt();function Dt(){var o,t;return ce&&((o=window?.navigator)==null?void 0:o.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function V(o){var t;const n=ue(o);return(t=n?.$el)!=null?t:n}const me=ce?window:void 0;function X(...o){let t,n,r,x;if(typeof o[0]=="string"||Array.isArray(o[0])?([n,r,x]=o,t=me):[t,n,r,x]=o,!t)return H;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const S=[],d=()=>{S.forEach($=>$()),S.length=0},b=($,M,l,c)=>($.addEventListener(M,l,c),()=>$.removeEventListener(M,l,c)),m=Y(()=>[V(t),ue(x)],([$,M])=>{if(d(),!$)return;const l=kt(M)?{...M}:M;S.push(...n.flatMap(c=>r.map(g=>b($,c,g,l))))},{immediate:!0,flush:"post"}),p=()=>{m(),d()};return xt(p),p}let re=!1;function Mt(o,t,n={}){const{window:r=me,ignore:x=[],capture:S=!0,detectIframe:d=!1}=n;if(!r)return H;Ot&&!re&&(re=!0,Array.from(r.document.body.children).forEach(l=>l.addEventListener("click",H)),r.document.documentElement.addEventListener("click",H));let b=!0;const m=l=>x.some(c=>{if(typeof c=="string")return Array.from(r.document.querySelectorAll(c)).some(g=>g===l.target||l.composedPath().includes(g));{const g=V(c);return g&&(l.target===g||l.composedPath().includes(g))}}),$=[X(r,"click",l=>{const c=V(o);if(!(!c||c===l.target||l.composedPath().includes(c))){if(l.detail===0&&(b=!m(l)),!b){b=!0;return}t(l)}},{passive:!0,capture:S}),X(r,"pointerdown",l=>{const c=V(o);b=!m(l)&&!!(c&&!l.composedPath().includes(c))},{passive:!0}),d&&X(r,"blur",l=>{setTimeout(()=>{var c;const g=V(o);((c=r.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!g?.contains(r.document.activeElement)&&t(l)},0)})].filter(Boolean);return()=>$.forEach(l=>l())}const Lt={key:0,class:"position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow"},At={__name:"peerSettingsDropdownTool",props:{icon:String,title:String},emits:["click"],setup(o,{emit:t}){const n=t,r=O(!1);return(x,S)=>(a(),v("a",{class:"dropdown-item text-center px-0 rounded-3 position-relative",role:"button",onMouseenter:S[0]||(S[0]=d=>r.value=!0),onMouseleave:S[1]||(S[1]=d=>r.value=!1),onClick:S[2]||(S[2]=d=>n("click"))},[e("i",{class:D(["me-auto bi",o.icon])},null,2),i(se,{name:"zoomReversed"},{default:T(()=>[r.value?(a(),v("span",Lt,[e("small",null,y(o.title),1)])):w("",!0)]),_:1})],32))}},Rt=Q(At,[["__scopeId","data-v-2d66aeb6"]]),It={name:"peerSettingsDropdown",components:{PeerSettingsDropdownTool:Rt,LocaleText:C},setup(){return{dashboardStore:G()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1,confirmDelete:!1}},methods:{downloadPeer(){F("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},o=>{if(o.status){const t=new Blob([o.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),r=`${o.data.fileName}.conf`,x=document.createElement("a");x.href=n,x.download=r,x.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",o.message,"danger")})},downloadQRCode(o){F("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},t=>{t.status?this.$emit(o,t.data.file):this.dashboardStore.newMessage("Server",t.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,J(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,J(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,J(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},o=>{this.dashboardStore.newMessage("Server",o.message,o.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},Et={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},Tt={style:{"font-size":"0.8rem","padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Bt={class:"text-body d-flex"},Nt={class:"ms-auto"},Jt={key:1},Ft={class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},jt={key:2},Vt={class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},Ut={key:1,class:"confirmDelete"},Gt={style:{"white-space":"break-spaces"},class:"mb-2 d-block fw-bold"},Qt={class:"d-flex w-100 gap-2"},zt=["disabled"],Wt=["disabled"],qt={key:1};function Kt(o,t,n,r,x,S){const d=U("LocaleText"),b=U("PeerSettingsDropdownTool");return a(),v("ul",Et,[this.Peer.restricted?(a(),v("li",qt,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.allowAccessBtnDisabled}]),onClick:t[10]||(t[10]=m=>this.allowAccessPeer()),role:"button"},[t[22]||(t[22]=e("i",{class:"me-auto bi bi-unlock"},null,-1)),this.allowAccessBtnDisabled?(a(),P(d,{key:1,t:"Allowing Access..."})):(a(),P(d,{key:0,t:"Allow Access"}))],2)])):(a(),v(B,{key:0},[this.confirmDelete?(a(),v("li",Ut,[e("p",Gt,[i(d,{t:"Are you sure to delete this peer?"})]),e("div",Qt,[e("button",{onClick:t[8]||(t[8]=m=>this.deletePeer()),disabled:this.deleteBtnDisabled,class:"flex-grow-1 ms-auto btn btn-sm bg-danger"},[i(d,{t:"Yes"})],8,zt),e("button",{disabled:this.deleteBtnDisabled,onClick:t[9]||(t[9]=m=>this.confirmDelete=!1),class:"flex-grow-1 btn btn-sm bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle"},[i(d,{t:"No"})],8,Wt)])])):(a(),v(B,{key:0},[this.Peer.status==="running"?(a(),v(B,{key:0},[e("li",Tt,[e("span",Bt,[t[11]||(t[11]=e("i",{class:"bi bi-box-arrow-in-right"},null,-1)),e("span",Nt,y(this.Peer.endpoint),1)])]),t[12]||(t[12]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1))],64)):w("",!0),this.Peer.private_key?(a(),v("li",jt,[t[13]||(t[13]=e("div",{class:"text-center text-muted"},null,-1)),e("div",Vt,[i(b,{icon:"bi-download",title:"Download",onClick:t[0]||(t[0]=m=>this.downloadPeer())}),i(b,{icon:"bi-qr-code",title:"QR Code",onClick:t[1]||(t[1]=m=>this.$emit("qrcode"))}),i(b,{icon:"bi-body-text",title:"Configuration File",onClick:t[2]||(t[2]=m=>this.$emit("configurationFile"))}),i(b,{icon:"bi-share",title:"Share",onClick:t[3]||(t[3]=m=>this.$emit("share"))})])])):(a(),v("li",Jt,[e("small",Ft,[i(d,{t:"Download & QR Code is not available due to no private key set for this peer"})])])),t[20]||(t[20]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=m=>this.$emit("setting"))},[t[14]||(t[14]=e("i",{class:"me-auto bi bi-pen"},null,-1)),t[15]||(t[15]=N()),i(d,{t:"Peer Settings"})])]),e("li",null,[e("a",{class:"dropdown-item d-flex",role:"button",onClick:t[5]||(t[5]=m=>this.$emit("jobs"))},[t[16]||(t[16]=e("i",{class:"me-auto bi bi-app-indicator"},null,-1)),t[17]||(t[17]=N()),i(d,{t:"Schedule Jobs"})])]),t[21]||(t[21]=e("li",null,[e("hr",{class:"dropdown-divider"})],-1)),e("li",null,[e("a",{class:D(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[6]||(t[6]=m=>this.restrictPeer()),role:"button"},[t[18]||(t[18]=e("i",{class:"me-auto bi bi-lock"},null,-1)),this.restrictBtnDisabled?(a(),P(d,{key:1,t:"Restricting..."})):(a(),P(d,{key:0,t:"Restrict Access"}))],2)]),e("li",null,[e("a",{class:D(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[7]||(t[7]=m=>this.confirmDelete=!0),role:"button"},[t[19]||(t[19]=e("i",{class:"me-auto bi bi-trash"},null,-1)),this.deleteBtnDisabled?(a(),P(d,{key:1,t:"Deleting..."})):(a(),P(d,{key:0,t:"Delete"}))],2)])],64))],64))])}const Ht=Q(It,[["render",Kt],["__scopeId","data-v-d46268aa"]]),Yt={name:"peer",components:{LocaleText:C,PeerSettingsDropdown:Ht},props:{Peer:Object},data(){return{}},setup(){const o=O(null),t=O(!1),n=G();return Mt(o,r=>{t.value=!1}),{target:o,subMenuOpened:t,dashboardStore:n}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},Zt={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},Xt={key:0,style:{"font-size":"0.8rem",color:"#28a745"},class:"d-flex align-items-center"},es={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},ts={class:"text-primary"},ss={class:"text-success"},os={key:0,class:"text-secondary"},ns={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},as={class:"card-body pt-1",style:{"font-size":"0.9rem"}},rs={class:"text-muted"},ls={class:"d-block"},is={class:"text-muted"},ds={class:"d-block"},us={class:"text-muted"},cs={class:"d-block"},ms={class:"d-flex align-items-end ms-auto"};function ps(o,t,n,r,x,S){const d=U("LocaleText"),b=U("PeerSettingsDropdown");return a(),v("div",{class:D(["card shadow-sm rounded-3 peerCard",{"border-warning":n.Peer.restricted}])},[e("div",null,[n.Peer.restricted?(a(),v("div",ns,[t[13]||(t[13]=e("i",{class:"bi-lock-fill me-2"},null,-1)),i(d,{t:"Access Restricted"})])):(a(),v("div",Zt,[e("div",{class:D(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"&&n.Peer.status==="running"?(a(),v("div",Xt,[t[7]||(t[7]=e("i",{class:"bi bi-box-arrow-in-right me-2"},null,-1)),e("span",null,y(n.Peer.endpoint),1)])):w("",!0),e("div",es,[e("span",ts,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-down"},null,-1)),e("strong",null,y((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),t[9]||(t[9]=N(" GB "))]),e("span",ss,[t[10]||(t[10]=e("i",{class:"bi bi-arrow-up"},null,-1)),e("strong",null,y((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),t[11]||(t[11]=N(" GB "))]),n.Peer.latest_handshake!=="No Handshake"?(a(),v("span",os,[t[12]||(t[12]=e("i",{class:"bi bi-arrows-angle-contract"},null,-1)),N(" "+y(S.getLatestHandshake)+" ago ",1)])):w("",!0)])]))]),e("div",as,[e("h6",null,y(n.Peer.name?n.Peer.name:"Untitled Peer"),1),e("div",{class:D(["d-flex",[r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="grid"?"gap-1 flex-column":"flex-row gap-3"]])},[e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",rs,[i(d,{t:"Public Key"})]),e("small",ls,[e("samp",null,y(n.Peer.id),1)])],2),e("div",{class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",is,[i(d,{t:"Allowed IPs"})]),e("small",ds,[e("samp",null,y(n.Peer.allowed_ip),1)])],2),n.Peer.advanced_security?(a(),v("div",{key:0,class:D({"d-flex gap-2 align-items-center":r.dashboardStore.Configuration.Server.dashboard_peer_list_display==="list"})},[e("small",us,[i(d,{t:"Advanced Security"})]),e("small",cs,[e("samp",null,y(n.Peer.advanced_security),1)])],2)):w("",!0),e("div",ms,[e("div",{class:D(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[e("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=m=>this.subMenuOpened=!0)},t[14]||(t[14]=[e("h5",{class:"mb-0"},[e("i",{class:"bi bi-three-dots"})],-1)])),i(se,{name:"slide-fade"},{default:T(()=>[this.subMenuOpened?(a(),P(b,{key:0,onQrcode:t[1]||(t[1]=m=>this.$emit("qrcode")),onConfigurationFile:t[2]||(t[2]=m=>this.$emit("configurationFile")),onSetting:t[3]||(t[3]=m=>this.$emit("setting")),onJobs:t[4]||(t[4]=m=>this.$emit("jobs")),onRefresh:t[5]||(t[5]=m=>this.$emit("refresh")),onShare:t[6]||(t[6]=m=>this.$emit("share")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):w("",!0)]),_:1})],2)])],2)])],2)}const fs=Q(Yt,[["render",ps],["__scopeId","data-v-da99e0f2"]]),gs={__name:"peerListModals",props:{configurationModals:Object,configurationModalSelectedPeer:Object},emits:["refresh"],setup(o,{emit:t}){const n=t,r=L(()=>A(()=>import("./peerShareLinkModal-DzYO0DNm.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),x=L(()=>A(()=>import("./peerJobs-DxMoy9_C.js"),__vite__mapDeps([7,8,1,2,4,3,5,9,10]))),S=L(()=>A(()=>import("./peerQRCode-DBJSQ5yX.js"),__vite__mapDeps([11,12,5,1,2]))),d=L(()=>A(()=>import("./peerConfigurationFile-DeJjLyWG.js"),__vite__mapDeps([13,1,2,5,12,14]))),b=L(()=>A(()=>import("./peerSettings-BRtvlDTK.js"),__vite__mapDeps([15,1,2,5,16])));return(m,p)=>(a(),P(ee,{name:"zoom"},{default:T(()=>[o.configurationModals.peerSetting.modalOpen?(a(),P(k(b),{key:"PeerSettingsModal",selectedPeer:o.configurationModalSelectedPeer,onRefresh:p[0]||(p[0]=$=>n("refresh")),onClose:p[1]||(p[1]=$=>o.configurationModals.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerQRCode.modalOpen?(a(),P(k(S),{key:"PeerQRCodeModal",selectedPeer:o.configurationModalSelectedPeer,onClose:p[2]||(p[2]=$=>o.configurationModals.peerQRCode.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerScheduleJobs.modalOpen?(a(),P(k(x),{key:"PeerJobsModal",onRefresh:p[3]||(p[3]=$=>n("refresh")),selectedPeer:o.configurationModalSelectedPeer,onClose:p[4]||(p[4]=$=>o.configurationModals.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerShare.modalOpen?(a(),P(k(r),{key:"PeerShareLinkModal",onClose:p[5]||(p[5]=$=>{o.configurationModals.peerShare.modalOpen=!1}),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0),o.configurationModals.peerConfigurationFile.modalOpen?(a(),P(k(d),{key:4,onClose:p[6]||(p[6]=$=>o.configurationModals.peerConfigurationFile.modalOpen=!1),selectedPeer:o.configurationModalSelectedPeer},null,8,["selectedPeer"])):w("",!0)]),_:1}))}},vs={style:{"margin-bottom":"20px",height:"1px"},id:"loadMore"},bs={__name:"peerIntersectionObserver",props:["peerListLength","showPeersCount"],emits:["loadMore"],setup(o,{emit:t}){const n=O(void 0),r=t;return le(()=>{n.value=new IntersectionObserver(x=>{x.forEach(S=>{S.isIntersecting&&r("loadMore")})},{rootMargin:"20px",threshold:1}),n.value.observe(document.querySelector("#loadMore"))}),te(()=>{n.value.disconnect()}),(x,S)=>(a(),v("div",vs))}},hs={class:"container-fluid"},_s={class:"d-flex align-items-sm-center flex-column flex-sm-row gap-3"},ys={class:"text-muted d-flex align-items-center gap-2"},Ss={class:"mb-0"},ws={class:"d-flex align-items-center gap-3"},$s={class:"mb-0 display-4"},Ps={class:"ms-sm-auto d-flex gap-2 flex-column"},xs={class:"card rounded-3 bg-transparent"},Cs={class:"card-body py-2 d-flex align-items-center"},ks={class:"text-muted"},Os={class:"form-check form-switch mb-0 ms-auto pe-0 me-0"},Ds=["for"],Ms={key:2,class:"spinner-border spinner-border-sm ms-2","aria-hidden":"true"},Ls=["disabled","id"],As={class:"d-flex gap-2"},Rs={class:"row mt-3 gy-2 gx-2 mb-2"},Is={class:"col-12 col-lg-3"},Es={class:"card rounded-3 bg-transparent h-100"},Ts={class:"card-body py-2 d-flex flex-column justify-content-center"},Bs={class:"mb-0 text-muted"},Ns={class:"col-12 col-lg-3"},Js={class:"card rounded-3 bg-transparent h-100"},Fs={class:"card-body py-2 d-flex flex-column justify-content-center"},js={class:"mb-0 text-muted"},Vs={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},Us={class:"card rounded-3 bg-transparent h-100"},Gs={class:"card-body py-2 d-flex flex-column justify-content-center"},Qs={class:"mb-0 text-muted"},zs={class:"row gx-2 gy-2 mb-2"},Ws={class:"col-12 col-lg-3"},qs={class:"card rounded-3 bg-transparent h-100"},Ks={class:"card-body d-flex"},Hs={class:"mb-0 text-muted"},Ys={class:"h4"},Zs={class:"col-12 col-lg-3"},Xs={class:"card rounded-3 bg-transparent h-100"},eo={class:"card-body d-flex"},to={class:"mb-0 text-muted"},so={class:"h4"},oo={class:"col-12 col-lg-3"},no={class:"card rounded-3 bg-transparent h-100"},ao={class:"card-body d-flex"},ro={class:"mb-0 text-muted"},lo={class:"h4 text-primary"},io={class:"col-12 col-lg-3"},uo={class:"card rounded-3 bg-transparent h-100"},co={class:"card-body d-flex"},mo={class:"mb-0 text-muted"},po={class:"h4 text-success"},fo={style:{"margin-bottom":"80px"}},go=20,vo={__name:"peerList",async setup(o){let t,n;const r=L(()=>A(()=>import("./peerSearchBar-CkCP8yvr.js"),__vite__mapDeps([17,1,2,5,18]))),x=L(()=>A(()=>import("./peerJobsAllModal-B-tPwkef.js"),__vite__mapDeps([19,8,1,2,4,3,5,9]))),S=L(()=>A(()=>import("./peerJobsLogsModal-DHMeg_-m.js"),__vite__mapDeps([20,3,1,2,5]))),d=L(()=>A(()=>import("./editConfiguration-DJLOCD5Z.js"),__vite__mapDeps([21,1,2,5,3,22]))),b=L(()=>A(()=>import("./selectPeers-C8QoMvtN.js"),__vite__mapDeps([23,1,2,5,24]))),m=L(()=>A(()=>import("./peerAddModal-CIua0mAo.js"),__vite__mapDeps([25,1,2,5,26]))),p=G(),$=de(),M=ie(),l=O({}),c=O([]),g=O(!1),_=O({}),h=O({peerNew:{modalOpen:!1},peerSetting:{modalOpen:!1},peerScheduleJobs:{modalOpen:!1},peerQRCode:{modalOpen:!1},peerConfigurationFile:{modalOpen:!1},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1},editConfiguration:{modalOpen:!1},selectPeers:{modalOpen:!1},backupRestore:{modalOpen:!1},deleteConfiguration:{modalOpen:!1},editRawConfigurationFile:{modalOpen:!1}}),Z=O(!1),I=async()=>{await F("/api/getWireguardConfigurationInfo",{configurationName:M.params.id},f=>{f.status&&(l.value=f.data.configurationInfo,c.value=f.data.configurationPeers,c.value.forEach(s=>{s.restricted=!1}),f.data.configurationRestrictedPeers.forEach(s=>{s.restricted=!0,c.value.push(s)}))})};[t,n]=ve(()=>I()),await t,n();const z=O(void 0),oe=()=>{clearInterval(z.value),z.value=setInterval(async()=>{await I()},parseInt(p.Configuration.Server.dashboard_refresh_interval))};oe(),te(()=>{clearInterval(z.value),z.value=void 0}),Y(()=>p.Configuration.Server.dashboard_refresh_interval,()=>{oe()});const pe=async()=>{g.value=!0,await F("/api/toggleWireguardConfiguration/",{configurationName:l.value.Name},f=>{f.status?p.newMessage("Server",`${l.value.Name} ${f.data?"is on":"is off"}`,"success"):p.newMessage("Server",f.message,"danger"),$.Configurations.find(s=>s.Name===l.value.Name).Status=f.data,l.value.Status=f.data,g.value=!1})},W=E(()=>({connectedPeers:c.value.filter(f=>f.status==="running").length,totalUsage:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_data+f.cumu_data).reduce((f,s)=>f+s,0).toFixed(4):0,totalReceive:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_receive+f.cumu_receive).reduce((f,s)=>f+s,0).toFixed(4):0,totalSent:c.value.length>0?c.value.filter(f=>!f.restricted).map(f=>f.total_sent+f.cumu_sent).reduce((f,s)=>f+s,0).toFixed(4):0})),q=O(10),ne=E(()=>{const f=$.searchString?c.value.filter(s=>s.name.includes($.searchString)||s.id.includes($.searchString)||s.allowed_ip.includes($.searchString)):c.value;return p.Configuration.Server.dashboard_sort==="restricted"?f.sort((s,u)=>s[p.Configuration.Server.dashboard_sort]u[p.Configuration.Server.dashboard_sort]?-1:0).slice(0,q.value):f.sort((s,u)=>s[p.Configuration.Server.dashboard_sort]u[p.Configuration.Server.dashboard_sort]?1:0).slice(0,q.value)});return(f,s)=>(a(),v("div",hs,[e("div",_s,[e("div",null,[e("div",ys,[e("h5",Ss,[i(ye,{protocol:l.value.Protocol},null,8,["protocol"])])]),e("div",ws,[e("h1",$s,[e("samp",null,y(l.value.Name),1)])])]),e("div",Ps,[e("div",xs,[e("div",Cs,[e("small",ks,[i(C,{t:"Status"})]),e("div",{class:D(["dot ms-2",{active:l.value.Status}])},null,2),e("div",Os,[e("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+l.value.id},[l.value.Status&&!g.value?(a(),P(C,{key:0,t:"On"})):!l.value.Status&&!g.value?(a(),P(C,{key:1,t:"Off"})):w("",!0),g.value?(a(),v("span",Ms)):w("",!0)],8,Ds),be(e("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:g.value,type:"checkbox",role:"switch",id:"switch"+l.value.id,onChange:s[0]||(s[0]=u=>pe()),"onUpdate:modelValue":s[1]||(s[1]=u=>l.value.Status=u)},null,40,Ls),[[he,l.value.Status]])])])]),e("div",As,[e("a",{role:"button",onClick:s[2]||(s[2]=u=>h.value.peerNew.modalOpen=!0),class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle"},[s[29]||(s[29]=e("i",{class:"bi bi-plus-circle me-2"},null,-1)),i(C,{t:"Peer"})]),e("button",{class:"titleBtn py-2 text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle",onClick:s[3]||(s[3]=u=>h.value.editConfiguration.modalOpen=!0),type:"button","aria-expanded":"false"},[s[30]||(s[30]=e("i",{class:"bi bi-gear-fill me-2"},null,-1)),i(C,{t:"Configuration Settings"})])])])]),s[35]||(s[35]=e("hr",null,null,-1)),e("div",Rs,[e("div",Is,[e("div",Es,[e("div",Ts,[e("p",Bs,[e("small",null,[i(C,{t:"Address"})])]),N(" "+y(l.value.Address),1)])])]),e("div",Ns,[e("div",Js,[e("div",Fs,[e("p",js,[e("small",null,[i(C,{t:"Listen Port"})])]),N(" "+y(l.value.ListenPort),1)])])]),e("div",Vs,[e("div",Us,[e("div",Gs,[e("p",Qs,[e("small",null,[i(C,{t:"Public Key"})])]),e("samp",null,y(l.value.PublicKey),1)])])])]),e("div",zs,[e("div",Ws,[e("div",qs,[e("div",Ks,[e("div",null,[e("p",Hs,[e("small",null,[i(C,{t:"Connected Peers"})])]),e("strong",Ys,y(W.value.connectedPeers)+" / "+y(c.value.length),1)]),s[31]||(s[31]=e("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1))])])]),e("div",Zs,[e("div",Xs,[e("div",eo,[e("div",null,[e("p",to,[e("small",null,[i(C,{t:"Total Usage"})])]),e("strong",so,y(W.value.totalUsage)+" GB",1)]),s[32]||(s[32]=e("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1))])])]),e("div",oo,[e("div",no,[e("div",ao,[e("div",null,[e("p",ro,[e("small",null,[i(C,{t:"Total Received"})])]),e("strong",lo,y(W.value.totalReceive)+" GB",1)]),s[33]||(s[33]=e("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1))])])]),e("div",io,[e("div",uo,[e("div",co,[e("div",null,[e("p",mo,[e("small",null,[i(C,{t:"Total Sent"})])]),e("strong",po,y(W.value.totalSent)+" GB",1)]),s[34]||(s[34]=e("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1))])])])]),i(Ze,{configurationPeers:c.value,configurationInfo:l.value},null,8,["configurationPeers","configurationInfo"]),s[36]||(s[36]=e("hr",null,null,-1)),e("div",fo,[c.value.length>0?(a(),P(Pt,{key:0,onSearch:s[4]||(s[4]=u=>Z.value=!0),onJobsAll:s[5]||(s[5]=u=>h.value.peerScheduleJobsAll.modalOpen=!0),onJobLogs:s[6]||(s[6]=u=>h.value.peerScheduleJobsLogs.modalOpen=!0),onEditConfiguration:s[7]||(s[7]=u=>h.value.editConfiguration.modalOpen=!0),onSelectPeers:s[8]||(s[8]=u=>h.value.selectPeers.modalOpen=!0),onBackupRestore:s[9]||(s[9]=u=>h.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[10]||(s[10]=u=>h.value.deleteConfiguration.modalOpen=!0),configuration:l.value},null,8,["configuration"])):w("",!0),i(ee,{name:"peerList",tag:"div",class:"row gx-2 gy-2 z-0 position-relative"},{default:T(()=>[(a(!0),v(B,null,K(ne.value,u=>(a(),v("div",{class:D(["col-12",{"col-lg-6 col-xl-4":k(p).Configuration.Server.dashboard_peer_list_display==="grid"}]),key:u.id},[i(fs,{Peer:u,onShare:j=>{h.value.peerShare.modalOpen=!0,_.value=u},onRefresh:s[11]||(s[11]=j=>I()),onJobs:j=>{h.value.peerScheduleJobs.modalOpen=!0,_.value=u},onSetting:j=>{h.value.peerSetting.modalOpen=!0,_.value=u},onQrcode:j=>{_.value=u,h.value.peerQRCode.modalOpen=!0},onConfigurationFile:j=>{_.value=u,h.value.peerConfigurationFile.modalOpen=!0}},null,8,["Peer","onShare","onJobs","onSetting","onQrcode","onConfigurationFile"])],2))),128))]),_:1})]),i(se,{name:"slideUp"},{default:T(()=>[Z.value?(a(),P(k(r),{key:0,onClose:s[12]||(s[12]=u=>Z.value=!1)})):w("",!0)]),_:1}),i(gs,{configurationModals:h.value,configurationModalSelectedPeer:_.value,onRefresh:s[13]||(s[13]=u=>I())},null,8,["configurationModals","configurationModalSelectedPeer"]),i(ee,{name:"zoom"},{default:T(()=>[(a(),P(_e,{key:"PeerAddModal"},{default:T(()=>[h.value.peerNew.modalOpen?(a(),P(k(m),{key:0,onClose:s[14]||(s[14]=u=>h.value.peerNew.modalOpen=!1),onAddedPeers:s[15]||(s[15]=u=>{h.value.peerNew.modalOpen=!1,I()})})):w("",!0)]),_:1})),h.value.peerScheduleJobsAll.modalOpen?(a(),P(k(x),{key:"PeerJobsAllModal",onRefresh:s[16]||(s[16]=u=>I()),onAllLogs:s[17]||(s[17]=u=>h.value.peerScheduleJobsLogs.modalOpen=!0),onClose:s[18]||(s[18]=u=>h.value.peerScheduleJobsAll.modalOpen=!1),configurationPeers:c.value},null,8,["configurationPeers"])):w("",!0),h.value.peerScheduleJobsLogs.modalOpen?(a(),P(k(S),{key:"PeerJobsLogsModal",onClose:s[19]||(s[19]=u=>h.value.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),h.value.editConfiguration.modalOpen?(a(),P(k(d),{key:"EditConfigurationModal",onEditRaw:s[20]||(s[20]=u=>h.value.editRawConfigurationFile.modalOpen=!0),onClose:s[21]||(s[21]=u=>h.value.editConfiguration.modalOpen=!1),onDataChanged:s[22]||(s[22]=u=>l.value=u),onRefresh:s[23]||(s[23]=u=>I()),onBackupRestore:s[24]||(s[24]=u=>h.value.backupRestore.modalOpen=!0),onDeleteConfiguration:s[25]||(s[25]=u=>h.value.deleteConfiguration.modalOpen=!0),configurationInfo:l.value},null,8,["configurationInfo"])):w("",!0),h.value.selectPeers.modalOpen?(a(),P(k(b),{key:3,onRefresh:s[26]||(s[26]=u=>I()),configurationPeers:c.value,onClose:s[27]||(s[27]=u=>h.value.selectPeers.modalOpen=!1)},null,8,["configurationPeers"])):w("",!0)]),_:1}),i(bs,{showPeersCount:q.value,peerListLength:ne.value.length,onLoadMore:s[28]||(s[28]=u=>q.value+=go)},null,8,["showPeersCount","peerListLength"])]))}},wo=Q(vo,[["__scopeId","data-v-9736e433"]]);export{wo as default}; diff --git a/src/static/app/dist/assets/peerQRCode-DO1697Pg.js b/src/static/app/dist/assets/peerQRCode-DBJSQ5yX.js similarity index 92% rename from src/static/app/dist/assets/peerQRCode-DO1697Pg.js rename to src/static/app/dist/assets/peerQRCode-DBJSQ5yX.js index 4d9b425..008df91 100644 --- a/src/static/app/dist/assets/peerQRCode-DO1697Pg.js +++ b/src/static/app/dist/assets/peerQRCode-DBJSQ5yX.js @@ -1 +1 @@ -import{b as r}from"./browser-CjSdxGTc.js";import{L as i}from"./localeText-miqCUaLJ.js";import{_ as c,D as l,s as p,y as _,a,c as n,b as e,d as m,n as h,e as u}from"./index-qq0VI3aD.js";const f={name:"peerQRCode",components:{LocaleText:i},props:{selectedPeer:Object},setup(){return{dashboardStore:l()}},data(){return{loading:!0}},mounted(){p("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},t=>{this.loading=!1,t.status?r.toCanvas(document.querySelector("#qrcode"),t.data.file,s=>{s&&console.error(s)}):this.dashboardStore.newMessage("Server",t.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},g={class:"container d-flex h-100 w-100"},v={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},x={class:"card rounded-3 shadow"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},w={class:"mb-0"},y={class:"card-body p-4"},S={style:{width:"292px",height:"292px"},class:"d-flex"},L={key:0,class:"spinner-border m-auto",role:"status"};function $(t,s,k,q,o,B){const d=_("LocaleText");return a(),n("div",b,[e("div",g,[e("div",v,[e("div",x,[e("div",C,[e("h4",w,[m(d,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=N=>this.$emit("close"))})]),e("div",y,[e("div",S,[e("canvas",{id:"qrcode",class:h(["rounded-3 shadow animate__animated animate__fadeIn animate__faster",{"d-none":o.loading}])},null,2),o.loading?(a(),n("div",L,s[1]||(s[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)]))):u("",!0)])])])])])])}const T=c(f,[["render",$]]);export{T as default}; +import{b as r}from"./browser-CjSdxGTc.js";import{L as i}from"./localeText-CoKvgn8T.js";import{_ as c,D as l,x as p,y as _,a,c as n,b as e,d as m,n as h,e as u}from"./index-Bsy8tbGW.js";const f={name:"peerQRCode",components:{LocaleText:i},props:{selectedPeer:Object},setup(){return{dashboardStore:l()}},data(){return{loading:!0}},mounted(){p("/api/downloadPeer/"+this.$route.params.id,{id:this.selectedPeer.id},t=>{this.loading=!1,t.status?r.toCanvas(document.querySelector("#qrcode"),t.data.file,s=>{s&&console.error(s)}):this.dashboardStore.newMessage("Server",t.message,"danger")})}},b={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},g={class:"container d-flex h-100 w-100"},v={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},x={class:"card rounded-3 shadow"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},w={class:"mb-0"},y={class:"card-body p-4"},S={style:{width:"292px",height:"292px"},class:"d-flex"},L={key:0,class:"spinner-border m-auto",role:"status"};function $(t,s,k,q,o,B){const d=_("LocaleText");return a(),n("div",b,[e("div",g,[e("div",v,[e("div",x,[e("div",C,[e("h4",w,[m(d,{t:"QR Code"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:s[0]||(s[0]=N=>this.$emit("close"))})]),e("div",y,[e("div",S,[e("canvas",{id:"qrcode",class:h(["rounded-3 shadow animate__animated animate__fadeIn animate__faster",{"d-none":o.loading}])},null,2),o.loading?(a(),n("div",L,s[1]||(s[1]=[e("span",{class:"visually-hidden"},"Loading...",-1)]))):u("",!0)])])])])])])}const T=c(f,[["render",$]]);export{T as default}; diff --git a/src/static/app/dist/assets/peerSearchBar-D0kxtEEh.js b/src/static/app/dist/assets/peerSearchBar-CkCP8yvr.js similarity index 70% rename from src/static/app/dist/assets/peerSearchBar-D0kxtEEh.js rename to src/static/app/dist/assets/peerSearchBar-CkCP8yvr.js index 79a9988..0b24c06 100644 --- a/src/static/app/dist/assets/peerSearchBar-D0kxtEEh.js +++ b/src/static/app/dist/assets/peerSearchBar-CkCP8yvr.js @@ -1 +1 @@ -import{_ as u,g as m,G as p,r as b,W as f,a3 as v,o as g,a as h,l as _,w as x,b as e,m as y,v as S,d as B,x as T}from"./index-qq0VI3aD.js";import{L as w}from"./localeText-miqCUaLJ.js";const C={class:"fixed-bottom w-100 bottom-0 z-2",style:{"z-index":"1"}},P={class:"container-fluid"},k={class:"row g-0"},L={class:"col-md-9 col-lg-10 d-flex justify-content-center py-2"},V={class:"rounded-3 p-2 border shadow searchPeersContainer bg-body-tertiary"},z={class:"d-flex gap-1 align-items-center px-2"},D=["placeholder"],G={__name:"peerSearchBar",emits:["close"],setup(M,{emit:n}){const l=m(()=>p("Search Peers..."));let t;const o=b(""),r=f(),i=()=>{t?(clearTimeout(t),t=setTimeout(()=>{r.searchString=o.value},300)):t=setTimeout(()=>{r.searchString=o.value},300)},d=n,c=v("searchBar");return g(()=>{c.value.focus()}),(N,s)=>(h(),_(T,{name:"slideUp",appear:"",type:"animation",style:{"animation-delay":"1s"}},{default:x(()=>[e("div",C,[e("div",P,[e("div",k,[s[5]||(s[5]=e("div",{class:"col-md-3 col-lg-2"},null,-1)),e("div",L,[e("div",V,[e("div",z,[s[4]||(s[4]=e("h6",{class:"mb-0 me-2"},[e("label",{for:"searchPeers"},[e("i",{class:"bi bi-search"})])],-1)),y(e("input",{ref:"searchBar",class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:s[0]||(s[0]=a=>i()),"onUpdate:modelValue":s[1]||(s[1]=a=>o.value=a)},null,40,D),[[S,o.value]]),e("button",{onClick:s[2]||(s[2]=a=>d("close")),class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 d-flex align-items-center"},[s[3]||(s[3]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),B(w,{t:"Done"})])])])])])])])]),_:1}))}},$=u(G,[["__scopeId","data-v-21d93f94"]]);export{$ as default}; +import{_ as u,g as m,G as p,r as b,W as f,a3 as v,o as g,a as h,j as _,w as x,b as e,m as y,v as S,d as B,l as T}from"./index-Bsy8tbGW.js";import{L as w}from"./localeText-CoKvgn8T.js";const C={class:"fixed-bottom w-100 bottom-0 z-2",style:{"z-index":"1"}},P={class:"container-fluid"},k={class:"row g-0"},L={class:"col-md-9 col-lg-10 d-flex justify-content-center py-2"},V={class:"rounded-3 p-2 border shadow searchPeersContainer bg-body-tertiary"},j={class:"d-flex gap-1 align-items-center px-2"},z=["placeholder"],D={__name:"peerSearchBar",emits:["close"],setup(G,{emit:n}){const l=m(()=>p("Search Peers..."));let t;const o=b(""),r=f(),i=()=>{t?(clearTimeout(t),t=setTimeout(()=>{r.searchString=o.value},300)):t=setTimeout(()=>{r.searchString=o.value},300)},d=n,c=v("searchBar");return g(()=>{c.value.focus()}),(M,s)=>(h(),_(T,{name:"slideUp",appear:"",type:"animation",style:{"animation-delay":"1s"}},{default:x(()=>[e("div",C,[e("div",P,[e("div",k,[s[5]||(s[5]=e("div",{class:"col-md-3 col-lg-2"},null,-1)),e("div",L,[e("div",V,[e("div",j,[s[4]||(s[4]=e("h6",{class:"mb-0 me-2"},[e("label",{for:"searchPeers"},[e("i",{class:"bi bi-search"})])],-1)),y(e("input",{ref:"searchBar",class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle",placeholder:l.value,id:"searchPeers",onKeyup:s[0]||(s[0]=a=>i()),"onUpdate:modelValue":s[1]||(s[1]=a=>o.value=a)},null,40,z),[[S,o.value]]),e("button",{onClick:s[2]||(s[2]=a=>d("close")),class:"btn bg-secondary-subtle text-secondary-emphasis border-secondary-subtle rounded-3 d-flex align-items-center"},[s[3]||(s[3]=e("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),B(w,{t:"Done"})])])])])])])])]),_:1}))}},W=u(D,[["__scopeId","data-v-21d93f94"]]);export{W as default}; diff --git a/src/static/app/dist/assets/peerSettings-CmZMeQE1.js b/src/static/app/dist/assets/peerSettings-BRtvlDTK.js similarity index 98% rename from src/static/app/dist/assets/peerSettings-CmZMeQE1.js rename to src/static/app/dist/assets/peerSettings-BRtvlDTK.js index f57425c..9a65735 100644 --- a/src/static/app/dist/assets/peerSettings-CmZMeQE1.js +++ b/src/static/app/dist/assets/peerSettings-BRtvlDTK.js @@ -1 +1 @@ -import{_ as m,D as _,E as c,y as b,a as n,c as r,b as e,d as a,t as h,m as d,v as l,n as f,a0 as v,a6 as u,e as p}from"./index-qq0VI3aD.js";import{L as g}from"./localeText-miqCUaLJ.js";const y={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:_()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,c(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,i=>{this.saving=!1,i.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",i.message,"danger"),this.$emit("refresh")})},resetPeerData(i){this.saving=!0,c(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:i},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(i=>{i.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},w={class:"container d-flex h-100 w-100"},S={class:"m-auto modal-dialog-centered dashboardModal"},k={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},P={class:"mb-0"},$={key:0,class:"card-body px-4"},D={class:"d-flex flex-column gap-2 mb-4"},V={class:"d-flex align-items-center"},U={class:"text-muted"},N={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},M={class:"text-muted"},A=["disabled"],O={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},T={class:"text-muted"},E=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},B=["disabled"],I={for:"peer_endpoint_allowed_ips",class:"form-label"},J={class:"text-muted"},j=["disabled"],z={for:"peer_DNS_textbox",class:"form-label"},Q={class:"text-muted"},F=["disabled"],G={class:"accordion my-3",id:"peerSettingsAccordion"},H={class:"accordion-item"},W={class:"accordion-header"},X={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},Y={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Z={class:"accordion-body d-flex flex-column gap-2 mb-2"},ee={for:"peer_preshared_key_textbox",class:"form-label"},te={class:"text-muted"},se=["disabled"],oe={for:"peer_mtu",class:"form-label"},ae={class:"text-muted"},de=["disabled"],ie={for:"peer_keep_alive",class:"form-label"},le={class:"text-muted"},ne=["disabled"],re={key:0},ce={for:"peer_advance_security",class:"form-label d-block"},ue={class:"text-muted"},pe={class:"btn-group",role:"group"},me={class:"btn btn-outline-primary btn-sm",for:"advanced_security_on"},_e={class:"btn btn-outline-primary btn-sm",for:"advanced_security_off"},be={class:"d-flex align-items-center gap-2"},he=["disabled"],fe=["disabled"],ve={class:"d-flex gap-2 align-items-center"},ge={class:"d-flex gap-2 ms-auto"};function ye(i,t,xe,we,Se,ke){const o=b("LocaleText");return n(),r("div",x,[e("div",w,[e("div",S,[e("div",k,[e("div",C,[e("h4",P,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(n(),r("div",$,[e("div",D,[e("div",V,[e("small",U,[a(o,{t:"Public Key"})]),e("small",N,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",M,[a(o,{t:"Name"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,A),[[l,this.data.name]])]),e("div",null,[e("div",O,[e("label",R,[e("small",T,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:f(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),d(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,E),[[v,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,B),[[l,this.data.allowed_ip]])]),e("div",null,[e("label",I,[e("small",J,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,j),[[l,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",z,[e("small",Q,[a(o,{t:"DNS"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,F),[[l,this.data.DNS]])]),e("div",G,[e("div",H,[e("h2",W,[e("button",X,[a(o,{t:"Optional Settings"})])]),e("div",Y,[e("div",Z,[e("div",null,[e("label",ee,[e("small",te,[a(o,{t:"Pre-Shared Key"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,se),[[l,this.data.preshared_key]])]),e("div",null,[e("label",oe,[e("small",ae,[a(o,{t:"MTU"})])]),d(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,de),[[l,this.data.mtu]])]),e("div",null,[e("label",ie,[e("small",le,[a(o,{t:"Persistent Keepalive"})])]),d(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,ne),[[l,this.data.keepalive]])]),this.data.advanced_security?(n(),r("div",re,[e("label",ce,[e("small",ue,[a(o,{t:"Advanced Security"})])]),e("div",pe,[d(e("input",{type:"radio",class:"btn-check","onUpdate:modelValue":t[10]||(t[10]=s=>this.data.advanced_security=s),value:"on",name:"advanced_security_radio",id:"advanced_security_on",autocomplete:"off"},null,512),[[u,this.data.advanced_security]]),e("label",me,[a(o,{t:"On"})]),d(e("input",{type:"radio","onUpdate:modelValue":t[11]||(t[11]=s=>this.data.advanced_security=s),value:"off",class:"btn-check",name:"advanced_security_radio",id:"advanced_security_off",autocomplete:"off"},null,512),[[u,this.data.advanced_security]]),e("label",_e,[a(o,{t:"Off"})])])])):p("",!0)])])])]),e("div",be,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[12]||(t[12]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,he),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[13]||(t[13]=s=>this.savePeer())},[t[18]||(t[18]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,fe)]),t[22]||(t[22]=e("hr",null,null,-1)),e("div",ve,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ge,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("total"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[15]||(t[15]=s=>this.resetPeerData("receive"))},[t[20]||(t[20]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[16]||(t[16]=s=>this.resetPeerData("sent"))},[t[21]||(t[21]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):p("",!0)])])])])}const $e=m(y,[["render",ye],["__scopeId","data-v-2166fcf9"]]);export{$e as default}; +import{_ as m,D as _,E as c,y as b,a as n,c as r,b as e,d as a,t as h,m as d,v as l,n as f,a0 as v,a6 as u,e as p}from"./index-Bsy8tbGW.js";import{L as g}from"./localeText-CoKvgn8T.js";const y={name:"peerSettings",components:{LocaleText:g},props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:_()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,c(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,i=>{this.saving=!1,i.status?this.dashboardConfigurationStore.newMessage("Server","Peer saved","success"):this.dashboardConfigurationStore.newMessage("Server",i.message,"danger"),this.$emit("refresh")})},resetPeerData(i){this.saving=!0,c(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:i},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(i=>{i.addEventListener("change",()=>{this.dataChanged=!0})})}},x={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},w={class:"container d-flex h-100 w-100"},S={class:"m-auto modal-dialog-centered dashboardModal"},k={class:"card rounded-3 shadow flex-grow-1"},C={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},P={class:"mb-0"},$={key:0,class:"card-body px-4"},D={class:"d-flex flex-column gap-2 mb-4"},V={class:"d-flex align-items-center"},U={class:"text-muted"},N={class:"ms-auto"},K={for:"peer_name_textbox",class:"form-label"},M={class:"text-muted"},A=["disabled"],O={class:"d-flex position-relative"},R={for:"peer_private_key_textbox",class:"form-label"},T={class:"text-muted"},E=["type","disabled"],L={for:"peer_allowed_ip_textbox",class:"form-label"},q={class:"text-muted"},B=["disabled"],I={for:"peer_endpoint_allowed_ips",class:"form-label"},J={class:"text-muted"},j=["disabled"],z={for:"peer_DNS_textbox",class:"form-label"},Q={class:"text-muted"},F=["disabled"],G={class:"accordion my-3",id:"peerSettingsAccordion"},H={class:"accordion-item"},W={class:"accordion-header"},X={class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"},Y={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},Z={class:"accordion-body d-flex flex-column gap-2 mb-2"},ee={for:"peer_preshared_key_textbox",class:"form-label"},te={class:"text-muted"},se=["disabled"],oe={for:"peer_mtu",class:"form-label"},ae={class:"text-muted"},de=["disabled"],ie={for:"peer_keep_alive",class:"form-label"},le={class:"text-muted"},ne=["disabled"],re={key:0},ce={for:"peer_advance_security",class:"form-label d-block"},ue={class:"text-muted"},pe={class:"btn-group",role:"group"},me={class:"btn btn-outline-primary btn-sm",for:"advanced_security_on"},_e={class:"btn btn-outline-primary btn-sm",for:"advanced_security_off"},be={class:"d-flex align-items-center gap-2"},he=["disabled"],fe=["disabled"],ve={class:"d-flex gap-2 align-items-center"},ge={class:"d-flex gap-2 ms-auto"};function ye(i,t,xe,we,Se,ke){const o=b("LocaleText");return n(),r("div",x,[e("div",w,[e("div",S,[e("div",k,[e("div",C,[e("h4",P,[a(o,{t:"Peer Settings"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=s=>this.$emit("close"))})]),this.data?(n(),r("div",$,[e("div",D,[e("div",V,[e("small",U,[a(o,{t:"Public Key"})]),e("small",N,[e("samp",null,h(this.data.id),1)])]),e("div",null,[e("label",K,[e("small",M,[a(o,{t:"Name"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=s=>this.data.name=s),id:"peer_name_textbox",placeholder:""},null,8,A),[[l,this.data.name]])]),e("div",null,[e("div",O,[e("label",R,[e("small",T,[a(o,{t:"Private Key"}),e("code",null,[a(o,{t:"(Required for QR Code and Download)"})])])]),e("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=s=>this.showKey=!this.showKey)},[e("i",{class:f(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),d(e("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=s=>this.data.private_key=s),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,E),[[v,this.data.private_key]])]),e("div",null,[e("label",L,[e("small",q,[a(o,{t:"Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=s=>this.data.allowed_ip=s),id:"peer_allowed_ip_textbox"},null,8,B),[[l,this.data.allowed_ip]])]),e("div",null,[e("label",I,[e("small",J,[a(o,{t:"Endpoint Allowed IPs"}),e("code",null,[a(o,{t:"(Required)"})])])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=s=>this.data.endpoint_allowed_ip=s),id:"peer_endpoint_allowed_ips"},null,8,j),[[l,this.data.endpoint_allowed_ip]])]),e("div",null,[e("label",z,[e("small",Q,[a(o,{t:"DNS"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=s=>this.data.DNS=s),id:"peer_DNS_textbox"},null,8,F),[[l,this.data.DNS]])]),e("div",G,[e("div",H,[e("h2",W,[e("button",X,[a(o,{t:"Optional Settings"})])]),e("div",Y,[e("div",Z,[e("div",null,[e("label",ee,[e("small",te,[a(o,{t:"Pre-Shared Key"})])]),d(e("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=s=>this.data.preshared_key=s),id:"peer_preshared_key_textbox"},null,8,se),[[l,this.data.preshared_key]])]),e("div",null,[e("label",oe,[e("small",ae,[a(o,{t:"MTU"})])]),d(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=s=>this.data.mtu=s),id:"peer_mtu"},null,8,de),[[l,this.data.mtu]])]),e("div",null,[e("label",ie,[e("small",le,[a(o,{t:"Persistent Keepalive"})])]),d(e("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=s=>this.data.keepalive=s),id:"peer_keep_alive"},null,8,ne),[[l,this.data.keepalive]])]),this.data.advanced_security?(n(),r("div",re,[e("label",ce,[e("small",ue,[a(o,{t:"Advanced Security"})])]),e("div",pe,[d(e("input",{type:"radio",class:"btn-check","onUpdate:modelValue":t[10]||(t[10]=s=>this.data.advanced_security=s),value:"on",name:"advanced_security_radio",id:"advanced_security_on",autocomplete:"off"},null,512),[[u,this.data.advanced_security]]),e("label",me,[a(o,{t:"On"})]),d(e("input",{type:"radio","onUpdate:modelValue":t[11]||(t[11]=s=>this.data.advanced_security=s),value:"off",class:"btn-check",name:"advanced_security_radio",id:"advanced_security_off",autocomplete:"off"},null,512),[[u,this.data.advanced_security]]),e("label",_e,[a(o,{t:"Off"})])])])):p("",!0)])])])]),e("div",be,[e("button",{class:"btn bg-secondary-subtle border-secondary-subtle text-secondary-emphasis rounded-3 shadow ms-auto px-3 py-2",onClick:t[12]||(t[12]=s=>this.reset()),disabled:!this.dataChanged||this.saving},[t[17]||(t[17]=e("i",{class:"bi bi-arrow-clockwise me-2"},null,-1)),a(o,{t:"Reset"})],8,he),e("button",{class:"btn bg-primary-subtle border-primary-subtle text-primary-emphasis rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[13]||(t[13]=s=>this.savePeer())},[t[18]||(t[18]=e("i",{class:"bi bi-save-fill me-2"},null,-1)),a(o,{t:"Save"})],8,fe)]),t[22]||(t[22]=e("hr",null,null,-1)),e("div",ve,[e("strong",null,[a(o,{t:"Reset Data Usage"})]),e("div",ge,[e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[14]||(t[14]=s=>this.resetPeerData("total"))},[t[19]||(t[19]=e("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),a(o,{t:"Total"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[15]||(t[15]=s=>this.resetPeerData("receive"))},[t[20]||(t[20]=e("i",{class:"bi bi-arrow-down me-2"},null,-1)),a(o,{t:"Received"})]),e("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[16]||(t[16]=s=>this.resetPeerData("sent"))},[t[21]||(t[21]=e("i",{class:"bi bi-arrow-up me-2"},null,-1)),a(o,{t:"Sent"})])])])])])):p("",!0)])])])])}const $e=m(y,[["render",ye],["__scopeId","data-v-2166fcf9"]]);export{$e as default}; diff --git a/src/static/app/dist/assets/peerShareLinkModal-Cwih6XLa.js b/src/static/app/dist/assets/peerShareLinkModal-DzYO0DNm.js similarity index 84% rename from src/static/app/dist/assets/peerShareLinkModal-Cwih6XLa.js rename to src/static/app/dist/assets/peerShareLinkModal-DzYO0DNm.js index 08f411f..e9d596b 100644 --- a/src/static/app/dist/assets/peerShareLinkModal-Cwih6XLa.js +++ b/src/static/app/dist/assets/peerShareLinkModal-DzYO0DNm.js @@ -1 +1 @@ -import{_ as E,r as v,P as V,I as T,a as i,c,b as e,t as B,e as w,n as x,E as P,s as Y,D as H,h as U,y as k,d as r,m as _,v as $,A as L,w as M,G as A,C as R,l as g,S as j}from"./index-qq0VI3aD.js";import{d as D}from"./dayjs.min-f_AEmQu-.js";import{V as W}from"./vue-datepicker-Ci9-sWjm.js";import{L as h}from"./localeText-miqCUaLJ.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},J={class:"card-body"},q={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},z=["innerText"],F={__name:"peerShareWithEmailBodyPreview",props:["body","selectedPeer"],async setup(s){let t,f;const m=s,b=v(""),p=v(!1),n=v(""),l=async()=>{m.body&&(p.value=!1,b.value="",await P("/api/email/previewBody",{Body:m.body,ConfigurationName:m.selectedPeer.configuration.Name,Peer:m.selectedPeer.id},o=>{o.status?b.value=o.data:n.value=o.message,p.value=!o.status}))};[t,f]=V(()=>l()),await t,f();let d;return T(()=>m.body,async()=>{d===void 0?d=setTimeout(async()=>{await l()},500):(clearTimeout(d),d=setTimeout(async()=>{await l()},500))}),(o,S)=>(i(),c("div",O,[e("div",J,[p.value&&s.body?(i(),c("div",q,[S[0]||(S[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,B(n.value),1)])):w("",!0),s.body?(i(),c("div",{key:1,class:x({"opacity-50":p.value}),innerText:b.value},null,10,z)):w("",!0)])]))}},K=E(F,[["__scopeId","data-v-8cfb4d4d"]]),Q={key:0},X={class:"mb-3"},Z={class:"position-relative"},ee=["disabled","placeholder"],te={class:"position-relative"},se=["placeholder","disabled"],ae={class:"row g-0"},oe=["disabled","placeholder"],ie={key:0,class:"col-6"},le={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},re={class:"card-body d-flex flex-column gap-2"},ne={class:"form-check form-switch ms-auto"},de={class:"form-check-label",for:"livePreview"},ce={class:"form-check form-switch"},ue={class:"form-check-label",for:"includeAttachment"},me=["disabled"],pe={key:0},he={key:1},be={key:1},fe={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen"],async setup(s,{emit:t}){let f,m;const b=s,p=v(!1);[f,m]=V(()=>Y("/api/email/ready",{},y=>{p.value=y.status})),await f,m();const n=H(),l=U({Receiver:"",Body:n.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:b.selectedPeer.configuration.Name,Peer:b.selectedPeer.id}),d=v(!1),o=v(!1),S=async()=>{o.value=!0,await P("/api/email/send",l,y=>{y.status?n.newMessage("Server","Email sent successfully!","success"):n.newMessage("Server",`Email sent failed! Reason: ${y.message}`,"danger"),o.value=!1})},C=y=>A(y),I=t;return T(d,()=>{I("fullscreen",d.value)}),(y,a)=>{const N=k("RouterLink");return p.value?(i(),c("div",Q,[e("h6",X,[r(h,{t:"Share with Email"})]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[5]||(a[5]=u=>{u.preventDefault(),S()})},[e("div",null,[e("div",Z,[a[6]||(a[6]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[0]||(a[0]=u=>l.Receiver=u),disabled:o.value,placeholder:C("Send to who?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ee),[[$,l.Receiver]])]),e("div",te,[a[7]||(a[7]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:C("Subject"),disabled:o.value,"onUpdate:modelValue":a[1]||(a[1]=u=>l.Subject=u),id:"email_subject","aria-describedby":"emailHelp"},null,8,se),[[$,l.Subject]])]),e("div",ae,[e("div",{class:x([d.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[2]||(a[2]=u=>l.Body=u),disabled:o.value,placeholder:C("Body"),style:{height:"400px","max-height":"400px"}},null,8,oe),[[$,l.Body]])],2),d.value?(i(),c("div",ie,[r(K,{body:l.Body,selectedPeer:s.selectedPeer},null,8,["body","selectedPeer"])])):w("",!0)]),e("div",le,[e("div",re,[e("div",ne,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[3]||(a[3]=u=>d.value=u),role:"switch",id:"livePreview"},null,512),[[L,d.value]]),e("label",de,[r(h,{t:"Live Preview"})])])])])]),e("div",ce,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=u=>l.IncludeAttachment=u),role:"switch",id:"includeAttachment"},null,512),[[L,l.IncludeAttachment]]),e("label",ue,[r(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:o.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[o.value?(i(),c("span",he,[a[9]||(a[9]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(h,{t:"Sending..."})])):(i(),c("span",pe,[a[8]||(a[8]=e("i",{class:"bi bi-send me-2"},null,-1)),r(h,{t:"Send"})]))],8,me)],32)])):(i(),c("div",be,[e("small",null,[r(h,{t:"SMTP is not configured, please navigate to "}),r(N,{to:"/settings"},{default:M(()=>[r(h,{t:"Settings"})]),_:1}),r(h,{t:" to finish setup"})])]))}}},ye=E(fe,[["__scopeId","data-v-f7bbc420"]]),ve={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:ye,LocaleText:h,VueDatePicker:W},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1}},setup(){return{store:H()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},_e={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ge={class:"container d-flex h-100 w-100"},Se={class:"card rounded-3 shadow flex-grow-1"},ke={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},we={class:"mb-0"},xe={key:0,class:"card-body px-4 pb-4"},Pe={key:0},Ce={class:"mb-3 text-muted"},$e=["disabled"],De={key:1},Me={class:"d-flex gap-2 mb-4"},Ee=["href"],Le={class:"d-flex flex-column gap-2 mb-3"},Ve=["disabled"],Te={class:"text-muted"};function Be(s,t,f,m,b,p){const n=k("LocaleText"),l=k("VueDatePicker"),d=k("PeerShareWithEmail");return i(),c("div",_e,[e("div",ge,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:R([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",Se,[e("div",ke,[e("h4",we,[r(n,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(i(),c("div",xe,[this.dataCopy?(i(),c("div",De,[e("div",Me,[t[5]||(t[5]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},B(p.getUrl),9,Ee)]),e("div",Le,[e("small",null,[t[6]||(t[6]=e("i",{class:"bi bi-calendar me-2"},null,-1)),r(n,{t:"Expire At"})]),r(l,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("button",{onClick:t[2]||(t[2]=o=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:x({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[7]||(t[7]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)]),2),this.loading?(i(),g(n,{key:0,t:"Stop Sharing..."})):(i(),g(n,{key:1,t:"Stop Sharing"}))],8,Ve),t[9]||(t[9]=e("hr",null,null,-1)),(i(),g(j,null,{fallback:M(()=>[e("h6",Te,[t[8]||(t[8]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),r(n,{t:"Checking SMTP Configuration..."})])]),default:M(()=>[r(d,{onFullscreen:t[3]||(t[3]=o=>{this.fullscreen=o}),selectedPeer:f.selectedPeer,dataCopy:b.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1}))])):(i(),c("div",Pe,[e("h6",Ce,[r(n,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=o=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:x({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[4]||(t[4]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)]),2),this.loading?(i(),g(n,{key:0,t:"Sharing..."})):(i(),g(n,{key:1,t:"Start Sharing"}))],8,$e)]))])):w("",!0)])],4)])])}const Ue=E(ve,[["render",Be]]);export{Ue as default}; +import{_ as E,r as v,P as V,I as B,a as i,c,b as e,t as T,e as x,n as w,E as P,x as Y,D as H,h as U,y as k,d as r,m as _,v as $,s as L,w as M,G as R,B as j,j as g,S as A}from"./index-Bsy8tbGW.js";import{d as D}from"./dayjs.min-fPdQmr57.js";import{V as W}from"./vue-datepicker-JvyILFmR.js";import{L as h}from"./localeText-CoKvgn8T.js";const O={class:"card rounded-0 border-start-0 border-bottom-0 bg-body-secondary",style:{height:"400px",overflow:"scroll"}},J={class:"card-body"},q={key:0,class:"alert alert-danger rounded-3"},G={class:"font-monospace"},z=["innerText"],F={__name:"peerShareWithEmailBodyPreview",props:["body","selectedPeer"],async setup(s){let t,f;const m=s,b=v(""),p=v(!1),n=v(""),l=async()=>{m.body&&(p.value=!1,b.value="",await P("/api/email/previewBody",{Body:m.body,ConfigurationName:m.selectedPeer.configuration.Name,Peer:m.selectedPeer.id},o=>{o.status?b.value=o.data:n.value=o.message,p.value=!o.status}))};[t,f]=V(()=>l()),await t,f();let d;return B(()=>m.body,async()=>{d===void 0?d=setTimeout(async()=>{await l()},500):(clearTimeout(d),d=setTimeout(async()=>{await l()},500))}),(o,S)=>(i(),c("div",O,[e("div",J,[p.value&&s.body?(i(),c("div",q,[S[0]||(S[0]=e("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),e("span",G,T(n.value),1)])):x("",!0),s.body?(i(),c("div",{key:1,class:w({"opacity-50":p.value}),innerText:b.value},null,10,z)):x("",!0)])]))}},K=E(F,[["__scopeId","data-v-8cfb4d4d"]]),Q={key:0},X={class:"mb-3"},Z={class:"position-relative"},ee=["disabled","placeholder"],te={class:"position-relative"},se=["placeholder","disabled"],ae={class:"row g-0"},oe=["disabled","placeholder"],ie={key:0,class:"col-6"},le={class:"card border-top-0 rounded-top-0 rounded-bottom-3 bg-body-tertiary",style:{border:"var(--bs-border-width) solid var(--bs-border-color)"}},re={class:"card-body d-flex flex-column gap-2"},ne={class:"form-check form-switch ms-auto"},de={class:"form-check-label",for:"livePreview"},ce={class:"form-check form-switch"},ue={class:"form-check-label",for:"includeAttachment"},me=["disabled"],pe={key:0},he={key:1},be={key:1},fe={__name:"peerShareWithEmail",props:["dataCopy","selectedPeer"],emits:["fullscreen"],async setup(s,{emit:t}){let f,m;const b=s,p=v(!1);[f,m]=V(()=>Y("/api/email/ready",{},y=>{p.value=y.status})),await f,m();const n=H(),l=U({Receiver:"",Body:n.Configuration.Email.email_template,Subject:"",IncludeAttachment:!1,ConfigurationName:b.selectedPeer.configuration.Name,Peer:b.selectedPeer.id}),d=v(!1),o=v(!1),S=async()=>{o.value=!0,await P("/api/email/send",l,y=>{y.status?n.newMessage("Server","Email sent successfully!","success"):n.newMessage("Server",`Email sent failed! Reason: ${y.message}`,"danger"),o.value=!1})},C=y=>R(y),I=t;return B(d,()=>{I("fullscreen",d.value)}),(y,a)=>{const N=k("RouterLink");return p.value?(i(),c("div",Q,[e("h6",X,[r(h,{t:"Share with Email"})]),e("form",{class:"d-flex gap-3 flex-column",onSubmit:a[5]||(a[5]=u=>{u.preventDefault(),S()})},[e("div",null,[e("div",Z,[a[6]||(a[6]=e("i",{class:"bi bi-person-circle",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"email",class:"form-control rounded-top-3 rounded-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},"onUpdate:modelValue":a[0]||(a[0]=u=>l.Receiver=u),disabled:o.value,placeholder:C("Send to who?"),required:"",id:"email_receiver","aria-describedby":"emailHelp"},null,8,ee),[[$,l.Receiver]])]),e("div",te,[a[7]||(a[7]=e("i",{class:"bi bi-hash",style:{position:"absolute",top:"0.4rem",left:"0.75rem"}},null,-1)),_(e("input",{type:"text",class:"form-control rounded-0 border-top-0 border-bottom-0",style:{"padding-left":"calc( 0.75rem + 24px )"},placeholder:C("Subject"),disabled:o.value,"onUpdate:modelValue":a[1]||(a[1]=u=>l.Subject=u),id:"email_subject","aria-describedby":"emailHelp"},null,8,se),[[$,l.Subject]])]),e("div",ae,[e("div",{class:w([d.value?"col-6":"col-12"])},[_(e("textarea",{class:"form-control rounded-top-0 rounded-bottom-0 font-monospace border-bottom-0","onUpdate:modelValue":a[2]||(a[2]=u=>l.Body=u),disabled:o.value,placeholder:C("Body"),style:{height:"400px","max-height":"400px"}},null,8,oe),[[$,l.Body]])],2),d.value?(i(),c("div",ie,[r(K,{body:l.Body,selectedPeer:s.selectedPeer},null,8,["body","selectedPeer"])])):x("",!0)]),e("div",le,[e("div",re,[e("div",ne,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[3]||(a[3]=u=>d.value=u),role:"switch",id:"livePreview"},null,512),[[L,d.value]]),e("label",de,[r(h,{t:"Live Preview"})])])])])]),e("div",ce,[_(e("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=u=>l.IncludeAttachment=u),role:"switch",id:"includeAttachment"},null,512),[[L,l.IncludeAttachment]]),e("label",ue,[r(h,{t:"Include configuration file as an attachment"})])]),e("button",{disabled:o.value,class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3"},[o.value?(i(),c("span",he,[a[9]||(a[9]=e("span",{class:"spinner-border spinner-border-sm me-2"},null,-1)),r(h,{t:"Sending..."})])):(i(),c("span",pe,[a[8]||(a[8]=e("i",{class:"bi bi-send me-2"},null,-1)),r(h,{t:"Send"})]))],8,me)],32)])):(i(),c("div",be,[e("small",null,[r(h,{t:"SMTP is not configured, please navigate to "}),r(N,{to:"/settings"},{default:M(()=>[r(h,{t:"Settings"})]),_:1}),r(h,{t:" to finish setup"})])]))}}},ye=E(fe,[["__scopeId","data-v-f7bbc420"]]),ve={name:"peerShareLinkModal",props:{selectedPeer:Object},components:{PeerShareWithEmail:ye,LocaleText:h,VueDatePicker:W},data(){return{dataCopy:void 0,loading:!1,fullscreen:!1}},setup(){return{store:H()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0)},watch:{"selectedPeer.ShareLink":{deep:!0,handler(s,t){t.length!==s.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.selectedPeer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,P("/api/sharePeer/create",{Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,ExpireDate:D().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},s=>{s.status?(this.selectedPeer.ShareLink=s.data,this.dataCopy=s.data.at(0)):this.store.newMessage("Server","Share link failed to create. Reason: "+s.message,"danger"),this.loading=!1})},updateLinkExpireDate(){P("/api/sharePeer/update",this.dataCopy,s=>{s.status?(this.dataCopy=s.data.at(0),this.selectedPeer.ShareLink=s.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+s.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=D().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(s){s?this.dataCopy.ExpireDate=D(s).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const s=this.store.getActiveCrossServer();return s?`${s.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},_e={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},ge={class:"container d-flex h-100 w-100"},Se={class:"card rounded-3 shadow flex-grow-1"},ke={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},xe={class:"mb-0"},we={key:0,class:"card-body px-4 pb-4"},Pe={key:0},Ce={class:"mb-3 text-muted"},$e=["disabled"],De={key:1},Me={class:"d-flex gap-2 mb-4"},Ee=["href"],Le={class:"d-flex flex-column gap-2 mb-3"},Ve=["disabled"],Be={class:"text-muted"};function Te(s,t,f,m,b,p){const n=k("LocaleText"),l=k("VueDatePicker"),d=k("PeerShareWithEmail");return i(),c("div",_e,[e("div",ge,[e("div",{class:"m-auto modal-dialog-centered dashboardModal",style:j([this.fullscreen?"width: 100%":"width: 700px"])},[e("div",Se,[e("div",ke,[e("h4",xe,[r(n,{t:"Share Peer"})]),e("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=o=>this.$emit("close"))})]),this.selectedPeer.ShareLink?(i(),c("div",we,[this.dataCopy?(i(),c("div",De,[e("div",Me,[t[5]||(t[5]=e("i",{class:"bi bi-link-45deg"},null,-1)),e("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},T(p.getUrl),9,Ee)]),e("div",Le,[e("small",null,[t[6]||(t[6]=e("i",{class:"bi bi-calendar me-2"},null,-1)),r(n,{t:"Expire At"})]),r(l,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),e("button",{onClick:t[2]||(t[2]=o=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[7]||(t[7]=[e("i",{class:"bi bi-send-slash-fill me-2"},null,-1)]),2),this.loading?(i(),g(n,{key:0,t:"Stop Sharing..."})):(i(),g(n,{key:1,t:"Stop Sharing"}))],8,Ve),t[9]||(t[9]=e("hr",null,null,-1)),(i(),g(A,null,{fallback:M(()=>[e("h6",Be,[t[8]||(t[8]=e("span",{class:"spinner-border me-2 spinner-border-sm",role:"status"},null,-1)),r(n,{t:"Checking SMTP Configuration..."})])]),default:M(()=>[r(d,{onFullscreen:t[3]||(t[3]=o=>{this.fullscreen=o}),selectedPeer:f.selectedPeer,dataCopy:b.dataCopy},null,8,["selectedPeer","dataCopy"])]),_:1}))])):(i(),c("div",Pe,[e("h6",Ce,[r(n,{t:"Currently the peer is not sharing"})]),e("button",{onClick:t[1]||(t[1]=o=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[e("span",{class:w({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},t[4]||(t[4]=[e("i",{class:"bi bi-send-fill me-2"},null,-1)]),2),this.loading?(i(),g(n,{key:0,t:"Sharing..."})):(i(),g(n,{key:1,t:"Start Sharing"}))],8,$e)]))])):x("",!0)])],4)])])}const Ue=E(ve,[["render",Te]]);export{Ue as default}; diff --git a/src/static/app/dist/assets/ping-BeEh6Px6.js b/src/static/app/dist/assets/ping-BeEh6Px6.js deleted file mode 100644 index 703502a..0000000 --- a/src/static/app/dist/assets/ping-BeEh6Px6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as R,D as k,s as b,c as l,b as e,d,m as u,H as _,F as c,k as p,e as m,v as I,t as i,w as f,x as v,a as n,f as g,n as h,C,l as P,y as x}from"./index-qq0VI3aD.js";import{L as w}from"./localeText-miqCUaLJ.js";import{O as A}from"./osmap-m_T5cJB3.js";const S={name:"ping",components:{OSMap:A,LocaleText:w},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:k()}},mounted(){b("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,b("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},N=["disabled"],O=["value"],B={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},H={class:"mb-1 text-muted",for:"ipAddress"},Y=["disabled"],j={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=x("LocaleText"),y=x("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,O))),256))],8,N),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",B,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",H,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,Y),[[I,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",j,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)]),8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)]))])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(n(),l("span",Q,s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ")])))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),P(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:C({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const ke=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{ke as default}; diff --git a/src/static/app/dist/assets/ping-RnINcPPT.js b/src/static/app/dist/assets/ping-RnINcPPT.js new file mode 100644 index 0000000..4703198 --- /dev/null +++ b/src/static/app/dist/assets/ping-RnINcPPT.js @@ -0,0 +1 @@ +import{_ as R,D as k,x as b,c as l,b as e,d,m as u,H as _,F as c,k as p,e as m,v as I,t as i,w as f,l as v,a as n,f as g,n as h,B as P,j as w,y as x}from"./index-Bsy8tbGW.js";import{L as C}from"./localeText-CoKvgn8T.js";import{O as A}from"./osmap-iQEplA0N.js";const S={name:"ping",components:{OSMap:A,LocaleText:C},data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:k()}},mounted(){b("/api/ping/getAllPeersIpAddress",{},a=>{a.status&&(this.loading=!0,this.cips=a.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,b("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},a=>{a.status?this.pingResult=a.data:this.store.newMessage("Server",a.message,"danger"),this.pinging=!1}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},M={class:"mt-md-5 mt-3 text-body"},T={class:"container"},V={class:"row"},$={class:"col-sm-4 d-flex gap-2 flex-column"},L={class:"mb-1 text-muted",for:"configuration"},B=["disabled"],N=["value"],O={class:"mb-1 text-muted",for:"peer"},D=["disabled"],U=["value"],z={class:"mb-1 text-muted",for:"ip"},E=["disabled"],F={class:"d-flex align-items-center gap-2"},G={class:"text-muted"},H={class:"mb-1 text-muted",for:"ipAddress"},j=["disabled"],Y={class:"mb-1 text-muted",for:"count"},q={class:"d-flex gap-3 align-items-center"},J=["disabled"],K=["disabled"],Q={key:0,class:"d-block"},W={key:1,class:"d-block"},X={class:"col-sm-8 position-relative"},Z={key:"pingPlaceholder"},ee={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},se={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},te={class:"card-body row"},ie={class:"col-sm"},ne={class:"mb-0 text-muted"},le={key:0,class:"col-sm"},de={class:"mb-0 text-muted"},oe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},ae={class:"card-body"},re={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},ue={class:"card-body"},ce={class:"mb-0 text-muted"},pe={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},me={class:"card-body"},ge={class:"mb-0 text-muted"};function _e(a,s,he,be,fe,ve){const o=x("LocaleText"),y=x("OSMap");return n(),l("div",M,[e("div",T,[s[19]||(s[19]=e("h3",{class:"mb-3 text-body"},"Ping",-1)),e("div",V,[e("div",$,[e("div",null,[e("label",L,[e("small",null,[d(o,{t:"Configuration"})])]),u(e("select",{class:"form-select","onUpdate:modelValue":s[0]||(s[0]=t=>this.selectedConfiguration=t),disabled:this.pinging},[s[7]||(s[7]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),(n(!0),l(c,null,p(this.cips,(t,r)=>(n(),l("option",{value:r},i(r),9,N))),256))],8,B),[[_,this.selectedConfiguration]])]),e("div",null,[e("label",O,[e("small",null,[d(o,{t:"Peer"})])]),u(e("select",{id:"peer",class:"form-select","onUpdate:modelValue":s[1]||(s[1]=t=>this.selectedPeer=t),disabled:this.selectedConfiguration===void 0||this.pinging},[s[8]||(s[8]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedConfiguration!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration],(t,r)=>(n(),l("option",{value:r},i(r),9,U))),256)):m("",!0)],8,D),[[_,this.selectedPeer]])]),e("div",null,[e("label",z,[e("small",null,[d(o,{t:"IP Address"})])]),u(e("select",{id:"ip",class:"form-select","onUpdate:modelValue":s[2]||(s[2]=t=>this.selectedIp=t),disabled:this.selectedPeer===void 0||this.pinging},[s[9]||(s[9]=e("option",{disabled:"",selected:"",value:void 0},null,-1)),this.selectedPeer!==void 0?(n(!0),l(c,{key:0},p(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,t=>(n(),l("option",null,i(t),1))),256)):m("",!0)],8,E),[[_,this.selectedIp]])]),e("div",F,[s[10]||(s[10]=e("div",{class:"flex-grow-1 border-top"},null,-1)),e("small",G,[d(o,{t:"OR"})]),s[11]||(s[11]=e("div",{class:"flex-grow-1 border-top"},null,-1))]),e("div",null,[e("label",H,[e("small",null,[d(o,{t:"Enter IP Address / Hostname"})])]),u(e("input",{class:"form-control",type:"text",id:"ipAddress",disabled:this.pinging,"onUpdate:modelValue":s[3]||(s[3]=t=>this.selectedIp=t)},null,8,j),[[I,this.selectedIp]])]),s[16]||(s[16]=e("div",{class:"w-100 border-top my-2"},null,-1)),e("div",null,[e("label",Y,[e("small",null,[d(o,{t:"Count"})])]),e("div",q,[e("button",{onClick:s[4]||(s[4]=t=>this.count--),disabled:this.count===1,class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[12]||(s[12]=[e("i",{class:"bi bi-dash-lg"},null,-1)]),8,J),e("strong",null,i(this.count),1),e("button",{role:"button",onClick:s[5]||(s[5]=t=>this.count++),class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis"},s[13]||(s[13]=[e("i",{class:"bi bi-plus-lg"},null,-1)]))])]),e("button",{class:"btn btn-primary rounded-3 mt-3 position-relative",disabled:!this.selectedIp||this.pinging,onClick:s[6]||(s[6]=t=>this.execute())},[d(v,{name:"slide"},{default:f(()=>[this.pinging?(n(),l("span",W,s[15]||(s[15]=[e("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),e("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(n(),l("span",Q,s[14]||(s[14]=[e("i",{class:"bi bi-person-walking me-2"},null,-1),g("Ping! ")])))]),_:1})],8,K)]),e("div",X,[d(v,{name:"ping"},{default:f(()=>[this.pingResult?(n(),l("div",ee,[this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),w(y,{key:0,d:this.pingResult},null,8,["d"])):m("",!0),e("div",se,[e("div",te,[e("div",ie,[e("p",ne,[e("small",null,[d(o,{t:"IP Address"})])]),g(" "+i(this.pingResult.address),1)]),this.pingResult.geo&&this.pingResult.geo.status==="success"?(n(),l("div",le,[e("p",de,[e("small",null,[d(o,{t:"Geolocation"})])]),g(" "+i(this.pingResult.geo.city)+", "+i(this.pingResult.geo.country),1)])):m("",!0)])]),e("div",oe,[e("div",ae,[s[18]||(s[18]=e("p",{class:"mb-0 text-muted"},[e("small",null,"Is Alive")],-1)),e("span",{class:h([this.pingResult.is_alive?"text-success":"text-danger"])},[e("i",{class:h(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),g(" "+i(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),e("div",re,[e("div",ue,[e("p",ce,[e("small",null,[d(o,{t:"Average / Min / Max Round Trip Time"})])]),e("samp",null,i(this.pingResult.avg_rtt)+"ms / "+i(this.pingResult.min_rtt)+"ms / "+i(this.pingResult.max_rtt)+"ms ",1)])]),e("div",pe,[e("div",me,[e("p",ge,[e("small",null,[d(o,{t:"Sent / Received / Lost Package"})])]),e("samp",null,i(this.pingResult.package_sent)+" / "+i(this.pingResult.package_received)+" / "+i(this.pingResult.package_loss),1)])])])):(n(),l("div",Z,[s[17]||(s[17]=e("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px"}},null,-1)),(n(),l(c,null,p(4,t=>e("div",{class:h(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:P({"animation-delay":`${t*.15}s`})},null,6)),64))]))]),_:1})])])])])}const ke=R(S,[["render",_e],["__scopeId","data-v-a08ce97e"]]);export{ke as default}; diff --git a/src/static/app/dist/assets/protocolBadge-C0pu7-u8.js b/src/static/app/dist/assets/protocolBadge-DT7-D9tI.js similarity index 77% rename from src/static/app/dist/assets/protocolBadge-C0pu7-u8.js rename to src/static/app/dist/assets/protocolBadge-DT7-D9tI.js index 7d200f5..59da881 100644 --- a/src/static/app/dist/assets/protocolBadge-C0pu7-u8.js +++ b/src/static/app/dist/assets/protocolBadge-DT7-D9tI.js @@ -1 +1 @@ -import{L as r}from"./localeText-miqCUaLJ.js";import{a as t,c as n,f as s,l as i,e as a}from"./index-qq0VI3aD.js";const d={key:0,class:"badge wireguardBg rounded-3 shadow"},c={key:1,class:"badge amneziawgBg rounded-3 shadow"},u={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(e){return(m,o)=>e.protocol==="wg"?(t(),n("span",d,[o[0]||(o[0]=s(" WireGuard ")),e.mini?a("",!0):(t(),i(r,{key:0,t:"Configuration"}))])):e.protocol==="awg"?(t(),n("span",c,[o[1]||(o[1]=s(" AmneziaWG ")),e.mini?a("",!0):(t(),i(r,{key:0,t:"Configuration"}))])):a("",!0)}};export{u as _}; +import{L as r}from"./localeText-CoKvgn8T.js";import{a as t,c as n,f as s,j as i,e as a}from"./index-Bsy8tbGW.js";const d={key:0,class:"badge wireguardBg rounded-3 shadow"},c={key:1,class:"badge amneziawgBg rounded-3 shadow"},u={__name:"protocolBadge",props:{protocol:String,mini:!1},setup(e){return(m,o)=>e.protocol==="wg"?(t(),n("span",d,[o[0]||(o[0]=s(" WireGuard ")),e.mini?a("",!0):(t(),i(r,{key:0,t:"Configuration"}))])):e.protocol==="awg"?(t(),n("span",c,[o[1]||(o[1]=s(" AmneziaWG ")),e.mini?a("",!0):(t(),i(r,{key:0,t:"Configuration"}))])):a("",!0)}};export{u as _}; diff --git a/src/static/app/dist/assets/restoreConfiguration--tXM7JI_.js b/src/static/app/dist/assets/restoreConfiguration-zRXQz624.js similarity index 93% rename from src/static/app/dist/assets/restoreConfiguration--tXM7JI_.js rename to src/static/app/dist/assets/restoreConfiguration-zRXQz624.js index 1fe4d37..148a54c 100644 --- a/src/static/app/dist/assets/restoreConfiguration--tXM7JI_.js +++ b/src/static/app/dist/assets/restoreConfiguration-zRXQz624.js @@ -1,4 +1,4 @@ -import{_ as E,r as k,o as A,a as n,c as r,b as e,t as y,F as N,k as D,l as f,d as l,n as v,u as W,e as w,h as F,W as G,g as C,I as z,D as T,J as H,m as g,v as _,f as $,E as J,s as Z,w as B,x as V,y as Q}from"./index-qq0VI3aD.js";import{L as o}from"./localeText-miqCUaLJ.js";import{d as X}from"./dayjs.min-f_AEmQu-.js";import{_ as q}from"./protocolBadge-C0pu7-u8.js";import{p as O}from"./index-L60y6kc9.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,x=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(h,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(q,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)]),2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{x("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=E(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},xe={class:"text-muted mb-1",for:"PrivateKey"},he={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Ee={class:"accordion-body d-flex flex-column gap-3"},Te={class:"text-muted mb-1",for:"PreUp"},qe={class:"text-muted mb-1",for:"PreDown"},Me={class:"text-muted mb-1",for:"PostUp"},Ye={class:"text-muted mb-1",for:"PostDown"},je={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},Fe={class:"mb-0"},Ge={key:0},ze={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=F({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),x=u.selectedConfigurationBackup.content.split(` +import{_ as E,r as k,o as A,a as n,c as r,b as e,t as y,F as N,k as D,j as f,d as l,n as v,u as W,e as w,h as F,W as G,g as C,I as z,D as T,J as H,m as g,v as _,f as $,E as J,x as Z,w as B,l as V,y as Q}from"./index-Bsy8tbGW.js";import{L as o}from"./localeText-CoKvgn8T.js";import{d as X}from"./dayjs.min-fPdQmr57.js";import{_ as q}from"./protocolBadge-DT7-D9tI.js";import{p as O}from"./index-L60y6kc9.js";const ee={class:"card rounded-3 shadow-sm"},te={class:"mb-0 d-flex align-items-center gap-3"},se={class:"text-muted ms-auto d-block"},oe={key:0,class:"card-footer p-3 d-flex flex-column gap-2"},le=["onClick","id"],ne={class:"card-body d-flex p-3 gap-3 align-items-center"},ae={__name:"backupGroup",props:{configurationName:String,backups:Array,open:!1,selectedConfigurationBackup:Object,protocol:Array},emits:["select"],setup(m,{emit:u}){const t=m,x=u,p=k(t.open);return A(()=>{t.selectedConfigurationBackup&&document.querySelector(`#${t.selectedConfigurationBackup.filename.replace(".conf","")}`).scrollIntoView({behavior:"smooth"})}),(h,a)=>(n(),r("div",ee,[e("a",{role:"button",class:"card-body d-flex align-items-center text-decoration-none d-flex gap-3",onClick:a[0]||(a[0]=c=>p.value=!p.value)},[e("h6",te,[e("samp",null,y(m.configurationName),1),(n(!0),r(N,null,D(m.protocol,c=>(n(),f(q,{protocol:c},null,8,["protocol"]))),256))]),e("small",se,[l(o,{t:m.backups.length+(m.backups.length>1?" Backups":" Backup")},null,8,["t"])]),e("h5",{class:v(["mb-0 dropdownIcon text-muted",{active:p.value}])},a[1]||(a[1]=[e("i",{class:"bi bi-chevron-down"},null,-1)]),2)]),p.value?(n(),r("div",oe,[(n(!0),r(N,null,D(m.backups,c=>(n(),r("div",{class:"card rounded-3 shadow-sm animate__animated",key:c.filename,onClick:()=>{x("select",c)},id:c.filename.replace(".conf",""),role:"button"},[e("div",ne,[e("small",null,[a[2]||(a[2]=e("i",{class:"bi bi-file-earmark me-2"},null,-1)),e("samp",null,y(c.filename),1)]),e("small",null,[a[3]||(a[3]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),e("samp",null,y(W(X)(c.backupDate).format("YYYY-MM-DD HH:mm:ss")),1)]),e("small",null,[a[4]||(a[4]=e("i",{class:"bi bi-database me-2"},null,-1)),c.database?(n(),f(o,{key:0,t:"Yes"})):(n(),f(o,{key:1,t:"No"}))]),a[5]||(a[5]=e("small",{class:"text-muted ms-auto"},[e("i",{class:"bi bi-chevron-right"})],-1))])],8,le))),128))])):w("",!0)]))}},ie=E(ae,[["__scopeId","data-v-ccf48ac7"]]),re={class:"d-flex flex-column gap-5",id:"confirmBackup"},de={class:"d-flex flex-column gap-3"},ue={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},ce={class:"mb-0"},me={class:"text-muted mb-1"},fe={class:"mb-0"},pe={class:"text-muted mb-1",for:"ConfigurationName"},ve={class:"invalid-feedback"},be={key:0},ge={key:1},_e={class:"mb-0"},ke={class:"row g-3"},ye={class:"col-sm"},xe={class:"text-muted mb-1",for:"PrivateKey"},he={class:"input-group"},Ce={class:"col-sm"},Pe={class:"text-muted mb-1",for:"PublicKey"},we={class:"text-muted mb-1",for:"ListenPort"},$e={class:"invalid-feedback"},Be={key:0},Ne={key:1},De={class:"mb-0"},Ae={class:"text-muted mb-1 d-flex",for:"ListenPort"},Ie={class:"invalid-feedback"},Le={key:0},Se={key:1},Ue={class:"accordion",id:"newConfigurationOptionalAccordion"},Ke={class:"accordion-item"},Re={class:"accordion-header"},Ve={class:"accordion-button collapsed rounded-3",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"},Oe={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},Ee={class:"accordion-body d-flex flex-column gap-3"},Te={class:"text-muted mb-1",for:"PreUp"},qe={class:"text-muted mb-1",for:"PreDown"},je={class:"text-muted mb-1",for:"PostUp"},Me={class:"text-muted mb-1",for:"PostDown"},Ye={class:"d-flex flex-column gap-3"},We={class:"d-flex flex-column flex-sm-row align-items-start align-items-sm-center gap-3"},Fe={class:"mb-0"},Ge={key:0},ze={class:"row g-3"},He={class:"col-sm"},Je={class:"card text-bg-success rounded-3"},Ze={class:"card-body"},Qe={class:"col-sm"},Xe={class:"card text-bg-warning rounded-3"},et={class:"card-body"},tt={class:"d-flex"},st=["disabled"],ot={__name:"confirmBackup",props:{selectedConfigurationBackup:Object},setup(m){const u=m,t=F({ConfigurationName:u.selectedConfigurationBackup.filename.split("_")[0],Backup:u.selectedConfigurationBackup.filename,Protocol:u.selectedConfigurationBackup.protocol}),x=u.selectedConfigurationBackup.content.split(` `);for(let i of x){if(i==="[Peer]")break;if(i.length>0){let s=i.replace(" = ","=").split("=");s[0]==="ListenPort"?t[s[0]]=parseInt(s[1]):t[s[0]]=s[1]}}const p=k(!1),h=k(!1),a=k(""),c=G(),b=C(()=>/^[a-zA-Z0-9_=+.-]{1,15}$/.test(t.ConfigurationName)&&t.ConfigurationName.length>0&&!c.Configurations.find(i=>i.Name===t.ConfigurationName)),P=C(()=>{try{window.wireguard.generatePublicKey(t.PrivateKey)}catch{return!1}return!0}),I=C(()=>t.ListenPort>0&&t.ListenPort<=65353&&Number.isInteger(t.ListenPort)&&!c.Configurations.find(i=>parseInt(i.ListenPort)===t.ListenPort)),L=C(()=>{try{return O(t.Address),!0}catch{return!1}}),S=C(()=>L.value&&I.value&&P.value&&b.value);A(()=>{document.querySelector("main").scrollTo({top:0,behavior:"smooth"}),z(()=>P,i=>{i&&(t.PublicKey=window.wireguard.generatePublicKey(t.PrivateKey))},{immediate:!0})});const U=C(()=>{let i;try{i=O(t.Address)}catch{return 0}return i.end-i.start}),K=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` `).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}"`)>=0).length:0),R=C(()=>u.selectedConfigurationBackup.database?u.selectedConfigurationBackup.databaseContent.split(` -`).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),M=T(),Y=H(),j=async()=>{S.value&&(h.value=!0,await J("/api/addWireguardConfiguration",t,async i=>{i.status?(M.newMessage("Server","Configuration restored","success"),await c.getConfigurations(),await Y.push(`/configuration/${t.ConfigurationName}/peers`)):h.value=!1}))};return(i,s)=>(n(),r("div",re,[e("form",de,[e("div",ue,[e("h4",ce,[l(o,{t:"Configuration"})])]),e("div",null,[e("label",me,[e("small",null,[l(o,{t:"Protocol"})])]),e("h5",fe,[l(q,{protocol:m.selectedConfigurationBackup.protocol,mini:!0},null,8,["protocol"])])]),e("div",null,[e("label",pe,[e("small",null,[l(o,{t:"Configuration Name"})])]),g(e("input",{type:"text",class:v(["form-control rounded-3",[b.value?"is-valid":"is-invalid"]]),placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":s[0]||(s[0]=d=>t.ConfigurationName=d),disabled:"",required:""},null,2),[[_,t.ConfigurationName]]),e("div",ve,[p.value?(n(),r("div",be,y(a.value),1)):(n(),r("div",ge,[l(o,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",_e,[e("li",null,[l(o,{t:"Configuration name already exist."})]),e("li",null,[l(o,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])]),e("div",ke,[e("div",ye,[e("div",null,[e("label",xe,[e("small",null,[l(o,{t:"Private Key"})])]),e("div",he,[g(e("input",{type:"text",class:v(["form-control rounded-start-3",[P.value?"is-valid":"is-invalid"]]),id:"PrivateKey",required:"","onUpdate:modelValue":s[1]||(s[1]=d=>t.PrivateKey=d),disabled:""},null,2),[[_,t.PrivateKey]])])])]),e("div",Ce,[e("div",null,[e("label",Pe,[e("small",null,[l(o,{t:"Public Key"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PublicKey","onUpdate:modelValue":s[2]||(s[2]=d=>t.PublicKey=d),disabled:""},null,512),[[_,t.PublicKey]])])])]),e("div",null,[e("label",we,[e("small",null,[l(o,{t:"Listen Port"})])]),g(e("input",{type:"number",class:v(["form-control rounded-3",[I.value?"is-valid":"is-invalid"]]),placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":s[3]||(s[3]=d=>t.ListenPort=d),disabled:"",required:""},null,2),[[_,t.ListenPort]]),e("div",$e,[p.value?(n(),r("div",Be,y(a.value),1)):(n(),r("div",Ne,[l(o,{t:"Listen Port is invalid. Possible reasons:"}),e("ul",De,[e("li",null,[l(o,{t:"Invalid port."})]),e("li",null,[l(o,{t:"Port is assigned to existing WireGuard Configuration."})])])]))])]),e("div",null,[e("label",Ae,[e("small",null,[l(o,{t:"IP Address/CIDR"})]),e("small",{class:v(["ms-auto",[U.value>0?"text-success":"text-danger"]])},[l(o,{t:U.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[L.value?"is-valid":"is-invalid"]]),placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":s[4]||(s[4]=d=>t.Address=d),disabled:"",required:""},null,2),[[_,t.Address]]),e("div",Ie,[p.value?(n(),r("div",Le,y(a.value),1)):(n(),r("div",Se,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ue,[e("div",Ke,[e("h2",Re,[e("button",Ve,[l(o,{t:"Optional Settings"})])]),e("div",Oe,[e("div",Ee,[e("div",null,[e("label",Te,[e("small",null,[l(o,{t:"PreUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreUp",disabled:"","onUpdate:modelValue":s[5]||(s[5]=d=>t.PreUp=d)},null,512),[[_,t.PreUp]])]),e("div",null,[e("label",qe,[e("small",null,[l(o,{t:"PreDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreDown",disabled:"","onUpdate:modelValue":s[6]||(s[6]=d=>t.PreDown=d)},null,512),[[_,t.PreDown]])]),e("div",null,[e("label",Me,[e("small",null,[l(o,{t:"PostUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostUp",disabled:"","onUpdate:modelValue":s[7]||(s[7]=d=>t.PostUp=d)},null,512),[[_,t.PostUp]])]),e("div",null,[e("label",Ye,[e("small",null,[l(o,{t:"PostDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostDown",disabled:"","onUpdate:modelValue":s[8]||(s[8]=d=>t.PostDown=d)},null,512),[[_,t.PostDown]])])])])])])]),e("div",je,[e("div",We,[e("h4",Fe,[l(o,{t:"Database File"})]),e("h4",{class:v(["mb-0 ms-auto",[m.selectedConfigurationBackup.database?"text-success":"text-danger"]])},[e("i",{class:v(["bi",[m.selectedConfigurationBackup.database?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2)],2)]),m.selectedConfigurationBackup.database?(n(),r("div",Ge,[e("div",ze,[e("div",He,[e("div",Je,[e("div",Ze,[s[10]||(s[10]=e("i",{class:"bi bi-person-fill me-2"},null,-1)),l(o,{t:"Contain"}),s[11]||(s[11]=$()),e("strong",null,y(K.value),1),s[12]||(s[12]=$()),K.value>1?(n(),f(o,{key:0,t:"Peer"})):(n(),f(o,{key:1,t:"Peer"}))])])]),e("div",Qe,[e("div",Xe,[e("div",et,[s[13]||(s[13]=e("i",{class:"bi bi-person-fill-lock me-2"},null,-1)),l(o,{t:"Contain"}),s[14]||(s[14]=$()),e("strong",null,y(R.value),1),s[15]||(s[15]=$()),R.value>1?(n(),f(o,{key:0,t:"Restricted Peers"})):(n(),f(o,{key:1,t:"Restricted Peers"}))])])])])])):w("",!0)]),e("div",tt,[e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!S.value||h.value,onClick:s[9]||(s[9]=d=>j())},[s[16]||(s[16]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),l(o,{t:h.value?"Restoring...":"Restore"},null,8,["t"])],8,st)])]))}},lt={class:"mt-md-5 mt-3 text-body"},nt={class:"container mb-4"},at={class:"mb-5 d-flex align-items-center gap-4"},it={class:"mb-0"},rt={key:0},dt={class:"d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3"},ut={class:"mb-0"},ct={class:"text-muted"},mt={key:0,class:"ms-sm-auto"},ft={class:"text-muted"},pt={key:0,id:"step1Detail"},vt={class:"mb-4"},bt={class:"d-flex gap-3 flex-column"},gt={key:0},_t={class:"card rounded-3"},kt={class:"card-body"},yt={class:"mb-0"},xt={class:"my-5",key:"step2",id:"step2"},ht={class:"text-muted"},Ct={__name:"restoreConfiguration",setup(m){const u=k(void 0);T(),k(!1),A(()=>{Z("/api/getAllWireguardConfigurationBackup",{},h=>{u.value=h.data})});const t=k(!1),x=k(void 0),p=k("");return(h,a)=>{const c=Q("RouterLink");return n(),r("div",lt,[e("div",nt,[e("div",at,[l(c,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:B(()=>a[1]||(a[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1}),e("h2",it,[l(o,{t:"Restore Configuration"})])]),l(V,{name:"fade",appear:""},{default:B(()=>[u.value?(n(),r("div",rt,[e("div",{class:v(["d-flex mb-5 align-items-center steps",{active:!t.value}]),role:"button",onClick:a[0]||(a[0]=b=>t.value=!1),key:"step1"},[e("div",dt,[a[2]||(a[2]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-1-circle-fill"})],-1)),e("div",null,[e("h4",ut,[l(o,{t:"Step 1"})]),e("small",ct,[t.value?(n(),f(o,{key:1,t:"Click to change a backup"})):(n(),f(o,{key:0,t:"Select a backup you want to restore"}))])])]),l(V,{name:"zoomReversed"},{default:B(()=>[t.value?(n(),r("div",mt,[e("small",ft,[l(o,{t:"Selected Backup"})]),e("h6",null,[e("samp",null,y(x.value.filename),1)])])):w("",!0)]),_:1})],2),t.value?w("",!0):(n(),r("div",pt,[e("div",vt,[e("div",bt,[(n(!0),r(N,null,D(Object.keys(u.value.NonExistingConfigurations),b=>(n(),f(ie,{onSelect:P=>{x.value=P,p.value=b,t.value=!0},selectedConfigurationBackup:x.value,open:p.value===b,protocol:[...new Set(u.value.NonExistingConfigurations[b].map(P=>P.protocol))],"configuration-name":b,backups:u.value.NonExistingConfigurations[b]},null,8,["onSelect","selectedConfigurationBackup","open","protocol","configuration-name","backups"]))),256)),Object.keys(u.value.NonExistingConfigurations).length===0?(n(),r("div",gt,[e("div",_t,[e("div",kt,[e("p",yt,[l(o,{t:"You don't have any configuration to restore"})])])])])):w("",!0)])])])),e("div",xt,[e("div",{class:v(["steps d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3",{active:t.value}])},[a[4]||(a[4]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-2-circle-fill"})],-1)),e("div",null,[a[3]||(a[3]=e("h4",{class:"mb-0"},"Step 2",-1)),e("small",ht,[t.value?(n(),f(o,{key:1,t:"Confirm & edit restore information"})):(n(),f(o,{key:0,t:"Backup not selected"}))])])],2)]),t.value?(n(),f(ot,{selectedConfigurationBackup:x.value,key:"confirm"},null,8,["selectedConfigurationBackup"])):w("",!0)])):w("",!0)]),_:1})])])}}},Dt=E(Ct,[["__scopeId","data-v-324df2b1"]]);export{Dt as default}; +`).filter(s=>s.search(`INSERT INTO "${t.ConfigurationName}_restrict_access"`)>=0).length:0),j=T(),M=H(),Y=async()=>{S.value&&(h.value=!0,await J("/api/addWireguardConfiguration",t,async i=>{i.status?(j.newMessage("Server","Configuration restored","success"),await c.getConfigurations(),await M.push(`/configuration/${t.ConfigurationName}/peers`)):h.value=!1}))};return(i,s)=>(n(),r("div",re,[e("form",de,[e("div",ue,[e("h4",ce,[l(o,{t:"Configuration"})])]),e("div",null,[e("label",me,[e("small",null,[l(o,{t:"Protocol"})])]),e("h5",fe,[l(q,{protocol:m.selectedConfigurationBackup.protocol,mini:!0},null,8,["protocol"])])]),e("div",null,[e("label",pe,[e("small",null,[l(o,{t:"Configuration Name"})])]),g(e("input",{type:"text",class:v(["form-control rounded-3",[b.value?"is-valid":"is-invalid"]]),placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":s[0]||(s[0]=d=>t.ConfigurationName=d),disabled:"",required:""},null,2),[[_,t.ConfigurationName]]),e("div",ve,[p.value?(n(),r("div",be,y(a.value),1)):(n(),r("div",ge,[l(o,{t:"Configuration name is invalid. Possible reasons:"}),e("ul",_e,[e("li",null,[l(o,{t:"Configuration name already exist."})]),e("li",null,[l(o,{t:"Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen."})])])]))])]),e("div",ke,[e("div",ye,[e("div",null,[e("label",xe,[e("small",null,[l(o,{t:"Private Key"})])]),e("div",he,[g(e("input",{type:"text",class:v(["form-control rounded-start-3",[P.value?"is-valid":"is-invalid"]]),id:"PrivateKey",required:"","onUpdate:modelValue":s[1]||(s[1]=d=>t.PrivateKey=d),disabled:""},null,2),[[_,t.PrivateKey]])])])]),e("div",Ce,[e("div",null,[e("label",Pe,[e("small",null,[l(o,{t:"Public Key"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PublicKey","onUpdate:modelValue":s[2]||(s[2]=d=>t.PublicKey=d),disabled:""},null,512),[[_,t.PublicKey]])])])]),e("div",null,[e("label",we,[e("small",null,[l(o,{t:"Listen Port"})])]),g(e("input",{type:"number",class:v(["form-control rounded-3",[I.value?"is-valid":"is-invalid"]]),placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":s[3]||(s[3]=d=>t.ListenPort=d),disabled:"",required:""},null,2),[[_,t.ListenPort]]),e("div",$e,[p.value?(n(),r("div",Be,y(a.value),1)):(n(),r("div",Ne,[l(o,{t:"Listen Port is invalid. Possible reasons:"}),e("ul",De,[e("li",null,[l(o,{t:"Invalid port."})]),e("li",null,[l(o,{t:"Port is assigned to existing WireGuard Configuration."})])])]))])]),e("div",null,[e("label",Ae,[e("small",null,[l(o,{t:"IP Address/CIDR"})]),e("small",{class:v(["ms-auto",[U.value>0?"text-success":"text-danger"]])},[l(o,{t:U.value+" Available IP Address"},null,8,["t"])],2)]),g(e("input",{type:"text",class:v(["form-control",[L.value?"is-valid":"is-invalid"]]),placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":s[4]||(s[4]=d=>t.Address=d),disabled:"",required:""},null,2),[[_,t.Address]]),e("div",Ie,[p.value?(n(),r("div",Le,y(a.value),1)):(n(),r("div",Se,[l(o,{t:"IP Address/CIDR is invalid"})]))])]),e("div",Ue,[e("div",Ke,[e("h2",Re,[e("button",Ve,[l(o,{t:"Optional Settings"})])]),e("div",Oe,[e("div",Ee,[e("div",null,[e("label",Te,[e("small",null,[l(o,{t:"PreUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreUp",disabled:"","onUpdate:modelValue":s[5]||(s[5]=d=>t.PreUp=d)},null,512),[[_,t.PreUp]])]),e("div",null,[e("label",qe,[e("small",null,[l(o,{t:"PreDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PreDown",disabled:"","onUpdate:modelValue":s[6]||(s[6]=d=>t.PreDown=d)},null,512),[[_,t.PreDown]])]),e("div",null,[e("label",je,[e("small",null,[l(o,{t:"PostUp"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostUp",disabled:"","onUpdate:modelValue":s[7]||(s[7]=d=>t.PostUp=d)},null,512),[[_,t.PostUp]])]),e("div",null,[e("label",Me,[e("small",null,[l(o,{t:"PostDown"})])]),g(e("input",{type:"text",class:"form-control rounded-3",id:"PostDown",disabled:"","onUpdate:modelValue":s[8]||(s[8]=d=>t.PostDown=d)},null,512),[[_,t.PostDown]])])])])])])]),e("div",Ye,[e("div",We,[e("h4",Fe,[l(o,{t:"Database File"})]),e("h4",{class:v(["mb-0 ms-auto",[m.selectedConfigurationBackup.database?"text-success":"text-danger"]])},[e("i",{class:v(["bi",[m.selectedConfigurationBackup.database?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2)],2)]),m.selectedConfigurationBackup.database?(n(),r("div",Ge,[e("div",ze,[e("div",He,[e("div",Je,[e("div",Ze,[s[10]||(s[10]=e("i",{class:"bi bi-person-fill me-2"},null,-1)),l(o,{t:"Contain"}),s[11]||(s[11]=$()),e("strong",null,y(K.value),1),s[12]||(s[12]=$()),K.value>1?(n(),f(o,{key:0,t:"Peer"})):(n(),f(o,{key:1,t:"Peer"}))])])]),e("div",Qe,[e("div",Xe,[e("div",et,[s[13]||(s[13]=e("i",{class:"bi bi-person-fill-lock me-2"},null,-1)),l(o,{t:"Contain"}),s[14]||(s[14]=$()),e("strong",null,y(R.value),1),s[15]||(s[15]=$()),R.value>1?(n(),f(o,{key:0,t:"Restricted Peers"})):(n(),f(o,{key:1,t:"Restricted Peers"}))])])])])])):w("",!0)]),e("div",tt,[e("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!S.value||h.value,onClick:s[9]||(s[9]=d=>Y())},[s[16]||(s[16]=e("i",{class:"bi bi-clock-history me-2"},null,-1)),l(o,{t:h.value?"Restoring...":"Restore"},null,8,["t"])],8,st)])]))}},lt={class:"mt-md-5 mt-3 text-body"},nt={class:"container mb-4"},at={class:"mb-5 d-flex align-items-center gap-4"},it={class:"mb-0"},rt={key:0},dt={class:"d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3"},ut={class:"mb-0"},ct={class:"text-muted"},mt={key:0,class:"ms-sm-auto"},ft={class:"text-muted"},pt={key:0,id:"step1Detail"},vt={class:"mb-4"},bt={class:"d-flex gap-3 flex-column"},gt={key:0},_t={class:"card rounded-3"},kt={class:"card-body"},yt={class:"mb-0"},xt={class:"my-5",key:"step2",id:"step2"},ht={class:"text-muted"},Ct={__name:"restoreConfiguration",setup(m){const u=k(void 0);T(),k(!1),A(()=>{Z("/api/getAllWireguardConfigurationBackup",{},h=>{u.value=h.data})});const t=k(!1),x=k(void 0),p=k("");return(h,a)=>{const c=Q("RouterLink");return n(),r("div",lt,[e("div",nt,[e("div",at,[l(c,{to:"/",class:"btn btn-dark btn-brand p-2 shadow",style:{"border-radius":"100%"}},{default:B(()=>a[1]||(a[1]=[e("h2",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-arrow-left-circle"})],-1)])),_:1}),e("h2",it,[l(o,{t:"Restore Configuration"})])]),l(V,{name:"fade",appear:""},{default:B(()=>[u.value?(n(),r("div",rt,[e("div",{class:v(["d-flex mb-5 align-items-center steps",{active:!t.value}]),role:"button",onClick:a[0]||(a[0]=b=>t.value=!1),key:"step1"},[e("div",dt,[a[2]||(a[2]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-1-circle-fill"})],-1)),e("div",null,[e("h4",ut,[l(o,{t:"Step 1"})]),e("small",ct,[t.value?(n(),f(o,{key:1,t:"Click to change a backup"})):(n(),f(o,{key:0,t:"Select a backup you want to restore"}))])])]),l(V,{name:"zoomReversed"},{default:B(()=>[t.value?(n(),r("div",mt,[e("small",ft,[l(o,{t:"Selected Backup"})]),e("h6",null,[e("samp",null,y(x.value.filename),1)])])):w("",!0)]),_:1})],2),t.value?w("",!0):(n(),r("div",pt,[e("div",vt,[e("div",bt,[(n(!0),r(N,null,D(Object.keys(u.value.NonExistingConfigurations),b=>(n(),f(ie,{onSelect:P=>{x.value=P,p.value=b,t.value=!0},selectedConfigurationBackup:x.value,open:p.value===b,protocol:[...new Set(u.value.NonExistingConfigurations[b].map(P=>P.protocol))],"configuration-name":b,backups:u.value.NonExistingConfigurations[b]},null,8,["onSelect","selectedConfigurationBackup","open","protocol","configuration-name","backups"]))),256)),Object.keys(u.value.NonExistingConfigurations).length===0?(n(),r("div",gt,[e("div",_t,[e("div",kt,[e("p",yt,[l(o,{t:"You don't have any configuration to restore"})])])])])):w("",!0)])])])),e("div",xt,[e("div",{class:v(["steps d-flex text-decoration-none text-body flex-grow-1 align-items-center gap-3",{active:t.value}])},[a[4]||(a[4]=e("h1",{class:"mb-0",style:{"line-height":"0"}},[e("i",{class:"bi bi-2-circle-fill"})],-1)),e("div",null,[a[3]||(a[3]=e("h4",{class:"mb-0"},"Step 2",-1)),e("small",ht,[t.value?(n(),f(o,{key:1,t:"Confirm & edit restore information"})):(n(),f(o,{key:0,t:"Backup not selected"}))])])],2)]),t.value?(n(),f(ot,{selectedConfigurationBackup:x.value,key:"confirm"},null,8,["selectedConfigurationBackup"])):w("",!0)])):w("",!0)]),_:1})])])}}},Dt=E(Ct,[["__scopeId","data-v-324df2b1"]]);export{Dt as default}; diff --git a/src/static/app/dist/assets/schedulePeerJob-EFi1-jqz.js b/src/static/app/dist/assets/schedulePeerJob-Dzn4I5cg.js similarity index 95% rename from src/static/app/dist/assets/schedulePeerJob-EFi1-jqz.js rename to src/static/app/dist/assets/schedulePeerJob-Dzn4I5cg.js index 872fbd9..2b52176 100644 --- a/src/static/app/dist/assets/schedulePeerJob-EFi1-jqz.js +++ b/src/static/app/dist/assets/schedulePeerJob-Dzn4I5cg.js @@ -1 +1 @@ -import{_,a as d,c as r,b as s,t as m,n as y,F as j,k as S,e as f,r as h,D as k,E as v,y as b,d as n,l as x,m as D,v as $,f as p}from"./index-qq0VI3aD.js";import{V as J}from"./vue-datepicker-Ci9-sWjm.js";import{d as V}from"./dayjs.min-f_AEmQu-.js";import{L as C}from"./localeText-miqCUaLJ.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},P=["onClick"],F={key:0,class:"bi bi-check ms-auto"};function L(t,e,l,o,c,w){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,m(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",null,m(a.display),1),a.value===this.currentSelection.value?(d(),r("i",F)):f("",!0)],8,P)]))),256)):f("",!0)])])}const T=_(O,[["render",L],["__scopeId","data-v-6a5aba2a"]]),A={name:"schedulePeerJob",components:{LocaleText:C,VueDatePicker:J,ScheduleDropdown:T},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const c=k();return{job:e,edit:l,newJob:o,store:c}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob/",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob/",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=V(t).format("YYYY-MM-DD HH:mm:ss"))}}},E={class:"card-header bg-transparent text-muted border-0"},U={key:0,class:"d-flex"},H={class:"me-auto"},B={key:1},I={class:"badge text-bg-warning"},Y={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},z=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},Q={key:0,class:"ms-auto d-flex gap-3"},R={key:1,class:"ms-auto d-flex gap-3"};function W(t,e,l,o,c,w){const a=b("LocaleText"),u=b("ScheduleDropdown"),g=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",E,[this.newJob?(d(),r("small",B,[s("span",I,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",U,[s("strong",H,[n(a,{t:"Job ID"})]),s("samp",null,m(this.job.JobID),1)]))]),s("div",Y,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(g,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,z)),[[$,this.job.Value]]),s("samp",null,m(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",R,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ")),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ")),n(a,{t:"Save"})])])):(d(),r("div",Q,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ")),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ")),n(a,{t:"Delete"})])]))])])],2)}const se=_(A,[["render",W],["__scopeId","data-v-8f3f1b93"]]);export{se as S,T as a}; +import{_,a as d,c as r,b as s,t as m,n as y,F as j,k as S,e as f,r as h,D as k,E as v,y as b,d as n,j as x,m as D,v as $,f as p}from"./index-Bsy8tbGW.js";import{V as J}from"./vue-datepicker-JvyILFmR.js";import{d as V}from"./dayjs.min-fPdQmr57.js";import{L as C}from"./localeText-CoKvgn8T.js";const O={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(t){t.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(t=>t.value===this.data)}}},M={class:"dropdown scheduleDropdown"},N={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},P=["onClick"],F={key:0,class:"bi bi-check ms-auto"};function L(t,e,l,o,c,w){return d(),r("div",M,[s("button",{class:y(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!l.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[s("samp",null,m(this.currentSelection.display),1)],2),s("ul",N,[l.edit?(d(!0),r(j,{key:0},S(this.options,a=>(d(),r("li",null,[s("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:u=>t.$emit("update",a.value)},[s("samp",null,m(a.display),1),a.value===this.currentSelection.value?(d(),r("i",F)):f("",!0)],8,P)]))),256)):f("",!0)])])}const T=_(O,[["render",L],["__scopeId","data-v-6a5aba2a"]]),A={name:"schedulePeerJob",components:{LocaleText:C,VueDatePicker:J,ScheduleDropdown:T},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(t){const e=h({}),l=h(!1),o=h(!1);e.value=JSON.parse(JSON.stringify(t.pjob)),e.value.CreationDate||(l.value=!0,o.value=!0);const c=k();return{job:e,edit:l,newJob:o,store:c}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(t){this.edit||(this.job=JSON.parse(JSON.stringify(t)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?v("/api/savePeerScheduleJob/",{Job:this.job},t=>{t.status?(this.edit=!1,this.store.newMessage("Server","Peer job saved","success"),console.log(t.data),this.$emit("refresh",t.data[0]),this.newJob=!1):this.store.newMessage("Server",t.message,"danger")}):this.alert()},alert(){let t="animate__flash",e=this.$el.querySelectorAll(".scheduleDropdown"),l=this.$el.querySelectorAll("input");e.forEach(o=>o.classList.add("animate__animated",t)),l.forEach(o=>o.classList.add("animate__animated",t)),setTimeout(()=>{e.forEach(o=>o.classList.remove("animate__animated",t)),l.forEach(o=>o.classList.remove("animate__animated",t))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&v("/api/deletePeerScheduleJob/",{Job:this.job},t=>{t.status?this.store.newMessage("Server","Peer job deleted","success"):(this.store.newMessage("Server",t.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(t){t&&(this.job.Value=V(t).format("YYYY-MM-DD HH:mm:ss"))}}},E={class:"card-header bg-transparent text-muted border-0"},U={key:0,class:"d-flex"},H={class:"me-auto"},B={key:1},I={class:"badge text-bg-warning"},Y={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},q={class:"d-flex gap-2 align-items-center mb-2"},z=["disabled"],G={class:"px-5 d-flex gap-2 align-items-center"},K={class:"d-flex gap-3"},Q={key:0,class:"ms-auto d-flex gap-3"},R={key:1,class:"ms-auto d-flex gap-3"};function W(t,e,l,o,c,w){const a=b("LocaleText"),u=b("ScheduleDropdown"),g=b("VueDatePicker");return d(),r("div",{class:y(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[s("div",E,[this.newJob?(d(),r("small",B,[s("span",I,[n(a,{t:"Unsaved Job"})])])):(d(),r("small",U,[s("strong",H,[n(a,{t:"Job ID"})]),s("samp",null,m(this.job.JobID),1)]))]),s("div",Y,[s("div",q,[s("samp",null,[n(a,{t:"if"})]),n(u,{edit:o.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:e[0]||(e[0]=i=>{this.job.Field=i})},null,8,["edit","options","data"]),s("samp",null,[n(a,{t:"is"})]),n(u,{edit:o.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:e[1]||(e[1]=i=>this.job.Operator=i)},null,8,["edit","options","data"]),this.job.Field==="date"?(d(),x(g,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!o.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):D((d(),r("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!o.edit,"onUpdate:modelValue":e[2]||(e[2]=i=>this.job.Value=i),style:{width:"auto"}},null,8,z)),[[$,this.job.Value]]),s("samp",null,m(this.dropdowns.Field.find(i=>i.value===this.job.Field)?.unit)+" { ",1)]),s("div",G,[s("samp",null,[n(a,{t:"then"})]),n(u,{edit:o.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:e[3]||(e[3]=i=>this.job.Action=i)},null,8,["edit","options","data"])]),s("div",K,[e[12]||(e[12]=s("samp",null,"}",-1)),this.edit?(d(),r("div",R,[s("a",{role:"button",class:"text-secondary text-decoration-none",onClick:e[6]||(e[6]=i=>this.reset())},[e[10]||(e[10]=p("[C] ")),n(a,{t:"Cancel"})]),s("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:e[7]||(e[7]=i=>this.save())},[e[11]||(e[11]=p("[S] ")),n(a,{t:"Save"})])])):(d(),r("div",Q,[s("a",{role:"button",class:"ms-auto text-decoration-none",onClick:e[4]||(e[4]=i=>this.edit=!0)},[e[8]||(e[8]=p("[E] ")),n(a,{t:"Edit"})]),s("a",{role:"button",onClick:e[5]||(e[5]=i=>this.delete()),class:"text-danger text-decoration-none"},[e[9]||(e[9]=p("[D] ")),n(a,{t:"Delete"})])]))])])],2)}const se=_(A,[["render",W],["__scopeId","data-v-8f3f1b93"]]);export{se as S,T as a}; diff --git a/src/static/app/dist/assets/selectPeers-xuWFNlnr.js b/src/static/app/dist/assets/selectPeers-C8QoMvtN.js similarity index 97% rename from src/static/app/dist/assets/selectPeers-xuWFNlnr.js rename to src/static/app/dist/assets/selectPeers-C8QoMvtN.js index f9dd851..6aa9e85 100644 --- a/src/static/app/dist/assets/selectPeers-xuWFNlnr.js +++ b/src/static/app/dist/assets/selectPeers-C8QoMvtN.js @@ -1 +1 @@ -import{_ as R,r as g,g as j,I as A,K as F,D as M,h as O,a3 as C,a as o,c as n,b as t,d as r,e as b,m as z,v as G,F as p,k as K,n as w,t as S,f as h,E as Y,s as q}from"./index-qq0VI3aD.js";import{L as d}from"./localeText-miqCUaLJ.js";const H={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},J={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=j(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);A(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),N=M(),_=$,v=g(!1),T=()=>{v.value=!0,Y(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{N.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=O({success:[],failed:[]}),I=C("card-body"),L=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)I.value.scrollTo({top:L.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await q("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),E=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=E,k.click(),c.success.push(a)}else c.failed.push(a)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(o(),n("div",H,[t("div",J,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(o(),n("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(o(),n("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),z(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[G,m.value]])])]),t("div",le,[(o(!0),n(p,null,K(B.value,l=>(o(),n("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(o(),n("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(o(),n("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(o(),n("span",ue)):(o(),n("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(o(),n(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>U())},e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)]),8,fe),s.value.length>0?(o(),n("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)]),8,ve)],64)):u.value?(o(),n(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... "))])):(o(),n(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>V()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(o(),n(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>T())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(o(),n("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? "))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=R(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; +import{_ as R,r as g,g as j,I as A,K as F,D as M,h as O,a3 as C,a as o,c as n,b as t,d as r,e as b,m as z,v as G,F as p,k as K,n as w,t as S,f as h,E as Y,x as q}from"./index-Bsy8tbGW.js";import{L as d}from"./localeText-CoKvgn8T.js";const H={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll",ref:"selectPeersContainer"},J={class:"container d-flex h-100 w-100"},Q={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"700px"}},W={class:"card rounded-3 shadow flex-grow-1"},X={class:"card-header bg-transparent d-flex align-items-center gap-2 p-4 flex-column pb-3"},Z={class:"mb-2 w-100 d-flex"},ee={class:"mb-0"},te={class:"d-flex w-100 align-items-center gap-2"},se={class:"d-flex gap-3"},le={class:"card-body px-4 flex-grow-1 d-flex gap-2 flex-column position-relative",ref:"card-body",style:{"overflow-y":"scroll"}},ae=["onClick","disabled","data-id"],oe={key:0},ne={class:"d-flex flex-column"},ie={class:"fw-bold"},re={class:"text-muted"},de={key:1,class:"ms-auto"},ue={key:0,class:"spinner-border spinner-border-sm",role:"status"},ce={class:"card-footer px-4 py-3 gap-2 d-flex align-items-center"},fe=["disabled"],be={key:0,class:"flex-grow-1 text-center"},ve=["disabled"],me={key:0,class:"flex-grow-1 text-center"},ge=["disabled"],pe={key:0,class:"flex-grow-1 text-center"},he=["disabled"],xe={__name:"selectPeers",props:{configurationPeers:Array},emits:["refresh","close"],setup(x,{emit:$}){const y=x,f=g(!1),u=g(!1),s=g([]),m=g(""),D=a=>{s.value.find(e=>e===a)?s.value=s.value.filter(e=>e!==a):s.value.push(a)},B=j(()=>f.value||u.value?y.configurationPeers.filter(a=>s.value.find(e=>e===a.id)):m.value.length>0?y.configurationPeers.filter(a=>a.id.includes(m.value)||a.name.includes(m.value)):y.configurationPeers);A(s,()=>{s.value.length===0&&(f.value=!1,u.value=!1)});const P=F(),N=M(),_=$,v=g(!1),T=()=>{v.value=!0,Y(`/api/deletePeers/${P.params.id}`,{peers:s.value},a=>{N.newMessage("Server",a.message,a.status?"success":"danger"),a.status&&(s.value=[],f.value=!1),_("refresh"),v.value=!1})},c=O({success:[],failed:[]}),I=C("card-body"),L=C("sp"),U=async()=>{u.value=!0;for(const a of s.value)I.value.scrollTo({top:L.value.find(e=>e.dataset.id===a).offsetTop-20,behavior:"smooth"}),await q("/api/downloadPeer/"+P.params.id,{id:a},e=>{if(e.status){const l=new Blob([e.data.file],{type:"text/plain"}),i=URL.createObjectURL(l),E=`${e.data.fileName}.conf`,k=document.createElement("a");k.href=i,k.download=E,k.click(),c.success.push(a)}else c.failed.push(a)})},V=()=>{c.success=[],c.failed=[],u.value=!1};return(a,e)=>(o(),n("div",H,[t("div",J,[t("div",Q,[t("div",W,[t("div",X,[t("div",Z,[t("h4",ee,[r(d,{t:"Select Peers"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=l=>_("close"))})]),t("div",te,[t("div",se,[!u.value&&s.value.length!==x.configurationPeers.map(l=>l.id).length?(o(),n("a",{key:0,role:"button",onClick:e[1]||(e[1]=l=>s.value=x.configurationPeers.map(i=>i.id)),class:"text-decoration-none text-body"},[t("small",null,[e[9]||(e[9]=t("i",{class:"bi bi-check-all me-2"},null,-1)),r(d,{t:"Select All"})])])):b("",!0),s.value.length>0&&!u.value?(o(),n("a",{key:1,role:"button",class:"text-decoration-none text-body",onClick:e[2]||(e[2]=l=>s.value=[])},[t("small",null,[e[10]||(e[10]=t("i",{class:"bi bi-x-circle-fill me-2"},null,-1)),r(d,{t:"Clear Selection"})])])):b("",!0)]),e[11]||(e[11]=t("label",{class:"ms-auto",for:"selectPeersSearchInput"},[t("i",{class:"bi bi-search"})],-1)),z(t("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":e[3]||(e[3]=l=>m.value=l),id:"selectPeersSearchInput",style:{width:"200px !important"},type:"text"},null,512),[[G,m.value]])])]),t("div",le,[(o(!0),n(p,null,K(B.value,l=>(o(),n("button",{type:"button",class:w(["btn w-100 peerBtn text-start rounded-3 d-flex align-items-center gap-3",{active:s.value.find(i=>i===l.id)}]),onClick:i=>D(l.id),key:l.id,disabled:f.value||u.value,ref_for:!0,ref:"sp","data-id":l.id},[u.value?b("",!0):(o(),n("span",oe,[t("i",{class:w(["bi",[s.value.find(i=>i===l.id)?"bi-check-circle-fill":"bi-circle"]])},null,2)])),t("span",ne,[t("small",ie,S(l.name?l.name:"Untitled Peer"),1),t("small",re,[t("samp",null,S(l.id),1)])]),u.value?(o(),n("span",de,[!c.success.find(i=>i===l.id)&&!c.failed.find(i=>i===l.id)?(o(),n("span",ue)):(o(),n("i",{key:1,class:w(["bi",[c.failed.find(i=>i===l.id)?"bi-x-circle-fill":"bi-check-circle-fill"]])},null,2))])):b("",!0)],10,ae))),128))],512),t("div",ce,[!f.value&&!u.value?(o(),n(p,{key:0},[t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-3",disabled:s.value.length===0||v.value,onClick:e[4]||(e[4]=l=>U())},e[12]||(e[12]=[t("i",{class:"bi bi-download"},null,-1)]),8,fe),s.value.length>0?(o(),n("span",be,[e[13]||(e[13]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"])])):b("",!0),t("button",{class:"btn bg-danger-subtle text-danger-emphasis border-danger-subtle ms-auto rounded-3",onClick:e[5]||(e[5]=l=>f.value=!0),disabled:s.value.length===0||v.value},e[14]||(e[14]=[t("i",{class:"bi bi-trash"},null,-1)]),8,ve)],64)):u.value?(o(),n(p,{key:1},[c.failed.length+c.success.length1?"s":"")},null,8,["t"]),e[16]||(e[16]=h("... "))])):(o(),n(p,{key:1},[t("strong",null,[r(d,{t:"Download Finished"})]),t("button",{onClick:e[6]||(e[6]=l=>V()),class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle rounded-3 ms-auto"},[r(d,{t:"Done"})])],64))],64)):f.value?(o(),n(p,{key:2},[t("button",{class:"btn btn-danger rounded-3",disabled:s.value.length===0||v.value,onClick:e[7]||(e[7]=l=>T())},[r(d,{t:"Yes"})],8,ge),s.value.length>0?(o(),n("strong",pe,[r(d,{t:"Are you sure to delete"}),e[17]||(e[17]=h()),r(d,{t:s.value.length+" Peer"+(s.value.length>1?"s":"")},null,8,["t"]),e[18]||(e[18]=h("? "))])):b("",!0),t("button",{class:"btn bg-secondary-subtle text-secondary-emphasis border border-secondary-subtle ms-auto rounded-3",disabled:s.value.length===0||v.value,onClick:e[8]||(e[8]=l=>f.value=!1)},[r(d,{t:"No"})],8,he)],64)):b("",!0)])])])])],512))}},we=R(xe,[["__scopeId","data-v-177407c1"]]);export{we as default}; diff --git a/src/static/app/dist/assets/settings-CTsJUPTm.js b/src/static/app/dist/assets/settings-DI91zM2r.js similarity index 96% rename from src/static/app/dist/assets/settings-CTsJUPTm.js rename to src/static/app/dist/assets/settings-DI91zM2r.js index 11d78d7..36d64a4 100644 --- a/src/static/app/dist/assets/settings-CTsJUPTm.js +++ b/src/static/app/dist/assets/settings-DI91zM2r.js @@ -1 +1 @@ -import{_ as k,D as y,q as I,E as v,a as n,c as l,b as t,d as i,m as b,v as f,n as $,t as D,e as _,y as m,W as M,f as S,A as L,l as x,F as C,s as E,w as F,k as V,T as j,x as U,r as T,g as z,o as O,u as w,H as q}from"./index-qq0VI3aD.js";import{L as p}from"./localeText-miqCUaLJ.js";import{d as A}from"./dayjs.min-f_AEmQu-.js";import{V as Q}from"./vue-datepicker-Ci9-sWjm.js";const J={components:{LocaleText:p},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await v("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},X={class:"form-group mb-2"},Z=["for"],tt=["id","disabled"],et={class:"invalid-feedback"},st={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function at(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",X,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,Z),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation()),disabled:this.updating},null,42,tt),[[f,this.value]]),t("div",et,D(this.invalidFeedback),1),c.warning?(n(),l("div",st,[t("small",null,[e[3]||(e[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:c.warningText},null,8,["t"])])])):_("",!0)])}const it=k(J,[["render",at]]),ot=s=>{},nt={name:"accountSettingsInputUsername",components:{LocaleText:p},props:{targetData:String,title:String},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(s){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1}))}}},lt={class:"form-group mb-2"},dt=["for"],rt=["id","disabled"],ut={class:"invalid-feedback"};function ct(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",lt,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,dt),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation()),disabled:this.updating},null,42,rt),[[f,this.value]]),t("div",ut,D(this.invalidFeedback),1)])}const ht=k(nt,[["render",ct]]),mt={name:"accountSettingsInputPassword",components:{LocaleText:p},props:{targetData:String,warning:!1,warningText:""},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(s=>s.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await v("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(s=>s.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},pt={class:"d-flex flex-column gap-2"},gt={class:"row g-2"},bt={class:"col-sm"},_t={class:"form-group"},ft=["for"],vt=["id"],yt={key:0,class:"invalid-feedback d-block"},wt={class:"col-sm"},$t={class:"form-group"},kt=["for"],xt=["id"],Dt={class:"col-sm"},St={class:"form-group"},It=["for"],Ct=["id"],Pt=["disabled"];function At(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("form",pt,[t("div",gt,[t("div",bt,[t("div",_t,[t("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"Current Password"})])])],8,ft),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":e[0]||(e[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,vt),[[f,this.value.currentPassword]]),u.showInvalidFeedback?(n(),l("div",yt,D(this.invalidFeedback),1)):_("",!0)])]),t("div",wt,[t("div",$t,[t("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"New Password"})])])],8,kt),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":e[1]||(e[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,xt),[[f,this.value.newPassword]])])]),t("div",Dt,[t("div",St,[t("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"Repeat New Password"})])])],8,It),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":e[2]||(e[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,Ct),[[f,this.value.repeatNewPassword]])])])]),t("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:e[3]||(e[3]=a=>this.useValidation())},[e[4]||(e[4]=t("i",{class:"bi bi-save2-fill me-2"},null,-1)),i(o,{t:"Update Password"})],8,Pt)])}const Tt=k(mt,[["render",At]]),Vt={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:p},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=y(),e=M(),c=`input_${I()}`;return{store:s,uuid:c,WireguardConfigurationStore:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},Kt={class:"card"},Ft={class:"card-header"},Lt={class:"my-2"},Et={class:"card-body"},Mt={class:"form-group"},Ut=["for"],Wt={class:"d-flex gap-2 align-items-start"},Nt={class:"flex-grow-1"},Gt=["id","disabled"],Rt={class:"invalid-feedback fw-bold"},Yt=["disabled"],Ht={key:0,class:"bi bi-save2-fill"},Bt={key:1,class:"spinner-border spinner-border-sm"},jt={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function zt(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",Kt,[t("div",Ft,[t("h6",Lt,[i(o,{t:"Path"})])]),t("div",Et,[t("div",Mt,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,Ut),t("div",Wt,[t("div",Nt,[b(t("input",{type:"text",class:$(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),disabled:this.updating},null,42,Gt),[[f,this.value]]),t("div",Rt,D(this.invalidFeedback),1)]),t("button",{onClick:e[2]||(e[2]=a=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),l("span",Bt)):(n(),l("i",Ht))],8,Yt)]),c.warning?(n(),l("div",jt,[t("small",null,[e[3]||(e[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:c.warningText},null,8,["t"])])])):_("",!0)])])])}const Ot=k(Vt,[["render",zt]]),qt={name:"dashboardTheme",components:{LocaleText:p},setup(){return{dashboardConfigurationStore:y()}},methods:{async switchTheme(s){await v("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:s},e=>{e.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=s)})}}},Qt={class:"text-muted mb-1 d-block"},Jt={class:"d-flex gap-1"};function Xt(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("small",Qt,[t("strong",null,[i(o,{t:"Theme"})])]),t("div",Jt,[t("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:e[0]||(e[0]=a=>this.switchTheme("light"))},[e[2]||(e[2]=t("i",{class:"bi bi-sun-fill me-2"},null,-1)),i(o,{t:"Light"})],2),t("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:e[1]||(e[1]=a=>this.switchTheme("dark"))},[e[3]||(e[3]=t("i",{class:"bi bi-moon-fill me-2"},null,-1)),i(o,{t:"Dark"})],2)])])}const Zt=k(qt,[["render",Xt]]),te={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await v("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message)})}}},ee={class:"invalid-feedback d-block mt-0"},se={class:"row"},ae={class:"form-group mb-2 col-sm"},ie=["for"],oe=["id"],ne={class:"form-group col-sm"},le=["for"],de=["id"];function re(s,e,c,h,u,g){return n(),l("div",null,[t("div",ee,D(this.invalidFeedback),1),t("div",se,[t("div",ae,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},e[2]||(e[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)]),8,ie),b(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":e[0]||(e[0]=o=>this.app_ip=o)},null,8,oe),[[f,this.app_ip]]),e[3]||(e[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),S(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",ne,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},e[4]||(e[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)]),8,le),b(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":e[1]||(e[1]=o=>this.app_port=o)},null,8,de),[[f,this.app_port]])])]),e[5]||(e[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),S("Update Dashboard Settings & Restart ")],-1))])}const ue=k(te,[["render",re]]),ce={name:"newDashboardAPIKey",components:{LocaleText:p,VueDatePicker:Q},data(){return{newKeyData:{ExpiredAt:A().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),neverExpire:!1},submitting:!1}},setup(){return{store:y()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,v("/api/newDashboardAPIKey",this.newKeyData,s=>{s.status?(this.$emit("created",s.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",s.message,"danger"),this.submitting=!1})},fixDate(s){return console.log(A(s).format("YYYY-MM-DDTHH:mm:ss")),A(s).format("YYYY-MM-DDTHH:mm:ss")},parseTime(s){s?this.newKeyData.ExpiredAt=A(s).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},he={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)"}},me={class:"card m-auto rounded-3 mt-5"},pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ge={class:"mb-0"},be={class:"card-body d-flex gap-2 p-4 flex-column"},_e={class:"text-muted"},fe={class:"d-flex align-items-center gap-2"},ve={class:"form-check"},ye=["disabled"],we={class:"form-check-label",for:"neverExpire"},$e={key:0,class:"bi bi-check-lg me-2"};function ke(s,e,c,h,u,g){const o=m("LocaleText"),a=m("VueDatePicker");return n(),l("div",he,[t("div",me,[t("div",pe,[t("h6",ge,[i(o,{t:"Create API Key"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=r=>this.$emit("close"))})]),t("div",be,[t("small",_e,[i(o,{t:"When should this API Key expire?"})]),t("div",fe,[i(a,{is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.neverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),t("div",ve,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=r=>this.newKeyData.neverExpire=r),id:"neverExpire",disabled:this.submitting},null,8,ye),[[L,this.newKeyData.neverExpire]]),t("label",we,[i(o,{t:"Never Expire"}),e[3]||(e[3]=S(" (")),e[4]||(e[4]=t("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),i(o,{t:"Don't think that's a good idea"}),e[5]||(e[5]=S(") "))])]),t("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:e[2]||(e[2]=r=>this.submitNewAPIKey())},[this.submitting?_("",!0):(n(),l("i",$e)),this.submitting?(n(),x(o,{key:1,t:"Creating..."})):(n(),x(o,{key:2,t:"Create"}))],2)])])])}const xe=k(ce,[["render",ke]]),De={name:"dashboardAPIKey",components:{LocaleText:p},props:{apiKey:Object},setup(){return{store:y()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){v("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},s=>{s.status?(this.$emit("deleted",s.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",s.message,"danger")})}}},Se={class:"card rounded-3 shadow-sm"},Ie={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Ce={class:"d-flex align-items-center gap-2"},Pe={class:"text-muted"},Ae={style:{"word-break":"break-all"}},Te={class:"d-flex align-items-center gap-2 ms-auto"},Ve={class:"text-muted"},Ke={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Fe(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",Se,[this.confirmDelete?(n(),l(C,{key:1},[this.store.getActiveCrossServer()?_("",!0):(n(),l("div",Ke,[i(o,{t:"Are you sure to delete this API key?"}),t("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:e[1]||(e[1]=a=>this.deleteAPIKey())},e[4]||(e[4]=[t("i",{class:"bi bi-check-lg"},null,-1)])),t("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:e[2]||(e[2]=a=>this.confirmDelete=!1)},e[5]||(e[5]=[t("i",{class:"bi bi-x-lg"},null,-1)]))]))],64)):(n(),l("div",Ie,[t("div",Ce,[t("small",Pe,[i(o,{t:"Key"})]),t("span",Ae,D(this.apiKey.Key),1)]),t("div",Te,[t("small",Ve,[i(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?_("",!0):(n(),x(o,{key:0,t:"Never Expire"})),t("span",null,D(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?_("",!0):(n(),l("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[0]||(e[0]=a=>this.confirmDelete=!0)},e[3]||(e[3]=[t("i",{class:"bi bi-trash-fill"},null,-1)])))]))])}const Le=k(De,[["render",Fe],["__scopeId","data-v-a76253c8"]]),Ee={name:"dashboardAPIKeys",components:{LocaleText:p,DashboardAPIKey:Le,NewDashboardAPIKey:xe},setup(){return{store:y()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await v("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},s=>{s.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(s){s?E("/api/getDashboardAPIKeys",{},e=>{e.status?this.apiKeys=e.data:(this.apiKeys=[],this.store.newMessage("Server",e.message,"danger"))}):this.apiKeys=[]}}}},Me={class:"card rounded-3"},Ue={class:"my-2"},We={key:0,class:"form-check form-switch ms-auto"},Ne={class:"form-check-label",for:"allowAPIKeysSwitch"},Ge={key:0,class:"card-body position-relative d-flex flex-column gap-2"},Re={key:1,class:"card",style:{height:"300px"}},Ye={class:"card-body d-flex text-muted"},He={class:"m-auto"},Be={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function je(s,e,c,h,u,g){const o=m("LocaleText"),a=m("DashboardAPIKey"),r=m("NewDashboardAPIKey");return n(),l("div",Me,[t("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[t("h6",Ue,[i(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?_("",!0):(n(),l("div",We,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=d=>this.value=d),onChange:e[1]||(e[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[L,this.value]]),t("label",Ne,[this.value?(n(),x(o,{key:0,t:"Enabled"})):(n(),x(o,{key:1,t:"Disabled"}))])]))],2),this.value?(n(),l("div",Ge,[this.store.getActiveCrossServer()?_("",!0):(n(),l("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:e[2]||(e[2]=d=>this.newDashboardAPIKey=!0)},[e[6]||(e[6]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),i(o,{t:"API Key"})])),this.apiKeys.length===0?(n(),l("div",Re,[t("div",Ye,[t("span",He,[i(o,{t:"No WGDashboard API Key"})])])])):(n(),l("div",Be,[i(j,{name:"apiKey"},{default:F(()=>[(n(!0),l(C,null,V(this.apiKeys,d=>(n(),x(a,{apiKey:d,key:d.Key,onDeleted:e[3]||(e[3]=P=>this.apiKeys=P)},null,8,["apiKey"]))),128))]),_:1})])),i(U,{name:"zoomReversed"},{default:F(()=>[this.newDashboardAPIKey?(n(),x(r,{key:0,onCreated:e[4]||(e[4]=d=>this.apiKeys=d),onClose:e[5]||(e[5]=d=>this.newDashboardAPIKey=!1)})):_("",!0)]),_:1})])):_("",!0)])}const ze=k(Ee,[["render",je],["__scopeId","data-v-100ee9f9"]]),Oe={name:"accountSettingsMFA",components:{LocaleText:p},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await v("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async s=>{await v("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},e=>{e.status&&this.$router.push("/2FASetup")})})}}},qe={class:"d-flex align-items-center"},Qe={class:"form-check form-switch"},Je={for:"allowMFAKeysSwitch"};function Xe(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("div",qe,[t("div",Qe,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[L,this.status]]),t("label",Je,[this.status?(n(),x(o,{key:0,t:"Enabled"})):(n(),x(o,{key:1,t:"Disabled"}))])]),this.status?(n(),l("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:e[1]||(e[1]=a=>this.resetMFA())},[e[2]||(e[2]=t("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(n(),x(o,{key:0,t:"Reset"})):(n(),x(o,{key:1,t:"Setup"})),e[3]||(e[3]=S(" MFA "))])):_("",!0)])])}const Ze=k(Oe,[["render",Xe]]),ts={name:"dashboardLanguage",components:{LocaleText:p},setup(){return{store:y()}},data(){return{languages:void 0}},mounted(){E("/api/locale/available",{},s=>{this.languages=s.data})},methods:{changeLanguage(s){v("/api/locale/update",{lang_id:s},e=>{e.status?(this.store.Configuration.Server.dashboard_language=s,this.store.Locale=e.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let s=this.store.Configuration.Server.dashboard_language;return this.languages.find(e=>e.lang_id===s)}}},es={class:"text-muted d-block mb-1"},ss={class:"d-flex gap-2"},as={class:"dropdown w-100"},is=["disabled"],os={key:1},ns={class:"dropdown-menu rounded-3 shadow"},ls=["onClick"],ds={class:"me-auto mb-0"},rs={class:"d-block",style:{"font-size":"0.8rem"}},us={key:0,class:"bi bi-check text-primary fs-5"};function cs(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("small",es,[t("strong",null,[i(o,{t:"Language"})])]),t("div",ss,[t("div",as,[t("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(n(),l("span",os,D(g.currentLanguage?.lang_name_localized),1)):(n(),x(o,{key:0,t:"Loading..."}))],8,is),t("ul",ns,[(n(!0),l(C,null,V(this.languages,a=>(n(),l("li",null,[t("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:r=>this.changeLanguage(a.lang_id)},[t("p",ds,[S(D(a.lang_name_localized)+" ",1),t("small",rs,D(a.lang_name),1)]),g.currentLanguage?.lang_id===a.lang_id?(n(),l("i",us)):_("",!0)],8,ls)]))),256))])])])])}const hs=k(ts,[["render",cs],["__scopeId","data-v-0f26916d"]]),ms={name:"dashboardIPPortInput",components:{LocaleText:p},setup(){return{store:y()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(s,e,c){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Server",key:e,value:c},h=>{h.status?(s.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[e]=c,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{s.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=h.message),this.changed=!1,this.updating=!1}))}}},ps={class:"row g-2"},gs={class:"col-sm"},bs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},fs=["disabled"],vs={class:"invalid-feedback"},ys={class:"col-sm"},ws={class:"form-group"},$s={for:"input_dashboard_ip",class:"text-muted mb-1"},ks=["disabled"],xs={class:"invalid-feedback"},Ds={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Ss(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("div",ps,[t("div",gs,[t("div",bs,[t("label",_s,[t("strong",null,[t("small",null,[i(o,{t:"IP Address / Hostname"})])])]),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":e[0]||(e[0]=a=>this.ipAddress=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,fs),[[f,this.ipAddress]]),t("div",vs,D(this.invalidFeedback),1)])]),t("div",ys,[t("div",ws,[t("label",$s,[t("strong",null,[t("small",null,[i(o,{t:"Listen Port"})])])]),b(t("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":e[3]||(e[3]=a=>this.port=a),onKeydown:e[4]||(e[4]=a=>this.changed=!0),onBlur:e[5]||(e[5]=a=>g.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,ks),[[f,this.port]]),t("div",xs,D(this.invalidFeedback),1)])])]),t("div",Ds,[t("small",null,[e[6]||(e[6]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const Is=k(ms,[["render",Ss]]),Cs={class:"card rounded-3"},Ps={class:"card-header"},As={class:"my-2"},Ts={class:"card-body d-flex gap-2"},Vs={class:"list-group w-100"},Ks=["onClick"],Fs={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(s){const e=y(),c=M(),h=T(e.Configuration.WireGuardConfiguration.autostart),u=z(()=>c.Configurations.map(a=>a.Name)),g=async()=>{await v("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:h.value},async a=>{a.status?(e.newMessage("Server","Start up configurations saved","success"),h.value=a.data):e.newMessage("Server","Start up configurations failed to save","danger")})},o=a=>{h.value.includes(a)?h.value=h.value.filter(r=>r!==a):h.value.push(a),g()};return(a,r)=>(n(),l("div",Cs,[t("div",Ps,[t("h6",As,[i(p,{t:"Toggle When Start Up"})])]),t("div",Ts,[t("div",Vs,[(n(!0),l(C,null,V(u.value,d=>(n(),l("button",{type:"button",key:d,onClick:P=>o(d),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,D(d),1),t("i",{class:$(["ms-auto",[h.value.includes(d)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,Ks))),128))])])]))}},Ls=k(Fs,[["__scopeId","data-v-4aa2aed9"]]),Es={class:"card"},Ms={class:"card-header"},Us={class:"my-2 d-flex"},Ws={key:0,class:"text-success ms-auto"},Ns={class:"card-body d-flex flex-column gap-3"},Gs={class:"row gx-2 gy-2"},Rs={class:"col-12 col-lg-4"},Ys={class:"form-group"},Hs={for:"server",class:"text-muted mb-1"},Bs={class:"col-12 col-lg-4"},js={class:"form-group"},zs={for:"port",class:"text-muted mb-1"},Os={class:"col-12 col-lg-4"},qs={class:"form-group"},Qs={for:"encryption",class:"text-muted mb-1"},Js={value:"NOTLS"},Xs={class:"col-12 col-lg-4"},Zs={class:"form-group"},ta={for:"username",class:"text-muted mb-1"},ea={class:"col-12 col-lg-4"},sa={class:"form-group"},aa={for:"email_password",class:"text-muted mb-1"},ia={class:"col-12 col-lg-4"},oa={class:"form-group"},na={for:"send_from",class:"text-muted mb-1"},la={key:0},da={key:1},ra={class:"text-muted mb-1",for:"test_email"},ua={class:"fw-bold"},ca=["disabled"],ha=["disabled"],ma={key:0,class:"bi bi-send me-2"},pa={key:1,class:"spinner-border spinner-border-sm me-2"},ga={class:"text-muted mb-1",for:"email_template"},ba={class:"fw-bold"},_a={__name:"dashboardEmailSettings",setup(s){const e=y();O(()=>{g(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let r=a.attributes.getNamedItem("id").value;await v("/api/updateDashboardConfigurationItem",{section:"Email",key:r,value:a.value},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),g()})})})});const c=T(!1),h=T(""),u=T(!1),g=async()=>{await E("/api/email/ready",{},a=>{c.value=a.status})},o=async()=>{u.value=!0,await v("/api/email/send",{Receiver:h.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?e.newMessage("Server","Test email sent successfully!","success"):e.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,r)=>(n(),l("div",Es,[t("div",Ms,[t("h6",Us,[i(p,{t:"Email Account"}),c.value?(n(),l("span",Ws,[r[10]||(r[10]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),i(p,{t:"Ready"})])):_("",!0)])]),t("div",Ns,[t("form",{onSubmit:r[6]||(r[6]=d=>d.preventDefault(d)),id:"emailAccount"},[t("div",Gs,[t("div",Rs,[t("div",Ys,[t("label",Hs,[t("strong",null,[t("small",null,[i(p,{t:"Server"})])])]),b(t("input",{id:"server","onUpdate:modelValue":r[0]||(r[0]=d=>w(e).Configuration.Email.server=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.server]])])]),t("div",Bs,[t("div",js,[t("label",zs,[t("strong",null,[t("small",null,[i(p,{t:"Port"})])])]),b(t("input",{id:"port","onUpdate:modelValue":r[1]||(r[1]=d=>w(e).Configuration.Email.port=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.port]])])]),t("div",Os,[t("div",qs,[t("label",Qs,[t("strong",null,[t("small",null,[i(p,{t:"Encryption"})])])]),b(t("select",{class:"form-select","onUpdate:modelValue":r[2]||(r[2]=d=>w(e).Configuration.Email.encryption=d),id:"encryption"},[r[11]||(r[11]=t("option",{value:"STARTTLS"}," STARTTLS ",-1)),t("option",Js,[i(p,{t:"No Encryption"})])],512),[[q,w(e).Configuration.Email.encryption]])])]),t("div",Xs,[t("div",Zs,[t("label",ta,[t("strong",null,[t("small",null,[i(p,{t:"Username"})])])]),b(t("input",{id:"username","onUpdate:modelValue":r[3]||(r[3]=d=>w(e).Configuration.Email.username=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.username]])])]),t("div",ea,[t("div",sa,[t("label",aa,[t("strong",null,[t("small",null,[i(p,{t:"Password"})])])]),b(t("input",{id:"email_password","onUpdate:modelValue":r[4]||(r[4]=d=>w(e).Configuration.Email.email_password=d),type:"password",class:"form-control"},null,512),[[f,w(e).Configuration.Email.email_password]])])]),t("div",ia,[t("div",oa,[t("label",na,[t("strong",null,[t("small",null,[i(p,{t:"Send From"})])])]),b(t("input",{id:"send_from","onUpdate:modelValue":r[5]||(r[5]=d=>w(e).Configuration.Email.send_from=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.send_from]])])])])],32),c.value?(n(),l("hr",la)):_("",!0),c.value?(n(),l("div",da,[t("label",ra,[t("small",ua,[i(p,{t:"Send Test Email"})])]),t("form",{onSubmit:r[8]||(r[8]=d=>{d.preventDefault(),o()}),class:"input-group"},[b(t("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":r[7]||(r[7]=d=>h.value=d),disabled:u.value},null,8,ca),[[f,h.value]]),t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:h.value.length===0||u.value,id:"button-addon2"},[u.value?(n(),l("span",pa,r[12]||(r[12]=[t("span",{class:"visually-hidden"},"Loading...",-1)]))):(n(),l("i",ma)),i(p,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,ha)],32)])):_("",!0),r[13]||(r[13]=t("hr",null,null,-1)),t("div",null,[t("label",ga,[t("small",ba,[i(p,{t:"Email Body Template"})])]),b(t("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":r[9]||(r[9]=d=>w(e).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[f,w(e).Configuration.Email.email_template]])])])]))}},fa={name:"settings",methods:{ipV46RegexCheck:ot},components:{DashboardEmailSettings:_a,DashboardSettingsWireguardConfigurationAutostart:Ls,DashboardIPPortInput:Is,DashboardLanguage:hs,LocaleText:p,AccountSettingsMFA:Ze,DashboardAPIKeys:ze,DashboardSettingsInputIPAddressAndPort:ue,DashboardTheme:Zt,DashboardSettingsInputWireguardConfigurationPath:Ot,AccountSettingsInputPassword:Tt,AccountSettingsInputUsername:ht,PeersDefaultSettingsInput:it},setup(){return{dashboardConfigurationStore:y()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"WGDashboard",title:"WGDashboard Settings"},{id:"Peers",title:"Peers Settings"},{id:"WireGuardConfiguration",title:"WireGuard Configuration Settings"}]}}},va={class:"mt-md-5 mt-3 text-body mb-3"},ya={class:"container-md d-flex flex-column gap-4"},wa={class:"nav nav-pills nav-justified align-items-center gap-2"},$a={class:"nav-item"},ka=["onClick"],xa={class:"my-2"},Da={key:0,class:"d-flex gap-3 flex-column"},Sa={key:1,class:"d-flex gap-3 flex-column"},Ia={class:"card rounded-3"},Ca={class:"card-header"},Pa={class:"my-2"},Aa={class:"card-body"},Ta={key:2,class:"d-flex gap-3 flex-column"},Va={class:"card rounded-3"},Ka={class:"card-header"},Fa={class:"my-2"},La={class:"card-body"},Ea={class:"row g-2"},Ma={class:"col-sm"},Ua={class:"col-sm"},Wa={class:"card"},Na={class:"card-header"},Ga={class:"my-2"},Ra={class:"card-body"},Ya={class:"card"},Ha={class:"card-header"},Ba={class:"my-2"},ja={class:"card-body d-flex flex-column gap-3"},za={class:"card"},Oa={class:"card-header"},qa={class:"my-2"},Qa={class:"card-body"};function Ja(s,e,c,h,u,g){const o=m("LocaleText"),a=m("DashboardSettingsInputWireguardConfigurationPath"),r=m("DashboardSettingsWireguardConfigurationAutostart"),d=m("PeersDefaultSettingsInput"),P=m("DashboardTheme"),W=m("DashboardLanguage"),N=m("DashboardIPPortInput"),G=m("AccountSettingsInputUsername"),R=m("AccountSettingsInputPassword"),Y=m("AccountSettingsMFA"),H=m("DashboardAPIKeys"),B=m("DashboardEmailSettings");return n(),l("div",va,[t("div",ya,[t("div",null,[t("ul",wa,[(n(!0),l(C,null,V(this.tabs,K=>(n(),l("li",$a,[t("a",{class:$(["nav-link rounded-3",{active:this.activeTab===K.id}]),onClick:Xa=>this.activeTab=K.id,role:"button"},[t("h6",xa,[i(o,{t:K.title},null,8,["t"])])],10,ka)]))),256))]),e[1]||(e[1]=t("hr",null,null,-1)),t("div",null,[i(U,{name:"fade2",mode:"out-in"},{default:F(()=>[u.activeTab==="WireGuardConfiguration"?(n(),l("div",Da,[i(a,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),i(r)])):u.activeTab==="Peers"?(n(),l("div",Sa,[t("div",Ia,[t("div",Ca,[t("h6",Pa,[i(o,{t:"Peer Default Settings"})])]),t("div",Aa,[t("div",null,[i(d,{targetData:"peer_global_dns",title:"DNS"}),i(d,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),i(d,{targetData:"peer_mtu",title:"MTU"}),i(d,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),i(d,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])])):u.activeTab==="WGDashboard"?(n(),l("div",Ta,[t("div",Va,[t("div",Ka,[t("h6",Fa,[i(o,{t:"Appearance"})])]),t("div",La,[t("div",Ea,[t("div",Ma,[i(P)]),t("div",Ua,[i(W)])])])]),t("div",Wa,[t("div",Na,[t("h6",Ga,[i(o,{t:"Dashboard IP Address & Listen Port"})])]),t("div",Ra,[i(N)])]),t("div",Ya,[t("div",Ha,[t("h6",Ba,[i(o,{t:"Account Settings"})])]),t("div",ja,[t("div",null,[i(G,{targetData:"username",title:"Username"})]),e[0]||(e[0]=t("hr",null,null,-1)),t("div",null,[i(R,{targetData:"password"})])])]),t("div",za,[t("div",Oa,[t("h6",qa,[i(o,{t:"Multi-Factor Authentication (MFA)"})])]),t("div",Qa,[this.dashboardConfigurationStore.getActiveCrossServer()?_("",!0):(n(),x(Y,{key:0}))])]),i(H),i(B)])):_("",!0)]),_:1})])])])])}const ai=k(fa,[["render",Ja]]);export{ai as default}; +import{_ as k,D as y,q as I,E as v,a as n,c as l,b as t,d as i,m as b,v as f,n as $,t as D,e as _,y as m,W as M,f as S,s as L,j as x,F as C,x as E,w as F,k as V,T as B,l as U,r as T,g as z,o as O,u as w,H as q}from"./index-Bsy8tbGW.js";import{L as p}from"./localeText-CoKvgn8T.js";import{d as A}from"./dayjs.min-fPdQmr57.js";import{V as Q}from"./vue-datepicker-JvyILFmR.js";const J={components:{LocaleText:p},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await v("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1})}}},X={class:"form-group mb-2"},Z=["for"],tt=["id","disabled"],et={class:"invalid-feedback"},st={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"};function at(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",X,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,Z),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation()),disabled:this.updating},null,42,tt),[[f,this.value]]),t("div",et,D(this.invalidFeedback),1),c.warning?(n(),l("div",st,[t("small",null,[e[3]||(e[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:c.warningText},null,8,["t"])])])):_("",!0)])}const it=k(J,[["render",at]]),ot=s=>{},nt={name:"accountSettingsInputUsername",components:{LocaleText:p},props:{targetData:String,title:String},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(s){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1}))}}},lt={class:"form-group mb-2"},dt=["for"],rt=["id","disabled"],ut={class:"invalid-feedback"};function ct(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",lt,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,dt),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation()),disabled:this.updating},null,42,rt),[[f,this.value]]),t("div",ut,D(this.invalidFeedback),1)])}const ht=k(nt,[["render",ct]]),mt={name:"accountSettingsInputPassword",components:{LocaleText:p},props:{targetData:String,warning:!1,warningText:""},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(s=>s.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await v("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}},computed:{passwordValid(){return Object.values(this.value).find(s=>s.length===0)===void 0&&this.value.newPassword===this.value.repeatNewPassword}}},pt={class:"d-flex flex-column gap-2"},gt={class:"row g-2"},bt={class:"col-sm"},_t={class:"form-group"},ft=["for"],vt=["id"],yt={key:0,class:"invalid-feedback d-block"},wt={class:"col-sm"},$t={class:"form-group"},kt=["for"],xt=["id"],Dt={class:"col-sm"},St={class:"form-group"},It=["for"],Ct=["id"],Pt=["disabled"];function At(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("form",pt,[t("div",gt,[t("div",bt,[t("div",_t,[t("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"Current Password"})])])],8,ft),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"current-password","onUpdate:modelValue":e[0]||(e[0]=a=>this.value.currentPassword=a),id:"currentPassword_"+this.uuid},null,10,vt),[[f,this.value.currentPassword]]),u.showInvalidFeedback?(n(),l("div",yt,D(this.invalidFeedback),1)):_("",!0)])]),t("div",wt,[t("div",$t,[t("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"New Password"})])])],8,kt),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":e[1]||(e[1]=a=>this.value.newPassword=a),id:"newPassword_"+this.uuid},null,10,xt),[[f,this.value.newPassword]])])]),t("div",Dt,[t("div",St,[t("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:"Repeat New Password"})])])],8,It),b(t("input",{type:"password",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),autocomplete:"new-password","onUpdate:modelValue":e[2]||(e[2]=a=>this.value.repeatNewPassword=a),id:"repeatNewPassword_"+this.uuid},null,10,Ct),[[f,this.value.repeatNewPassword]])])])]),t("button",{disabled:!this.passwordValid,class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:e[3]||(e[3]=a=>this.useValidation())},[e[4]||(e[4]=t("i",{class:"bi bi-save2-fill me-2"},null,-1)),i(o,{t:"Update Password"})],8,Pt)])}const Tt=k(mt,[["render",At]]),Vt={name:"dashboardSettingsInputWireguardConfigurationPath",components:{LocaleText:p},props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const s=y(),e=M(),c=`input_${I()}`;return{store:s,uuid:c,WireguardConfigurationStore:e}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3),this.WireguardConfigurationStore.getConfigurations(),this.store.newMessage("Server","WireGuard configuration path saved","success")):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message),this.changed=!1,this.updating=!1}))}}},Kt={class:"card"},Ft={class:"card-header"},Lt={class:"my-2"},Et={class:"card-body"},Mt={class:"form-group"},Ut=["for"],Wt={class:"d-flex gap-2 align-items-start"},Nt={class:"flex-grow-1"},Gt=["id","disabled"],Rt={class:"invalid-feedback fw-bold"},Yt=["disabled"],Ht={key:0,class:"bi bi-save2-fill"},jt={key:1,class:"spinner-border spinner-border-sm"},Bt={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1 mb-2"};function zt(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",Kt,[t("div",Ft,[t("h6",Lt,[i(o,{t:"Path"})])]),t("div",Et,[t("div",Mt,[t("label",{for:this.uuid,class:"text-muted mb-1"},[t("strong",null,[t("small",null,[i(o,{t:this.title},null,8,["t"])])])],8,Ut),t("div",Wt,[t("div",Nt,[b(t("input",{type:"text",class:$(["form-control rounded-3",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":e[0]||(e[0]=a=>this.value=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),disabled:this.updating},null,42,Gt),[[f,this.value]]),t("div",Rt,D(this.invalidFeedback),1)]),t("button",{onClick:e[2]||(e[2]=a=>this.useValidation()),disabled:!this.changed,class:"ms-auto btn rounded-3 border-success-subtle bg-success-subtle text-success-emphasis"},[this.updating?(n(),l("span",jt)):(n(),l("i",Ht))],8,Yt)]),c.warning?(n(),l("div",Bt,[t("small",null,[e[3]||(e[3]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:c.warningText},null,8,["t"])])])):_("",!0)])])])}const Ot=k(Vt,[["render",zt]]),qt={name:"dashboardTheme",components:{LocaleText:p},setup(){return{dashboardConfigurationStore:y()}},methods:{async switchTheme(s){await v("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:s},e=>{e.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=s)})}}},Qt={class:"text-muted mb-1 d-block"},Jt={class:"d-flex gap-1"};function Xt(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("small",Qt,[t("strong",null,[i(o,{t:"Theme"})])]),t("div",Jt,[t("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:e[0]||(e[0]=a=>this.switchTheme("light"))},[e[2]||(e[2]=t("i",{class:"bi bi-sun-fill me-2"},null,-1)),i(o,{t:"Light"})],2),t("button",{class:$(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:e[1]||(e[1]=a=>this.switchTheme("dark"))},[e[3]||(e[3]=t("i",{class:"bi bi-moon-fill me-2"},null,-1)),i(o,{t:"Dark"})],2)])])}const Zt=k(qt,[["render",Xt]]),te={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await v("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},s=>{s.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=s.message)})}}},ee={class:"invalid-feedback d-block mt-0"},se={class:"row"},ae={class:"form-group mb-2 col-sm"},ie=["for"],oe=["id"],ne={class:"form-group col-sm"},le=["for"],de=["id"];function re(s,e,c,h,u,g){return n(),l("div",null,[t("div",ee,D(this.invalidFeedback),1),t("div",se,[t("div",ae,[t("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},e[2]||(e[2]=[t("strong",null,[t("small",null,"Dashboard IP Address")],-1)]),8,ie),b(t("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":e[0]||(e[0]=o=>this.app_ip=o)},null,8,oe),[[f,this.app_ip]]),e[3]||(e[3]=t("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[t("small",null,[t("i",{class:"bi bi-exclamation-triangle-fill me-2"}),t("code",null,"0.0.0.0"),S(" means it can be access by anyone with your server IP Address.")])],-1))]),t("div",ne,[t("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},e[4]||(e[4]=[t("strong",null,[t("small",null,"Dashboard Port")],-1)]),8,le),b(t("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":e[1]||(e[1]=o=>this.app_port=o)},null,8,de),[[f,this.app_port]])])]),e[5]||(e[5]=t("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[t("i",{class:"bi bi-floppy-fill me-2"}),S("Update Dashboard Settings & Restart ")],-1))])}const ue=k(te,[["render",re]]),ce={name:"newDashboardAPIKey",components:{LocaleText:p,VueDatePicker:Q},data(){return{newKeyData:{ExpiredAt:A().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),neverExpire:!1},submitting:!1}},setup(){return{store:y()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,v("/api/newDashboardAPIKey",this.newKeyData,s=>{s.status?(this.$emit("created",s.data),this.store.newMessage("Server","API Key created","success"),this.$emit("close")):this.store.newMessage("Server",s.message,"danger"),this.submitting=!1})},fixDate(s){return console.log(A(s).format("YYYY-MM-DDTHH:mm:ss")),A(s).format("YYYY-MM-DDTHH:mm:ss")},parseTime(s){s?this.newKeyData.ExpiredAt=A(s).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},he={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)"}},me={class:"card m-auto rounded-3 mt-5"},pe={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},ge={class:"mb-0"},be={class:"card-body d-flex gap-2 p-4 flex-column"},_e={class:"text-muted"},fe={class:"d-flex align-items-center gap-2"},ve={class:"form-check"},ye=["disabled"],we={class:"form-check-label",for:"neverExpire"},$e={key:0,class:"bi bi-check-lg me-2"};function ke(s,e,c,h,u,g){const o=m("LocaleText"),a=m("VueDatePicker");return n(),l("div",he,[t("div",me,[t("div",pe,[t("h6",ge,[i(o,{t:"Create API Key"})]),t("button",{type:"button",class:"btn-close ms-auto",onClick:e[0]||(e[0]=r=>this.$emit("close"))})]),t("div",be,[t("small",_e,[i(o,{t:"When should this API Key expire?"})]),t("div",fe,[i(a,{is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.neverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),t("div",ve,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=r=>this.newKeyData.neverExpire=r),id:"neverExpire",disabled:this.submitting},null,8,ye),[[L,this.newKeyData.neverExpire]]),t("label",we,[i(o,{t:"Never Expire"}),e[3]||(e[3]=S(" (")),e[4]||(e[4]=t("i",{class:"bi bi-emoji-grimace-fill me-2"},null,-1)),i(o,{t:"Don't think that's a good idea"}),e[5]||(e[5]=S(") "))])]),t("button",{class:$(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:e[2]||(e[2]=r=>this.submitNewAPIKey())},[this.submitting?_("",!0):(n(),l("i",$e)),this.submitting?(n(),x(o,{key:1,t:"Creating..."})):(n(),x(o,{key:2,t:"Create"}))],2)])])])}const xe=k(ce,[["render",ke]]),De={name:"dashboardAPIKey",components:{LocaleText:p},props:{apiKey:Object},setup(){return{store:y()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){v("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},s=>{s.status?(this.$emit("deleted",s.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",s.message,"danger")})}}},Se={class:"card rounded-3 shadow-sm"},Ie={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},Ce={class:"d-flex align-items-center gap-2"},Pe={class:"text-muted"},Ae={style:{"word-break":"break-all"}},Te={class:"d-flex align-items-center gap-2 ms-auto"},Ve={class:"text-muted"},Ke={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"};function Fe(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",Se,[this.confirmDelete?(n(),l(C,{key:1},[this.store.getActiveCrossServer()?_("",!0):(n(),l("div",Ke,[i(o,{t:"Are you sure to delete this API key?"}),t("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:e[1]||(e[1]=a=>this.deleteAPIKey())},e[4]||(e[4]=[t("i",{class:"bi bi-check-lg"},null,-1)])),t("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:e[2]||(e[2]=a=>this.confirmDelete=!1)},e[5]||(e[5]=[t("i",{class:"bi bi-x-lg"},null,-1)]))]))],64)):(n(),l("div",Ie,[t("div",Ce,[t("small",Pe,[i(o,{t:"Key"})]),t("span",Ae,D(this.apiKey.Key),1)]),t("div",Te,[t("small",Ve,[i(o,{t:"Expire At"})]),this.apiKey.ExpiredAt?_("",!0):(n(),x(o,{key:0,t:"Never Expire"})),t("span",null,D(this.apiKey.ExpiredAt),1)]),this.store.getActiveCrossServer()?_("",!0):(n(),l("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:e[0]||(e[0]=a=>this.confirmDelete=!0)},e[3]||(e[3]=[t("i",{class:"bi bi-trash-fill"},null,-1)])))]))])}const Le=k(De,[["render",Fe],["__scopeId","data-v-a76253c8"]]),Ee={name:"dashboardAPIKeys",components:{LocaleText:p,DashboardAPIKey:Le,NewDashboardAPIKey:xe},setup(){return{store:y()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await v("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},s=>{s.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed to ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(s){s?E("/api/getDashboardAPIKeys",{},e=>{e.status?this.apiKeys=e.data:(this.apiKeys=[],this.store.newMessage("Server",e.message,"danger"))}):this.apiKeys=[]}}}},Me={class:"card rounded-3"},Ue={class:"my-2"},We={key:0,class:"form-check form-switch ms-auto"},Ne={class:"form-check-label",for:"allowAPIKeysSwitch"},Ge={key:0,class:"card-body position-relative d-flex flex-column gap-2"},Re={key:1,class:"card",style:{height:"300px"}},Ye={class:"card-body d-flex text-muted"},He={class:"m-auto"},je={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function Be(s,e,c,h,u,g){const o=m("LocaleText"),a=m("DashboardAPIKey"),r=m("NewDashboardAPIKey");return n(),l("div",Me,[t("div",{class:$(["card-header d-flex align-items-center",{"border-bottom-0 rounded-3":!this.value}])},[t("h6",Ue,[i(o,{t:"API Keys"})]),this.store.getActiveCrossServer()?_("",!0):(n(),l("div",We,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=d=>this.value=d),onChange:e[1]||(e[1]=d=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[L,this.value]]),t("label",Ne,[this.value?(n(),x(o,{key:0,t:"Enabled"})):(n(),x(o,{key:1,t:"Disabled"}))])]))],2),this.value?(n(),l("div",Ge,[this.store.getActiveCrossServer()?_("",!0):(n(),l("button",{key:0,class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:e[2]||(e[2]=d=>this.newDashboardAPIKey=!0)},[e[6]||(e[6]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),i(o,{t:"API Key"})])),this.apiKeys.length===0?(n(),l("div",Re,[t("div",Ye,[t("span",He,[i(o,{t:"No WGDashboard API Key"})])])])):(n(),l("div",je,[i(B,{name:"apiKey"},{default:F(()=>[(n(!0),l(C,null,V(this.apiKeys,d=>(n(),x(a,{apiKey:d,key:d.Key,onDeleted:e[3]||(e[3]=P=>this.apiKeys=P)},null,8,["apiKey"]))),128))]),_:1})])),i(U,{name:"zoomReversed"},{default:F(()=>[this.newDashboardAPIKey?(n(),x(r,{key:0,onCreated:e[4]||(e[4]=d=>this.apiKeys=d),onClose:e[5]||(e[5]=d=>this.newDashboardAPIKey=!1)})):_("",!0)]),_:1})])):_("",!0)])}const ze=k(Ee,[["render",Be],["__scopeId","data-v-100ee9f9"]]),Oe={name:"accountSettingsMFA",components:{LocaleText:p},setup(){const s=y(),e=`input_${I()}`;return{store:s,uuid:e}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await v("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async s=>{await v("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},e=>{e.status&&this.$router.push("/2FASetup")})})}}},qe={class:"d-flex align-items-center"},Qe={class:"form-check form-switch"},Je={for:"allowMFAKeysSwitch"};function Xe(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("div",qe,[t("div",Qe,[b(t("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":e[0]||(e[0]=a=>this.status=a),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[L,this.status]]),t("label",Je,[this.status?(n(),x(o,{key:0,t:"Enabled"})):(n(),x(o,{key:1,t:"Disabled"}))])]),this.status?(n(),l("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:e[1]||(e[1]=a=>this.resetMFA())},[e[2]||(e[2]=t("i",{class:"bi bi-shield-lock-fill me-2"},null,-1)),this.store.Configuration.Account.totp_verified?(n(),x(o,{key:0,t:"Reset"})):(n(),x(o,{key:1,t:"Setup"})),e[3]||(e[3]=S(" MFA "))])):_("",!0)])])}const Ze=k(Oe,[["render",Xe]]),ts={name:"dashboardLanguage",components:{LocaleText:p},setup(){return{store:y()}},data(){return{languages:void 0}},mounted(){E("/api/locale/available",{},s=>{this.languages=s.data})},methods:{changeLanguage(s){v("/api/locale/update",{lang_id:s},e=>{e.status?(this.store.Configuration.Server.dashboard_language=s,this.store.Locale=e.data):this.store.newMessage("Server","WGDashboard language update failed","danger")})}},computed:{currentLanguage(){let s=this.store.Configuration.Server.dashboard_language;return this.languages.find(e=>e.lang_id===s)}}},es={class:"text-muted d-block mb-1"},ss={class:"d-flex gap-2"},as={class:"dropdown w-100"},is=["disabled"],os={key:1},ns={class:"dropdown-menu rounded-3 shadow"},ls=["onClick"],ds={class:"me-auto mb-0"},rs={class:"d-block",style:{"font-size":"0.8rem"}},us={key:0,class:"bi bi-check text-primary fs-5"};function cs(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("small",es,[t("strong",null,[i(o,{t:"Language"})])]),t("div",ss,[t("div",as,[t("button",{class:"btn bg-primary-subtle text-primary-emphasis dropdown-toggle w-100 rounded-3",disabled:!this.languages,type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[this.languages?(n(),l("span",os,D(g.currentLanguage?.lang_name_localized),1)):(n(),x(o,{key:0,t:"Loading..."}))],8,is),t("ul",ns,[(n(!0),l(C,null,V(this.languages,a=>(n(),l("li",null,[t("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:r=>this.changeLanguage(a.lang_id)},[t("p",ds,[S(D(a.lang_name_localized)+" ",1),t("small",rs,D(a.lang_name),1)]),g.currentLanguage?.lang_id===a.lang_id?(n(),l("i",us)):_("",!0)],8,ls)]))),256))])])])])}const hs=k(ts,[["render",cs],["__scopeId","data-v-0f26916d"]]),ms={name:"dashboardIPPortInput",components:{LocaleText:p},setup(){return{store:y()}},data(){return{ipAddress:"",port:0,invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.ipAddress=this.store.Configuration.Server.app_ip,this.port=this.store.Configuration.Server.app_port},methods:{async useValidation(s,e,c){this.changed&&(this.updating=!0,await v("/api/updateDashboardConfigurationItem",{section:"Server",key:e,value:c},h=>{h.status?(s.target.classList.add("is-valid"),this.showInvalidFeedback=!1,this.store.Configuration.Server[e]=c,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{s.target.classList.remove("is-valid")},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=h.message),this.changed=!1,this.updating=!1}))}}},ps={class:"row g-2"},gs={class:"col-sm"},bs={class:"form-group"},_s={for:"input_dashboard_ip",class:"text-muted mb-1"},fs=["disabled"],vs={class:"invalid-feedback"},ys={class:"col-sm"},ws={class:"form-group"},$s={for:"input_dashboard_ip",class:"text-muted mb-1"},ks=["disabled"],xs={class:"invalid-feedback"},Ds={class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mb-2 mt-2"};function Ss(s,e,c,h,u,g){const o=m("LocaleText");return n(),l("div",null,[t("div",ps,[t("div",gs,[t("div",bs,[t("label",_s,[t("strong",null,[t("small",null,[i(o,{t:"IP Address / Hostname"})])])]),b(t("input",{type:"text",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":e[0]||(e[0]=a=>this.ipAddress=a),onKeydown:e[1]||(e[1]=a=>this.changed=!0),onBlur:e[2]||(e[2]=a=>g.useValidation(a,"app_ip",this.ipAddress)),disabled:this.updating},null,42,fs),[[f,this.ipAddress]]),t("div",vs,D(this.invalidFeedback),1)])]),t("div",ys,[t("div",ws,[t("label",$s,[t("strong",null,[t("small",null,[i(o,{t:"Listen Port"})])])]),b(t("input",{type:"number",class:$(["form-control",{"is-invalid":u.showInvalidFeedback,"is-valid":u.isValid}]),id:"input_dashboard_ip","onUpdate:modelValue":e[3]||(e[3]=a=>this.port=a),onKeydown:e[4]||(e[4]=a=>this.changed=!0),onBlur:e[5]||(e[5]=a=>g.useValidation(a,"app_port",this.port)),disabled:this.updating},null,42,ks),[[f,this.port]]),t("div",xs,D(this.invalidFeedback),1)])])]),t("div",Ds,[t("small",null,[e[6]||(e[6]=t("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),i(o,{t:"Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port"})])])])}const Is=k(ms,[["render",Ss]]),Cs={class:"card rounded-3"},Ps={class:"card-header"},As={class:"my-2"},Ts={class:"card-body d-flex gap-2"},Vs={class:"list-group w-100"},Ks=["onClick"],Fs={__name:"dashboardSettingsWireguardConfigurationAutostart",setup(s){const e=y(),c=M(),h=T(e.Configuration.WireGuardConfiguration.autostart),u=z(()=>c.Configurations.map(a=>a.Name)),g=async()=>{await v("/api/updateDashboardConfigurationItem",{section:"WireGuardConfiguration",key:"autostart",value:h.value},async a=>{a.status?(e.newMessage("Server","Start up configurations saved","success"),h.value=a.data):e.newMessage("Server","Start up configurations failed to save","danger")})},o=a=>{h.value.includes(a)?h.value=h.value.filter(r=>r!==a):h.value.push(a),g()};return(a,r)=>(n(),l("div",Cs,[t("div",Ps,[t("h6",As,[i(p,{t:"Toggle When Start Up"})])]),t("div",Ts,[t("div",Vs,[(n(!0),l(C,null,V(u.value,d=>(n(),l("button",{type:"button",key:d,onClick:P=>o(d),class:"list-group-item list-group-item-action py-2 w-100 d-flex align-items-center"},[t("samp",null,D(d),1),t("i",{class:$(["ms-auto",[h.value.includes(d)?"bi-check-circle-fill":"bi-circle"]])},null,2)],8,Ks))),128))])])]))}},Ls=k(Fs,[["__scopeId","data-v-4aa2aed9"]]),Es={class:"card"},Ms={class:"card-header"},Us={class:"my-2 d-flex"},Ws={key:0,class:"text-success ms-auto"},Ns={class:"card-body d-flex flex-column gap-3"},Gs={class:"row gx-2 gy-2"},Rs={class:"col-12 col-lg-4"},Ys={class:"form-group"},Hs={for:"server",class:"text-muted mb-1"},js={class:"col-12 col-lg-4"},Bs={class:"form-group"},zs={for:"port",class:"text-muted mb-1"},Os={class:"col-12 col-lg-4"},qs={class:"form-group"},Qs={for:"encryption",class:"text-muted mb-1"},Js={value:"NOTLS"},Xs={class:"col-12 col-lg-4"},Zs={class:"form-group"},ta={for:"username",class:"text-muted mb-1"},ea={class:"col-12 col-lg-4"},sa={class:"form-group"},aa={for:"email_password",class:"text-muted mb-1"},ia={class:"col-12 col-lg-4"},oa={class:"form-group"},na={for:"send_from",class:"text-muted mb-1"},la={key:0},da={key:1},ra={class:"text-muted mb-1",for:"test_email"},ua={class:"fw-bold"},ca=["disabled"],ha=["disabled"],ma={key:0,class:"bi bi-send me-2"},pa={key:1,class:"spinner-border spinner-border-sm me-2"},ga={class:"text-muted mb-1",for:"email_template"},ba={class:"fw-bold"},_a={__name:"dashboardEmailSettings",setup(s){const e=y();O(()=>{g(),document.querySelectorAll("#emailAccount input, #emailAccount select, #email_template").forEach(a=>{a.addEventListener("change",async()=>{let r=a.attributes.getNamedItem("id").value;await v("/api/updateDashboardConfigurationItem",{section:"Email",key:r,value:a.value},d=>{d.status?(a.classList.remove("is-invalid"),a.classList.add("is-valid")):(a.classList.remove("is-valid"),a.classList.add("is-invalid")),g()})})})});const c=T(!1),h=T(""),u=T(!1),g=async()=>{await E("/api/email/ready",{},a=>{c.value=a.status})},o=async()=>{u.value=!0,await v("/api/email/send",{Receiver:h.value,Subject:"WGDashboard Testing Email",Body:"Test 1, 2, 3! Hello World :)"},a=>{a.status?e.newMessage("Server","Test email sent successfully!","success"):e.newMessage("Server",`Test email sent failed! Reason: ${a.message}`,"danger"),u.value=!1})};return(a,r)=>(n(),l("div",Es,[t("div",Ms,[t("h6",Us,[i(p,{t:"Email Account"}),c.value?(n(),l("span",Ws,[r[10]||(r[10]=t("i",{class:"bi bi-check-circle-fill me-2"},null,-1)),i(p,{t:"Ready"})])):_("",!0)])]),t("div",Ns,[t("form",{onSubmit:r[6]||(r[6]=d=>d.preventDefault(d)),id:"emailAccount"},[t("div",Gs,[t("div",Rs,[t("div",Ys,[t("label",Hs,[t("strong",null,[t("small",null,[i(p,{t:"Server"})])])]),b(t("input",{id:"server","onUpdate:modelValue":r[0]||(r[0]=d=>w(e).Configuration.Email.server=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.server]])])]),t("div",js,[t("div",Bs,[t("label",zs,[t("strong",null,[t("small",null,[i(p,{t:"Port"})])])]),b(t("input",{id:"port","onUpdate:modelValue":r[1]||(r[1]=d=>w(e).Configuration.Email.port=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.port]])])]),t("div",Os,[t("div",qs,[t("label",Qs,[t("strong",null,[t("small",null,[i(p,{t:"Encryption"})])])]),b(t("select",{class:"form-select","onUpdate:modelValue":r[2]||(r[2]=d=>w(e).Configuration.Email.encryption=d),id:"encryption"},[r[11]||(r[11]=t("option",{value:"STARTTLS"}," STARTTLS ",-1)),t("option",Js,[i(p,{t:"No Encryption"})])],512),[[q,w(e).Configuration.Email.encryption]])])]),t("div",Xs,[t("div",Zs,[t("label",ta,[t("strong",null,[t("small",null,[i(p,{t:"Username"})])])]),b(t("input",{id:"username","onUpdate:modelValue":r[3]||(r[3]=d=>w(e).Configuration.Email.username=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.username]])])]),t("div",ea,[t("div",sa,[t("label",aa,[t("strong",null,[t("small",null,[i(p,{t:"Password"})])])]),b(t("input",{id:"email_password","onUpdate:modelValue":r[4]||(r[4]=d=>w(e).Configuration.Email.email_password=d),type:"password",class:"form-control"},null,512),[[f,w(e).Configuration.Email.email_password]])])]),t("div",ia,[t("div",oa,[t("label",na,[t("strong",null,[t("small",null,[i(p,{t:"Send From"})])])]),b(t("input",{id:"send_from","onUpdate:modelValue":r[5]||(r[5]=d=>w(e).Configuration.Email.send_from=d),type:"text",class:"form-control"},null,512),[[f,w(e).Configuration.Email.send_from]])])])])],32),c.value?(n(),l("hr",la)):_("",!0),c.value?(n(),l("div",da,[t("label",ra,[t("small",ua,[i(p,{t:"Send Test Email"})])]),t("form",{onSubmit:r[8]||(r[8]=d=>{d.preventDefault(),o()}),class:"input-group"},[b(t("input",{type:"email",class:"form-control rounded-start-3",id:"test_email",placeholder:"john@example.com","onUpdate:modelValue":r[7]||(r[7]=d=>h.value=d),disabled:u.value},null,8,ca),[[f,h.value]]),t("button",{class:"btn bg-primary-subtle text-primary-emphasis border-primary-subtle rounded-end-3",type:"submit",value:"Submit",disabled:h.value.length===0||u.value,id:"button-addon2"},[u.value?(n(),l("span",pa,r[12]||(r[12]=[t("span",{class:"visually-hidden"},"Loading...",-1)]))):(n(),l("i",ma)),i(p,{t:u.value?"Sending...":"Send"},null,8,["t"])],8,ha)],32)])):_("",!0),r[13]||(r[13]=t("hr",null,null,-1)),t("div",null,[t("label",ga,[t("small",ba,[i(p,{t:"Email Body Template"})])]),b(t("textarea",{class:"form-control rounded-3 font-monospace","onUpdate:modelValue":r[9]||(r[9]=d=>w(e).Configuration.Email.email_template=d),id:"email_template",style:{"min-height":"400px"}},null,512),[[f,w(e).Configuration.Email.email_template]])])])]))}},fa={name:"settings",methods:{ipV46RegexCheck:ot},components:{DashboardEmailSettings:_a,DashboardSettingsWireguardConfigurationAutostart:Ls,DashboardIPPortInput:Is,DashboardLanguage:hs,LocaleText:p,AccountSettingsMFA:Ze,DashboardAPIKeys:ze,DashboardSettingsInputIPAddressAndPort:ue,DashboardTheme:Zt,DashboardSettingsInputWireguardConfigurationPath:Ot,AccountSettingsInputPassword:Tt,AccountSettingsInputUsername:ht,PeersDefaultSettingsInput:it},setup(){return{dashboardConfigurationStore:y()}},data(){return{activeTab:"WGDashboard",tabs:[{id:"WGDashboard",title:"WGDashboard Settings"},{id:"Peers",title:"Peers Settings"},{id:"WireGuardConfiguration",title:"WireGuard Configuration Settings"}]}}},va={class:"mt-md-5 mt-3 text-body mb-3"},ya={class:"container-md d-flex flex-column gap-4"},wa={class:"nav nav-pills nav-justified align-items-center gap-2"},$a={class:"nav-item"},ka=["onClick"],xa={class:"my-2"},Da={key:0,class:"d-flex gap-3 flex-column"},Sa={key:1,class:"d-flex gap-3 flex-column"},Ia={class:"card rounded-3"},Ca={class:"card-header"},Pa={class:"my-2"},Aa={class:"card-body"},Ta={key:2,class:"d-flex gap-3 flex-column"},Va={class:"card rounded-3"},Ka={class:"card-header"},Fa={class:"my-2"},La={class:"card-body"},Ea={class:"row g-2"},Ma={class:"col-sm"},Ua={class:"col-sm"},Wa={class:"card"},Na={class:"card-header"},Ga={class:"my-2"},Ra={class:"card-body"},Ya={class:"card"},Ha={class:"card-header"},ja={class:"my-2"},Ba={class:"card-body d-flex flex-column gap-3"},za={class:"card"},Oa={class:"card-header"},qa={class:"my-2"},Qa={class:"card-body"};function Ja(s,e,c,h,u,g){const o=m("LocaleText"),a=m("DashboardSettingsInputWireguardConfigurationPath"),r=m("DashboardSettingsWireguardConfigurationAutostart"),d=m("PeersDefaultSettingsInput"),P=m("DashboardTheme"),W=m("DashboardLanguage"),N=m("DashboardIPPortInput"),G=m("AccountSettingsInputUsername"),R=m("AccountSettingsInputPassword"),Y=m("AccountSettingsMFA"),H=m("DashboardAPIKeys"),j=m("DashboardEmailSettings");return n(),l("div",va,[t("div",ya,[t("div",null,[t("ul",wa,[(n(!0),l(C,null,V(this.tabs,K=>(n(),l("li",$a,[t("a",{class:$(["nav-link rounded-3",{active:this.activeTab===K.id}]),onClick:Xa=>this.activeTab=K.id,role:"button"},[t("h6",xa,[i(o,{t:K.title},null,8,["t"])])],10,ka)]))),256))]),e[1]||(e[1]=t("hr",null,null,-1)),t("div",null,[i(U,{name:"fade2",mode:"out-in"},{default:F(()=>[u.activeTab==="WireGuardConfiguration"?(n(),l("div",Da,[i(a,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"}),i(r)])):u.activeTab==="Peers"?(n(),l("div",Sa,[t("div",Ia,[t("div",Ca,[t("h6",Pa,[i(o,{t:"Peer Default Settings"})])]),t("div",Aa,[t("div",null,[i(d,{targetData:"peer_global_dns",title:"DNS"}),i(d,{targetData:"peer_endpoint_allowed_ip",title:"Endpoint Allowed IPs"}),i(d,{targetData:"peer_mtu",title:"MTU"}),i(d,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),i(d,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])])])])):u.activeTab==="WGDashboard"?(n(),l("div",Ta,[t("div",Va,[t("div",Ka,[t("h6",Fa,[i(o,{t:"Appearance"})])]),t("div",La,[t("div",Ea,[t("div",Ma,[i(P)]),t("div",Ua,[i(W)])])])]),t("div",Wa,[t("div",Na,[t("h6",Ga,[i(o,{t:"Dashboard IP Address & Listen Port"})])]),t("div",Ra,[i(N)])]),t("div",Ya,[t("div",Ha,[t("h6",ja,[i(o,{t:"Account Settings"})])]),t("div",Ba,[t("div",null,[i(G,{targetData:"username",title:"Username"})]),e[0]||(e[0]=t("hr",null,null,-1)),t("div",null,[i(R,{targetData:"password"})])])]),t("div",za,[t("div",Oa,[t("h6",qa,[i(o,{t:"Multi-Factor Authentication (MFA)"})])]),t("div",Qa,[this.dashboardConfigurationStore.getActiveCrossServer()?_("",!0):(n(),x(Y,{key:0}))])]),i(H),i(j)])):_("",!0)]),_:1})])])])])}const ai=k(fa,[["render",Ja]]);export{ai as default}; diff --git a/src/static/app/dist/assets/setup-Dv1b0O33.js b/src/static/app/dist/assets/setup-BuRnJAgh.js similarity index 96% rename from src/static/app/dist/assets/setup-Dv1b0O33.js rename to src/static/app/dist/assets/setup-BuRnJAgh.js index 209c793..2853042 100644 --- a/src/static/app/dist/assets/setup-Dv1b0O33.js +++ b/src/static/app/dist/assets/setup-BuRnJAgh.js @@ -1 +1 @@ -import{_ as u,D as m,E as p,c as r,b as e,d as o,f as c,t as h,e as f,m as l,v as d,a as i,y as w}from"./index-qq0VI3aD.js";import{L as g}from"./localeText-miqCUaLJ.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:m()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,p("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},E={key:1,class:"d-flex align-items-center w-100"};function M(n,s,B,D,U,F){const t=w("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=c(" 😊"))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):f("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",E,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const j=u(b,[["render",M]]);export{j as default}; +import{_ as u,D as m,E as p,c as r,b as e,d as o,f as c,t as h,e as f,m as l,v as d,a as i,y as w}from"./index-Bsy8tbGW.js";import{L as g}from"./localeText-CoKvgn8T.js";const b={name:"setup",components:{LocaleText:g},setup(){return{store:m()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,p("/api/Welcome_Finish",this.setup,n=>{n.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(s=>s.classList.add("is-invalid")),this.errorMessage=n.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},_=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},v={class:"dashboardLogo display-4"},y={class:"mb-5"},P={key:0,class:"alert alert-danger"},N={class:"d-flex flex-column gap-3"},k={id:"createAccount",class:"d-flex flex-column gap-2"},S={class:"form-group text-body"},T={for:"username",class:"mb-1 text-muted"},C={class:"form-group text-body"},L={for:"password",class:"mb-1 text-muted"},V={class:"form-group text-body"},$={for:"confirmPassword",class:"mb-1 text-muted"},q=["disabled"],A={key:0,class:"d-flex align-items-center w-100"},E={key:1,class:"d-flex align-items-center w-100"};function M(n,s,B,D,U,F){const t=w("LocaleText");return i(),r("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[e("div",x,[e("span",v,[o(t,{t:"Nice to meet you!"})]),e("p",y,[o(t,{t:"Please fill in the following fields to finish setup"}),s[4]||(s[4]=c(" 😊"))]),e("div",null,[e("h3",null,[o(t,{t:"Create an account"})]),this.errorMessage?(i(),r("div",P,h(this.errorMessage),1)):f("",!0),e("div",N,[e("form",k,[e("div",S,[e("label",T,[e("small",null,[o(t,{t:"Enter an username you like"})])]),l(e("input",{type:"text",autocomplete:"username","onUpdate:modelValue":s[0]||(s[0]=a=>this.setup.username=a),class:"form-control",id:"username",name:"username",required:""},null,512),[[d,this.setup.username]])]),e("div",C,[e("label",L,[e("small",null,[o(t,{t:"Enter a password"}),e("code",null,[o(t,{t:"(At least 8 characters and make sure is strong enough!)"})])])]),l(e("input",{type:"password",autocomplete:"new-password","onUpdate:modelValue":s[1]||(s[1]=a=>this.setup.newPassword=a),class:"form-control",id:"password",name:"password",required:""},null,512),[[d,this.setup.newPassword]])]),e("div",V,[e("label",$,[e("small",null,[o(t,{t:"Confirm password"})])]),l(e("input",{type:"password",autocomplete:"confirm-new-password","onUpdate:modelValue":s[2]||(s[2]=a=>this.setup.repeatNewPassword=a),class:"form-control",id:"confirmPassword",name:"confirmPassword",required:""},null,512),[[d,this.setup.repeatNewPassword]])])]),e("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:s[3]||(s[3]=a=>this.submit())},[!this.loading&&!this.done?(i(),r("span",A,[o(t,{t:"Next"}),s[5]||(s[5]=e("i",{class:"bi bi-chevron-right ms-auto"},null,-1))])):(i(),r("span",E,[o(t,{t:"Saving..."}),s[6]||(s[6]=e("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[e("span",{class:"visually-hidden"},"Loading...")],-1))]))],8,q)])])])],8,_)}const j=u(b,[["render",M]]);export{j as default}; diff --git a/src/static/app/dist/assets/share-BVKPGH8X.js b/src/static/app/dist/assets/share-DfPEOTNH.js similarity index 86% rename from src/static/app/dist/assets/share-BVKPGH8X.js rename to src/static/app/dist/assets/share-DfPEOTNH.js index 6eb8e35..10e7308 100644 --- a/src/static/app/dist/assets/share-BVKPGH8X.js +++ b/src/static/app/dist/assets/share-DfPEOTNH.js @@ -1 +1 @@ -import{_,r,D as p,s as u,c as m,b as t,d as c,K as h,a as f,y as b}from"./index-qq0VI3aD.js";import{b as v}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-miqCUaLJ.js";const g={name:"share",components:{LocaleText:y},async setup(){const o=h(),e=r(!1),i=p(),n=r(""),s=r(void 0),l=r(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(s.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(s.value=d.data,l.value=new Blob([s.value.file],{type:"text/plain"})):s.value=void 0,e.value=!0}),{store:i,theme:n,peerConfiguration:s,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),i=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=i,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},w=["data-bs-theme"],x={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},I={class:"m-auto"},L={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},D={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},R=["download","href"];function q(o,e,i,n,s,l){const a=b("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",x,[this.peerConfiguration?(f(),m("div",L,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),c(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",D,[c(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),c(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)]),8,R)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",I,[c(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,w)}const N=_(g,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{N as default}; +import{_,r,D as p,x as u,c as m,b as t,d as c,K as h,a as f,y as b}from"./index-Bsy8tbGW.js";import{b as v}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-CoKvgn8T.js";const x={name:"share",components:{LocaleText:y},async setup(){const o=h(),e=r(!1),i=p(),n=r(""),s=r(void 0),l=r(new Blob);await u("/api/getDashboardTheme",{},d=>{n.value=d.data});const a=o.query.ShareID;return a===void 0||a.length===0?(s.value=void 0,e.value=!0):await u("/api/sharePeer/get",{ShareID:a},d=>{d.status?(s.value=d.data,l.value=new Blob([s.value.file],{type:"text/plain"})):s.value=void 0,e.value=!0}),{store:i,theme:n,peerConfiguration:s,blob:l}},mounted(){this.peerConfiguration&&v.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,o=>{o&&console.error(o)})},methods:{download(){const o=new Blob([this.peerConfiguration.file],{type:"text/plain"}),e=URL.createObjectURL(o),i=`${this.peerConfiguration.fileName}.conf`,n=document.createElement("a");n.href=e,n.download=i,n.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},g=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},C={key:0,class:"text-center position-relative",style:{}},U={class:"position-absolute w-100 h-100 top-0 start-0 d-flex animate__animated animate__fadeInUp",style:{"animation-delay":"0.1s"}},I={class:"m-auto"},L={key:1,class:"d-flex align-items-center flex-column gap-3"},B={class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},k={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},D={class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},R=["download","href"];function q(o,e,i,n,s,l){const a=b("LocaleText");return f(),m("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[t("div",w,[this.peerConfiguration?(f(),m("div",L,[t("div",B,[e[1]||(e[1]=t("h6",null,"WGDashboard",-1)),c(a,{t:"Scan QR Code with the WireGuard App to add peer"})]),t("canvas",k,null,512),t("p",D,[c(a,{t:"or click the button below to download the "}),e[2]||(e[2]=t("samp",null,".conf",-1)),c(a,{t:" file"})]),t("a",{download:this.peerConfiguration.fileName+".conf",href:l.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},e[3]||(e[3]=[t("i",{class:"bi bi-download"},null,-1)]),8,R)])):(f(),m("div",C,[e[0]||(e[0]=t("div",{class:"animate__animated animate__fadeInUp"},[t("h1",{style:{"font-size":"20rem",filter:"blur(1rem)","animation-duration":"7s"},class:"animate__animated animate__flash animate__infinite"},[t("i",{class:"bi bi-file-binary"})])],-1)),t("div",U,[t("h3",I,[c(a,{t:"Oh no... This link is either expired or invalid."})])])]))])],8,g)}const N=_(x,[["render",q],["__scopeId","data-v-1b44aacd"]]);export{N as default}; diff --git a/src/static/app/dist/assets/signin-DO6dmDeT.js b/src/static/app/dist/assets/signin-DO6dmDeT.js deleted file mode 100644 index 50ebfd9..0000000 --- a/src/static/app/dist/assets/signin-DO6dmDeT.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as g,G as m,a as i,c as n,b as t,m as u,v as h,n as w,t as k,D as S,d as l,F as T,k as C,l as _,e as $,y as f,a0 as E,s as y,E as M,A as V,f as A,w as D,T as R}from"./index-qq0VI3aD.js";import{M as P}from"./message-D3MS_X3R.js";import{d as x}from"./dayjs.min-f_AEmQu-.js";import{L}from"./localeText-miqCUaLJ.js";const U={name:"RemoteServer",props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=x(),await fetch(`${this.server.host}/api/handshake`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=x(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${x().subtract(this.startTime).millisecond()}ms`:this.refreshing?m("Pinging..."):this.errorMsg?this.errorMsg:"N/A"}}},q={class:"card rounded-3"},B={class:"card-body"},O={class:"d-flex gap-3 w-100 remoteServerContainer"},j={class:"d-flex gap-3 align-items-center flex-grow-1"},G={class:"d-flex gap-3 align-items-center flex-grow-1"},N={class:"d-flex gap-2 button-group"},K={class:"card-footer gap-2 d-flex align-items-center"},W={key:0,class:"spin ms-auto text-primary-emphasis"};function z(s,e,d,c,a,p){return i(),n("div",q,[t("div",B,[t("div",O,[t("div",j,[e[7]||(e[7]=t("i",{class:"bi bi-server"},null,-1)),u(t("input",{class:"form-control form-control-sm",onBlur:e[0]||(e[0]=o=>this.handshake()),"onUpdate:modelValue":e[1]||(e[1]=o=>this.server.host=o),type:"url"},null,544),[[h,this.server.host]])]),t("div",G,[e[8]||(e[8]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm",onBlur:e[2]||(e[2]=o=>this.handshake()),"onUpdate:modelValue":e[3]||(e[3]=o=>this.server.apiKey=o),type:"text"},null,544),[[h,this.server.apiKey]])]),t("div",N,[t("button",{onClick:e[4]||(e[4]=o=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle"},e[9]||(e[9]=[t("i",{class:"bi bi-trash"},null,-1)])),t("button",{onClick:e[5]||(e[5]=o=>this.connect()),class:w([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle"])},e[10]||(e[10]=[t("i",{class:"bi bi-arrow-right-circle"},null,-1)]),2)])])]),t("div",K,[t("span",{class:w(["dot ms-0 me-2",[this.active?"active":"inactive"]])},null,2),t("small",null,k(this.getHandshakeTime),1),this.refreshing?(i(),n("div",W,e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)]))):(i(),n("a",{key:1,role:"button",onClick:e[6]||(e[6]=o=>this.handshake()),class:"text-primary-emphasis text-decoration-none ms-auto disabled"},e[12]||(e[12]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])))])])}const F=g(U,[["render",z],["__scopeId","data-v-ed7817c7"]]),H={name:"RemoteServerList",setup(){return{store:S()}},components:{LocaleText:L,RemoteServer:F}},J={class:"w-100 mt-3"},Z={class:"d-flex align-items-center mb-3"},Q={class:"mb-0"},X={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},Y={key:0,class:"text-muted m-auto"};function ee(s,e,d,c,a,p){const o=f("LocaleText"),v=f("RemoteServer");return i(),n("div",J,[t("div",Z,[t("h5",Q,[l(o,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"Server"})])]),t("div",X,[(i(!0),n(T,null,C(this.store.CrossServerConfiguration.ServerList,(b,r)=>(i(),_(v,{onSetActiveServer:I=>this.store.setActiveCrossServer(r),onDelete:I=>this.store.deleteCrossServerConfiguration(r),key:r,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),n("h6",Y,[l(o,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(o,{t:"to add your server"})])):$("",!0)])])}const te=g(H,[["render",ee]]),se={name:"signInInput",methods:{GetLocale:m},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return m(this.placeholder)}}},oe=["type","id","name","placeholder"];function ie(s,e,d,c,a,p){return u((i(),n("input",{type:d.type,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data[this.id]=o),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,oe)),[[E,this.data[this.id]]])}const re=g(se,[["render",ie]]),ne={name:"signInTOTP",methods:{GetLocale:m},props:{data:""},computed:{getLocaleText(){return m("OTP from your authenticator")}}},ae=["placeholder"];function le(s,e,d,c,a,p){return u((i(),n("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.totp=o)},null,8,ae)),[[h,this.data.totp]])}const de=g(ne,[["render",le]]),ue={name:"signin",components:{SignInTOTP:de,SignInInput:re,LocaleText:L,RemoteServerList:te,Message:P},async setup(){const s=S();let e="dark",d=!1,c;return s.IsElectronApp||await Promise.all([y("/api/getDashboardTheme",{},a=>{e=a.data}),y("/api/isTotpEnabled",{},a=>{d=a.data}),y("/api/getDashboardVersion",{},a=>{c=a.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:d,version:c}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return m(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:m,async auth(){this.formValid?(this.loading=!0,await M("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ce=["data-bs-theme"],me={class:"login-box m-auto"},he={class:"m-auto signInContainer",style:{width:"700px"}},pe={class:"mb-0 text-body"},fe={class:"form-floating mb-2"},ge=["disabled"],be={for:"floatingInput",class:"d-flex"},ve={class:"form-floating mb-2"},ye=["disabled"],xe={for:"floatingInput",class:"d-flex"},_e={key:0,class:"form-floating mb-2"},$e=["disabled"],we={for:"floatingInput",class:"d-flex"},ke=["disabled"],Se={key:0,class:"d-flex w-100"},Te={key:1,class:"d-flex w-100 align-items-center"},Ce={key:2,class:"d-flex mt-3"},Le={class:"form-check form-switch ms-auto"},Ie=["disabled"],Ee={class:"form-check-label",for:"flexSwitchCheckChecked"},Me={class:"text-muted pb-3 d-block w-100 text-center mt-3"},Ve={class:"messageCentre text-body position-absolute d-flex"};function Ae(s,e,d,c,a,p){const o=f("LocaleText"),v=f("RemoteServerList"),b=f("Message");return i(),n("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",me,[t("div",he,[t("h4",pe,[l(o,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),_(v,{key:1})):(i(),n("form",{key:0,onSubmit:e[3]||(e[3]=r=>{r.preventDefault(),this.auth()}),class:"mt-3"},[t("div",fe,[u(t("input",{type:"text",required:"",disabled:a.loading,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.username=r),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,ge),[[h,this.data.username]]),t("label",be,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(o,{t:"Username"})])]),t("div",ve,[u(t("input",{type:"password",required:"",disabled:a.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=r=>this.data.password=r),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,ye),[[h,this.data.password]]),t("label",xe,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"Password"})])]),this.totpEnabled?(i(),n("div",_e,[u(t("input",{type:"text",id:"totp",required:"",disabled:a.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=r=>this.data.totp=r),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,$e),[[h,this.data.totp]]),t("label",we,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(o,{t:"OTP from your authenticator"})])])):$("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),n("span",Te,[l(o,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),n("span",Se,[l(o,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,ke)],32)),this.store.IsElectronApp?$("",!0):(i(),n("div",Ce,[t("div",Le,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=r=>this.store.CrossServerConfiguration.Enable=r),disabled:a.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Ie),[[V,this.store.CrossServerConfiguration.Enable]]),t("label",Ee,[l(o,{t:"Access Remote Server"})])])]))])]),t("small",Me,[A(" WGDashboard "+k(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",Ve,[l(R,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:D(()=>[(i(!0),n(T,null,C(p.getMessages.slice().reverse(),r=>(i(),_(b,{message:r,key:r.id},null,8,["message"]))),128))]),_:1})])],8,ce)}const qe=g(ue,[["render",Ae],["__scopeId","data-v-80e20da4"]]);export{qe as default}; diff --git a/src/static/app/dist/assets/signin-EC4Wk_x5.js b/src/static/app/dist/assets/signin-EC4Wk_x5.js new file mode 100644 index 0000000..d021049 --- /dev/null +++ b/src/static/app/dist/assets/signin-EC4Wk_x5.js @@ -0,0 +1 @@ +import{_ as g,G as m,a as i,c as n,b as t,m as u,v as h,n as w,t as k,D as S,d as l,F as T,k as C,j as _,e as $,y as f,a0 as E,x,E as M,s as V,f as D,w as A,T as R}from"./index-Bsy8tbGW.js";import{M as P}from"./message-HYNxjFjL.js";import{d as y}from"./dayjs.min-fPdQmr57.js";import{L}from"./localeText-CoKvgn8T.js";const U={name:"RemoteServer",props:{server:Object},data(){return{active:!1,startTime:void 0,endTime:void 0,errorMsg:"",refreshing:!1}},methods:{async handshake(){this.active=!1,this.server.host&&this.server.apiKey&&(this.refreshing=!0,this.startTime=void 0,this.endTime=void 0,this.startTime=y(),await fetch(`${this.server.host}/api/handshake`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},method:"GET",signal:AbortSignal.timeout(5e3)}).then(s=>{if(s.status===200)return s.json();throw new Error(s.statusText)}).then(()=>{this.endTime=y(),this.active=!0}).catch(s=>{this.active=!1,this.errorMsg=s}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(s=>s.json()).then(s=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${y().subtract(this.startTime).millisecond()}ms`:this.refreshing?m("Pinging..."):this.errorMsg?this.errorMsg:"N/A"}}},q={class:"card rounded-3"},B={class:"card-body"},j={class:"d-flex gap-3 w-100 remoteServerContainer"},O={class:"d-flex gap-3 align-items-center flex-grow-1"},G={class:"d-flex gap-3 align-items-center flex-grow-1"},N={class:"d-flex gap-2 button-group"},K={class:"card-footer gap-2 d-flex align-items-center"},W={key:0,class:"spin ms-auto text-primary-emphasis"};function z(s,e,d,c,a,p){return i(),n("div",q,[t("div",B,[t("div",j,[t("div",O,[e[7]||(e[7]=t("i",{class:"bi bi-server"},null,-1)),u(t("input",{class:"form-control form-control-sm",onBlur:e[0]||(e[0]=o=>this.handshake()),"onUpdate:modelValue":e[1]||(e[1]=o=>this.server.host=o),type:"url"},null,544),[[h,this.server.host]])]),t("div",G,[e[8]||(e[8]=t("i",{class:"bi bi-key-fill"},null,-1)),u(t("input",{class:"form-control form-control-sm",onBlur:e[2]||(e[2]=o=>this.handshake()),"onUpdate:modelValue":e[3]||(e[3]=o=>this.server.apiKey=o),type:"text"},null,544),[[h,this.server.apiKey]])]),t("div",N,[t("button",{onClick:e[4]||(e[4]=o=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle"},e[9]||(e[9]=[t("i",{class:"bi bi-trash"},null,-1)])),t("button",{onClick:e[5]||(e[5]=o=>this.connect()),class:w([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle"])},e[10]||(e[10]=[t("i",{class:"bi bi-arrow-right-circle"},null,-1)]),2)])])]),t("div",K,[t("span",{class:w(["dot ms-0 me-2",[this.active?"active":"inactive"]])},null,2),t("small",null,k(this.getHandshakeTime),1),this.refreshing?(i(),n("div",W,e[11]||(e[11]=[t("i",{class:"bi bi-arrow-clockwise"},null,-1)]))):(i(),n("a",{key:1,role:"button",onClick:e[6]||(e[6]=o=>this.handshake()),class:"text-primary-emphasis text-decoration-none ms-auto disabled"},e[12]||(e[12]=[t("i",{class:"bi bi-arrow-clockwise me"},null,-1)])))])])}const F=g(U,[["render",z],["__scopeId","data-v-ed7817c7"]]),H={name:"RemoteServerList",setup(){return{store:S()}},components:{LocaleText:L,RemoteServer:F}},J={class:"w-100 mt-3"},Z={class:"d-flex align-items-center mb-3"},Q={class:"mb-0"},X={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},Y={key:0,class:"text-muted m-auto"};function ee(s,e,d,c,a,p){const o=f("LocaleText"),v=f("RemoteServer");return i(),n("div",J,[t("div",Z,[t("h5",Q,[l(o,{t:"Server List"})]),t("button",{onClick:e[0]||(e[0]=b=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[e[1]||(e[1]=t("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),l(o,{t:"Server"})])]),t("div",X,[(i(!0),n(T,null,C(this.store.CrossServerConfiguration.ServerList,(b,r)=>(i(),_(v,{onSetActiveServer:I=>this.store.setActiveCrossServer(r),onDelete:I=>this.store.deleteCrossServerConfiguration(r),key:r,server:b},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(i(),n("h6",Y,[l(o,{t:"Click"}),e[2]||(e[2]=t("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1)),l(o,{t:"to add your server"})])):$("",!0)])])}const te=g(H,[["render",ee]]),se={name:"signInInput",methods:{GetLocale:m},props:{id:"",data:"",type:"",placeholder:""},computed:{getLocaleText(){return m(this.placeholder)}}},oe=["type","id","name","placeholder"];function ie(s,e,d,c,a,p){return u((i(),n("input",{type:d.type,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data[this.id]=o),class:"form-control rounded-3",id:this.id,name:this.id,autocomplete:"on",placeholder:this.getLocaleText,required:""},null,8,oe)),[[E,this.data[this.id]]])}const re=g(se,[["render",ie]]),ne={name:"signInTOTP",methods:{GetLocale:m},props:{data:""},computed:{getLocaleText(){return m("OTP from your authenticator")}}},ae=["placeholder"];function le(s,e,d,c,a,p){return u((i(),n("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:this.getLocaleText,"onUpdate:modelValue":e[0]||(e[0]=o=>this.data.totp=o)},null,8,ae)),[[h,this.data.totp]])}const de=g(ne,[["render",le]]),ue={name:"signin",components:{SignInTOTP:de,SignInInput:re,LocaleText:L,RemoteServerList:te,Message:P},async setup(){const s=S();let e="dark",d=!1,c;return s.IsElectronApp||await Promise.all([x("/api/getDashboardTheme",{},a=>{e=a.data}),x("/api/isTotpEnabled",{},a=>{d=a.data}),x("/api/getDashboardVersion",{},a=>{c=a.data})]),s.removeActiveCrossServer(),{store:s,theme:e,totpEnabled:d,version:c}},data(){return{data:{username:"",password:"",totp:""},loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(s=>s.show)},applyLocale(s){return m(s)},formValid(){return this.data.username&&this.data.password&&(this.totpEnabled&&this.data.totp||!this.totpEnabled)}},methods:{GetLocale:m,async auth(){this.formValid?(this.loading=!0,await M("/api/authenticate",this.data,s=>{s.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),s.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.store.newMessage("Server",s.message,"danger"),document.querySelectorAll("input[required]").forEach(e=>{e.classList.remove("is-valid"),e.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(s=>{s.value.length===0?(s.classList.remove("is-valid"),s.classList.add("is-invalid")):(s.classList.remove("is-invalid"),s.classList.add("is-valid"))})}}},ce=["data-bs-theme"],me={class:"login-box m-auto"},he={class:"m-auto signInContainer",style:{width:"700px"}},pe={class:"mb-0 text-body"},fe={class:"form-floating mb-2"},ge=["disabled"],be={for:"floatingInput",class:"d-flex"},ve={class:"form-floating mb-2"},xe=["disabled"],ye={for:"floatingInput",class:"d-flex"},_e={key:0,class:"form-floating mb-2"},$e=["disabled"],we={for:"floatingInput",class:"d-flex"},ke=["disabled"],Se={key:0,class:"d-flex w-100"},Te={key:1,class:"d-flex w-100 align-items-center"},Ce={key:2,class:"d-flex mt-3"},Le={class:"form-check form-switch ms-auto"},Ie=["disabled"],Ee={class:"form-check-label",for:"flexSwitchCheckChecked"},Me={class:"text-muted pb-3 d-block w-100 text-center mt-3"},Ve={class:"messageCentre text-body position-absolute d-flex"};function De(s,e,d,c,a,p){const o=f("LocaleText"),v=f("RemoteServerList"),b=f("Message");return i(),n("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body h-100",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[t("div",me,[t("div",he,[t("h4",pe,[l(o,{t:"Welcome to"})]),e[10]||(e[10]=t("span",{class:"dashboardLogo display-3"},[t("strong",null,"WGDashboard")],-1)),this.store.CrossServerConfiguration.Enable?(i(),_(v,{key:1})):(i(),n("form",{key:0,onSubmit:e[3]||(e[3]=r=>{r.preventDefault(),this.auth()}),class:"mt-3"},[t("div",fe,[u(t("input",{type:"text",required:"",disabled:a.loading,"onUpdate:modelValue":e[0]||(e[0]=r=>this.data.username=r),name:"username",autocomplete:"username",autofocus:"",class:"form-control rounded-3",id:"username",placeholder:"Username"},null,8,ge),[[h,this.data.username]]),t("label",be,[e[5]||(e[5]=t("i",{class:"bi bi-person-circle me-2"},null,-1)),l(o,{t:"Username"})])]),t("div",ve,[u(t("input",{type:"password",required:"",disabled:a.loading,autocomplete:"current-password","onUpdate:modelValue":e[1]||(e[1]=r=>this.data.password=r),class:"form-control rounded-3",id:"password",placeholder:"Password"},null,8,xe),[[h,this.data.password]]),t("label",ye,[e[6]||(e[6]=t("i",{class:"bi bi-key-fill me-2"},null,-1)),l(o,{t:"Password"})])]),this.totpEnabled?(i(),n("div",_e,[u(t("input",{type:"text",id:"totp",required:"",disabled:a.loading,placeholder:"totp","onUpdate:modelValue":e[2]||(e[2]=r=>this.data.totp=r),class:"form-control rounded-3",maxlength:"6",inputmode:"numeric",autocomplete:"one-time-code"},null,8,$e),[[h,this.data.totp]]),t("label",we,[e[7]||(e[7]=t("i",{class:"bi bi-lock-fill me-2"},null,-1)),l(o,{t:"OTP from your authenticator"})])])):$("",!0),t("button",{class:"btn btn-lg btn-dark ms-auto mt-5 w-100 d-flex btn-brand signInBtn rounded-3",disabled:this.loading||!this.formValid,ref:"signInBtn"},[this.loading?(i(),n("span",Te,[l(o,{t:"Signing In..."}),e[9]||(e[9]=t("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},null,-1))])):(i(),n("span",Se,[l(o,{t:"Sign In"}),e[8]||(e[8]=t("i",{class:"ms-auto bi bi-chevron-right"},null,-1))]))],8,ke)],32)),this.store.IsElectronApp?$("",!0):(i(),n("div",Ce,[t("div",Le,[u(t("input",{"onUpdate:modelValue":e[4]||(e[4]=r=>this.store.CrossServerConfiguration.Enable=r),disabled:a.loading,class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,8,Ie),[[V,this.store.CrossServerConfiguration.Enable]]),t("label",Ee,[l(o,{t:"Access Remote Server"})])])]))])]),t("small",Me,[D(" WGDashboard "+k(this.version)+" | Developed with ❤️ by ",1),e[11]||(e[11]=t("a",{href:"https://github.com/donaldzou",target:"_blank"},[t("strong",null,"Donald Zou")],-1))]),t("div",Ve,[l(R,{name:"message",tag:"div",class:"position-relative flex-sm-grow-0 flex-grow-1 d-flex align-items-end ms-sm-auto flex-column gap-2"},{default:A(()=>[(i(!0),n(T,null,C(p.getMessages.slice().reverse(),r=>(i(),_(b,{message:r,key:r.id},null,8,["message"]))),128))]),_:1})])],8,ce)}const qe=g(ue,[["render",De],["__scopeId","data-v-80e20da4"]]);export{qe as default}; diff --git a/src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js b/src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-DkmowoHo.js similarity index 75% rename from src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js rename to src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-DkmowoHo.js index e19a183..51bd3fb 100644 --- a/src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js +++ b/src/static/app/dist/assets/storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-DkmowoHo.js @@ -1 +1 @@ -import{_ as i,B as m,r as p,g as b,a as o,c as t,d as g,w as x,n as v,b as r,t as n,e as f,x as C,C as w}from"./index-qq0VI3aD.js";const y={class:"text-muted me-2"},_={class:"fw-bold"},B={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){m(c=>({e901480c:u.value}));const l=e,s=p(!1),u=b(()=>l.square?"40px":"25px");return(c,a)=>(o(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=d=>s.value=!0),onMouseleave:a[1]||(a[1]=d=>s.value=!1),style:w({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[g(C,{name:"zoomReversed"},{default:x(()=>[s.value?(o(),t("div",{key:0,style:{"white-space":"nowrap"},class:v(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[r("small",y," Core #"+n(e.core_number+1),1),r("small",_,n(e.percentage)+"% ",1)],2)):f("",!0)]),_:1})],36))}},N=i(B,[["__scopeId","data-v-70102637"]]);export{N as C}; +import{_ as i,A as m,r as p,g as b,a as o,c as t,d as g,w as v,n as x,b as r,t as n,e as f,l as C,B as w}from"./index-Bsy8tbGW.js";const y={class:"text-muted me-2"},_={class:"fw-bold"},B={__name:"cpuCore",props:{core_number:Number,percentage:Number,align:Boolean,square:Boolean},setup(e){m(c=>({e901480c:u.value}));const l=e,s=p(!1),u=b(()=>l.square?"40px":"25px");return(c,a)=>(o(),t("div",{class:"flex-grow-1 square rounded-3 border position-relative p-2",onMouseenter:a[0]||(a[0]=d=>s.value=!0),onMouseleave:a[1]||(a[1]=d=>s.value=!1),style:w({"background-color":`rgb(13 110 253 / ${e.percentage*10}%)`})},[g(C,{name:"zoomReversed"},{default:v(()=>[s.value?(o(),t("div",{key:0,style:{"white-space":"nowrap"},class:x(["floatingLabel z-3 border position-absolute d-block p-1 px-2 bg-body text-body rounded-3 border shadow d-flex",[e.align?"end-0":"start-0"]])},[r("small",y," Core #"+n(e.core_number+1),1),r("small",_,n(e.percentage)+"% ",1)],2)):f("",!0)]),_:1})],36))}},N=i(B,[["__scopeId","data-v-70102637"]]);export{N as C}; diff --git a/src/static/app/dist/assets/systemStatus-XiZp1W1_.js b/src/static/app/dist/assets/systemStatus-m8M0paXn.js similarity index 90% rename from src/static/app/dist/assets/systemStatus-XiZp1W1_.js rename to src/static/app/dist/assets/systemStatus-m8M0paXn.js index e3b2220..f5a87b8 100644 --- a/src/static/app/dist/assets/systemStatus-XiZp1W1_.js +++ b/src/static/app/dist/assets/systemStatus-m8M0paXn.js @@ -1 +1 @@ -import{_ as E,a as l,c as o,b as e,t as i,D as T,g as _,o as H,j as W,r as p,s as q,d as n,C as h,F as b,k as v,u as C,w as O,T as $,f as x,e as g,l as N,G as y}from"./index-qq0VI3aD.js";import{L as u}from"./localeText-miqCUaLJ.js";import{C as F}from"./storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-BTBdfD2P.js";import{C as z,L as A,B as J,a as K,b as Q,c as X,p as Y,d as Z,e as ee,f as se,P as te,i as ae,g as M}from"./index-2C7nK5b4.js";import{d as le}from"./dayjs.min-f_AEmQu-.js";const oe={class:"mb-1 d-flex gap-5"},re={class:"title"},ne={class:"ms-auto"},ie={__name:"process",props:["process","cpu"],setup(m){return(w,s)=>(l(),o("div",oe,[e("small",re,[s[0]||(s[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,i(m.process.command?m.process.command:m.process.name),1)]),e("small",ne,i(Math.round((m.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},D=E(ie,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"text-body row g-2 mb-2"},de={class:"col-sm-6"},ue={class:"card rounded-3 h-100 shadow"},_e={class:"card-body p-4"},pe={class:"d-flex flex-column gap-3"},he={class:"d-flex flex-column gap-3",style:{height:"130px"}},me={class:"d-flex align-items-center"},be={class:"text-muted mb-0"},ve={class:"ms-auto mb-0"},ge={key:0},ye={key:1,class:"spinner-border"},fe={class:"progress",role:"progressbar",style:{height:"10px"}},xe={class:"d-flex gap-1"},we={class:"d-flex align-items-center"},ke={class:"mb-0"},Ce={class:"mb-0 ms-auto text-muted"},Ne={class:"position-relative"},Me={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ie={class:"card-body p-4"},Pe={class:"d-flex flex-column gap-3"},Ue={class:"d-flex flex-column gap-3",style:{height:"130px"}},Le={class:"d-flex align-items-center"},Be={class:"text-muted"},Oe={class:"ms-auto"},$e={key:0},De={key:1,class:"spinner-border"},Ee={class:"progress",role:"progressbar",style:{height:"10px"}},Ve={class:"d-flex align-items-center"},Re={class:"mb-0 ms-auto"},je={class:"progress",role:"progressbar",style:{height:"10px"}},Ge={class:"d-flex align-items-center"},Te={class:"mb-0"},He={class:"mb-0 ms-auto text-muted"},We={class:"position-relative"},qe={class:"col-sm-12"},Fe={class:"card rounded-3 h-100 shadow"},ze={class:"card-body p-4 d-flex gap-3 flex-column"},Ae={class:"d-flex align-items-center gap-3"},Je={class:"text-muted mb-0"},Ke={class:"ms-auto mb-0"},Qe={key:0},Xe={key:1,class:"spinner-border"},Ye={key:0,class:"mb-0 text-end"},Ze={class:"text-info"},es={class:"text-warning"},ss={key:0,class:"row g-3"},ts={class:"col-sm-6 fadeIn"},as={class:"d-flex mb-2"},ls={class:"mb-0"},os={class:"mb-0 ms-auto d-flex gap-2"},rs={class:"text-info"},ns={class:"text-warning"},is={class:"progress",role:"progressbar",style:{height:"10px"}},cs={class:"col-sm-12"},ds={class:"card rounded-3 h-100 shadow"},us={class:"card-body p-4 d-flex gap-3 flex-column"},_s={class:"d-flex align-items-center"},ps={class:"text-muted mb-0"},hs={class:"ms-auto mb-0"},ms={key:0},bs={key:1,class:"spinner-border"},vs={class:"row g-3"},gs={class:"col-sm-6 fadeIn"},ys={class:"d-flex mb-2"},fs={class:"mb-0"},xs={class:"mb-0 ms-auto d-flex gap-2"},ws={class:"text-success"},ks={class:"progress",role:"progressbar",style:{height:"20px"}},Cs={__name:"systemStatus",setup(m){const w=T(),s=_(()=>w.SystemStatus);let S=null;z.register(A,J,K,Q,X,Y,Z,ee,se,te,ae),H(()=>{L(),S=setInterval(()=>{L()},5e3)}),W(()=>{clearInterval(S)});const f=p([]),I=p([]),P=p([]),U=p([]),c=p({bytes_recv:[],bytes_sent:[]}),d=p({bytes_recv:[],bytes_sent:[]}),L=()=>{q("/api/systemStatus",{},r=>{if(f.value.push(le().format("HH:mm:ss A")),w.SystemStatus=r.data,I.value.push(r.data.CPU.cpu_percent),P.value.push(r.data.Memory.VirtualMemory.percent),U.value.push(r.data.Memory.SwapMemory.percent),c.value.bytes_recv.push(Object.values(r.data.NetworkInterfaces).map(t=>t.bytes_recv).reduce((t,a)=>t+a)),c.value.bytes_sent.push(Object.values(r.data.NetworkInterfaces).map(t=>t.bytes_sent).reduce((t,a)=>t+a)),c.value.bytes_recv.length===1&&c.value.bytes_sent.length===1)d.value.bytes_recv.push(0),d.value.bytes_sent.push(0);else{let t=c.value.bytes_recv[c.value.bytes_recv.length-1]-c.value.bytes_recv[c.value.bytes_recv.length-2],a=c.value.bytes_sent[c.value.bytes_sent.length-1]-c.value.bytes_sent[c.value.bytes_sent.length-2];d.value.bytes_recv.push(Math.round((t/1024e3+Number.EPSILON)*1e4)/1e4),d.value.bytes_sent.push(Math.round((a/1024e3+Number.EPSILON)*1e4)/1e4)}})},B=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:r=>`${r.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(r,t)=>`${r}%`},grid:{display:!1}}}})),V=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:r=>`${r.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(r,t)=>`${r} MB/s`},grid:{display:!1}}}})),R=_(()=>({labels:[...f.value],datasets:[{label:y("CPU Usage"),data:[...I.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),j=_(()=>({labels:[...f.value],datasets:[{label:y("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:y("Swap Memory Usage"),data:[...U.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]})),G=_(()=>({labels:[...f.value],datasets:[{label:y("Real Time Received Data Usage"),data:[...d.value.bytes_recv],fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:y("Real Time Sent Data Usage"),data:[...d.value.bytes_sent],fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(r,t)=>(l(),o("div",ce,[e("div",de,[e("div",ue,[e("div",_e,[e("div",pe,[e("div",he,[e("div",me,[e("h3",be,[t[0]||(t[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),n(u,{t:"CPU"})]),e("h3",ve,[s.value?(l(),o("span",ge,i(s.value.CPU.cpu_percent)+"% ",1)):(l(),o("span",ye))])]),e("div",fe,[e("div",{class:"progress-bar",style:h({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",xe,[(l(!0),o(b,null,v(s.value?.CPU.cpu_percent_per_cpu,(a,k)=>(l(),N(F,{square:!0,key:k,align:k+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:k,percentage:a},null,8,["align","core_number","percentage"]))),128))])]),n(C(M),{options:B.value,data:R.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",we,[e("h5",ke,[n(u,{t:"Processes"})]),e("h6",Ce,[e("small",null,[n(u,{t:"CPU Usage"})])])]),t[1]||(t[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ne,[n($,{name:"process"},{default:O(()=>[(l(!0),o(b,null,v(s.value?.Processes.cpu_top_10,a=>(l(),N(D,{key:a.pid,cpu:!0,process:a},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Me,[e("div",Se,[e("div",Ie,[e("div",Pe,[e("div",Ue,[e("div",Le,[e("h3",Be,[t[2]||(t[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),n(u,{t:"Memory"})]),e("h3",Oe,[s.value?(l(),o("span",$e,i(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(l(),o("span",De))])]),e("div",Ee,[e("div",{class:"progress-bar bg-info",style:h({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Ve,[t[3]||(t[3]=e("h6",{class:"mb-0"},"Swap Memory",-1)),e("h6",Re,i(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",je,[e("div",{class:"progress-bar bg-info-subtle",style:h({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),n(C(M),{options:B.value,data:j.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Ge,[e("h5",Te,[n(u,{t:"Processes"})]),e("h6",He,[e("small",null,[n(u,{t:"Memory Usage"})])])]),t[4]||(t[4]=e("hr",{class:"my-1"},null,-1)),e("div",We,[n($,{name:"process"},{default:O(()=>[(l(!0),o(b,null,v(s.value?.Processes.memory_top_10,a=>(l(),N(D,{key:a.pid,process:a},null,8,["process"]))),128))]),_:1})])])])])]),e("div",qe,[e("div",Fe,[e("div",ze,[e("div",Ae,[e("h3",Je,[t[5]||(t[5]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),n(u,{t:"Network"})]),e("h3",Ke,[s.value?(l(),o("span",Qe,[n(u,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(l(),o("span",Xe))])]),e("div",null,[s.value?(l(),o("h5",Ye,[e("span",Ze,[t[6]||(t[6]=e("i",{class:"bi bi-arrow-down"},null,-1)),x(" "+i(d.value.bytes_recv[d.value.bytes_recv.length-1])+" MB/s ",1)]),e("span",es,[t[7]||(t[7]=e("i",{class:"bi bi-arrow-up"},null,-1)),x(" "+i(d.value.bytes_sent[d.value.bytes_sent.length-1])+" MB/s ",1)])])):g("",!0)]),n(C(M),{options:V.value,data:G.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"]),s.value?(l(),o("div",ss,[(l(!0),o(b,null,v(Object.keys(s.value.NetworkInterfaces).sort(),a=>(l(),o("div",ts,[e("div",as,[e("h6",ls,[e("samp",null,i(a),1)]),e("h6",os,[e("span",rs,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-down"},null,-1)),x(" "+i(Math.round((s.value.NetworkInterfaces[a].bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",ns,[t[9]||(t[9]=e("i",{class:"bi bi-arrow-up"},null,-1)),x(" "+i(Math.round((s.value.NetworkInterfaces[a].bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",is,[s.value.NetworkInterfaces[a].bytes_recv>0?(l(),o("div",{key:0,class:"progress-bar bg-info",style:h({width:`${s.value.NetworkInterfaces[a].bytes_recv/(s.value.NetworkInterfaces[a].bytes_sent+s.value.NetworkInterfaces[a].bytes_recv)*100}%`})},null,4)):g("",!0),s.value.NetworkInterfaces[a].bytes_sent>0?(l(),o("div",{key:1,class:"progress-bar bg-warning",style:h({width:`${s.value.NetworkInterfaces[a].bytes_sent/(s.value.NetworkInterfaces[a].bytes_sent+s.value.NetworkInterfaces[a].bytes_recv)*100}%`})},null,4)):g("",!0)])]))),256))])):g("",!0)])])]),e("div",cs,[e("div",ds,[e("div",us,[e("div",_s,[e("h3",ps,[t[10]||(t[10]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),n(u,{t:"Storage"})]),e("h3",hs,[s.value?(l(),o("span",ms,[n(u,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(l(),o("span",bs))])]),e("div",vs,[s.value?(l(!0),o(b,{key:0},v(s.value.Disks,a=>(l(),o("div",gs,[e("div",ys,[e("h6",fs,[e("samp",null,i(a.mountPoint),1)]),e("h6",xs,[e("span",ws,i(Math.round((a.used/1024e6+Number.EPSILON)*100)/100)+" / "+i(Math.round((a.total/1024e6+Number.EPSILON)*100)/100)+" GB Used ",1)])]),e("div",ks,[e("div",{class:"progress-bar bg-success",style:h({width:`${a.percent}%`})},i(a.percent)+"% ",5)])]))),256)):g("",!0)])])])])]))}},Us=E(Cs,[["__scopeId","data-v-727ce0e8"]]);export{Us as default}; +import{_ as E,a as l,c as o,b as e,t as i,D as T,g as _,o as H,C as W,r as p,x as q,d as n,B as h,F as b,k as v,u as C,w as O,T as $,f as x,e as g,j as N,G as y}from"./index-Bsy8tbGW.js";import{L as u}from"./localeText-CoKvgn8T.js";import{C as F}from"./storageMount.vue_vue_type_style_index_0_scoped_a382214a_lang-DkmowoHo.js";import{C as z,L as A,B as J,a as K,b as Q,c as X,p as Y,d as Z,e as ee,f as se,P as te,i as ae,g as M}from"./index-DTSRB6Eo.js";import{d as le}from"./dayjs.min-fPdQmr57.js";const oe={class:"mb-1 d-flex gap-5"},re={class:"title"},ne={class:"ms-auto"},ie={__name:"process",props:["process","cpu"],setup(m){return(w,s)=>(l(),o("div",oe,[e("small",re,[s[0]||(s[0]=e("i",{class:"bi bi-code-square me-2"},null,-1)),e("samp",null,i(m.process.command?m.process.command:m.process.name),1)]),e("small",ne,i(Math.round((m.process.percent+Number.EPSILON)*10)/10)+"% ",1)]))}},D=E(ie,[["__scopeId","data-v-ffe5ad8f"]]),ce={class:"text-body row g-2 mb-2"},de={class:"col-sm-6"},ue={class:"card rounded-3 h-100 shadow"},_e={class:"card-body p-4"},pe={class:"d-flex flex-column gap-3"},he={class:"d-flex flex-column gap-3",style:{height:"130px"}},me={class:"d-flex align-items-center"},be={class:"text-muted mb-0"},ve={class:"ms-auto mb-0"},ge={key:0},ye={key:1,class:"spinner-border"},fe={class:"progress",role:"progressbar",style:{height:"10px"}},xe={class:"d-flex gap-1"},we={class:"d-flex align-items-center"},ke={class:"mb-0"},Ce={class:"mb-0 ms-auto text-muted"},Ne={class:"position-relative"},Me={class:"col-sm-6"},Se={class:"card rounded-3 h-100 shadow"},Ie={class:"card-body p-4"},Pe={class:"d-flex flex-column gap-3"},Ue={class:"d-flex flex-column gap-3",style:{height:"130px"}},Be={class:"d-flex align-items-center"},Le={class:"text-muted"},Oe={class:"ms-auto"},$e={key:0},De={key:1,class:"spinner-border"},Ee={class:"progress",role:"progressbar",style:{height:"10px"}},Ve={class:"d-flex align-items-center"},Re={class:"mb-0 ms-auto"},je={class:"progress",role:"progressbar",style:{height:"10px"}},Ge={class:"d-flex align-items-center"},Te={class:"mb-0"},He={class:"mb-0 ms-auto text-muted"},We={class:"position-relative"},qe={class:"col-sm-12"},Fe={class:"card rounded-3 h-100 shadow"},ze={class:"card-body p-4 d-flex gap-3 flex-column"},Ae={class:"d-flex align-items-center gap-3"},Je={class:"text-muted mb-0"},Ke={class:"ms-auto mb-0"},Qe={key:0},Xe={key:1,class:"spinner-border"},Ye={key:0,class:"mb-0 text-end"},Ze={class:"text-info"},es={class:"text-warning"},ss={key:0,class:"row g-3"},ts={class:"col-sm-6 fadeIn"},as={class:"d-flex mb-2"},ls={class:"mb-0"},os={class:"mb-0 ms-auto d-flex gap-2"},rs={class:"text-info"},ns={class:"text-warning"},is={class:"progress",role:"progressbar",style:{height:"10px"}},cs={class:"col-sm-12"},ds={class:"card rounded-3 h-100 shadow"},us={class:"card-body p-4 d-flex gap-3 flex-column"},_s={class:"d-flex align-items-center"},ps={class:"text-muted mb-0"},hs={class:"ms-auto mb-0"},ms={key:0},bs={key:1,class:"spinner-border"},vs={class:"row g-3"},gs={class:"col-sm-6 fadeIn"},ys={class:"d-flex mb-2"},fs={class:"mb-0"},xs={class:"mb-0 ms-auto d-flex gap-2"},ws={class:"text-success"},ks={class:"progress",role:"progressbar",style:{height:"20px"}},Cs={__name:"systemStatus",setup(m){const w=T(),s=_(()=>w.SystemStatus);let S=null;z.register(A,J,K,Q,X,Y,Z,ee,se,te,ae),H(()=>{B(),S=setInterval(()=>{B()},5e3)}),W(()=>{clearInterval(S)});const f=p([]),I=p([]),P=p([]),U=p([]),c=p({bytes_recv:[],bytes_sent:[]}),d=p({bytes_recv:[],bytes_sent:[]}),B=()=>{q("/api/systemStatus",{},r=>{if(f.value.push(le().format("HH:mm:ss A")),w.SystemStatus=r.data,I.value.push(r.data.CPU.cpu_percent),P.value.push(r.data.Memory.VirtualMemory.percent),U.value.push(r.data.Memory.SwapMemory.percent),c.value.bytes_recv.push(Object.values(r.data.NetworkInterfaces).map(t=>t.bytes_recv).reduce((t,a)=>t+a)),c.value.bytes_sent.push(Object.values(r.data.NetworkInterfaces).map(t=>t.bytes_sent).reduce((t,a)=>t+a)),c.value.bytes_recv.length===1&&c.value.bytes_sent.length===1)d.value.bytes_recv.push(0),d.value.bytes_sent.push(0);else{let t=c.value.bytes_recv[c.value.bytes_recv.length-1]-c.value.bytes_recv[c.value.bytes_recv.length-2],a=c.value.bytes_sent[c.value.bytes_sent.length-1]-c.value.bytes_sent[c.value.bytes_sent.length-2];d.value.bytes_recv.push(Math.round((t/1024e3+Number.EPSILON)*1e4)/1e4),d.value.bytes_sent.push(Math.round((a/1024e3+Number.EPSILON)*1e4)/1e4)}})},L=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:r=>`${r.formattedValue}%`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(r,t)=>`${r}%`},grid:{display:!1}}}})),V=_(()=>({responsive:!0,plugins:{legend:{display:!0},tooltip:{callbacks:{label:r=>`${r.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(r,t)=>`${r} MB/s`},grid:{display:!1}}}})),R=_(()=>({labels:[...f.value],datasets:[{label:y("CPU Usage"),data:[...I.value],fill:"start",backgroundColor:"#0d6efd90",borderColor:"#0d6efd",tension:0,pointRadius:2,borderWidth:1}]})),j=_(()=>({labels:[...f.value],datasets:[{label:y("Memory Usage"),data:[...P.value],fill:1,borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:y("Swap Memory Usage"),data:[...U.value],fill:"start",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]})),G=_(()=>({labels:[...f.value],datasets:[{label:y("Real Time Received Data Usage"),data:[...d.value.bytes_recv],fill:"origin",borderColor:"#0dcaf0",backgroundColor:"#0dcaf090",tension:0,pointRadius:2,borderWidth:1},{label:y("Real Time Sent Data Usage"),data:[...d.value.bytes_sent],fill:"origin",backgroundColor:"#ffc10790",borderColor:"#ffc107",tension:0,pointRadius:2,borderWidth:1}]}));return(r,t)=>(l(),o("div",ce,[e("div",de,[e("div",ue,[e("div",_e,[e("div",pe,[e("div",he,[e("div",me,[e("h3",be,[t[0]||(t[0]=e("i",{class:"bi bi-cpu-fill me-2"},null,-1)),n(u,{t:"CPU"})]),e("h3",ve,[s.value?(l(),o("span",ge,i(s.value.CPU.cpu_percent)+"% ",1)):(l(),o("span",ye))])]),e("div",fe,[e("div",{class:"progress-bar",style:h({width:`${s.value?.CPU.cpu_percent}%`})},null,4)]),e("div",xe,[(l(!0),o(b,null,v(s.value?.CPU.cpu_percent_per_cpu,(a,k)=>(l(),N(F,{square:!0,key:k,align:k+1>Math.round(s.value?.CPU.cpu_percent_per_cpu.length/2),core_number:k,percentage:a},null,8,["align","core_number","percentage"]))),128))])]),n(C(M),{options:L.value,data:R.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",we,[e("h5",ke,[n(u,{t:"Processes"})]),e("h6",Ce,[e("small",null,[n(u,{t:"CPU Usage"})])])]),t[1]||(t[1]=e("hr",{class:"my-1"},null,-1)),e("div",Ne,[n($,{name:"process"},{default:O(()=>[(l(!0),o(b,null,v(s.value?.Processes.cpu_top_10,a=>(l(),N(D,{key:a.pid,cpu:!0,process:a},null,8,["process"]))),128))]),_:1})])])])])]),e("div",Me,[e("div",Se,[e("div",Ie,[e("div",Pe,[e("div",Ue,[e("div",Be,[e("h3",Le,[t[2]||(t[2]=e("i",{class:"bi bi-memory me-2"},null,-1)),n(u,{t:"Memory"})]),e("h3",Oe,[s.value?(l(),o("span",$e,i(s.value?.Memory.VirtualMemory.percent)+"% ",1)):(l(),o("span",De))])]),e("div",Ee,[e("div",{class:"progress-bar bg-info",style:h({width:`${s.value?.Memory.VirtualMemory.percent}%`})},null,4)]),e("div",Ve,[t[3]||(t[3]=e("h6",{class:"mb-0"},"Swap Memory",-1)),e("h6",Re,i(s.value?.Memory.SwapMemory.percent)+"%",1)]),e("div",je,[e("div",{class:"progress-bar bg-info-subtle",style:h({width:`${s.value?.Memory.SwapMemory.percent}%`})},null,4)])]),n(C(M),{options:L.value,data:j.value,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"]),e("div",Ge,[e("h5",Te,[n(u,{t:"Processes"})]),e("h6",He,[e("small",null,[n(u,{t:"Memory Usage"})])])]),t[4]||(t[4]=e("hr",{class:"my-1"},null,-1)),e("div",We,[n($,{name:"process"},{default:O(()=>[(l(!0),o(b,null,v(s.value?.Processes.memory_top_10,a=>(l(),N(D,{key:a.pid,process:a},null,8,["process"]))),128))]),_:1})])])])])]),e("div",qe,[e("div",Fe,[e("div",ze,[e("div",Ae,[e("h3",Je,[t[5]||(t[5]=e("i",{class:"bi bi-ethernet me-2"},null,-1)),n(u,{t:"Network"})]),e("h3",Ke,[s.value?(l(),o("span",Qe,[n(u,{t:Object.keys(s.value.NetworkInterfaces).length+" Interface"+(Object.keys(s.value.NetworkInterfaces).length>1?"s":"")},null,8,["t"])])):(l(),o("span",Xe))])]),e("div",null,[s.value?(l(),o("h5",Ye,[e("span",Ze,[t[6]||(t[6]=e("i",{class:"bi bi-arrow-down"},null,-1)),x(" "+i(d.value.bytes_recv[d.value.bytes_recv.length-1])+" MB/s ",1)]),e("span",es,[t[7]||(t[7]=e("i",{class:"bi bi-arrow-up"},null,-1)),x(" "+i(d.value.bytes_sent[d.value.bytes_sent.length-1])+" MB/s ",1)])])):g("",!0)]),n(C(M),{options:V.value,data:G.value,style:{width:"100%",height:"300px","max-height":"300px"}},null,8,["options","data"]),s.value?(l(),o("div",ss,[(l(!0),o(b,null,v(Object.keys(s.value.NetworkInterfaces).sort(),a=>(l(),o("div",ts,[e("div",as,[e("h6",ls,[e("samp",null,i(a),1)]),e("h6",os,[e("span",rs,[t[8]||(t[8]=e("i",{class:"bi bi-arrow-down"},null,-1)),x(" "+i(Math.round((s.value.NetworkInterfaces[a].bytes_recv/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)]),e("span",ns,[t[9]||(t[9]=e("i",{class:"bi bi-arrow-up"},null,-1)),x(" "+i(Math.round((s.value.NetworkInterfaces[a].bytes_sent/1024e6+Number.EPSILON)*1e4)/1e4)+" GB ",1)])])]),e("div",is,[s.value.NetworkInterfaces[a].bytes_recv>0?(l(),o("div",{key:0,class:"progress-bar bg-info",style:h({width:`${s.value.NetworkInterfaces[a].bytes_recv/(s.value.NetworkInterfaces[a].bytes_sent+s.value.NetworkInterfaces[a].bytes_recv)*100}%`})},null,4)):g("",!0),s.value.NetworkInterfaces[a].bytes_sent>0?(l(),o("div",{key:1,class:"progress-bar bg-warning",style:h({width:`${s.value.NetworkInterfaces[a].bytes_sent/(s.value.NetworkInterfaces[a].bytes_sent+s.value.NetworkInterfaces[a].bytes_recv)*100}%`})},null,4)):g("",!0)])]))),256))])):g("",!0)])])]),e("div",cs,[e("div",ds,[e("div",us,[e("div",_s,[e("h3",ps,[t[10]||(t[10]=e("i",{class:"bi bi-device-ssd-fill me-2"},null,-1)),n(u,{t:"Storage"})]),e("h3",hs,[s.value?(l(),o("span",ms,[n(u,{t:s.value.Disks.length+" Partition"+(s.value.Disks.length>1?"s":"")},null,8,["t"])])):(l(),o("span",bs))])]),e("div",vs,[s.value?(l(!0),o(b,{key:0},v(s.value.Disks,a=>(l(),o("div",gs,[e("div",ys,[e("h6",fs,[e("samp",null,i(a.mountPoint),1)]),e("h6",xs,[e("span",ws,i(Math.round((a.used/1024e6+Number.EPSILON)*100)/100)+" / "+i(Math.round((a.total/1024e6+Number.EPSILON)*100)/100)+" GB Used ",1)])]),e("div",ks,[e("div",{class:"progress-bar bg-success",style:h({width:`${a.percent}%`})},i(a.percent)+"% ",5)])]))),256)):g("",!0)])])])])]))}},Us=E(Cs,[["__scopeId","data-v-727ce0e8"]]);export{Us as default}; diff --git a/src/static/app/dist/assets/totp-DoCpDT9z.js b/src/static/app/dist/assets/totp-zLXmwPpE.js similarity index 92% rename from src/static/app/dist/assets/totp-DoCpDT9z.js rename to src/static/app/dist/assets/totp-zLXmwPpE.js index 1e42b57..bb11df2 100644 --- a/src/static/app/dist/assets/totp-DoCpDT9z.js +++ b/src/static/app/dist/assets/totp-zLXmwPpE.js @@ -1 +1 @@ -import{_ as h,D as m,s as p,E as f,c as b,b as t,d as i,t as _,m as v,v as g,l as d,w as r,y as c,a as n}from"./index-qq0VI3aD.js";import{b as x}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-miqCUaLJ.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=m();let e="";return await p("/api/Welcome_GetTotpLink",{},a=>{a.status&&(e=a.data)}),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?f("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},L={class:"d-flex flex-column"},M={class:"dashboardLogo display-4"},C={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},E={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},F={class:"valid-feedback"},R={class:"d-flex gap-3 mt-5 flex-column"};function G(s,e,a,N,W,Q){const o=c("LocaleText"),l=c("RouterLink");return n(),b("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",w,[t("div",L,[t("div",null,[t("h1",M,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",C,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,_(this.l),1)],8,B)]),t("label",D,[t("small",E,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[v(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[g,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",F,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",R,[this.verified?(n(),d(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:r(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),d(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:r(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const z=h(T,[["render",G]]);export{z as default}; +import{_ as h,D as m,x as p,E as f,c as b,b as t,d as i,t as _,m as v,v as g,j as d,w as r,y as c,a as n}from"./index-Bsy8tbGW.js";import{b as x}from"./browser-CjSdxGTc.js";import{L as y}from"./localeText-CoKvgn8T.js";const T={name:"totp",components:{LocaleText:y},async setup(){const s=m();let e="";return await p("/api/Welcome_GetTotpLink",{},a=>{a.status&&(e=a.data)}),{l:e,store:s}},mounted(){this.l&&x.toCanvas(document.getElementById("qrcode"),this.l,function(s){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(s){const e=document.querySelector("#totp");e.classList.remove("is-invalid","is-valid"),s.length===6&&(console.log(s),/[0-9]{6}/.test(s)?f("/api/Welcome_VerifyTotpLink",{totp:s},a=>{a.status?(this.verified=!0,e.classList.add("is-valid"),this.$emit("verified")):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(e.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},k=["data-bs-theme"],w={class:"m-auto text-body",style:{width:"500px"}},L={class:"d-flex flex-column"},M={class:"dashboardLogo display-4"},C={class:"mb-2"},P={class:"text-muted"},I={class:"p-3 bg-body-secondary rounded-3 border mb-3"},O={class:"text-muted mb-0"},B=["href"],$={style:{"line-break":"anywhere"}},D={for:"totp",class:"mb-2"},E={class:"text-muted"},S={class:"form-group mb-2"},q=["disabled"],A={class:"invalid-feedback"},F={class:"valid-feedback"},R={class:"d-flex gap-3 mt-5 flex-column"};function G(s,e,a,N,W,j){const o=c("LocaleText"),l=c("RouterLink");return n(),b("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[t("div",w,[t("div",L,[t("div",null,[t("h1",M,[i(o,{t:"Multi-Factor Authentication (MFA)"})]),t("p",C,[t("small",P,[i(o,{t:"1. Please scan the following QR Code to generate TOTP with your choice of authenticator"})])]),e[1]||(e[1]=t("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1)),t("div",I,[t("p",O,[t("small",null,[i(o,{t:"Or you can click the link below:"})])]),t("a",{href:this.l},[t("code",$,_(this.l),1)],8,B)]),t("label",D,[t("small",E,[i(o,{t:"2. Enter the TOTP generated by your authenticator to verify"})])]),t("div",S,[v(t("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":e[0]||(e[0]=u=>this.totp=u),disabled:this.verified},null,8,q),[[g,this.totp]]),t("div",A,[i(o,{t:this.totpInvalidMessage},null,8,["t"])]),t("div",F,[i(o,{t:"TOTP verified!"})])])]),e[4]||(e[4]=t("hr",null,null,-1)),t("div",R,[this.verified?(n(),d(l,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:r(()=>[i(o,{t:"Complete"}),e[3]||(e[3]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1})):(n(),d(l,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:r(()=>[i(o,{t:"I don't need MFA"}),e[2]||(e[2]=t("i",{class:"bi bi-chevron-right ms-auto"},null,-1))]),_:1}))])])])],8,k)}const z=h(T,[["render",G]]);export{z as default}; diff --git a/src/static/app/dist/assets/traceroute-CrmFuIsy.js b/src/static/app/dist/assets/traceroute-DttaJ1gk.js similarity index 78% rename from src/static/app/dist/assets/traceroute-CrmFuIsy.js rename to src/static/app/dist/assets/traceroute-DttaJ1gk.js index 9b3ad97..e6ec90b 100644 --- a/src/static/app/dist/assets/traceroute-CrmFuIsy.js +++ b/src/static/app/dist/assets/traceroute-DttaJ1gk.js @@ -1 +1 @@ -import{_ as h,W as b,s as g,c as o,b as t,d as n,m as y,v as f,p as x,w as r,x as c,a as l,f as v,F as u,k as m,n as k,C as T,t as i,y as _}from"./index-qq0VI3aD.js";import{O as A}from"./osmap-m_T5cJB3.js";import{L as w}from"./localeText-miqCUaLJ.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:b()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,g("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},C={class:"d-flex gap-2 mb-3 flex-column"},L={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},O=["disabled"],V=["disabled"],B={key:0,class:"d-block"},I={key:1,class:"d-block"},N={class:"position-relative"},z={key:"pingPlaceholder"},D={key:1},E={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=_("LocaleText"),p=_("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",C,[t("div",L,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),y(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=x(e=>this.execute(),["enter"])),type:"text"},null,40,O),[[f,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(c,{name:"slide"},{default:r(()=>[this.tracing?(l(),o("span",I,s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(l(),o("span",B,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ")])))]),_:1})],8,V)]),t("div",N,[n(c,{name:"ping"},{default:r(()=>[this.tracerouteResult?(l(),o("div",D,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",E,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(u,null,m(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",z,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(u,null,m(5,e=>t("div",{class:k(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:T({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const lt=h(R,[["render",Q],["__scopeId","data-v-3e75b4d4"]]);export{lt as default}; +import{_ as h,W as b,x as g,c as o,b as t,d as n,m as y,v as f,p as x,w as r,l as c,a as l,f as v,F as u,k as m,n as k,B as T,t as i,y as _}from"./index-Bsy8tbGW.js";import{O as A}from"./osmap-iQEplA0N.js";import{L as w}from"./localeText-CoKvgn8T.js";const R={name:"traceroute",components:{LocaleText:w,OSMap:A},data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:b()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,g("/api/traceroute/execute",{ipAddress:this.ipAddress},d=>{d.status?this.tracerouteResult=d.data:this.store.newMessage("Server",d.message,"danger"),this.tracing=!1}))}}},M={class:"mt-md-5 mt-3 text-body"},S={class:"container-md"},$={class:"mb-3 text-body"},L={class:"d-flex gap-2 mb-3 flex-column"},C={class:"flex-grow-1"},P={class:"mb-1 text-muted",for:"ipAddress"},B=["disabled"],O=["disabled"],V={key:0,class:"d-block"},I={key:1,class:"d-block"},N={class:"position-relative"},z={key:"pingPlaceholder"},D={key:1},E={key:"table",class:"w-100 mt-2"},F={class:"table table-sm rounded-3 w-100"},G={scope:"col"},H={scope:"col"},K={scope:"col"},W={scope:"col"},U={scope:"col"},j={scope:"col"},q={key:0},J={key:1};function Q(d,s,X,Y,Z,tt){const a=_("LocaleText"),p=_("OSMap");return l(),o("div",M,[t("div",S,[t("h3",$,[n(a,{t:"Traceroute"})]),t("div",L,[t("div",C,[t("label",P,[t("small",null,[n(a,{t:"Enter IP Address / Hostname"})])]),y(t("input",{disabled:this.tracing,id:"ipAddress",class:"form-control rounded-3","onUpdate:modelValue":s[0]||(s[0]=e=>this.ipAddress=e),onKeyup:s[1]||(s[1]=x(e=>this.execute(),["enter"])),type:"text"},null,40,B),[[f,this.ipAddress]])]),t("button",{class:"btn btn-primary rounded-3 position-relative flex-grow-1",disabled:this.tracing||!this.ipAddress,onClick:s[2]||(s[2]=e=>this.execute())},[n(c,{name:"slide"},{default:r(()=>[this.tracing?(l(),o("span",I,s[4]||(s[4]=[t("span",{class:"spinner-border spinner-border-sm","aria-hidden":"true"},null,-1),t("span",{class:"visually-hidden",role:"status"},"Loading...",-1)]))):(l(),o("span",V,s[3]||(s[3]=[t("i",{class:"bi bi-person-walking me-2"},null,-1),v("Trace! ")])))]),_:1})],8,O)]),t("div",N,[n(c,{name:"ping"},{default:r(()=>[this.tracerouteResult?(l(),o("div",D,[n(p,{d:this.tracerouteResult,type:"traceroute"},null,8,["d"]),t("div",E,[t("table",F,[t("thead",null,[t("tr",null,[t("th",G,[n(a,{t:"Hop"})]),t("th",H,[n(a,{t:"IP Address"})]),t("th",K,[n(a,{t:"Average RTT (ms)"})]),t("th",W,[n(a,{t:"Min RTT (ms)"})]),t("th",U,[n(a,{t:"Max RTT (ms)"})]),t("th",j,[n(a,{t:"Geolocation"})])])]),t("tbody",null,[(l(!0),o(u,null,m(this.tracerouteResult,(e,et)=>(l(),o("tr",null,[t("td",null,[t("small",null,i(e.hop),1)]),t("td",null,[t("small",null,[t("samp",null,i(e.ip),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.avg_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.min_rtt),1)])]),t("td",null,[t("small",null,[t("samp",null,i(e.max_rtt),1)])]),t("td",null,[e.geo.city&&e.geo.country?(l(),o("span",q,[t("small",null,i(e.geo.city)+", "+i(e.geo.country),1)])):(l(),o("span",J," - "))])]))),256))])])])])):(l(),o("div",z,[s[5]||(s[5]=t("div",{class:"pingPlaceholder bg-body-secondary rounded-3 mb-3",style:{height:"300px !important"}},null,-1)),(l(),o(u,null,m(5,e=>t("div",{class:k(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:T({"animation-delay":`${e*.05}s`})},null,6)),64))]))]),_:1})])])])}const lt=h(R,[["render",Q],["__scopeId","data-v-3e75b4d4"]]);export{lt as default}; diff --git a/src/static/app/dist/assets/vue-datepicker-Ci9-sWjm.js b/src/static/app/dist/assets/vue-datepicker-JvyILFmR.js similarity index 99% rename from src/static/app/dist/assets/vue-datepicker-Ci9-sWjm.js rename to src/static/app/dist/assets/vue-datepicker-JvyILFmR.js index 464fb1c..266c958 100644 --- a/src/static/app/dist/assets/vue-datepicker-Ci9-sWjm.js +++ b/src/static/app/dist/assets/vue-datepicker-JvyILFmR.js @@ -1 +1 @@ -import{h as ha,r as Z,Q as ze,a7 as qt,a8 as ca,o as Ke,Z as it,X as Ca,I as ct,g as G,a as P,c as W,d as ot,a9 as je,k as Ye,w as _e,aa as ue,ab as We,ac as at,u as d,ad as Qe,ae as Pn,l as De,x as ta,e as j,z as Oa,af as Br,n as ke,b as ye,F as we,C as dt,a5 as va,t as Ge,U as Nr,ag as An,ah as Lr,f as Dt,ai as Hr,m as Ma,aj as Da,p as Vr,L as Fr,M as qr}from"./index-qq0VI3aD.js";function ve(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Te(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function mt(e,t){const n=ve(e);return isNaN(t)?Te(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function ft(e,t){const n=ve(e);if(isNaN(t))return Te(e,NaN);if(!t)return n;const a=n.getDate(),r=Te(e,n.getTime());r.setMonth(n.getMonth()+t+1,0);const l=r.getDate();return a>=l?r:(n.setFullYear(r.getFullYear(),r.getMonth(),a),n)}function Xn(e,t){const{years:n=0,months:a=0,weeks:r=0,days:l=0,hours:i=0,minutes:p=0,seconds:c=0}=t,C=ve(e),m=a||n?ft(C,a+n*12):C,v=l||r?mt(m,l+r*7):m,h=p+i*60,Y=(c+h*60)*1e3;return Te(e,v.getTime()+Y)}function Wr(e,t){const n=+ve(e);return Te(e,n+t)}const Gn=6048e5,Qr=864e5,zr=6e4,jn=36e5,Ur=1e3;function Xr(e,t){return Wr(e,t*jn)}let Gr={};function Wt(){return Gr}function ht(e,t){const n=Wt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e),l=r.getDay(),i=(l=r.getTime()?n+1:t.getTime()>=i.getTime()?n:n-1}function Cn(e){const t=ve(e);return t.setHours(0,0,0,0),t}function Ta(e){const t=ve(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Jn(e,t){const n=Cn(e),a=Cn(t),r=+n-Ta(n),l=+a-Ta(a);return Math.round((r-l)/Qr)}function jr(e){const t=Kn(e),n=Te(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Gt(n)}function Kr(e,t){const n=t*3;return ft(e,n)}function un(e,t){return ft(e,t*12)}function On(e,t){const n=ve(e),a=ve(t),r=n.getTime()-a.getTime();return r<0?-1:r>0?1:r}function Zn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ua(e){if(!Zn(e)&&typeof e!="number")return!1;const t=ve(e);return!isNaN(Number(t))}function $n(e){const t=ve(e);return Math.trunc(t.getMonth()/3)+1}function Jr(e,t){const n=ve(e),a=ve(t);return n.getFullYear()-a.getFullYear()}function Zr(e,t){const n=ve(e),a=ve(t),r=On(n,a),l=Math.abs(Jr(n,a));n.setFullYear(1584),a.setFullYear(1584);const i=On(n,a)===-r,p=r*(l-+i);return p===0?0:p}function er(e,t){const n=ve(e.start),a=ve(e.end);let r=+n>+a;const l=r?+n:+a,i=r?a:n;i.setHours(0,0,0,0);let p=1;const c=[];for(;+i<=l;)c.push(ve(i)),i.setDate(i.getDate()+p),i.setHours(0,0,0,0);return r?c.reverse():c}function Ht(e){const t=ve(e),n=t.getMonth(),a=n-n%3;return t.setMonth(a,1),t.setHours(0,0,0,0),t}function el(e,t){const n=ve(e.start),a=ve(e.end);let r=+n>+a;const l=r?+Ht(n):+Ht(a);let i=Ht(r?a:n),p=1;const c=[];for(;+i<=l;)c.push(ve(i)),i=Kr(i,p);return r?c.reverse():c}function tl(e){const t=ve(e);return t.setDate(1),t.setHours(0,0,0,0),t}function tr(e){const t=ve(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function ma(e){const t=ve(e),n=Te(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ar(e,t){const n=Wt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e),l=r.getDay(),i=(l{let a;const r=al[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function Wa(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const rl={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ll={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ol={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},il={date:Wa({formats:rl,defaultWidth:"full"}),time:Wa({formats:ll,defaultWidth:"full"}),dateTime:Wa({formats:ol,defaultWidth:"full"})},sl={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ul=(e,t,n,a)=>sl[e];function oa(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,p=n?.width?String(n.width):i;r=e.formattingValues[p]||e.formattingValues[i]}else{const i=e.defaultWidth,p=n?.width?String(n.width):e.defaultWidth;r=e.values[p]||e.values[i]}const l=e.argumentCallback?e.argumentCallback(t):t;return r[l]}}const dl={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},cl={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},vl={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ml={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},pl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},fl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},hl=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},yl={ordinalNumber:hl,era:oa({values:dl,defaultWidth:"wide"}),quarter:oa({values:cl,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oa({values:vl,defaultWidth:"wide"}),day:oa({values:ml,defaultWidth:"wide"}),dayPeriod:oa({values:pl,defaultWidth:"wide",formattingValues:fl,defaultFormattingWidth:"wide"})};function ia(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],l=t.match(r);if(!l)return null;const i=l[0],p=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(p)?bl(p,v=>v.test(i)):gl(p,v=>v.test(i));let C;C=e.valueCallback?e.valueCallback(c):c,C=n.valueCallback?n.valueCallback(C):C;const m=t.slice(i.length);return{value:C,rest:m}}}function gl(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function bl(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],l=t.match(e.parsePattern);if(!l)return null;let i=e.valueCallback?e.valueCallback(l[0]):l[0];i=n.valueCallback?n.valueCallback(i):i;const p=t.slice(r.length);return{value:i,rest:p}}}const _l=/^(\d+)(th|st|nd|rd)?/i,kl=/\d+/i,xl={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ml={any:[/^b/i,/^(a|c)/i]},Dl={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Tl={any:[/1/i,/2/i,/3/i,/4/i]},Pl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Al={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Cl={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ol={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},$l={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Yl={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Sl={ordinalNumber:wl({matchPattern:_l,parsePattern:kl,valueCallback:e=>parseInt(e,10)}),era:ia({matchPatterns:xl,defaultMatchWidth:"wide",parsePatterns:Ml,defaultParseWidth:"any"}),quarter:ia({matchPatterns:Dl,defaultMatchWidth:"wide",parsePatterns:Tl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ia({matchPatterns:Pl,defaultMatchWidth:"wide",parsePatterns:Al,defaultParseWidth:"any"}),day:ia({matchPatterns:Cl,defaultMatchWidth:"wide",parsePatterns:Ol,defaultParseWidth:"any"}),dayPeriod:ia({matchPatterns:$l,defaultMatchWidth:"any",parsePatterns:Yl,defaultParseWidth:"any"})},nr={code:"en-US",formatDistance:nl,formatLong:il,formatRelative:ul,localize:yl,match:Sl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Rl(e){const t=ve(e);return Jn(t,ma(t))+1}function dn(e){const t=ve(e),n=+Gt(t)-+jr(t);return Math.round(n/Gn)+1}function cn(e,t){const n=ve(e),a=n.getFullYear(),r=Wt(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=Te(e,0);i.setFullYear(a+1,0,l),i.setHours(0,0,0,0);const p=ht(i,t),c=Te(e,0);c.setFullYear(a,0,l),c.setHours(0,0,0,0);const C=ht(c,t);return n.getTime()>=p.getTime()?a+1:n.getTime()>=C.getTime()?a:a-1}function Il(e,t){const n=Wt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=cn(e,t),l=Te(e,0);return l.setFullYear(r,0,a),l.setHours(0,0,0,0),ht(l,t)}function vn(e,t){const n=ve(e),a=+ht(n,t)-+Il(n,t);return Math.round(a/Gn)+1}function Ae(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const Ct={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ae(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ae(n+1,2)},d(e,t){return Ae(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Ae(e.getHours()%12||12,t.length)},H(e,t){return Ae(e.getHours(),t.length)},m(e,t){return Ae(e.getMinutes(),t.length)},s(e,t){return Ae(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ae(r,t.length)}},Qt={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Sn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return Ct.y(e,t)},Y:function(e,t,n,a){const r=cn(e,a),l=r>0?r:1-r;if(t==="YY"){const i=l%100;return Ae(i,2)}return t==="Yo"?n.ordinalNumber(l,{unit:"year"}):Ae(l,t.length)},R:function(e,t){const n=Kn(e);return Ae(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ae(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ae(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ae(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return Ct.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ae(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=vn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ae(r,t.length)},I:function(e,t,n){const a=dn(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ae(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Ct.d(e,t)},D:function(e,t,n){const a=Rl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ae(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),l=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(l);case"ee":return Ae(l,2);case"eo":return n.ordinalNumber(l,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),l=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(l);case"cc":return Ae(l,t.length);case"co":return n.ordinalNumber(l,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ae(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Qt.noon:a===0?r=Qt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Qt.evening:a>=12?r=Qt.afternoon:a>=4?r=Qt.morning:r=Qt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return Ct.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ct.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ae(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ae(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Ct.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ct.s(e,t)},S:function(e,t){return Ct.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return In(a);case"XXXX":case"XX":return Nt(a);case"XXXXX":case"XXX":default:return Nt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return In(a);case"xxxx":case"xx":return Nt(a);case"xxxxx":case"xxx":default:return Nt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Rn(a,":");case"OOOO":default:return"GMT"+Nt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Rn(a,":");case"zzzz":default:return"GMT"+Nt(a,":")}},t:function(e,t,n){const a=Math.trunc(e.getTime()/1e3);return Ae(a,t.length)},T:function(e,t,n){const a=e.getTime();return Ae(a,t.length)}};function Rn(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),l=a%60;return l===0?n+String(r):n+String(r)+t+Ae(l,2)}function In(e,t){return e%60===0?(e>0?"-":"+")+Ae(Math.abs(e)/60,2):Nt(e,t)}function Nt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ae(Math.trunc(a/60),2),l=Ae(a%60,2);return n+r+t+l}const En=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},rr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},El=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return En(e,t);let l;switch(a){case"P":l=t.dateTime({width:"short"});break;case"PP":l=t.dateTime({width:"medium"});break;case"PPP":l=t.dateTime({width:"long"});break;case"PPPP":default:l=t.dateTime({width:"full"});break}return l.replace("{{date}}",En(a,t)).replace("{{time}}",rr(r,t))},an={p:rr,P:El},Bl=/^D+$/,Nl=/^Y+$/,Ll=["D","DD","YY","YYYY"];function lr(e){return Bl.test(e)}function or(e){return Nl.test(e)}function nn(e,t,n){const a=Hl(e,t,n);if(console.warn(a),Ll.includes(e))throw new RangeError(a)}function Hl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Vl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Fl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ql=/^'([^]*?)'?$/,Wl=/''/g,Ql=/[a-zA-Z]/;function kt(e,t,n){const a=Wt(),r=n?.locale??a.locale??nr,l=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,p=ve(e);if(!ua(p))throw new RangeError("Invalid time value");let c=t.match(Fl).map(m=>{const v=m[0];if(v==="p"||v==="P"){const h=an[v];return h(m,r.formatLong)}return m}).join("").match(Vl).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const v=m[0];if(v==="'")return{isToken:!1,value:zl(m)};if(Sn[v])return{isToken:!0,value:m};if(v.match(Ql))throw new RangeError("Format string contains an unescaped latin alphabet character `"+v+"`");return{isToken:!1,value:m}});r.localize.preprocessor&&(c=r.localize.preprocessor(p,c));const C={firstWeekContainsDate:l,weekStartsOn:i,locale:r};return c.map(m=>{if(!m.isToken)return m.value;const v=m.value;(!n?.useAdditionalWeekYearTokens&&or(v)||!n?.useAdditionalDayOfYearTokens&&lr(v))&&nn(v,t,String(e));const h=Sn[v[0]];return h(p,v,r.localize,C)}).join("")}function zl(e){const t=e.match(ql);return t?t[1].replace(Wl,"'"):e}function Ul(e){return ve(e).getDay()}function Xl(e){const t=ve(e),n=t.getFullYear(),a=t.getMonth(),r=Te(e,0);return r.setFullYear(n,a+1,0),r.setHours(0,0,0,0),r.getDate()}function Gl(){return Object.assign({},Wt())}function Tt(e){return ve(e).getHours()}function jl(e){let n=ve(e).getDay();return n===0&&(n=7),n}function Rt(e){return ve(e).getMinutes()}function xe(e){return ve(e).getMonth()}function jt(e){return ve(e).getSeconds()}function he(e){return ve(e).getFullYear()}function Kt(e,t){const n=ve(e),a=ve(t);return n.getTime()>a.getTime()}function pa(e,t){const n=ve(e),a=ve(t);return+n<+a}function Xt(e,t){const n=ve(e),a=ve(t);return+n==+a}function Kl(e,t){const n=t instanceof Date?Te(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}const Jl=10;class ir{subPriority=0;validate(t,n){return!0}}class Zl extends ir{constructor(t,n,a,r,l){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,l&&(this.subPriority=l)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class eo extends ir{priority=Jl;subPriority=-1;set(t,n){return n.timestampIsSet?t:Te(t,Kl(t,Date))}}class Pe{run(t,n,a,r){const l=this.parse(t,n,a,r);return l?{setter:new Zl(l.value,this.validate,this.set,this.priority,this.subPriority),rest:l.rest}:null}validate(t,n,a){return!0}}class to extends Pe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},bt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function He(e,t){return e&&{value:t(e.value),rest:e.rest}}function Re(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function wt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,l=n[3]?parseInt(n[3],10):0,i=n[5]?parseInt(n[5],10):0;return{value:a*(r*jn+l*zr+i*Ur),rest:t.slice(n[0].length)}}function sr(e){return Re(Le.anyDigitsSigned,e)}function Ee(e,t){switch(e){case 1:return Re(Le.singleDigit,t);case 2:return Re(Le.twoDigits,t);case 3:return Re(Le.threeDigits,t);case 4:return Re(Le.fourDigits,t);default:return Re(new RegExp("^\\d{1,"+e+"}"),t)}}function Pa(e,t){switch(e){case 1:return Re(Le.singleDigitSigned,t);case 2:return Re(Le.twoDigitsSigned,t);case 3:return Re(Le.threeDigitsSigned,t);case 4:return Re(Le.fourDigitsSigned,t);default:return Re(new RegExp("^-?\\d{1,"+e+"}"),t)}}function mn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function ur(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const l=a+50,i=Math.trunc(l/100)*100,p=e>=l%100;r=e+i-(p?100:0)}return n?r:1-r}function dr(e){return e%400===0||e%4===0&&e%100!==0}class ao extends Pe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=l=>({year:l,isTwoDigitYear:n==="yy"});switch(n){case"y":return He(Ee(4,t),r);case"yo":return He(a.ordinalNumber(t,{unit:"year"}),r);default:return He(Ee(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const i=ur(a.year,r);return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}const l=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(l,0,1),t.setHours(0,0,0,0),t}}class no extends Pe{priority=130;parse(t,n,a){const r=l=>({year:l,isTwoDigitYear:n==="YY"});switch(n){case"Y":return He(Ee(4,t),r);case"Yo":return He(a.ordinalNumber(t,{unit:"year"}),r);default:return He(Ee(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const l=cn(t,r);if(a.isTwoDigitYear){const p=ur(a.year,l);return t.setFullYear(p,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ht(t,r)}const i=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(i,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ht(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ro extends Pe{priority=130;parse(t,n){return Pa(n==="R"?4:n.length,t)}set(t,n,a){const r=Te(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),Gt(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class lo extends Pe{priority=130;parse(t,n){return Pa(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class oo extends Pe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ee(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class io extends Pe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ee(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class so extends Pe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=l=>l-1;switch(n){case"M":return He(Re(Le.month,t),r);case"MM":return He(Ee(2,t),r);case"Mo":return He(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class uo extends Pe{priority=110;parse(t,n,a){const r=l=>l-1;switch(n){case"L":return He(Re(Le.month,t),r);case"LL":return He(Ee(2,t),r);case"Lo":return He(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function co(e,t,n){const a=ve(e),r=vn(a,n)-t;return a.setDate(a.getDate()-r*7),a}class vo extends Pe{priority=100;parse(t,n,a){switch(n){case"w":return Re(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ht(co(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function mo(e,t){const n=ve(e),a=dn(n)-t;return n.setDate(n.getDate()-a*7),n}class po extends Pe{priority=100;parse(t,n,a){switch(n){case"I":return Re(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return Gt(mo(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const fo=[31,28,31,30,31,30,31,31,30,31,30,31],ho=[31,29,31,30,31,30,31,31,30,31,30,31];class yo extends Pe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Re(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ee(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=dr(a),l=t.getMonth();return r?n>=1&&n<=ho[l]:n>=1&&n<=fo[l]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class go extends Pe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Re(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ee(n.length,t)}}validate(t,n){const a=t.getFullYear();return dr(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function pn(e,t,n){const a=Wt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e),i=l.getDay(),c=(t%7+7)%7,C=7-r,m=t<0||t>6?t-(i+C)%7:(c+C)%7-(i+C)%7;return mt(l,m)}class bo extends Pe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class wo extends Pe{priority=90;parse(t,n,a,r){const l=i=>{const p=Math.floor((i-1)/7)*7;return(i+r.weekStartsOn+6)%7+p};switch(n){case"e":case"ee":return He(Ee(n.length,t),l);case"eo":return He(a.ordinalNumber(t,{unit:"day"}),l);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class _o extends Pe{priority=90;parse(t,n,a,r){const l=i=>{const p=Math.floor((i-1)/7)*7;return(i+r.weekStartsOn+6)%7+p};switch(n){case"c":case"cc":return He(Ee(n.length,t),l);case"co":return He(a.ordinalNumber(t,{unit:"day"}),l);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function ko(e,t){const n=ve(e),a=jl(n),r=t-a;return mt(n,r)}class xo extends Pe{priority=90;parse(t,n,a){const r=l=>l===0?7:l;switch(n){case"i":case"ii":return Ee(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return He(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return He(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return He(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return He(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=ko(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class Mo extends Pe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class Do extends Pe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class To extends Pe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class Po extends Pe{priority=70;parse(t,n,a){switch(n){case"h":return Re(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class Ao extends Pe{priority=70;parse(t,n,a){switch(n){case"H":return Re(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class Co extends Pe{priority=70;parse(t,n,a){switch(n){case"K":return Re(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class Oo extends Pe{priority=70;parse(t,n,a){switch(n){case"k":return Re(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class $o extends Pe{priority=60;parse(t,n,a){switch(n){case"m":return Re(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class Yo extends Pe{priority=50;parse(t,n,a){switch(n){case"s":return Re(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class So extends Pe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return He(Ee(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class Ro extends Pe{priority=10;parse(t,n){switch(n){case"X":return wt(bt.basicOptionalMinutes,t);case"XX":return wt(bt.basic,t);case"XXXX":return wt(bt.basicOptionalSeconds,t);case"XXXXX":return wt(bt.extendedOptionalSeconds,t);case"XXX":default:return wt(bt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Te(t,t.getTime()-Ta(t)-a)}incompatibleTokens=["t","T","x"]}class Io extends Pe{priority=10;parse(t,n){switch(n){case"x":return wt(bt.basicOptionalMinutes,t);case"xx":return wt(bt.basic,t);case"xxxx":return wt(bt.basicOptionalSeconds,t);case"xxxxx":return wt(bt.extendedOptionalSeconds,t);case"xxx":default:return wt(bt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Te(t,t.getTime()-Ta(t)-a)}incompatibleTokens=["t","T","X"]}class Eo extends Pe{priority=40;parse(t){return sr(t)}set(t,n,a){return[Te(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class Bo extends Pe{priority=20;parse(t){return sr(t)}set(t,n,a){return[Te(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const No={G:new to,y:new ao,Y:new no,R:new ro,u:new lo,Q:new oo,q:new io,M:new so,L:new uo,w:new vo,I:new po,d:new yo,D:new go,E:new bo,e:new wo,c:new _o,i:new xo,a:new Mo,b:new Do,B:new To,h:new Po,H:new Ao,K:new Co,k:new Oo,m:new $o,s:new Yo,S:new So,X:new Ro,x:new Io,t:new Eo,T:new Bo},Lo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ho=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Vo=/^'([^]*?)'?$/,Fo=/''/g,qo=/\S/,Wo=/[a-zA-Z]/;function rn(e,t,n,a){const r=Gl(),l=a?.locale??r.locale??nr,i=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,p=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0;if(t==="")return e===""?ve(n):Te(n,NaN);const c={firstWeekContainsDate:i,weekStartsOn:p,locale:l},C=[new eo],m=t.match(Ho).map(f=>{const S=f[0];if(S in an){const I=an[S];return I(f,l.formatLong)}return f}).join("").match(Lo),v=[];for(let f of m){!a?.useAdditionalWeekYearTokens&&or(f)&&nn(f,t,e),!a?.useAdditionalDayOfYearTokens&&lr(f)&&nn(f,t,e);const S=f[0],I=No[S];if(I){const{incompatibleTokens:U}=I;if(Array.isArray(U)){const q=v.find(ae=>U.includes(ae.token)||ae.token===S);if(q)throw new RangeError(`The format string mustn't contain \`${q.fullToken}\` and \`${f}\` at the same time`)}else if(I.incompatibleTokens==="*"&&v.length>0)throw new RangeError(`The format string mustn't contain \`${f}\` and any other token at the same time`);v.push({token:S,fullToken:f});const A=I.run(e,f,l.match,c);if(!A)return Te(n,NaN);C.push(A.setter),e=A.rest}else{if(S.match(Wo))throw new RangeError("Format string contains an unescaped latin alphabet character `"+S+"`");if(f==="''"?f="'":S==="'"&&(f=Qo(f)),e.indexOf(f)===0)e=e.slice(f.length);else return Te(n,NaN)}}if(e.length>0&&qo.test(e))return Te(n,NaN);const h=C.map(f=>f.priority).sort((f,S)=>S-f).filter((f,S,I)=>I.indexOf(f)===S).map(f=>C.filter(S=>S.priority===f).sort((S,I)=>I.subPriority-S.subPriority)).map(f=>f[0]);let k=ve(n);if(isNaN(k.getTime()))return Te(n,NaN);const Y={};for(const f of h){if(!f.validate(k,c))return Te(n,NaN);const S=f.set(k,Y,c);Array.isArray(S)?(k=S[0],Object.assign(Y,S[1])):k=S}return Te(n,k)}function Qo(e){return e.match(Vo)[1].replace(Fo,"'")}function Bn(e,t){const n=Ht(e),a=Ht(t);return+n==+a}function zo(e,t){return mt(e,-t)}function cr(e,t){const n=ve(e),a=n.getFullYear(),r=n.getDate(),l=Te(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const i=Xl(l);return n.setMonth(t,Math.min(r,i)),n}function Ce(e,t){let n=ve(e);return isNaN(+n)?Te(e,NaN):(t.year!=null&&n.setFullYear(t.year),t.month!=null&&(n=cr(n,t.month)),t.date!=null&&n.setDate(t.date),t.hours!=null&&n.setHours(t.hours),t.minutes!=null&&n.setMinutes(t.minutes),t.seconds!=null&&n.setSeconds(t.seconds),t.milliseconds!=null&&n.setMilliseconds(t.milliseconds),n)}function Uo(e,t){const n=ve(e);return n.setHours(t),n}function vr(e,t){const n=ve(e);return n.setMilliseconds(t),n}function Xo(e,t){const n=ve(e);return n.setMinutes(t),n}function mr(e,t){const n=ve(e);return n.setSeconds(t),n}function _t(e,t){const n=ve(e);return isNaN(+n)?Te(e,NaN):(n.setFullYear(t),n)}function Jt(e,t){return ft(e,-t)}function Go(e,t){const{years:n=0,months:a=0,weeks:r=0,days:l=0,hours:i=0,minutes:p=0,seconds:c=0}=t,C=Jt(e,a+n*12),m=zo(C,l+r*7),v=p+i*60,k=(c+v*60)*1e3;return Te(e,m.getTime()-k)}function pr(e,t){return un(e,-t)}function aa(){const e=Lr();return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[ye("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),ye("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ye("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ye("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}aa.compatConfig={MODE:3};function fr(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),ye("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}fr.compatConfig={MODE:3};function fn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}fn.compatConfig={MODE:3};function hn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}hn.compatConfig={MODE:3};function yn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),ye("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}yn.compatConfig={MODE:3};function gn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}gn.compatConfig={MODE:3};function bn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}bn.compatConfig={MODE:3};const nt=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),wn=(e,t,n)=>ln(e,t,n)||Q(),jo=(e,t,n)=>{const a=t.dateInTz?nt(new Date(e),t.dateInTz):Q(e);return n?tt(a,!0):a},ln=(e,t,n)=>{if(!e)return null;const a=n?tt(Q(e),!0):Q(e);return t?t.exactMatch?jo(e,t,n):nt(a,t.timezone):a},Ko=e=>{if(!e)return 0;const t=new Date,n=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),a=new Date(t.toLocaleString("en-US",{timeZone:e})),r=a.getTimezoneOffset()/60;return(+n-+a)/(1e3*60*60)-r};var vt=(e=>(e.month="month",e.year="year",e))(vt||{}),Lt=(e=>(e.top="top",e.bottom="bottom",e))(Lt||{}),Vt=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Vt||{}),Xe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Xe||{});const Jo=["timestamp","date","iso"];var Ze=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(Ze||{}),$e=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))($e||{});function Nn(e){return t=>new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`)).slice(0,2)}function Zo(e){return t=>kt(nt(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const ei=(e,t,n)=>{const a=[1,2,3,4,5,6,7];let r;if(e!==null)try{r=a.map(Zo(e))}catch{r=a.map(Nn(t))}else r=a.map(Nn(t));const l=r.slice(0,n),i=r.slice(n+1,r.length);return[r[n]].concat(...i).concat(...l)},_n=(e,t,n)=>{const a=[];for(let r=+e[0];r<=+e[1];r++)a.push({value:+r,text:br(r,t)});return n?a.reverse():a},hr=(e,t,n)=>{const a=[1,2,3,4,5,6,7,8,9,10,11,12].map(l=>{const i=l<10?`0${l}`:l;return new Date(`2017-${i}-01T00:00:00+00:00`)});if(e!==null)try{const l=n==="long"?"LLLL":"LLL";return a.map((i,p)=>{const c=kt(nt(i,"UTC"),l,{locale:e});return{text:c.charAt(0).toUpperCase()+c.substring(1),value:p}})}catch{}const r=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return a.map((l,i)=>{const p=r.format(l);return{text:p.charAt(0).toUpperCase()+p.substring(1),value:i}})},ti=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],Fe=e=>{const t=d(e);return t!=null&&t.$el?t?.$el:t},ai=e=>({type:"dot",...e??{}}),yr=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,kn={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},qe=e=>e,Ln=e=>e===0?e:!e||isNaN(+e)?null:+e,Hn=e=>e===null,gr=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},ni=e=>{const t=[],n=a=>a.filter(r=>r);for(let a=0;a{const a=n!=null,r=t!=null;if(!a&&!r)return!1;const l=+n,i=+t;return a&&r?+e>l||+el:r?+eni(e).map(n=>n.map(a=>{const{active:r,disabled:l,isBetween:i,highlighted:p}=t(a);return{...a,active:r,disabled:l,className:{dp__overlay_cell_active:r,dp__overlay_cell:!r,dp__overlay_cell_disabled:l,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:l&&r,dp__cell_in_between:i,"dp--highlighted":p}}})),Yt=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},ri=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function li(e,t){let n=[...document.querySelectorAll(ri())];n=n.filter(r=>!e.contains(r)||r.hasAttribute("data-datepicker-instance"));const a=n.indexOf(e);if(a>=0&&(t?a-1>=0:a+1<=n.length))return n[a+(t?-1:1)]}const on=(e,t)=>e?.querySelector(`[data-dp-element="${t}"]`),br=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),xn=e=>kt(e,"dd-MM-yyyy"),Qa=e=>Array.isArray(e),Aa=(e,t)=>t.get(xn(e)),oi=(e,t)=>e?t?t instanceof Map?!!Aa(e,t):t(Q(e)):!1:!0,et=(e,t,n=!1,a)=>{if(e.key===$e.enter||e.key===$e.space)return n&&e.preventDefault(),t();if(a)return a(e)},Vn=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].some(e=>navigator.userAgent.includes(e))||navigator.userAgent.includes("Mac")&&"ontouchend"in document,Fn=(e,t,n,a,r,l)=>{const i=rn(e,t.slice(0,e.length),new Date,{locale:l});return ua(i)&&Zn(i)?a||r?i:Ce(i,{hours:+n.hours,minutes:+n?.minutes,seconds:+n?.seconds,milliseconds:0}):null},ii=(e,t,n,a,r,l)=>{const i=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Fn(e,t,i,a,r,l);if(Array.isArray(t)){let p=null;for(const c of t)if(p=Fn(e,c,i,a,r,l),p)break;return p}return typeof t=="function"?t(e):null},Q=e=>e?new Date(e):new Date,si=(e,t,n)=>{if(t){const r=(e.getMonth()+1).toString().padStart(2,"0"),l=e.getDate().toString().padStart(2,"0"),i=e.getHours().toString().padStart(2,"0"),p=e.getMinutes().toString().padStart(2,"0"),c=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${r}-${l}T${i}:${p}:${c}.000Z`}const a=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(a).toISOString()},tt=(e,t)=>{const n=Q(JSON.parse(JSON.stringify(e))),a=Ce(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?tl(a):a},St=(e,t,n,a)=>{let r=e?Q(e):Q();return(t||t===0)&&(r=Uo(r,+t)),(n||n===0)&&(r=Xo(r,+n)),(a||a===0)&&(r=mr(r,+a)),vr(r,0)},Ie=(e,t)=>!e||!t?!1:pa(tt(e),tt(t)),Me=(e,t)=>!e||!t?!1:Xt(tt(e),tt(t)),Ne=(e,t)=>!e||!t?!1:Kt(tt(e),tt(t)),$a=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?Ne(n,e[0])&&Ie(n,e[1]):e!=null&&e[0]&&t?Ne(n,e[0])&&Ie(n,t)||Ie(n,e[0])&&Ne(n,t):!1,pt=e=>{const t=Ce(new Date(e),{date:1});return tt(t)},za=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(a=>a===t?[a,n]:[a,isNaN(+e[a])?void 0:+e[a]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},Ft=e=>({hours:Tt(e),minutes:Rt(e),seconds:jt(e)}),wr=(e,t)=>{if(t){const n=he(Q(t));if(n>e)return 12;if(n===e)return xe(Q(t))}},_r=(e,t)=>{if(t){const n=he(Q(t));return n{if(e)return he(Q(e))},kr=(e,t)=>{const n=Ne(e,t)?t:e,a=Ne(t,e)?t:e;return er({start:n,end:a})},ui=e=>{const t=ft(e,1);return{month:xe(t),year:he(t)}},xt=(e,t)=>{const n=ht(e,{weekStartsOn:+t}),a=ar(e,{weekStartsOn:+t});return[n,a]},xr=(e,t)=>{const n={hours:Tt(Q()),minutes:Rt(Q()),seconds:t?jt(Q()):0};return Object.assign(n,e)},$t=(e,t,n)=>[Ce(Q(e),{date:1}),Ce(Q(),{month:t,year:n,date:1})],Mt=(e,t,n)=>{let a=e?Q(e):Q();return(t||t===0)&&(a=cr(a,t)),n&&(a=_t(a,n)),a},Mr=(e,t,n,a,r)=>{if(!a||r&&!t||!r&&!n)return!1;const l=r?ft(e,1):Jt(e,1),i=[xe(l),he(l)];return r?!ci(...i,t):!di(...i,n)},di=(e,t,n)=>Ie(...$t(n,e,t))||Me(...$t(n,e,t)),ci=(e,t,n)=>Ne(...$t(n,e,t))||Me(...$t(n,e,t)),Dr=(e,t,n,a,r,l,i)=>{if(typeof t=="function"&&!i)return t(e);const p=n?{locale:n}:void 0;return Array.isArray(e)?`${kt(e[0],l,p)}${r&&!e[1]?"":a}${e[1]?kt(e[1],l,p):""}`:kt(e,l,p)},zt=e=>{if(e)return null;throw new Error(kn.prop("partial-range"))},ka=(e,t)=>{if(t)return e();throw new Error(kn.prop("range"))},sn=e=>Array.isArray(e)?ua(e[0])&&(e[1]?ua(e[1]):!0):e?ua(e):!1,vi=(e,t)=>Ce(t??Q(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),Ua=(e,t,n,a)=>{if(!e)return!0;if(a){const r=n==="max"?pa(e,t):Kt(e,t),l={seconds:0,milliseconds:0};return r||Xt(Ce(e,l),Ce(t,l))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},Xa=(e,t,n)=>e?vi(e,t):Q(n??t),qn=(e,t,n,a,r)=>{if(Array.isArray(a)){const i=Xa(e,a[0],t),p=Xa(e,a[1],t);return Ua(a[0],i,n,!!t)&&Ua(a[1],p,n,!!t)&&r}const l=Xa(e,a,t);return Ua(a,l,n,!!t)&&r},Ga=e=>Ce(Q(),Ft(e)),mi=(e,t)=>e instanceof Map?Array.from(e.values()).filter(n=>he(Q(n))===t).map(n=>xe(n)):[],Tr=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(a=>a.month===t&&a.year===n),Mn=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),Pr=e=>kt(e,"yyyy-MM-dd"),sa=ha({menuFocused:!1,shiftKeyInMenu:!1}),Ar=()=>{const e=n=>{sa.menuFocused=n},t=n=>{sa.shiftKeyInMenu!==n&&(sa.shiftKeyInMenu=n)};return{control:G(()=>({shiftKeyInMenu:sa.shiftKeyInMenu,menuFocused:sa.menuFocused})),setMenuFocused:e,setShiftKey:t}},Oe=ha({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),ja=Z(null),xa=Z(!1),Ka=Z(!1),Ja=Z(!1),Za=Z(!1),Ue=Z(0),Be=Z(0),It=()=>{const e=G(()=>xa.value?[...Oe.selectionGrid,Oe.actionRow].filter(v=>v.length):Ka.value?[...Oe.timePicker[0],...Oe.timePicker[1],Za.value?[]:[ja.value],Oe.actionRow].filter(v=>v.length):Ja.value?[...Oe.monthPicker,Oe.actionRow]:[Oe.monthYear,...Oe.calendar,Oe.time,Oe.actionRow].filter(v=>v.length)),t=v=>{Ue.value=v?Ue.value+1:Ue.value-1;let h=null;e.value[Be.value]&&(h=e.value[Be.value][Ue.value]),!h&&e.value[Be.value+(v?1:-1)]?(Be.value=Be.value+(v?1:-1),Ue.value=v?0:e.value[Be.value].length-1):h||(Ue.value=v?Ue.value-1:Ue.value+1)},n=v=>{Be.value===0&&!v||Be.value===e.value.length&&v||(Be.value=v?Be.value+1:Be.value-1,e.value[Be.value]?e.value[Be.value]&&!e.value[Be.value][Ue.value]&&Ue.value!==0&&(Ue.value=e.value[Be.value].length-1):Be.value=v?Be.value-1:Be.value+1)},a=v=>{let h=null;e.value[Be.value]&&(h=e.value[Be.value][Ue.value]),h?h.focus({preventScroll:!xa.value}):Ue.value=v?Ue.value-1:Ue.value+1},r=()=>{t(!0),a(!0)},l=()=>{t(!1),a(!1)},i=()=>{n(!1),a(!0)},p=()=>{n(!0),a(!0)},c=(v,h)=>{Oe[h]=v},C=(v,h)=>{Oe[h]=v},m=()=>{Ue.value=0,Be.value=0};return{buildMatrix:c,buildMultiLevelMatrix:C,setTimePickerBackRef:v=>{ja.value=v},setSelectionGrid:v=>{xa.value=v,m(),v||(Oe.selectionGrid=[])},setTimePicker:(v,h=!1)=>{Ka.value=v,Za.value=h,m(),v||(Oe.timePicker[0]=[],Oe.timePicker[1]=[])},setTimePickerElements:(v,h=0)=>{Oe.timePicker[h]=v},arrowRight:r,arrowLeft:l,arrowUp:i,arrowDown:p,clearArrowNav:()=>{Oe.monthYear=[],Oe.calendar=[],Oe.time=[],Oe.actionRow=[],Oe.selectionGrid=[],Oe.timePicker[0]=[],Oe.timePicker[1]=[],xa.value=!1,Ka.value=!1,Za.value=!1,Ja.value=!1,m(),ja.value=null},setMonthPicker:v=>{Ja.value=v,m()},refSets:Oe}},Wn=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),pi=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Qn=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,fi=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Qn(!1)};const a=t?e:{},r=t?a.count??!0:e,l=Qn(r);return Object.assign(n,a,{count:l})},hi=(e,t,n)=>e||(typeof n=="string"?n:t),yi=e=>typeof e=="boolean"?e?Wn({}):!1:Wn(e),gi=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - "};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},bi=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),wi=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),_i=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},ki=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,...e??{}}),xi=e=>{const t={dates:Array.isArray(e)?e.map(n=>Q(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},Mi=e=>typeof e=="object"?{type:e?.type??"local",hideOnOffsetDates:e?.hideOnOffsetDates??!1}:{type:e,hideOnOffsetDates:!1},Di=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},Ti=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},en=(e,t,n)=>new Map(e.map(a=>{const r=wn(a,t,n);return[xn(r),r]})),Pi=(e,t)=>e.length?new Map(e.map(n=>{const a=wn(n.date,t);return[xn(a),n]})):null,Ai=e=>{var t;return{minDate:ln(e.minDate,e.timezone,e.isSpecific),maxDate:ln(e.maxDate,e.timezone,e.isSpecific),disabledDates:Qa(e.disabledDates)?en(e.disabledDates,e.timezone,e.isSpecific):e.disabledDates,allowedDates:Qa(e.allowedDates)?en(e.allowedDates,e.timezone,e.isSpecific):null,highlight:typeof e.highlight=="object"&&Qa((t=e.highlight)==null?void 0:t.dates)?en(e.highlight.dates,e.timezone):e.highlight,markers:Pi(e.markers,e.timezone)}},Ci=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},Oi=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,a=e[n],r=typeof e[n]=="string"?{[a]:!0}:Object.fromEntries(a.map(l=>[l,!0]));return[t,r]}))}),Se=e=>{const t=()=>{const E=e.enableSeconds?":ss":"",B=e.enableMinutes?":mm":"";return e.is24?`HH${B}${E}`:`hh${B}${E} aa`},n=()=>{var E;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((E=S.value)==null?void 0:E.type)==="iso"?"RR":"ww"}-yyyy`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},a=E=>xr(E,e.enableSeconds),r=()=>q.value.enabled?e.startTime&&Array.isArray(e.startTime)?[a(e.startTime[0]),a(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?a(e.startTime):null,l=G(()=>fi(e.multiCalendars)),i=G(()=>r()),p=G(()=>pi(e.ariaLabels)),c=G(()=>bi(e.filters)),C=G(()=>yi(e.transitions)),m=G(()=>wi(e.actionRow)),v=G(()=>hi(e.previewFormat,e.format,n())),h=G(()=>gi(e.textInput)),k=G(()=>_i(e.inline)),Y=G(()=>ki(e.config)),f=G(()=>xi(e.highlight)),S=G(()=>Mi(e.weekNumbers)),I=G(()=>Ti(e.timezone)),U=G(()=>Ci(e.multiDates)),A=G(()=>Ai({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:f.value,markers:e.markers,timezone:I.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker})),q=G(()=>Di(e.range)),ae=G(()=>Oi(e.ui));return{defaultedTransitions:C,defaultedMultiCalendars:l,defaultedStartTime:i,defaultedAriaLabels:p,defaultedFilters:c,defaultedActionRow:m,defaultedPreviewFormat:v,defaultedTextInput:h,defaultedInline:k,defaultedConfig:Y,defaultedHighlight:f,defaultedWeekNumbers:S,defaultedRange:q,propDates:A,defaultedTz:I,defaultedMultiDates:U,defaultedUI:ae,getDefaultPattern:n,getDefaultStartTime:r}},$i=(e,t,n)=>{const a=Z(),{defaultedTextInput:r,defaultedRange:l,defaultedTz:i,defaultedMultiDates:p,getDefaultPattern:c}=Se(t),C=Z(""),m=ca(t,"format"),v=ca(t,"formatLocale");ct(a,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",a.value,z(!0))},{deep:!0}),ct(l,(u,le)=>{u.enabled!==le.enabled&&(a.value=null)}),ct(m,()=>{re()});const h=u=>i.value.timezone&&i.value.convertModel?nt(u,i.value.timezone):u,k=u=>{if(i.value.timezone&&i.value.convertModel){const le=Ko(i.value.timezone);return Xr(u,le)}return u},Y=(u,le,fe=!1)=>Dr(u,t.format,t.formatLocale,r.value.rangeSeparator,t.modelAuto,le??c(),fe),f=u=>u?t.modelType?b(u):{hours:Tt(u),minutes:Rt(u),seconds:t.enableSeconds?jt(u):0}:null,S=u=>t.modelType?b(u):{month:xe(u),year:he(u)},I=u=>Array.isArray(u)?p.value.enabled?u.map(le=>U(le,_t(Q(),le))):ka(()=>[_t(Q(),u[0]),u[1]?_t(Q(),u[1]):zt(l.value.partialRange)],l.value.enabled):_t(Q(),+u),U=(u,le)=>(typeof u=="string"||typeof u=="number")&&t.modelType?R(u):le,A=u=>Array.isArray(u)?[U(u[0],St(null,+u[0].hours,+u[0].minutes,u[0].seconds)),U(u[1],St(null,+u[1].hours,+u[1].minutes,u[1].seconds))]:U(u,St(null,u.hours,u.minutes,u.seconds)),q=u=>{const le=Ce(Q(),{date:1});return Array.isArray(u)?p.value.enabled?u.map(fe=>U(fe,Mt(le,+fe.month,+fe.year))):ka(()=>[U(u[0],Mt(le,+u[0].month,+u[0].year)),U(u[1],u[1]?Mt(le,+u[1].month,+u[1].year):zt(l.value.partialRange))],l.value.enabled):U(u,Mt(le,+u.month,+u.year))},ae=u=>{if(Array.isArray(u))return u.map(le=>R(le));throw new Error(kn.dateArr("multi-dates"))},E=u=>{if(Array.isArray(u)&&l.value.enabled){const le=u[0],fe=u[1];return[Q(Array.isArray(le)?le[0]:null),Array.isArray(fe)&&fe.length?Q(fe[0]):null]}return Q(u[0])},B=u=>t.modelAuto?Array.isArray(u)?[R(u[0]),R(u[1])]:t.autoApply?[R(u)]:[R(u),null]:Array.isArray(u)?ka(()=>u[1]?[R(u[0]),u[1]?R(u[1]):zt(l.value.partialRange)]:[R(u[0])],l.value.enabled):R(u),ne=()=>{Array.isArray(a.value)&&l.value.enabled&&a.value.length===1&&a.value.push(zt(l.value.partialRange))},F=()=>{const u=a.value;return[b(u[0]),u[1]?b(u[1]):zt(l.value.partialRange)]},N=()=>a.value[1]?F():b(qe(a.value[0])),ie=()=>(a.value||[]).map(u=>b(u)),ce=(u=!1)=>(u||ne(),t.modelAuto?N():p.value.enabled?ie():Array.isArray(a.value)?ka(()=>F(),l.value.enabled):b(qe(a.value))),pe=u=>!u||Array.isArray(u)&&!u.length?null:t.timePicker?A(qe(u)):t.monthPicker?q(qe(u)):t.yearPicker?I(qe(u)):p.value.enabled?ae(qe(u)):t.weekPicker?E(qe(u)):B(qe(u)),g=u=>{const le=pe(u);sn(qe(le))?(a.value=qe(le),re()):(a.value=null,C.value="")},D=()=>{const u=le=>kt(le,r.value.format);return`${u(a.value[0])} ${r.value.rangeSeparator} ${a.value[1]?u(a.value[1]):""}`},y=()=>n.value&&a.value?Array.isArray(a.value)?D():kt(a.value,r.value.format):Y(a.value),H=()=>a.value?p.value.enabled?a.value.map(u=>Y(u)).join("; "):r.value.enabled&&typeof r.value.format=="string"?y():Y(a.value):"",re=()=>{!t.format||typeof t.format=="string"||r.value.enabled&&typeof r.value.format=="string"?C.value=H():C.value=t.format(a.value)},R=u=>{if(t.utc){const le=new Date(u);return t.utc==="preserve"?new Date(le.getTime()+le.getTimezoneOffset()*6e4):le}return t.modelType?Jo.includes(t.modelType)?h(new Date(u)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?h(rn(u,c(),new Date,{locale:v.value})):h(rn(u,t.modelType,new Date,{locale:v.value})):h(new Date(u))},b=u=>u?t.utc?si(u,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+k(u):t.modelType==="iso"?k(u).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?Y(k(u)):Y(k(u),t.modelType,!0):k(u):"",oe=(u,le=!1,fe=!1)=>{if(fe)return u;if(e("update:model-value",u),i.value.emitTimezone&&le){const Ve=Array.isArray(u)?u.map(T=>nt(qe(T),i.value.emitTimezone)):nt(qe(u),i.value.emitTimezone);e("update:model-timezone-value",Ve)}},V=u=>Array.isArray(a.value)?p.value.enabled?a.value.map(le=>u(le)):[u(a.value[0]),a.value[1]?u(a.value[1]):zt(l.value.partialRange)]:u(qe(a.value)),M=()=>{if(Array.isArray(a.value)){const u=xt(a.value[0],t.weekStart),le=a.value[1]?xt(a.value[1],t.weekStart):[];return[u.map(fe=>Q(fe)),le.map(fe=>Q(fe))]}return xt(a.value,t.weekStart).map(u=>Q(u))},o=(u,le)=>oe(qe(V(u)),!1,le),w=u=>{const le=M();return u?le:e("update:model-value",M())},z=(u=!1)=>(u||re(),t.monthPicker?o(S,u):t.timePicker?o(f,u):t.yearPicker?o(he,u):t.weekPicker?w(u):oe(ce(u),!0,u));return{inputValue:C,internalModelValue:a,checkBeforeEmit:()=>a.value?l.value.enabled?l.value.partialRange?a.value.length>=1:a.value.length===2:!!a.value:!1,parseExternalModelValue:g,formatInputValue:re,emitModelValue:z}},Yi=(e,t)=>{const{defaultedFilters:n,propDates:a}=Se(e),{validateMonthYearInRange:r}=Et(e),l=(m,v)=>{let h=m;return n.value.months.includes(xe(h))?(h=v?ft(m,1):Jt(m,1),l(h,v)):h},i=(m,v)=>{let h=m;return n.value.years.includes(he(h))?(h=v?un(m,1):pr(m,1),i(h,v)):h},p=(m,v=!1)=>{const h=Ce(Q(),{month:e.month,year:e.year});let k=m?ft(h,1):Jt(h,1);e.disableYearSelect&&(k=_t(k,e.year));let Y=xe(k),f=he(k);n.value.months.includes(Y)&&(k=l(k,m),Y=xe(k),f=he(k)),n.value.years.includes(f)&&(k=i(k,m),f=he(k)),r(Y,f,m,e.preventMinMaxNavigation)&&c(Y,f,v)},c=(m,v,h)=>{t("update-month-year",{month:m,year:v,fromNav:h})},C=G(()=>m=>Mr(Ce(Q(),{month:e.month,year:e.year}),a.value.maxDate,a.value.minDate,e.preventMinMaxNavigation,m));return{handleMonthYearChange:p,isDisabled:C,updateMonthYear:c}},Ya={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:Boolean,default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},yt={...Ya,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},Si=["title"],Ri=["disabled"],Ii=ze({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...yt},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,a=e,{defaultedActionRow:r,defaultedPreviewFormat:l,defaultedMultiCalendars:i,defaultedTextInput:p,defaultedInline:c,defaultedRange:C,defaultedMultiDates:m}=Se(a),{isTimeValid:v,isMonthValid:h}=Et(a),{buildMatrix:k}=It(),Y=Z(null),f=Z(null),S=Z(!1),I=Z({}),U=Z(null),A=Z(null);Ke(()=>{a.arrowNavigation&&k([Fe(Y),Fe(f)],"actionRow"),q(),window.addEventListener("resize",q)}),Ca(()=>{window.removeEventListener("resize",q)});const q=()=>{S.value=!1,setTimeout(()=>{var g,D;const y=(g=U.value)==null?void 0:g.getBoundingClientRect(),H=(D=A.value)==null?void 0:D.getBoundingClientRect();y&&H&&(I.value.maxWidth=`${H.width-y.width-20}px`),S.value=!0},0)},ae=G(()=>C.value.enabled&&!C.value.partialRange&&a.internalModelValue?a.internalModelValue.length===2:!0),E=G(()=>!v.value(a.internalModelValue)||!h.value(a.internalModelValue)||!ae.value),B=()=>{const g=l.value;return a.timePicker||a.monthPicker,g(qe(a.internalModelValue))},ne=()=>{const g=a.internalModelValue;return i.value.count>0?`${F(g[0])} - ${F(g[1])}`:[F(g[0]),F(g[1])]},F=g=>Dr(g,l.value,a.formatLocale,p.value.rangeSeparator,a.modelAuto,l.value),N=G(()=>!a.internalModelValue||!a.menuMount?"":typeof l.value=="string"?Array.isArray(a.internalModelValue)?a.internalModelValue.length===2&&a.internalModelValue[1]?ne():m.value.enabled?a.internalModelValue.map(g=>`${F(g)}`):a.modelAuto?`${F(a.internalModelValue[0])}`:`${F(a.internalModelValue[0])} -`:F(a.internalModelValue):B()),ie=()=>m.value.enabled?"; ":" - ",ce=G(()=>Array.isArray(N.value)?N.value.join(ie()):N.value),pe=()=>{v.value(a.internalModelValue)&&h.value(a.internalModelValue)&&ae.value?n("select-date"):n("invalid-select")};return(g,D)=>(P(),W("div",{ref_key:"actionRowRef",ref:A,class:"dp__action_row"},[g.$slots["action-row"]?ue(g.$slots,"action-row",We(Qe({key:0},{internalModelValue:g.internalModelValue,disabled:E.value,selectDate:()=>g.$emit("select-date"),closePicker:()=>g.$emit("close-picker")}))):(P(),W(we,{key:1},[d(r).showPreview?(P(),W("div",{key:0,class:"dp__selection_preview",title:ce.value,style:dt(I.value)},[g.$slots["action-preview"]&&S.value?ue(g.$slots,"action-preview",{key:0,value:g.internalModelValue}):j("",!0),!g.$slots["action-preview"]&&S.value?(P(),W(we,{key:1},[Dt(Ge(ce.value),1)],64)):j("",!0)],12,Si)):j("",!0),ye("div",{ref_key:"actionBtnContainer",ref:U,class:"dp__action_buttons","data-dp-element":"action-row"},[g.$slots["action-buttons"]?ue(g.$slots,"action-buttons",{key:0,value:g.internalModelValue}):j("",!0),g.$slots["action-buttons"]?j("",!0):(P(),W(we,{key:1},[!d(c).enabled&&d(r).showCancel?(P(),W("button",{key:0,ref_key:"cancelButtonRef",ref:Y,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[0]||(D[0]=y=>g.$emit("close-picker")),onKeydown:D[1]||(D[1]=y=>d(et)(y,()=>g.$emit("close-picker")))},Ge(g.cancelText),545)):j("",!0),d(r).showNow?(P(),W("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[2]||(D[2]=y=>g.$emit("select-now")),onKeydown:D[3]||(D[3]=y=>d(et)(y,()=>g.$emit("select-now")))},Ge(g.nowButtonLabel),33)):j("",!0),d(r).showSelect?(P(),W("button",{key:2,ref_key:"selectButtonRef",ref:f,type:"button",class:"dp__action_button dp__action_select",disabled:E.value,"data-test":"select-button",onKeydown:D[4]||(D[4]=y=>d(et)(y,()=>pe())),onClick:pe},Ge(g.selectText),41,Ri)):j("",!0)],64))],512)],64))],512))}}),Ei=["role","aria-label","tabindex"],Bi={class:"dp__selection_grid_header"},Ni=["aria-selected","aria-disabled","data-test","onClick","onKeydown","onMouseover"],Li=["aria-label"],ya=ze({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:a,buildMultiLevelMatrix:r,setMonthPicker:l}=It(),i=n,p=e,{defaultedAriaLabels:c,defaultedTextInput:C,defaultedConfig:m}=Se(p),{hideNavigationButtons:v}=Ia(),h=Z(!1),k=Z(null),Y=Z(null),f=Z([]),S=Z(),I=Z(null),U=Z(0),A=Z(null);Hr(()=>{k.value=null}),Ke(()=>{it().then(()=>ie()),p.noOverlayFocus||ae(),q(!0)}),Ca(()=>q(!1));const q=V=>{var M;p.arrowNavigation&&((M=p.headerRefs)!=null&&M.length?l(V):a(V))},ae=()=>{var V;const M=Fe(Y);M&&(C.value.enabled||(k.value?(V=k.value)==null||V.focus({preventScroll:!0}):M.focus({preventScroll:!0})),h.value=M.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!p.useRelative,"dp--overlay-relative":p.useRelative})),B=G(()=>p.useRelative?{height:`${p.height}px`,width:"var(--dp-menu-min-width)"}:void 0),ne=G(()=>({dp__overlay_col:!0})),F=G(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:h.value,dp__button_bottom:p.isLast})),N=G(()=>{var V,M;return{dp__overlay_container:!0,dp__container_flex:((V=p.items)==null?void 0:V.length)<=6,dp__container_block:((M=p.items)==null?void 0:M.length)>6}});ct(()=>p.items,()=>ie(!1),{deep:!0});const ie=(V=!0)=>{it().then(()=>{const M=Fe(k),o=Fe(Y),w=Fe(I),z=Fe(A),u=w?w.getBoundingClientRect().height:0;o&&(o.getBoundingClientRect().height?U.value=o.getBoundingClientRect().height-u:U.value=m.value.modeHeight-u),M&&z&&V&&(z.scrollTop=M.offsetTop-z.offsetTop-(U.value/2-M.getBoundingClientRect().height)-u)})},ce=V=>{V.disabled||i("selected",V.value)},pe=()=>{i("toggle"),i("reset-flow")},g=()=>{p.escClose&&pe()},D=(V,M,o,w)=>{V&&((M.active||M.value===p.focusValue)&&(k.value=V),p.arrowNavigation&&(Array.isArray(f.value[o])?f.value[o][w]=V:f.value[o]=[V],y()))},y=()=>{var V,M;const o=(V=p.headerRefs)!=null&&V.length?[p.headerRefs].concat(f.value):f.value.concat([p.skipButtonRef?[]:[I.value]]);r(qe(o),(M=p.headerRefs)!=null&&M.length?"monthPicker":"selectionGrid")},H=V=>{p.arrowNavigation||Yt(V,m.value,!0)},re=V=>{S.value=V,i("hover-value",V)},R=()=>{if(pe(),!p.isLast){const V=on(p.menuWrapRef??null,"action-row");if(V){const M=gr(V);M?.focus()}}},b=V=>{switch(V.key){case $e.esc:return g();case $e.arrowLeft:return H(V);case $e.arrowRight:return H(V);case $e.arrowUp:return H(V);case $e.arrowDown:return H(V);default:return}},oe=V=>{if(V.key===$e.enter)return pe();if(V.key===$e.tab)return R()};return t({focusGrid:ae}),(V,M)=>{var o;return P(),W("div",{ref_key:"gridWrapRef",ref:Y,class:ke(E.value),style:dt(B.value),role:V.useRelative?void 0:"dialog","aria-label":V.overlayLabel,tabindex:V.useRelative?void 0:"0",onKeydown:b,onClick:M[0]||(M[0]=va(()=>{},["prevent"]))},[ye("div",{ref_key:"containerRef",ref:A,class:ke(N.value),style:dt({"--dp-overlay-height":`${U.value}px`}),role:"grid"},[ye("div",Bi,[ue(V.$slots,"header")]),V.$slots.overlay?ue(V.$slots,"overlay",{key:0}):(P(!0),W(we,{key:1},Ye(V.items,(w,z)=>(P(),W("div",{key:z,class:ke(["dp__overlay_row",{dp__flex_row:V.items.length>=3}]),role:"row"},[(P(!0),W(we,null,Ye(w,(u,le)=>(P(),W("div",{key:u.value,ref_for:!0,ref:fe=>D(fe,u,z,le),role:"gridcell",class:ke(ne.value),"aria-selected":u.active||void 0,"aria-disabled":u.disabled||void 0,tabindex:"0","data-test":u.text,onClick:va(fe=>ce(u),["prevent"]),onKeydown:fe=>d(et)(fe,()=>ce(u),!0),onMouseover:fe=>re(u.value)},[ye("div",{class:ke(u.className)},[V.$slots.item?ue(V.$slots,"item",{key:0,item:u}):j("",!0),V.$slots.item?j("",!0):(P(),W(we,{key:1},[Dt(Ge(u.text),1)],64))],2)],42,Ni))),128))],2))),128))],6),V.$slots["button-icon"]?Ma((P(),W("button",{key:0,ref_key:"toggleButton",ref:I,type:"button","aria-label":(o=d(c))==null?void 0:o.toggleOverlay,class:ke(F.value),tabindex:"0",onClick:pe,onKeydown:oe},[ue(V.$slots,"button-icon")],42,Li)),[[Da,!d(v)(V.hideNavigation,V.type)]]):j("",!0)],46,Ei)}}}),Sa=ze({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const t=e,n=G(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),a=G(()=>({dp__instance_calendar:t.multiCalendars>0}));return(r,l)=>(P(),W("div",{class:ke({dp__menu_inner:!r.stretch,"dp--menu--inner-stretched":r.stretch,dp__flex_display:r.multiCalendars>0,"dp--flex-display-collapsed":r.collapse})},[(P(!0),W(we,null,Ye(n.value,(i,p)=>(P(),W("div",{key:i,class:ke(a.value)},[ue(r.$slots,"default",{instance:i,index:p})],2))),128))],2))}}),Hi=["data-dp-element","aria-label","aria-disabled"],da=ze({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,a=Z(null);return Ke(()=>n("set-ref",a)),(r,l)=>(P(),W("button",{ref_key:"elRef",ref:a,type:"button","data-dp-element":r.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":r.ariaLabel,"aria-disabled":r.disabled||void 0,onClick:l[0]||(l[0]=i=>r.$emit("activate")),onKeydown:l[1]||(l[1]=i=>d(et)(i,()=>r.$emit("activate"),!0))},[ye("span",{class:ke(["dp__inner_nav",{dp__inner_nav_disabled:r.disabled}])},[ue(r.$slots,"default")],2)],40,Hi))}}),Vi=["aria-label","data-test"],Cr=ze({__name:"YearModePicker",props:{...yt,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:l}=Ia(),{defaultedConfig:i,defaultedMultiCalendars:p,defaultedAriaLabels:c,defaultedTransitions:C,defaultedUI:m}=Se(a),{showTransition:v,transitionName:h}=ga(C),k=Z(!1),Y=(I=!1,U)=>{k.value=!k.value,n("toggle-year-picker",{flow:I,show:U})},f=I=>{k.value=!1,n("year-select",I)},S=(I=!1)=>{n("handle-year",I)};return(I,U)=>{var A,q,ae,E,B;return P(),W(we,null,[ye("div",{class:ke(["dp--year-mode-picker",{"dp--hidden-el":k.value}])},[d(l)(d(p),e.instance)?(P(),De(da,{key:0,ref:"mpPrevIconRef","aria-label":(A=d(c))==null?void 0:A.prevYear,disabled:e.isDisabled(!1),class:ke((q=d(m))==null?void 0:q.navBtnPrev),onActivate:U[0]||(U[0]=ne=>S(!1))},{default:_e(()=>[I.$slots["arrow-left"]?ue(I.$slots,"arrow-left",{key:0}):j("",!0),I.$slots["arrow-left"]?j("",!0):(P(),De(d(fn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),ye("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(ae=d(c))==null?void 0:ae.openYearsOverlay}`,"data-test":`year-mode-btn-${e.instance}`,onClick:U[1]||(U[1]=()=>Y(!1)),onKeydown:U[2]||(U[2]=Vr(()=>Y(!1),["enter"]))},[I.$slots.year?ue(I.$slots,"year",{key:0,year:e.year}):j("",!0),I.$slots.year?j("",!0):(P(),W(we,{key:1},[Dt(Ge(e.year),1)],64))],40,Vi),d(r)(d(p),e.instance)?(P(),De(da,{key:1,ref:"mpNextIconRef","aria-label":(E=d(c))==null?void 0:E.nextYear,disabled:e.isDisabled(!0),class:ke((B=d(m))==null?void 0:B.navBtnNext),onActivate:U[3]||(U[3]=ne=>S(!0))},{default:_e(()=>[I.$slots["arrow-right"]?ue(I.$slots,"arrow-right",{key:0}):j("",!0),I.$slots["arrow-right"]?j("",!0):(P(),De(d(hn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0)],2),ot(ta,{name:d(h)(e.showYearPicker),css:d(v)},{default:_e(()=>{var ne,F;return[e.showYearPicker?(P(),De(ya,{key:0,items:e.items,"text-input":I.textInput,"esc-close":I.escClose,config:I.config,"is-last":I.autoApply&&!d(i).keepActionRow,"hide-navigation":I.hideNavigation,"aria-labels":I.ariaLabels,"overlay-label":(F=(ne=d(c))==null?void 0:ne.yearPicker)==null?void 0:F.call(ne,!0),type:"year",onToggle:Y,onSelected:U[4]||(U[4]=N=>f(N))},je({"button-icon":_e(()=>[I.$slots["calendar-icon"]?ue(I.$slots,"calendar-icon",{key:0}):j("",!0),I.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))]),_:2},[I.$slots["year-overlay-value"]?{name:"item",fn:_e(({item:N})=>[ue(I.$slots,"year-overlay-value",{text:N.text,value:N.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):j("",!0)]}),_:3},8,["name","css"])],64)}}}),Dn=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(a=>Me(e,a))){const a=t.value.filter(r=>!Me(r,e));t.value=a.length?a:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},Tn=(e,t,n)=>{let a=e.value?e.value.slice():[];return a.length===2&&a[1]!==null&&(a=[]),a.length?Ie(t,a[0])?(a.unshift(t),n("range-start",a[0]),n("range-start",a[1])):(a[1]=t,n("range-end",t)):(a=[t],n("range-start",t)),a},Ra=(e,t,n,a)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&a&&n&&t("auto-apply"))},Or=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>nt(Q(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=nt(Q(e.value),e.timezone))},$r=(e,t,n,a)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&a.value.partialRange)?a.value.fixedStart&&(Ne(e,t.value[0])||Me(e,t.value[0]))?[t.value[0],e]:a.value.fixedEnd&&(Ie(e,t.value[1])||Me(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],Yr=({multiCalendars:e,range:t,highlight:n,propDates:a,calendars:r,modelValue:l,props:i,filters:p,year:c,month:C,emit:m})=>{const v=G(()=>_n(i.yearRange,i.locale,i.reverseYears)),h=Z([!1]),k=G(()=>(N,ie)=>{const ce=Ce(pt(new Date),{month:C.value(N),year:c.value(N)}),pe=ie?tr(ce):ma(ce);return Mr(pe,a.value.maxDate,a.value.minDate,i.preventMinMaxNavigation,ie)}),Y=()=>Array.isArray(l.value)&&e.value.solo&&l.value[1],f=()=>{for(let N=0;N{if(!N)return f();const ie=Ce(Q(),r.value[N]);return r.value[0].year=he(pr(ie,e.value.count-1)),f()},I=(N,ie)=>{const ce=Zr(ie,N);return t.value.showLastInRange&&ce>1?ie:N},U=N=>i.focusStartDate||e.value.solo?N[0]:N[1]?I(N[0],N[1]):N[0],A=()=>{if(l.value){const N=Array.isArray(l.value)?U(l.value):l.value;r.value[0]={month:xe(N),year:he(N)}}},q=()=>{A(),e.value.count&&f()};ct(l,(N,ie)=>{i.isTextInputDate&&JSON.stringify(N??{})!==JSON.stringify(ie??{})&&q()}),Ke(()=>{q()});const ae=(N,ie)=>{r.value[ie].year=N,m("update-month-year",{instance:ie,year:N,month:r.value[ie].month}),e.value.count&&!e.value.solo&&S(ie)},E=G(()=>N=>Zt(v.value,ie=>{var ce;const pe=c.value(N)===ie.value,g=fa(ie.value,ea(a.value.minDate),ea(a.value.maxDate))||((ce=p.value.years)==null?void 0:ce.includes(c.value(N))),D=Mn(n.value,ie.value);return{active:pe,disabled:g,highlighted:D}})),B=(N,ie)=>{ae(N,ie),F(ie)},ne=(N,ie=!1)=>{if(!k.value(N,ie)){const ce=ie?c.value(N)+1:c.value(N)-1;ae(ce,N)}},F=(N,ie=!1,ce)=>{ie||m("reset-flow"),ce!==void 0?h.value[N]=ce:h.value[N]=!h.value[N],h.value[N]?m("overlay-toggle",{open:!0,overlay:Xe.year}):(m("overlay-closed"),m("overlay-toggle",{open:!1,overlay:Xe.year}))};return{isDisabled:k,groupedYears:E,showYearPicker:h,selectYear:ae,toggleYearPicker:F,handleYearSelect:B,handleYear:ne}},Fi=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:l,defaultedRange:i,defaultedHighlight:p,propDates:c,defaultedTz:C,defaultedFilters:m,defaultedMultiDates:v}=Se(e),h=()=>{e.isTextInputDate&&q(he(Q(e.startDate)),0)},{modelValue:k,year:Y,month:f,calendars:S}=ba(e,t,h),I=G(()=>hr(e.formatLocale,e.locale,e.monthNameFormat)),U=Z(null),{checkMinMaxRange:A}=Et(e),{selectYear:q,groupedYears:ae,showYearPicker:E,toggleYearPicker:B,handleYearSelect:ne,handleYear:F,isDisabled:N}=Yr({modelValue:k,multiCalendars:n,range:i,highlight:p,calendars:S,year:Y,propDates:c,month:f,filters:m,props:e,emit:t});Ke(()=>{e.startDate&&(k.value&&e.focusStartDate||!k.value)&&q(he(Q(e.startDate)),0)});const ie=o=>o?{month:xe(o),year:he(o)}:{month:null,year:null},ce=()=>k.value?Array.isArray(k.value)?k.value.map(o=>ie(o)):ie(k.value):ie(),pe=(o,w)=>{const z=S.value[o],u=ce();return Array.isArray(u)?u.some(le=>le.year===z?.year&&le.month===w):z?.year===u.year&&w===u.month},g=(o,w,z)=>{var u,le;const fe=ce();return Array.isArray(fe)?Y.value(w)===((u=fe[z])==null?void 0:u.year)&&o===((le=fe[z])==null?void 0:le.month):!1},D=(o,w)=>{if(i.value.enabled){const z=ce();if(Array.isArray(k.value)&&Array.isArray(z)){const u=g(o,w,0)||g(o,w,1),le=Mt(pt(Q()),o,Y.value(w));return $a(k.value,U.value,le)&&!u}return!1}return!1},y=G(()=>o=>Zt(I.value,w=>{var z;const u=pe(o,w.value),le=fa(w.value,wr(Y.value(o),c.value.minDate),_r(Y.value(o),c.value.maxDate))||mi(c.value.disabledDates,Y.value(o)).includes(w.value)||((z=m.value.months)==null?void 0:z.includes(w.value)),fe=D(w.value,o),Ve=Tr(p.value,w.value,Y.value(o));return{active:u,disabled:le,isBetween:fe,highlighted:Ve}})),H=(o,w)=>Mt(pt(Q()),o,Y.value(w)),re=(o,w)=>{const z=k.value?k.value:pt(new Date);k.value=Mt(z,o,Y.value(w)),t("auto-apply"),t("update-flow-step")},R=(o,w)=>{const z=H(o,w);i.value.fixedEnd||i.value.fixedStart?k.value=$r(z,k,t,i):k.value?A(z,k.value)&&(k.value=Tn(k,H(o,w),t)):k.value=[H(o,w)],it().then(()=>{Ra(k.value,t,e.autoApply,e.modelAuto)})},b=(o,w)=>{Dn(H(o,w),k,v.value.limit),t("auto-apply",!0)},oe=(o,w)=>(S.value[w].month=o,M(w,S.value[w].year,o),v.value.enabled?b(o,w):i.value.enabled?R(o,w):re(o,w)),V=(o,w)=>{q(o,w),M(w,o,null)},M=(o,w,z)=>{let u=z;if(!u&&u!==0){const le=ce();u=Array.isArray(le)?le[o].month:le.month}t("update-month-year",{instance:o,year:w,month:u})};return{groupedMonths:y,groupedYears:ae,year:Y,isDisabled:N,defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:l,showYearPicker:E,modelValue:k,presetDate:(o,w)=>{Or({value:o,modelValue:k,range:i.value.enabled,timezone:w?void 0:C.value.timezone}),t("auto-apply")},setHoverDate:(o,w)=>{U.value=H(o,w)},selectMonth:oe,selectYear:V,toggleYearPicker:B,handleYearSelect:ne,handleYear:F,getModelMonthYear:ce}},qi=ze({compatConfig:{MODE:3},__name:"MonthPicker",props:{...yt},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=qt(),l=lt(r,"yearMode"),i=e;Ke(()=>{i.shadow||a("mount",null)});const{groupedMonths:p,groupedYears:c,year:C,isDisabled:m,defaultedMultiCalendars:v,defaultedConfig:h,showYearPicker:k,modelValue:Y,presetDate:f,setHoverDate:S,selectMonth:I,selectYear:U,toggleYearPicker:A,handleYearSelect:q,handleYear:ae,getModelMonthYear:E}=Fi(i,a);return t({getSidebarProps:()=>({modelValue:Y,year:C,getModelMonthYear:E,selectMonth:I,selectYear:U,handleYear:ae}),presetDate:f,toggleYearPicker:B=>A(0,B)}),(B,ne)=>(P(),De(Sa,{"multi-calendars":d(v).count,collapse:B.collapse,stretch:""},{default:_e(({instance:F})=>[B.$slots["top-extra"]?ue(B.$slots,"top-extra",{key:0,value:B.internalModelValue}):j("",!0),B.$slots["month-year"]?ue(B.$slots,"month-year",We(Qe({key:1},{year:d(C),months:d(p)(F),years:d(c)(F),selectMonth:d(I),selectYear:d(U),instance:F}))):(P(),De(ya,{key:2,items:d(p)(F),"arrow-navigation":B.arrowNavigation,"is-last":B.autoApply&&!d(h).keepActionRow,"esc-close":B.escClose,height:d(h).modeHeight,config:B.config,"no-overlay-focus":!!(B.noOverlayFocus||B.textInput),"use-relative":"",type:"month",onSelected:N=>d(I)(N,F),onHoverValue:N=>d(S)(N,F)},je({header:_e(()=>[ot(Cr,Qe(B.$props,{items:d(c)(F),instance:F,"show-year-picker":d(k)[F],year:d(C)(F),"is-disabled":N=>d(m)(F,N),onHandleYear:N=>d(ae)(F,N),onYearSelect:N=>d(q)(N,F),onToggleYearPicker:N=>d(A)(F,N?.flow,N?.show)}),je({_:2},[Ye(d(l),(N,ie)=>({name:N,fn:_e(ce=>[ue(B.$slots,N,We(at(ce)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[B.$slots["month-overlay-value"]?{name:"item",fn:_e(({item:N})=>[ue(B.$slots,"month-overlay-value",{text:N.text,value:N.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse"]))}}),Wi=(e,t)=>{const n=()=>{e.isTextInputDate&&(m.value=he(Q(e.startDate)))},{modelValue:a}=ba(e,t,n),r=Z(null),{defaultedHighlight:l,defaultedMultiDates:i,defaultedFilters:p,defaultedRange:c,propDates:C}=Se(e),m=Z();Ke(()=>{e.startDate&&(a.value&&e.focusStartDate||!a.value)&&(m.value=he(Q(e.startDate)))});const v=f=>Array.isArray(a.value)?a.value.some(S=>he(S)===f):a.value?he(a.value)===f:!1,h=f=>c.value.enabled&&Array.isArray(a.value)?$a(a.value,r.value,Y(f)):!1,k=G(()=>Zt(_n(e.yearRange,e.locale,e.reverseYears),f=>{const S=v(f.value),I=fa(f.value,ea(C.value.minDate),ea(C.value.maxDate))||p.value.years.includes(f.value),U=h(f.value)&&!S,A=Mn(l.value,f.value);return{active:S,disabled:I,isBetween:U,highlighted:A}})),Y=f=>_t(pt(ma(new Date)),f);return{groupedYears:k,modelValue:a,focusYear:m,setHoverValue:f=>{r.value=_t(pt(new Date),f)},selectYear:f=>{var S;if(t("update-month-year",{instance:0,year:f}),i.value.enabled)return a.value?Array.isArray(a.value)&&(((S=a.value)==null?void 0:S.map(I=>he(I))).includes(f)?a.value=a.value.filter(I=>he(I)!==f):a.value.push(_t(tt(Q()),f))):a.value=[_t(tt(ma(Q())),f)],t("auto-apply",!0);c.value.enabled?(a.value=Tn(a,Y(f),t),it().then(()=>{Ra(a.value,t,e.autoApply,e.modelAuto)})):(a.value=Y(f),t("auto-apply"))}}},Qi=ze({compatConfig:{MODE:3},__name:"YearPicker",props:{...yt},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{groupedYears:l,modelValue:i,focusYear:p,selectYear:c,setHoverValue:C}=Wi(r,a),{defaultedConfig:m}=Se(r);return t({getSidebarProps:()=>({modelValue:i,selectYear:c})}),(v,h)=>(P(),W("div",null,[v.$slots["top-extra"]?ue(v.$slots,"top-extra",{key:0,value:v.internalModelValue}):j("",!0),v.$slots["month-year"]?ue(v.$slots,"month-year",We(Qe({key:1},{years:d(l),selectYear:d(c)}))):(P(),De(ya,{key:2,items:d(l),"is-last":v.autoApply&&!d(m).keepActionRow,height:d(m).modeHeight,config:v.config,"no-overlay-focus":!!(v.noOverlayFocus||v.textInput),"focus-value":d(p),type:"year","use-relative":"",onSelected:d(c),onHoverValue:d(C)},je({_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:_e(({item:k})=>[ue(v.$slots,"year-overlay-value",{text:k.text,value:k.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),zi={key:0,class:"dp__time_input"},Ui=["data-test","aria-label","onKeydown","onClick","onMousedown"],Xi=["aria-label","disabled","data-test","onKeydown","onClick"],Gi=["data-test","aria-label","onKeydown","onClick","onMousedown"],ji={key:0},Ki=["aria-label"],Ji=ze({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...yt},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{setTimePickerElements:l,setTimePickerBackRef:i}=It(),{defaultedAriaLabels:p,defaultedTransitions:c,defaultedFilters:C,defaultedConfig:m,defaultedRange:v}=Se(r),{transitionName:h,showTransition:k}=ga(c),Y=ha({hours:!1,minutes:!1,seconds:!1}),f=Z("AM"),S=Z(null),I=Z([]),U=Z(),A=Z(!1);Ke(()=>{a("mounted")});const q=s=>Ce(new Date,{hours:s.hours,minutes:s.minutes,seconds:r.enableSeconds?s.seconds:0,milliseconds:0}),ae=G(()=>s=>H(s,r[s])||B(s,r[s])),E=G(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),B=(s,L)=>v.value.enabled&&!v.value.disableTimeRangeValidation?!r.validateTime(s,L):!1,ne=(s,L)=>{if(v.value.enabled&&!v.value.disableTimeRangeValidation){const J=L?+r[`${s}Increment`]:-+r[`${s}Increment`],$=r[s]+J;return!r.validateTime(s,$)}return!1},F=G(()=>s=>!V(+r[s]+ +r[`${s}Increment`],s)||ne(s,!0)),N=G(()=>s=>!V(+r[s]-+r[`${s}Increment`],s)||ne(s,!1)),ie=(s,L)=>Xn(Ce(Q(),s),L),ce=(s,L)=>Go(Ce(Q(),s),L),pe=G(()=>({dp__time_col:!0,dp__time_col_block:!r.timePickerInline,dp__time_col_reg_block:!r.enableSeconds&&r.is24&&!r.timePickerInline,dp__time_col_reg_inline:!r.enableSeconds&&r.is24&&r.timePickerInline,dp__time_col_reg_with_button:!r.enableSeconds&&!r.is24,dp__time_col_sec:r.enableSeconds&&r.is24,dp__time_col_sec_with_button:r.enableSeconds&&!r.is24})),g=G(()=>{const s=[{type:"hours"}];return r.enableMinutes&&s.push({type:"",separator:!0},{type:"minutes"}),r.enableSeconds&&s.push({type:"",separator:!0},{type:"seconds"}),s}),D=G(()=>g.value.filter(s=>!s.separator)),y=G(()=>s=>{if(s==="hours"){const L=le(+r.hours);return{text:L<10?`0${L}`:`${L}`,value:L}}return{text:r[s]<10?`0${r[s]}`:`${r[s]}`,value:r[s]}}),H=(s,L)=>{var J;if(!r.disabledTimesConfig)return!1;const $=r.disabledTimesConfig(r.order,s==="hours"?L:void 0);return $[s]?!!((J=$[s])!=null&&J.includes(L)):!0},re=(s,L)=>L!=="hours"||f.value==="AM"?s:s+12,R=s=>{const L=r.is24?24:12,J=s==="hours"?L:60,$=+r[`${s}GridIncrement`],ge=s==="hours"&&!r.is24?$:0,x=[];for(let X=ge;X({active:!1,disabled:C.value.times[s].includes(X.value)||!V(X.value,s)||H(s,X.value)||B(s,X.value)}))},b=s=>s>=0?s:59,oe=s=>s>=0?s:23,V=(s,L)=>{const J=r.minTime?q(za(r.minTime)):null,$=r.maxTime?q(za(r.maxTime)):null,ge=q(za(E.value,L,L==="minutes"||L==="seconds"?b(s):oe(s)));return J&&$?(pa(ge,$)||Xt(ge,$))&&(Kt(ge,J)||Xt(ge,J)):J?Kt(ge,J)||Xt(ge,J):$?pa(ge,$)||Xt(ge,$):!0},M=s=>r[`no${s[0].toUpperCase()+s.slice(1)}Overlay`],o=s=>{M(s)||(Y[s]=!Y[s],Y[s]?(A.value=!0,a("overlay-opened",s)):(A.value=!1,a("overlay-closed",s)))},w=s=>s==="hours"?Tt:s==="minutes"?Rt:jt,z=()=>{U.value&&clearTimeout(U.value)},u=(s,L=!0,J)=>{const $=L?ie:ce,ge=L?+r[`${s}Increment`]:-+r[`${s}Increment`];V(+r[s]+ge,s)&&a(`update:${s}`,w(s)($({[s]:+r[s]},{[s]:+r[`${s}Increment`]}))),!(J!=null&&J.keyboard)&&m.value.timeArrowHoldThreshold&&(U.value=setTimeout(()=>{u(s,L)},m.value.timeArrowHoldThreshold))},le=s=>r.is24?s:(s>=12?f.value="PM":f.value="AM",ti(s)),fe=()=>{f.value==="PM"?(f.value="AM",a("update:hours",r.hours-12)):(f.value="PM",a("update:hours",r.hours+12)),a("am-pm-change",f.value)},Ve=s=>{Y[s]=!0},T=(s,L,J)=>{if(s&&r.arrowNavigation){Array.isArray(I.value[L])?I.value[L][J]=s:I.value[L]=[s];const $=I.value.reduce((ge,x)=>x.map((X,de)=>[...ge[de]||[],x[de]]),[]);i(r.closeTimePickerBtn),S.value&&($[1]=$[1].concat(S.value)),l($,r.order)}},K=(s,L)=>(o(s),a(`update:${s}`,L));return t({openChildCmp:Ve}),(s,L)=>{var J;return s.disabled?j("",!0):(P(),W("div",zi,[(P(!0),W(we,null,Ye(g.value,($,ge)=>{var x,X,de;return P(),W("div",{key:ge,class:ke(pe.value)},[$.separator?(P(),W(we,{key:0},[A.value?j("",!0):(P(),W(we,{key:0},[Dt(":")],64))],64)):(P(),W(we,{key:1},[ye("button",{ref_for:!0,ref:be=>T(be,ge,0),type:"button",class:ke({dp__btn:!0,dp__inc_dec_button:!s.timePickerInline,dp__inc_dec_button_inline:s.timePickerInline,dp__tp_inline_btn_top:s.timePickerInline,dp__inc_dec_button_disabled:F.value($.type),"dp--hidden-el":A.value}),"data-test":`${$.type}-time-inc-btn-${r.order}`,"aria-label":(x=d(p))==null?void 0:x.incrementValue($.type),tabindex:"0",onKeydown:be=>d(et)(be,()=>u($.type,!0,{keyboard:!0}),!0),onClick:be=>d(m).timeArrowHoldThreshold?void 0:u($.type,!0),onMousedown:be=>d(m).timeArrowHoldThreshold?u($.type,!0):void 0,onMouseup:z},[r.timePickerInline?(P(),W(we,{key:1},[s.$slots["tp-inline-arrow-up"]?ue(s.$slots,"tp-inline-arrow-up",{key:0}):(P(),W(we,{key:1},[L[2]||(L[2]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),L[3]||(L[3]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(P(),W(we,{key:0},[s.$slots["arrow-up"]?ue(s.$slots,"arrow-up",{key:0}):j("",!0),s.$slots["arrow-up"]?j("",!0):(P(),De(d(gn),{key:1}))],64))],42,Ui),ye("button",{ref_for:!0,ref:be=>T(be,ge,1),type:"button","aria-label":`${y.value($.type).text}-${(X=d(p))==null?void 0:X.openTpOverlay($.type)}`,class:ke({dp__time_display:!0,dp__time_display_block:!s.timePickerInline,dp__time_display_inline:s.timePickerInline,"dp--time-invalid":ae.value($.type),"dp--time-overlay-btn":!ae.value($.type),"dp--hidden-el":A.value}),disabled:M($.type),tabindex:"0","data-test":`${$.type}-toggle-overlay-btn-${r.order}`,onKeydown:be=>d(et)(be,()=>o($.type),!0),onClick:be=>o($.type)},[s.$slots[$.type]?ue(s.$slots,$.type,{key:0,text:y.value($.type).text,value:y.value($.type).value}):j("",!0),s.$slots[$.type]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(y.value($.type).text),1)],64))],42,Xi),ye("button",{ref_for:!0,ref:be=>T(be,ge,2),type:"button",class:ke({dp__btn:!0,dp__inc_dec_button:!s.timePickerInline,dp__inc_dec_button_inline:s.timePickerInline,dp__tp_inline_btn_bottom:s.timePickerInline,dp__inc_dec_button_disabled:N.value($.type),"dp--hidden-el":A.value}),"data-test":`${$.type}-time-dec-btn-${r.order}`,"aria-label":(de=d(p))==null?void 0:de.decrementValue($.type),tabindex:"0",onKeydown:be=>d(et)(be,()=>u($.type,!1,{keyboard:!0}),!0),onClick:be=>d(m).timeArrowHoldThreshold?void 0:u($.type,!1),onMousedown:be=>d(m).timeArrowHoldThreshold?u($.type,!1):void 0,onMouseup:z},[r.timePickerInline?(P(),W(we,{key:1},[s.$slots["tp-inline-arrow-down"]?ue(s.$slots,"tp-inline-arrow-down",{key:0}):(P(),W(we,{key:1},[L[4]||(L[4]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),L[5]||(L[5]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(P(),W(we,{key:0},[s.$slots["arrow-down"]?ue(s.$slots,"arrow-down",{key:0}):j("",!0),s.$slots["arrow-down"]?j("",!0):(P(),De(d(bn),{key:1}))],64))],42,Gi)],64))],2)}),128)),s.is24?j("",!0):(P(),W("div",ji,[s.$slots["am-pm-button"]?ue(s.$slots,"am-pm-button",{key:0,toggle:fe,value:f.value}):j("",!0),s.$slots["am-pm-button"]?j("",!0):(P(),W("button",{key:1,ref_key:"amPmButton",ref:S,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(J=d(p))==null?void 0:J.amPmButton,tabindex:"0",onClick:fe,onKeydown:L[0]||(L[0]=$=>d(et)($,()=>fe(),!0))},Ge(f.value),41,Ki))])),(P(!0),W(we,null,Ye(D.value,($,ge)=>(P(),De(ta,{key:ge,name:d(h)(Y[$.type]),css:d(k)},{default:_e(()=>{var x,X;return[Y[$.type]?(P(),De(ya,{key:0,items:R($.type),"is-last":s.autoApply&&!d(m).keepActionRow,"esc-close":s.escClose,type:$.type,"text-input":s.textInput,config:s.config,"arrow-navigation":s.arrowNavigation,"aria-labels":s.ariaLabels,"overlay-label":(X=(x=d(p)).timeOverlay)==null?void 0:X.call(x,$.type),onSelected:de=>K($.type,de),onToggle:de=>o($.type),onResetFlow:L[1]||(L[1]=de=>s.$emit("reset-flow"))},je({"button-icon":_e(()=>[s.$slots["clock-icon"]?ue(s.$slots,"clock-icon",{key:0}):j("",!0),s.$slots["clock-icon"]?j("",!0):(P(),De(Oa(s.timePickerInline?d(aa):d(yn)),{key:1}))]),_:2},[s.$slots[`${$.type}-overlay-value`]?{name:"item",fn:_e(({item:de})=>[ue(s.$slots,`${$.type}-overlay-value`,{text:de.text,value:de.value})]),key:"0"}:void 0,s.$slots[`${$.type}-overlay-header`]?{name:"header",fn:_e(()=>[ue(s.$slots,`${$.type}-overlay-header`,{toggle:()=>o($.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):j("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),Zi={class:"dp--tp-wrap"},es=["aria-label","tabindex"],ts=["role","aria-label","tabindex"],as=["aria-label"],Sr=ze({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...yt},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMatrix:l,setTimePicker:i}=It(),p=qt(),{defaultedTransitions:c,defaultedAriaLabels:C,defaultedTextInput:m,defaultedConfig:v,defaultedRange:h}=Se(r),{transitionName:k,showTransition:Y}=ga(c),{hideNavigationButtons:f}=Ia(),S=Z(null),I=Z(null),U=Z([]),A=Z(null),q=Z(!1);Ke(()=>{a("mount"),!r.timePicker&&r.arrowNavigation?l([Fe(S.value)],"time"):i(!0,r.timePicker)});const ae=G(()=>h.value.enabled&&r.modelAuto?yr(r.internalModelValue):!0),E=Z(!1),B=R=>({hours:Array.isArray(r.hours)?r.hours[R]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[R]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[R]:r.seconds}),ne=G(()=>{const R=[];if(h.value.enabled)for(let b=0;b<2;b++)R.push(B(b));else R.push(B(0));return R}),F=(R,b=!1,oe="")=>{b||a("reset-flow"),E.value=R,a(R?"overlay-opened":"overlay-closed",Xe.time),r.arrowNavigation&&i(R),it(()=>{oe!==""&&U.value[0]&&U.value[0].openChildCmp(oe)})},N=G(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:r.autoApply&&!v.value.keepActionRow})),ie=lt(p,"timePicker"),ce=(R,b,oe)=>h.value.enabled?b===0?[R,ne.value[1][oe]]:[ne.value[0][oe],R]:R,pe=R=>{a("update:hours",R)},g=R=>{a("update:minutes",R)},D=R=>{a("update:seconds",R)},y=()=>{if(A.value&&!m.value.enabled&&!r.noOverlayFocus){const R=gr(A.value);R&&R.focus({preventScroll:!0})}},H=R=>{q.value=!1,a("overlay-closed",R)},re=R=>{q.value=!0,a("overlay-opened",R)};return t({toggleTimePicker:F}),(R,b)=>{var oe;return P(),W("div",Zi,[!R.timePicker&&!R.timePickerInline?Ma((P(),W("button",{key:0,ref_key:"openTimePickerBtn",ref:S,type:"button",class:ke({...N.value,"dp--hidden-el":E.value}),"aria-label":(oe=d(C))==null?void 0:oe.openTimePicker,tabindex:R.noOverlayFocus?void 0:0,"data-test":"open-time-picker-btn",onKeydown:b[0]||(b[0]=V=>d(et)(V,()=>F(!0))),onClick:b[1]||(b[1]=V=>F(!0))},[R.$slots["clock-icon"]?ue(R.$slots,"clock-icon",{key:0}):j("",!0),R.$slots["clock-icon"]?j("",!0):(P(),De(d(yn),{key:1}))],42,es)),[[Da,!d(f)(R.hideNavigation,"time")]]):j("",!0),ot(ta,{name:d(k)(E.value),css:d(Y)&&!R.timePickerInline},{default:_e(()=>{var V,M;return[E.value||R.timePicker||R.timePickerInline?(P(),W("div",{key:0,ref_key:"overlayRef",ref:A,role:R.timePickerInline?void 0:"dialog",class:ke({dp__overlay:!R.timePickerInline,"dp--overlay-absolute":!r.timePicker&&!R.timePickerInline,"dp--overlay-relative":r.timePicker}),style:dt(R.timePicker?{height:`${d(v).modeHeight}px`}:void 0),"aria-label":(V=d(C))==null?void 0:V.timePicker,tabindex:R.timePickerInline?void 0:0},[ye("div",{class:ke(R.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[R.$slots["time-picker-overlay"]?ue(R.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:pe,setMinutes:g,setSeconds:D}):j("",!0),R.$slots["time-picker-overlay"]?j("",!0):(P(),W("div",{key:1,class:ke(R.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(P(!0),W(we,null,Ye(ne.value,(o,w)=>Ma((P(),De(Ji,Qe({key:w,ref_for:!0},{...R.$props,order:w,hours:o.hours,minutes:o.minutes,seconds:o.seconds,closeTimePickerBtn:I.value,disabledTimesConfig:e.disabledTimesConfig,disabled:w===0?d(h).fixedStart:d(h).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:U,"validate-time":(z,u)=>e.validateTime(z,ce(u,w,z)),"onUpdate:hours":z=>pe(ce(z,w,"hours")),"onUpdate:minutes":z=>g(ce(z,w,"minutes")),"onUpdate:seconds":z=>D(ce(z,w,"seconds")),onMounted:y,onOverlayClosed:H,onOverlayOpened:re,onAmPmChange:b[2]||(b[2]=z=>R.$emit("am-pm-change",z))}),je({_:2},[Ye(d(ie),(z,u)=>({name:z,fn:_e(le=>[ue(R.$slots,z,Qe({ref_for:!0},le))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Da,w===0?!0:ae.value]])),128))],2)),!R.timePicker&&!R.timePickerInline?Ma((P(),W("button",{key:2,ref_key:"closeTimePickerBtn",ref:I,type:"button",class:ke({...N.value,"dp--hidden-el":q.value}),"aria-label":(M=d(C))==null?void 0:M.closeTimePicker,tabindex:"0",onKeydown:b[3]||(b[3]=o=>d(et)(o,()=>F(!1))),onClick:b[4]||(b[4]=o=>F(!1))},[R.$slots["calendar-icon"]?ue(R.$slots,"calendar-icon",{key:0}):j("",!0),R.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))],42,as)),[[Da,!d(f)(R.hideNavigation,"time")]]):j("",!0)],2)],14,ts)):j("",!0)]}),_:3},8,["name","css"])])}}}),Rr=(e,t,n,a)=>{const{defaultedRange:r}=Se(e),l=(A,q)=>Array.isArray(t[A])?t[A][q]:t[A],i=A=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[A]:t.seconds:0,p=(A,q)=>A?q!==void 0?St(A,l("hours",q),l("minutes",q),i(q)):St(A,t.hours,t.minutes,i()):mr(Q(),i(q)),c=(A,q)=>{t[A]=q},C=G(()=>e.modelAuto&&r.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:r.value.enabled),m=(A,q)=>{const ae=Object.fromEntries(Object.keys(t).map(E=>E===A?[E,q]:[E,t[E]].slice()));if(C.value&&!r.value.disableTimeRangeValidation){const E=ne=>n.value?St(n.value[ne],ae.hours[ne],ae.minutes[ne],ae.seconds[ne]):null,B=ne=>vr(n.value[ne],0);return!(Me(E(0),E(1))&&(Kt(E(0),B(1))||pa(E(1),B(0))))}return!0},v=(A,q)=>{m(A,q)&&(c(A,q),a&&a())},h=A=>{v("hours",A)},k=A=>{v("minutes",A)},Y=A=>{v("seconds",A)},f=(A,q,ae,E)=>{q&&h(A),!q&&!ae&&k(A),ae&&Y(A),n.value&&E(n.value)},S=A=>{if(A){const q=Array.isArray(A),ae=q?[+A[0].hours,+A[1].hours]:+A.hours,E=q?[+A[0].minutes,+A[1].minutes]:+A.minutes,B=q?[+A[0].seconds,+A[1].seconds]:+A.seconds;c("hours",ae),c("minutes",E),e.enableSeconds&&c("seconds",B)}},I=(A,q)=>{const ae={hours:Array.isArray(t.hours)?t.hours[A]:t.hours,disabledArr:[]};return(q||q===0)&&(ae.hours=q),Array.isArray(e.disabledTimes)&&(ae.disabledArr=r.value.enabled&&Array.isArray(e.disabledTimes[A])?e.disabledTimes[A]:e.disabledTimes),ae},U=G(()=>(A,q)=>{var ae;if(Array.isArray(e.disabledTimes)){const{disabledArr:E,hours:B}=I(A,q),ne=E.filter(F=>+F.hours===B);return((ae=ne[0])==null?void 0:ae.minutes)==="*"?{hours:[B],minutes:void 0,seconds:void 0}:{hours:[],minutes:ne?.map(F=>+F.minutes)??[],seconds:ne?.map(F=>F.seconds?+F.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:c,updateHours:h,updateMinutes:k,updateSeconds:Y,getSetDateTime:p,updateTimeValues:f,getSecondsValue:i,assignStartTime:S,validateTime:m,disabledTimesConfig:U}},ns=(e,t)=>{const n=()=>{e.isTextInputDate&&q()},{modelValue:a,time:r}=ba(e,t,n),{defaultedStartTime:l,defaultedRange:i,defaultedTz:p}=Se(e),{updateTimeValues:c,getSetDateTime:C,setTime:m,assignStartTime:v,disabledTimesConfig:h,validateTime:k}=Rr(e,r,a,Y);function Y(){t("update-flow-step")}const f=E=>{const{hours:B,minutes:ne,seconds:F}=E;return{hours:+B,minutes:+ne,seconds:F?+F:0}},S=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const B=f(e.startTime[0]),ne=f(e.startTime[1]);return[Ce(Q(),B),Ce(Q(),ne)]}const E=f(e.startTime);return Ce(Q(),E)}return i.value.enabled?[null,null]:null},I=()=>{if(i.value.enabled){const[E,B]=S();a.value=[nt(C(E,0),p.value.timezone),nt(C(B,1),p.value.timezone)]}else a.value=nt(C(S()),p.value.timezone)},U=E=>Array.isArray(E)?[Ft(Q(E[0])),Ft(Q(E[1]))]:[Ft(E??Q())],A=(E,B,ne)=>{m("hours",E),m("minutes",B),m("seconds",e.enableSeconds?ne:0)},q=()=>{const[E,B]=U(a.value);return i.value.enabled?A([E.hours,B.hours],[E.minutes,B.minutes],[E.seconds,B.seconds]):A(E.hours,E.minutes,E.seconds)};Ke(()=>{if(!e.shadow)return v(l.value),a.value?q():I()});const ae=()=>{Array.isArray(a.value)?a.value=a.value.map((E,B)=>E&&C(E,B)):a.value=C(a.value),t("time-update")};return{modelValue:a,time:r,disabledTimesConfig:h,updateTime:(E,B=!0,ne=!1)=>{c(E,B,ne,ae)},validateTime:k}},rs=ze({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...yt},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=lt(l,"timePicker"),p=Z(null),{time:c,modelValue:C,disabledTimesConfig:m,updateTime:v,validateTime:h}=ns(r,a);return Ke(()=>{r.shadow||a("mount",null)}),t({getSidebarProps:()=>({modelValue:C,time:c,updateTime:v}),toggleTimePicker:(k,Y=!1,f="")=>{var S;(S=p.value)==null||S.toggleTimePicker(k,Y,f)}}),(k,Y)=>(P(),De(Sa,{"multi-calendars":0,stretch:""},{default:_e(()=>[ot(Sr,Qe({ref_key:"tpRef",ref:p},k.$props,{hours:d(c).hours,minutes:d(c).minutes,seconds:d(c).seconds,"internal-model-value":k.internalModelValue,"disabled-times-config":d(m),"validate-time":d(h),"onUpdate:hours":Y[0]||(Y[0]=f=>d(v)(f)),"onUpdate:minutes":Y[1]||(Y[1]=f=>d(v)(f,!1)),"onUpdate:seconds":Y[2]||(Y[2]=f=>d(v)(f,!1,!0)),onAmPmChange:Y[3]||(Y[3]=f=>k.$emit("am-pm-change",f)),onResetFlow:Y[4]||(Y[4]=f=>k.$emit("reset-flow")),onOverlayClosed:Y[5]||(Y[5]=f=>k.$emit("overlay-toggle",{open:!1,overlay:f})),onOverlayOpened:Y[6]||(Y[6]=f=>k.$emit("overlay-toggle",{open:!0,overlay:f}))}),je({_:2},[Ye(d(i),(f,S)=>({name:f,fn:_e(I=>[ue(k.$slots,f,We(at(I)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3}))}}),ls={class:"dp--header-wrap"},os={key:0,class:"dp__month_year_wrap"},is={key:0},ss={class:"dp__month_year_wrap"},us=["data-dp-element","aria-label","data-test","onClick","onKeydown"],ds=ze({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...yt},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTransitions:l,defaultedAriaLabels:i,defaultedMultiCalendars:p,defaultedFilters:c,defaultedConfig:C,defaultedHighlight:m,propDates:v,defaultedUI:h}=Se(r),{transitionName:k,showTransition:Y}=ga(l),{buildMatrix:f}=It(),{handleMonthYearChange:S,isDisabled:I,updateMonthYear:U}=Yi(r,a),{showLeftIcon:A,showRightIcon:q}=Ia(),ae=Z(!1),E=Z(!1),B=Z(!1),ne=Z([null,null,null,null]);Ke(()=>{a("mount")});const F=M=>({get:()=>r[M],set:o=>{const w=M===vt.month?vt.year:vt.month;a("update-month-year",{[M]:o,[w]:r[w]}),M===vt.month?H(!0):re(!0)}}),N=G(F(vt.month)),ie=G(F(vt.year)),ce=G(()=>M=>({month:r.month,year:r.year,items:M===vt.month?r.months:r.years,instance:r.instance,updateMonthYear:U,toggle:M===vt.month?H:re})),pe=G(()=>r.months.find(o=>o.value===r.month)||{text:"",value:0}),g=G(()=>Zt(r.months,M=>{const o=r.month===M.value,w=fa(M.value,wr(r.year,v.value.minDate),_r(r.year,v.value.maxDate))||c.value.months.includes(M.value),z=Tr(m.value,M.value,r.year);return{active:o,disabled:w,highlighted:z}})),D=G(()=>Zt(r.years,M=>{const o=r.year===M.value,w=fa(M.value,ea(v.value.minDate),ea(v.value.maxDate))||c.value.years.includes(M.value),z=Mn(m.value,M.value);return{active:o,disabled:w,highlighted:z}})),y=(M,o,w)=>{w!==void 0?M.value=w:M.value=!M.value,M.value?(B.value=!0,a("overlay-opened",o)):(B.value=!1,a("overlay-closed",o))},H=(M=!1,o)=>{R(M),y(ae,Xe.month,o)},re=(M=!1,o)=>{R(M),y(E,Xe.year,o)},R=M=>{M||a("reset-flow")},b=(M,o)=>{r.arrowNavigation&&(ne.value[o]=Fe(M),f(ne.value,"monthYear"))},oe=G(()=>{var M,o,w,z,u,le;return[{type:vt.month,index:1,toggle:H,modelValue:N.value,updateModelValue:fe=>N.value=fe,text:pe.value.text,showSelectionGrid:ae.value,items:g.value,ariaLabel:(M=i.value)==null?void 0:M.openMonthsOverlay,overlayLabel:((w=(o=i.value).monthPicker)==null?void 0:w.call(o,!0))??void 0},{type:vt.year,index:2,toggle:re,modelValue:ie.value,updateModelValue:fe=>ie.value=fe,text:br(r.year,r.locale),showSelectionGrid:E.value,items:D.value,ariaLabel:(z=i.value)==null?void 0:z.openYearsOverlay,overlayLabel:((le=(u=i.value).yearPicker)==null?void 0:le.call(u,!0))??void 0}]}),V=G(()=>r.disableYearSelect?[oe.value[0]]:r.yearFirst?[...oe.value].reverse():oe.value);return t({toggleMonthPicker:H,toggleYearPicker:re,handleMonthYearChange:S}),(M,o)=>{var w,z,u,le,fe,Ve;return P(),W("div",ls,[M.$slots["month-year"]?(P(),W("div",os,[ue(M.$slots,"month-year",We(at({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:d(U),handleMonthYearChange:d(S),instance:e.instance})))])):(P(),W(we,{key:1},[M.$slots["top-extra"]?(P(),W("div",is,[ue(M.$slots,"top-extra",{value:M.internalModelValue})])):j("",!0),ye("div",ss,[d(A)(d(p),e.instance)&&!M.vertical?(P(),De(da,{key:0,"aria-label":(w=d(i))==null?void 0:w.prevMonth,disabled:d(I)(!1),class:ke((z=d(h))==null?void 0:z.navBtnPrev),"el-name":"action-prev",onActivate:o[0]||(o[0]=T=>d(S)(!1,!0)),onSetRef:o[1]||(o[1]=T=>b(T,0))},{default:_e(()=>[M.$slots["arrow-left"]?ue(M.$slots,"arrow-left",{key:0}):j("",!0),M.$slots["arrow-left"]?j("",!0):(P(),De(d(fn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),ye("div",{class:ke(["dp__month_year_wrap",{dp__year_disable_select:M.disableYearSelect}])},[(P(!0),W(we,null,Ye(V.value,(T,K)=>(P(),W(we,{key:T.type},[ye("button",{ref_for:!0,ref:s=>b(s,K+1),type:"button","data-dp-element":`overlay-${T.type}`,class:ke(["dp__btn dp__month_year_select",{"dp--hidden-el":B.value}]),"aria-label":`${T.text}-${T.ariaLabel}`,"data-test":`${T.type}-toggle-overlay-${e.instance}`,onClick:T.toggle,onKeydown:s=>d(et)(s,()=>T.toggle(),!0)},[M.$slots[T.type]?ue(M.$slots,T.type,{key:0,text:T.text,value:r[T.type]}):j("",!0),M.$slots[T.type]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(T.text),1)],64))],42,us),ot(ta,{name:d(k)(T.showSelectionGrid),css:d(Y)},{default:_e(()=>[T.showSelectionGrid?(P(),De(ya,{key:0,items:T.items,"arrow-navigation":M.arrowNavigation,"hide-navigation":M.hideNavigation,"is-last":M.autoApply&&!d(C).keepActionRow,"skip-button-ref":!1,config:M.config,type:T.type,"header-refs":[],"esc-close":M.escClose,"menu-wrap-ref":M.menuWrapRef,"text-input":M.textInput,"aria-labels":M.ariaLabels,"overlay-label":T.overlayLabel,onSelected:T.updateModelValue,onToggle:T.toggle},je({"button-icon":_e(()=>[M.$slots["calendar-icon"]?ue(M.$slots,"calendar-icon",{key:0}):j("",!0),M.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))]),_:2},[M.$slots[`${T.type}-overlay-value`]?{name:"item",fn:_e(({item:s})=>[ue(M.$slots,`${T.type}-overlay-value`,{text:s.text,value:s.value})]),key:"0"}:void 0,M.$slots[`${T.type}-overlay`]?{name:"overlay",fn:_e(()=>[ue(M.$slots,`${T.type}-overlay`,Qe({ref_for:!0},ce.value(T.type)))]),key:"1"}:void 0,M.$slots[`${T.type}-overlay-header`]?{name:"header",fn:_e(()=>[ue(M.$slots,`${T.type}-overlay-header`,{toggle:T.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):j("",!0)]),_:2},1032,["name","css"])],64))),128))],2),d(A)(d(p),e.instance)&&M.vertical?(P(),De(da,{key:1,"aria-label":(u=d(i))==null?void 0:u.prevMonth,"el-name":"action-prev",disabled:d(I)(!1),class:ke((le=d(h))==null?void 0:le.navBtnPrev),onActivate:o[2]||(o[2]=T=>d(S)(!1,!0))},{default:_e(()=>[M.$slots["arrow-up"]?ue(M.$slots,"arrow-up",{key:0}):j("",!0),M.$slots["arrow-up"]?j("",!0):(P(),De(d(gn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),d(q)(d(p),e.instance)?(P(),De(da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:d(I)(!0),"aria-label":(fe=d(i))==null?void 0:fe.nextMonth,class:ke((Ve=d(h))==null?void 0:Ve.navBtnNext),onActivate:o[3]||(o[3]=T=>d(S)(!0,!0)),onSetRef:o[4]||(o[4]=T=>b(T,M.disableYearSelect?2:3))},{default:_e(()=>[M.$slots[M.vertical?"arrow-down":"arrow-right"]?ue(M.$slots,M.vertical?"arrow-down":"arrow-right",{key:0}):j("",!0),M.$slots[M.vertical?"arrow-down":"arrow-right"]?j("",!0):(P(),De(Oa(M.vertical?d(bn):d(hn)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):j("",!0)])],64))])}}}),cs={class:"dp__calendar_header",role:"row"},vs={key:0,class:"dp__calendar_header_item",role:"gridcell"},ms=["aria-label"],ps={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},fs={class:"dp__cell_inner"},hs=["id","aria-pressed","aria-disabled","aria-label","tabindex","data-test","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],ys=ze({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...yt},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMultiLevelMatrix:l}=It(),{defaultedTransitions:i,defaultedConfig:p,defaultedAriaLabels:c,defaultedMultiCalendars:C,defaultedWeekNumbers:m,defaultedMultiDates:v,defaultedUI:h}=Se(r),k=Z(null),Y=Z({bottom:"",left:"",transform:""}),f=Z([]),S=Z(null),I=Z(!0),U=Z(""),A=Z({startX:0,endX:0,startY:0,endY:0}),q=Z([]),ae=Z({left:"50%"}),E=Z(!1),B=G(()=>r.calendar?r.calendar(r.mappedDates):r.mappedDates),ne=G(()=>r.dayNames?Array.isArray(r.dayNames)?r.dayNames:r.dayNames(r.locale,+r.weekStart):ei(r.formatLocale,r.locale,+r.weekStart));Ke(()=>{a("mount",{cmp:"calendar",refs:f}),p.value.noSwipe||S.value&&(S.value.addEventListener("touchstart",b,{passive:!1}),S.value.addEventListener("touchend",oe,{passive:!1}),S.value.addEventListener("touchmove",V,{passive:!1})),r.monthChangeOnScroll&&S.value&&S.value.addEventListener("wheel",w,{passive:!1})});const F=T=>T?r.vertical?"vNext":"next":r.vertical?"vPrevious":"previous",N=(T,K)=>{if(r.transitions){const s=tt(Mt(Q(),r.month,r.year));U.value=Ne(tt(Mt(Q(),T,K)),s)?i.value[F(!0)]:i.value[F(!1)],I.value=!1,it(()=>{I.value=!0})}},ie=G(()=>({...h.value.calendar??{}})),ce=G(()=>T=>{const K=ai(T);return{dp__marker_dot:K.type==="dot",dp__marker_line:K.type==="line"}}),pe=G(()=>T=>Me(T,k.value)),g=G(()=>({dp__calendar:!0,dp__calendar_next:C.value.count>0&&r.instance!==0})),D=G(()=>T=>r.hideOffsetDates?T.current:!0),y=async(T,K)=>{const{width:s,height:L}=T.getBoundingClientRect();k.value=K.value;let J={left:`${s/2}px`},$=-50;if(await it(),q.value[0]){const{left:ge,width:x}=q.value[0].getBoundingClientRect();ge<0&&(J={left:"0"},$=0,ae.value.left=`${s/2}px`),window.innerWidth{var L,J,$;const ge=Fe(f.value[K][s]);ge&&((L=T.marker)!=null&&L.customPosition&&($=(J=T.marker)==null?void 0:J.tooltip)!=null&&$.length?Y.value=T.marker.customPosition(ge):await y(ge,T),a("tooltip-open",T.marker))},re=async(T,K,s)=>{var L,J;if(E.value&&v.value.enabled&&v.value.dragSelect)return a("select-date",T);a("set-hover-date",T),(J=(L=T.marker)==null?void 0:L.tooltip)!=null&&J.length&&await H(T,K,s)},R=T=>{k.value&&(k.value=null,Y.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),a("tooltip-close",T.marker))},b=T=>{A.value.startX=T.changedTouches[0].screenX,A.value.startY=T.changedTouches[0].screenY},oe=T=>{A.value.endX=T.changedTouches[0].screenX,A.value.endY=T.changedTouches[0].screenY,M()},V=T=>{r.vertical&&!r.inline&&T.preventDefault()},M=()=>{const T=r.vertical?"Y":"X";Math.abs(A.value[`start${T}`]-A.value[`end${T}`])>10&&a("handle-swipe",A.value[`start${T}`]>A.value[`end${T}`]?"right":"left")},o=(T,K,s)=>{T&&(Array.isArray(f.value[K])?f.value[K][s]=T:f.value[K]=[T]),r.arrowNavigation&&l(f.value,"calendar")},w=T=>{r.monthChangeOnScroll&&(T.preventDefault(),a("handle-scroll",T))},z=T=>m.value.type==="local"?vn(T.value,{weekStartsOn:+r.weekStart}):m.value.type==="iso"?dn(T.value):typeof m.value.type=="function"?m.value.type(T.value):"",u=T=>{const K=T[0];return m.value.hideOnOffsetDates?T.some(s=>s.current)?z(K):"":z(K)},le=(T,K,s=!0)=>{s&&Vn()||!s&&!Vn()||v.value.enabled||(Yt(T,p.value),a("select-date",K))},fe=T=>{Yt(T,p.value)},Ve=T=>{v.value.enabled&&v.value.dragSelect?(E.value=!0,a("select-date",T)):v.value.enabled&&a("select-date",T)};return t({triggerTransition:N}),(T,K)=>(P(),W("div",{class:ke(g.value)},[ye("div",{ref_key:"calendarWrapRef",ref:S,class:ke(ie.value),role:"grid"},[ye("div",cs,[T.weekNumbers?(P(),W("div",vs,Ge(T.weekNumName),1)):j("",!0),(P(!0),W(we,null,Ye(ne.value,(s,L)=>{var J,$;return P(),W("div",{key:L,class:"dp__calendar_header_item",role:"gridcell","data-test":"calendar-header","aria-label":($=(J=d(c))==null?void 0:J.weekDay)==null?void 0:$.call(J,L)},[T.$slots["calendar-header"]?ue(T.$slots,"calendar-header",{key:0,day:s,index:L}):j("",!0),T.$slots["calendar-header"]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(s),1)],64))],8,ms)}),128))]),K[2]||(K[2]=ye("div",{class:"dp__calendar_header_separator"},null,-1)),ot(ta,{name:U.value,css:!!T.transitions},{default:_e(()=>[I.value?(P(),W("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:K[1]||(K[1]=s=>E.value=!1)},[(P(!0),W(we,null,Ye(B.value,(s,L)=>(P(),W("div",{key:L,class:"dp__calendar_row",role:"row"},[T.weekNumbers?(P(),W("div",ps,[ye("div",fs,Ge(u(s.days)),1)])):j("",!0),(P(!0),W(we,null,Ye(s.days,(J,$)=>{var ge,x,X;return P(),W("div",{id:d(Pr)(J.value),ref_for:!0,ref:de=>o(de,L,$),key:$+L,role:"gridcell",class:"dp__calendar_item","aria-pressed":(J.classData.dp__active_date||J.classData.dp__range_start||J.classData.dp__range_start)??void 0,"aria-disabled":J.classData.dp__cell_disabled||void 0,"aria-label":(x=(ge=d(c))==null?void 0:ge.day)==null?void 0:x.call(ge,J),tabindex:!J.current&&T.hideOffsetDates?void 0:0,"data-test":J.value,onClick:va(de=>le(de,J),["prevent"]),onTouchend:de=>le(de,J,!1),onKeydown:de=>d(et)(de,()=>T.$emit("select-date",J)),onMouseenter:de=>re(J,L,$),onMouseleave:de=>R(J),onMousedown:de=>Ve(J),onMouseup:K[0]||(K[0]=de=>E.value=!1)},[ye("div",{class:ke(["dp__cell_inner",J.classData])},[T.$slots.day&&D.value(J)?ue(T.$slots,"day",{key:0,day:+J.text,date:J.value}):j("",!0),T.$slots.day?j("",!0):(P(),W(we,{key:1},[Dt(Ge(J.text),1)],64)),J.marker&&D.value(J)?(P(),W(we,{key:2},[T.$slots.marker?ue(T.$slots,"marker",{key:0,marker:J.marker,day:+J.text,date:J.value}):(P(),W("div",{key:1,class:ke(ce.value(J.marker)),style:dt(J.marker.color?{backgroundColor:J.marker.color}:{})},null,6))],64)):j("",!0),pe.value(J.value)?(P(),W("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:q,class:"dp__marker_tooltip",style:dt(Y.value)},[(X=J.marker)!=null&&X.tooltip?(P(),W("div",{key:0,class:"dp__tooltip_content",onClick:fe},[(P(!0),W(we,null,Ye(J.marker.tooltip,(de,be)=>(P(),W("div",{key:be,class:"dp__tooltip_text"},[T.$slots["marker-tooltip"]?ue(T.$slots,"marker-tooltip",{key:0,tooltip:de,day:J.value}):j("",!0),T.$slots["marker-tooltip"]?j("",!0):(P(),W(we,{key:1},[ye("div",{class:"dp__tooltip_mark",style:dt(de.color?{backgroundColor:de.color}:{})},null,4),ye("div",null,Ge(de.text),1)],64))]))),128)),ye("div",{class:"dp__arrow_bottom_tp",style:dt(ae.value)},null,4)])):j("",!0)],4)):j("",!0)],2)],40,hs)}),128))]))),128))],32)):j("",!0)]),_:3},8,["name","css"])],2)],2))}}),zn=e=>Array.isArray(e),gs=(e,t,n,a)=>{const r=Z([]),l=Z(new Date),i=Z(),p=()=>b(e.isTextInputDate),{modelValue:c,calendars:C,time:m,today:v}=ba(e,t,p),{defaultedMultiCalendars:h,defaultedStartTime:k,defaultedRange:Y,defaultedConfig:f,defaultedTz:S,propDates:I,defaultedMultiDates:U}=Se(e),{validateMonthYearInRange:A,isDisabled:q,isDateRangeAllowed:ae,checkMinMaxRange:E}=Et(e),{updateTimeValues:B,getSetDateTime:ne,setTime:F,assignStartTime:N,validateTime:ie,disabledTimesConfig:ce}=Rr(e,m,c,a),pe=G(()=>_=>C.value[_]?C.value[_].month:0),g=G(()=>_=>C.value[_]?C.value[_].year:0),D=_=>!f.value.keepViewOnOffsetClick||_?!0:!i.value,y=(_,te,O,ee=!1)=>{var se,Je;D(ee)&&(C.value[_]||(C.value[_]={month:0,year:0}),C.value[_].month=Hn(te)?(se=C.value[_])==null?void 0:se.month:te,C.value[_].year=Hn(O)?(Je=C.value[_])==null?void 0:Je.year:O)},H=()=>{e.autoApply&&t("select-date")};Ke(()=>{e.shadow||(c.value||(T(),k.value&&N(k.value)),b(!0),e.focusStartDate&&e.startDate&&T())});const re=G(()=>{var _;return(_=e.flow)!=null&&_.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),R=()=>{e.autoApply&&re.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},b=(_=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,u(_)):M(c.value,_);if(h.value.count&&_&&!e.startDate)return V(Q(),_)},oe=()=>Array.isArray(c.value)&&Y.value.enabled?xe(c.value[0])===xe(c.value[1]??c.value[0]):!1,V=(_=new Date,te=!1)=>{if((!h.value.count||!h.value.static||te)&&y(0,xe(_),he(_)),h.value.count&&(!h.value.solo||!c.value||oe()))for(let O=1;O{V(_),F("hours",Tt(_)),F("minutes",Rt(_)),F("seconds",jt(_)),h.value.count&&te&&Ve()},o=_=>{if(h.value.count){if(h.value.solo)return 0;const te=xe(_[0]),O=xe(_[1]);return Math.abs(O-te){_[1]&&Y.value.showLastInRange?V(_[o(_)],te):V(_[0],te);const O=(ee,se)=>[ee(_[0]),_[1]?ee(_[1]):m[se][1]];F("hours",O(Tt,"hours")),F("minutes",O(Rt,"minutes")),F("seconds",O(jt,"seconds"))},z=(_,te)=>{if((Y.value.enabled||e.weekPicker)&&!U.value.enabled)return w(_,te);if(U.value.enabled&&te){const O=_[_.length-1];return M(O,te)}},u=_=>{const te=c.value;z(te,_),h.value.count&&h.value.solo&&Ve()},le=(_,te)=>{const O=Ce(Q(),{month:pe.value(te),year:g.value(te)}),ee=_<0?ft(O,1):Jt(O,1);A(xe(ee),he(ee),_<0,e.preventMinMaxNavigation)&&(y(te,xe(ee),he(ee)),t("update-month-year",{instance:te,month:xe(ee),year:he(ee)}),h.value.count&&!h.value.solo&&fe(te),n())},fe=_=>{for(let te=_-1;te>=0;te--){const O=Jt(Ce(Q(),{month:pe.value(te+1),year:g.value(te+1)}),1);y(te,xe(O),he(O))}for(let te=_+1;te<=h.value.count-1;te++){const O=ft(Ce(Q(),{month:pe.value(te-1),year:g.value(te-1)}),1);y(te,xe(O),he(O))}},Ve=()=>{if(Array.isArray(c.value)&&c.value.length===2){const _=Q(Q(c.value[1]?c.value[1]:ft(c.value[0],1))),[te,O]=[xe(c.value[0]),he(c.value[0])],[ee,se]=[xe(c.value[1]),he(c.value[1])];(te!==ee||te===ee&&O!==se)&&h.value.solo&&y(1,xe(_),he(_))}else c.value&&!Array.isArray(c.value)&&(y(0,xe(c.value),he(c.value)),V(Q()))},T=()=>{e.startDate&&(y(0,xe(Q(e.startDate)),he(Q(e.startDate))),h.value.count&&fe(0))},K=(_,te)=>{if(e.monthChangeOnScroll){const O=new Date().getTime()-l.value.getTime(),ee=Math.abs(_.deltaY);let se=500;ee>1&&(se=100),ee>100&&(se=0),O>se&&(l.value=new Date,le(e.monthChangeOnScroll!=="inverse"?-_.deltaY:_.deltaY,te))}},s=(_,te,O=!1)=>{e.monthChangeOnArrows&&e.vertical===O&&L(_,te)},L=(_,te)=>{le(_==="right"?-1:1,te)},J=_=>{if(I.value.markers)return Aa(_.value,I.value.markers)},$=(_,te)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[_==0,!0];case"fair":return[_==0||te>_,!0];case"append":return[!1,!1];default:return[!1,!1]}},ge=(_,te,O,ee)=>{if(e.sixWeeks&&_.length<6){const se=6-_.length,Je=(te.getDay()+7-ee)%7,ut=6-(O.getDay()+7-ee)%7,[Bt,_a]=$(Je,ut);for(let la=1;la<=se;la++)if(_a?!!(la%2)==Bt:Bt){const At=_[0].days[0],qa=x(mt(At.value,-7),xe(te));_.unshift({days:qa})}else{const At=_[_.length-1],qa=At.days[At.days.length-1],Er=x(mt(qa.value,1),xe(te));_.push({days:Er})}}return _},x=(_,te)=>{const O=Q(_),ee=[];for(let se=0;se<7;se++){const Je=mt(O,se),ut=xe(Je)!==te;ee.push({text:e.hideOffsetDates&&ut?"":Je.getDate(),value:Je,current:!ut,classData:{}})}return ee},X=(_,te)=>{const O=[],ee=new Date(te,_),se=new Date(te,_+1,0),Je=e.weekStart,ut=ht(ee,{weekStartsOn:Je}),Bt=_a=>{const la=x(_a,_);if(O.push({days:la}),!O[O.length-1].days.some(At=>Me(tt(At.value),tt(se)))){const At=mt(_a,7);Bt(At)}};return Bt(ut),ge(O,ee,se,Je)},de=_=>{const te=St(Q(_.value),m.hours,m.minutes,rt());t("date-update",te),U.value.enabled?Dn(te,c,U.value.limit):c.value=te,a(),it().then(()=>{R()})},be=_=>Y.value.noDisabledRange?kr(r.value[0],_).some(te=>q(te)):!1,st=()=>{r.value=c.value?c.value.slice():[],r.value.length===2&&!(Y.value.fixedStart||Y.value.fixedEnd)&&(r.value=[])},me=(_,te)=>{const O=[Q(_.value),mt(Q(_.value),+Y.value.autoRange)];ae(O)?(te&&Pt(_.value),r.value=O):t("invalid-date",_.value)},Pt=_=>{const te=xe(Q(_)),O=he(Q(_));if(y(0,te,O),h.value.count>0)for(let ee=1;ee{if(be(_.value)||!E(_.value,c.value,Y.value.fixedStart?0:1))return t("invalid-date",_.value);r.value=$r(Q(_.value),c,t,Y)},na=(_,te)=>{if(st(),Y.value.autoRange)return me(_,te);if(Y.value.fixedStart||Y.value.fixedEnd)return gt(_);r.value[0]?E(Q(_.value),c.value)&&!be(_.value)?Ie(Q(_.value),Q(r.value[0]))?(r.value.unshift(Q(_.value)),t("range-end",r.value[0])):(r.value[1]=Q(_.value),t("range-end",r.value[1])):(e.autoApply&&t("auto-apply-invalid",_.value),t("invalid-date",_.value)):(r.value[0]=Q(_.value),t("range-start",r.value[0]))},rt=(_=!0)=>e.enableSeconds?Array.isArray(m.seconds)?_?m.seconds[0]:m.seconds[1]:m.seconds:0,ra=_=>{r.value[_]=St(r.value[_],m.hours[_],m.minutes[_],rt(_!==1))},Ea=()=>{var _,te;r.value[0]&&r.value[1]&&+((_=r.value)==null?void 0:_[0])>+((te=r.value)==null?void 0:te[1])&&(r.value.reverse(),t("range-start",r.value[0]),t("range-end",r.value[1]))},wa=()=>{r.value.length&&(r.value[0]&&!r.value[1]?ra(0):(ra(0),ra(1),a()),Ea(),c.value=r.value.slice(),Ra(r.value,t,e.autoApply,e.modelAuto))},Ba=(_,te=!1)=>{if(q(_.value)||!_.current&&e.hideOffsetDates)return t("invalid-date",_.value);if(i.value=JSON.parse(JSON.stringify(_)),!Y.value.enabled)return de(_);zn(m.hours)&&zn(m.minutes)&&!U.value.enabled&&(na(_,te),wa())},Na=(_,te)=>{var O;y(_,te.month,te.year,!0),h.value.count&&!h.value.solo&&fe(_),t("update-month-year",{instance:_,month:te.month,year:te.year}),n(h.value.solo?_:void 0);const ee=(O=e.flow)!=null&&O.length?e.flow[e.flowStep]:void 0;!te.fromNav&&(ee===Xe.month||ee===Xe.year)&&a()},La=(_,te)=>{Or({value:_,modelValue:c,range:Y.value.enabled,timezone:te?void 0:S.value.timezone}),H(),e.multiCalendars&&it().then(()=>b(!0))},Ha=()=>{const _=wn(Q(),S.value);Y.value.enabled?c.value&&Array.isArray(c.value)&&c.value[0]?c.value=Ie(_,c.value[0])?[_,c.value[0]]:[c.value[0],_]:c.value=[_]:c.value=_,H()},Va=()=>{if(Array.isArray(c.value))if(U.value.enabled){const _=Fa();c.value[c.value.length-1]=ne(_)}else c.value=c.value.map((_,te)=>_&&ne(_,te));else c.value=ne(c.value);t("time-update")},Fa=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null;return{calendars:C,modelValue:c,month:pe,year:g,time:m,disabledTimesConfig:ce,today:v,validateTime:ie,getCalendarDays:X,getMarker:J,handleScroll:K,handleSwipe:L,handleArrow:s,selectDate:Ba,updateMonthYear:Na,presetDate:La,selectCurrentDate:Ha,updateTime:(_,te=!0,O=!1)=>{B(_,te,O,Va)},assignMonthAndYear:V}},bs={key:0},ws=ze({__name:"DatePicker",props:{...yt},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,{calendars:l,month:i,year:p,modelValue:c,time:C,disabledTimesConfig:m,today:v,validateTime:h,getCalendarDays:k,getMarker:Y,handleArrow:f,handleScroll:S,handleSwipe:I,selectDate:U,updateMonthYear:A,presetDate:q,selectCurrentDate:ae,updateTime:E,assignMonthAndYear:B}=gs(r,a,oe,V),ne=qt(),{setHoverDate:F,getDayClassData:N,clearHoverDate:ie}=Is(c,r),{defaultedMultiCalendars:ce}=Se(r),pe=Z([]),g=Z([]),D=Z(null),y=lt(ne,"calendar"),H=lt(ne,"monthYear"),re=lt(ne,"timePicker"),R=K=>{r.shadow||a("mount",K)};ct(l,()=>{r.shadow||setTimeout(()=>{a("recalculate-position")},0)},{deep:!0}),ct(ce,(K,s)=>{K.count-s.count>0&&B()},{deep:!0});const b=G(()=>K=>k(i.value(K),p.value(K)).map(s=>({...s,days:s.days.map(L=>(L.marker=Y(L),L.classData=N(L),L))})));function oe(K){var s;K||K===0?(s=g.value[K])==null||s.triggerTransition(i.value(K),p.value(K)):g.value.forEach((L,J)=>L.triggerTransition(i.value(J),p.value(J)))}function V(){a("update-flow-step")}const M=(K,s=!1)=>{U(K,s),r.spaceConfirm&&a("select-date")},o=(K,s,L=0)=>{var J;(J=pe.value[L])==null||J.toggleMonthPicker(K,s)},w=(K,s,L=0)=>{var J;(J=pe.value[L])==null||J.toggleYearPicker(K,s)},z=(K,s,L)=>{var J;(J=D.value)==null||J.toggleTimePicker(K,s,L)},u=(K,s)=>{var L;if(!r.range){const J=c.value?c.value:v,$=s?new Date(s):J,ge=K?ht($,{weekStartsOn:1}):ar($,{weekStartsOn:1});U({value:ge,current:xe($)===i.value(0),text:"",classData:{}}),(L=document.getElementById(Pr(ge)))==null||L.focus()}},le=K=>{var s;(s=pe.value[0])==null||s.handleMonthYearChange(K,!0)},fe=K=>{A(0,{month:i.value(0),year:p.value(0)+(K?1:-1),fromNav:!0})},Ve=(K,s)=>{K===Xe.time&&a(`time-picker-${s?"open":"close"}`),a("overlay-toggle",{open:s,overlay:K})},T=K=>{a("overlay-toggle",{open:!1,overlay:K}),a("focus-menu")};return t({clearHoverDate:ie,presetDate:q,selectCurrentDate:ae,toggleMonthPicker:o,toggleYearPicker:w,toggleTimePicker:z,handleArrow:f,updateMonthYear:A,getSidebarProps:()=>({modelValue:c,month:i,year:p,time:C,updateTime:E,updateMonthYear:A,selectDate:U,presetDate:q}),changeMonth:le,changeYear:fe,selectWeekDate:u}),(K,s)=>(P(),W(we,null,[ot(Sa,{"multi-calendars":d(ce).count,collapse:K.collapse},{default:_e(({instance:L,index:J})=>[K.disableMonthYearSelect?j("",!0):(P(),De(ds,Qe({key:0,ref:$=>{$&&(pe.value[J]=$)},months:d(hr)(K.formatLocale,K.locale,K.monthNameFormat),years:d(_n)(K.yearRange,K.locale,K.reverseYears),month:d(i)(L),year:d(p)(L),instance:L},K.$props,{onMount:s[0]||(s[0]=$=>R(d(Vt).header)),onResetFlow:s[1]||(s[1]=$=>K.$emit("reset-flow")),onUpdateMonthYear:$=>d(A)(L,$),onOverlayClosed:T,onOverlayOpened:s[2]||(s[2]=$=>K.$emit("overlay-toggle",{open:!0,overlay:$}))}),je({_:2},[Ye(d(H),($,ge)=>({name:$,fn:_e(x=>[ue(K.$slots,$,We(at(x)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),ot(ys,Qe({ref:$=>{$&&(g.value[J]=$)},"mapped-dates":b.value(L),month:d(i)(L),year:d(p)(L),instance:L},K.$props,{onSelectDate:$=>d(U)($,L!==1),onHandleSpace:$=>M($,L!==1),onSetHoverDate:s[3]||(s[3]=$=>d(F)($)),onHandleScroll:$=>d(S)($,L),onHandleSwipe:$=>d(I)($,L),onMount:s[4]||(s[4]=$=>R(d(Vt).calendar)),onResetFlow:s[5]||(s[5]=$=>K.$emit("reset-flow")),onTooltipOpen:s[6]||(s[6]=$=>K.$emit("tooltip-open",$)),onTooltipClose:s[7]||(s[7]=$=>K.$emit("tooltip-close",$))}),je({_:2},[Ye(d(y),($,ge)=>({name:$,fn:_e(x=>[ue(K.$slots,$,We(at({...x})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse"]),K.enableTimePicker?(P(),W("div",bs,[K.$slots["time-picker"]?ue(K.$slots,"time-picker",We(Qe({key:0},{time:d(C),updateTime:d(E)}))):(P(),De(Sr,Qe({key:1,ref_key:"timePickerRef",ref:D},K.$props,{hours:d(C).hours,minutes:d(C).minutes,seconds:d(C).seconds,"internal-model-value":K.internalModelValue,"disabled-times-config":d(m),"validate-time":d(h),onMount:s[8]||(s[8]=L=>R(d(Vt).timePicker)),"onUpdate:hours":s[9]||(s[9]=L=>d(E)(L)),"onUpdate:minutes":s[10]||(s[10]=L=>d(E)(L,!1)),"onUpdate:seconds":s[11]||(s[11]=L=>d(E)(L,!1,!0)),onResetFlow:s[12]||(s[12]=L=>K.$emit("reset-flow")),onOverlayClosed:s[13]||(s[13]=L=>Ve(L,!1)),onOverlayOpened:s[14]||(s[14]=L=>Ve(L,!0)),onAmPmChange:s[15]||(s[15]=L=>K.$emit("am-pm-change",L))}),je({_:2},[Ye(d(re),(L,J)=>({name:L,fn:_e($=>[ue(K.$slots,L,We(at($)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):j("",!0)],64))}}),_s=(e,t)=>{const n=Z(),{defaultedMultiCalendars:a,defaultedConfig:r,defaultedHighlight:l,defaultedRange:i,propDates:p,defaultedFilters:c,defaultedMultiDates:C}=Se(e),{modelValue:m,year:v,month:h,calendars:k}=ba(e,t),{isDisabled:Y}=Et(e),{selectYear:f,groupedYears:S,showYearPicker:I,isDisabled:U,toggleYearPicker:A,handleYearSelect:q,handleYear:ae}=Yr({modelValue:m,multiCalendars:a,range:i,highlight:l,calendars:k,propDates:p,month:h,year:v,filters:c,props:e,emit:t}),E=(D,y)=>[D,y].map(H=>kt(H,"MMMM",{locale:e.formatLocale})).join("-"),B=G(()=>D=>m.value?Array.isArray(m.value)?m.value.some(y=>Bn(D,y)):Bn(m.value,D):!1),ne=D=>{if(i.value.enabled){if(Array.isArray(m.value)){const y=Me(D,m.value[0])||Me(D,m.value[1]);return $a(m.value,n.value,D)&&!y}return!1}return!1},F=(D,y)=>D.quarter===$n(y)&&D.year===he(y),N=D=>typeof l.value=="function"?l.value({quarter:$n(D),year:he(D)}):!!l.value.quarters.find(y=>F(y,D)),ie=G(()=>D=>{const y=Ce(new Date,{year:v.value(D)});return el({start:ma(y),end:tr(y)}).map(H=>{const re=Ht(H),R=Yn(H),b=Y(H),oe=ne(re),V=N(re);return{text:E(re,R),value:re,active:B.value(re),highlighted:V,disabled:b,isBetween:oe}})}),ce=D=>{Dn(D,m,C.value.limit),t("auto-apply",!0)},pe=D=>{m.value=Tn(m,D,t),Ra(m.value,t,e.autoApply,e.modelAuto)},g=D=>{m.value=D,t("auto-apply")};return{defaultedConfig:r,defaultedMultiCalendars:a,groupedYears:S,year:v,isDisabled:U,quarters:ie,showYearPicker:I,modelValue:m,setHoverDate:D=>{n.value=D},selectYear:f,selectQuarter:(D,y,H)=>{if(!H)return k.value[y].month=xe(Yn(D)),C.value.enabled?ce(D):i.value.enabled?pe(D):g(D)},toggleYearPicker:A,handleYearSelect:q,handleYear:ae}},ks={class:"dp--quarter-items"},xs=["data-test","disabled","onClick","onMouseover"],Ms=ze({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...yt},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=lt(l,"yearMode"),{defaultedMultiCalendars:p,defaultedConfig:c,groupedYears:C,year:m,isDisabled:v,quarters:h,modelValue:k,showYearPicker:Y,setHoverDate:f,selectQuarter:S,toggleYearPicker:I,handleYearSelect:U,handleYear:A}=_s(r,a);return t({getSidebarProps:()=>({modelValue:k,year:m,selectQuarter:S,handleYearSelect:U,handleYear:A})}),(q,ae)=>(P(),De(Sa,{"multi-calendars":d(p).count,collapse:q.collapse,stretch:""},{default:_e(({instance:E})=>[ye("div",{class:"dp-quarter-picker-wrap",style:dt({minHeight:`${d(c).modeHeight}px`})},[q.$slots["top-extra"]?ue(q.$slots,"top-extra",{key:0,value:q.internalModelValue}):j("",!0),ye("div",null,[ot(Cr,Qe(q.$props,{items:d(C)(E),instance:E,"show-year-picker":d(Y)[E],year:d(m)(E),"is-disabled":B=>d(v)(E,B),onHandleYear:B=>d(A)(E,B),onYearSelect:B=>d(U)(B,E),onToggleYearPicker:B=>d(I)(E,B?.flow,B?.show)}),je({_:2},[Ye(d(i),(B,ne)=>({name:B,fn:_e(F=>[ue(q.$slots,B,We(at(F)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),ye("div",ks,[(P(!0),W(we,null,Ye(d(h)(E),(B,ne)=>(P(),W("div",{key:ne},[ye("button",{type:"button",class:ke(["dp--qr-btn",{"dp--qr-btn-active":B.active,"dp--qr-btn-between":B.isBetween,"dp--qr-btn-disabled":B.disabled,"dp--highlighted":B.highlighted}]),"data-test":B.value,disabled:B.disabled,onClick:F=>d(S)(B.value,E,B.disabled),onMouseover:F=>d(f)(B.value)},[q.$slots.quarter?ue(q.$slots,"quarter",{key:0,value:B.value,text:B.text}):(P(),W(we,{key:1},[Dt(Ge(B.text),1)],64))],42,xs)]))),128))])],4)]),_:3},8,["multi-calendars","collapse"]))}}),Ds=["id","tabindex","role","aria-label"],Ts={key:0,class:"dp--menu-load-container"},Ps={key:1,class:"dp--menu-header"},As={key:0,class:"dp__sidebar_left"},Cs=["data-test","onClick","onKeydown"],Os={key:2,class:"dp__sidebar_right"},$s={key:3,class:"dp__action_extra"},Un=ze({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...Ya,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=Z(null),i=G(()=>{const{openOnTop:x,...X}=r;return{...X,flowStep:F.value,collapse:r.collapse,noOverlayFocus:r.noOverlayFocus,menuWrapRef:l.value}}),{setMenuFocused:p,setShiftKey:c,control:C}=Ar(),m=qt(),{defaultedTextInput:v,defaultedInline:h,defaultedConfig:k,defaultedUI:Y}=Se(r),f=Z(null),S=Z(0),I=Z(null),U=Z(!1),A=Z(null);Ke(()=>{if(!r.shadow){U.value=!0,q(),window.addEventListener("resize",q);const x=Fe(l);if(x&&!v.value.enabled&&!h.value.enabled&&(p(!0),y()),x){const X=de=>{k.value.allowPreventDefault&&de.preventDefault(),Yt(de,k.value,!0)};x.addEventListener("pointerdown",X),x.addEventListener("mousedown",X)}}}),Ca(()=>{window.removeEventListener("resize",q)});const q=()=>{const x=Fe(I);x&&(S.value=x.getBoundingClientRect().width)},{arrowRight:ae,arrowLeft:E,arrowDown:B,arrowUp:ne}=It(),{flowStep:F,updateFlowStep:N,childMount:ie,resetFlow:ce,handleFlow:pe}=Es(r,a,A),g=G(()=>r.monthPicker?qi:r.yearPicker?Qi:r.timePicker?rs:r.quarterPicker?Ms:ws),D=G(()=>{var x;if(k.value.arrowLeft)return k.value.arrowLeft;const X=(x=l.value)==null?void 0:x.getBoundingClientRect(),de=r.getInputRect();return de?.width=(X?.right??0)&&de?.width{const x=Fe(l);x&&x.focus({preventScroll:!0})},H=G(()=>{var x;return((x=A.value)==null?void 0:x.getSidebarProps())||{}}),re=()=>{r.openOnTop&&a("recalculate-position")},R=lt(m,"action"),b=G(()=>r.monthPicker||r.yearPicker?lt(m,"monthYear"):r.timePicker?lt(m,"timePicker"):lt(m,"shared")),oe=G(()=>r.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),V=G(()=>({dp__menu_disabled:r.disabled,dp__menu_readonly:r.readonly,"dp-menu-loading":r.loading})),M=G(()=>({dp__menu:!0,dp__menu_index:!h.value.enabled,dp__relative:h.value.enabled,...Y.value.menu??{}})),o=x=>{Yt(x,k.value,!0)},w=()=>{r.escClose&&a("close-picker")},z=x=>{if(r.arrowNavigation){if(x===Ze.up)return ne();if(x===Ze.down)return B();if(x===Ze.left)return E();if(x===Ze.right)return ae()}else x===Ze.left||x===Ze.up?T("handleArrow",Ze.left,0,x===Ze.up):T("handleArrow",Ze.right,0,x===Ze.down)},u=x=>{c(x.shiftKey),!r.disableMonthYearSelect&&x.code===$e.tab&&x.target.classList.contains("dp__menu")&&C.value.shiftKeyInMenu&&(x.preventDefault(),Yt(x,k.value,!0),a("close-picker"))},le=()=>{y(),a("time-picker-close")},fe=x=>{var X,de,be;(X=A.value)==null||X.toggleTimePicker(!1,!1),(de=A.value)==null||de.toggleMonthPicker(!1,!1,x),(be=A.value)==null||be.toggleYearPicker(!1,!1,x)},Ve=(x,X=0)=>{var de,be,st;return x==="month"?(de=A.value)==null?void 0:de.toggleMonthPicker(!1,!0,X):x==="year"?(be=A.value)==null?void 0:be.toggleYearPicker(!1,!0,X):x==="time"?(st=A.value)==null?void 0:st.toggleTimePicker(!0,!1):fe(X)},T=(x,...X)=>{var de,be;(de=A.value)!=null&&de[x]&&((be=A.value)==null||be[x](...X))},K=()=>{T("selectCurrentDate")},s=(x,X)=>{T("presetDate",x,X)},L=()=>{T("clearHoverDate")},J=(x,X)=>{T("updateMonthYear",x,X)},$=(x,X)=>{x.preventDefault(),z(X)},ge=x=>{var X,de,be;if(u(x),x.key===$e.home||x.key===$e.end)return T("selectWeekDate",x.key===$e.home,x.target.getAttribute("id"));switch((x.key===$e.pageUp||x.key===$e.pageDown)&&(x.shiftKey?(T("changeYear",x.key===$e.pageUp),(X=on(l.value,"overlay-year"))==null||X.focus()):(T("changeMonth",x.key===$e.pageUp),(de=on(l.value,x.key===$e.pageUp?"action-prev":"action-next"))==null||de.focus()),x.target.getAttribute("id")&&((be=l.value)==null||be.focus({preventScroll:!0}))),x.key){case $e.esc:return w();case $e.arrowLeft:return $(x,Ze.left);case $e.arrowRight:return $(x,Ze.right);case $e.arrowUp:return $(x,Ze.up);case $e.arrowDown:return $(x,Ze.down);default:return}};return t({updateMonthYear:J,switchView:Ve,handleFlow:pe}),(x,X)=>{var de,be,st;return P(),W("div",{id:x.uid?`dp-menu-${x.uid}`:void 0,ref_key:"dpMenuRef",ref:l,tabindex:d(h).enabled?void 0:"0",role:d(h).enabled?void 0:"dialog","aria-label":(de=x.ariaLabels)==null?void 0:de.menu,class:ke(M.value),style:dt({"--dp-arrow-left":D.value}),onMouseleave:L,onClick:o,onKeydown:ge},[(x.disabled||x.readonly)&&d(h).enabled||x.loading?(P(),W("div",{key:0,class:ke(V.value)},[x.loading?(P(),W("div",Ts,X[19]||(X[19]=[ye("span",{class:"dp--menu-loader"},null,-1)]))):j("",!0)],2)):j("",!0),x.$slots["menu-header"]?(P(),W("div",Ps,[ue(x.$slots,"menu-header")])):j("",!0),!d(h).enabled&&!x.teleportCenter?(P(),W("div",{key:2,class:ke(oe.value)},null,2)):j("",!0),ye("div",{ref_key:"innerMenuRef",ref:I,class:ke({dp__menu_content_wrapper:((be=x.presetDates)==null?void 0:be.length)||!!x.$slots["left-sidebar"]||!!x.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((st=x.presetDates)==null?void 0:st.length)||!!x.$slots["left-sidebar"]||!!x.$slots["right-sidebar"])}),style:dt({"--dp-menu-width":`${S.value}px`})},[x.$slots["left-sidebar"]?(P(),W("div",As,[ue(x.$slots,"left-sidebar",We(at(H.value)))])):j("",!0),x.presetDates.length?(P(),W("div",{key:1,class:ke({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0})},[(P(!0),W(we,null,Ye(x.presetDates,(me,Pt)=>(P(),W(we,{key:Pt},[me.slot?ue(x.$slots,me.slot,{key:0,presetDate:s,label:me.label,value:me.value}):(P(),W("button",{key:1,type:"button",style:dt(me.style||{}),class:ke(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test":me.testId??void 0,onClick:va(gt=>s(me.value,me.noTz),["prevent"]),onKeydown:gt=>d(et)(gt,()=>s(me.value,me.noTz),!0)},Ge(me.label),47,Cs))],64))),128))],2)):j("",!0),ye("div",{ref_key:"calendarWrapperRef",ref:f,class:"dp__instance_calendar",role:"document"},[(P(),De(Oa(g.value),Qe({ref_key:"dynCmpRef",ref:A},i.value,{"flow-step":d(F),onMount:d(ie),onUpdateFlowStep:d(N),onResetFlow:d(ce),onFocusMenu:y,onSelectDate:X[0]||(X[0]=me=>x.$emit("select-date")),onDateUpdate:X[1]||(X[1]=me=>x.$emit("date-update",me)),onTooltipOpen:X[2]||(X[2]=me=>x.$emit("tooltip-open",me)),onTooltipClose:X[3]||(X[3]=me=>x.$emit("tooltip-close",me)),onAutoApply:X[4]||(X[4]=me=>x.$emit("auto-apply",me)),onRangeStart:X[5]||(X[5]=me=>x.$emit("range-start",me)),onRangeEnd:X[6]||(X[6]=me=>x.$emit("range-end",me)),onInvalidFixedRange:X[7]||(X[7]=me=>x.$emit("invalid-fixed-range",me)),onTimeUpdate:X[8]||(X[8]=me=>x.$emit("time-update")),onAmPmChange:X[9]||(X[9]=me=>x.$emit("am-pm-change",me)),onTimePickerOpen:X[10]||(X[10]=me=>x.$emit("time-picker-open",me)),onTimePickerClose:le,onRecalculatePosition:re,onUpdateMonthYear:X[11]||(X[11]=me=>x.$emit("update-month-year",me)),onAutoApplyInvalid:X[12]||(X[12]=me=>x.$emit("auto-apply-invalid",me)),onInvalidDate:X[13]||(X[13]=me=>x.$emit("invalid-date",me)),onOverlayToggle:X[14]||(X[14]=me=>x.$emit("overlay-toggle",me)),"onUpdate:internalModelValue":X[15]||(X[15]=me=>x.$emit("update:internal-model-value",me))}),je({_:2},[Ye(b.value,(me,Pt)=>({name:me,fn:_e(gt=>[ue(x.$slots,me,We(at({...gt})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),x.$slots["right-sidebar"]?(P(),W("div",Os,[ue(x.$slots,"right-sidebar",We(at(H.value)))])):j("",!0),x.$slots["action-extra"]?(P(),W("div",$s,[x.$slots["action-extra"]?ue(x.$slots,"action-extra",{key:0,selectCurrentDate:K}):j("",!0)])):j("",!0)],6),!x.autoApply||d(k).keepActionRow?(P(),De(Ii,Qe({key:3,"menu-mount":U.value},i.value,{"calendar-width":S.value,onClosePicker:X[16]||(X[16]=me=>x.$emit("close-picker")),onSelectDate:X[17]||(X[17]=me=>x.$emit("select-date")),onInvalidSelect:X[18]||(X[18]=me=>x.$emit("invalid-select")),onSelectNow:K}),je({_:2},[Ye(d(R),(me,Pt)=>({name:me,fn:_e(gt=>[ue(x.$slots,me,We(at({...gt})))])}))]),1040,["menu-mount","calendar-width"])):j("",!0)],46,Ds)}}});var Ut=(e=>(e.center="center",e.left="left",e.right="right",e))(Ut||{});const Ys=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:a,inline:r,emit:l,props:i,slots:p})=>{const{defaultedConfig:c}=Se(i),C=Z({}),m=Z(!1),v=Z({top:"0",left:"0"}),h=Z(!1),k=ca(i,"teleportCenter");ct(k,()=>{v.value=JSON.parse(JSON.stringify({})),ae()});const Y=y=>{if(i.teleport){const H=y.getBoundingClientRect();return{left:H.left+window.scrollX,top:H.top+window.scrollY}}return{top:0,left:0}},f=(y,H)=>{v.value.left=`${y+H-C.value.width}px`},S=y=>{v.value.left=`${y}px`},I=(y,H)=>{i.position===Ut.left&&S(y),i.position===Ut.right&&f(y,H),i.position===Ut.center&&(v.value.left=`${y+H/2-C.value.width/2}px`)},U=y=>{const{width:H,height:re}=y.getBoundingClientRect(),{top:R,left:b}=i.altPosition?i.altPosition(y):Y(y);return{top:+R,left:+b,width:H,height:re}},A=()=>{v.value.left="50%",v.value.top="50%",v.value.transform="translate(-50%, -50%)",v.value.position="fixed",delete v.value.opacity},q=()=>{const y=Fe(n),{top:H,left:re,transform:R}=i.altPosition(y);v.value={top:`${H}px`,left:`${re}px`,transform:R??""}},ae=(y=!0)=>{var H;if(!r.value.enabled){if(k.value)return A();if(i.altPosition!==null)return q();if(y){const re=i.teleport?(H=t.value)==null?void 0:H.$el:e.value;re&&(C.value=re.getBoundingClientRect()),l("recalculate-position")}return ce()}},E=({inputEl:y,left:H,width:re})=>{window.screen.width>768&&!m.value&&I(H,re),F(y)},B=y=>{const{top:H,left:re,height:R,width:b}=U(y);v.value.top=`${R+H+ +i.offset}px`,h.value=!1,m.value||(v.value.left=`${re+b/2-C.value.width/2}px`),E({inputEl:y,left:re,width:b})},ne=y=>{const{top:H,left:re,width:R}=U(y);v.value.top=`${H-+i.offset-C.value.height}px`,h.value=!0,E({inputEl:y,left:re,width:R})},F=y=>{if(i.autoPosition){const{left:H,width:re}=U(y),{left:R,right:b}=C.value;if(!m.value){if(Math.abs(R)!==Math.abs(b)){if(R<=0)return m.value=!0,S(H);if(b>=document.documentElement.clientWidth)return m.value=!0,f(H,re)}return I(H,re)}}},N=()=>{const y=Fe(n);if(y){const{height:H}=C.value,{top:re,height:R}=y.getBoundingClientRect(),b=window.innerHeight-re-R,oe=re;return H<=b?Lt.bottom:H>b&&H<=oe?Lt.top:b>=oe?Lt.bottom:Lt.top}return Lt.bottom},ie=y=>N()===Lt.bottom?B(y):ne(y),ce=()=>{const y=Fe(n);if(y)return i.autoPosition?ie(y):B(y)},pe=function(y){if(y){const H=y.scrollHeight>y.clientHeight,re=window.getComputedStyle(y).overflowY.indexOf("hidden")!==-1;return H&&!re}return!0},g=function(y){return!y||y===document.body||y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:pe(y)?y:g(y.assignedSlot&&c.value.shadowDom?y.assignedSlot.parentNode:y.parentNode)},D=y=>{if(y)switch(i.position){case Ut.left:return{left:0,transform:"translateX(0)"};case Ut.right:return{left:`${y.width}px`,transform:"translateX(-100%)"};default:return{left:`${y.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:h,menuStyle:v,xCorrect:m,setMenuPosition:ae,getScrollableParent:g,shadowRender:(y,H)=>{var re,R,b;const oe=document.createElement("div"),V=(re=Fe(n))==null?void 0:re.getBoundingClientRect();oe.setAttribute("id","dp--temp-container");const M=(R=a.value)!=null&&R.clientWidth?a.value:document.body;M.append(oe);const o=D(V),w=c.value.shadowDom?Object.keys(p).filter(u=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(u)):Object.keys(p),z=Nr(y,{...H,shadow:!0,style:{opacity:0,position:"absolute",...o}},Object.fromEntries(w.map(u=>[u,p[u]])));An(z,oe),C.value=(b=z.el)==null?void 0:b.getBoundingClientRect(),An(null,oe),M.removeChild(oe)}}},Ot=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],Ss=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],Rs={all:()=>Ot,monthYear:()=>Ot.filter(e=>e.use.includes("month-year")),input:()=>Ss,timePicker:()=>Ot.filter(e=>e.use.includes("time")),action:()=>Ot.filter(e=>e.use.includes("action")),calendar:()=>Ot.filter(e=>e.use.includes("calendar")),menu:()=>Ot.filter(e=>e.use.includes("menu")),shared:()=>Ot.filter(e=>e.use.includes("shared")),yearMode:()=>Ot.filter(e=>e.use.includes("year-mode"))},lt=(e,t,n)=>{const a=[];return Rs[t]().forEach(r=>{e[r.name]&&a.push(r.name)}),n!=null&&n.length&&n.forEach(r=>{r.slot&&a.push(r.slot)}),a},ga=e=>{const t=G(()=>a=>e.value?a?e.value.open:e.value.close:""),n=G(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},ba=(e,t,n)=>{const{defaultedRange:a,defaultedTz:r}=Se(e),l=Q(nt(Q(),r.value.timezone)),i=Z([{month:xe(l),year:he(l)}]),p=h=>{const k={hours:Tt(l),minutes:Rt(l),seconds:0};return a.value.enabled?[k[h],k[h]]:k[h]},c=ha({hours:p("hours"),minutes:p("minutes"),seconds:p("seconds")});ct(a,(h,k)=>{h.enabled!==k.enabled&&(c.hours=p("hours"),c.minutes=p("minutes"),c.seconds=p("seconds"))},{deep:!0});const C=G({get:()=>e.internalModelValue,set:h=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",h)}}),m=G(()=>h=>i.value[h]?i.value[h].month:0),v=G(()=>h=>i.value[h]?i.value[h].year:0);return ct(C,(h,k)=>{n&&JSON.stringify(h??{})!==JSON.stringify(k??{})&&n()},{deep:!0}),{calendars:i,time:c,modelValue:C,month:m,year:v,today:l}},Is=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:a,defaultedUI:r,defaultedHighlight:l,defaultedTz:i,propDates:p,defaultedRange:c}=Se(t),{isDisabled:C}=Et(t),m=Z(null),v=Z(nt(new Date,i.value.timezone)),h=o=>{!o.current&&t.hideOffsetDates||(m.value=o.value)},k=()=>{m.value=null},Y=o=>Array.isArray(e.value)&&c.value.enabled&&e.value[0]&&m.value?o?Ne(m.value,e.value[0]):Ie(m.value,e.value[0]):!0,f=(o,w)=>{const z=()=>e.value?w?e.value[0]||null:e.value[1]:null,u=e.value&&Array.isArray(e.value)?z():null;return Me(Q(o.value),u)},S=o=>{const w=Array.isArray(e.value)?e.value[0]:null;return o?!Ie(m.value??null,w):!0},I=(o,w=!0)=>(c.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!o.current?!1:Me(Q(o.value),e.value[w?0:1]):c.value.enabled?f(o,w)&&S(w)||Me(o.value,Array.isArray(e.value)?e.value[0]:null)&&Y(w):!1,U=(o,w)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const z=Me(o.value,m.value);return w?Ne(e.value[0],o.value)&&z:Ie(e.value[0],o.value)&&z}return!1},A=o=>!e.value||t.hideOffsetDates&&!o.current?!1:c.value.enabled?t.modelAuto&&Array.isArray(e.value)?Me(o.value,e.value[0]?e.value[0]:v.value):!1:a.value.enabled&&Array.isArray(e.value)?e.value.some(w=>Me(w,o.value)):Me(o.value,e.value?e.value:v.value),q=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){if(t.hideOffsetDates&&!o.current)return!1;const w=mt(m.value,+c.value.autoRange),z=xt(Q(m.value),t.weekStart);return t.weekPicker?Me(z[1],Q(o.value)):Me(w,Q(o.value))}return!1}return!1},ae=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){const w=mt(m.value,+c.value.autoRange);if(t.hideOffsetDates&&!o.current)return!1;const z=xt(Q(m.value),t.weekStart);return t.weekPicker?Ne(o.value,z[0])&&Ie(o.value,z[1]):Ne(o.value,m.value)&&Ie(o.value,w)}return!1}return!1},E=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){if(t.hideOffsetDates&&!o.current)return!1;const w=xt(Q(m.value),t.weekStart);return t.weekPicker?Me(w[0],o.value):Me(m.value,o.value)}return!1}return!1},B=o=>$a(e.value,m.value,o.value),ne=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,F=()=>t.modelAuto?yr(t.internalModelValue):!0,N=o=>{if(t.weekPicker)return!1;const w=c.value.enabled?!I(o)&&!I(o,!1):!0;return!C(o.value)&&!A(o)&&!(!o.current&&t.hideOffsetDates)&&w},ie=o=>c.value.enabled?t.modelAuto?ne()&&A(o):!1:A(o),ce=o=>l.value?oi(o.value,p.value.highlight):!1,pe=o=>{const w=C(o.value);return w&&(typeof l.value=="function"?!l.value(o.value,w):!l.value.options.highlightDisabled)},g=o=>{var w;return typeof l.value=="function"?l.value(o.value):(w=l.value.weekdays)==null?void 0:w.includes(o.value.getDay())},D=o=>(c.value.enabled||t.weekPicker)&&(!(n.value.count>0)||o.current)&&F()&&!(!o.current&&t.hideOffsetDates)&&!A(o)?B(o):!1,y=o=>{const{isRangeStart:w,isRangeEnd:z}=b(o),u=c.value.enabled?w||z:!1;return{dp__cell_offset:!o.current,dp__pointer:!t.disabled&&!(!o.current&&t.hideOffsetDates)&&!C(o.value),dp__cell_disabled:C(o.value),dp__cell_highlight:!pe(o)&&(ce(o)||g(o))&&!ie(o)&&!u&&!E(o)&&!(D(o)&&t.weekPicker)&&!z,dp__cell_highlight_active:!pe(o)&&(ce(o)||g(o))&&ie(o),dp__today:!t.noToday&&Me(o.value,v.value)&&o.current,"dp--past":Ie(o.value,v.value),"dp--future":Ne(o.value,v.value)}},H=o=>({dp__active_date:ie(o),dp__date_hover:N(o)}),re=o=>{if(e.value&&!Array.isArray(e.value)){const w=xt(e.value,t.weekStart);return{...V(o),dp__range_start:Me(w[0],o.value),dp__range_end:Me(w[1],o.value),dp__range_between_week:Ne(o.value,w[0])&&Ie(o.value,w[1])}}return{...V(o)}},R=o=>{if(e.value&&Array.isArray(e.value)){const w=xt(e.value[0],t.weekStart),z=e.value[1]?xt(e.value[1],t.weekStart):[];return{...V(o),dp__range_start:Me(w[0],o.value)||Me(z[0],o.value),dp__range_end:Me(w[1],o.value)||Me(z[1],o.value),dp__range_between_week:Ne(o.value,w[0])&&Ie(o.value,w[1])||Ne(o.value,z[0])&&Ie(o.value,z[1]),dp__range_between:Ne(o.value,w[1])&&Ie(o.value,z[0])}}return{...V(o)}},b=o=>{const w=n.value.count>0?o.current&&I(o)&&F():I(o)&&F(),z=n.value.count>0?o.current&&I(o,!1)&&F():I(o,!1)&&F();return{isRangeStart:w,isRangeEnd:z}},oe=o=>{const{isRangeStart:w,isRangeEnd:z}=b(o);return{dp__range_start:w,dp__range_end:z,dp__range_between:D(o),dp__date_hover:Me(o.value,m.value)&&!w&&!z&&!t.weekPicker,dp__date_hover_start:U(o,!0),dp__date_hover_end:U(o,!1)}},V=o=>({...oe(o),dp__cell_auto_range:ae(o),dp__cell_auto_range_start:E(o),dp__cell_auto_range_end:q(o)}),M=o=>c.value.enabled?c.value.autoRange?V(o):t.modelAuto?{...H(o),...oe(o)}:t.weekPicker?R(o):oe(o):t.weekPicker?re(o):H(o);return{setHoverDate:h,clearHoverDate:k,getDayClassData:o=>t.hideOffsetDates&&!o.current?{}:{...y(o),...M(o),[t.dayClass?t.dayClass(o.value,t.internalModelValue):""]:!0,...r.value.calendarCell??{}}}},Et=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:a,defaultedMultiDates:r}=Se(e),l=g=>a.value.disabledDates?typeof a.value.disabledDates=="function"?a.value.disabledDates(Q(g)):!!Aa(g,a.value.disabledDates):!1,i=g=>a.value.maxDate?e.yearPicker?he(g)>he(a.value.maxDate):Ne(g,a.value.maxDate):!1,p=g=>a.value.minDate?e.yearPicker?he(g){const D=i(g),y=p(g),H=l(g),re=t.value.months.map(M=>+M).includes(xe(g)),R=e.disabledWeekDays.length?e.disabledWeekDays.some(M=>+M===Ul(g)):!1,b=k(g),oe=he(g),V=oe<+e.yearRange[0]||oe>+e.yearRange[1];return!(D||y||H||re||V||R||b)},C=(g,D)=>Ie(...$t(a.value.minDate,g,D))||Me(...$t(a.value.minDate,g,D)),m=(g,D)=>Ne(...$t(a.value.maxDate,g,D))||Me(...$t(a.value.maxDate,g,D)),v=(g,D,y)=>{let H=!1;return a.value.maxDate&&y&&m(g,D)&&(H=!0),a.value.minDate&&!y&&C(g,D)&&(H=!0),H},h=(g,D,y,H)=>{let re=!1;return H&&(a.value.minDate||a.value.maxDate)?a.value.minDate&&a.value.maxDate?re=v(g,D,y):(a.value.minDate&&C(g,D)||a.value.maxDate&&m(g,D))&&(re=!0):re=!0,re},k=g=>Array.isArray(a.value.allowedDates)&&!a.value.allowedDates.length?!0:a.value.allowedDates?!Aa(g,a.value.allowedDates):!1,Y=g=>!c(g),f=g=>n.value.noDisabledRange?!er({start:g[0],end:g[1]}).some(D=>Y(D)):!0,S=g=>{if(g){const D=he(g);return D>=+e.yearRange[0]&&D<=e.yearRange[1]}return!0},I=(g,D)=>!!(Array.isArray(g)&&g[D]&&(n.value.maxRange||n.value.minRange)&&S(g[D])),U=(g,D,y=0)=>{if(I(D,y)&&S(g)){const H=Jn(g,D[y]),re=kr(D[y],g),R=re.length===1?0:re.filter(oe=>Y(oe)).length,b=Math.abs(H)-(n.value.minMaxRawRange?0:R);if(n.value.minRange&&n.value.maxRange)return b>=+n.value.minRange&&b<=+n.value.maxRange;if(n.value.minRange)return b>=+n.value.minRange;if(n.value.maxRange)return b<=+n.value.maxRange}return!0},A=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,q=g=>Array.isArray(g)?[g[0]?Ga(g[0]):null,g[1]?Ga(g[1]):null]:Ga(g),ae=(g,D,y)=>g.find(H=>+H.hours===Tt(D)&&H.minutes==="*"?!0:+H.minutes===Rt(D)&&+H.hours===Tt(D))&&y,E=(g,D,y)=>{const[H,re]=g,[R,b]=D;return!ae(H,R,y)&&!ae(re,b,y)&&y},B=(g,D)=>{const y=Array.isArray(D)?D:[D];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?E(e.disabledTimes,y,g):!y.some(H=>ae(e.disabledTimes,H,g)):g},ne=(g,D)=>{const y=Array.isArray(D)?[Ft(D[0]),D[1]?Ft(D[1]):void 0]:Ft(D),H=!e.disabledTimes(y);return g&&H},F=(g,D)=>e.disabledTimes?Array.isArray(e.disabledTimes)?B(D,g):ne(D,g):D,N=g=>{let D=!0;if(!g||A())return!0;const y=!a.value.minDate&&!a.value.maxDate?q(g):g;return(e.maxTime||a.value.maxDate)&&(D=qn(e.maxTime,a.value.maxDate,"max",qe(y),D)),(e.minTime||a.value.minDate)&&(D=qn(e.minTime,a.value.minDate,"min",qe(y),D)),F(g,D)},ie=g=>{if(!e.monthPicker)return!0;let D=!0;const y=Q(pt(g));if(a.value.minDate&&a.value.maxDate){const H=Q(pt(a.value.minDate)),re=Q(pt(a.value.maxDate));return Ne(y,H)&&Ie(y,re)||Me(y,H)||Me(y,re)}if(a.value.minDate){const H=Q(pt(a.value.minDate));D=Ne(y,H)||Me(y,H)}if(a.value.maxDate){const H=Q(pt(a.value.maxDate));D=Ie(y,H)||Me(y,H)}return D},ce=G(()=>g=>!e.enableTimePicker||e.ignoreTimeValidation?!0:N(g)),pe=G(()=>g=>e.monthPicker?Array.isArray(g)&&(n.value.enabled||r.value.enabled)?!g.filter(D=>!ie(D)).length:ie(g):!0);return{isDisabled:Y,validateDate:c,validateMonthYearInRange:h,isDateRangeAllowed:f,checkMinMaxRange:U,isValidTime:N,isTimeValid:ce,isMonthValid:pe}},Ia=()=>{const e=G(()=>(a,r)=>a?.includes(r)),t=G(()=>(a,r)=>a.count?a.solo?!0:r===0:!0),n=G(()=>(a,r)=>a.count?a.solo?!0:r===a.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},Es=(e,t,n)=>{const a=Z(0),r=ha({[Vt.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[Vt.calendar]:!1,[Vt.header]:!1}),l=G(()=>e.monthPicker||e.timePicker),i=v=>{var h;if((h=e.flow)!=null&&h.length){if(!v&&l.value)return m();r[v]=!0,Object.keys(r).filter(k=>!r[k]).length||m()}},p=()=>{var v,h;(v=e.flow)!=null&&v.length&&a.value!==-1&&(a.value+=1,t("flow-step",a.value),m()),((h=e.flow)==null?void 0:h.length)===a.value&&it().then(()=>c())},c=()=>{a.value=-1},C=(v,h,...k)=>{var Y,f;e.flow[a.value]===v&&n.value&&((f=(Y=n.value)[h])==null||f.call(Y,...k))},m=(v=0)=>{v&&(a.value+=v),C(Xe.month,"toggleMonthPicker",!0),C(Xe.year,"toggleYearPicker",!0),C(Xe.calendar,"toggleTimePicker",!1,!0),C(Xe.time,"toggleTimePicker",!0,!0);const h=e.flow[a.value];(h===Xe.hours||h===Xe.minutes||h===Xe.seconds)&&C(h,"toggleTimePicker",!0,!0,h)};return{childMount:i,updateFlowStep:p,resetFlow:c,handleFlow:m,flowStep:a}},Bs={key:1,class:"dp__input_wrap"},Ns=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Ls={key:2,class:"dp--clear-btn"},Hs=["aria-label"],Vs=ze({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...Ya},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTextInput:l,defaultedAriaLabels:i,defaultedInline:p,defaultedConfig:c,defaultedRange:C,defaultedMultiDates:m,defaultedUI:v,getDefaultPattern:h,getDefaultStartTime:k}=Se(r),{checkMinMaxRange:Y}=Et(r),f=Z(),S=Z(null),I=Z(!1),U=Z(!1),A=G(()=>({dp__pointer:!r.disabled&&!r.readonly&&!l.value.enabled,dp__disabled:r.disabled,dp__input_readonly:!l.value.enabled,dp__input:!0,dp__input_icon_pad:!r.hideInputIcon,dp__input_valid:typeof r.state=="boolean"?r.state:!1,dp__input_invalid:typeof r.state=="boolean"?!r.state:!1,dp__input_focus:I.value||r.isMenuOpen,dp__input_reg:!l.value.enabled,...v.value.input??{}})),q=()=>{a("set-input-date",null),r.clearable&&r.autoApply&&(a("set-empty-date"),f.value=null)},ae=b=>{const oe=k();return ii(b,l.value.format??h(),oe??xr({},r.enableSeconds),r.inputValue,U.value,r.formatLocale)},E=b=>{const{rangeSeparator:oe}=l.value,[V,M]=b.split(`${oe}`);if(V){const o=ae(V.trim()),w=M?ae(M.trim()):null;if(Kt(o,w))return;const z=o&&w?[o,w]:[o];Y(w,z,0)&&(f.value=o?z:null)}},B=()=>{U.value=!0},ne=b=>{if(C.value.enabled)E(b);else if(m.value.enabled){const oe=b.split(";");f.value=oe.map(V=>ae(V.trim())).filter(V=>V)}else f.value=ae(b)},F=b=>{var oe;const V=typeof b=="string"?b:(oe=b.target)==null?void 0:oe.value;V!==""?(l.value.openMenu&&!r.isMenuOpen&&a("open"),ne(V),a("set-input-date",f.value)):q(),U.value=!1,a("update:input-value",V),a("text-input",b,f.value)},N=b=>{l.value.enabled?(ne(b.target.value),l.value.enterSubmit&&sn(f.value)&&r.inputValue!==""?(a("set-input-date",f.value,!0),f.value=null):l.value.enterSubmit&&r.inputValue===""&&(f.value=null,a("clear"))):pe(b)},ie=(b,oe)=>{l.value.enabled&&l.value.tabSubmit&&!oe&&ne(b.target.value),l.value.tabSubmit&&sn(f.value)&&r.inputValue!==""?(a("set-input-date",f.value,!0,!0),f.value=null):l.value.tabSubmit&&r.inputValue===""&&(f.value=null,a("clear",!0))},ce=()=>{I.value=!0,a("focus"),it().then(()=>{var b;l.value.enabled&&l.value.selectOnFocus&&((b=S.value)==null||b.select())})},pe=b=>{if(Yt(b,c.value,!0),l.value.enabled&&l.value.openMenu&&!p.value.input){if(l.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(l.value.openMenu==="toggle")return a("toggle")}else l.value.enabled||a("toggle")},g=()=>{a("real-blur"),I.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),r.autoApply&&l.value.enabled&&f.value&&!r.isMenuOpen&&(a("set-input-date",f.value),a("select-date"),f.value=null)},D=b=>{Yt(b,c.value,!0),a("clear")},y=b=>{if(b.key==="Tab"&&ie(b),b.key==="Enter"&&N(b),!l.value.enabled){if(b.code==="Tab")return;b.preventDefault()}},H=()=>{var b;(b=S.value)==null||b.focus({preventScroll:!0})},re=b=>{f.value=b},R=b=>{b.key===$e.tab&&ie(b,!0)};return t({focusInput:H,setParsedDate:re}),(b,oe)=>{var V,M,o;return P(),W("div",{onClick:pe},[b.$slots.trigger&&!b.$slots["dp-input"]&&!d(p).enabled?ue(b.$slots,"trigger",{key:0}):j("",!0),!b.$slots.trigger&&(!d(p).enabled||d(p).input)?(P(),W("div",Bs,[b.$slots["dp-input"]&&!b.$slots.trigger&&(!d(p).enabled||d(p).enabled&&d(p).input)?ue(b.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:F,onEnter:N,onTab:ie,onClear:D,onBlur:g,onKeypress:y,onPaste:B,onFocus:ce,openMenu:()=>b.$emit("open"),closeMenu:()=>b.$emit("close"),toggleMenu:()=>b.$emit("toggle")}):j("",!0),b.$slots["dp-input"]?j("",!0):(P(),W("input",{key:1,id:b.uid?`dp-input-${b.uid}`:void 0,ref_key:"inputRef",ref:S,"data-test":"dp-input",name:b.name,class:ke(A.value),inputmode:d(l).enabled?"text":"none",placeholder:b.placeholder,disabled:b.disabled,readonly:b.readonly,required:b.required,value:e.inputValue,autocomplete:b.autocomplete,"aria-label":(V=d(i))==null?void 0:V.input,"aria-disabled":b.disabled||void 0,"aria-invalid":b.state===!1?!0:void 0,onInput:F,onBlur:g,onFocus:ce,onKeypress:y,onKeydown:oe[0]||(oe[0]=w=>y(w)),onPaste:B},null,42,Ns)),ye("div",{onClick:oe[3]||(oe[3]=w=>a("toggle"))},[b.$slots["input-icon"]&&!b.hideInputIcon?(P(),W("span",{key:0,class:"dp__input_icon",onClick:oe[1]||(oe[1]=w=>a("toggle"))},[ue(b.$slots,"input-icon")])):j("",!0),!b.$slots["input-icon"]&&!b.hideInputIcon&&!b.$slots["dp-input"]?(P(),De(d(aa),{key:1,"aria-label":(M=d(i))==null?void 0:M.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:oe[2]||(oe[2]=w=>a("toggle"))},null,8,["aria-label"])):j("",!0)]),b.$slots["clear-icon"]&&e.inputValue&&b.clearable&&!b.disabled&&!b.readonly?(P(),W("span",Ls,[ue(b.$slots,"clear-icon",{clear:D})])):j("",!0),b.clearable&&!b.$slots["clear-icon"]&&e.inputValue&&!b.disabled&&!b.readonly?(P(),W("button",{key:3,"aria-label":(o=d(i))==null?void 0:o.clearInput,class:"dp--clear-btn",type:"button",onKeydown:oe[4]||(oe[4]=w=>d(et)(w,()=>D(w),!0,R)),onClick:oe[5]||(oe[5]=va(w=>D(w),["prevent"]))},[ot(d(fr),{class:"dp__input_icons","data-test":"clear-icon"})],40,Hs)):j("",!0)])):j("",!0)])}}}),Fs=typeof window<"u"?window:void 0,tn=()=>{},qs=e=>Fr()?(qr(e),!0):!1,Ws=(e,t,n,a)=>{if(!e)return tn;let r=tn;const l=ct(()=>d(e),p=>{r(),p&&(p.addEventListener(t,n,a),r=()=>{p.removeEventListener(t,n,a),r=tn})},{immediate:!0,flush:"post"}),i=()=>{l(),r()};return qs(i),i},Qs=(e,t,n,a={})=>{const{window:r=Fs,event:l="pointerdown"}=a;return r?Ws(r,l,i=>{const p=Fe(e),c=Fe(t);!p||!c||p===i.target||i.composedPath().includes(p)||i.composedPath().includes(c)||n(i)},{passive:!0}):void 0},zs=ze({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...Ya},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=Z(!1),p=ca(r,"modelValue"),c=ca(r,"timezone"),C=Z(null),m=Z(null),v=Z(null),h=Z(!1),k=Z(null),Y=Z(!1),f=Z(!1),S=Z(!1),I=Z(!1),{setMenuFocused:U,setShiftKey:A}=Ar(),{clearArrowNav:q}=It(),{validateDate:ae,isValidTime:E}=Et(r),{defaultedTransitions:B,defaultedTextInput:ne,defaultedInline:F,defaultedConfig:N,defaultedRange:ie,defaultedMultiDates:ce}=Se(r),{menuTransition:pe,showTransition:g}=ga(B);Ke(()=>{w(r.modelValue),it().then(()=>{if(!F.value.enabled){const O=oe(k.value);O?.addEventListener("scroll",J),window?.addEventListener("resize",$)}}),F.value.enabled&&(i.value=!0),window?.addEventListener("keyup",ge),window?.addEventListener("keydown",x)}),Ca(()=>{if(!F.value.enabled){const O=oe(k.value);O?.removeEventListener("scroll",J),window?.removeEventListener("resize",$)}window?.removeEventListener("keyup",ge),window?.removeEventListener("keydown",x)});const D=lt(l,"all",r.presetDates),y=lt(l,"input");ct([p,c],()=>{w(p.value)},{deep:!0});const{openOnTop:H,menuStyle:re,xCorrect:R,setMenuPosition:b,getScrollableParent:oe,shadowRender:V}=Ys({menuRef:C,menuRefInner:m,inputRef:v,pickerWrapperRef:k,inline:F,emit:a,props:r,slots:l}),{inputValue:M,internalModelValue:o,parseExternalModelValue:w,emitModelValue:z,formatInputValue:u,checkBeforeEmit:le}=$i(a,r,h),fe=G(()=>({dp__main:!0,dp__theme_dark:r.dark,dp__theme_light:!r.dark,dp__flex_display:F.value.enabled,"dp--flex-display-collapsed":S.value,dp__flex_display_with_input:F.value.input})),Ve=G(()=>r.dark?"dp__theme_dark":"dp__theme_light"),T=G(()=>r.teleport?{to:typeof r.teleport=="boolean"?"body":r.teleport,disabled:!r.teleport||F.value.enabled}:{}),K=G(()=>({class:"dp__outer_menu_wrap"})),s=G(()=>F.value.enabled&&(r.timePicker||r.monthPicker||r.yearPicker||r.quarterPicker)),L=()=>{var O,ee;return(ee=(O=v.value)==null?void 0:O.$el)==null?void 0:ee.getBoundingClientRect()},J=()=>{i.value&&(N.value.closeOnScroll?rt():b())},$=()=>{var O;i.value&&b();const ee=(O=m.value)==null?void 0:O.$el.getBoundingClientRect().width;S.value=document.body.offsetWidth<=ee},ge=O=>{O.key==="Tab"&&!F.value.enabled&&!r.teleport&&N.value.tabOutClosesMenu&&(k.value.contains(document.activeElement)||rt()),f.value=O.shiftKey},x=O=>{f.value=O.shiftKey},X=()=>{!r.disabled&&!r.readonly&&(V(Un,r),b(!1),i.value=!0,i.value&&a("open"),i.value||na(),w(r.modelValue))},de=()=>{var O;M.value="",na(),(O=v.value)==null||O.setParsedDate(null),a("update:model-value",null),a("update:model-timezone-value",null),a("cleared"),N.value.closeOnClearValue&&rt()},be=()=>{const O=o.value;return!O||!Array.isArray(O)&&ae(O)?!0:Array.isArray(O)?ce.value.enabled||O.length===2&&ae(O[0])&&ae(O[1])?!0:ie.value.partialRange&&!r.timePicker?ae(O[0]):!1:!1},st=()=>{le()&&be()?(z(),rt()):a("invalid-select",o.value)},me=O=>{Pt(),z(),N.value.closeOnAutoApply&&!O&&rt()},Pt=()=>{v.value&&ne.value.enabled&&v.value.setParsedDate(o.value)},gt=(O=!1)=>{r.autoApply&&E(o.value)&&be()&&(ie.value.enabled&&Array.isArray(o.value)?(ie.value.partialRange||o.value.length===2)&&me(O):me(O))},na=()=>{ne.value.enabled||(o.value=null)},rt=()=>{F.value.enabled||(i.value&&(i.value=!1,R.value=!1,U(!1),A(!1),q(),a("closed"),M.value&&w(p.value)),na(),a("blur"))},ra=(O,ee,se=!1)=>{if(!O){o.value=null;return}const Je=Array.isArray(O)?!O.some(Bt=>!ae(Bt)):ae(O),ut=E(O);Je&&ut?(I.value=!0,o.value=O,ee&&(Y.value=se,st(),a("text-submit")),it().then(()=>{I.value=!1})):a("invalid-date",O)},Ea=()=>{r.autoApply&&E(o.value)&&z(),Pt()},wa=()=>i.value?rt():X(),Ba=O=>{o.value=O},Na=()=>{ne.value.enabled&&(h.value=!0,u()),a("focus")},La=()=>{if(ne.value.enabled&&(h.value=!1,w(r.modelValue),Y.value)){const O=li(k.value,f.value);O?.focus()}a("blur")},Ha=O=>{m.value&&m.value.updateMonthYear(0,{month:Ln(O.month),year:Ln(O.year)})},Va=O=>{w(O??r.modelValue)},Fa=(O,ee)=>{var se;(se=m.value)==null||se.switchView(O,ee)},_=O=>N.value.onClickOutside?N.value.onClickOutside(O):rt(),te=(O=0)=>{var ee;(ee=m.value)==null||ee.handleFlow(O)};return Qs(C,v,()=>_(be)),t({closeMenu:rt,selectDate:st,clearValue:de,openMenu:X,onScroll:J,formatInputValue:u,updateInternalModelValue:Ba,setMonthYear:Ha,parseModel:Va,switchView:Fa,toggleMenu:wa,handleFlow:te,dpWrapMenuRef:C}),(O,ee)=>(P(),W("div",{ref_key:"pickerWrapperRef",ref:k,class:ke(fe.value),"data-datepicker-instance":""},[ot(Vs,Qe({ref_key:"inputRef",ref:v,"input-value":d(M),"onUpdate:inputValue":ee[0]||(ee[0]=se=>Pn(M)?M.value=se:null),"is-menu-open":i.value},O.$props,{onClear:de,onOpen:X,onSetInputDate:ra,onSetEmptyDate:d(z),onSelectDate:st,onToggle:wa,onClose:rt,onFocus:Na,onBlur:La,onRealBlur:ee[1]||(ee[1]=se=>h.value=!1),onTextInput:ee[2]||(ee[2]=se=>O.$emit("text-input",se))}),je({_:2},[Ye(d(y),(se,Je)=>({name:se,fn:_e(ut=>[ue(O.$slots,se,We(at(ut)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(P(),De(Oa(O.teleport?Br:"div"),We(at(T.value)),{default:_e(()=>[ot(ta,{name:d(pe)(d(H)),css:d(g)&&!d(F).enabled},{default:_e(()=>[i.value?(P(),W("div",Qe({key:0,ref_key:"dpWrapMenuRef",ref:C},K.value,{class:{"dp--menu-wrapper":!d(F).enabled},style:d(F).enabled?void 0:d(re)}),[ot(Un,Qe({ref_key:"dpMenuRef",ref:m},O.$props,{"internal-model-value":d(o),"onUpdate:internalModelValue":ee[3]||(ee[3]=se=>Pn(o)?o.value=se:null),class:{[Ve.value]:!0,"dp--menu-wrapper":O.teleport},"open-on-top":d(H),"no-overlay-focus":s.value,collapse:S.value,"get-input-rect":L,"is-text-input-date":I.value,onClosePicker:rt,onSelectDate:st,onAutoApply:gt,onTimeUpdate:Ea,onFlowStep:ee[4]||(ee[4]=se=>O.$emit("flow-step",se)),onUpdateMonthYear:ee[5]||(ee[5]=se=>O.$emit("update-month-year",se)),onInvalidSelect:ee[6]||(ee[6]=se=>O.$emit("invalid-select",d(o))),onAutoApplyInvalid:ee[7]||(ee[7]=se=>O.$emit("invalid-select",se)),onInvalidFixedRange:ee[8]||(ee[8]=se=>O.$emit("invalid-fixed-range",se)),onRecalculatePosition:d(b),onTooltipOpen:ee[9]||(ee[9]=se=>O.$emit("tooltip-open",se)),onTooltipClose:ee[10]||(ee[10]=se=>O.$emit("tooltip-close",se)),onTimePickerOpen:ee[11]||(ee[11]=se=>O.$emit("time-picker-open",se)),onTimePickerClose:ee[12]||(ee[12]=se=>O.$emit("time-picker-close",se)),onAmPmChange:ee[13]||(ee[13]=se=>O.$emit("am-pm-change",se)),onRangeStart:ee[14]||(ee[14]=se=>O.$emit("range-start",se)),onRangeEnd:ee[15]||(ee[15]=se=>O.$emit("range-end",se)),onDateUpdate:ee[16]||(ee[16]=se=>O.$emit("date-update",se)),onInvalidDate:ee[17]||(ee[17]=se=>O.$emit("invalid-date",se)),onOverlayToggle:ee[18]||(ee[18]=se=>O.$emit("overlay-toggle",se))}),je({_:2},[Ye(d(D),(se,Je)=>({name:se,fn:_e(ut=>[ue(O.$slots,se,We(at({...ut})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):j("",!0)]),_:3},8,["name","css"])]),_:3},16))],2))}}),Ir=(()=>{const e=zs;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),Us=Object.freeze(Object.defineProperty({__proto__:null,default:Ir},Symbol.toStringTag,{value:"Module"}));Object.entries(Us).forEach(([e,t])=>{e!=="default"&&(Ir[e]=t)});export{Ir as V}; +import{h as ha,r as Z,Q as ze,a7 as qt,a8 as ca,o as Ke,Z as it,X as Ca,I as ct,g as G,a as P,c as W,d as ot,a9 as je,k as Ye,w as _e,aa as ue,ab as We,ac as at,u as d,ad as Qe,ae as Pn,j as De,l as ta,e as j,z as Oa,af as Br,n as ke,b as ye,F as we,B as dt,a5 as va,t as Ge,U as Nr,ag as An,ah as Lr,f as Dt,ai as Hr,m as Ma,aj as Da,p as Vr,L as Fr,M as qr}from"./index-Bsy8tbGW.js";function ve(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Te(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function mt(e,t){const n=ve(e);return isNaN(t)?Te(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function ft(e,t){const n=ve(e);if(isNaN(t))return Te(e,NaN);if(!t)return n;const a=n.getDate(),r=Te(e,n.getTime());r.setMonth(n.getMonth()+t+1,0);const l=r.getDate();return a>=l?r:(n.setFullYear(r.getFullYear(),r.getMonth(),a),n)}function Xn(e,t){const{years:n=0,months:a=0,weeks:r=0,days:l=0,hours:i=0,minutes:p=0,seconds:c=0}=t,C=ve(e),m=a||n?ft(C,a+n*12):C,v=l||r?mt(m,l+r*7):m,h=p+i*60,Y=(c+h*60)*1e3;return Te(e,v.getTime()+Y)}function Wr(e,t){const n=+ve(e);return Te(e,n+t)}const Gn=6048e5,Qr=864e5,zr=6e4,jn=36e5,Ur=1e3;function Xr(e,t){return Wr(e,t*jn)}let Gr={};function Wt(){return Gr}function ht(e,t){const n=Wt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e),l=r.getDay(),i=(l=r.getTime()?n+1:t.getTime()>=i.getTime()?n:n-1}function Cn(e){const t=ve(e);return t.setHours(0,0,0,0),t}function Ta(e){const t=ve(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Jn(e,t){const n=Cn(e),a=Cn(t),r=+n-Ta(n),l=+a-Ta(a);return Math.round((r-l)/Qr)}function jr(e){const t=Kn(e),n=Te(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Gt(n)}function Kr(e,t){const n=t*3;return ft(e,n)}function un(e,t){return ft(e,t*12)}function On(e,t){const n=ve(e),a=ve(t),r=n.getTime()-a.getTime();return r<0?-1:r>0?1:r}function Zn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ua(e){if(!Zn(e)&&typeof e!="number")return!1;const t=ve(e);return!isNaN(Number(t))}function $n(e){const t=ve(e);return Math.trunc(t.getMonth()/3)+1}function Jr(e,t){const n=ve(e),a=ve(t);return n.getFullYear()-a.getFullYear()}function Zr(e,t){const n=ve(e),a=ve(t),r=On(n,a),l=Math.abs(Jr(n,a));n.setFullYear(1584),a.setFullYear(1584);const i=On(n,a)===-r,p=r*(l-+i);return p===0?0:p}function er(e,t){const n=ve(e.start),a=ve(e.end);let r=+n>+a;const l=r?+n:+a,i=r?a:n;i.setHours(0,0,0,0);let p=1;const c=[];for(;+i<=l;)c.push(ve(i)),i.setDate(i.getDate()+p),i.setHours(0,0,0,0);return r?c.reverse():c}function Ht(e){const t=ve(e),n=t.getMonth(),a=n-n%3;return t.setMonth(a,1),t.setHours(0,0,0,0),t}function el(e,t){const n=ve(e.start),a=ve(e.end);let r=+n>+a;const l=r?+Ht(n):+Ht(a);let i=Ht(r?a:n),p=1;const c=[];for(;+i<=l;)c.push(ve(i)),i=Kr(i,p);return r?c.reverse():c}function tl(e){const t=ve(e);return t.setDate(1),t.setHours(0,0,0,0),t}function tr(e){const t=ve(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function ma(e){const t=ve(e),n=Te(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ar(e,t){const n=Wt(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=ve(e),l=r.getDay(),i=(l{let a;const r=al[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function Wa(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const rl={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ll={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ol={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},il={date:Wa({formats:rl,defaultWidth:"full"}),time:Wa({formats:ll,defaultWidth:"full"}),dateTime:Wa({formats:ol,defaultWidth:"full"})},sl={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ul=(e,t,n,a)=>sl[e];function oa(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,p=n?.width?String(n.width):i;r=e.formattingValues[p]||e.formattingValues[i]}else{const i=e.defaultWidth,p=n?.width?String(n.width):e.defaultWidth;r=e.values[p]||e.values[i]}const l=e.argumentCallback?e.argumentCallback(t):t;return r[l]}}const dl={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},cl={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},vl={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ml={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},pl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},fl={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},hl=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},yl={ordinalNumber:hl,era:oa({values:dl,defaultWidth:"wide"}),quarter:oa({values:cl,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oa({values:vl,defaultWidth:"wide"}),day:oa({values:ml,defaultWidth:"wide"}),dayPeriod:oa({values:pl,defaultWidth:"wide",formattingValues:fl,defaultFormattingWidth:"wide"})};function ia(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],l=t.match(r);if(!l)return null;const i=l[0],p=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(p)?bl(p,v=>v.test(i)):gl(p,v=>v.test(i));let C;C=e.valueCallback?e.valueCallback(c):c,C=n.valueCallback?n.valueCallback(C):C;const m=t.slice(i.length);return{value:C,rest:m}}}function gl(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function bl(e,t){for(let n=0;n{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],l=t.match(e.parsePattern);if(!l)return null;let i=e.valueCallback?e.valueCallback(l[0]):l[0];i=n.valueCallback?n.valueCallback(i):i;const p=t.slice(r.length);return{value:i,rest:p}}}const _l=/^(\d+)(th|st|nd|rd)?/i,kl=/\d+/i,xl={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ml={any:[/^b/i,/^(a|c)/i]},Dl={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Tl={any:[/1/i,/2/i,/3/i,/4/i]},Pl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Al={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Cl={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ol={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},$l={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Yl={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Sl={ordinalNumber:wl({matchPattern:_l,parsePattern:kl,valueCallback:e=>parseInt(e,10)}),era:ia({matchPatterns:xl,defaultMatchWidth:"wide",parsePatterns:Ml,defaultParseWidth:"any"}),quarter:ia({matchPatterns:Dl,defaultMatchWidth:"wide",parsePatterns:Tl,defaultParseWidth:"any",valueCallback:e=>e+1}),month:ia({matchPatterns:Pl,defaultMatchWidth:"wide",parsePatterns:Al,defaultParseWidth:"any"}),day:ia({matchPatterns:Cl,defaultMatchWidth:"wide",parsePatterns:Ol,defaultParseWidth:"any"}),dayPeriod:ia({matchPatterns:$l,defaultMatchWidth:"any",parsePatterns:Yl,defaultParseWidth:"any"})},nr={code:"en-US",formatDistance:nl,formatLong:il,formatRelative:ul,localize:yl,match:Sl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Rl(e){const t=ve(e);return Jn(t,ma(t))+1}function dn(e){const t=ve(e),n=+Gt(t)-+jr(t);return Math.round(n/Gn)+1}function cn(e,t){const n=ve(e),a=n.getFullYear(),r=Wt(),l=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=Te(e,0);i.setFullYear(a+1,0,l),i.setHours(0,0,0,0);const p=ht(i,t),c=Te(e,0);c.setFullYear(a,0,l),c.setHours(0,0,0,0);const C=ht(c,t);return n.getTime()>=p.getTime()?a+1:n.getTime()>=C.getTime()?a:a-1}function Il(e,t){const n=Wt(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=cn(e,t),l=Te(e,0);return l.setFullYear(r,0,a),l.setHours(0,0,0,0),ht(l,t)}function vn(e,t){const n=ve(e),a=+ht(n,t)-+Il(n,t);return Math.round(a/Gn)+1}function Ae(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const Ct={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return Ae(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Ae(n+1,2)},d(e,t){return Ae(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Ae(e.getHours()%12||12,t.length)},H(e,t){return Ae(e.getHours(),t.length)},m(e,t){return Ae(e.getMinutes(),t.length)},s(e,t){return Ae(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return Ae(r,t.length)}},Qt={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Sn={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});case"GGGG":default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return Ct.y(e,t)},Y:function(e,t,n,a){const r=cn(e,a),l=r>0?r:1-r;if(t==="YY"){const i=l%100;return Ae(i,2)}return t==="Yo"?n.ordinalNumber(l,{unit:"year"}):Ae(l,t.length)},R:function(e,t){const n=Kn(e);return Ae(n,t.length)},u:function(e,t){const n=e.getFullYear();return Ae(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return Ae(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return Ae(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return Ct.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return Ae(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=vn(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):Ae(r,t.length)},I:function(e,t,n){const a=dn(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):Ae(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Ct.d(e,t)},D:function(e,t,n){const a=Rl(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):Ae(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});case"EEEE":default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),l=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(l);case"ee":return Ae(l,2);case"eo":return n.ordinalNumber(l,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});case"eeee":default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),l=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(l);case"cc":return Ae(l,t.length);case"co":return n.ordinalNumber(l,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});case"cccc":default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return Ae(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});case"iiii":default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Qt.noon:a===0?r=Qt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Qt.evening:a>=12?r=Qt.afternoon:a>=4?r=Qt.morning:r=Qt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return Ct.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ct.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):Ae(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):Ae(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Ct.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ct.s(e,t)},S:function(e,t){return Ct.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return In(a);case"XXXX":case"XX":return Nt(a);case"XXXXX":case"XXX":default:return Nt(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return In(a);case"xxxx":case"xx":return Nt(a);case"xxxxx":case"xxx":default:return Nt(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Rn(a,":");case"OOOO":default:return"GMT"+Nt(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Rn(a,":");case"zzzz":default:return"GMT"+Nt(a,":")}},t:function(e,t,n){const a=Math.trunc(e.getTime()/1e3);return Ae(a,t.length)},T:function(e,t,n){const a=e.getTime();return Ae(a,t.length)}};function Rn(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),l=a%60;return l===0?n+String(r):n+String(r)+t+Ae(l,2)}function In(e,t){return e%60===0?(e>0?"-":"+")+Ae(Math.abs(e)/60,2):Nt(e,t)}function Nt(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Ae(Math.trunc(a/60),2),l=Ae(a%60,2);return n+r+t+l}const En=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},rr=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},El=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return En(e,t);let l;switch(a){case"P":l=t.dateTime({width:"short"});break;case"PP":l=t.dateTime({width:"medium"});break;case"PPP":l=t.dateTime({width:"long"});break;case"PPPP":default:l=t.dateTime({width:"full"});break}return l.replace("{{date}}",En(a,t)).replace("{{time}}",rr(r,t))},an={p:rr,P:El},Bl=/^D+$/,Nl=/^Y+$/,Ll=["D","DD","YY","YYYY"];function lr(e){return Bl.test(e)}function or(e){return Nl.test(e)}function nn(e,t,n){const a=Hl(e,t,n);if(console.warn(a),Ll.includes(e))throw new RangeError(a)}function Hl(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Vl=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Fl=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ql=/^'([^]*?)'?$/,Wl=/''/g,Ql=/[a-zA-Z]/;function kt(e,t,n){const a=Wt(),r=n?.locale??a.locale??nr,l=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,p=ve(e);if(!ua(p))throw new RangeError("Invalid time value");let c=t.match(Fl).map(m=>{const v=m[0];if(v==="p"||v==="P"){const h=an[v];return h(m,r.formatLong)}return m}).join("").match(Vl).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const v=m[0];if(v==="'")return{isToken:!1,value:zl(m)};if(Sn[v])return{isToken:!0,value:m};if(v.match(Ql))throw new RangeError("Format string contains an unescaped latin alphabet character `"+v+"`");return{isToken:!1,value:m}});r.localize.preprocessor&&(c=r.localize.preprocessor(p,c));const C={firstWeekContainsDate:l,weekStartsOn:i,locale:r};return c.map(m=>{if(!m.isToken)return m.value;const v=m.value;(!n?.useAdditionalWeekYearTokens&&or(v)||!n?.useAdditionalDayOfYearTokens&&lr(v))&&nn(v,t,String(e));const h=Sn[v[0]];return h(p,v,r.localize,C)}).join("")}function zl(e){const t=e.match(ql);return t?t[1].replace(Wl,"'"):e}function Ul(e){return ve(e).getDay()}function Xl(e){const t=ve(e),n=t.getFullYear(),a=t.getMonth(),r=Te(e,0);return r.setFullYear(n,a+1,0),r.setHours(0,0,0,0),r.getDate()}function Gl(){return Object.assign({},Wt())}function Tt(e){return ve(e).getHours()}function jl(e){let n=ve(e).getDay();return n===0&&(n=7),n}function Rt(e){return ve(e).getMinutes()}function xe(e){return ve(e).getMonth()}function jt(e){return ve(e).getSeconds()}function he(e){return ve(e).getFullYear()}function Kt(e,t){const n=ve(e),a=ve(t);return n.getTime()>a.getTime()}function pa(e,t){const n=ve(e),a=ve(t);return+n<+a}function Xt(e,t){const n=ve(e),a=ve(t);return+n==+a}function Kl(e,t){const n=t instanceof Date?Te(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}const Jl=10;class ir{subPriority=0;validate(t,n){return!0}}class Zl extends ir{constructor(t,n,a,r,l){super(),this.value=t,this.validateValue=n,this.setValue=a,this.priority=r,l&&(this.subPriority=l)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,a){return this.setValue(t,n,this.value,a)}}class eo extends ir{priority=Jl;subPriority=-1;set(t,n){return n.timestampIsSet?t:Te(t,Kl(t,Date))}}class Pe{run(t,n,a,r){const l=this.parse(t,n,a,r);return l?{setter:new Zl(l.value,this.validate,this.set,this.priority,this.subPriority),rest:l.rest}:null}validate(t,n,a){return!0}}class to extends Pe{priority=140;parse(t,n,a){switch(n){case"G":case"GG":case"GGG":return a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"});case"GGGGG":return a.era(t,{width:"narrow"});case"GGGG":default:return a.era(t,{width:"wide"})||a.era(t,{width:"abbreviated"})||a.era(t,{width:"narrow"})}}set(t,n,a){return n.era=a,t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const Le={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},bt={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function He(e,t){return e&&{value:t(e.value),rest:e.rest}}function Re(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function wt(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const a=n[1]==="+"?1:-1,r=n[2]?parseInt(n[2],10):0,l=n[3]?parseInt(n[3],10):0,i=n[5]?parseInt(n[5],10):0;return{value:a*(r*jn+l*zr+i*Ur),rest:t.slice(n[0].length)}}function sr(e){return Re(Le.anyDigitsSigned,e)}function Ee(e,t){switch(e){case 1:return Re(Le.singleDigit,t);case 2:return Re(Le.twoDigits,t);case 3:return Re(Le.threeDigits,t);case 4:return Re(Le.fourDigits,t);default:return Re(new RegExp("^\\d{1,"+e+"}"),t)}}function Pa(e,t){switch(e){case 1:return Re(Le.singleDigitSigned,t);case 2:return Re(Le.twoDigitsSigned,t);case 3:return Re(Le.threeDigitsSigned,t);case 4:return Re(Le.fourDigitsSigned,t);default:return Re(new RegExp("^-?\\d{1,"+e+"}"),t)}}function mn(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function ur(e,t){const n=t>0,a=n?t:1-t;let r;if(a<=50)r=e||100;else{const l=a+50,i=Math.trunc(l/100)*100,p=e>=l%100;r=e+i-(p?100:0)}return n?r:1-r}function dr(e){return e%400===0||e%4===0&&e%100!==0}class ao extends Pe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,n,a){const r=l=>({year:l,isTwoDigitYear:n==="yy"});switch(n){case"y":return He(Ee(4,t),r);case"yo":return He(a.ordinalNumber(t,{unit:"year"}),r);default:return He(Ee(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a){const r=t.getFullYear();if(a.isTwoDigitYear){const i=ur(a.year,r);return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}const l=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(l,0,1),t.setHours(0,0,0,0),t}}class no extends Pe{priority=130;parse(t,n,a){const r=l=>({year:l,isTwoDigitYear:n==="YY"});switch(n){case"Y":return He(Ee(4,t),r);case"Yo":return He(a.ordinalNumber(t,{unit:"year"}),r);default:return He(Ee(n.length,t),r)}}validate(t,n){return n.isTwoDigitYear||n.year>0}set(t,n,a,r){const l=cn(t,r);if(a.isTwoDigitYear){const p=ur(a.year,l);return t.setFullYear(p,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ht(t,r)}const i=!("era"in n)||n.era===1?a.year:1-a.year;return t.setFullYear(i,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),ht(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ro extends Pe{priority=130;parse(t,n){return Pa(n==="R"?4:n.length,t)}set(t,n,a){const r=Te(t,0);return r.setFullYear(a,0,4),r.setHours(0,0,0,0),Gt(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class lo extends Pe{priority=130;parse(t,n){return Pa(n==="u"?4:n.length,t)}set(t,n,a){return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class oo extends Pe{priority=120;parse(t,n,a){switch(n){case"Q":case"QQ":return Ee(n.length,t);case"Qo":return a.ordinalNumber(t,{unit:"quarter"});case"QQQ":return a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(t,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(t,{width:"wide",context:"formatting"})||a.quarter(t,{width:"abbreviated",context:"formatting"})||a.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class io extends Pe{priority=120;parse(t,n,a){switch(n){case"q":case"qq":return Ee(n.length,t);case"qo":return a.ordinalNumber(t,{unit:"quarter"});case"qqq":return a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(t,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(t,{width:"wide",context:"standalone"})||a.quarter(t,{width:"abbreviated",context:"standalone"})||a.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=1&&n<=4}set(t,n,a){return t.setMonth((a-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class so extends Pe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,n,a){const r=l=>l-1;switch(n){case"M":return He(Re(Le.month,t),r);case"MM":return He(Ee(2,t),r);case"Mo":return He(a.ordinalNumber(t,{unit:"month"}),r);case"MMM":return a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(t,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(t,{width:"wide",context:"formatting"})||a.month(t,{width:"abbreviated",context:"formatting"})||a.month(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}}class uo extends Pe{priority=110;parse(t,n,a){const r=l=>l-1;switch(n){case"L":return He(Re(Le.month,t),r);case"LL":return He(Ee(2,t),r);case"Lo":return He(a.ordinalNumber(t,{unit:"month"}),r);case"LLL":return a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(t,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(t,{width:"wide",context:"standalone"})||a.month(t,{width:"abbreviated",context:"standalone"})||a.month(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.setMonth(a,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function co(e,t,n){const a=ve(e),r=vn(a,n)-t;return a.setDate(a.getDate()-r*7),a}class vo extends Pe{priority=100;parse(t,n,a){switch(n){case"w":return Re(Le.week,t);case"wo":return a.ordinalNumber(t,{unit:"week"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a,r){return ht(co(t,a,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function mo(e,t){const n=ve(e),a=dn(n)-t;return n.setDate(n.getDate()-a*7),n}class po extends Pe{priority=100;parse(t,n,a){switch(n){case"I":return Re(Le.week,t);case"Io":return a.ordinalNumber(t,{unit:"week"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=53}set(t,n,a){return Gt(mo(t,a))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const fo=[31,28,31,30,31,30,31,31,30,31,30,31],ho=[31,29,31,30,31,30,31,31,30,31,30,31];class yo extends Pe{priority=90;subPriority=1;parse(t,n,a){switch(n){case"d":return Re(Le.date,t);case"do":return a.ordinalNumber(t,{unit:"date"});default:return Ee(n.length,t)}}validate(t,n){const a=t.getFullYear(),r=dr(a),l=t.getMonth();return r?n>=1&&n<=ho[l]:n>=1&&n<=fo[l]}set(t,n,a){return t.setDate(a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class go extends Pe{priority=90;subpriority=1;parse(t,n,a){switch(n){case"D":case"DD":return Re(Le.dayOfYear,t);case"Do":return a.ordinalNumber(t,{unit:"date"});default:return Ee(n.length,t)}}validate(t,n){const a=t.getFullYear();return dr(a)?n>=1&&n<=366:n>=1&&n<=365}set(t,n,a){return t.setMonth(0,a),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function pn(e,t,n){const a=Wt(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,l=ve(e),i=l.getDay(),c=(t%7+7)%7,C=7-r,m=t<0||t>6?t-(i+C)%7:(c+C)%7-(i+C)%7;return mt(l,m)}class bo extends Pe{priority=90;parse(t,n,a){switch(n){case"E":case"EE":case"EEE":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class wo extends Pe{priority=90;parse(t,n,a,r){const l=i=>{const p=Math.floor((i-1)/7)*7;return(i+r.weekStartsOn+6)%7+p};switch(n){case"e":case"ee":return He(Ee(n.length,t),l);case"eo":return He(a.ordinalNumber(t,{unit:"day"}),l);case"eee":return a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeeee":return a.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class _o extends Pe{priority=90;parse(t,n,a,r){const l=i=>{const p=Math.floor((i-1)/7)*7;return(i+r.weekStartsOn+6)%7+p};switch(n){case"c":case"cc":return He(Ee(n.length,t),l);case"co":return He(a.ordinalNumber(t,{unit:"day"}),l);case"ccc":return a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"ccccc":return a.day(t,{width:"narrow",context:"standalone"});case"cccccc":return a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(t,{width:"wide",context:"standalone"})||a.day(t,{width:"abbreviated",context:"standalone"})||a.day(t,{width:"short",context:"standalone"})||a.day(t,{width:"narrow",context:"standalone"})}}validate(t,n){return n>=0&&n<=6}set(t,n,a,r){return t=pn(t,a,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function ko(e,t){const n=ve(e),a=jl(n),r=t-a;return mt(n,r)}class xo extends Pe{priority=90;parse(t,n,a){const r=l=>l===0?7:l;switch(n){case"i":case"ii":return Ee(n.length,t);case"io":return a.ordinalNumber(t,{unit:"day"});case"iii":return He(a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return He(a.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return He(a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r);case"iiii":default:return He(a.day(t,{width:"wide",context:"formatting"})||a.day(t,{width:"abbreviated",context:"formatting"})||a.day(t,{width:"short",context:"formatting"})||a.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,n){return n>=1&&n<=7}set(t,n,a){return t=ko(t,a),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class Mo extends Pe{priority=80;parse(t,n,a){switch(n){case"a":case"aa":case"aaa":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class Do extends Pe{priority=80;parse(t,n,a){switch(n){case"b":case"bb":case"bbb":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class To extends Pe{priority=80;parse(t,n,a){switch(n){case"B":case"BB":case"BBB":return a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(t,{width:"wide",context:"formatting"})||a.dayPeriod(t,{width:"abbreviated",context:"formatting"})||a.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,n,a){return t.setHours(mn(a),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class Po extends Pe{priority=70;parse(t,n,a){switch(n){case"h":return Re(Le.hour12h,t);case"ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=12}set(t,n,a){const r=t.getHours()>=12;return r&&a<12?t.setHours(a+12,0,0,0):!r&&a===12?t.setHours(0,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class Ao extends Pe{priority=70;parse(t,n,a){switch(n){case"H":return Re(Le.hour23h,t);case"Ho":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=23}set(t,n,a){return t.setHours(a,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class Co extends Pe{priority=70;parse(t,n,a){switch(n){case"K":return Re(Le.hour11h,t);case"Ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=11}set(t,n,a){return t.getHours()>=12&&a<12?t.setHours(a+12,0,0,0):t.setHours(a,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class Oo extends Pe{priority=70;parse(t,n,a){switch(n){case"k":return Re(Le.hour24h,t);case"ko":return a.ordinalNumber(t,{unit:"hour"});default:return Ee(n.length,t)}}validate(t,n){return n>=1&&n<=24}set(t,n,a){const r=a<=24?a%24:a;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class $o extends Pe{priority=60;parse(t,n,a){switch(n){case"m":return Re(Le.minute,t);case"mo":return a.ordinalNumber(t,{unit:"minute"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setMinutes(a,0,0),t}incompatibleTokens=["t","T"]}class Yo extends Pe{priority=50;parse(t,n,a){switch(n){case"s":return Re(Le.second,t);case"so":return a.ordinalNumber(t,{unit:"second"});default:return Ee(n.length,t)}}validate(t,n){return n>=0&&n<=59}set(t,n,a){return t.setSeconds(a,0),t}incompatibleTokens=["t","T"]}class So extends Pe{priority=30;parse(t,n){const a=r=>Math.trunc(r*Math.pow(10,-n.length+3));return He(Ee(n.length,t),a)}set(t,n,a){return t.setMilliseconds(a),t}incompatibleTokens=["t","T"]}class Ro extends Pe{priority=10;parse(t,n){switch(n){case"X":return wt(bt.basicOptionalMinutes,t);case"XX":return wt(bt.basic,t);case"XXXX":return wt(bt.basicOptionalSeconds,t);case"XXXXX":return wt(bt.extendedOptionalSeconds,t);case"XXX":default:return wt(bt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Te(t,t.getTime()-Ta(t)-a)}incompatibleTokens=["t","T","x"]}class Io extends Pe{priority=10;parse(t,n){switch(n){case"x":return wt(bt.basicOptionalMinutes,t);case"xx":return wt(bt.basic,t);case"xxxx":return wt(bt.basicOptionalSeconds,t);case"xxxxx":return wt(bt.extendedOptionalSeconds,t);case"xxx":default:return wt(bt.extended,t)}}set(t,n,a){return n.timestampIsSet?t:Te(t,t.getTime()-Ta(t)-a)}incompatibleTokens=["t","T","X"]}class Eo extends Pe{priority=40;parse(t){return sr(t)}set(t,n,a){return[Te(t,a*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class Bo extends Pe{priority=20;parse(t){return sr(t)}set(t,n,a){return[Te(t,a),{timestampIsSet:!0}]}incompatibleTokens="*"}const No={G:new to,y:new ao,Y:new no,R:new ro,u:new lo,Q:new oo,q:new io,M:new so,L:new uo,w:new vo,I:new po,d:new yo,D:new go,E:new bo,e:new wo,c:new _o,i:new xo,a:new Mo,b:new Do,B:new To,h:new Po,H:new Ao,K:new Co,k:new Oo,m:new $o,s:new Yo,S:new So,X:new Ro,x:new Io,t:new Eo,T:new Bo},Lo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ho=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Vo=/^'([^]*?)'?$/,Fo=/''/g,qo=/\S/,Wo=/[a-zA-Z]/;function rn(e,t,n,a){const r=Gl(),l=a?.locale??r.locale??nr,i=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,p=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0;if(t==="")return e===""?ve(n):Te(n,NaN);const c={firstWeekContainsDate:i,weekStartsOn:p,locale:l},C=[new eo],m=t.match(Ho).map(f=>{const S=f[0];if(S in an){const I=an[S];return I(f,l.formatLong)}return f}).join("").match(Lo),v=[];for(let f of m){!a?.useAdditionalWeekYearTokens&&or(f)&&nn(f,t,e),!a?.useAdditionalDayOfYearTokens&&lr(f)&&nn(f,t,e);const S=f[0],I=No[S];if(I){const{incompatibleTokens:U}=I;if(Array.isArray(U)){const q=v.find(ae=>U.includes(ae.token)||ae.token===S);if(q)throw new RangeError(`The format string mustn't contain \`${q.fullToken}\` and \`${f}\` at the same time`)}else if(I.incompatibleTokens==="*"&&v.length>0)throw new RangeError(`The format string mustn't contain \`${f}\` and any other token at the same time`);v.push({token:S,fullToken:f});const A=I.run(e,f,l.match,c);if(!A)return Te(n,NaN);C.push(A.setter),e=A.rest}else{if(S.match(Wo))throw new RangeError("Format string contains an unescaped latin alphabet character `"+S+"`");if(f==="''"?f="'":S==="'"&&(f=Qo(f)),e.indexOf(f)===0)e=e.slice(f.length);else return Te(n,NaN)}}if(e.length>0&&qo.test(e))return Te(n,NaN);const h=C.map(f=>f.priority).sort((f,S)=>S-f).filter((f,S,I)=>I.indexOf(f)===S).map(f=>C.filter(S=>S.priority===f).sort((S,I)=>I.subPriority-S.subPriority)).map(f=>f[0]);let k=ve(n);if(isNaN(k.getTime()))return Te(n,NaN);const Y={};for(const f of h){if(!f.validate(k,c))return Te(n,NaN);const S=f.set(k,Y,c);Array.isArray(S)?(k=S[0],Object.assign(Y,S[1])):k=S}return Te(n,k)}function Qo(e){return e.match(Vo)[1].replace(Fo,"'")}function Bn(e,t){const n=Ht(e),a=Ht(t);return+n==+a}function zo(e,t){return mt(e,-t)}function cr(e,t){const n=ve(e),a=n.getFullYear(),r=n.getDate(),l=Te(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const i=Xl(l);return n.setMonth(t,Math.min(r,i)),n}function Ce(e,t){let n=ve(e);return isNaN(+n)?Te(e,NaN):(t.year!=null&&n.setFullYear(t.year),t.month!=null&&(n=cr(n,t.month)),t.date!=null&&n.setDate(t.date),t.hours!=null&&n.setHours(t.hours),t.minutes!=null&&n.setMinutes(t.minutes),t.seconds!=null&&n.setSeconds(t.seconds),t.milliseconds!=null&&n.setMilliseconds(t.milliseconds),n)}function Uo(e,t){const n=ve(e);return n.setHours(t),n}function vr(e,t){const n=ve(e);return n.setMilliseconds(t),n}function Xo(e,t){const n=ve(e);return n.setMinutes(t),n}function mr(e,t){const n=ve(e);return n.setSeconds(t),n}function _t(e,t){const n=ve(e);return isNaN(+n)?Te(e,NaN):(n.setFullYear(t),n)}function Jt(e,t){return ft(e,-t)}function Go(e,t){const{years:n=0,months:a=0,weeks:r=0,days:l=0,hours:i=0,minutes:p=0,seconds:c=0}=t,C=Jt(e,a+n*12),m=zo(C,l+r*7),v=p+i*60,k=(c+v*60)*1e3;return Te(e,m.getTime()-k)}function pr(e,t){return un(e,-t)}function aa(){const e=Lr();return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[ye("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),ye("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ye("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),ye("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}aa.compatConfig={MODE:3};function fr(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),ye("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}fr.compatConfig={MODE:3};function fn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}fn.compatConfig={MODE:3};function hn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}hn.compatConfig={MODE:3};function yn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),ye("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}yn.compatConfig={MODE:3};function gn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}gn.compatConfig={MODE:3};function bn(){return P(),W("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[ye("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}bn.compatConfig={MODE:3};const nt=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),wn=(e,t,n)=>ln(e,t,n)||Q(),jo=(e,t,n)=>{const a=t.dateInTz?nt(new Date(e),t.dateInTz):Q(e);return n?tt(a,!0):a},ln=(e,t,n)=>{if(!e)return null;const a=n?tt(Q(e),!0):Q(e);return t?t.exactMatch?jo(e,t,n):nt(a,t.timezone):a},Ko=e=>{if(!e)return 0;const t=new Date,n=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),a=new Date(t.toLocaleString("en-US",{timeZone:e})),r=a.getTimezoneOffset()/60;return(+n-+a)/(1e3*60*60)-r};var vt=(e=>(e.month="month",e.year="year",e))(vt||{}),Lt=(e=>(e.top="top",e.bottom="bottom",e))(Lt||{}),Vt=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(Vt||{}),Xe=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(Xe||{});const Jo=["timestamp","date","iso"];var Ze=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(Ze||{}),$e=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))($e||{});function Nn(e){return t=>new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`)).slice(0,2)}function Zo(e){return t=>kt(nt(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const ei=(e,t,n)=>{const a=[1,2,3,4,5,6,7];let r;if(e!==null)try{r=a.map(Zo(e))}catch{r=a.map(Nn(t))}else r=a.map(Nn(t));const l=r.slice(0,n),i=r.slice(n+1,r.length);return[r[n]].concat(...i).concat(...l)},_n=(e,t,n)=>{const a=[];for(let r=+e[0];r<=+e[1];r++)a.push({value:+r,text:br(r,t)});return n?a.reverse():a},hr=(e,t,n)=>{const a=[1,2,3,4,5,6,7,8,9,10,11,12].map(l=>{const i=l<10?`0${l}`:l;return new Date(`2017-${i}-01T00:00:00+00:00`)});if(e!==null)try{const l=n==="long"?"LLLL":"LLL";return a.map((i,p)=>{const c=kt(nt(i,"UTC"),l,{locale:e});return{text:c.charAt(0).toUpperCase()+c.substring(1),value:p}})}catch{}const r=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return a.map((l,i)=>{const p=r.format(l);return{text:p.charAt(0).toUpperCase()+p.substring(1),value:i}})},ti=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],Fe=e=>{const t=d(e);return t!=null&&t.$el?t?.$el:t},ai=e=>({type:"dot",...e??{}}),yr=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,kn={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},qe=e=>e,Ln=e=>e===0?e:!e||isNaN(+e)?null:+e,Hn=e=>e===null,gr=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},ni=e=>{const t=[],n=a=>a.filter(r=>r);for(let a=0;a{const a=n!=null,r=t!=null;if(!a&&!r)return!1;const l=+n,i=+t;return a&&r?+e>l||+el:r?+eni(e).map(n=>n.map(a=>{const{active:r,disabled:l,isBetween:i,highlighted:p}=t(a);return{...a,active:r,disabled:l,className:{dp__overlay_cell_active:r,dp__overlay_cell:!r,dp__overlay_cell_disabled:l,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:l&&r,dp__cell_in_between:i,"dp--highlighted":p}}})),Yt=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},ri=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function li(e,t){let n=[...document.querySelectorAll(ri())];n=n.filter(r=>!e.contains(r)||r.hasAttribute("data-datepicker-instance"));const a=n.indexOf(e);if(a>=0&&(t?a-1>=0:a+1<=n.length))return n[a+(t?-1:1)]}const on=(e,t)=>e?.querySelector(`[data-dp-element="${t}"]`),br=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),xn=e=>kt(e,"dd-MM-yyyy"),Qa=e=>Array.isArray(e),Aa=(e,t)=>t.get(xn(e)),oi=(e,t)=>e?t?t instanceof Map?!!Aa(e,t):t(Q(e)):!1:!0,et=(e,t,n=!1,a)=>{if(e.key===$e.enter||e.key===$e.space)return n&&e.preventDefault(),t();if(a)return a(e)},Vn=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].some(e=>navigator.userAgent.includes(e))||navigator.userAgent.includes("Mac")&&"ontouchend"in document,Fn=(e,t,n,a,r,l)=>{const i=rn(e,t.slice(0,e.length),new Date,{locale:l});return ua(i)&&Zn(i)?a||r?i:Ce(i,{hours:+n.hours,minutes:+n?.minutes,seconds:+n?.seconds,milliseconds:0}):null},ii=(e,t,n,a,r,l)=>{const i=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Fn(e,t,i,a,r,l);if(Array.isArray(t)){let p=null;for(const c of t)if(p=Fn(e,c,i,a,r,l),p)break;return p}return typeof t=="function"?t(e):null},Q=e=>e?new Date(e):new Date,si=(e,t,n)=>{if(t){const r=(e.getMonth()+1).toString().padStart(2,"0"),l=e.getDate().toString().padStart(2,"0"),i=e.getHours().toString().padStart(2,"0"),p=e.getMinutes().toString().padStart(2,"0"),c=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${r}-${l}T${i}:${p}:${c}.000Z`}const a=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(a).toISOString()},tt=(e,t)=>{const n=Q(JSON.parse(JSON.stringify(e))),a=Ce(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?tl(a):a},St=(e,t,n,a)=>{let r=e?Q(e):Q();return(t||t===0)&&(r=Uo(r,+t)),(n||n===0)&&(r=Xo(r,+n)),(a||a===0)&&(r=mr(r,+a)),vr(r,0)},Ie=(e,t)=>!e||!t?!1:pa(tt(e),tt(t)),Me=(e,t)=>!e||!t?!1:Xt(tt(e),tt(t)),Ne=(e,t)=>!e||!t?!1:Kt(tt(e),tt(t)),$a=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?Ne(n,e[0])&&Ie(n,e[1]):e!=null&&e[0]&&t?Ne(n,e[0])&&Ie(n,t)||Ie(n,e[0])&&Ne(n,t):!1,pt=e=>{const t=Ce(new Date(e),{date:1});return tt(t)},za=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(a=>a===t?[a,n]:[a,isNaN(+e[a])?void 0:+e[a]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},Ft=e=>({hours:Tt(e),minutes:Rt(e),seconds:jt(e)}),wr=(e,t)=>{if(t){const n=he(Q(t));if(n>e)return 12;if(n===e)return xe(Q(t))}},_r=(e,t)=>{if(t){const n=he(Q(t));return n{if(e)return he(Q(e))},kr=(e,t)=>{const n=Ne(e,t)?t:e,a=Ne(t,e)?t:e;return er({start:n,end:a})},ui=e=>{const t=ft(e,1);return{month:xe(t),year:he(t)}},xt=(e,t)=>{const n=ht(e,{weekStartsOn:+t}),a=ar(e,{weekStartsOn:+t});return[n,a]},xr=(e,t)=>{const n={hours:Tt(Q()),minutes:Rt(Q()),seconds:t?jt(Q()):0};return Object.assign(n,e)},$t=(e,t,n)=>[Ce(Q(e),{date:1}),Ce(Q(),{month:t,year:n,date:1})],Mt=(e,t,n)=>{let a=e?Q(e):Q();return(t||t===0)&&(a=cr(a,t)),n&&(a=_t(a,n)),a},Mr=(e,t,n,a,r)=>{if(!a||r&&!t||!r&&!n)return!1;const l=r?ft(e,1):Jt(e,1),i=[xe(l),he(l)];return r?!ci(...i,t):!di(...i,n)},di=(e,t,n)=>Ie(...$t(n,e,t))||Me(...$t(n,e,t)),ci=(e,t,n)=>Ne(...$t(n,e,t))||Me(...$t(n,e,t)),Dr=(e,t,n,a,r,l,i)=>{if(typeof t=="function"&&!i)return t(e);const p=n?{locale:n}:void 0;return Array.isArray(e)?`${kt(e[0],l,p)}${r&&!e[1]?"":a}${e[1]?kt(e[1],l,p):""}`:kt(e,l,p)},zt=e=>{if(e)return null;throw new Error(kn.prop("partial-range"))},ka=(e,t)=>{if(t)return e();throw new Error(kn.prop("range"))},sn=e=>Array.isArray(e)?ua(e[0])&&(e[1]?ua(e[1]):!0):e?ua(e):!1,vi=(e,t)=>Ce(t??Q(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),Ua=(e,t,n,a)=>{if(!e)return!0;if(a){const r=n==="max"?pa(e,t):Kt(e,t),l={seconds:0,milliseconds:0};return r||Xt(Ce(e,l),Ce(t,l))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},Xa=(e,t,n)=>e?vi(e,t):Q(n??t),qn=(e,t,n,a,r)=>{if(Array.isArray(a)){const i=Xa(e,a[0],t),p=Xa(e,a[1],t);return Ua(a[0],i,n,!!t)&&Ua(a[1],p,n,!!t)&&r}const l=Xa(e,a,t);return Ua(a,l,n,!!t)&&r},Ga=e=>Ce(Q(),Ft(e)),mi=(e,t)=>e instanceof Map?Array.from(e.values()).filter(n=>he(Q(n))===t).map(n=>xe(n)):[],Tr=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(a=>a.month===t&&a.year===n),Mn=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),Pr=e=>kt(e,"yyyy-MM-dd"),sa=ha({menuFocused:!1,shiftKeyInMenu:!1}),Ar=()=>{const e=n=>{sa.menuFocused=n},t=n=>{sa.shiftKeyInMenu!==n&&(sa.shiftKeyInMenu=n)};return{control:G(()=>({shiftKeyInMenu:sa.shiftKeyInMenu,menuFocused:sa.menuFocused})),setMenuFocused:e,setShiftKey:t}},Oe=ha({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),ja=Z(null),xa=Z(!1),Ka=Z(!1),Ja=Z(!1),Za=Z(!1),Ue=Z(0),Be=Z(0),It=()=>{const e=G(()=>xa.value?[...Oe.selectionGrid,Oe.actionRow].filter(v=>v.length):Ka.value?[...Oe.timePicker[0],...Oe.timePicker[1],Za.value?[]:[ja.value],Oe.actionRow].filter(v=>v.length):Ja.value?[...Oe.monthPicker,Oe.actionRow]:[Oe.monthYear,...Oe.calendar,Oe.time,Oe.actionRow].filter(v=>v.length)),t=v=>{Ue.value=v?Ue.value+1:Ue.value-1;let h=null;e.value[Be.value]&&(h=e.value[Be.value][Ue.value]),!h&&e.value[Be.value+(v?1:-1)]?(Be.value=Be.value+(v?1:-1),Ue.value=v?0:e.value[Be.value].length-1):h||(Ue.value=v?Ue.value-1:Ue.value+1)},n=v=>{Be.value===0&&!v||Be.value===e.value.length&&v||(Be.value=v?Be.value+1:Be.value-1,e.value[Be.value]?e.value[Be.value]&&!e.value[Be.value][Ue.value]&&Ue.value!==0&&(Ue.value=e.value[Be.value].length-1):Be.value=v?Be.value-1:Be.value+1)},a=v=>{let h=null;e.value[Be.value]&&(h=e.value[Be.value][Ue.value]),h?h.focus({preventScroll:!xa.value}):Ue.value=v?Ue.value-1:Ue.value+1},r=()=>{t(!0),a(!0)},l=()=>{t(!1),a(!1)},i=()=>{n(!1),a(!0)},p=()=>{n(!0),a(!0)},c=(v,h)=>{Oe[h]=v},C=(v,h)=>{Oe[h]=v},m=()=>{Ue.value=0,Be.value=0};return{buildMatrix:c,buildMultiLevelMatrix:C,setTimePickerBackRef:v=>{ja.value=v},setSelectionGrid:v=>{xa.value=v,m(),v||(Oe.selectionGrid=[])},setTimePicker:(v,h=!1)=>{Ka.value=v,Za.value=h,m(),v||(Oe.timePicker[0]=[],Oe.timePicker[1]=[])},setTimePickerElements:(v,h=0)=>{Oe.timePicker[h]=v},arrowRight:r,arrowLeft:l,arrowUp:i,arrowDown:p,clearArrowNav:()=>{Oe.monthYear=[],Oe.calendar=[],Oe.time=[],Oe.actionRow=[],Oe.selectionGrid=[],Oe.timePicker[0]=[],Oe.timePicker[1]=[],xa.value=!1,Ka.value=!1,Za.value=!1,Ja.value=!1,m(),ja.value=null},setMonthPicker:v=>{Ja.value=v,m()},refSets:Oe}},Wn=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),pi=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Qn=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,fi=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Qn(!1)};const a=t?e:{},r=t?a.count??!0:e,l=Qn(r);return Object.assign(n,a,{count:l})},hi=(e,t,n)=>e||(typeof n=="string"?n:t),yi=e=>typeof e=="boolean"?e?Wn({}):!1:Wn(e),gi=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - "};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},bi=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),wi=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),_i=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},ki=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,...e??{}}),xi=e=>{const t={dates:Array.isArray(e)?e.map(n=>Q(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},Mi=e=>typeof e=="object"?{type:e?.type??"local",hideOnOffsetDates:e?.hideOnOffsetDates??!1}:{type:e,hideOnOffsetDates:!1},Di=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},Ti=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},en=(e,t,n)=>new Map(e.map(a=>{const r=wn(a,t,n);return[xn(r),r]})),Pi=(e,t)=>e.length?new Map(e.map(n=>{const a=wn(n.date,t);return[xn(a),n]})):null,Ai=e=>{var t;return{minDate:ln(e.minDate,e.timezone,e.isSpecific),maxDate:ln(e.maxDate,e.timezone,e.isSpecific),disabledDates:Qa(e.disabledDates)?en(e.disabledDates,e.timezone,e.isSpecific):e.disabledDates,allowedDates:Qa(e.allowedDates)?en(e.allowedDates,e.timezone,e.isSpecific):null,highlight:typeof e.highlight=="object"&&Qa((t=e.highlight)==null?void 0:t.dates)?en(e.highlight.dates,e.timezone):e.highlight,markers:Pi(e.markers,e.timezone)}},Ci=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},Oi=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,a=e[n],r=typeof e[n]=="string"?{[a]:!0}:Object.fromEntries(a.map(l=>[l,!0]));return[t,r]}))}),Se=e=>{const t=()=>{const E=e.enableSeconds?":ss":"",B=e.enableMinutes?":mm":"";return e.is24?`HH${B}${E}`:`hh${B}${E} aa`},n=()=>{var E;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((E=S.value)==null?void 0:E.type)==="iso"?"RR":"ww"}-yyyy`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},a=E=>xr(E,e.enableSeconds),r=()=>q.value.enabled?e.startTime&&Array.isArray(e.startTime)?[a(e.startTime[0]),a(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?a(e.startTime):null,l=G(()=>fi(e.multiCalendars)),i=G(()=>r()),p=G(()=>pi(e.ariaLabels)),c=G(()=>bi(e.filters)),C=G(()=>yi(e.transitions)),m=G(()=>wi(e.actionRow)),v=G(()=>hi(e.previewFormat,e.format,n())),h=G(()=>gi(e.textInput)),k=G(()=>_i(e.inline)),Y=G(()=>ki(e.config)),f=G(()=>xi(e.highlight)),S=G(()=>Mi(e.weekNumbers)),I=G(()=>Ti(e.timezone)),U=G(()=>Ci(e.multiDates)),A=G(()=>Ai({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:f.value,markers:e.markers,timezone:I.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker})),q=G(()=>Di(e.range)),ae=G(()=>Oi(e.ui));return{defaultedTransitions:C,defaultedMultiCalendars:l,defaultedStartTime:i,defaultedAriaLabels:p,defaultedFilters:c,defaultedActionRow:m,defaultedPreviewFormat:v,defaultedTextInput:h,defaultedInline:k,defaultedConfig:Y,defaultedHighlight:f,defaultedWeekNumbers:S,defaultedRange:q,propDates:A,defaultedTz:I,defaultedMultiDates:U,defaultedUI:ae,getDefaultPattern:n,getDefaultStartTime:r}},$i=(e,t,n)=>{const a=Z(),{defaultedTextInput:r,defaultedRange:l,defaultedTz:i,defaultedMultiDates:p,getDefaultPattern:c}=Se(t),C=Z(""),m=ca(t,"format"),v=ca(t,"formatLocale");ct(a,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",a.value,z(!0))},{deep:!0}),ct(l,(u,le)=>{u.enabled!==le.enabled&&(a.value=null)}),ct(m,()=>{re()});const h=u=>i.value.timezone&&i.value.convertModel?nt(u,i.value.timezone):u,k=u=>{if(i.value.timezone&&i.value.convertModel){const le=Ko(i.value.timezone);return Xr(u,le)}return u},Y=(u,le,fe=!1)=>Dr(u,t.format,t.formatLocale,r.value.rangeSeparator,t.modelAuto,le??c(),fe),f=u=>u?t.modelType?b(u):{hours:Tt(u),minutes:Rt(u),seconds:t.enableSeconds?jt(u):0}:null,S=u=>t.modelType?b(u):{month:xe(u),year:he(u)},I=u=>Array.isArray(u)?p.value.enabled?u.map(le=>U(le,_t(Q(),le))):ka(()=>[_t(Q(),u[0]),u[1]?_t(Q(),u[1]):zt(l.value.partialRange)],l.value.enabled):_t(Q(),+u),U=(u,le)=>(typeof u=="string"||typeof u=="number")&&t.modelType?R(u):le,A=u=>Array.isArray(u)?[U(u[0],St(null,+u[0].hours,+u[0].minutes,u[0].seconds)),U(u[1],St(null,+u[1].hours,+u[1].minutes,u[1].seconds))]:U(u,St(null,u.hours,u.minutes,u.seconds)),q=u=>{const le=Ce(Q(),{date:1});return Array.isArray(u)?p.value.enabled?u.map(fe=>U(fe,Mt(le,+fe.month,+fe.year))):ka(()=>[U(u[0],Mt(le,+u[0].month,+u[0].year)),U(u[1],u[1]?Mt(le,+u[1].month,+u[1].year):zt(l.value.partialRange))],l.value.enabled):U(u,Mt(le,+u.month,+u.year))},ae=u=>{if(Array.isArray(u))return u.map(le=>R(le));throw new Error(kn.dateArr("multi-dates"))},E=u=>{if(Array.isArray(u)&&l.value.enabled){const le=u[0],fe=u[1];return[Q(Array.isArray(le)?le[0]:null),Array.isArray(fe)&&fe.length?Q(fe[0]):null]}return Q(u[0])},B=u=>t.modelAuto?Array.isArray(u)?[R(u[0]),R(u[1])]:t.autoApply?[R(u)]:[R(u),null]:Array.isArray(u)?ka(()=>u[1]?[R(u[0]),u[1]?R(u[1]):zt(l.value.partialRange)]:[R(u[0])],l.value.enabled):R(u),ne=()=>{Array.isArray(a.value)&&l.value.enabled&&a.value.length===1&&a.value.push(zt(l.value.partialRange))},F=()=>{const u=a.value;return[b(u[0]),u[1]?b(u[1]):zt(l.value.partialRange)]},N=()=>a.value[1]?F():b(qe(a.value[0])),ie=()=>(a.value||[]).map(u=>b(u)),ce=(u=!1)=>(u||ne(),t.modelAuto?N():p.value.enabled?ie():Array.isArray(a.value)?ka(()=>F(),l.value.enabled):b(qe(a.value))),pe=u=>!u||Array.isArray(u)&&!u.length?null:t.timePicker?A(qe(u)):t.monthPicker?q(qe(u)):t.yearPicker?I(qe(u)):p.value.enabled?ae(qe(u)):t.weekPicker?E(qe(u)):B(qe(u)),g=u=>{const le=pe(u);sn(qe(le))?(a.value=qe(le),re()):(a.value=null,C.value="")},D=()=>{const u=le=>kt(le,r.value.format);return`${u(a.value[0])} ${r.value.rangeSeparator} ${a.value[1]?u(a.value[1]):""}`},y=()=>n.value&&a.value?Array.isArray(a.value)?D():kt(a.value,r.value.format):Y(a.value),H=()=>a.value?p.value.enabled?a.value.map(u=>Y(u)).join("; "):r.value.enabled&&typeof r.value.format=="string"?y():Y(a.value):"",re=()=>{!t.format||typeof t.format=="string"||r.value.enabled&&typeof r.value.format=="string"?C.value=H():C.value=t.format(a.value)},R=u=>{if(t.utc){const le=new Date(u);return t.utc==="preserve"?new Date(le.getTime()+le.getTimezoneOffset()*6e4):le}return t.modelType?Jo.includes(t.modelType)?h(new Date(u)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?h(rn(u,c(),new Date,{locale:v.value})):h(rn(u,t.modelType,new Date,{locale:v.value})):h(new Date(u))},b=u=>u?t.utc?si(u,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+k(u):t.modelType==="iso"?k(u).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?Y(k(u)):Y(k(u),t.modelType,!0):k(u):"",oe=(u,le=!1,fe=!1)=>{if(fe)return u;if(e("update:model-value",u),i.value.emitTimezone&&le){const Ve=Array.isArray(u)?u.map(T=>nt(qe(T),i.value.emitTimezone)):nt(qe(u),i.value.emitTimezone);e("update:model-timezone-value",Ve)}},V=u=>Array.isArray(a.value)?p.value.enabled?a.value.map(le=>u(le)):[u(a.value[0]),a.value[1]?u(a.value[1]):zt(l.value.partialRange)]:u(qe(a.value)),M=()=>{if(Array.isArray(a.value)){const u=xt(a.value[0],t.weekStart),le=a.value[1]?xt(a.value[1],t.weekStart):[];return[u.map(fe=>Q(fe)),le.map(fe=>Q(fe))]}return xt(a.value,t.weekStart).map(u=>Q(u))},o=(u,le)=>oe(qe(V(u)),!1,le),w=u=>{const le=M();return u?le:e("update:model-value",M())},z=(u=!1)=>(u||re(),t.monthPicker?o(S,u):t.timePicker?o(f,u):t.yearPicker?o(he,u):t.weekPicker?w(u):oe(ce(u),!0,u));return{inputValue:C,internalModelValue:a,checkBeforeEmit:()=>a.value?l.value.enabled?l.value.partialRange?a.value.length>=1:a.value.length===2:!!a.value:!1,parseExternalModelValue:g,formatInputValue:re,emitModelValue:z}},Yi=(e,t)=>{const{defaultedFilters:n,propDates:a}=Se(e),{validateMonthYearInRange:r}=Et(e),l=(m,v)=>{let h=m;return n.value.months.includes(xe(h))?(h=v?ft(m,1):Jt(m,1),l(h,v)):h},i=(m,v)=>{let h=m;return n.value.years.includes(he(h))?(h=v?un(m,1):pr(m,1),i(h,v)):h},p=(m,v=!1)=>{const h=Ce(Q(),{month:e.month,year:e.year});let k=m?ft(h,1):Jt(h,1);e.disableYearSelect&&(k=_t(k,e.year));let Y=xe(k),f=he(k);n.value.months.includes(Y)&&(k=l(k,m),Y=xe(k),f=he(k)),n.value.years.includes(f)&&(k=i(k,m),f=he(k)),r(Y,f,m,e.preventMinMaxNavigation)&&c(Y,f,v)},c=(m,v,h)=>{t("update-month-year",{month:m,year:v,fromNav:h})},C=G(()=>m=>Mr(Ce(Q(),{month:e.month,year:e.year}),a.value.maxDate,a.value.minDate,e.preventMinMaxNavigation,m));return{handleMonthYearChange:p,isDisabled:C,updateMonthYear:c}},Ya={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:Boolean,default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},yt={...Ya,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},Si=["title"],Ri=["disabled"],Ii=ze({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...yt},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,a=e,{defaultedActionRow:r,defaultedPreviewFormat:l,defaultedMultiCalendars:i,defaultedTextInput:p,defaultedInline:c,defaultedRange:C,defaultedMultiDates:m}=Se(a),{isTimeValid:v,isMonthValid:h}=Et(a),{buildMatrix:k}=It(),Y=Z(null),f=Z(null),S=Z(!1),I=Z({}),U=Z(null),A=Z(null);Ke(()=>{a.arrowNavigation&&k([Fe(Y),Fe(f)],"actionRow"),q(),window.addEventListener("resize",q)}),Ca(()=>{window.removeEventListener("resize",q)});const q=()=>{S.value=!1,setTimeout(()=>{var g,D;const y=(g=U.value)==null?void 0:g.getBoundingClientRect(),H=(D=A.value)==null?void 0:D.getBoundingClientRect();y&&H&&(I.value.maxWidth=`${H.width-y.width-20}px`),S.value=!0},0)},ae=G(()=>C.value.enabled&&!C.value.partialRange&&a.internalModelValue?a.internalModelValue.length===2:!0),E=G(()=>!v.value(a.internalModelValue)||!h.value(a.internalModelValue)||!ae.value),B=()=>{const g=l.value;return a.timePicker||a.monthPicker,g(qe(a.internalModelValue))},ne=()=>{const g=a.internalModelValue;return i.value.count>0?`${F(g[0])} - ${F(g[1])}`:[F(g[0]),F(g[1])]},F=g=>Dr(g,l.value,a.formatLocale,p.value.rangeSeparator,a.modelAuto,l.value),N=G(()=>!a.internalModelValue||!a.menuMount?"":typeof l.value=="string"?Array.isArray(a.internalModelValue)?a.internalModelValue.length===2&&a.internalModelValue[1]?ne():m.value.enabled?a.internalModelValue.map(g=>`${F(g)}`):a.modelAuto?`${F(a.internalModelValue[0])}`:`${F(a.internalModelValue[0])} -`:F(a.internalModelValue):B()),ie=()=>m.value.enabled?"; ":" - ",ce=G(()=>Array.isArray(N.value)?N.value.join(ie()):N.value),pe=()=>{v.value(a.internalModelValue)&&h.value(a.internalModelValue)&&ae.value?n("select-date"):n("invalid-select")};return(g,D)=>(P(),W("div",{ref_key:"actionRowRef",ref:A,class:"dp__action_row"},[g.$slots["action-row"]?ue(g.$slots,"action-row",We(Qe({key:0},{internalModelValue:g.internalModelValue,disabled:E.value,selectDate:()=>g.$emit("select-date"),closePicker:()=>g.$emit("close-picker")}))):(P(),W(we,{key:1},[d(r).showPreview?(P(),W("div",{key:0,class:"dp__selection_preview",title:ce.value,style:dt(I.value)},[g.$slots["action-preview"]&&S.value?ue(g.$slots,"action-preview",{key:0,value:g.internalModelValue}):j("",!0),!g.$slots["action-preview"]&&S.value?(P(),W(we,{key:1},[Dt(Ge(ce.value),1)],64)):j("",!0)],12,Si)):j("",!0),ye("div",{ref_key:"actionBtnContainer",ref:U,class:"dp__action_buttons","data-dp-element":"action-row"},[g.$slots["action-buttons"]?ue(g.$slots,"action-buttons",{key:0,value:g.internalModelValue}):j("",!0),g.$slots["action-buttons"]?j("",!0):(P(),W(we,{key:1},[!d(c).enabled&&d(r).showCancel?(P(),W("button",{key:0,ref_key:"cancelButtonRef",ref:Y,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[0]||(D[0]=y=>g.$emit("close-picker")),onKeydown:D[1]||(D[1]=y=>d(et)(y,()=>g.$emit("close-picker")))},Ge(g.cancelText),545)):j("",!0),d(r).showNow?(P(),W("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:D[2]||(D[2]=y=>g.$emit("select-now")),onKeydown:D[3]||(D[3]=y=>d(et)(y,()=>g.$emit("select-now")))},Ge(g.nowButtonLabel),33)):j("",!0),d(r).showSelect?(P(),W("button",{key:2,ref_key:"selectButtonRef",ref:f,type:"button",class:"dp__action_button dp__action_select",disabled:E.value,"data-test":"select-button",onKeydown:D[4]||(D[4]=y=>d(et)(y,()=>pe())),onClick:pe},Ge(g.selectText),41,Ri)):j("",!0)],64))],512)],64))],512))}}),Ei=["role","aria-label","tabindex"],Bi={class:"dp__selection_grid_header"},Ni=["aria-selected","aria-disabled","data-test","onClick","onKeydown","onMouseover"],Li=["aria-label"],ya=ze({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:a,buildMultiLevelMatrix:r,setMonthPicker:l}=It(),i=n,p=e,{defaultedAriaLabels:c,defaultedTextInput:C,defaultedConfig:m}=Se(p),{hideNavigationButtons:v}=Ia(),h=Z(!1),k=Z(null),Y=Z(null),f=Z([]),S=Z(),I=Z(null),U=Z(0),A=Z(null);Hr(()=>{k.value=null}),Ke(()=>{it().then(()=>ie()),p.noOverlayFocus||ae(),q(!0)}),Ca(()=>q(!1));const q=V=>{var M;p.arrowNavigation&&((M=p.headerRefs)!=null&&M.length?l(V):a(V))},ae=()=>{var V;const M=Fe(Y);M&&(C.value.enabled||(k.value?(V=k.value)==null||V.focus({preventScroll:!0}):M.focus({preventScroll:!0})),h.value=M.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!p.useRelative,"dp--overlay-relative":p.useRelative})),B=G(()=>p.useRelative?{height:`${p.height}px`,width:"var(--dp-menu-min-width)"}:void 0),ne=G(()=>({dp__overlay_col:!0})),F=G(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:h.value,dp__button_bottom:p.isLast})),N=G(()=>{var V,M;return{dp__overlay_container:!0,dp__container_flex:((V=p.items)==null?void 0:V.length)<=6,dp__container_block:((M=p.items)==null?void 0:M.length)>6}});ct(()=>p.items,()=>ie(!1),{deep:!0});const ie=(V=!0)=>{it().then(()=>{const M=Fe(k),o=Fe(Y),w=Fe(I),z=Fe(A),u=w?w.getBoundingClientRect().height:0;o&&(o.getBoundingClientRect().height?U.value=o.getBoundingClientRect().height-u:U.value=m.value.modeHeight-u),M&&z&&V&&(z.scrollTop=M.offsetTop-z.offsetTop-(U.value/2-M.getBoundingClientRect().height)-u)})},ce=V=>{V.disabled||i("selected",V.value)},pe=()=>{i("toggle"),i("reset-flow")},g=()=>{p.escClose&&pe()},D=(V,M,o,w)=>{V&&((M.active||M.value===p.focusValue)&&(k.value=V),p.arrowNavigation&&(Array.isArray(f.value[o])?f.value[o][w]=V:f.value[o]=[V],y()))},y=()=>{var V,M;const o=(V=p.headerRefs)!=null&&V.length?[p.headerRefs].concat(f.value):f.value.concat([p.skipButtonRef?[]:[I.value]]);r(qe(o),(M=p.headerRefs)!=null&&M.length?"monthPicker":"selectionGrid")},H=V=>{p.arrowNavigation||Yt(V,m.value,!0)},re=V=>{S.value=V,i("hover-value",V)},R=()=>{if(pe(),!p.isLast){const V=on(p.menuWrapRef??null,"action-row");if(V){const M=gr(V);M?.focus()}}},b=V=>{switch(V.key){case $e.esc:return g();case $e.arrowLeft:return H(V);case $e.arrowRight:return H(V);case $e.arrowUp:return H(V);case $e.arrowDown:return H(V);default:return}},oe=V=>{if(V.key===$e.enter)return pe();if(V.key===$e.tab)return R()};return t({focusGrid:ae}),(V,M)=>{var o;return P(),W("div",{ref_key:"gridWrapRef",ref:Y,class:ke(E.value),style:dt(B.value),role:V.useRelative?void 0:"dialog","aria-label":V.overlayLabel,tabindex:V.useRelative?void 0:"0",onKeydown:b,onClick:M[0]||(M[0]=va(()=>{},["prevent"]))},[ye("div",{ref_key:"containerRef",ref:A,class:ke(N.value),style:dt({"--dp-overlay-height":`${U.value}px`}),role:"grid"},[ye("div",Bi,[ue(V.$slots,"header")]),V.$slots.overlay?ue(V.$slots,"overlay",{key:0}):(P(!0),W(we,{key:1},Ye(V.items,(w,z)=>(P(),W("div",{key:z,class:ke(["dp__overlay_row",{dp__flex_row:V.items.length>=3}]),role:"row"},[(P(!0),W(we,null,Ye(w,(u,le)=>(P(),W("div",{key:u.value,ref_for:!0,ref:fe=>D(fe,u,z,le),role:"gridcell",class:ke(ne.value),"aria-selected":u.active||void 0,"aria-disabled":u.disabled||void 0,tabindex:"0","data-test":u.text,onClick:va(fe=>ce(u),["prevent"]),onKeydown:fe=>d(et)(fe,()=>ce(u),!0),onMouseover:fe=>re(u.value)},[ye("div",{class:ke(u.className)},[V.$slots.item?ue(V.$slots,"item",{key:0,item:u}):j("",!0),V.$slots.item?j("",!0):(P(),W(we,{key:1},[Dt(Ge(u.text),1)],64))],2)],42,Ni))),128))],2))),128))],6),V.$slots["button-icon"]?Ma((P(),W("button",{key:0,ref_key:"toggleButton",ref:I,type:"button","aria-label":(o=d(c))==null?void 0:o.toggleOverlay,class:ke(F.value),tabindex:"0",onClick:pe,onKeydown:oe},[ue(V.$slots,"button-icon")],42,Li)),[[Da,!d(v)(V.hideNavigation,V.type)]]):j("",!0)],46,Ei)}}}),Sa=ze({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const t=e,n=G(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),a=G(()=>({dp__instance_calendar:t.multiCalendars>0}));return(r,l)=>(P(),W("div",{class:ke({dp__menu_inner:!r.stretch,"dp--menu--inner-stretched":r.stretch,dp__flex_display:r.multiCalendars>0,"dp--flex-display-collapsed":r.collapse})},[(P(!0),W(we,null,Ye(n.value,(i,p)=>(P(),W("div",{key:i,class:ke(a.value)},[ue(r.$slots,"default",{instance:i,index:p})],2))),128))],2))}}),Hi=["data-dp-element","aria-label","aria-disabled"],da=ze({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,a=Z(null);return Ke(()=>n("set-ref",a)),(r,l)=>(P(),W("button",{ref_key:"elRef",ref:a,type:"button","data-dp-element":r.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":r.ariaLabel,"aria-disabled":r.disabled||void 0,onClick:l[0]||(l[0]=i=>r.$emit("activate")),onKeydown:l[1]||(l[1]=i=>d(et)(i,()=>r.$emit("activate"),!0))},[ye("span",{class:ke(["dp__inner_nav",{dp__inner_nav_disabled:r.disabled}])},[ue(r.$slots,"default")],2)],40,Hi))}}),Vi=["aria-label","data-test"],Cr=ze({__name:"YearModePicker",props:{...yt,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,a=e,{showRightIcon:r,showLeftIcon:l}=Ia(),{defaultedConfig:i,defaultedMultiCalendars:p,defaultedAriaLabels:c,defaultedTransitions:C,defaultedUI:m}=Se(a),{showTransition:v,transitionName:h}=ga(C),k=Z(!1),Y=(I=!1,U)=>{k.value=!k.value,n("toggle-year-picker",{flow:I,show:U})},f=I=>{k.value=!1,n("year-select",I)},S=(I=!1)=>{n("handle-year",I)};return(I,U)=>{var A,q,ae,E,B;return P(),W(we,null,[ye("div",{class:ke(["dp--year-mode-picker",{"dp--hidden-el":k.value}])},[d(l)(d(p),e.instance)?(P(),De(da,{key:0,ref:"mpPrevIconRef","aria-label":(A=d(c))==null?void 0:A.prevYear,disabled:e.isDisabled(!1),class:ke((q=d(m))==null?void 0:q.navBtnPrev),onActivate:U[0]||(U[0]=ne=>S(!1))},{default:_e(()=>[I.$slots["arrow-left"]?ue(I.$slots,"arrow-left",{key:0}):j("",!0),I.$slots["arrow-left"]?j("",!0):(P(),De(d(fn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),ye("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(ae=d(c))==null?void 0:ae.openYearsOverlay}`,"data-test":`year-mode-btn-${e.instance}`,onClick:U[1]||(U[1]=()=>Y(!1)),onKeydown:U[2]||(U[2]=Vr(()=>Y(!1),["enter"]))},[I.$slots.year?ue(I.$slots,"year",{key:0,year:e.year}):j("",!0),I.$slots.year?j("",!0):(P(),W(we,{key:1},[Dt(Ge(e.year),1)],64))],40,Vi),d(r)(d(p),e.instance)?(P(),De(da,{key:1,ref:"mpNextIconRef","aria-label":(E=d(c))==null?void 0:E.nextYear,disabled:e.isDisabled(!0),class:ke((B=d(m))==null?void 0:B.navBtnNext),onActivate:U[3]||(U[3]=ne=>S(!0))},{default:_e(()=>[I.$slots["arrow-right"]?ue(I.$slots,"arrow-right",{key:0}):j("",!0),I.$slots["arrow-right"]?j("",!0):(P(),De(d(hn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0)],2),ot(ta,{name:d(h)(e.showYearPicker),css:d(v)},{default:_e(()=>{var ne,F;return[e.showYearPicker?(P(),De(ya,{key:0,items:e.items,"text-input":I.textInput,"esc-close":I.escClose,config:I.config,"is-last":I.autoApply&&!d(i).keepActionRow,"hide-navigation":I.hideNavigation,"aria-labels":I.ariaLabels,"overlay-label":(F=(ne=d(c))==null?void 0:ne.yearPicker)==null?void 0:F.call(ne,!0),type:"year",onToggle:Y,onSelected:U[4]||(U[4]=N=>f(N))},je({"button-icon":_e(()=>[I.$slots["calendar-icon"]?ue(I.$slots,"calendar-icon",{key:0}):j("",!0),I.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))]),_:2},[I.$slots["year-overlay-value"]?{name:"item",fn:_e(({item:N})=>[ue(I.$slots,"year-overlay-value",{text:N.text,value:N.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):j("",!0)]}),_:3},8,["name","css"])],64)}}}),Dn=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(a=>Me(e,a))){const a=t.value.filter(r=>!Me(r,e));t.value=a.length?a:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},Tn=(e,t,n)=>{let a=e.value?e.value.slice():[];return a.length===2&&a[1]!==null&&(a=[]),a.length?Ie(t,a[0])?(a.unshift(t),n("range-start",a[0]),n("range-start",a[1])):(a[1]=t,n("range-end",t)):(a=[t],n("range-start",t)),a},Ra=(e,t,n,a)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&a&&n&&t("auto-apply"))},Or=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>nt(Q(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=nt(Q(e.value),e.timezone))},$r=(e,t,n,a)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&a.value.partialRange)?a.value.fixedStart&&(Ne(e,t.value[0])||Me(e,t.value[0]))?[t.value[0],e]:a.value.fixedEnd&&(Ie(e,t.value[1])||Me(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],Yr=({multiCalendars:e,range:t,highlight:n,propDates:a,calendars:r,modelValue:l,props:i,filters:p,year:c,month:C,emit:m})=>{const v=G(()=>_n(i.yearRange,i.locale,i.reverseYears)),h=Z([!1]),k=G(()=>(N,ie)=>{const ce=Ce(pt(new Date),{month:C.value(N),year:c.value(N)}),pe=ie?tr(ce):ma(ce);return Mr(pe,a.value.maxDate,a.value.minDate,i.preventMinMaxNavigation,ie)}),Y=()=>Array.isArray(l.value)&&e.value.solo&&l.value[1],f=()=>{for(let N=0;N{if(!N)return f();const ie=Ce(Q(),r.value[N]);return r.value[0].year=he(pr(ie,e.value.count-1)),f()},I=(N,ie)=>{const ce=Zr(ie,N);return t.value.showLastInRange&&ce>1?ie:N},U=N=>i.focusStartDate||e.value.solo?N[0]:N[1]?I(N[0],N[1]):N[0],A=()=>{if(l.value){const N=Array.isArray(l.value)?U(l.value):l.value;r.value[0]={month:xe(N),year:he(N)}}},q=()=>{A(),e.value.count&&f()};ct(l,(N,ie)=>{i.isTextInputDate&&JSON.stringify(N??{})!==JSON.stringify(ie??{})&&q()}),Ke(()=>{q()});const ae=(N,ie)=>{r.value[ie].year=N,m("update-month-year",{instance:ie,year:N,month:r.value[ie].month}),e.value.count&&!e.value.solo&&S(ie)},E=G(()=>N=>Zt(v.value,ie=>{var ce;const pe=c.value(N)===ie.value,g=fa(ie.value,ea(a.value.minDate),ea(a.value.maxDate))||((ce=p.value.years)==null?void 0:ce.includes(c.value(N))),D=Mn(n.value,ie.value);return{active:pe,disabled:g,highlighted:D}})),B=(N,ie)=>{ae(N,ie),F(ie)},ne=(N,ie=!1)=>{if(!k.value(N,ie)){const ce=ie?c.value(N)+1:c.value(N)-1;ae(ce,N)}},F=(N,ie=!1,ce)=>{ie||m("reset-flow"),ce!==void 0?h.value[N]=ce:h.value[N]=!h.value[N],h.value[N]?m("overlay-toggle",{open:!0,overlay:Xe.year}):(m("overlay-closed"),m("overlay-toggle",{open:!1,overlay:Xe.year}))};return{isDisabled:k,groupedYears:E,showYearPicker:h,selectYear:ae,toggleYearPicker:F,handleYearSelect:B,handleYear:ne}},Fi=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:l,defaultedRange:i,defaultedHighlight:p,propDates:c,defaultedTz:C,defaultedFilters:m,defaultedMultiDates:v}=Se(e),h=()=>{e.isTextInputDate&&q(he(Q(e.startDate)),0)},{modelValue:k,year:Y,month:f,calendars:S}=ba(e,t,h),I=G(()=>hr(e.formatLocale,e.locale,e.monthNameFormat)),U=Z(null),{checkMinMaxRange:A}=Et(e),{selectYear:q,groupedYears:ae,showYearPicker:E,toggleYearPicker:B,handleYearSelect:ne,handleYear:F,isDisabled:N}=Yr({modelValue:k,multiCalendars:n,range:i,highlight:p,calendars:S,year:Y,propDates:c,month:f,filters:m,props:e,emit:t});Ke(()=>{e.startDate&&(k.value&&e.focusStartDate||!k.value)&&q(he(Q(e.startDate)),0)});const ie=o=>o?{month:xe(o),year:he(o)}:{month:null,year:null},ce=()=>k.value?Array.isArray(k.value)?k.value.map(o=>ie(o)):ie(k.value):ie(),pe=(o,w)=>{const z=S.value[o],u=ce();return Array.isArray(u)?u.some(le=>le.year===z?.year&&le.month===w):z?.year===u.year&&w===u.month},g=(o,w,z)=>{var u,le;const fe=ce();return Array.isArray(fe)?Y.value(w)===((u=fe[z])==null?void 0:u.year)&&o===((le=fe[z])==null?void 0:le.month):!1},D=(o,w)=>{if(i.value.enabled){const z=ce();if(Array.isArray(k.value)&&Array.isArray(z)){const u=g(o,w,0)||g(o,w,1),le=Mt(pt(Q()),o,Y.value(w));return $a(k.value,U.value,le)&&!u}return!1}return!1},y=G(()=>o=>Zt(I.value,w=>{var z;const u=pe(o,w.value),le=fa(w.value,wr(Y.value(o),c.value.minDate),_r(Y.value(o),c.value.maxDate))||mi(c.value.disabledDates,Y.value(o)).includes(w.value)||((z=m.value.months)==null?void 0:z.includes(w.value)),fe=D(w.value,o),Ve=Tr(p.value,w.value,Y.value(o));return{active:u,disabled:le,isBetween:fe,highlighted:Ve}})),H=(o,w)=>Mt(pt(Q()),o,Y.value(w)),re=(o,w)=>{const z=k.value?k.value:pt(new Date);k.value=Mt(z,o,Y.value(w)),t("auto-apply"),t("update-flow-step")},R=(o,w)=>{const z=H(o,w);i.value.fixedEnd||i.value.fixedStart?k.value=$r(z,k,t,i):k.value?A(z,k.value)&&(k.value=Tn(k,H(o,w),t)):k.value=[H(o,w)],it().then(()=>{Ra(k.value,t,e.autoApply,e.modelAuto)})},b=(o,w)=>{Dn(H(o,w),k,v.value.limit),t("auto-apply",!0)},oe=(o,w)=>(S.value[w].month=o,M(w,S.value[w].year,o),v.value.enabled?b(o,w):i.value.enabled?R(o,w):re(o,w)),V=(o,w)=>{q(o,w),M(w,o,null)},M=(o,w,z)=>{let u=z;if(!u&&u!==0){const le=ce();u=Array.isArray(le)?le[o].month:le.month}t("update-month-year",{instance:o,year:w,month:u})};return{groupedMonths:y,groupedYears:ae,year:Y,isDisabled:N,defaultedMultiCalendars:n,defaultedAriaLabels:a,defaultedTransitions:r,defaultedConfig:l,showYearPicker:E,modelValue:k,presetDate:(o,w)=>{Or({value:o,modelValue:k,range:i.value.enabled,timezone:w?void 0:C.value.timezone}),t("auto-apply")},setHoverDate:(o,w)=>{U.value=H(o,w)},selectMonth:oe,selectYear:V,toggleYearPicker:B,handleYearSelect:ne,handleYear:F,getModelMonthYear:ce}},qi=ze({compatConfig:{MODE:3},__name:"MonthPicker",props:{...yt},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=qt(),l=lt(r,"yearMode"),i=e;Ke(()=>{i.shadow||a("mount",null)});const{groupedMonths:p,groupedYears:c,year:C,isDisabled:m,defaultedMultiCalendars:v,defaultedConfig:h,showYearPicker:k,modelValue:Y,presetDate:f,setHoverDate:S,selectMonth:I,selectYear:U,toggleYearPicker:A,handleYearSelect:q,handleYear:ae,getModelMonthYear:E}=Fi(i,a);return t({getSidebarProps:()=>({modelValue:Y,year:C,getModelMonthYear:E,selectMonth:I,selectYear:U,handleYear:ae}),presetDate:f,toggleYearPicker:B=>A(0,B)}),(B,ne)=>(P(),De(Sa,{"multi-calendars":d(v).count,collapse:B.collapse,stretch:""},{default:_e(({instance:F})=>[B.$slots["top-extra"]?ue(B.$slots,"top-extra",{key:0,value:B.internalModelValue}):j("",!0),B.$slots["month-year"]?ue(B.$slots,"month-year",We(Qe({key:1},{year:d(C),months:d(p)(F),years:d(c)(F),selectMonth:d(I),selectYear:d(U),instance:F}))):(P(),De(ya,{key:2,items:d(p)(F),"arrow-navigation":B.arrowNavigation,"is-last":B.autoApply&&!d(h).keepActionRow,"esc-close":B.escClose,height:d(h).modeHeight,config:B.config,"no-overlay-focus":!!(B.noOverlayFocus||B.textInput),"use-relative":"",type:"month",onSelected:N=>d(I)(N,F),onHoverValue:N=>d(S)(N,F)},je({header:_e(()=>[ot(Cr,Qe(B.$props,{items:d(c)(F),instance:F,"show-year-picker":d(k)[F],year:d(C)(F),"is-disabled":N=>d(m)(F,N),onHandleYear:N=>d(ae)(F,N),onYearSelect:N=>d(q)(N,F),onToggleYearPicker:N=>d(A)(F,N?.flow,N?.show)}),je({_:2},[Ye(d(l),(N,ie)=>({name:N,fn:_e(ce=>[ue(B.$slots,N,We(at(ce)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[B.$slots["month-overlay-value"]?{name:"item",fn:_e(({item:N})=>[ue(B.$slots,"month-overlay-value",{text:N.text,value:N.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse"]))}}),Wi=(e,t)=>{const n=()=>{e.isTextInputDate&&(m.value=he(Q(e.startDate)))},{modelValue:a}=ba(e,t,n),r=Z(null),{defaultedHighlight:l,defaultedMultiDates:i,defaultedFilters:p,defaultedRange:c,propDates:C}=Se(e),m=Z();Ke(()=>{e.startDate&&(a.value&&e.focusStartDate||!a.value)&&(m.value=he(Q(e.startDate)))});const v=f=>Array.isArray(a.value)?a.value.some(S=>he(S)===f):a.value?he(a.value)===f:!1,h=f=>c.value.enabled&&Array.isArray(a.value)?$a(a.value,r.value,Y(f)):!1,k=G(()=>Zt(_n(e.yearRange,e.locale,e.reverseYears),f=>{const S=v(f.value),I=fa(f.value,ea(C.value.minDate),ea(C.value.maxDate))||p.value.years.includes(f.value),U=h(f.value)&&!S,A=Mn(l.value,f.value);return{active:S,disabled:I,isBetween:U,highlighted:A}})),Y=f=>_t(pt(ma(new Date)),f);return{groupedYears:k,modelValue:a,focusYear:m,setHoverValue:f=>{r.value=_t(pt(new Date),f)},selectYear:f=>{var S;if(t("update-month-year",{instance:0,year:f}),i.value.enabled)return a.value?Array.isArray(a.value)&&(((S=a.value)==null?void 0:S.map(I=>he(I))).includes(f)?a.value=a.value.filter(I=>he(I)!==f):a.value.push(_t(tt(Q()),f))):a.value=[_t(tt(ma(Q())),f)],t("auto-apply",!0);c.value.enabled?(a.value=Tn(a,Y(f),t),it().then(()=>{Ra(a.value,t,e.autoApply,e.modelAuto)})):(a.value=Y(f),t("auto-apply"))}}},Qi=ze({compatConfig:{MODE:3},__name:"YearPicker",props:{...yt},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,{groupedYears:l,modelValue:i,focusYear:p,selectYear:c,setHoverValue:C}=Wi(r,a),{defaultedConfig:m}=Se(r);return t({getSidebarProps:()=>({modelValue:i,selectYear:c})}),(v,h)=>(P(),W("div",null,[v.$slots["top-extra"]?ue(v.$slots,"top-extra",{key:0,value:v.internalModelValue}):j("",!0),v.$slots["month-year"]?ue(v.$slots,"month-year",We(Qe({key:1},{years:d(l),selectYear:d(c)}))):(P(),De(ya,{key:2,items:d(l),"is-last":v.autoApply&&!d(m).keepActionRow,height:d(m).modeHeight,config:v.config,"no-overlay-focus":!!(v.noOverlayFocus||v.textInput),"focus-value":d(p),type:"year","use-relative":"",onSelected:d(c),onHoverValue:d(C)},je({_:2},[v.$slots["year-overlay-value"]?{name:"item",fn:_e(({item:k})=>[ue(v.$slots,"year-overlay-value",{text:k.text,value:k.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),zi={key:0,class:"dp__time_input"},Ui=["data-test","aria-label","onKeydown","onClick","onMousedown"],Xi=["aria-label","disabled","data-test","onKeydown","onClick"],Gi=["data-test","aria-label","onKeydown","onClick","onMousedown"],ji={key:0},Ki=["aria-label"],Ji=ze({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...yt},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{setTimePickerElements:l,setTimePickerBackRef:i}=It(),{defaultedAriaLabels:p,defaultedTransitions:c,defaultedFilters:C,defaultedConfig:m,defaultedRange:v}=Se(r),{transitionName:h,showTransition:k}=ga(c),Y=ha({hours:!1,minutes:!1,seconds:!1}),f=Z("AM"),S=Z(null),I=Z([]),U=Z(),A=Z(!1);Ke(()=>{a("mounted")});const q=s=>Ce(new Date,{hours:s.hours,minutes:s.minutes,seconds:r.enableSeconds?s.seconds:0,milliseconds:0}),ae=G(()=>s=>H(s,r[s])||B(s,r[s])),E=G(()=>({hours:r.hours,minutes:r.minutes,seconds:r.seconds})),B=(s,L)=>v.value.enabled&&!v.value.disableTimeRangeValidation?!r.validateTime(s,L):!1,ne=(s,L)=>{if(v.value.enabled&&!v.value.disableTimeRangeValidation){const J=L?+r[`${s}Increment`]:-+r[`${s}Increment`],$=r[s]+J;return!r.validateTime(s,$)}return!1},F=G(()=>s=>!V(+r[s]+ +r[`${s}Increment`],s)||ne(s,!0)),N=G(()=>s=>!V(+r[s]-+r[`${s}Increment`],s)||ne(s,!1)),ie=(s,L)=>Xn(Ce(Q(),s),L),ce=(s,L)=>Go(Ce(Q(),s),L),pe=G(()=>({dp__time_col:!0,dp__time_col_block:!r.timePickerInline,dp__time_col_reg_block:!r.enableSeconds&&r.is24&&!r.timePickerInline,dp__time_col_reg_inline:!r.enableSeconds&&r.is24&&r.timePickerInline,dp__time_col_reg_with_button:!r.enableSeconds&&!r.is24,dp__time_col_sec:r.enableSeconds&&r.is24,dp__time_col_sec_with_button:r.enableSeconds&&!r.is24})),g=G(()=>{const s=[{type:"hours"}];return r.enableMinutes&&s.push({type:"",separator:!0},{type:"minutes"}),r.enableSeconds&&s.push({type:"",separator:!0},{type:"seconds"}),s}),D=G(()=>g.value.filter(s=>!s.separator)),y=G(()=>s=>{if(s==="hours"){const L=le(+r.hours);return{text:L<10?`0${L}`:`${L}`,value:L}}return{text:r[s]<10?`0${r[s]}`:`${r[s]}`,value:r[s]}}),H=(s,L)=>{var J;if(!r.disabledTimesConfig)return!1;const $=r.disabledTimesConfig(r.order,s==="hours"?L:void 0);return $[s]?!!((J=$[s])!=null&&J.includes(L)):!0},re=(s,L)=>L!=="hours"||f.value==="AM"?s:s+12,R=s=>{const L=r.is24?24:12,J=s==="hours"?L:60,$=+r[`${s}GridIncrement`],ge=s==="hours"&&!r.is24?$:0,x=[];for(let X=ge;X({active:!1,disabled:C.value.times[s].includes(X.value)||!V(X.value,s)||H(s,X.value)||B(s,X.value)}))},b=s=>s>=0?s:59,oe=s=>s>=0?s:23,V=(s,L)=>{const J=r.minTime?q(za(r.minTime)):null,$=r.maxTime?q(za(r.maxTime)):null,ge=q(za(E.value,L,L==="minutes"||L==="seconds"?b(s):oe(s)));return J&&$?(pa(ge,$)||Xt(ge,$))&&(Kt(ge,J)||Xt(ge,J)):J?Kt(ge,J)||Xt(ge,J):$?pa(ge,$)||Xt(ge,$):!0},M=s=>r[`no${s[0].toUpperCase()+s.slice(1)}Overlay`],o=s=>{M(s)||(Y[s]=!Y[s],Y[s]?(A.value=!0,a("overlay-opened",s)):(A.value=!1,a("overlay-closed",s)))},w=s=>s==="hours"?Tt:s==="minutes"?Rt:jt,z=()=>{U.value&&clearTimeout(U.value)},u=(s,L=!0,J)=>{const $=L?ie:ce,ge=L?+r[`${s}Increment`]:-+r[`${s}Increment`];V(+r[s]+ge,s)&&a(`update:${s}`,w(s)($({[s]:+r[s]},{[s]:+r[`${s}Increment`]}))),!(J!=null&&J.keyboard)&&m.value.timeArrowHoldThreshold&&(U.value=setTimeout(()=>{u(s,L)},m.value.timeArrowHoldThreshold))},le=s=>r.is24?s:(s>=12?f.value="PM":f.value="AM",ti(s)),fe=()=>{f.value==="PM"?(f.value="AM",a("update:hours",r.hours-12)):(f.value="PM",a("update:hours",r.hours+12)),a("am-pm-change",f.value)},Ve=s=>{Y[s]=!0},T=(s,L,J)=>{if(s&&r.arrowNavigation){Array.isArray(I.value[L])?I.value[L][J]=s:I.value[L]=[s];const $=I.value.reduce((ge,x)=>x.map((X,de)=>[...ge[de]||[],x[de]]),[]);i(r.closeTimePickerBtn),S.value&&($[1]=$[1].concat(S.value)),l($,r.order)}},K=(s,L)=>(o(s),a(`update:${s}`,L));return t({openChildCmp:Ve}),(s,L)=>{var J;return s.disabled?j("",!0):(P(),W("div",zi,[(P(!0),W(we,null,Ye(g.value,($,ge)=>{var x,X,de;return P(),W("div",{key:ge,class:ke(pe.value)},[$.separator?(P(),W(we,{key:0},[A.value?j("",!0):(P(),W(we,{key:0},[Dt(":")],64))],64)):(P(),W(we,{key:1},[ye("button",{ref_for:!0,ref:be=>T(be,ge,0),type:"button",class:ke({dp__btn:!0,dp__inc_dec_button:!s.timePickerInline,dp__inc_dec_button_inline:s.timePickerInline,dp__tp_inline_btn_top:s.timePickerInline,dp__inc_dec_button_disabled:F.value($.type),"dp--hidden-el":A.value}),"data-test":`${$.type}-time-inc-btn-${r.order}`,"aria-label":(x=d(p))==null?void 0:x.incrementValue($.type),tabindex:"0",onKeydown:be=>d(et)(be,()=>u($.type,!0,{keyboard:!0}),!0),onClick:be=>d(m).timeArrowHoldThreshold?void 0:u($.type,!0),onMousedown:be=>d(m).timeArrowHoldThreshold?u($.type,!0):void 0,onMouseup:z},[r.timePickerInline?(P(),W(we,{key:1},[s.$slots["tp-inline-arrow-up"]?ue(s.$slots,"tp-inline-arrow-up",{key:0}):(P(),W(we,{key:1},[L[2]||(L[2]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),L[3]||(L[3]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(P(),W(we,{key:0},[s.$slots["arrow-up"]?ue(s.$slots,"arrow-up",{key:0}):j("",!0),s.$slots["arrow-up"]?j("",!0):(P(),De(d(gn),{key:1}))],64))],42,Ui),ye("button",{ref_for:!0,ref:be=>T(be,ge,1),type:"button","aria-label":`${y.value($.type).text}-${(X=d(p))==null?void 0:X.openTpOverlay($.type)}`,class:ke({dp__time_display:!0,dp__time_display_block:!s.timePickerInline,dp__time_display_inline:s.timePickerInline,"dp--time-invalid":ae.value($.type),"dp--time-overlay-btn":!ae.value($.type),"dp--hidden-el":A.value}),disabled:M($.type),tabindex:"0","data-test":`${$.type}-toggle-overlay-btn-${r.order}`,onKeydown:be=>d(et)(be,()=>o($.type),!0),onClick:be=>o($.type)},[s.$slots[$.type]?ue(s.$slots,$.type,{key:0,text:y.value($.type).text,value:y.value($.type).value}):j("",!0),s.$slots[$.type]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(y.value($.type).text),1)],64))],42,Xi),ye("button",{ref_for:!0,ref:be=>T(be,ge,2),type:"button",class:ke({dp__btn:!0,dp__inc_dec_button:!s.timePickerInline,dp__inc_dec_button_inline:s.timePickerInline,dp__tp_inline_btn_bottom:s.timePickerInline,dp__inc_dec_button_disabled:N.value($.type),"dp--hidden-el":A.value}),"data-test":`${$.type}-time-dec-btn-${r.order}`,"aria-label":(de=d(p))==null?void 0:de.decrementValue($.type),tabindex:"0",onKeydown:be=>d(et)(be,()=>u($.type,!1,{keyboard:!0}),!0),onClick:be=>d(m).timeArrowHoldThreshold?void 0:u($.type,!1),onMousedown:be=>d(m).timeArrowHoldThreshold?u($.type,!1):void 0,onMouseup:z},[r.timePickerInline?(P(),W(we,{key:1},[s.$slots["tp-inline-arrow-down"]?ue(s.$slots,"tp-inline-arrow-down",{key:0}):(P(),W(we,{key:1},[L[4]||(L[4]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1)),L[5]||(L[5]=ye("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1))],64))],64)):(P(),W(we,{key:0},[s.$slots["arrow-down"]?ue(s.$slots,"arrow-down",{key:0}):j("",!0),s.$slots["arrow-down"]?j("",!0):(P(),De(d(bn),{key:1}))],64))],42,Gi)],64))],2)}),128)),s.is24?j("",!0):(P(),W("div",ji,[s.$slots["am-pm-button"]?ue(s.$slots,"am-pm-button",{key:0,toggle:fe,value:f.value}):j("",!0),s.$slots["am-pm-button"]?j("",!0):(P(),W("button",{key:1,ref_key:"amPmButton",ref:S,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(J=d(p))==null?void 0:J.amPmButton,tabindex:"0",onClick:fe,onKeydown:L[0]||(L[0]=$=>d(et)($,()=>fe(),!0))},Ge(f.value),41,Ki))])),(P(!0),W(we,null,Ye(D.value,($,ge)=>(P(),De(ta,{key:ge,name:d(h)(Y[$.type]),css:d(k)},{default:_e(()=>{var x,X;return[Y[$.type]?(P(),De(ya,{key:0,items:R($.type),"is-last":s.autoApply&&!d(m).keepActionRow,"esc-close":s.escClose,type:$.type,"text-input":s.textInput,config:s.config,"arrow-navigation":s.arrowNavigation,"aria-labels":s.ariaLabels,"overlay-label":(X=(x=d(p)).timeOverlay)==null?void 0:X.call(x,$.type),onSelected:de=>K($.type,de),onToggle:de=>o($.type),onResetFlow:L[1]||(L[1]=de=>s.$emit("reset-flow"))},je({"button-icon":_e(()=>[s.$slots["clock-icon"]?ue(s.$slots,"clock-icon",{key:0}):j("",!0),s.$slots["clock-icon"]?j("",!0):(P(),De(Oa(s.timePickerInline?d(aa):d(yn)),{key:1}))]),_:2},[s.$slots[`${$.type}-overlay-value`]?{name:"item",fn:_e(({item:de})=>[ue(s.$slots,`${$.type}-overlay-value`,{text:de.text,value:de.value})]),key:"0"}:void 0,s.$slots[`${$.type}-overlay-header`]?{name:"header",fn:_e(()=>[ue(s.$slots,`${$.type}-overlay-header`,{toggle:()=>o($.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):j("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),Zi={class:"dp--tp-wrap"},es=["aria-label","tabindex"],ts=["role","aria-label","tabindex"],as=["aria-label"],Sr=ze({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...yt},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMatrix:l,setTimePicker:i}=It(),p=qt(),{defaultedTransitions:c,defaultedAriaLabels:C,defaultedTextInput:m,defaultedConfig:v,defaultedRange:h}=Se(r),{transitionName:k,showTransition:Y}=ga(c),{hideNavigationButtons:f}=Ia(),S=Z(null),I=Z(null),U=Z([]),A=Z(null),q=Z(!1);Ke(()=>{a("mount"),!r.timePicker&&r.arrowNavigation?l([Fe(S.value)],"time"):i(!0,r.timePicker)});const ae=G(()=>h.value.enabled&&r.modelAuto?yr(r.internalModelValue):!0),E=Z(!1),B=R=>({hours:Array.isArray(r.hours)?r.hours[R]:r.hours,minutes:Array.isArray(r.minutes)?r.minutes[R]:r.minutes,seconds:Array.isArray(r.seconds)?r.seconds[R]:r.seconds}),ne=G(()=>{const R=[];if(h.value.enabled)for(let b=0;b<2;b++)R.push(B(b));else R.push(B(0));return R}),F=(R,b=!1,oe="")=>{b||a("reset-flow"),E.value=R,a(R?"overlay-opened":"overlay-closed",Xe.time),r.arrowNavigation&&i(R),it(()=>{oe!==""&&U.value[0]&&U.value[0].openChildCmp(oe)})},N=G(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:r.autoApply&&!v.value.keepActionRow})),ie=lt(p,"timePicker"),ce=(R,b,oe)=>h.value.enabled?b===0?[R,ne.value[1][oe]]:[ne.value[0][oe],R]:R,pe=R=>{a("update:hours",R)},g=R=>{a("update:minutes",R)},D=R=>{a("update:seconds",R)},y=()=>{if(A.value&&!m.value.enabled&&!r.noOverlayFocus){const R=gr(A.value);R&&R.focus({preventScroll:!0})}},H=R=>{q.value=!1,a("overlay-closed",R)},re=R=>{q.value=!0,a("overlay-opened",R)};return t({toggleTimePicker:F}),(R,b)=>{var oe;return P(),W("div",Zi,[!R.timePicker&&!R.timePickerInline?Ma((P(),W("button",{key:0,ref_key:"openTimePickerBtn",ref:S,type:"button",class:ke({...N.value,"dp--hidden-el":E.value}),"aria-label":(oe=d(C))==null?void 0:oe.openTimePicker,tabindex:R.noOverlayFocus?void 0:0,"data-test":"open-time-picker-btn",onKeydown:b[0]||(b[0]=V=>d(et)(V,()=>F(!0))),onClick:b[1]||(b[1]=V=>F(!0))},[R.$slots["clock-icon"]?ue(R.$slots,"clock-icon",{key:0}):j("",!0),R.$slots["clock-icon"]?j("",!0):(P(),De(d(yn),{key:1}))],42,es)),[[Da,!d(f)(R.hideNavigation,"time")]]):j("",!0),ot(ta,{name:d(k)(E.value),css:d(Y)&&!R.timePickerInline},{default:_e(()=>{var V,M;return[E.value||R.timePicker||R.timePickerInline?(P(),W("div",{key:0,ref_key:"overlayRef",ref:A,role:R.timePickerInline?void 0:"dialog",class:ke({dp__overlay:!R.timePickerInline,"dp--overlay-absolute":!r.timePicker&&!R.timePickerInline,"dp--overlay-relative":r.timePicker}),style:dt(R.timePicker?{height:`${d(v).modeHeight}px`}:void 0),"aria-label":(V=d(C))==null?void 0:V.timePicker,tabindex:R.timePickerInline?void 0:0},[ye("div",{class:ke(R.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[R.$slots["time-picker-overlay"]?ue(R.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:pe,setMinutes:g,setSeconds:D}):j("",!0),R.$slots["time-picker-overlay"]?j("",!0):(P(),W("div",{key:1,class:ke(R.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(P(!0),W(we,null,Ye(ne.value,(o,w)=>Ma((P(),De(Ji,Qe({key:w,ref_for:!0},{...R.$props,order:w,hours:o.hours,minutes:o.minutes,seconds:o.seconds,closeTimePickerBtn:I.value,disabledTimesConfig:e.disabledTimesConfig,disabled:w===0?d(h).fixedStart:d(h).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:U,"validate-time":(z,u)=>e.validateTime(z,ce(u,w,z)),"onUpdate:hours":z=>pe(ce(z,w,"hours")),"onUpdate:minutes":z=>g(ce(z,w,"minutes")),"onUpdate:seconds":z=>D(ce(z,w,"seconds")),onMounted:y,onOverlayClosed:H,onOverlayOpened:re,onAmPmChange:b[2]||(b[2]=z=>R.$emit("am-pm-change",z))}),je({_:2},[Ye(d(ie),(z,u)=>({name:z,fn:_e(le=>[ue(R.$slots,z,Qe({ref_for:!0},le))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[Da,w===0?!0:ae.value]])),128))],2)),!R.timePicker&&!R.timePickerInline?Ma((P(),W("button",{key:2,ref_key:"closeTimePickerBtn",ref:I,type:"button",class:ke({...N.value,"dp--hidden-el":q.value}),"aria-label":(M=d(C))==null?void 0:M.closeTimePicker,tabindex:"0",onKeydown:b[3]||(b[3]=o=>d(et)(o,()=>F(!1))),onClick:b[4]||(b[4]=o=>F(!1))},[R.$slots["calendar-icon"]?ue(R.$slots,"calendar-icon",{key:0}):j("",!0),R.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))],42,as)),[[Da,!d(f)(R.hideNavigation,"time")]]):j("",!0)],2)],14,ts)):j("",!0)]}),_:3},8,["name","css"])])}}}),Rr=(e,t,n,a)=>{const{defaultedRange:r}=Se(e),l=(A,q)=>Array.isArray(t[A])?t[A][q]:t[A],i=A=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[A]:t.seconds:0,p=(A,q)=>A?q!==void 0?St(A,l("hours",q),l("minutes",q),i(q)):St(A,t.hours,t.minutes,i()):mr(Q(),i(q)),c=(A,q)=>{t[A]=q},C=G(()=>e.modelAuto&&r.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:r.value.enabled),m=(A,q)=>{const ae=Object.fromEntries(Object.keys(t).map(E=>E===A?[E,q]:[E,t[E]].slice()));if(C.value&&!r.value.disableTimeRangeValidation){const E=ne=>n.value?St(n.value[ne],ae.hours[ne],ae.minutes[ne],ae.seconds[ne]):null,B=ne=>vr(n.value[ne],0);return!(Me(E(0),E(1))&&(Kt(E(0),B(1))||pa(E(1),B(0))))}return!0},v=(A,q)=>{m(A,q)&&(c(A,q),a&&a())},h=A=>{v("hours",A)},k=A=>{v("minutes",A)},Y=A=>{v("seconds",A)},f=(A,q,ae,E)=>{q&&h(A),!q&&!ae&&k(A),ae&&Y(A),n.value&&E(n.value)},S=A=>{if(A){const q=Array.isArray(A),ae=q?[+A[0].hours,+A[1].hours]:+A.hours,E=q?[+A[0].minutes,+A[1].minutes]:+A.minutes,B=q?[+A[0].seconds,+A[1].seconds]:+A.seconds;c("hours",ae),c("minutes",E),e.enableSeconds&&c("seconds",B)}},I=(A,q)=>{const ae={hours:Array.isArray(t.hours)?t.hours[A]:t.hours,disabledArr:[]};return(q||q===0)&&(ae.hours=q),Array.isArray(e.disabledTimes)&&(ae.disabledArr=r.value.enabled&&Array.isArray(e.disabledTimes[A])?e.disabledTimes[A]:e.disabledTimes),ae},U=G(()=>(A,q)=>{var ae;if(Array.isArray(e.disabledTimes)){const{disabledArr:E,hours:B}=I(A,q),ne=E.filter(F=>+F.hours===B);return((ae=ne[0])==null?void 0:ae.minutes)==="*"?{hours:[B],minutes:void 0,seconds:void 0}:{hours:[],minutes:ne?.map(F=>+F.minutes)??[],seconds:ne?.map(F=>F.seconds?+F.seconds:void 0)??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:c,updateHours:h,updateMinutes:k,updateSeconds:Y,getSetDateTime:p,updateTimeValues:f,getSecondsValue:i,assignStartTime:S,validateTime:m,disabledTimesConfig:U}},ns=(e,t)=>{const n=()=>{e.isTextInputDate&&q()},{modelValue:a,time:r}=ba(e,t,n),{defaultedStartTime:l,defaultedRange:i,defaultedTz:p}=Se(e),{updateTimeValues:c,getSetDateTime:C,setTime:m,assignStartTime:v,disabledTimesConfig:h,validateTime:k}=Rr(e,r,a,Y);function Y(){t("update-flow-step")}const f=E=>{const{hours:B,minutes:ne,seconds:F}=E;return{hours:+B,minutes:+ne,seconds:F?+F:0}},S=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const B=f(e.startTime[0]),ne=f(e.startTime[1]);return[Ce(Q(),B),Ce(Q(),ne)]}const E=f(e.startTime);return Ce(Q(),E)}return i.value.enabled?[null,null]:null},I=()=>{if(i.value.enabled){const[E,B]=S();a.value=[nt(C(E,0),p.value.timezone),nt(C(B,1),p.value.timezone)]}else a.value=nt(C(S()),p.value.timezone)},U=E=>Array.isArray(E)?[Ft(Q(E[0])),Ft(Q(E[1]))]:[Ft(E??Q())],A=(E,B,ne)=>{m("hours",E),m("minutes",B),m("seconds",e.enableSeconds?ne:0)},q=()=>{const[E,B]=U(a.value);return i.value.enabled?A([E.hours,B.hours],[E.minutes,B.minutes],[E.seconds,B.seconds]):A(E.hours,E.minutes,E.seconds)};Ke(()=>{if(!e.shadow)return v(l.value),a.value?q():I()});const ae=()=>{Array.isArray(a.value)?a.value=a.value.map((E,B)=>E&&C(E,B)):a.value=C(a.value),t("time-update")};return{modelValue:a,time:r,disabledTimesConfig:h,updateTime:(E,B=!0,ne=!1)=>{c(E,B,ne,ae)},validateTime:k}},rs=ze({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...yt},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=lt(l,"timePicker"),p=Z(null),{time:c,modelValue:C,disabledTimesConfig:m,updateTime:v,validateTime:h}=ns(r,a);return Ke(()=>{r.shadow||a("mount",null)}),t({getSidebarProps:()=>({modelValue:C,time:c,updateTime:v}),toggleTimePicker:(k,Y=!1,f="")=>{var S;(S=p.value)==null||S.toggleTimePicker(k,Y,f)}}),(k,Y)=>(P(),De(Sa,{"multi-calendars":0,stretch:""},{default:_e(()=>[ot(Sr,Qe({ref_key:"tpRef",ref:p},k.$props,{hours:d(c).hours,minutes:d(c).minutes,seconds:d(c).seconds,"internal-model-value":k.internalModelValue,"disabled-times-config":d(m),"validate-time":d(h),"onUpdate:hours":Y[0]||(Y[0]=f=>d(v)(f)),"onUpdate:minutes":Y[1]||(Y[1]=f=>d(v)(f,!1)),"onUpdate:seconds":Y[2]||(Y[2]=f=>d(v)(f,!1,!0)),onAmPmChange:Y[3]||(Y[3]=f=>k.$emit("am-pm-change",f)),onResetFlow:Y[4]||(Y[4]=f=>k.$emit("reset-flow")),onOverlayClosed:Y[5]||(Y[5]=f=>k.$emit("overlay-toggle",{open:!1,overlay:f})),onOverlayOpened:Y[6]||(Y[6]=f=>k.$emit("overlay-toggle",{open:!0,overlay:f}))}),je({_:2},[Ye(d(i),(f,S)=>({name:f,fn:_e(I=>[ue(k.$slots,f,We(at(I)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3}))}}),ls={class:"dp--header-wrap"},os={key:0,class:"dp__month_year_wrap"},is={key:0},ss={class:"dp__month_year_wrap"},us=["data-dp-element","aria-label","data-test","onClick","onKeydown"],ds=ze({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...yt},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTransitions:l,defaultedAriaLabels:i,defaultedMultiCalendars:p,defaultedFilters:c,defaultedConfig:C,defaultedHighlight:m,propDates:v,defaultedUI:h}=Se(r),{transitionName:k,showTransition:Y}=ga(l),{buildMatrix:f}=It(),{handleMonthYearChange:S,isDisabled:I,updateMonthYear:U}=Yi(r,a),{showLeftIcon:A,showRightIcon:q}=Ia(),ae=Z(!1),E=Z(!1),B=Z(!1),ne=Z([null,null,null,null]);Ke(()=>{a("mount")});const F=M=>({get:()=>r[M],set:o=>{const w=M===vt.month?vt.year:vt.month;a("update-month-year",{[M]:o,[w]:r[w]}),M===vt.month?H(!0):re(!0)}}),N=G(F(vt.month)),ie=G(F(vt.year)),ce=G(()=>M=>({month:r.month,year:r.year,items:M===vt.month?r.months:r.years,instance:r.instance,updateMonthYear:U,toggle:M===vt.month?H:re})),pe=G(()=>r.months.find(o=>o.value===r.month)||{text:"",value:0}),g=G(()=>Zt(r.months,M=>{const o=r.month===M.value,w=fa(M.value,wr(r.year,v.value.minDate),_r(r.year,v.value.maxDate))||c.value.months.includes(M.value),z=Tr(m.value,M.value,r.year);return{active:o,disabled:w,highlighted:z}})),D=G(()=>Zt(r.years,M=>{const o=r.year===M.value,w=fa(M.value,ea(v.value.minDate),ea(v.value.maxDate))||c.value.years.includes(M.value),z=Mn(m.value,M.value);return{active:o,disabled:w,highlighted:z}})),y=(M,o,w)=>{w!==void 0?M.value=w:M.value=!M.value,M.value?(B.value=!0,a("overlay-opened",o)):(B.value=!1,a("overlay-closed",o))},H=(M=!1,o)=>{R(M),y(ae,Xe.month,o)},re=(M=!1,o)=>{R(M),y(E,Xe.year,o)},R=M=>{M||a("reset-flow")},b=(M,o)=>{r.arrowNavigation&&(ne.value[o]=Fe(M),f(ne.value,"monthYear"))},oe=G(()=>{var M,o,w,z,u,le;return[{type:vt.month,index:1,toggle:H,modelValue:N.value,updateModelValue:fe=>N.value=fe,text:pe.value.text,showSelectionGrid:ae.value,items:g.value,ariaLabel:(M=i.value)==null?void 0:M.openMonthsOverlay,overlayLabel:((w=(o=i.value).monthPicker)==null?void 0:w.call(o,!0))??void 0},{type:vt.year,index:2,toggle:re,modelValue:ie.value,updateModelValue:fe=>ie.value=fe,text:br(r.year,r.locale),showSelectionGrid:E.value,items:D.value,ariaLabel:(z=i.value)==null?void 0:z.openYearsOverlay,overlayLabel:((le=(u=i.value).yearPicker)==null?void 0:le.call(u,!0))??void 0}]}),V=G(()=>r.disableYearSelect?[oe.value[0]]:r.yearFirst?[...oe.value].reverse():oe.value);return t({toggleMonthPicker:H,toggleYearPicker:re,handleMonthYearChange:S}),(M,o)=>{var w,z,u,le,fe,Ve;return P(),W("div",ls,[M.$slots["month-year"]?(P(),W("div",os,[ue(M.$slots,"month-year",We(at({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:d(U),handleMonthYearChange:d(S),instance:e.instance})))])):(P(),W(we,{key:1},[M.$slots["top-extra"]?(P(),W("div",is,[ue(M.$slots,"top-extra",{value:M.internalModelValue})])):j("",!0),ye("div",ss,[d(A)(d(p),e.instance)&&!M.vertical?(P(),De(da,{key:0,"aria-label":(w=d(i))==null?void 0:w.prevMonth,disabled:d(I)(!1),class:ke((z=d(h))==null?void 0:z.navBtnPrev),"el-name":"action-prev",onActivate:o[0]||(o[0]=T=>d(S)(!1,!0)),onSetRef:o[1]||(o[1]=T=>b(T,0))},{default:_e(()=>[M.$slots["arrow-left"]?ue(M.$slots,"arrow-left",{key:0}):j("",!0),M.$slots["arrow-left"]?j("",!0):(P(),De(d(fn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),ye("div",{class:ke(["dp__month_year_wrap",{dp__year_disable_select:M.disableYearSelect}])},[(P(!0),W(we,null,Ye(V.value,(T,K)=>(P(),W(we,{key:T.type},[ye("button",{ref_for:!0,ref:s=>b(s,K+1),type:"button","data-dp-element":`overlay-${T.type}`,class:ke(["dp__btn dp__month_year_select",{"dp--hidden-el":B.value}]),"aria-label":`${T.text}-${T.ariaLabel}`,"data-test":`${T.type}-toggle-overlay-${e.instance}`,onClick:T.toggle,onKeydown:s=>d(et)(s,()=>T.toggle(),!0)},[M.$slots[T.type]?ue(M.$slots,T.type,{key:0,text:T.text,value:r[T.type]}):j("",!0),M.$slots[T.type]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(T.text),1)],64))],42,us),ot(ta,{name:d(k)(T.showSelectionGrid),css:d(Y)},{default:_e(()=>[T.showSelectionGrid?(P(),De(ya,{key:0,items:T.items,"arrow-navigation":M.arrowNavigation,"hide-navigation":M.hideNavigation,"is-last":M.autoApply&&!d(C).keepActionRow,"skip-button-ref":!1,config:M.config,type:T.type,"header-refs":[],"esc-close":M.escClose,"menu-wrap-ref":M.menuWrapRef,"text-input":M.textInput,"aria-labels":M.ariaLabels,"overlay-label":T.overlayLabel,onSelected:T.updateModelValue,onToggle:T.toggle},je({"button-icon":_e(()=>[M.$slots["calendar-icon"]?ue(M.$slots,"calendar-icon",{key:0}):j("",!0),M.$slots["calendar-icon"]?j("",!0):(P(),De(d(aa),{key:1}))]),_:2},[M.$slots[`${T.type}-overlay-value`]?{name:"item",fn:_e(({item:s})=>[ue(M.$slots,`${T.type}-overlay-value`,{text:s.text,value:s.value})]),key:"0"}:void 0,M.$slots[`${T.type}-overlay`]?{name:"overlay",fn:_e(()=>[ue(M.$slots,`${T.type}-overlay`,Qe({ref_for:!0},ce.value(T.type)))]),key:"1"}:void 0,M.$slots[`${T.type}-overlay-header`]?{name:"header",fn:_e(()=>[ue(M.$slots,`${T.type}-overlay-header`,{toggle:T.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):j("",!0)]),_:2},1032,["name","css"])],64))),128))],2),d(A)(d(p),e.instance)&&M.vertical?(P(),De(da,{key:1,"aria-label":(u=d(i))==null?void 0:u.prevMonth,"el-name":"action-prev",disabled:d(I)(!1),class:ke((le=d(h))==null?void 0:le.navBtnPrev),onActivate:o[2]||(o[2]=T=>d(S)(!1,!0))},{default:_e(()=>[M.$slots["arrow-up"]?ue(M.$slots,"arrow-up",{key:0}):j("",!0),M.$slots["arrow-up"]?j("",!0):(P(),De(d(gn),{key:1}))]),_:3},8,["aria-label","disabled","class"])):j("",!0),d(q)(d(p),e.instance)?(P(),De(da,{key:2,ref:"rightIcon","el-name":"action-next",disabled:d(I)(!0),"aria-label":(fe=d(i))==null?void 0:fe.nextMonth,class:ke((Ve=d(h))==null?void 0:Ve.navBtnNext),onActivate:o[3]||(o[3]=T=>d(S)(!0,!0)),onSetRef:o[4]||(o[4]=T=>b(T,M.disableYearSelect?2:3))},{default:_e(()=>[M.$slots[M.vertical?"arrow-down":"arrow-right"]?ue(M.$slots,M.vertical?"arrow-down":"arrow-right",{key:0}):j("",!0),M.$slots[M.vertical?"arrow-down":"arrow-right"]?j("",!0):(P(),De(Oa(M.vertical?d(bn):d(hn)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):j("",!0)])],64))])}}}),cs={class:"dp__calendar_header",role:"row"},vs={key:0,class:"dp__calendar_header_item",role:"gridcell"},ms=["aria-label"],ps={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},fs={class:"dp__cell_inner"},hs=["id","aria-pressed","aria-disabled","aria-label","tabindex","data-test","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],ys=ze({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...yt},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const a=n,r=e,{buildMultiLevelMatrix:l}=It(),{defaultedTransitions:i,defaultedConfig:p,defaultedAriaLabels:c,defaultedMultiCalendars:C,defaultedWeekNumbers:m,defaultedMultiDates:v,defaultedUI:h}=Se(r),k=Z(null),Y=Z({bottom:"",left:"",transform:""}),f=Z([]),S=Z(null),I=Z(!0),U=Z(""),A=Z({startX:0,endX:0,startY:0,endY:0}),q=Z([]),ae=Z({left:"50%"}),E=Z(!1),B=G(()=>r.calendar?r.calendar(r.mappedDates):r.mappedDates),ne=G(()=>r.dayNames?Array.isArray(r.dayNames)?r.dayNames:r.dayNames(r.locale,+r.weekStart):ei(r.formatLocale,r.locale,+r.weekStart));Ke(()=>{a("mount",{cmp:"calendar",refs:f}),p.value.noSwipe||S.value&&(S.value.addEventListener("touchstart",b,{passive:!1}),S.value.addEventListener("touchend",oe,{passive:!1}),S.value.addEventListener("touchmove",V,{passive:!1})),r.monthChangeOnScroll&&S.value&&S.value.addEventListener("wheel",w,{passive:!1})});const F=T=>T?r.vertical?"vNext":"next":r.vertical?"vPrevious":"previous",N=(T,K)=>{if(r.transitions){const s=tt(Mt(Q(),r.month,r.year));U.value=Ne(tt(Mt(Q(),T,K)),s)?i.value[F(!0)]:i.value[F(!1)],I.value=!1,it(()=>{I.value=!0})}},ie=G(()=>({...h.value.calendar??{}})),ce=G(()=>T=>{const K=ai(T);return{dp__marker_dot:K.type==="dot",dp__marker_line:K.type==="line"}}),pe=G(()=>T=>Me(T,k.value)),g=G(()=>({dp__calendar:!0,dp__calendar_next:C.value.count>0&&r.instance!==0})),D=G(()=>T=>r.hideOffsetDates?T.current:!0),y=async(T,K)=>{const{width:s,height:L}=T.getBoundingClientRect();k.value=K.value;let J={left:`${s/2}px`},$=-50;if(await it(),q.value[0]){const{left:ge,width:x}=q.value[0].getBoundingClientRect();ge<0&&(J={left:"0"},$=0,ae.value.left=`${s/2}px`),window.innerWidth{var L,J,$;const ge=Fe(f.value[K][s]);ge&&((L=T.marker)!=null&&L.customPosition&&($=(J=T.marker)==null?void 0:J.tooltip)!=null&&$.length?Y.value=T.marker.customPosition(ge):await y(ge,T),a("tooltip-open",T.marker))},re=async(T,K,s)=>{var L,J;if(E.value&&v.value.enabled&&v.value.dragSelect)return a("select-date",T);a("set-hover-date",T),(J=(L=T.marker)==null?void 0:L.tooltip)!=null&&J.length&&await H(T,K,s)},R=T=>{k.value&&(k.value=null,Y.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),a("tooltip-close",T.marker))},b=T=>{A.value.startX=T.changedTouches[0].screenX,A.value.startY=T.changedTouches[0].screenY},oe=T=>{A.value.endX=T.changedTouches[0].screenX,A.value.endY=T.changedTouches[0].screenY,M()},V=T=>{r.vertical&&!r.inline&&T.preventDefault()},M=()=>{const T=r.vertical?"Y":"X";Math.abs(A.value[`start${T}`]-A.value[`end${T}`])>10&&a("handle-swipe",A.value[`start${T}`]>A.value[`end${T}`]?"right":"left")},o=(T,K,s)=>{T&&(Array.isArray(f.value[K])?f.value[K][s]=T:f.value[K]=[T]),r.arrowNavigation&&l(f.value,"calendar")},w=T=>{r.monthChangeOnScroll&&(T.preventDefault(),a("handle-scroll",T))},z=T=>m.value.type==="local"?vn(T.value,{weekStartsOn:+r.weekStart}):m.value.type==="iso"?dn(T.value):typeof m.value.type=="function"?m.value.type(T.value):"",u=T=>{const K=T[0];return m.value.hideOnOffsetDates?T.some(s=>s.current)?z(K):"":z(K)},le=(T,K,s=!0)=>{s&&Vn()||!s&&!Vn()||v.value.enabled||(Yt(T,p.value),a("select-date",K))},fe=T=>{Yt(T,p.value)},Ve=T=>{v.value.enabled&&v.value.dragSelect?(E.value=!0,a("select-date",T)):v.value.enabled&&a("select-date",T)};return t({triggerTransition:N}),(T,K)=>(P(),W("div",{class:ke(g.value)},[ye("div",{ref_key:"calendarWrapRef",ref:S,class:ke(ie.value),role:"grid"},[ye("div",cs,[T.weekNumbers?(P(),W("div",vs,Ge(T.weekNumName),1)):j("",!0),(P(!0),W(we,null,Ye(ne.value,(s,L)=>{var J,$;return P(),W("div",{key:L,class:"dp__calendar_header_item",role:"gridcell","data-test":"calendar-header","aria-label":($=(J=d(c))==null?void 0:J.weekDay)==null?void 0:$.call(J,L)},[T.$slots["calendar-header"]?ue(T.$slots,"calendar-header",{key:0,day:s,index:L}):j("",!0),T.$slots["calendar-header"]?j("",!0):(P(),W(we,{key:1},[Dt(Ge(s),1)],64))],8,ms)}),128))]),K[2]||(K[2]=ye("div",{class:"dp__calendar_header_separator"},null,-1)),ot(ta,{name:U.value,css:!!T.transitions},{default:_e(()=>[I.value?(P(),W("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:K[1]||(K[1]=s=>E.value=!1)},[(P(!0),W(we,null,Ye(B.value,(s,L)=>(P(),W("div",{key:L,class:"dp__calendar_row",role:"row"},[T.weekNumbers?(P(),W("div",ps,[ye("div",fs,Ge(u(s.days)),1)])):j("",!0),(P(!0),W(we,null,Ye(s.days,(J,$)=>{var ge,x,X;return P(),W("div",{id:d(Pr)(J.value),ref_for:!0,ref:de=>o(de,L,$),key:$+L,role:"gridcell",class:"dp__calendar_item","aria-pressed":(J.classData.dp__active_date||J.classData.dp__range_start||J.classData.dp__range_start)??void 0,"aria-disabled":J.classData.dp__cell_disabled||void 0,"aria-label":(x=(ge=d(c))==null?void 0:ge.day)==null?void 0:x.call(ge,J),tabindex:!J.current&&T.hideOffsetDates?void 0:0,"data-test":J.value,onClick:va(de=>le(de,J),["prevent"]),onTouchend:de=>le(de,J,!1),onKeydown:de=>d(et)(de,()=>T.$emit("select-date",J)),onMouseenter:de=>re(J,L,$),onMouseleave:de=>R(J),onMousedown:de=>Ve(J),onMouseup:K[0]||(K[0]=de=>E.value=!1)},[ye("div",{class:ke(["dp__cell_inner",J.classData])},[T.$slots.day&&D.value(J)?ue(T.$slots,"day",{key:0,day:+J.text,date:J.value}):j("",!0),T.$slots.day?j("",!0):(P(),W(we,{key:1},[Dt(Ge(J.text),1)],64)),J.marker&&D.value(J)?(P(),W(we,{key:2},[T.$slots.marker?ue(T.$slots,"marker",{key:0,marker:J.marker,day:+J.text,date:J.value}):(P(),W("div",{key:1,class:ke(ce.value(J.marker)),style:dt(J.marker.color?{backgroundColor:J.marker.color}:{})},null,6))],64)):j("",!0),pe.value(J.value)?(P(),W("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:q,class:"dp__marker_tooltip",style:dt(Y.value)},[(X=J.marker)!=null&&X.tooltip?(P(),W("div",{key:0,class:"dp__tooltip_content",onClick:fe},[(P(!0),W(we,null,Ye(J.marker.tooltip,(de,be)=>(P(),W("div",{key:be,class:"dp__tooltip_text"},[T.$slots["marker-tooltip"]?ue(T.$slots,"marker-tooltip",{key:0,tooltip:de,day:J.value}):j("",!0),T.$slots["marker-tooltip"]?j("",!0):(P(),W(we,{key:1},[ye("div",{class:"dp__tooltip_mark",style:dt(de.color?{backgroundColor:de.color}:{})},null,4),ye("div",null,Ge(de.text),1)],64))]))),128)),ye("div",{class:"dp__arrow_bottom_tp",style:dt(ae.value)},null,4)])):j("",!0)],4)):j("",!0)],2)],40,hs)}),128))]))),128))],32)):j("",!0)]),_:3},8,["name","css"])],2)],2))}}),zn=e=>Array.isArray(e),gs=(e,t,n,a)=>{const r=Z([]),l=Z(new Date),i=Z(),p=()=>b(e.isTextInputDate),{modelValue:c,calendars:C,time:m,today:v}=ba(e,t,p),{defaultedMultiCalendars:h,defaultedStartTime:k,defaultedRange:Y,defaultedConfig:f,defaultedTz:S,propDates:I,defaultedMultiDates:U}=Se(e),{validateMonthYearInRange:A,isDisabled:q,isDateRangeAllowed:ae,checkMinMaxRange:E}=Et(e),{updateTimeValues:B,getSetDateTime:ne,setTime:F,assignStartTime:N,validateTime:ie,disabledTimesConfig:ce}=Rr(e,m,c,a),pe=G(()=>_=>C.value[_]?C.value[_].month:0),g=G(()=>_=>C.value[_]?C.value[_].year:0),D=_=>!f.value.keepViewOnOffsetClick||_?!0:!i.value,y=(_,te,O,ee=!1)=>{var se,Je;D(ee)&&(C.value[_]||(C.value[_]={month:0,year:0}),C.value[_].month=Hn(te)?(se=C.value[_])==null?void 0:se.month:te,C.value[_].year=Hn(O)?(Je=C.value[_])==null?void 0:Je.year:O)},H=()=>{e.autoApply&&t("select-date")};Ke(()=>{e.shadow||(c.value||(T(),k.value&&N(k.value)),b(!0),e.focusStartDate&&e.startDate&&T())});const re=G(()=>{var _;return(_=e.flow)!=null&&_.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),R=()=>{e.autoApply&&re.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},b=(_=!1)=>{if(c.value)return Array.isArray(c.value)?(r.value=c.value,u(_)):M(c.value,_);if(h.value.count&&_&&!e.startDate)return V(Q(),_)},oe=()=>Array.isArray(c.value)&&Y.value.enabled?xe(c.value[0])===xe(c.value[1]??c.value[0]):!1,V=(_=new Date,te=!1)=>{if((!h.value.count||!h.value.static||te)&&y(0,xe(_),he(_)),h.value.count&&(!h.value.solo||!c.value||oe()))for(let O=1;O{V(_),F("hours",Tt(_)),F("minutes",Rt(_)),F("seconds",jt(_)),h.value.count&&te&&Ve()},o=_=>{if(h.value.count){if(h.value.solo)return 0;const te=xe(_[0]),O=xe(_[1]);return Math.abs(O-te){_[1]&&Y.value.showLastInRange?V(_[o(_)],te):V(_[0],te);const O=(ee,se)=>[ee(_[0]),_[1]?ee(_[1]):m[se][1]];F("hours",O(Tt,"hours")),F("minutes",O(Rt,"minutes")),F("seconds",O(jt,"seconds"))},z=(_,te)=>{if((Y.value.enabled||e.weekPicker)&&!U.value.enabled)return w(_,te);if(U.value.enabled&&te){const O=_[_.length-1];return M(O,te)}},u=_=>{const te=c.value;z(te,_),h.value.count&&h.value.solo&&Ve()},le=(_,te)=>{const O=Ce(Q(),{month:pe.value(te),year:g.value(te)}),ee=_<0?ft(O,1):Jt(O,1);A(xe(ee),he(ee),_<0,e.preventMinMaxNavigation)&&(y(te,xe(ee),he(ee)),t("update-month-year",{instance:te,month:xe(ee),year:he(ee)}),h.value.count&&!h.value.solo&&fe(te),n())},fe=_=>{for(let te=_-1;te>=0;te--){const O=Jt(Ce(Q(),{month:pe.value(te+1),year:g.value(te+1)}),1);y(te,xe(O),he(O))}for(let te=_+1;te<=h.value.count-1;te++){const O=ft(Ce(Q(),{month:pe.value(te-1),year:g.value(te-1)}),1);y(te,xe(O),he(O))}},Ve=()=>{if(Array.isArray(c.value)&&c.value.length===2){const _=Q(Q(c.value[1]?c.value[1]:ft(c.value[0],1))),[te,O]=[xe(c.value[0]),he(c.value[0])],[ee,se]=[xe(c.value[1]),he(c.value[1])];(te!==ee||te===ee&&O!==se)&&h.value.solo&&y(1,xe(_),he(_))}else c.value&&!Array.isArray(c.value)&&(y(0,xe(c.value),he(c.value)),V(Q()))},T=()=>{e.startDate&&(y(0,xe(Q(e.startDate)),he(Q(e.startDate))),h.value.count&&fe(0))},K=(_,te)=>{if(e.monthChangeOnScroll){const O=new Date().getTime()-l.value.getTime(),ee=Math.abs(_.deltaY);let se=500;ee>1&&(se=100),ee>100&&(se=0),O>se&&(l.value=new Date,le(e.monthChangeOnScroll!=="inverse"?-_.deltaY:_.deltaY,te))}},s=(_,te,O=!1)=>{e.monthChangeOnArrows&&e.vertical===O&&L(_,te)},L=(_,te)=>{le(_==="right"?-1:1,te)},J=_=>{if(I.value.markers)return Aa(_.value,I.value.markers)},$=(_,te)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[_==0,!0];case"fair":return[_==0||te>_,!0];case"append":return[!1,!1];default:return[!1,!1]}},ge=(_,te,O,ee)=>{if(e.sixWeeks&&_.length<6){const se=6-_.length,Je=(te.getDay()+7-ee)%7,ut=6-(O.getDay()+7-ee)%7,[Bt,_a]=$(Je,ut);for(let la=1;la<=se;la++)if(_a?!!(la%2)==Bt:Bt){const At=_[0].days[0],qa=x(mt(At.value,-7),xe(te));_.unshift({days:qa})}else{const At=_[_.length-1],qa=At.days[At.days.length-1],Er=x(mt(qa.value,1),xe(te));_.push({days:Er})}}return _},x=(_,te)=>{const O=Q(_),ee=[];for(let se=0;se<7;se++){const Je=mt(O,se),ut=xe(Je)!==te;ee.push({text:e.hideOffsetDates&&ut?"":Je.getDate(),value:Je,current:!ut,classData:{}})}return ee},X=(_,te)=>{const O=[],ee=new Date(te,_),se=new Date(te,_+1,0),Je=e.weekStart,ut=ht(ee,{weekStartsOn:Je}),Bt=_a=>{const la=x(_a,_);if(O.push({days:la}),!O[O.length-1].days.some(At=>Me(tt(At.value),tt(se)))){const At=mt(_a,7);Bt(At)}};return Bt(ut),ge(O,ee,se,Je)},de=_=>{const te=St(Q(_.value),m.hours,m.minutes,rt());t("date-update",te),U.value.enabled?Dn(te,c,U.value.limit):c.value=te,a(),it().then(()=>{R()})},be=_=>Y.value.noDisabledRange?kr(r.value[0],_).some(te=>q(te)):!1,st=()=>{r.value=c.value?c.value.slice():[],r.value.length===2&&!(Y.value.fixedStart||Y.value.fixedEnd)&&(r.value=[])},me=(_,te)=>{const O=[Q(_.value),mt(Q(_.value),+Y.value.autoRange)];ae(O)?(te&&Pt(_.value),r.value=O):t("invalid-date",_.value)},Pt=_=>{const te=xe(Q(_)),O=he(Q(_));if(y(0,te,O),h.value.count>0)for(let ee=1;ee{if(be(_.value)||!E(_.value,c.value,Y.value.fixedStart?0:1))return t("invalid-date",_.value);r.value=$r(Q(_.value),c,t,Y)},na=(_,te)=>{if(st(),Y.value.autoRange)return me(_,te);if(Y.value.fixedStart||Y.value.fixedEnd)return gt(_);r.value[0]?E(Q(_.value),c.value)&&!be(_.value)?Ie(Q(_.value),Q(r.value[0]))?(r.value.unshift(Q(_.value)),t("range-end",r.value[0])):(r.value[1]=Q(_.value),t("range-end",r.value[1])):(e.autoApply&&t("auto-apply-invalid",_.value),t("invalid-date",_.value)):(r.value[0]=Q(_.value),t("range-start",r.value[0]))},rt=(_=!0)=>e.enableSeconds?Array.isArray(m.seconds)?_?m.seconds[0]:m.seconds[1]:m.seconds:0,ra=_=>{r.value[_]=St(r.value[_],m.hours[_],m.minutes[_],rt(_!==1))},Ea=()=>{var _,te;r.value[0]&&r.value[1]&&+((_=r.value)==null?void 0:_[0])>+((te=r.value)==null?void 0:te[1])&&(r.value.reverse(),t("range-start",r.value[0]),t("range-end",r.value[1]))},wa=()=>{r.value.length&&(r.value[0]&&!r.value[1]?ra(0):(ra(0),ra(1),a()),Ea(),c.value=r.value.slice(),Ra(r.value,t,e.autoApply,e.modelAuto))},Ba=(_,te=!1)=>{if(q(_.value)||!_.current&&e.hideOffsetDates)return t("invalid-date",_.value);if(i.value=JSON.parse(JSON.stringify(_)),!Y.value.enabled)return de(_);zn(m.hours)&&zn(m.minutes)&&!U.value.enabled&&(na(_,te),wa())},Na=(_,te)=>{var O;y(_,te.month,te.year,!0),h.value.count&&!h.value.solo&&fe(_),t("update-month-year",{instance:_,month:te.month,year:te.year}),n(h.value.solo?_:void 0);const ee=(O=e.flow)!=null&&O.length?e.flow[e.flowStep]:void 0;!te.fromNav&&(ee===Xe.month||ee===Xe.year)&&a()},La=(_,te)=>{Or({value:_,modelValue:c,range:Y.value.enabled,timezone:te?void 0:S.value.timezone}),H(),e.multiCalendars&&it().then(()=>b(!0))},Ha=()=>{const _=wn(Q(),S.value);Y.value.enabled?c.value&&Array.isArray(c.value)&&c.value[0]?c.value=Ie(_,c.value[0])?[_,c.value[0]]:[c.value[0],_]:c.value=[_]:c.value=_,H()},Va=()=>{if(Array.isArray(c.value))if(U.value.enabled){const _=Fa();c.value[c.value.length-1]=ne(_)}else c.value=c.value.map((_,te)=>_&&ne(_,te));else c.value=ne(c.value);t("time-update")},Fa=()=>Array.isArray(c.value)&&c.value.length?c.value[c.value.length-1]:null;return{calendars:C,modelValue:c,month:pe,year:g,time:m,disabledTimesConfig:ce,today:v,validateTime:ie,getCalendarDays:X,getMarker:J,handleScroll:K,handleSwipe:L,handleArrow:s,selectDate:Ba,updateMonthYear:Na,presetDate:La,selectCurrentDate:Ha,updateTime:(_,te=!0,O=!1)=>{B(_,te,O,Va)},assignMonthAndYear:V}},bs={key:0},ws=ze({__name:"DatePicker",props:{...yt},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,{calendars:l,month:i,year:p,modelValue:c,time:C,disabledTimesConfig:m,today:v,validateTime:h,getCalendarDays:k,getMarker:Y,handleArrow:f,handleScroll:S,handleSwipe:I,selectDate:U,updateMonthYear:A,presetDate:q,selectCurrentDate:ae,updateTime:E,assignMonthAndYear:B}=gs(r,a,oe,V),ne=qt(),{setHoverDate:F,getDayClassData:N,clearHoverDate:ie}=Is(c,r),{defaultedMultiCalendars:ce}=Se(r),pe=Z([]),g=Z([]),D=Z(null),y=lt(ne,"calendar"),H=lt(ne,"monthYear"),re=lt(ne,"timePicker"),R=K=>{r.shadow||a("mount",K)};ct(l,()=>{r.shadow||setTimeout(()=>{a("recalculate-position")},0)},{deep:!0}),ct(ce,(K,s)=>{K.count-s.count>0&&B()},{deep:!0});const b=G(()=>K=>k(i.value(K),p.value(K)).map(s=>({...s,days:s.days.map(L=>(L.marker=Y(L),L.classData=N(L),L))})));function oe(K){var s;K||K===0?(s=g.value[K])==null||s.triggerTransition(i.value(K),p.value(K)):g.value.forEach((L,J)=>L.triggerTransition(i.value(J),p.value(J)))}function V(){a("update-flow-step")}const M=(K,s=!1)=>{U(K,s),r.spaceConfirm&&a("select-date")},o=(K,s,L=0)=>{var J;(J=pe.value[L])==null||J.toggleMonthPicker(K,s)},w=(K,s,L=0)=>{var J;(J=pe.value[L])==null||J.toggleYearPicker(K,s)},z=(K,s,L)=>{var J;(J=D.value)==null||J.toggleTimePicker(K,s,L)},u=(K,s)=>{var L;if(!r.range){const J=c.value?c.value:v,$=s?new Date(s):J,ge=K?ht($,{weekStartsOn:1}):ar($,{weekStartsOn:1});U({value:ge,current:xe($)===i.value(0),text:"",classData:{}}),(L=document.getElementById(Pr(ge)))==null||L.focus()}},le=K=>{var s;(s=pe.value[0])==null||s.handleMonthYearChange(K,!0)},fe=K=>{A(0,{month:i.value(0),year:p.value(0)+(K?1:-1),fromNav:!0})},Ve=(K,s)=>{K===Xe.time&&a(`time-picker-${s?"open":"close"}`),a("overlay-toggle",{open:s,overlay:K})},T=K=>{a("overlay-toggle",{open:!1,overlay:K}),a("focus-menu")};return t({clearHoverDate:ie,presetDate:q,selectCurrentDate:ae,toggleMonthPicker:o,toggleYearPicker:w,toggleTimePicker:z,handleArrow:f,updateMonthYear:A,getSidebarProps:()=>({modelValue:c,month:i,year:p,time:C,updateTime:E,updateMonthYear:A,selectDate:U,presetDate:q}),changeMonth:le,changeYear:fe,selectWeekDate:u}),(K,s)=>(P(),W(we,null,[ot(Sa,{"multi-calendars":d(ce).count,collapse:K.collapse},{default:_e(({instance:L,index:J})=>[K.disableMonthYearSelect?j("",!0):(P(),De(ds,Qe({key:0,ref:$=>{$&&(pe.value[J]=$)},months:d(hr)(K.formatLocale,K.locale,K.monthNameFormat),years:d(_n)(K.yearRange,K.locale,K.reverseYears),month:d(i)(L),year:d(p)(L),instance:L},K.$props,{onMount:s[0]||(s[0]=$=>R(d(Vt).header)),onResetFlow:s[1]||(s[1]=$=>K.$emit("reset-flow")),onUpdateMonthYear:$=>d(A)(L,$),onOverlayClosed:T,onOverlayOpened:s[2]||(s[2]=$=>K.$emit("overlay-toggle",{open:!0,overlay:$}))}),je({_:2},[Ye(d(H),($,ge)=>({name:$,fn:_e(x=>[ue(K.$slots,$,We(at(x)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),ot(ys,Qe({ref:$=>{$&&(g.value[J]=$)},"mapped-dates":b.value(L),month:d(i)(L),year:d(p)(L),instance:L},K.$props,{onSelectDate:$=>d(U)($,L!==1),onHandleSpace:$=>M($,L!==1),onSetHoverDate:s[3]||(s[3]=$=>d(F)($)),onHandleScroll:$=>d(S)($,L),onHandleSwipe:$=>d(I)($,L),onMount:s[4]||(s[4]=$=>R(d(Vt).calendar)),onResetFlow:s[5]||(s[5]=$=>K.$emit("reset-flow")),onTooltipOpen:s[6]||(s[6]=$=>K.$emit("tooltip-open",$)),onTooltipClose:s[7]||(s[7]=$=>K.$emit("tooltip-close",$))}),je({_:2},[Ye(d(y),($,ge)=>({name:$,fn:_e(x=>[ue(K.$slots,$,We(at({...x})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse"]),K.enableTimePicker?(P(),W("div",bs,[K.$slots["time-picker"]?ue(K.$slots,"time-picker",We(Qe({key:0},{time:d(C),updateTime:d(E)}))):(P(),De(Sr,Qe({key:1,ref_key:"timePickerRef",ref:D},K.$props,{hours:d(C).hours,minutes:d(C).minutes,seconds:d(C).seconds,"internal-model-value":K.internalModelValue,"disabled-times-config":d(m),"validate-time":d(h),onMount:s[8]||(s[8]=L=>R(d(Vt).timePicker)),"onUpdate:hours":s[9]||(s[9]=L=>d(E)(L)),"onUpdate:minutes":s[10]||(s[10]=L=>d(E)(L,!1)),"onUpdate:seconds":s[11]||(s[11]=L=>d(E)(L,!1,!0)),onResetFlow:s[12]||(s[12]=L=>K.$emit("reset-flow")),onOverlayClosed:s[13]||(s[13]=L=>Ve(L,!1)),onOverlayOpened:s[14]||(s[14]=L=>Ve(L,!0)),onAmPmChange:s[15]||(s[15]=L=>K.$emit("am-pm-change",L))}),je({_:2},[Ye(d(re),(L,J)=>({name:L,fn:_e($=>[ue(K.$slots,L,We(at($)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):j("",!0)],64))}}),_s=(e,t)=>{const n=Z(),{defaultedMultiCalendars:a,defaultedConfig:r,defaultedHighlight:l,defaultedRange:i,propDates:p,defaultedFilters:c,defaultedMultiDates:C}=Se(e),{modelValue:m,year:v,month:h,calendars:k}=ba(e,t),{isDisabled:Y}=Et(e),{selectYear:f,groupedYears:S,showYearPicker:I,isDisabled:U,toggleYearPicker:A,handleYearSelect:q,handleYear:ae}=Yr({modelValue:m,multiCalendars:a,range:i,highlight:l,calendars:k,propDates:p,month:h,year:v,filters:c,props:e,emit:t}),E=(D,y)=>[D,y].map(H=>kt(H,"MMMM",{locale:e.formatLocale})).join("-"),B=G(()=>D=>m.value?Array.isArray(m.value)?m.value.some(y=>Bn(D,y)):Bn(m.value,D):!1),ne=D=>{if(i.value.enabled){if(Array.isArray(m.value)){const y=Me(D,m.value[0])||Me(D,m.value[1]);return $a(m.value,n.value,D)&&!y}return!1}return!1},F=(D,y)=>D.quarter===$n(y)&&D.year===he(y),N=D=>typeof l.value=="function"?l.value({quarter:$n(D),year:he(D)}):!!l.value.quarters.find(y=>F(y,D)),ie=G(()=>D=>{const y=Ce(new Date,{year:v.value(D)});return el({start:ma(y),end:tr(y)}).map(H=>{const re=Ht(H),R=Yn(H),b=Y(H),oe=ne(re),V=N(re);return{text:E(re,R),value:re,active:B.value(re),highlighted:V,disabled:b,isBetween:oe}})}),ce=D=>{Dn(D,m,C.value.limit),t("auto-apply",!0)},pe=D=>{m.value=Tn(m,D,t),Ra(m.value,t,e.autoApply,e.modelAuto)},g=D=>{m.value=D,t("auto-apply")};return{defaultedConfig:r,defaultedMultiCalendars:a,groupedYears:S,year:v,isDisabled:U,quarters:ie,showYearPicker:I,modelValue:m,setHoverDate:D=>{n.value=D},selectYear:f,selectQuarter:(D,y,H)=>{if(!H)return k.value[y].month=xe(Yn(D)),C.value.enabled?ce(D):i.value.enabled?pe(D):g(D)},toggleYearPicker:A,handleYearSelect:q,handleYear:ae}},ks={class:"dp--quarter-items"},xs=["data-test","disabled","onClick","onMouseover"],Ms=ze({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...yt},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=lt(l,"yearMode"),{defaultedMultiCalendars:p,defaultedConfig:c,groupedYears:C,year:m,isDisabled:v,quarters:h,modelValue:k,showYearPicker:Y,setHoverDate:f,selectQuarter:S,toggleYearPicker:I,handleYearSelect:U,handleYear:A}=_s(r,a);return t({getSidebarProps:()=>({modelValue:k,year:m,selectQuarter:S,handleYearSelect:U,handleYear:A})}),(q,ae)=>(P(),De(Sa,{"multi-calendars":d(p).count,collapse:q.collapse,stretch:""},{default:_e(({instance:E})=>[ye("div",{class:"dp-quarter-picker-wrap",style:dt({minHeight:`${d(c).modeHeight}px`})},[q.$slots["top-extra"]?ue(q.$slots,"top-extra",{key:0,value:q.internalModelValue}):j("",!0),ye("div",null,[ot(Cr,Qe(q.$props,{items:d(C)(E),instance:E,"show-year-picker":d(Y)[E],year:d(m)(E),"is-disabled":B=>d(v)(E,B),onHandleYear:B=>d(A)(E,B),onYearSelect:B=>d(U)(B,E),onToggleYearPicker:B=>d(I)(E,B?.flow,B?.show)}),je({_:2},[Ye(d(i),(B,ne)=>({name:B,fn:_e(F=>[ue(q.$slots,B,We(at(F)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),ye("div",ks,[(P(!0),W(we,null,Ye(d(h)(E),(B,ne)=>(P(),W("div",{key:ne},[ye("button",{type:"button",class:ke(["dp--qr-btn",{"dp--qr-btn-active":B.active,"dp--qr-btn-between":B.isBetween,"dp--qr-btn-disabled":B.disabled,"dp--highlighted":B.highlighted}]),"data-test":B.value,disabled:B.disabled,onClick:F=>d(S)(B.value,E,B.disabled),onMouseover:F=>d(f)(B.value)},[q.$slots.quarter?ue(q.$slots,"quarter",{key:0,value:B.value,text:B.text}):(P(),W(we,{key:1},[Dt(Ge(B.text),1)],64))],42,xs)]))),128))])],4)]),_:3},8,["multi-calendars","collapse"]))}}),Ds=["id","tabindex","role","aria-label"],Ts={key:0,class:"dp--menu-load-container"},Ps={key:1,class:"dp--menu-header"},As={key:0,class:"dp__sidebar_left"},Cs=["data-test","onClick","onKeydown"],Os={key:2,class:"dp__sidebar_right"},$s={key:3,class:"dp__action_extra"},Un=ze({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...Ya,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=Z(null),i=G(()=>{const{openOnTop:x,...X}=r;return{...X,flowStep:F.value,collapse:r.collapse,noOverlayFocus:r.noOverlayFocus,menuWrapRef:l.value}}),{setMenuFocused:p,setShiftKey:c,control:C}=Ar(),m=qt(),{defaultedTextInput:v,defaultedInline:h,defaultedConfig:k,defaultedUI:Y}=Se(r),f=Z(null),S=Z(0),I=Z(null),U=Z(!1),A=Z(null);Ke(()=>{if(!r.shadow){U.value=!0,q(),window.addEventListener("resize",q);const x=Fe(l);if(x&&!v.value.enabled&&!h.value.enabled&&(p(!0),y()),x){const X=de=>{k.value.allowPreventDefault&&de.preventDefault(),Yt(de,k.value,!0)};x.addEventListener("pointerdown",X),x.addEventListener("mousedown",X)}}}),Ca(()=>{window.removeEventListener("resize",q)});const q=()=>{const x=Fe(I);x&&(S.value=x.getBoundingClientRect().width)},{arrowRight:ae,arrowLeft:E,arrowDown:B,arrowUp:ne}=It(),{flowStep:F,updateFlowStep:N,childMount:ie,resetFlow:ce,handleFlow:pe}=Es(r,a,A),g=G(()=>r.monthPicker?qi:r.yearPicker?Qi:r.timePicker?rs:r.quarterPicker?Ms:ws),D=G(()=>{var x;if(k.value.arrowLeft)return k.value.arrowLeft;const X=(x=l.value)==null?void 0:x.getBoundingClientRect(),de=r.getInputRect();return de?.width=(X?.right??0)&&de?.width{const x=Fe(l);x&&x.focus({preventScroll:!0})},H=G(()=>{var x;return((x=A.value)==null?void 0:x.getSidebarProps())||{}}),re=()=>{r.openOnTop&&a("recalculate-position")},R=lt(m,"action"),b=G(()=>r.monthPicker||r.yearPicker?lt(m,"monthYear"):r.timePicker?lt(m,"timePicker"):lt(m,"shared")),oe=G(()=>r.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),V=G(()=>({dp__menu_disabled:r.disabled,dp__menu_readonly:r.readonly,"dp-menu-loading":r.loading})),M=G(()=>({dp__menu:!0,dp__menu_index:!h.value.enabled,dp__relative:h.value.enabled,...Y.value.menu??{}})),o=x=>{Yt(x,k.value,!0)},w=()=>{r.escClose&&a("close-picker")},z=x=>{if(r.arrowNavigation){if(x===Ze.up)return ne();if(x===Ze.down)return B();if(x===Ze.left)return E();if(x===Ze.right)return ae()}else x===Ze.left||x===Ze.up?T("handleArrow",Ze.left,0,x===Ze.up):T("handleArrow",Ze.right,0,x===Ze.down)},u=x=>{c(x.shiftKey),!r.disableMonthYearSelect&&x.code===$e.tab&&x.target.classList.contains("dp__menu")&&C.value.shiftKeyInMenu&&(x.preventDefault(),Yt(x,k.value,!0),a("close-picker"))},le=()=>{y(),a("time-picker-close")},fe=x=>{var X,de,be;(X=A.value)==null||X.toggleTimePicker(!1,!1),(de=A.value)==null||de.toggleMonthPicker(!1,!1,x),(be=A.value)==null||be.toggleYearPicker(!1,!1,x)},Ve=(x,X=0)=>{var de,be,st;return x==="month"?(de=A.value)==null?void 0:de.toggleMonthPicker(!1,!0,X):x==="year"?(be=A.value)==null?void 0:be.toggleYearPicker(!1,!0,X):x==="time"?(st=A.value)==null?void 0:st.toggleTimePicker(!0,!1):fe(X)},T=(x,...X)=>{var de,be;(de=A.value)!=null&&de[x]&&((be=A.value)==null||be[x](...X))},K=()=>{T("selectCurrentDate")},s=(x,X)=>{T("presetDate",x,X)},L=()=>{T("clearHoverDate")},J=(x,X)=>{T("updateMonthYear",x,X)},$=(x,X)=>{x.preventDefault(),z(X)},ge=x=>{var X,de,be;if(u(x),x.key===$e.home||x.key===$e.end)return T("selectWeekDate",x.key===$e.home,x.target.getAttribute("id"));switch((x.key===$e.pageUp||x.key===$e.pageDown)&&(x.shiftKey?(T("changeYear",x.key===$e.pageUp),(X=on(l.value,"overlay-year"))==null||X.focus()):(T("changeMonth",x.key===$e.pageUp),(de=on(l.value,x.key===$e.pageUp?"action-prev":"action-next"))==null||de.focus()),x.target.getAttribute("id")&&((be=l.value)==null||be.focus({preventScroll:!0}))),x.key){case $e.esc:return w();case $e.arrowLeft:return $(x,Ze.left);case $e.arrowRight:return $(x,Ze.right);case $e.arrowUp:return $(x,Ze.up);case $e.arrowDown:return $(x,Ze.down);default:return}};return t({updateMonthYear:J,switchView:Ve,handleFlow:pe}),(x,X)=>{var de,be,st;return P(),W("div",{id:x.uid?`dp-menu-${x.uid}`:void 0,ref_key:"dpMenuRef",ref:l,tabindex:d(h).enabled?void 0:"0",role:d(h).enabled?void 0:"dialog","aria-label":(de=x.ariaLabels)==null?void 0:de.menu,class:ke(M.value),style:dt({"--dp-arrow-left":D.value}),onMouseleave:L,onClick:o,onKeydown:ge},[(x.disabled||x.readonly)&&d(h).enabled||x.loading?(P(),W("div",{key:0,class:ke(V.value)},[x.loading?(P(),W("div",Ts,X[19]||(X[19]=[ye("span",{class:"dp--menu-loader"},null,-1)]))):j("",!0)],2)):j("",!0),x.$slots["menu-header"]?(P(),W("div",Ps,[ue(x.$slots,"menu-header")])):j("",!0),!d(h).enabled&&!x.teleportCenter?(P(),W("div",{key:2,class:ke(oe.value)},null,2)):j("",!0),ye("div",{ref_key:"innerMenuRef",ref:I,class:ke({dp__menu_content_wrapper:((be=x.presetDates)==null?void 0:be.length)||!!x.$slots["left-sidebar"]||!!x.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((st=x.presetDates)==null?void 0:st.length)||!!x.$slots["left-sidebar"]||!!x.$slots["right-sidebar"])}),style:dt({"--dp-menu-width":`${S.value}px`})},[x.$slots["left-sidebar"]?(P(),W("div",As,[ue(x.$slots,"left-sidebar",We(at(H.value)))])):j("",!0),x.presetDates.length?(P(),W("div",{key:1,class:ke({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0})},[(P(!0),W(we,null,Ye(x.presetDates,(me,Pt)=>(P(),W(we,{key:Pt},[me.slot?ue(x.$slots,me.slot,{key:0,presetDate:s,label:me.label,value:me.value}):(P(),W("button",{key:1,type:"button",style:dt(me.style||{}),class:ke(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test":me.testId??void 0,onClick:va(gt=>s(me.value,me.noTz),["prevent"]),onKeydown:gt=>d(et)(gt,()=>s(me.value,me.noTz),!0)},Ge(me.label),47,Cs))],64))),128))],2)):j("",!0),ye("div",{ref_key:"calendarWrapperRef",ref:f,class:"dp__instance_calendar",role:"document"},[(P(),De(Oa(g.value),Qe({ref_key:"dynCmpRef",ref:A},i.value,{"flow-step":d(F),onMount:d(ie),onUpdateFlowStep:d(N),onResetFlow:d(ce),onFocusMenu:y,onSelectDate:X[0]||(X[0]=me=>x.$emit("select-date")),onDateUpdate:X[1]||(X[1]=me=>x.$emit("date-update",me)),onTooltipOpen:X[2]||(X[2]=me=>x.$emit("tooltip-open",me)),onTooltipClose:X[3]||(X[3]=me=>x.$emit("tooltip-close",me)),onAutoApply:X[4]||(X[4]=me=>x.$emit("auto-apply",me)),onRangeStart:X[5]||(X[5]=me=>x.$emit("range-start",me)),onRangeEnd:X[6]||(X[6]=me=>x.$emit("range-end",me)),onInvalidFixedRange:X[7]||(X[7]=me=>x.$emit("invalid-fixed-range",me)),onTimeUpdate:X[8]||(X[8]=me=>x.$emit("time-update")),onAmPmChange:X[9]||(X[9]=me=>x.$emit("am-pm-change",me)),onTimePickerOpen:X[10]||(X[10]=me=>x.$emit("time-picker-open",me)),onTimePickerClose:le,onRecalculatePosition:re,onUpdateMonthYear:X[11]||(X[11]=me=>x.$emit("update-month-year",me)),onAutoApplyInvalid:X[12]||(X[12]=me=>x.$emit("auto-apply-invalid",me)),onInvalidDate:X[13]||(X[13]=me=>x.$emit("invalid-date",me)),onOverlayToggle:X[14]||(X[14]=me=>x.$emit("overlay-toggle",me)),"onUpdate:internalModelValue":X[15]||(X[15]=me=>x.$emit("update:internal-model-value",me))}),je({_:2},[Ye(b.value,(me,Pt)=>({name:me,fn:_e(gt=>[ue(x.$slots,me,We(at({...gt})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),x.$slots["right-sidebar"]?(P(),W("div",Os,[ue(x.$slots,"right-sidebar",We(at(H.value)))])):j("",!0),x.$slots["action-extra"]?(P(),W("div",$s,[x.$slots["action-extra"]?ue(x.$slots,"action-extra",{key:0,selectCurrentDate:K}):j("",!0)])):j("",!0)],6),!x.autoApply||d(k).keepActionRow?(P(),De(Ii,Qe({key:3,"menu-mount":U.value},i.value,{"calendar-width":S.value,onClosePicker:X[16]||(X[16]=me=>x.$emit("close-picker")),onSelectDate:X[17]||(X[17]=me=>x.$emit("select-date")),onInvalidSelect:X[18]||(X[18]=me=>x.$emit("invalid-select")),onSelectNow:K}),je({_:2},[Ye(d(R),(me,Pt)=>({name:me,fn:_e(gt=>[ue(x.$slots,me,We(at({...gt})))])}))]),1040,["menu-mount","calendar-width"])):j("",!0)],46,Ds)}}});var Ut=(e=>(e.center="center",e.left="left",e.right="right",e))(Ut||{});const Ys=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:a,inline:r,emit:l,props:i,slots:p})=>{const{defaultedConfig:c}=Se(i),C=Z({}),m=Z(!1),v=Z({top:"0",left:"0"}),h=Z(!1),k=ca(i,"teleportCenter");ct(k,()=>{v.value=JSON.parse(JSON.stringify({})),ae()});const Y=y=>{if(i.teleport){const H=y.getBoundingClientRect();return{left:H.left+window.scrollX,top:H.top+window.scrollY}}return{top:0,left:0}},f=(y,H)=>{v.value.left=`${y+H-C.value.width}px`},S=y=>{v.value.left=`${y}px`},I=(y,H)=>{i.position===Ut.left&&S(y),i.position===Ut.right&&f(y,H),i.position===Ut.center&&(v.value.left=`${y+H/2-C.value.width/2}px`)},U=y=>{const{width:H,height:re}=y.getBoundingClientRect(),{top:R,left:b}=i.altPosition?i.altPosition(y):Y(y);return{top:+R,left:+b,width:H,height:re}},A=()=>{v.value.left="50%",v.value.top="50%",v.value.transform="translate(-50%, -50%)",v.value.position="fixed",delete v.value.opacity},q=()=>{const y=Fe(n),{top:H,left:re,transform:R}=i.altPosition(y);v.value={top:`${H}px`,left:`${re}px`,transform:R??""}},ae=(y=!0)=>{var H;if(!r.value.enabled){if(k.value)return A();if(i.altPosition!==null)return q();if(y){const re=i.teleport?(H=t.value)==null?void 0:H.$el:e.value;re&&(C.value=re.getBoundingClientRect()),l("recalculate-position")}return ce()}},E=({inputEl:y,left:H,width:re})=>{window.screen.width>768&&!m.value&&I(H,re),F(y)},B=y=>{const{top:H,left:re,height:R,width:b}=U(y);v.value.top=`${R+H+ +i.offset}px`,h.value=!1,m.value||(v.value.left=`${re+b/2-C.value.width/2}px`),E({inputEl:y,left:re,width:b})},ne=y=>{const{top:H,left:re,width:R}=U(y);v.value.top=`${H-+i.offset-C.value.height}px`,h.value=!0,E({inputEl:y,left:re,width:R})},F=y=>{if(i.autoPosition){const{left:H,width:re}=U(y),{left:R,right:b}=C.value;if(!m.value){if(Math.abs(R)!==Math.abs(b)){if(R<=0)return m.value=!0,S(H);if(b>=document.documentElement.clientWidth)return m.value=!0,f(H,re)}return I(H,re)}}},N=()=>{const y=Fe(n);if(y){const{height:H}=C.value,{top:re,height:R}=y.getBoundingClientRect(),b=window.innerHeight-re-R,oe=re;return H<=b?Lt.bottom:H>b&&H<=oe?Lt.top:b>=oe?Lt.bottom:Lt.top}return Lt.bottom},ie=y=>N()===Lt.bottom?B(y):ne(y),ce=()=>{const y=Fe(n);if(y)return i.autoPosition?ie(y):B(y)},pe=function(y){if(y){const H=y.scrollHeight>y.clientHeight,re=window.getComputedStyle(y).overflowY.indexOf("hidden")!==-1;return H&&!re}return!0},g=function(y){return!y||y===document.body||y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:pe(y)?y:g(y.assignedSlot&&c.value.shadowDom?y.assignedSlot.parentNode:y.parentNode)},D=y=>{if(y)switch(i.position){case Ut.left:return{left:0,transform:"translateX(0)"};case Ut.right:return{left:`${y.width}px`,transform:"translateX(-100%)"};default:return{left:`${y.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:h,menuStyle:v,xCorrect:m,setMenuPosition:ae,getScrollableParent:g,shadowRender:(y,H)=>{var re,R,b;const oe=document.createElement("div"),V=(re=Fe(n))==null?void 0:re.getBoundingClientRect();oe.setAttribute("id","dp--temp-container");const M=(R=a.value)!=null&&R.clientWidth?a.value:document.body;M.append(oe);const o=D(V),w=c.value.shadowDom?Object.keys(p).filter(u=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(u)):Object.keys(p),z=Nr(y,{...H,shadow:!0,style:{opacity:0,position:"absolute",...o}},Object.fromEntries(w.map(u=>[u,p[u]])));An(z,oe),C.value=(b=z.el)==null?void 0:b.getBoundingClientRect(),An(null,oe),M.removeChild(oe)}}},Ot=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],Ss=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],Rs={all:()=>Ot,monthYear:()=>Ot.filter(e=>e.use.includes("month-year")),input:()=>Ss,timePicker:()=>Ot.filter(e=>e.use.includes("time")),action:()=>Ot.filter(e=>e.use.includes("action")),calendar:()=>Ot.filter(e=>e.use.includes("calendar")),menu:()=>Ot.filter(e=>e.use.includes("menu")),shared:()=>Ot.filter(e=>e.use.includes("shared")),yearMode:()=>Ot.filter(e=>e.use.includes("year-mode"))},lt=(e,t,n)=>{const a=[];return Rs[t]().forEach(r=>{e[r.name]&&a.push(r.name)}),n!=null&&n.length&&n.forEach(r=>{r.slot&&a.push(r.slot)}),a},ga=e=>{const t=G(()=>a=>e.value?a?e.value.open:e.value.close:""),n=G(()=>a=>e.value?a?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},ba=(e,t,n)=>{const{defaultedRange:a,defaultedTz:r}=Se(e),l=Q(nt(Q(),r.value.timezone)),i=Z([{month:xe(l),year:he(l)}]),p=h=>{const k={hours:Tt(l),minutes:Rt(l),seconds:0};return a.value.enabled?[k[h],k[h]]:k[h]},c=ha({hours:p("hours"),minutes:p("minutes"),seconds:p("seconds")});ct(a,(h,k)=>{h.enabled!==k.enabled&&(c.hours=p("hours"),c.minutes=p("minutes"),c.seconds=p("seconds"))},{deep:!0});const C=G({get:()=>e.internalModelValue,set:h=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",h)}}),m=G(()=>h=>i.value[h]?i.value[h].month:0),v=G(()=>h=>i.value[h]?i.value[h].year:0);return ct(C,(h,k)=>{n&&JSON.stringify(h??{})!==JSON.stringify(k??{})&&n()},{deep:!0}),{calendars:i,time:c,modelValue:C,month:m,year:v,today:l}},Is=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:a,defaultedUI:r,defaultedHighlight:l,defaultedTz:i,propDates:p,defaultedRange:c}=Se(t),{isDisabled:C}=Et(t),m=Z(null),v=Z(nt(new Date,i.value.timezone)),h=o=>{!o.current&&t.hideOffsetDates||(m.value=o.value)},k=()=>{m.value=null},Y=o=>Array.isArray(e.value)&&c.value.enabled&&e.value[0]&&m.value?o?Ne(m.value,e.value[0]):Ie(m.value,e.value[0]):!0,f=(o,w)=>{const z=()=>e.value?w?e.value[0]||null:e.value[1]:null,u=e.value&&Array.isArray(e.value)?z():null;return Me(Q(o.value),u)},S=o=>{const w=Array.isArray(e.value)?e.value[0]:null;return o?!Ie(m.value??null,w):!0},I=(o,w=!0)=>(c.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!o.current?!1:Me(Q(o.value),e.value[w?0:1]):c.value.enabled?f(o,w)&&S(w)||Me(o.value,Array.isArray(e.value)?e.value[0]:null)&&Y(w):!1,U=(o,w)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const z=Me(o.value,m.value);return w?Ne(e.value[0],o.value)&&z:Ie(e.value[0],o.value)&&z}return!1},A=o=>!e.value||t.hideOffsetDates&&!o.current?!1:c.value.enabled?t.modelAuto&&Array.isArray(e.value)?Me(o.value,e.value[0]?e.value[0]:v.value):!1:a.value.enabled&&Array.isArray(e.value)?e.value.some(w=>Me(w,o.value)):Me(o.value,e.value?e.value:v.value),q=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){if(t.hideOffsetDates&&!o.current)return!1;const w=mt(m.value,+c.value.autoRange),z=xt(Q(m.value),t.weekStart);return t.weekPicker?Me(z[1],Q(o.value)):Me(w,Q(o.value))}return!1}return!1},ae=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){const w=mt(m.value,+c.value.autoRange);if(t.hideOffsetDates&&!o.current)return!1;const z=xt(Q(m.value),t.weekStart);return t.weekPicker?Ne(o.value,z[0])&&Ie(o.value,z[1]):Ne(o.value,m.value)&&Ie(o.value,w)}return!1}return!1},E=o=>{if(c.value.autoRange||t.weekPicker){if(m.value){if(t.hideOffsetDates&&!o.current)return!1;const w=xt(Q(m.value),t.weekStart);return t.weekPicker?Me(w[0],o.value):Me(m.value,o.value)}return!1}return!1},B=o=>$a(e.value,m.value,o.value),ne=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,F=()=>t.modelAuto?yr(t.internalModelValue):!0,N=o=>{if(t.weekPicker)return!1;const w=c.value.enabled?!I(o)&&!I(o,!1):!0;return!C(o.value)&&!A(o)&&!(!o.current&&t.hideOffsetDates)&&w},ie=o=>c.value.enabled?t.modelAuto?ne()&&A(o):!1:A(o),ce=o=>l.value?oi(o.value,p.value.highlight):!1,pe=o=>{const w=C(o.value);return w&&(typeof l.value=="function"?!l.value(o.value,w):!l.value.options.highlightDisabled)},g=o=>{var w;return typeof l.value=="function"?l.value(o.value):(w=l.value.weekdays)==null?void 0:w.includes(o.value.getDay())},D=o=>(c.value.enabled||t.weekPicker)&&(!(n.value.count>0)||o.current)&&F()&&!(!o.current&&t.hideOffsetDates)&&!A(o)?B(o):!1,y=o=>{const{isRangeStart:w,isRangeEnd:z}=b(o),u=c.value.enabled?w||z:!1;return{dp__cell_offset:!o.current,dp__pointer:!t.disabled&&!(!o.current&&t.hideOffsetDates)&&!C(o.value),dp__cell_disabled:C(o.value),dp__cell_highlight:!pe(o)&&(ce(o)||g(o))&&!ie(o)&&!u&&!E(o)&&!(D(o)&&t.weekPicker)&&!z,dp__cell_highlight_active:!pe(o)&&(ce(o)||g(o))&&ie(o),dp__today:!t.noToday&&Me(o.value,v.value)&&o.current,"dp--past":Ie(o.value,v.value),"dp--future":Ne(o.value,v.value)}},H=o=>({dp__active_date:ie(o),dp__date_hover:N(o)}),re=o=>{if(e.value&&!Array.isArray(e.value)){const w=xt(e.value,t.weekStart);return{...V(o),dp__range_start:Me(w[0],o.value),dp__range_end:Me(w[1],o.value),dp__range_between_week:Ne(o.value,w[0])&&Ie(o.value,w[1])}}return{...V(o)}},R=o=>{if(e.value&&Array.isArray(e.value)){const w=xt(e.value[0],t.weekStart),z=e.value[1]?xt(e.value[1],t.weekStart):[];return{...V(o),dp__range_start:Me(w[0],o.value)||Me(z[0],o.value),dp__range_end:Me(w[1],o.value)||Me(z[1],o.value),dp__range_between_week:Ne(o.value,w[0])&&Ie(o.value,w[1])||Ne(o.value,z[0])&&Ie(o.value,z[1]),dp__range_between:Ne(o.value,w[1])&&Ie(o.value,z[0])}}return{...V(o)}},b=o=>{const w=n.value.count>0?o.current&&I(o)&&F():I(o)&&F(),z=n.value.count>0?o.current&&I(o,!1)&&F():I(o,!1)&&F();return{isRangeStart:w,isRangeEnd:z}},oe=o=>{const{isRangeStart:w,isRangeEnd:z}=b(o);return{dp__range_start:w,dp__range_end:z,dp__range_between:D(o),dp__date_hover:Me(o.value,m.value)&&!w&&!z&&!t.weekPicker,dp__date_hover_start:U(o,!0),dp__date_hover_end:U(o,!1)}},V=o=>({...oe(o),dp__cell_auto_range:ae(o),dp__cell_auto_range_start:E(o),dp__cell_auto_range_end:q(o)}),M=o=>c.value.enabled?c.value.autoRange?V(o):t.modelAuto?{...H(o),...oe(o)}:t.weekPicker?R(o):oe(o):t.weekPicker?re(o):H(o);return{setHoverDate:h,clearHoverDate:k,getDayClassData:o=>t.hideOffsetDates&&!o.current?{}:{...y(o),...M(o),[t.dayClass?t.dayClass(o.value,t.internalModelValue):""]:!0,...r.value.calendarCell??{}}}},Et=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:a,defaultedMultiDates:r}=Se(e),l=g=>a.value.disabledDates?typeof a.value.disabledDates=="function"?a.value.disabledDates(Q(g)):!!Aa(g,a.value.disabledDates):!1,i=g=>a.value.maxDate?e.yearPicker?he(g)>he(a.value.maxDate):Ne(g,a.value.maxDate):!1,p=g=>a.value.minDate?e.yearPicker?he(g){const D=i(g),y=p(g),H=l(g),re=t.value.months.map(M=>+M).includes(xe(g)),R=e.disabledWeekDays.length?e.disabledWeekDays.some(M=>+M===Ul(g)):!1,b=k(g),oe=he(g),V=oe<+e.yearRange[0]||oe>+e.yearRange[1];return!(D||y||H||re||V||R||b)},C=(g,D)=>Ie(...$t(a.value.minDate,g,D))||Me(...$t(a.value.minDate,g,D)),m=(g,D)=>Ne(...$t(a.value.maxDate,g,D))||Me(...$t(a.value.maxDate,g,D)),v=(g,D,y)=>{let H=!1;return a.value.maxDate&&y&&m(g,D)&&(H=!0),a.value.minDate&&!y&&C(g,D)&&(H=!0),H},h=(g,D,y,H)=>{let re=!1;return H&&(a.value.minDate||a.value.maxDate)?a.value.minDate&&a.value.maxDate?re=v(g,D,y):(a.value.minDate&&C(g,D)||a.value.maxDate&&m(g,D))&&(re=!0):re=!0,re},k=g=>Array.isArray(a.value.allowedDates)&&!a.value.allowedDates.length?!0:a.value.allowedDates?!Aa(g,a.value.allowedDates):!1,Y=g=>!c(g),f=g=>n.value.noDisabledRange?!er({start:g[0],end:g[1]}).some(D=>Y(D)):!0,S=g=>{if(g){const D=he(g);return D>=+e.yearRange[0]&&D<=e.yearRange[1]}return!0},I=(g,D)=>!!(Array.isArray(g)&&g[D]&&(n.value.maxRange||n.value.minRange)&&S(g[D])),U=(g,D,y=0)=>{if(I(D,y)&&S(g)){const H=Jn(g,D[y]),re=kr(D[y],g),R=re.length===1?0:re.filter(oe=>Y(oe)).length,b=Math.abs(H)-(n.value.minMaxRawRange?0:R);if(n.value.minRange&&n.value.maxRange)return b>=+n.value.minRange&&b<=+n.value.maxRange;if(n.value.minRange)return b>=+n.value.minRange;if(n.value.maxRange)return b<=+n.value.maxRange}return!0},A=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,q=g=>Array.isArray(g)?[g[0]?Ga(g[0]):null,g[1]?Ga(g[1]):null]:Ga(g),ae=(g,D,y)=>g.find(H=>+H.hours===Tt(D)&&H.minutes==="*"?!0:+H.minutes===Rt(D)&&+H.hours===Tt(D))&&y,E=(g,D,y)=>{const[H,re]=g,[R,b]=D;return!ae(H,R,y)&&!ae(re,b,y)&&y},B=(g,D)=>{const y=Array.isArray(D)?D:[D];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?E(e.disabledTimes,y,g):!y.some(H=>ae(e.disabledTimes,H,g)):g},ne=(g,D)=>{const y=Array.isArray(D)?[Ft(D[0]),D[1]?Ft(D[1]):void 0]:Ft(D),H=!e.disabledTimes(y);return g&&H},F=(g,D)=>e.disabledTimes?Array.isArray(e.disabledTimes)?B(D,g):ne(D,g):D,N=g=>{let D=!0;if(!g||A())return!0;const y=!a.value.minDate&&!a.value.maxDate?q(g):g;return(e.maxTime||a.value.maxDate)&&(D=qn(e.maxTime,a.value.maxDate,"max",qe(y),D)),(e.minTime||a.value.minDate)&&(D=qn(e.minTime,a.value.minDate,"min",qe(y),D)),F(g,D)},ie=g=>{if(!e.monthPicker)return!0;let D=!0;const y=Q(pt(g));if(a.value.minDate&&a.value.maxDate){const H=Q(pt(a.value.minDate)),re=Q(pt(a.value.maxDate));return Ne(y,H)&&Ie(y,re)||Me(y,H)||Me(y,re)}if(a.value.minDate){const H=Q(pt(a.value.minDate));D=Ne(y,H)||Me(y,H)}if(a.value.maxDate){const H=Q(pt(a.value.maxDate));D=Ie(y,H)||Me(y,H)}return D},ce=G(()=>g=>!e.enableTimePicker||e.ignoreTimeValidation?!0:N(g)),pe=G(()=>g=>e.monthPicker?Array.isArray(g)&&(n.value.enabled||r.value.enabled)?!g.filter(D=>!ie(D)).length:ie(g):!0);return{isDisabled:Y,validateDate:c,validateMonthYearInRange:h,isDateRangeAllowed:f,checkMinMaxRange:U,isValidTime:N,isTimeValid:ce,isMonthValid:pe}},Ia=()=>{const e=G(()=>(a,r)=>a?.includes(r)),t=G(()=>(a,r)=>a.count?a.solo?!0:r===0:!0),n=G(()=>(a,r)=>a.count?a.solo?!0:r===a.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},Es=(e,t,n)=>{const a=Z(0),r=ha({[Vt.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[Vt.calendar]:!1,[Vt.header]:!1}),l=G(()=>e.monthPicker||e.timePicker),i=v=>{var h;if((h=e.flow)!=null&&h.length){if(!v&&l.value)return m();r[v]=!0,Object.keys(r).filter(k=>!r[k]).length||m()}},p=()=>{var v,h;(v=e.flow)!=null&&v.length&&a.value!==-1&&(a.value+=1,t("flow-step",a.value),m()),((h=e.flow)==null?void 0:h.length)===a.value&&it().then(()=>c())},c=()=>{a.value=-1},C=(v,h,...k)=>{var Y,f;e.flow[a.value]===v&&n.value&&((f=(Y=n.value)[h])==null||f.call(Y,...k))},m=(v=0)=>{v&&(a.value+=v),C(Xe.month,"toggleMonthPicker",!0),C(Xe.year,"toggleYearPicker",!0),C(Xe.calendar,"toggleTimePicker",!1,!0),C(Xe.time,"toggleTimePicker",!0,!0);const h=e.flow[a.value];(h===Xe.hours||h===Xe.minutes||h===Xe.seconds)&&C(h,"toggleTimePicker",!0,!0,h)};return{childMount:i,updateFlowStep:p,resetFlow:c,handleFlow:m,flowStep:a}},Bs={key:1,class:"dp__input_wrap"},Ns=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-label","aria-disabled","aria-invalid"],Ls={key:2,class:"dp--clear-btn"},Hs=["aria-label"],Vs=ze({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...Ya},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,{defaultedTextInput:l,defaultedAriaLabels:i,defaultedInline:p,defaultedConfig:c,defaultedRange:C,defaultedMultiDates:m,defaultedUI:v,getDefaultPattern:h,getDefaultStartTime:k}=Se(r),{checkMinMaxRange:Y}=Et(r),f=Z(),S=Z(null),I=Z(!1),U=Z(!1),A=G(()=>({dp__pointer:!r.disabled&&!r.readonly&&!l.value.enabled,dp__disabled:r.disabled,dp__input_readonly:!l.value.enabled,dp__input:!0,dp__input_icon_pad:!r.hideInputIcon,dp__input_valid:typeof r.state=="boolean"?r.state:!1,dp__input_invalid:typeof r.state=="boolean"?!r.state:!1,dp__input_focus:I.value||r.isMenuOpen,dp__input_reg:!l.value.enabled,...v.value.input??{}})),q=()=>{a("set-input-date",null),r.clearable&&r.autoApply&&(a("set-empty-date"),f.value=null)},ae=b=>{const oe=k();return ii(b,l.value.format??h(),oe??xr({},r.enableSeconds),r.inputValue,U.value,r.formatLocale)},E=b=>{const{rangeSeparator:oe}=l.value,[V,M]=b.split(`${oe}`);if(V){const o=ae(V.trim()),w=M?ae(M.trim()):null;if(Kt(o,w))return;const z=o&&w?[o,w]:[o];Y(w,z,0)&&(f.value=o?z:null)}},B=()=>{U.value=!0},ne=b=>{if(C.value.enabled)E(b);else if(m.value.enabled){const oe=b.split(";");f.value=oe.map(V=>ae(V.trim())).filter(V=>V)}else f.value=ae(b)},F=b=>{var oe;const V=typeof b=="string"?b:(oe=b.target)==null?void 0:oe.value;V!==""?(l.value.openMenu&&!r.isMenuOpen&&a("open"),ne(V),a("set-input-date",f.value)):q(),U.value=!1,a("update:input-value",V),a("text-input",b,f.value)},N=b=>{l.value.enabled?(ne(b.target.value),l.value.enterSubmit&&sn(f.value)&&r.inputValue!==""?(a("set-input-date",f.value,!0),f.value=null):l.value.enterSubmit&&r.inputValue===""&&(f.value=null,a("clear"))):pe(b)},ie=(b,oe)=>{l.value.enabled&&l.value.tabSubmit&&!oe&&ne(b.target.value),l.value.tabSubmit&&sn(f.value)&&r.inputValue!==""?(a("set-input-date",f.value,!0,!0),f.value=null):l.value.tabSubmit&&r.inputValue===""&&(f.value=null,a("clear",!0))},ce=()=>{I.value=!0,a("focus"),it().then(()=>{var b;l.value.enabled&&l.value.selectOnFocus&&((b=S.value)==null||b.select())})},pe=b=>{if(Yt(b,c.value,!0),l.value.enabled&&l.value.openMenu&&!p.value.input){if(l.value.openMenu==="open"&&!r.isMenuOpen)return a("open");if(l.value.openMenu==="toggle")return a("toggle")}else l.value.enabled||a("toggle")},g=()=>{a("real-blur"),I.value=!1,(!r.isMenuOpen||p.value.enabled&&p.value.input)&&a("blur"),r.autoApply&&l.value.enabled&&f.value&&!r.isMenuOpen&&(a("set-input-date",f.value),a("select-date"),f.value=null)},D=b=>{Yt(b,c.value,!0),a("clear")},y=b=>{if(b.key==="Tab"&&ie(b),b.key==="Enter"&&N(b),!l.value.enabled){if(b.code==="Tab")return;b.preventDefault()}},H=()=>{var b;(b=S.value)==null||b.focus({preventScroll:!0})},re=b=>{f.value=b},R=b=>{b.key===$e.tab&&ie(b,!0)};return t({focusInput:H,setParsedDate:re}),(b,oe)=>{var V,M,o;return P(),W("div",{onClick:pe},[b.$slots.trigger&&!b.$slots["dp-input"]&&!d(p).enabled?ue(b.$slots,"trigger",{key:0}):j("",!0),!b.$slots.trigger&&(!d(p).enabled||d(p).input)?(P(),W("div",Bs,[b.$slots["dp-input"]&&!b.$slots.trigger&&(!d(p).enabled||d(p).enabled&&d(p).input)?ue(b.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:F,onEnter:N,onTab:ie,onClear:D,onBlur:g,onKeypress:y,onPaste:B,onFocus:ce,openMenu:()=>b.$emit("open"),closeMenu:()=>b.$emit("close"),toggleMenu:()=>b.$emit("toggle")}):j("",!0),b.$slots["dp-input"]?j("",!0):(P(),W("input",{key:1,id:b.uid?`dp-input-${b.uid}`:void 0,ref_key:"inputRef",ref:S,"data-test":"dp-input",name:b.name,class:ke(A.value),inputmode:d(l).enabled?"text":"none",placeholder:b.placeholder,disabled:b.disabled,readonly:b.readonly,required:b.required,value:e.inputValue,autocomplete:b.autocomplete,"aria-label":(V=d(i))==null?void 0:V.input,"aria-disabled":b.disabled||void 0,"aria-invalid":b.state===!1?!0:void 0,onInput:F,onBlur:g,onFocus:ce,onKeypress:y,onKeydown:oe[0]||(oe[0]=w=>y(w)),onPaste:B},null,42,Ns)),ye("div",{onClick:oe[3]||(oe[3]=w=>a("toggle"))},[b.$slots["input-icon"]&&!b.hideInputIcon?(P(),W("span",{key:0,class:"dp__input_icon",onClick:oe[1]||(oe[1]=w=>a("toggle"))},[ue(b.$slots,"input-icon")])):j("",!0),!b.$slots["input-icon"]&&!b.hideInputIcon&&!b.$slots["dp-input"]?(P(),De(d(aa),{key:1,"aria-label":(M=d(i))==null?void 0:M.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:oe[2]||(oe[2]=w=>a("toggle"))},null,8,["aria-label"])):j("",!0)]),b.$slots["clear-icon"]&&e.inputValue&&b.clearable&&!b.disabled&&!b.readonly?(P(),W("span",Ls,[ue(b.$slots,"clear-icon",{clear:D})])):j("",!0),b.clearable&&!b.$slots["clear-icon"]&&e.inputValue&&!b.disabled&&!b.readonly?(P(),W("button",{key:3,"aria-label":(o=d(i))==null?void 0:o.clearInput,class:"dp--clear-btn",type:"button",onKeydown:oe[4]||(oe[4]=w=>d(et)(w,()=>D(w),!0,R)),onClick:oe[5]||(oe[5]=va(w=>D(w),["prevent"]))},[ot(d(fr),{class:"dp__input_icons","data-test":"clear-icon"})],40,Hs)):j("",!0)])):j("",!0)])}}}),Fs=typeof window<"u"?window:void 0,tn=()=>{},qs=e=>Fr()?(qr(e),!0):!1,Ws=(e,t,n,a)=>{if(!e)return tn;let r=tn;const l=ct(()=>d(e),p=>{r(),p&&(p.addEventListener(t,n,a),r=()=>{p.removeEventListener(t,n,a),r=tn})},{immediate:!0,flush:"post"}),i=()=>{l(),r()};return qs(i),i},Qs=(e,t,n,a={})=>{const{window:r=Fs,event:l="pointerdown"}=a;return r?Ws(r,l,i=>{const p=Fe(e),c=Fe(t);!p||!c||p===i.target||i.composedPath().includes(p)||i.composedPath().includes(c)||n(i)},{passive:!0}):void 0},zs=ze({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...Ya},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const a=n,r=e,l=qt(),i=Z(!1),p=ca(r,"modelValue"),c=ca(r,"timezone"),C=Z(null),m=Z(null),v=Z(null),h=Z(!1),k=Z(null),Y=Z(!1),f=Z(!1),S=Z(!1),I=Z(!1),{setMenuFocused:U,setShiftKey:A}=Ar(),{clearArrowNav:q}=It(),{validateDate:ae,isValidTime:E}=Et(r),{defaultedTransitions:B,defaultedTextInput:ne,defaultedInline:F,defaultedConfig:N,defaultedRange:ie,defaultedMultiDates:ce}=Se(r),{menuTransition:pe,showTransition:g}=ga(B);Ke(()=>{w(r.modelValue),it().then(()=>{if(!F.value.enabled){const O=oe(k.value);O?.addEventListener("scroll",J),window?.addEventListener("resize",$)}}),F.value.enabled&&(i.value=!0),window?.addEventListener("keyup",ge),window?.addEventListener("keydown",x)}),Ca(()=>{if(!F.value.enabled){const O=oe(k.value);O?.removeEventListener("scroll",J),window?.removeEventListener("resize",$)}window?.removeEventListener("keyup",ge),window?.removeEventListener("keydown",x)});const D=lt(l,"all",r.presetDates),y=lt(l,"input");ct([p,c],()=>{w(p.value)},{deep:!0});const{openOnTop:H,menuStyle:re,xCorrect:R,setMenuPosition:b,getScrollableParent:oe,shadowRender:V}=Ys({menuRef:C,menuRefInner:m,inputRef:v,pickerWrapperRef:k,inline:F,emit:a,props:r,slots:l}),{inputValue:M,internalModelValue:o,parseExternalModelValue:w,emitModelValue:z,formatInputValue:u,checkBeforeEmit:le}=$i(a,r,h),fe=G(()=>({dp__main:!0,dp__theme_dark:r.dark,dp__theme_light:!r.dark,dp__flex_display:F.value.enabled,"dp--flex-display-collapsed":S.value,dp__flex_display_with_input:F.value.input})),Ve=G(()=>r.dark?"dp__theme_dark":"dp__theme_light"),T=G(()=>r.teleport?{to:typeof r.teleport=="boolean"?"body":r.teleport,disabled:!r.teleport||F.value.enabled}:{}),K=G(()=>({class:"dp__outer_menu_wrap"})),s=G(()=>F.value.enabled&&(r.timePicker||r.monthPicker||r.yearPicker||r.quarterPicker)),L=()=>{var O,ee;return(ee=(O=v.value)==null?void 0:O.$el)==null?void 0:ee.getBoundingClientRect()},J=()=>{i.value&&(N.value.closeOnScroll?rt():b())},$=()=>{var O;i.value&&b();const ee=(O=m.value)==null?void 0:O.$el.getBoundingClientRect().width;S.value=document.body.offsetWidth<=ee},ge=O=>{O.key==="Tab"&&!F.value.enabled&&!r.teleport&&N.value.tabOutClosesMenu&&(k.value.contains(document.activeElement)||rt()),f.value=O.shiftKey},x=O=>{f.value=O.shiftKey},X=()=>{!r.disabled&&!r.readonly&&(V(Un,r),b(!1),i.value=!0,i.value&&a("open"),i.value||na(),w(r.modelValue))},de=()=>{var O;M.value="",na(),(O=v.value)==null||O.setParsedDate(null),a("update:model-value",null),a("update:model-timezone-value",null),a("cleared"),N.value.closeOnClearValue&&rt()},be=()=>{const O=o.value;return!O||!Array.isArray(O)&&ae(O)?!0:Array.isArray(O)?ce.value.enabled||O.length===2&&ae(O[0])&&ae(O[1])?!0:ie.value.partialRange&&!r.timePicker?ae(O[0]):!1:!1},st=()=>{le()&&be()?(z(),rt()):a("invalid-select",o.value)},me=O=>{Pt(),z(),N.value.closeOnAutoApply&&!O&&rt()},Pt=()=>{v.value&&ne.value.enabled&&v.value.setParsedDate(o.value)},gt=(O=!1)=>{r.autoApply&&E(o.value)&&be()&&(ie.value.enabled&&Array.isArray(o.value)?(ie.value.partialRange||o.value.length===2)&&me(O):me(O))},na=()=>{ne.value.enabled||(o.value=null)},rt=()=>{F.value.enabled||(i.value&&(i.value=!1,R.value=!1,U(!1),A(!1),q(),a("closed"),M.value&&w(p.value)),na(),a("blur"))},ra=(O,ee,se=!1)=>{if(!O){o.value=null;return}const Je=Array.isArray(O)?!O.some(Bt=>!ae(Bt)):ae(O),ut=E(O);Je&&ut?(I.value=!0,o.value=O,ee&&(Y.value=se,st(),a("text-submit")),it().then(()=>{I.value=!1})):a("invalid-date",O)},Ea=()=>{r.autoApply&&E(o.value)&&z(),Pt()},wa=()=>i.value?rt():X(),Ba=O=>{o.value=O},Na=()=>{ne.value.enabled&&(h.value=!0,u()),a("focus")},La=()=>{if(ne.value.enabled&&(h.value=!1,w(r.modelValue),Y.value)){const O=li(k.value,f.value);O?.focus()}a("blur")},Ha=O=>{m.value&&m.value.updateMonthYear(0,{month:Ln(O.month),year:Ln(O.year)})},Va=O=>{w(O??r.modelValue)},Fa=(O,ee)=>{var se;(se=m.value)==null||se.switchView(O,ee)},_=O=>N.value.onClickOutside?N.value.onClickOutside(O):rt(),te=(O=0)=>{var ee;(ee=m.value)==null||ee.handleFlow(O)};return Qs(C,v,()=>_(be)),t({closeMenu:rt,selectDate:st,clearValue:de,openMenu:X,onScroll:J,formatInputValue:u,updateInternalModelValue:Ba,setMonthYear:Ha,parseModel:Va,switchView:Fa,toggleMenu:wa,handleFlow:te,dpWrapMenuRef:C}),(O,ee)=>(P(),W("div",{ref_key:"pickerWrapperRef",ref:k,class:ke(fe.value),"data-datepicker-instance":""},[ot(Vs,Qe({ref_key:"inputRef",ref:v,"input-value":d(M),"onUpdate:inputValue":ee[0]||(ee[0]=se=>Pn(M)?M.value=se:null),"is-menu-open":i.value},O.$props,{onClear:de,onOpen:X,onSetInputDate:ra,onSetEmptyDate:d(z),onSelectDate:st,onToggle:wa,onClose:rt,onFocus:Na,onBlur:La,onRealBlur:ee[1]||(ee[1]=se=>h.value=!1),onTextInput:ee[2]||(ee[2]=se=>O.$emit("text-input",se))}),je({_:2},[Ye(d(y),(se,Je)=>({name:se,fn:_e(ut=>[ue(O.$slots,se,We(at(ut)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(P(),De(Oa(O.teleport?Br:"div"),We(at(T.value)),{default:_e(()=>[ot(ta,{name:d(pe)(d(H)),css:d(g)&&!d(F).enabled},{default:_e(()=>[i.value?(P(),W("div",Qe({key:0,ref_key:"dpWrapMenuRef",ref:C},K.value,{class:{"dp--menu-wrapper":!d(F).enabled},style:d(F).enabled?void 0:d(re)}),[ot(Un,Qe({ref_key:"dpMenuRef",ref:m},O.$props,{"internal-model-value":d(o),"onUpdate:internalModelValue":ee[3]||(ee[3]=se=>Pn(o)?o.value=se:null),class:{[Ve.value]:!0,"dp--menu-wrapper":O.teleport},"open-on-top":d(H),"no-overlay-focus":s.value,collapse:S.value,"get-input-rect":L,"is-text-input-date":I.value,onClosePicker:rt,onSelectDate:st,onAutoApply:gt,onTimeUpdate:Ea,onFlowStep:ee[4]||(ee[4]=se=>O.$emit("flow-step",se)),onUpdateMonthYear:ee[5]||(ee[5]=se=>O.$emit("update-month-year",se)),onInvalidSelect:ee[6]||(ee[6]=se=>O.$emit("invalid-select",d(o))),onAutoApplyInvalid:ee[7]||(ee[7]=se=>O.$emit("invalid-select",se)),onInvalidFixedRange:ee[8]||(ee[8]=se=>O.$emit("invalid-fixed-range",se)),onRecalculatePosition:d(b),onTooltipOpen:ee[9]||(ee[9]=se=>O.$emit("tooltip-open",se)),onTooltipClose:ee[10]||(ee[10]=se=>O.$emit("tooltip-close",se)),onTimePickerOpen:ee[11]||(ee[11]=se=>O.$emit("time-picker-open",se)),onTimePickerClose:ee[12]||(ee[12]=se=>O.$emit("time-picker-close",se)),onAmPmChange:ee[13]||(ee[13]=se=>O.$emit("am-pm-change",se)),onRangeStart:ee[14]||(ee[14]=se=>O.$emit("range-start",se)),onRangeEnd:ee[15]||(ee[15]=se=>O.$emit("range-end",se)),onDateUpdate:ee[16]||(ee[16]=se=>O.$emit("date-update",se)),onInvalidDate:ee[17]||(ee[17]=se=>O.$emit("invalid-date",se)),onOverlayToggle:ee[18]||(ee[18]=se=>O.$emit("overlay-toggle",se))}),je({_:2},[Ye(d(D),(se,Je)=>({name:se,fn:_e(ut=>[ue(O.$slots,se,We(at({...ut})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):j("",!0)]),_:3},8,["name","css"])]),_:3},16))],2))}}),Ir=(()=>{const e=zs;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),Us=Object.freeze(Object.defineProperty({__proto__:null,default:Ir},Symbol.toStringTag,{value:"Module"}));Object.entries(Us).forEach(([e,t])=>{e!=="default"&&(Ir[e]=t)});export{Ir as V}; diff --git a/src/static/app/dist/index.html b/src/static/app/dist/index.html index b13573b..756e6bc 100644 --- a/src/static/app/dist/index.html +++ b/src/static/app/dist/index.html @@ -10,8 +10,8 @@ WGDashboard - - + +
    diff --git a/src/static/app/src/components/navbar.vue b/src/static/app/src/components/navbar.vue index 07d466d..e5321b4 100644 --- a/src/static/app/src/components/navbar.vue +++ b/src/static/app/src/components/navbar.vue @@ -21,7 +21,7 @@ export default { updateMessage: "Checking for update...", updateUrl: "", openHelpModal: false, - openAgentModal: true, + openAgentModal: false, } }, computed: { @@ -209,7 +209,7 @@ export default { .slideIn-enter-from, .slideIn-leave-to { - transform: translateX(30px); + transform: translateY(30px); filter: blur(3px); opacity: 0; } diff --git a/src/static/app/src/components/navbarComponents/agentContainer.vue b/src/static/app/src/components/navbarComponents/agentContainer.vue new file mode 100644 index 0000000..f92a9bd --- /dev/null +++ b/src/static/app/src/components/navbarComponents/agentContainer.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/src/static/app/src/components/navbarComponents/agentModal.vue b/src/static/app/src/components/navbarComponents/agentModal.vue index c929074..6d01517 100644 --- a/src/static/app/src/components/navbarComponents/agentModal.vue +++ b/src/static/app/src/components/navbarComponents/agentModal.vue @@ -1,176 +1,17 @@ @@ -254,7 +78,7 @@ const emits = defineEmits(['close']) background: linear-gradient(var(--degree), #009dff52 var(--distance2), #ff4a0052 100%); } -.agentContainer.connected{ +.agentContainer.enabled{ height: calc(var(--agentHeight) - 1rem); } @@ -273,19 +97,4 @@ const emits = defineEmits(['close']) overflow-y: auto; max-height: calc(var(--agentHeight) - 70px - 244px); } - -.agent-message-move, /* apply transition to moving elements */ -.agent-message-enter-active, -.agent-message-leave-active { - transition: all 0.5s cubic-bezier(0.82, 0.58, 0.17, 1); -} -.agent-message-enter-from, -.agent-message-leave-to { - opacity: 0; - filter: blur(8px); - transform: translateY(30px); -} -.agent-message-leave-active { - position: absolute; -} \ No newline at end of file diff --git a/src/static/app/src/css/dashboard.css b/src/static/app/src/css/dashboard.css index 71abcbc..1b9a8fe 100644 --- a/src/static/app/src/css/dashboard.css +++ b/src/static/app/src/css/dashboard.css @@ -1308,4 +1308,19 @@ samp{ .peerList-leave-active { position: absolute; +} + +.agent-message-move, /* apply transition to moving elements */ +.agent-message-enter-active, +.agent-message-leave-active { + transition: all 0.5s cubic-bezier(0.82, 0.58, 0.17, 1); +} +.agent-message-enter-from, +.agent-message-leave-to { + opacity: 0; + filter: blur(8px); + transform: translateY(30px); +} +.agent-message-leave-active { + position: absolute; } \ No newline at end of file diff --git a/src/static/app/src/main.js b/src/static/app/src/main.js index 01342e4..04ada83 100644 --- a/src/static/app/src/main.js +++ b/src/static/app/src/main.js @@ -9,6 +9,7 @@ import { createPinia } from 'pinia' import App from './App.vue' import router from './router/router.js' import {DashboardConfigurationStore} from "@/stores/DashboardConfigurationStore.js"; +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' let Locale; await fetch("/api/locale") .then(res => res.json()) @@ -19,9 +20,12 @@ await fetch("/api/locale") const app = createApp(App) app.use(router) const pinia = createPinia(); + pinia.use(({ store }) => { store.$router = markRaw(router) }) +pinia.use(piniaPluginPersistedstate) + app.use(pinia) const store = DashboardConfigurationStore() store.Locale = Locale; diff --git a/src/static/app/src/stores/DashboardConfigurationStore.js b/src/static/app/src/stores/DashboardConfigurationStore.js index a1b05cd..9fed68d 100644 --- a/src/static/app/src/stores/DashboardConfigurationStore.js +++ b/src/static/app/src/stores/DashboardConfigurationStore.js @@ -1,5 +1,5 @@ import {defineStore} from "pinia"; -import {fetchGet, fetchPost} from "@/utilities/fetch.js"; +import {fetchGet} from "@/utilities/fetch.js"; import {v4} from "uuid"; import {GetLocale} from "@/utilities/locale.js"; @@ -20,7 +20,10 @@ export const DashboardConfigurationStore = defineStore('DashboardConfigurationSt ActiveServerConfiguration: undefined, IsElectronApp: false, ShowNavBar: false, - Locale: undefined + Locale: undefined, + HelpAgent: { + Enable: false + } }), actions: { initCrossServerConfiguration(){ @@ -92,5 +95,10 @@ export const DashboardConfigurationStore = defineStore('DashboardConfigurationSt } return this.Locale[match[0]] } + }, + persist: { + pick: [ + 'HelpAgent.Enable' + ] } }); \ No newline at end of file