diff --git a/www/api.fahrschuldesk.de/bin/run_migration.php b/www/api.fahrschuldesk.de/bin/run_migration.php new file mode 100644 index 0000000..b736286 --- /dev/null +++ b/www/api.fahrschuldesk.de/bin/run_migration.php @@ -0,0 +1,27 @@ +#!/usr/bin/env php +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + echo "✓ DB verbunden\n"; + + $sql = file_get_contents(__DIR__ . '/migration.sql'); + $pdo->exec($sql); + echo "✓ Migration ausgeführt!\n"; + +} catch (PDOException $e) { + echo "✗ Fehler: " . $e->getMessage() . "\n"; + exit(1); +} + +echo "Fertig!\n"; \ No newline at end of file diff --git a/www/api.fahrschuldesk.de/composer.json b/www/api.fahrschuldesk.de/composer.json index 99d5bd6..063f59f 100644 --- a/www/api.fahrschuldesk.de/composer.json +++ b/www/api.fahrschuldesk.de/composer.json @@ -7,15 +7,18 @@ "slim/slim": "^4.12", "slim/psr7": "^1.6", "php-di/php-di": "^7.0", - "firebase/php-jwt": "^6.10", - "passwordlib/passwordlib": "^1.0", - "ramsey/uuid": "^4.7" + "firebase/php-jwt": "^6.0" }, "autoload": { "psr-4": { "App\\": "app/" } }, + "config": { + "audit": { + "block-insecure": false + } + }, "scripts": { "migrate": "php bin/migrate.php" } diff --git a/www/api.fahrschuldesk.de/composer.lock b/www/api.fahrschuldesk.de/composer.lock new file mode 100644 index 0000000..3aa39bc --- /dev/null +++ b/www/api.fahrschuldesk.de/composer.lock @@ -0,0 +1,942 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "9cdffe364f9c2549250c4e424f756652", + "packages": [ + { + "name": "fig/http-message-util", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message-util.git", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "suggest": { + "psr/http-message": "The package containing the PSR-7 interfaces" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-message-util/issues", + "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" + }, + "time": "2020-11-24T22:02:12+00:00" + }, + { + "name": "firebase/php-jwt", + "version": "v6.11.1", + "source": { + "type": "git", + "url": "https://github.com/googleapis/php-jwt.git", + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/php-jwt/zipball/d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.4", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psr/cache": "^2.0||^3.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0" + }, + "suggest": { + "ext-sodium": "Support EdDSA (Ed25519) signatures", + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "keywords": [ + "jwt", + "php" + ], + "support": { + "issues": "https://github.com/googleapis/php-jwt/issues", + "source": "https://github.com/googleapis/php-jwt/tree/v6.11.1" + }, + "time": "2025-04-09T20:32:01+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.13", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b566ee0dd251f3c4078bed003a7ce015f5ea6dce", + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2026-04-16T14:03:50+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "php-di/invoker", + "version": "2.3.7", + "source": { + "type": "git", + "url": "https://github.com/PHP-DI/Invoker.git", + "reference": "3c1ddfdef181431fbc4be83378f6d036d59e81e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/3c1ddfdef181431fbc4be83378f6d036d59e81e1", + "reference": "3c1ddfdef181431fbc4be83378f6d036d59e81e1", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "psr/container": "^1.0|^2.0" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "mnapoli/hard-mode": "~0.3.0", + "phpunit/phpunit": "^9.0 || ^10 || ^11 || ^12" + }, + "type": "library", + "autoload": { + "psr-4": { + "Invoker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Generic and extensible callable invoker", + "homepage": "https://github.com/PHP-DI/Invoker", + "keywords": [ + "callable", + "dependency", + "dependency-injection", + "injection", + "invoke", + "invoker" + ], + "support": { + "issues": "https://github.com/PHP-DI/Invoker/issues", + "source": "https://github.com/PHP-DI/Invoker/tree/2.3.7" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + } + ], + "time": "2025-08-30T10:22:22+00:00" + }, + { + "name": "php-di/php-di", + "version": "7.1.1", + "source": { + "type": "git", + "url": "https://github.com/PHP-DI/PHP-DI.git", + "reference": "f88054cc052e40dbe7b383c8817c19442d480352" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/f88054cc052e40dbe7b383c8817c19442d480352", + "reference": "f88054cc052e40dbe7b383c8817c19442d480352", + "shasum": "" + }, + "require": { + "laravel/serializable-closure": "^1.0 || ^2.0", + "php": ">=8.0", + "php-di/invoker": "^2.0", + "psr/container": "^1.1 || ^2.0" + }, + "provide": { + "psr/container-implementation": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3", + "friendsofphp/proxy-manager-lts": "^1", + "mnapoli/phpunit-easymock": "^1.3", + "phpunit/phpunit": "^9.6 || ^10 || ^11", + "vimeo/psalm": "^5|^6" + }, + "suggest": { + "friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "DI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The dependency injection container for humans", + "homepage": "https://php-di.org/", + "keywords": [ + "PSR-11", + "container", + "container-interop", + "dependency injection", + "di", + "ioc", + "psr11" + ], + "support": { + "issues": "https://github.com/PHP-DI/PHP-DI/issues", + "source": "https://github.com/PHP-DI/PHP-DI/tree/7.1.1" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/php-di/php-di", + "type": "tidelift" + } + ], + "time": "2025-08-16T11:10:48+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/http-server-handler", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side request handler", + "keywords": [ + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" + ], + "support": { + "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" + }, + "time": "2023-04-10T20:06:20+00:00" + }, + { + "name": "psr/http-server-middleware", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0", + "psr/http-server-handler": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side middleware", + "keywords": [ + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" + }, + "time": "2023-04-11T06:14:47+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "slim/psr7", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim-Psr7.git", + "reference": "76e7e3b1cdfd583e9035c4c966c08e01e45ce959" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim-Psr7/zipball/76e7e3b1cdfd583e9035c4c966c08e01e45ce959", + "reference": "76e7e3b1cdfd583e9035c4c966c08e01e45ce959", + "shasum": "" + }, + "require": { + "fig/http-message-util": "^1.1.5", + "php": "^8.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.0 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "^1.0", + "psr/http-message-implementation": "^1.0 || ^2.0" + }, + "require-dev": { + "adriansuter/php-autoload-override": "^1.5|| ^2.0", + "ext-json": "*", + "http-interop/http-factory-tests": "^1.0 || ^2.0", + "php-http/psr7-integration-tests": "^1.5", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^9.6 || ^10", + "squizlabs/php_codesniffer": "^3.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\Psr7\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "https://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "https://akrabat.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "https://www.lgse.com" + } + ], + "description": "Strict PSR-7 implementation", + "homepage": "https://www.slimframework.com", + "keywords": [ + "http", + "psr-7", + "psr7" + ], + "support": { + "issues": "https://github.com/slimphp/Slim-Psr7/issues", + "source": "https://github.com/slimphp/Slim-Psr7/tree/1.8.0" + }, + "time": "2025-11-02T17:51:19+00:00" + }, + { + "name": "slim/slim", + "version": "4.15.1", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "887893516557506f254d950425ce7f5387a26970" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/887893516557506f254d950425ce7f5387a26970", + "reference": "887893516557506f254d950425ce7f5387a26970", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1.0 || ^2.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0", + "psr/http-server-handler": "^1.0", + "psr/http-server-middleware": "^1.0", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "adriansuter/php-autoload-override": "^1.4 || ^2", + "ext-simplexml": "*", + "guzzlehttp/psr7": "^2.6", + "httpsoft/http-message": "^1.1", + "httpsoft/http-server-request": "^1.1", + "laminas/laminas-diactoros": "^2.17 || ^3", + "nyholm/psr7": "^1.8", + "nyholm/psr7-server": "^1.1", + "phpspec/prophecy": "^1.19", + "phpspec/prophecy-phpunit": "^2.1", + "phpstan/phpstan": "^1 || ^2", + "phpunit/phpunit": "^9.6 || ^10 || ^11 || ^12", + "slim/http": "^1.3", + "slim/psr7": "^1.6", + "squizlabs/php_codesniffer": "^3.10", + "vimeo/psalm": "^5 || ^6" + }, + "suggest": { + "ext-simplexml": "Needed to support XML format in BodyParsingMiddleware", + "ext-xml": "Needed to support XML format in BodyParsingMiddleware", + "php-di/php-di": "PHP-DI is the recommended container library to be used with Slim", + "slim/psr7": "Slim PSR-7 implementation. See https://www.slimframework.com/docs/v4/start/installation.html for more information." + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\": "Slim" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "https://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "https://akrabat.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "https://www.lgse.com" + }, + { + "name": "Gabriel Manricks", + "email": "gmanricks@me.com", + "homepage": "http://gabrielmanricks.com" + } + ], + "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", + "homepage": "https://www.slimframework.com", + "keywords": [ + "api", + "framework", + "micro", + "router" + ], + "support": { + "docs": "https://www.slimframework.com/docs/v4/", + "forum": "https://discourse.slimframework.com/", + "irc": "irc://irc.freenode.net:6667/slimphp", + "issues": "https://github.com/slimphp/Slim/issues", + "rss": "https://www.slimframework.com/blog/feed.rss", + "slack": "https://slimphp.slack.com/", + "source": "https://github.com/slimphp/Slim", + "wiki": "https://github.com/slimphp/Slim/wiki" + }, + "funding": [ + { + "url": "https://opencollective.com/slimphp", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slim/slim", + "type": "tidelift" + } + ], + "time": "2025-11-21T12:23:44+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^8.2" + }, + "platform-dev": {}, + "plugin-api-version": "2.9.0" +} diff --git a/www/fahrschuldesk.de/dist/assets/AuditLogs-rWevo39c.js b/www/fahrschuldesk.de/dist/assets/AuditLogs-rWevo39c.js new file mode 100644 index 0000000..7f05439 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/AuditLogs-rWevo39c.js @@ -0,0 +1 @@ +import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as s,b as t,j as a}from"./index-CeMVzSB6.js";const r={};function d(l,e){return a(),s("div",null,[...e[0]||(e[0]=[t("h1",{class:"text-2xl font-bold mb-6"},"Audit-Log",-1),t("div",{class:"bg-white rounded-xl shadow-sm p-6"},[t("p",{class:"text-slate-500"},"Audit-Log kommt bald...")],-1)])])}const i=o(r,[["render",d]]);export{i as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Branches-s_BK2cgz.js b/www/fahrschuldesk.de/dist/assets/Branches-s_BK2cgz.js new file mode 100644 index 0000000..1a565e5 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Branches-s_BK2cgz.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as a,b as e,j as l}from"./index-CeMVzSB6.js";const o={};function n(r,t){return l(),a("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Filialen",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Filialen-Verwaltung kommt bald...")],-1)])])}const i=s(o,[["render",n]]);export{i as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Branding-D61QMGtV.js b/www/fahrschuldesk.de/dist/assets/Branding-D61QMGtV.js new file mode 100644 index 0000000..86c596f --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Branding-D61QMGtV.js @@ -0,0 +1 @@ +import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as s,b as e,j as a}from"./index-CeMVzSB6.js";const n={};function r(d,o){return a(),s("div",null,[...o[0]||(o[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Branding",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Branding / Logo-Upload kommt bald...")],-1)])])}const i=t(n,[["render",r]]);export{i as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Calendar-B7rUkOeg.js b/www/fahrschuldesk.de/dist/assets/Calendar-B7rUkOeg.js new file mode 100644 index 0000000..11b1b09 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Calendar-B7rUkOeg.js @@ -0,0 +1 @@ +import{_ as a}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as r,b as e,j as s}from"./index-CeMVzSB6.js";const n={};function o(l,t){return s(),r("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Kalender",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Kalender (Integration fahrschultermin.de) kommt bald...")],-1)])])}const m=a(n,[["render",o]]);export{m as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Dashboard-DUl1_Jl9.js b/www/fahrschuldesk.de/dist/assets/Dashboard-DUl1_Jl9.js new file mode 100644 index 0000000..f21fbca --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Dashboard-DUl1_Jl9.js @@ -0,0 +1 @@ +import{p as V,f as x,b as e,g as A,i as d,z as a,h as n,n as m,u as c,F as f,d as u,e as p,t as v,m as b,c as B,s as C,j as l}from"./index-CeMVzSB6.js";const j={class:"min-h-screen bg-slate-100"},M={class:"bg-white border-b border-slate-200 sticky top-0 z-50"},N={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},z={class:"flex items-center justify-between h-16"},L={class:"hidden md:flex items-center gap-1"},P={class:"flex items-center gap-3"},$={class:"text-right hidden sm:block"},D={class:"text-sm font-medium text-slate-800"},F={class:"text-xs text-slate-500"},H={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},K={__name:"Dashboard",setup(S){const y=C(),r=V(),k=B(()=>{var s;return r.isPlatformAdmin?"Plattform-Admin":((s=r.tenant)==null?void 0:s.name)||""});function i(s){return r.isPlatformAdmin,!0}async function w(){r.logout(),y.push("/login")}return(s,t)=>{var g,h;const o=b("router-link"),_=b("router-view");return l(),x("div",j,[e("header",M,[e("div",N,[e("div",z,[t[9]||(t[9]=A('
fahrschuldesk
',1)),e("nav",L,[d(o,{to:"/dashboard",class:m(["px-3 py-2 rounded-lg text-sm font-medium transition-colors",s.$route.path==="/dashboard"?"bg-primary text-white":"text-slate-600 hover:bg-slate-100"])},{default:a(()=>[...t[0]||(t[0]=[n(" Dashboard ",-1)])]),_:1},8,["class"]),c(r).isPlatformAdmin?(l(),x(f,{key:0},[d(o,{to:"/admin/tenants",class:m(["px-3 py-2 rounded-lg text-sm font-medium transition-colors",s.$route.path.startsWith("/admin/tenants")?"bg-primary text-white":"text-slate-600 hover:bg-slate-100"])},{default:a(()=>[...t[1]||(t[1]=[n(" Fahrschulen ",-1)])]),_:1},8,["class"]),d(o,{to:"/admin/invoices",class:m(["px-3 py-2 rounded-lg text-sm font-medium transition-colors",s.$route.path.startsWith("/admin/invoices")?"bg-primary text-white":"text-slate-600 hover:bg-slate-100"])},{default:a(()=>[...t[2]||(t[2]=[n(" Rechnungen ",-1)])]),_:1},8,["class"]),d(o,{to:"/admin/audit-logs",class:m(["px-3 py-2 rounded-lg text-sm font-medium transition-colors",s.$route.path.startsWith("/admin/audit")?"bg-primary text-white":"text-slate-600 hover:bg-slate-100"])},{default:a(()=>[...t[3]||(t[3]=[n(" Audit-Log ",-1)])]),_:1},8,["class"])],64)):(l(),x(f,{key:1},[i()?(l(),u(o,{key:0,to:"/users",class:"px-3 py-2 rounded-lg text-sm font-medium text-slate-600 hover:bg-slate-100 transition-colors"},{default:a(()=>[...t[4]||(t[4]=[n(" Benutzer ",-1)])]),_:1})):p("",!0),i()?(l(),u(o,{key:1,to:"/calendar",class:"px-3 py-2 rounded-lg text-sm font-medium text-slate-600 hover:bg-slate-100 transition-colors"},{default:a(()=>[...t[5]||(t[5]=[n(" Kalender ",-1)])]),_:1})):p("",!0),i()?(l(),u(o,{key:2,to:"/messenger",class:"px-3 py-2 rounded-lg text-sm font-medium text-slate-600 hover:bg-slate-100 transition-colors"},{default:a(()=>[...t[6]||(t[6]=[n(" Messenger ",-1)])]),_:1})):p("",!0),i()||i()?(l(),u(o,{key:3,to:"/learning",class:"px-3 py-2 rounded-lg text-sm font-medium text-slate-600 hover:bg-slate-100 transition-colors"},{default:a(()=>[...t[7]||(t[7]=[n(" Lernsoftware ",-1)])]),_:1})):p("",!0)],64))]),e("div",P,[e("div",$,[e("p",D,v(((g=c(r).user)==null?void 0:g.name)||((h=c(r).user)==null?void 0:h.first_name)),1),e("p",F,v(k.value),1)]),e("button",{onClick:w,class:"p-2 rounded-lg text-slate-400 hover:text-slate-600 hover:bg-slate-100 transition-colors",title:"Abmelden"},[...t[8]||(t[8]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1)])])])])])]),e("main",H,[d(_)])])}}};export{K as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Files-BvF-O0NH.js b/www/fahrschuldesk.de/dist/assets/Files-BvF-O0NH.js new file mode 100644 index 0000000..0fe686f --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Files-BvF-O0NH.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as o,b as e,j as a}from"./index-CeMVzSB6.js";const l={};function r(n,t){return a(),o("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Dateien (DKS)",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"DKS / Datei-Upload kommt bald...")],-1)])])}const i=s(l,[["render",r]]);export{i as default}; diff --git a/www/fahrschuldesk.de/dist/assets/ForgotPassword-BnefAgO5.js b/www/fahrschuldesk.de/dist/assets/ForgotPassword-BnefAgO5.js new file mode 100644 index 0000000..1dd4f53 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/ForgotPassword-BnefAgO5.js @@ -0,0 +1 @@ +import{f as i,b as t,g as v,B as x,A as f,y as b,n as g,t as o,e as h,h as d,i as y,z as w,k as l,m as k,j as u,a as _}from"./index-CeMVzSB6.js";const z={class:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-100 to-slate-200 px-4"},S={class:"w-full max-w-md"},M={class:"bg-white rounded-2xl shadow-xl p-8"},V=["disabled"],B={class:"text-center text-sm text-slate-500 mt-6"},N={__name:"ForgotPassword",setup(C){const n=l(""),a=l(!1),s=l(""),r=l(!1);async function m(){a.value=!0,s.value="";try{await _.post("/auth/forgot-password",{email:n.value}),r.value=!0,s.value="Wenn die E-Mail existiert, erhalten Sie einen Link zum Zurücksetzen."}catch{r.value=!0,s.value="Wenn die E-Mail existiert, erhalten Sie einen Link zum Zurücksetzen."}finally{a.value=!1}}return(E,e)=>{const c=k("router-link");return u(),i("div",z,[t("div",S,[t("div",M,[e[4]||(e[4]=v('

Passwort vergessen?

Kein Problem. Geben Sie Ihre E-Mail ein.

',1)),t("form",{onSubmit:x(m,["prevent"]),class:"space-y-4"},[t("div",null,[e[1]||(e[1]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"E-Mail",-1)),f(t("input",{"onUpdate:modelValue":e[0]||(e[0]=p=>n.value=p),type:"email",required:"",placeholder:"ihre@email.de",class:"w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none"},null,512),[[b,n.value]])]),s.value?(u(),i("div",{key:0,class:g(["p-3 rounded-lg text-sm",r.value?"bg-green-50 text-green-600":"bg-red-50 text-red-600"])},o(s.value),3)):h("",!0),t("button",{type:"submit",disabled:a.value,class:"w-full py-3 px-4 bg-primary text-white font-medium rounded-lg hover:bg-primary-600 disabled:opacity-50"},o(a.value?"Senden...":"Link senden"),9,V)],32),t("p",B,[e[3]||(e[3]=d(" Zurück zum ",-1)),y(c,{to:"/login",class:"text-primary hover:underline"},{default:w(()=>[...e[2]||(e[2]=[d("Login",-1)])]),_:1})])])])])}}};export{N as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Invoices-DPbiN6Xy.js b/www/fahrschuldesk.de/dist/assets/Invoices-DPbiN6Xy.js new file mode 100644 index 0000000..1fa89df --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Invoices-DPbiN6Xy.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as t,b as e,j as o}from"./index-CeMVzSB6.js";const a={};function c(r,n){return o(),t("div",null,[...n[0]||(n[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Rechnungen",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Rechnungen kommen bald...")],-1)])])}const m=s(a,[["render",c]]);export{m as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Learning-C1i3Orm8.js b/www/fahrschuldesk.de/dist/assets/Learning-C1i3Orm8.js new file mode 100644 index 0000000..c88c25c --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Learning-C1i3Orm8.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as o,b as e,j as r}from"./index-CeMVzSB6.js";const a={};function n(l,t){return r(),o("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Lernsoftware",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Lernsoftware kommt bald...")],-1)])])}const f=s(a,[["render",n]]);export{f as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Login-fU5wXJUp.js b/www/fahrschuldesk.de/dist/assets/Login-fU5wXJUp.js new file mode 100644 index 0000000..5fd68bc --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Login-fU5wXJUp.js @@ -0,0 +1 @@ +import{p as V,f as o,b as t,g as C,B as j,A as h,y as B,n as w,t as p,e as f,w as A,h as n,i as x,z as v,r as g,k as b,m as z,s as N,q as S,j as r}from"./index-CeMVzSB6.js";const D={class:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-100 to-slate-200 px-4"},E={class:"w-full max-w-md"},L={class:"bg-white rounded-2xl shadow-xl p-8"},P=["disabled"],R={key:0,class:"mt-1 text-sm text-red-500"},q={class:"relative"},F=["type","disabled"],T={key:0,class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},U={key:1,class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},H={key:0,class:"mt-1 text-sm text-red-500"},J={key:0,class:"p-3 rounded-lg bg-red-50 text-red-600 text-sm"},K=["disabled"],O={key:0,class:"flex items-center justify-center gap-2"},$={key:1},G={class:"mt-6 flex items-center justify-between text-sm"},I={class:"text-center text-slate-400 text-sm mt-6"},X={__name:"Login",setup(Q){const y=N(),k=S(),_=V(),l=g({email:"",password:""}),s=g({}),i=b(""),a=b(!1),d=b(!1);async function M(){i.value="",Object.keys(s).forEach(e=>delete s[e]),a.value=!0;const m=await _.login(l.email,l.password);if(a.value=!1,m.success){const e=k.query.redirect||"/dashboard";y.push(e)}else i.value=m.message}return(m,e)=>{const c=z("router-link");return r(),o("div",D,[t("div",E,[e[13]||(e[13]=C('

fahrschuldesk

Verwaltung für Fahrschulen

',1)),t("div",L,[e[10]||(e[10]=t("h2",{class:"text-xl font-semibold text-slate-800 mb-6"},"Anmelden",-1)),t("form",{onSubmit:j(M,["prevent"]),class:"space-y-5"},[t("div",null,[e[3]||(e[3]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"E-Mail",-1)),h(t("input",{"onUpdate:modelValue":e[0]||(e[0]=u=>l.email=u),type:"email",placeholder:"ihre@email.de",class:w(["w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",{"border-red-400 focus:ring-red-200":s.email}]),disabled:a.value},null,10,P),[[B,l.email]]),s.email?(r(),o("p",R,p(s.email[0]),1)):f("",!0)]),t("div",null,[e[6]||(e[6]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Passwort",-1)),t("div",q,[h(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>l.password=u),type:d.value?"text":"password",placeholder:"••••••••",class:w(["w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all pr-12",{"border-red-400 focus:ring-red-200":s.password}]),disabled:a.value},null,10,F),[[A,l.password]]),t("button",{type:"button",onClick:e[2]||(e[2]=u=>d.value=!d.value),class:"absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600"},[d.value?(r(),o("svg",T,[...e[4]||(e[4]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"},null,-1)])])):(r(),o("svg",U,[...e[5]||(e[5]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"},null,-1),t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"},null,-1)])]))])]),s.password?(r(),o("p",H,p(s.password[0]),1)):f("",!0)]),i.value?(r(),o("div",J,p(i.value),1)):f("",!0),t("button",{type:"submit",disabled:a.value,class:"w-full py-3 px-4 bg-primary text-white font-medium rounded-lg hover:bg-primary-600 focus:ring-4 focus:ring-primary-200 transition-all disabled:opacity-50 disabled:cursor-not-allowed"},[a.value?(r(),o("span",O,[...e[7]||(e[7]=[t("svg",{class:"animate-spin h-5 w-5",viewBox:"0 0 24 24"},[t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4",fill:"none"}),t("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1),n(" Anmelden... ",-1)])])):(r(),o("span",$,"Anmelden"))],8,K)],32),t("div",G,[x(c,{to:"/forgot-password",class:"text-primary hover:underline"},{default:v(()=>[...e[8]||(e[8]=[n(" Passwort vergessen? ",-1)])]),_:1}),x(c,{to:"/register",class:"text-slate-500 hover:text-slate-700"},{default:v(()=>[...e[9]||(e[9]=[n(" Registrieren → ",-1)])]),_:1})])]),t("p",I,[e[12]||(e[12]=n(" Noch kein Konto? ",-1)),x(c,{to:"/register",class:"text-primary hover:underline"},{default:v(()=>[...e[11]||(e[11]=[n("Jetzt Fahrschule registrieren",-1)])]),_:1})])])])}}};export{X as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Messenger-DL4jJcTI.js b/www/fahrschuldesk.de/dist/assets/Messenger-DL4jJcTI.js new file mode 100644 index 0000000..16f4e5f --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Messenger-DL4jJcTI.js @@ -0,0 +1 @@ +import{_ as t}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as o,b as e,j as r}from"./index-CeMVzSB6.js";const n={};function a(l,s){return r(),o("div",null,[...s[0]||(s[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Messenger",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Messenger kommt bald...")],-1)])])}const m=t(n,[["render",a]]);export{m as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Modules-XFzn2DhG.js b/www/fahrschuldesk.de/dist/assets/Modules-XFzn2DhG.js new file mode 100644 index 0000000..2e5da1b --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Modules-XFzn2DhG.js @@ -0,0 +1 @@ +import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as s,b as e,j as l}from"./index-CeMVzSB6.js";const a={};function r(d,t){return l(),s("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Module",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Module-Verwaltung kommt bald...")],-1)])])}const m=o(a,[["render",r]]);export{m as default}; diff --git a/www/fahrschuldesk.de/dist/assets/NotFound-CXY4AhOb.js b/www/fahrschuldesk.de/dist/assets/NotFound-CXY4AhOb.js new file mode 100644 index 0000000..0233283 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/NotFound-CXY4AhOb.js @@ -0,0 +1 @@ +import{_ as o}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as n,b as t,i as r,z as i,h as l,m as a,j as d}from"./index-CeMVzSB6.js";const m={},c={class:"min-h-screen flex items-center justify-center px-4"},x={class:"text-center"};function f(p,e){const s=a("router-link");return d(),n("div",c,[t("div",x,[e[1]||(e[1]=t("div",{class:"text-8xl font-bold text-slate-200 mb-4"},"404",-1)),e[2]||(e[2]=t("h1",{class:"text-2xl font-bold text-slate-800 mb-2"},"Seite nicht gefunden",-1)),e[3]||(e[3]=t("p",{class:"text-slate-500 mb-8"},"Die Seite, die du suchst, existiert nicht.",-1)),r(s,{to:"/",class:"inline-flex items-center gap-2 px-6 py-3 bg-primary text-white rounded-lg hover:bg-primary-600 transition-colors"},{default:i(()=>[...e[0]||(e[0]=[t("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"})],-1),l(" Zum Dashboard ",-1)])]),_:1})])])}const v=o(m,[["render",f]]);export{v as default}; diff --git a/www/fahrschuldesk.de/dist/assets/PlatformAdmins-BsfJuUAN.js b/www/fahrschuldesk.de/dist/assets/PlatformAdmins-BsfJuUAN.js new file mode 100644 index 0000000..9925e68 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/PlatformAdmins-BsfJuUAN.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as o,b as t,j as a}from"./index-CeMVzSB6.js";const r={};function l(n,e){return a(),o("div",null,[...e[0]||(e[0]=[t("h1",{class:"text-2xl font-bold mb-6"},"Plattform-Admins",-1),t("div",{class:"bg-white rounded-xl shadow-sm p-6"},[t("p",{class:"text-slate-500"},"Admin-Verwaltung kommt bald...")],-1)])])}const c=s(r,[["render",l]]);export{c as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Register-Dtyvn1Yy.js b/www/fahrschuldesk.de/dist/assets/Register-Dtyvn1Yy.js new file mode 100644 index 0000000..ea8da3e --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Register-Dtyvn1Yy.js @@ -0,0 +1 @@ +import{p as _,f as a,b as s,g as V,B as M,A as i,y as d,n as x,t as m,e as p,v as C,h as c,i as z,z as B,r as y,k as g,m as S,s as j,j as n}from"./index-CeMVzSB6.js";const N={class:"min-h-screen flex items-center justify-center bg-gradient-to-br from-slate-100 to-slate-200 px-4 py-12"},U={class:"w-full max-w-lg"},A={class:"bg-white rounded-2xl shadow-xl p-8"},P=["disabled"],R={key:0,class:"mt-1 text-sm text-red-500"},T=["disabled"],E={key:0,class:"mt-1 text-sm text-red-500"},F=["disabled"],D=["disabled"],O=["disabled"],I={key:0,class:"mt-1 text-sm text-red-500"},J=["disabled"],Z={class:"flex items-start gap-3"},G=["disabled"],H={key:0,class:"p-3 rounded-lg bg-red-50 text-red-600 text-sm"},L={key:1,class:"p-3 rounded-lg bg-green-50 text-green-600 text-sm"},q=["disabled"],K={key:0,class:"flex items-center justify-center gap-2"},Q={key:1},W={class:"text-center text-sm text-slate-500 mt-6"},$={__name:"Register",setup(X){const h=j(),v=_(),t=y({name:"",email:"",phone:"",address:"",password:"",password_confirmation:"",accept_terms:!1}),r=y({}),b=g(""),f=g(""),o=g(!1);async function w(){if(b.value="",f.value="",Object.keys(r).forEach(e=>delete r[e]),t.password!==t.password_confirmation){r.password_confirmation=["Passwörter stimmen nicht überein"];return}o.value=!0;const u=await v.register({name:t.name,email:t.email,phone:t.phone,address:t.address,password:t.password});o.value=!1,u.success?(f.value="Registrierung erfolgreich! Nach der Freigabe durch einen Admin erhalten Sie eine E-Mail.",setTimeout(()=>{h.push("/login")},3e3)):(b.value=u.message,u.errors&&Object.assign(r,u.errors))}return(u,e)=>{const k=S("router-link");return n(),a("div",N,[s("div",U,[e[17]||(e[17]=V('

Fahrschule registrieren

Starten Sie Ihre 14-tägige kostenlose Testphase

',1)),s("div",A,[s("form",{onSubmit:M(w,["prevent"]),class:"space-y-5"},[s("div",null,[e[7]||(e[7]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Name der Fahrschule *",-1)),i(s("input",{"onUpdate:modelValue":e[0]||(e[0]=l=>t.name=l),type:"text",placeholder:"Muster Fahrschule",class:x(["w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",{"border-red-400":r.name}]),disabled:o.value},null,10,P),[[d,t.name]]),r.name?(n(),a("p",R,m(r.name[0]),1)):p("",!0)]),s("div",null,[e[8]||(e[8]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"E-Mail *",-1)),i(s("input",{"onUpdate:modelValue":e[1]||(e[1]=l=>t.email=l),type:"email",placeholder:"info@fahrschule.de",class:x(["w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",{"border-red-400":r.email}]),disabled:o.value},null,10,T),[[d,t.email]]),r.email?(n(),a("p",E,m(r.email[0]),1)):p("",!0)]),s("div",null,[e[9]||(e[9]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Telefon",-1)),i(s("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>t.phone=l),type:"tel",placeholder:"+49 123 456789",class:"w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",disabled:o.value},null,8,F),[[d,t.phone]])]),s("div",null,[e[10]||(e[10]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Adresse",-1)),i(s("textarea",{"onUpdate:modelValue":e[3]||(e[3]=l=>t.address=l),rows:"2",placeholder:"Straße, PLZ Ort",class:"w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all resize-none",disabled:o.value},null,8,D),[[d,t.address]])]),s("div",null,[e[11]||(e[11]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Passwort *",-1)),i(s("input",{"onUpdate:modelValue":e[4]||(e[4]=l=>t.password=l),type:"password",placeholder:"Mindestens 8 Zeichen",class:x(["w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",{"border-red-400":r.password}]),disabled:o.value},null,10,O),[[d,t.password]]),r.password?(n(),a("p",I,m(r.password[0]),1)):p("",!0)]),s("div",null,[e[12]||(e[12]=s("label",{class:"block text-sm font-medium text-slate-700 mb-1.5"},"Passwort bestätigen *",-1)),i(s("input",{"onUpdate:modelValue":e[5]||(e[5]=l=>t.password_confirmation=l),type:"password",placeholder:"Passwort wiederholen",class:"w-full px-4 py-2.5 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none transition-all",disabled:o.value},null,8,J),[[d,t.password_confirmation]])]),s("div",Z,[i(s("input",{"onUpdate:modelValue":e[6]||(e[6]=l=>t.accept_terms=l),type:"checkbox",id:"terms",class:"mt-1 rounded border-slate-300 text-primary focus:ring-primary",disabled:o.value},null,8,G),[[C,t.accept_terms]]),e[13]||(e[13]=s("label",{for:"terms",class:"text-sm text-slate-600"},[c(" Ich akzeptiere die "),s("a",{href:"#",class:"text-primary hover:underline"},"AGB"),c(" und "),s("a",{href:"#",class:"text-primary hover:underline"},"Datenschutzerklärung")],-1))]),b.value?(n(),a("div",H,m(b.value),1)):p("",!0),f.value?(n(),a("div",L,m(f.value),1)):p("",!0),s("button",{type:"submit",disabled:o.value||!t.accept_terms,class:"w-full py-3 px-4 bg-primary text-white font-medium rounded-lg hover:bg-primary-600 focus:ring-4 focus:ring-primary-200 transition-all disabled:opacity-50 disabled:cursor-not-allowed"},[o.value?(n(),a("span",K,[...e[14]||(e[14]=[s("svg",{class:"animate-spin h-5 w-5",viewBox:"0 0 24 24"},[s("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4",fill:"none"}),s("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1),c(" Registrieren... ",-1)])])):(n(),a("span",Q,"Jetzt kostenlos testen"))],8,q)],32),s("p",W,[e[16]||(e[16]=c(" Bereits registriert? ",-1)),z(k,{to:"/login",class:"text-primary hover:underline"},{default:B(()=>[...e[15]||(e[15]=[c("Jetzt anmelden",-1)])]),_:1})])])])])}}};export{$ as default}; diff --git a/www/fahrschuldesk.de/dist/assets/TenantEdit-TJEJ_0TK.js b/www/fahrschuldesk.de/dist/assets/TenantEdit-TJEJ_0TK.js new file mode 100644 index 0000000..b292159 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/TenantEdit-TJEJ_0TK.js @@ -0,0 +1 @@ +import{o as k,f as o,b as t,t as u,A as r,y as v,x as w,F as h,l as M,e as $,a as d,k as b,q as C,j as i,n as S}from"./index-CeMVzSB6.js";const V={class:"flex items-center gap-4 mb-6"},A={class:"text-2xl font-bold text-slate-800"},B={key:0,class:"text-center py-12 text-slate-500"},E={key:1,class:"grid gap-6"},F={class:"bg-white rounded-xl shadow-sm p-6"},T={class:"grid grid-cols-2 gap-4"},U={class:"bg-white rounded-xl shadow-sm p-6"},j={class:"space-y-2"},L={class:"font-medium"},N={class:"text-sm text-slate-500"},R=["onClick"],z={__name:"TenantEdit",setup(_){const g=C(),l=b(null),c=b([]),m=b(!0);async function x(){m.value=!0;try{const[a,e]=await Promise.all([d.get(`/admin/tenants/${g.params.id}`),d.get("/admin/platform-modules")]);l.value=a.data.data,c.value=e.data.data}catch(a){console.error(a)}finally{m.value=!1}}function p(a){var e,n;return(n=(e=l.value)==null?void 0:e.modules)==null?void 0:n.some(s=>s.id===a&&s.status==="enabled")}async function f(a){const e=p(a.id);try{e?await d.delete(`/admin/tenants/${l.value.id}/modules/${a.id}`):await d.post(`/admin/tenants/${l.value.id}/modules`,{module_id:a.id}),await x()}catch(n){console.error(n)}}async function y(){try{await d.put(`/admin/tenants/${l.value.id}`,{name:l.value.name,email:l.value.email,phone:l.value.phone,status:l.value.status}),alert("Gespeichert!")}catch(a){console.error(a),alert("Fehler beim Speichern")}}return k(x),(a,e)=>{var n;return i(),o("div",null,[t("div",V,[t("button",{onClick:e[0]||(e[0]=s=>a.$router.back()),class:"p-2 rounded-lg hover:bg-slate-100"},[...e[5]||(e[5]=[t("svg",{class:"w-5 h-5 text-slate-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),t("div",null,[t("h1",A,u(((n=l.value)==null?void 0:n.name)||"Laden..."),1),e[6]||(e[6]=t("p",{class:"text-slate-500 text-sm"},"Fahrschule bearbeiten",-1))])]),m.value?(i(),o("div",B,"Laden...")):l.value?(i(),o("div",E,[t("div",F,[e[12]||(e[12]=t("h2",{class:"text-lg font-semibold mb-4"},"Stammdaten",-1)),t("div",T,[t("div",null,[e[7]||(e[7]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"Name",-1)),r(t("input",{"onUpdate:modelValue":e[1]||(e[1]=s=>l.value.name=s),class:"w-full px-4 py-2 rounded-lg border border-slate-300"},null,512),[[v,l.value.name]])]),t("div",null,[e[8]||(e[8]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"E-Mail",-1)),r(t("input",{"onUpdate:modelValue":e[2]||(e[2]=s=>l.value.email=s),class:"w-full px-4 py-2 rounded-lg border border-slate-300"},null,512),[[v,l.value.email]])]),t("div",null,[e[9]||(e[9]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"Telefon",-1)),r(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>l.value.phone=s),class:"w-full px-4 py-2 rounded-lg border border-slate-300"},null,512),[[v,l.value.phone]])]),t("div",null,[e[11]||(e[11]=t("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"Status",-1)),r(t("select",{"onUpdate:modelValue":e[4]||(e[4]=s=>l.value.status=s),class:"w-full px-4 py-2 rounded-lg border border-slate-300"},[...e[10]||(e[10]=[t("option",{value:"pending_approval"},"Ausstehend",-1),t("option",{value:"active"},"Aktiv",-1),t("option",{value:"trial"},"Testphase",-1),t("option",{value:"suspended"},"Suspendiert",-1)])],512),[[w,l.value.status]])])]),t("button",{onClick:y,class:"mt-4 px-4 py-2 bg-primary text-white rounded-lg hover:bg-primary-600"}," Speichern ")]),t("div",U,[e[13]||(e[13]=t("h2",{class:"text-lg font-semibold mb-4"},"Module",-1)),t("div",j,[(i(!0),o(h,null,M(c.value,s=>(i(),o("div",{key:s.id,class:"flex items-center justify-between p-3 bg-slate-50 rounded-lg"},[t("div",null,[t("p",L,u(s.name),1),t("p",N,u(s.description),1)]),t("button",{onClick:D=>f(s),class:S(["px-3 py-1 rounded text-sm",p(s.id)?"bg-green-100 text-green-700":"bg-slate-200 text-slate-600"])},u(p(s.id)?"Aktiv":"Inaktiv"),11,R)]))),128))])])])):$("",!0)])}}};export{z as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Tenants-oNbkI0ZB.js b/www/fahrschuldesk.de/dist/assets/Tenants-oNbkI0ZB.js new file mode 100644 index 0000000..a41810a --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Tenants-oNbkI0ZB.js @@ -0,0 +1 @@ +import{o as N,f as o,b as e,h as E,A as f,y as w,x as L,g as U,F,l as j,e as p,t as a,B as q,a as h,k as r,c as S,r as Z,m as G,j as n,n as H,i as K,z as O}from"./index-CeMVzSB6.js";const R={class:"flex items-center justify-between mb-6"},W={class:"bg-white rounded-xl shadow-sm p-4 mb-6"},I={class:"flex items-center gap-4"},J={class:"relative flex-1 max-w-md"},P={class:"bg-white rounded-xl shadow-sm overflow-hidden"},Q={class:"w-full"},X={class:"divide-y divide-slate-200"},Y={class:"px-6 py-4"},ee={class:"font-medium text-slate-800"},te={class:"text-sm text-slate-500"},se={class:"px-6 py-4"},le={class:"px-6 py-4"},oe={class:"flex items-center gap-1"},ae={key:0,class:"text-xs text-slate-400"},ne={class:"px-6 py-4 text-sm text-slate-500"},re={class:"px-6 py-4 text-right"},ie={class:"flex items-center justify-end gap-2"},de=["onClick"],ue=["onClick"],pe={key:0},ce={class:"px-6 py-4 border-t border-slate-200 flex items-center justify-between"},xe={class:"text-sm text-slate-500"},ve={class:"flex items-center gap-2"},me=["disabled"],be=["disabled"],ge={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50"},fe={class:"bg-white rounded-2xl shadow-xl w-full max-w-md p-6"},he={class:"flex items-center gap-2 pt-2"},ye=["disabled"],_e={__name:"Tenants",setup(we){const u=r([]),k=r(!0),_=r(""),y=r(""),i=r(1),c=r(20),x=r(!1),d=Z({name:"",email:""}),v=r(!1),C=S(()=>u.value),m=S(()=>({start:(i.value-1)*c.value+1,end:Math.min(i.value*c.value,u.value.length),total:u.value.length,pages:Math.ceil(u.value.length/c.value)}));async function b(){k.value=!0;try{const l=await h.get("/admin/tenants",{params:{page:i.value,limit:c.value,status:y.value||void 0}});u.value=l.data.data.tenants}catch(l){console.error("Failed to fetch tenants:",l)}finally{k.value=!1}}async function T(){v.value=!0;try{await h.post("/admin/tenants",d),x.value=!1,Object.assign(d,{name:"",email:""}),await b()}catch(l){console.error("Failed to create tenant:",l)}finally{v.value=!1}}async function A(l){try{await h.post(`/admin/tenants/${l.id}/approve`),await b()}catch(t){console.error("Failed to approve tenant:",t)}}async function V(l){try{await h.post(`/admin/tenants/${l.id}/suspend`),await b()}catch(t){console.error("Failed to suspend tenant:",t)}}function B(l){return{pending_approval:"bg-yellow-100 text-yellow-800",active:"bg-green-100 text-green-800",trial:"bg-blue-100 text-blue-800",suspended:"bg-red-100 text-red-800"}[l]||"bg-slate-100 text-slate-800"}function $(l){return{pending_approval:"Ausstehend",active:"Aktiv",trial:"Testphase",suspended:"Suspendiert"}[l]||l}function z(l){return new Date(l).toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})}return N(b),(l,t)=>{const D=G("router-link");return n(),o("div",null,[e("div",R,[t[9]||(t[9]=e("div",null,[e("h1",{class:"text-2xl font-bold text-slate-800"},"Fahrschulen"),e("p",{class:"text-slate-500 text-sm mt-1"},"Verwalten Sie alle registrierten Fahrschulen")],-1)),e("button",{onClick:t[0]||(t[0]=s=>x.value=!0),class:"flex items-center gap-2 px-4 py-2 bg-primary text-white rounded-lg hover:bg-primary-600 transition-colors"},[...t[8]||(t[8]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1),E(" Fahrschule anlegen ",-1)])])]),e("div",W,[e("div",I,[e("div",J,[t[10]||(t[10]=e("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),f(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>_.value=s),type:"text",placeholder:"Suchen...",class:"w-full pl-10 pr-4 py-2 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none"},null,512),[[w,_.value]])]),f(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>y.value=s),class:"px-4 py-2 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary focus:border-primary outline-none"},[...t[11]||(t[11]=[U('',5)])],512),[[L,y.value]])])]),e("div",P,[e("table",Q,[t[16]||(t[16]=e("thead",{class:"bg-slate-50 border-b border-slate-200"},[e("tr",null,[e("th",{class:"px-6 py-3 text-left text-xs font-semibold text-slate-600 uppercase tracking-wider"},"Fahrschule"),e("th",{class:"px-6 py-3 text-left text-xs font-semibold text-slate-600 uppercase tracking-wider"},"Status"),e("th",{class:"px-6 py-3 text-left text-xs font-semibold text-slate-600 uppercase tracking-wider"},"Module"),e("th",{class:"px-6 py-3 text-left text-xs font-semibold text-slate-600 uppercase tracking-wider"},"Registriert"),e("th",{class:"px-6 py-3 text-right text-xs font-semibold text-slate-600 uppercase tracking-wider"},"Aktionen")])],-1)),e("tbody",X,[(n(!0),o(F,null,j(C.value,s=>{var M;return n(),o("tr",{key:s.id,class:"hover:bg-slate-50"},[e("td",Y,[e("div",null,[e("p",ee,a(s.name),1),e("p",te,a(s.email),1)])]),e("td",se,[e("span",{class:H(["inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium",B(s.status)])},a($(s.status)),3)]),e("td",le,[e("div",oe,[(n(!0),o(F,null,j((M=s.modules)==null?void 0:M.slice(0,3),g=>(n(),o("span",{key:g,class:"inline-flex items-center px-2 py-0.5 rounded text-xs bg-slate-100 text-slate-600"},a(g),1))),128)),s.module_count>3?(n(),o("span",ae," +"+a(s.module_count-3),1)):p("",!0)])]),e("td",ne,a(z(s.created_at)),1),e("td",re,[e("div",ie,[K(D,{to:`/admin/tenants/${s.id}`,class:"p-2 text-slate-400 hover:text-primary rounded-lg hover:bg-slate-100 transition-colors"},{default:O(()=>[...t[12]||(t[12]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})],-1)])]),_:1},8,["to"]),s.status==="pending_approval"?(n(),o("button",{key:0,onClick:g=>A(s),class:"p-2 text-slate-400 hover:text-green-600 rounded-lg hover:bg-green-50 transition-colors",title:"Genehmigen"},[...t[13]||(t[13]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])],8,de)):p("",!0),s.status!=="suspended"?(n(),o("button",{key:1,onClick:g=>V(s),class:"p-2 text-slate-400 hover:text-red-600 rounded-lg hover:bg-red-50 transition-colors",title:"Suspendieren"},[...t[14]||(t[14]=[e("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"})],-1)])],8,ue)):p("",!0)])])])}),128)),C.value.length===0?(n(),o("tr",pe,[...t[15]||(t[15]=[e("td",{colspan:"5",class:"px-6 py-12 text-center text-slate-500"}," Keine Fahrschulen gefunden ",-1)])])):p("",!0)])]),e("div",ce,[e("p",xe," Zeige "+a(m.value.start)+" - "+a(m.value.end)+" von "+a(m.value.total),1),e("div",ve,[e("button",{onClick:t[3]||(t[3]=s=>i.value--),disabled:i.value===1,class:"px-3 py-1 rounded border border-slate-300 text-slate-600 hover:bg-slate-50 disabled:opacity-50 disabled:cursor-not-allowed"}," Zurück ",8,me),e("button",{onClick:t[4]||(t[4]=s=>i.value++),disabled:i.value>=m.value.pages,class:"px-3 py-1 rounded border border-slate-300 text-slate-600 hover:bg-slate-50 disabled:opacity-50 disabled:cursor-not-allowed"}," Weiter ",8,be)])])]),x.value?(n(),o("div",ge,[e("div",fe,[t[19]||(t[19]=e("h3",{class:"text-lg font-semibold text-slate-800 mb-4"},"Fahrschule anlegen",-1)),e("form",{onSubmit:q(T,["prevent"]),class:"space-y-4"},[e("div",null,[t[17]||(t[17]=e("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"Name *",-1)),f(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>d.name=s),type:"text",required:"",class:"w-full px-4 py-2 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary outline-none"},null,512),[[w,d.name]])]),e("div",null,[t[18]||(t[18]=e("label",{class:"block text-sm font-medium text-slate-700 mb-1"},"E-Mail *",-1)),f(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>d.email=s),type:"email",required:"",class:"w-full px-4 py-2 rounded-lg border border-slate-300 focus:ring-2 focus:ring-primary outline-none"},null,512),[[w,d.email]])]),e("div",he,[e("button",{type:"button",onClick:t[7]||(t[7]=s=>x.value=!1),class:"px-4 py-2 rounded-lg border border-slate-300 text-slate-600 hover:bg-slate-50"}," Abbrechen "),e("button",{type:"submit",disabled:v.value,class:"px-4 py-2 rounded-lg bg-primary text-white hover:bg-primary-600 disabled:opacity-50"},a(v.value?"Erstelle...":"Erstellen"),9,ye)])],32)])])):p("",!0)])}}};export{_e as default}; diff --git a/www/fahrschuldesk.de/dist/assets/Users-UfUrkk1j.js b/www/fahrschuldesk.de/dist/assets/Users-UfUrkk1j.js new file mode 100644 index 0000000..a099bc1 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/Users-UfUrkk1j.js @@ -0,0 +1 @@ +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{f as r,b as e,j as o}from"./index-CeMVzSB6.js";const a={};function n(l,t){return o(),r("div",null,[...t[0]||(t[0]=[e("h1",{class:"text-2xl font-bold mb-6"},"Benutzer",-1),e("div",{class:"bg-white rounded-xl shadow-sm p-6"},[e("p",{class:"text-slate-500"},"Benutzer-Verwaltung kommt bald...")],-1)])])}const m=s(a,[["render",n]]);export{m as default}; diff --git a/www/fahrschuldesk.de/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js b/www/fahrschuldesk.de/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/www/fahrschuldesk.de/dist/assets/index-CeMVzSB6.js b/www/fahrschuldesk.de/dist/assets/index-CeMVzSB6.js new file mode 100644 index 0000000..bc602e1 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/index-CeMVzSB6.js @@ -0,0 +1,38 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Modules-XFzn2DhG.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/AuditLogs-rWevo39c.js","assets/Invoices-DPbiN6Xy.js","assets/PlatformAdmins-BsfJuUAN.js","assets/Branches-s_BK2cgz.js","assets/Users-UfUrkk1j.js","assets/Calendar-B7rUkOeg.js","assets/Messenger-DL4jJcTI.js","assets/Learning-C1i3Orm8.js","assets/Files-BvF-O0NH.js","assets/Branding-D61QMGtV.js","assets/NotFound-CXY4AhOb.js"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** +* @vue/shared v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ds(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ae={},rn=[],pt=()=>{},Pi=()=>!1,yr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_r=e=>e.startsWith("onUpdate:"),we=Object.assign,Ls=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Uc=Object.prototype.hasOwnProperty,ie=(e,t)=>Uc.call(e,t),H=Array.isArray,sn=e=>jn(e)==="[object Map]",dn=e=>jn(e)==="[object Set]",co=e=>jn(e)==="[object Date]",G=e=>typeof e=="function",de=e=>typeof e=="string",Ye=e=>typeof e=="symbol",le=e=>e!==null&&typeof e=="object",Ni=e=>(le(e)||G(e))&&G(e.then)&&G(e.catch),Ii=Object.prototype.toString,jn=e=>Ii.call(e),kc=e=>jn(e).slice(8,-1),Di=e=>jn(e)==="[object Object]",br=e=>de(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=Ds(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Er=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},jc=/-\w/g,je=Er(e=>e.replace(jc,t=>t.slice(1).toUpperCase())),Hc=/\B([A-Z])/g,Xt=Er(e=>e.replace(Hc,"-$1").toLowerCase()),Rr=Er(e=>e.charAt(0).toUpperCase()+e.slice(1)),qr=Er(e=>e?`on${Rr(e)}`:""),ht=(e,t)=>!Object.is(e,t),er=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},wr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Vc=e=>{const t=de(e)?Number(e):NaN;return isNaN(t)?e:t};let ao;const Sr=()=>ao||(ao=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function vr(e){if(H(e)){const t={};for(let n=0;n{if(n){const r=n.split($c);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Fs(e){let t="";if(de(e))t=e;else if(H(e))for(let n=0;nDt(n,t))}const Mi=e=>!!(e&&e.__v_isRef===!0),Xc=e=>de(e)?e:e==null?"":H(e)||le(e)&&(e.toString===Ii||!G(e.toString))?Mi(e)?Xc(e.value):JSON.stringify(e,Bi,2):String(e),Bi=(e,t)=>Mi(t)?Bi(e,t.value):sn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[$r(r,o)+" =>"]=s,n),{})}:dn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>$r(n))}:Ye(t)?$r(t):le(t)&&!H(t)&&!Di(t)?String(t):t,$r=(e,t="")=>{var n;return Ye(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Re;class Ui{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Re&&(Re.active?(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!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&&--this._on===0){if(Re===this)Re=this.prevScope;else{let t=Re;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(vn){let t=vn;for(vn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Sn;){let t=Sn;for(Sn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function $i(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ki(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),ks(r),Yc(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function as(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Wi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Wi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!as(e))))return;e.flags|=2;const t=e.dep,n=fe,r=Ze;fe=e,Ze=!0;try{$i(e);const s=e.fn(e._value);(t.version===0||ht(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{fe=n,Ze=r,Ki(e),e.flags&=-3}}function ks(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)ks(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Yc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ze=!0;const Gi=[];function vt(){Gi.push(Ze),Ze=!1}function At(){const e=Gi.pop();Ze=e===void 0?!0:e}function uo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=fe;fe=void 0;try{t()}finally{fe=n}}}let In=0;class Zc{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 js{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,this.__v_skip=!0}track(t){if(!fe||!Ze||fe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==fe)n=this.activeLink=new Zc(fe,this),fe.deps?(n.prevDep=fe.depsTail,fe.depsTail.nextDep=n,fe.depsTail=n):fe.deps=fe.depsTail=n,zi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=fe.depsTail,n.nextDep=void 0,fe.depsTail.nextDep=n,fe.depsTail=n,fe.deps===n&&(fe.deps=r)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){Bs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Us()}}}function zi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)zi(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const lr=new WeakMap,Kt=Symbol(""),us=Symbol(""),Dn=Symbol("");function Pe(e,t,n){if(Ze&&fe){let r=lr.get(e);r||lr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new js),s.map=r,s.key=n),s.track()}}function Et(e,t,n,r,s,o){const i=lr.get(e);if(!i){In++;return}const l=c=>{c&&c.trigger()};if(Bs(),t==="clear")i.forEach(l);else{const c=H(e),u=c&&br(n);if(c&&n==="length"){const a=Number(r);i.forEach((f,h)=>{(h==="length"||h===Dn||!Ye(h)&&h>=a)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(Dn)),t){case"add":c?u&&l(i.get("length")):(l(i.get(Kt)),sn(e)&&l(i.get(us)));break;case"delete":c||(l(i.get(Kt)),sn(e)&&l(i.get(us)));break;case"set":sn(e)&&l(i.get(Kt));break}}Us()}function ea(e,t){const n=lr.get(e);return n&&n.get(t)}function Qt(e){const t=ne(e);return t===e?t:(Pe(t,"iterate",Dn),Ge(e)?t:t.map(et))}function Ar(e){return Pe(e=ne(e),"iterate",Dn),e}function ut(e,t){return Ot(e)?ln(St(e)?et(t):t):et(t)}const ta={__proto__:null,[Symbol.iterator](){return Wr(this,Symbol.iterator,e=>ut(this,e))},concat(...e){return Qt(this).concat(...e.map(t=>H(t)?Qt(t):t))},entries(){return Wr(this,"entries",e=>(e[1]=ut(this,e[1]),e))},every(e,t){return mt(this,"every",e,t,void 0,arguments)},filter(e,t){return mt(this,"filter",e,t,n=>n.map(r=>ut(this,r)),arguments)},find(e,t){return mt(this,"find",e,t,n=>ut(this,n),arguments)},findIndex(e,t){return mt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return mt(this,"findLast",e,t,n=>ut(this,n),arguments)},findLastIndex(e,t){return mt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return mt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Gr(this,"includes",e)},indexOf(...e){return Gr(this,"indexOf",e)},join(e){return Qt(this).join(e)},lastIndexOf(...e){return Gr(this,"lastIndexOf",e)},map(e,t){return mt(this,"map",e,t,void 0,arguments)},pop(){return mn(this,"pop")},push(...e){return mn(this,"push",e)},reduce(e,...t){return fo(this,"reduce",e,t)},reduceRight(e,...t){return fo(this,"reduceRight",e,t)},shift(){return mn(this,"shift")},some(e,t){return mt(this,"some",e,t,void 0,arguments)},splice(...e){return mn(this,"splice",e)},toReversed(){return Qt(this).toReversed()},toSorted(e){return Qt(this).toSorted(e)},toSpliced(...e){return Qt(this).toSpliced(...e)},unshift(...e){return mn(this,"unshift",e)},values(){return Wr(this,"values",e=>ut(this,e))}};function Wr(e,t,n){const r=Ar(e),s=r[t]();return r!==e&&!Ge(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const na=Array.prototype;function mt(e,t,n,r,s,o){const i=Ar(e),l=i!==e&&!Ge(e),c=i[t];if(c!==na[t]){const f=c.apply(e,o);return l?et(f):f}let u=n;i!==e&&(l?u=function(f,h){return n.call(this,ut(e,f),h,e)}:n.length>2&&(u=function(f,h){return n.call(this,f,h,e)}));const a=c.call(i,u,r);return l&&s?s(a):a}function fo(e,t,n,r){const s=Ar(e),o=s!==e&&!Ge(e);let i=n,l=!1;s!==e&&(o?(l=r.length===0,i=function(u,a,f){return l&&(l=!1,u=ut(e,u)),n.call(this,u,ut(e,a),f,e)}):n.length>3&&(i=function(u,a,f){return n.call(this,u,a,f,e)}));const c=s[t](i,...r);return l?ut(e,c):c}function Gr(e,t,n){const r=ne(e);Pe(r,"iterate",Dn);const s=r[t](...n);return(s===-1||s===!1)&&Or(n[0])?(n[0]=ne(n[0]),r[t](...n)):s}function mn(e,t,n=[]){vt(),Bs();const r=ne(e)[t].apply(e,n);return Us(),At(),r}const ra=Ds("__proto__,__v_isRef,__isVue"),Ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ye));function sa(e){Ye(e)||(e=String(e));const t=ne(this);return Pe(t,"has",e),t.hasOwnProperty(e)}class Xi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?pa:el:o?Zi:Yi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=H(t);if(!s){let c;if(i&&(c=ta[n]))return c;if(n==="hasOwnProperty")return sa}const l=Reflect.get(t,n,me(t)?t:r);if((Ye(n)?Ji.has(n):ra(n))||(s||Pe(t,"get",n),o))return l;if(me(l)){const c=i&&br(n)?l:l.value;return s&&le(c)?ds(c):c}return le(l)?s?ds(l):Hn(l):l}}class Qi extends Xi{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=H(t)&&br(n);if(!this._isShallow){const u=Ot(o);if(!Ge(r)&&!Ot(r)&&(o=ne(o),r=ne(r)),!i&&me(o)&&!me(r))return u||(o.value=r),!0}const l=i?Number(n)e,Jn=e=>Reflect.getPrototypeOf(e);function aa(e,t,n){return function(...r){const s=this.__v_raw,o=ne(s),i=sn(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=s[e](...r),a=n?fs:t?ln:et;return!t&&Pe(o,"iterate",c?us:Kt),we(Object.create(u),{next(){const{value:f,done:h}=u.next();return h?{value:f,done:h}:{value:l?[a(f[0]),a(f[1])]:a(f),done:h}}})}}function Xn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ua(e,t){const n={get(s){const o=this.__v_raw,i=ne(o),l=ne(s);e||(ht(s,l)&&Pe(i,"get",s),Pe(i,"get",l));const{has:c}=Jn(i),u=t?fs:e?ln:et;if(c.call(i,s))return u(o.get(s));if(c.call(i,l))return u(o.get(l));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Pe(ne(s),"iterate",Kt),s.size},has(s){const o=this.__v_raw,i=ne(o),l=ne(s);return e||(ht(s,l)&&Pe(i,"has",s),Pe(i,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const i=this,l=i.__v_raw,c=ne(l),u=t?fs:e?ln:et;return!e&&Pe(c,"iterate",Kt),l.forEach((a,f)=>s.call(o,u(a),u(f),i))}};return we(n,e?{add:Xn("add"),set:Xn("set"),delete:Xn("delete"),clear:Xn("clear")}:{add(s){const o=ne(this),i=Jn(o),l=ne(s),c=!t&&!Ge(s)&&!Ot(s)?l:s;return i.has.call(o,c)||ht(s,c)&&i.has.call(o,s)||ht(l,c)&&i.has.call(o,l)||(o.add(c),Et(o,"add",c,c)),this},set(s,o){!t&&!Ge(o)&&!Ot(o)&&(o=ne(o));const i=ne(this),{has:l,get:c}=Jn(i);let u=l.call(i,s);u||(s=ne(s),u=l.call(i,s));const a=c.call(i,s);return i.set(s,o),u?ht(o,a)&&Et(i,"set",s,o):Et(i,"add",s,o),this},delete(s){const o=ne(this),{has:i,get:l}=Jn(o);let c=i.call(o,s);c||(s=ne(s),c=i.call(o,s)),l&&l.call(o,s);const u=o.delete(s);return c&&Et(o,"delete",s,void 0),u},clear(){const s=ne(this),o=s.size!==0,i=s.clear();return o&&Et(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=aa(s,e,t)}),n}function Hs(e,t){const n=ua(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ie(n,s)&&s in r?n:r,s,o)}const fa={get:Hs(!1,!1)},da={get:Hs(!1,!0)},ha={get:Hs(!0,!1)};const Yi=new WeakMap,Zi=new WeakMap,el=new WeakMap,pa=new WeakMap;function ma(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ga(e){return e.__v_skip||!Object.isExtensible(e)?0:ma(kc(e))}function Hn(e){return Ot(e)?e:Vs(e,!1,ia,fa,Yi)}function tl(e){return Vs(e,!1,ca,da,Zi)}function ds(e){return Vs(e,!0,la,ha,el)}function Vs(e,t,n,r,s){if(!le(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=ga(e);if(o===0)return e;const i=s.get(e);if(i)return i;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function St(e){return Ot(e)?St(e.__v_raw):!!(e&&e.__v_isReactive)}function Ot(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function Or(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function qs(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&Li(e,"__v_skip",!0),e}const et=e=>le(e)?Hn(e):e,ln=e=>le(e)?ds(e):e;function me(e){return e?e.__v_isRef===!0:!1}function nn(e){return nl(e,!1)}function ya(e){return nl(e,!0)}function nl(e,t){return me(e)?e:new _a(e,t)}class _a{constructor(t,n){this.dep=new js,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:et(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Ge(t)||Ot(t);t=r?t:ne(t),ht(t,n)&&(this._rawValue=t,this._value=r?t:et(t),this.dep.trigger())}}function Wt(e){return me(e)?e.value:e}const ba={get:(e,t,n)=>t==="__v_raw"?e:Wt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return me(s)&&!me(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function rl(e){return St(e)?e:new Proxy(e,ba)}function Ea(e){const t=H(e)?new Array(e.length):{};for(const n in e)t[n]=wa(e,n);return t}class Ra{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=Ye(n)?n:String(n),this._raw=ne(t);let s=!0,o=t;if(!H(t)||Ye(this._key)||!br(this._key))do s=!Or(o)||Ge(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Wt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&me(this._raw[this._key])){const n=this._object[this._key];if(me(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return ea(this._raw,this._key)}}function wa(e,t,n){return new Ra(e,t,n)}class Sa{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new js(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return qi(this,!0),!0}get value(){const t=this.dep.track();return Wi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function va(e,t,n=!1){let r,s;return G(e)?r=e:(r=e.get,s=e.set),new Sa(r,s,n)}const Qn={},cr=new WeakMap;let jt;function Aa(e,t=!1,n=jt){if(n){let r=cr.get(n);r||cr.set(n,r=[]),r.push(e)}}function Oa(e,t,n=ae){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:l,call:c}=n,u=x=>s?x:Ge(x)||s===!1||s===0?Rt(x,1):Rt(x);let a,f,h,m,R=!1,_=!1;if(me(e)?(f=()=>e.value,R=Ge(e)):St(e)?(f=()=>u(e),R=!0):H(e)?(_=!0,R=e.some(x=>St(x)||Ge(x)),f=()=>e.map(x=>{if(me(x))return x.value;if(St(x))return u(x);if(G(x))return c?c(x,2):x()})):G(e)?t?f=c?()=>c(e,2):e:f=()=>{if(h){vt();try{h()}finally{At()}}const x=jt;jt=a;try{return c?c(e,3,[m]):e(m)}finally{jt=x}}:f=pt,t&&s){const x=f,k=s===!0?1/0:s;f=()=>Rt(x(),k)}const b=ji(),w=()=>{a.stop(),b&&b.active&&Ls(b.effects,a)};if(o&&t){const x=t;t=(...k)=>{x(...k),w()}}let O=_?new Array(e.length).fill(Qn):Qn;const T=x=>{if(!(!(a.flags&1)||!a.dirty&&!x))if(t){const k=a.run();if(s||R||(_?k.some((Z,X)=>ht(Z,O[X])):ht(k,O))){h&&h();const Z=jt;jt=a;try{const X=[k,O===Qn?void 0:_&&O[0]===Qn?[]:O,m];O=k,c?c(t,3,X):t(...X)}finally{jt=Z}}}else a.run()};return l&&l(T),a=new Hi(f),a.scheduler=i?()=>i(T,!1):T,m=x=>Aa(x,!1,a),h=a.onStop=()=>{const x=cr.get(a);if(x){if(c)c(x,4);else for(const k of x)k();cr.delete(a)}},t?r?T(!0):O=a.run():i?i(T.bind(null,!0),!0):a.run(),w.pause=a.pause.bind(a),w.resume=a.resume.bind(a),w.stop=w,w}function Rt(e,t=1/0,n){if(t<=0||!le(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,me(e))Rt(e.value,t,n);else if(H(e))for(let r=0;r{Rt(r,t,n)});else if(Di(e)){for(const r in e)Rt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Rt(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Vn(e,t,n,r){try{return r?e(...r):e()}catch(s){Cr(s,t,n)}}function tt(e,t,n,r){if(G(e)){const s=Vn(e,t,n,r);return s&&Ni(s)&&s.catch(o=>{Cr(o,t,n)}),s}if(H(e)){const s=[];for(let o=0;o>>1,s=Ue[r],o=Ln(s);o=Ln(n)?Ue.push(e):Ue.splice(xa(t),0,e),e.flags|=1,ol()}}function ol(){ar||(ar=sl.then(ll))}function Ta(e){H(e)?on.push(...e):Nt&&e.id===-1?Nt.splice(en+1,0,e):e.flags&1||(on.push(e),e.flags|=1),ol()}function ho(e,t,n=ct+1){for(;nLn(n)-Ln(r));if(on.length=0,Nt){Nt.push(...t);return}for(Nt=t,en=0;ene.id==null?e.flags&2?-1:1/0:e.id;function ll(e){try{for(ct=0;ct{r._d&&hr(-1);const o=ur(t);let i;try{i=e(...s)}finally{ur(o),r._d&&hr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Np(e,t){if(Ke===null)return e;const n=Dr(Ke),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&G(t)?t.call(r&&r.proxy):t}}function Pa(){return!!(zs()||Gt)}const Na=Symbol.for("v-scx"),Ia=()=>Xe(Na);function An(e,t,n){return al(e,t,n)}function al(e,t,n=ae){const{immediate:r,deep:s,flush:o,once:i}=n,l=we({},n),c=t&&r||!t&&o!=="post";let u;if(Bn){if(o==="sync"){const m=Ia();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=pt,m.resume=pt,m.pause=pt,m}}const a=Ne;l.call=(m,R,_)=>tt(m,a,R,_);let f=!1;o==="post"?l.scheduler=m=>{Ve(m,a&&a.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(m,R)=>{R?m():$s(m)}),l.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,a&&(m.id=a.uid,m.i=a))};const h=Oa(e,t,l);return Bn&&(u?u.push(h):c&&h()),h}function Da(e,t,n){const r=this.proxy,s=de(e)?e.includes(".")?ul(r,e):()=>r[e]:e.bind(r,r);let o;G(t)?o=t:(o=t.handler,n=t);const i=qn(this),l=al(s,o.bind(r),n);return i(),l}function ul(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,at=Symbol("_leaveCb"),gn=Symbol("_enterCb");function Fa(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return El(()=>{e.isMounted=!0}),Rl(()=>{e.isUnmounting=!0}),e}const ze=[Function,Array],dl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ze,onEnter:ze,onAfterEnter:ze,onEnterCancelled:ze,onBeforeLeave:ze,onLeave:ze,onAfterLeave:ze,onLeaveCancelled:ze,onBeforeAppear:ze,onAppear:ze,onAfterAppear:ze,onAppearCancelled:ze},hl=e=>{const t=e.subTree;return t.component?hl(t.component):t},Ma={name:"BaseTransition",props:dl,setup(e,{slots:t}){const n=zs(),r=Fa();return()=>{const s=t.default&&gl(t.default(),!0),o=s&&s.length?pl(s):n.subTree?Cu():void 0;if(!o)return;const i=ne(e),{mode:l}=i;if(r.isLeaving)return zr(o);const c=po(o);if(!c)return zr(o);let u=ps(c,i,r,n,f=>u=f);c.type!==ke&&Fn(c,u);let a=n.subTree&&po(n.subTree);if(a&&a.type!==ke&&!Ht(a,c)&&hl(n).type!==ke){let f=ps(a,i,r,n);if(Fn(a,f),l==="out-in"&&c.type!==ke)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,a=void 0},zr(o);l==="in-out"&&c.type!==ke?f.delayLeave=(h,m,R)=>{const _=ml(r,a);_[String(a.key)]=a,h[at]=()=>{m(),h[at]=void 0,delete u.delayedLeave,a=void 0},u.delayedLeave=()=>{R(),delete u.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return o}}};function pl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ke){t=n;break}}return t}const Ba=Ma;function ml(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ps(e,t,n,r,s){const{appear:o,mode:i,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:a,onEnterCancelled:f,onBeforeLeave:h,onLeave:m,onAfterLeave:R,onLeaveCancelled:_,onBeforeAppear:b,onAppear:w,onAfterAppear:O,onAppearCancelled:T}=t,x=String(e.key),k=ml(n,e),Z=(F,V)=>{F&&tt(F,r,9,V)},X=(F,V)=>{const J=V[1];Z(F,V),H(F)?F.every(L=>L.length<=1)&&J():F.length<=1&&J()},K={mode:i,persisted:l,beforeEnter(F){let V=c;if(!n.isMounted)if(o)V=b||c;else return;F[at]&&F[at](!0);const J=k[x];J&&Ht(e,J)&&J.el[at]&&J.el[at](),Z(V,[F])},enter(F){if(k[x]===e)return;let V=u,J=a,L=f;if(!n.isMounted)if(o)V=w||u,J=O||a,L=T||f;else return;let Y=!1;F[gn]=be=>{Y||(Y=!0,be?Z(L,[F]):Z(J,[F]),K.delayedLeave&&K.delayedLeave(),F[gn]=void 0)};const se=F[gn].bind(null,!1);V?X(V,[F,se]):se()},leave(F,V){const J=String(e.key);if(F[gn]&&F[gn](!0),n.isUnmounting)return V();Z(h,[F]);let L=!1;F[at]=se=>{L||(L=!0,V(),se?Z(_,[F]):Z(R,[F]),F[at]=void 0,k[J]===e&&delete k[J])};const Y=F[at].bind(null,!1);k[J]=e,m?X(m,[F,Y]):Y()},clone(F){const V=ps(F,t,n,r,s);return s&&s(V),V}};return K}function zr(e){if(Tr(e))return e=Lt(e),e.children=null,e}function po(e){if(!Tr(e))return fl(e.type)&&e.children?pl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&G(n.default))return n.default()}}function Fn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Fn(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 gl(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oOn(_,t&&(H(t)?t[b]:t),n,r,s));return}if(Cn(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&On(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Dr(r.component):r.el,i=s?null:o,{i:l,r:c}=e,u=t&&t.r,a=l.refs===ae?l.refs={}:l.refs,f=l.setupState,h=ne(f),m=f===ae?Pi:_=>mo(a,_)?!1:ie(h,_),R=(_,b)=>!(b&&mo(a,b));if(u!=null&&u!==c){if(go(t),de(u))a[u]=null,m(u)&&(f[u]=null);else if(me(u)){const _=t;R(u,_.k)&&(u.value=null),_.k&&(a[_.k]=null)}}if(G(c))Vn(c,l,12,[i,a]);else{const _=de(c),b=me(c);if(_||b){const w=()=>{if(e.f){const O=_?m(c)?f[c]:a[c]:R()||!e.k?c.value:a[e.k];if(s)H(O)&&Ls(O,o);else if(H(O))O.includes(o)||O.push(o);else if(_)a[c]=[o],m(c)&&(f[c]=a[c]);else{const T=[o];R(c,e.k)&&(c.value=T),e.k&&(a[e.k]=T)}}else _?(a[c]=i,m(c)&&(f[c]=i)):b&&(R(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const O=()=>{w(),fr.delete(e)};O.id=-1,fr.set(e,O),Ve(O,n)}else go(e),w()}}}function go(e){const t=fr.get(e);t&&(t.flags|=8,fr.delete(e))}Sr().requestIdleCallback;Sr().cancelIdleCallback;const Cn=e=>!!e.type.__asyncLoader,Tr=e=>e.type.__isKeepAlive;function Ua(e,t){bl(e,"a",t)}function ka(e,t){bl(e,"da",t)}function bl(e,t,n=Ne){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Pr(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Tr(s.parent.vnode)&&ja(r,t,n,s),s=s.parent}}function ja(e,t,n,r){const s=Pr(t,e,r,!0);wl(()=>{Ls(r[t],s)},n)}function Pr(e,t,n=Ne,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{vt();const l=qn(n),c=tt(t,n,e,i);return l(),At(),c});return r?s.unshift(o):s.push(o),o}}const Ct=e=>(t,n=Ne)=>{(!Bn||e==="sp")&&Pr(e,(...r)=>t(...r),n)},Ha=Ct("bm"),El=Ct("m"),Va=Ct("bu"),qa=Ct("u"),Rl=Ct("bum"),wl=Ct("um"),$a=Ct("sp"),Ka=Ct("rtg"),Wa=Ct("rtc");function Ga(e,t=Ne){Pr("ec",e,t)}const Sl="components";function za(e,t){return Al(Sl,e,!0,t)||e}const vl=Symbol.for("v-ndc");function Ja(e){return de(e)?Al(Sl,e,!1)||e:e||vl}function Al(e,t,n=!0,r=!1){const s=Ke||Ne;if(s){const o=s.type;{const l=Mu(o,!1);if(l&&(l===t||l===je(t)||l===Rr(je(t))))return o}const i=yo(s[e]||o[e],t)||yo(s.appContext[e],t);return!i&&r?o:i}}function yo(e,t){return e&&(e[t]||e[je(t)]||e[Rr(je(t))])}function Ip(e,t,n,r){let s;const o=n,i=H(e);if(i||de(e)){const l=i&&St(e);let c=!1,u=!1;l&&(c=!Ge(e),u=Ot(e),e=Ar(e)),s=new Array(e.length);for(let a=0,f=e.length;at(l,c,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let c=0,u=l.length;ce?Gl(e)?Dr(e):ms(e.parent):null,xn=we(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=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Cl(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=xr.bind(e.proxy)),$watch:e=>Da.bind(e)}),Jr=(e,t)=>e!==ae&&!e.__isScriptSetup&&ie(e,t),Xa={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Jr(r,t))return i[t]=1,r[t];if(s!==ae&&ie(s,t))return i[t]=2,s[t];if(ie(o,t))return i[t]=3,o[t];if(n!==ae&&ie(n,t))return i[t]=4,n[t];gs&&(i[t]=0)}}const u=xn[t];let a,f;if(u)return t==="$attrs"&&Pe(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==ae&&ie(n,t))return i[t]=4,n[t];if(f=c.config.globalProperties,ie(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Jr(s,t)?(s[t]=n,!0):r!==ae&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},l){let c;return!!(n[l]||e!==ae&&l[0]!=="$"&&ie(e,l)||Jr(t,l)||ie(o,l)||ie(r,l)||ie(xn,l)||ie(s.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function _o(e){return H(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let gs=!0;function Qa(e){const t=Cl(e),n=e.proxy,r=e.ctx;gs=!1,t.beforeCreate&&bo(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:u,created:a,beforeMount:f,mounted:h,beforeUpdate:m,updated:R,activated:_,deactivated:b,beforeDestroy:w,beforeUnmount:O,destroyed:T,unmounted:x,render:k,renderTracked:Z,renderTriggered:X,errorCaptured:K,serverPrefetch:F,expose:V,inheritAttrs:J,components:L,directives:Y,filters:se}=t;if(u&&Ya(u,r,null),i)for(const z in i){const te=i[z];G(te)&&(r[z]=te.bind(n))}if(s){const z=s.call(n,n);le(z)&&(e.data=Hn(z))}if(gs=!0,o)for(const z in o){const te=o[z],Se=G(te)?te.bind(n,n):G(te.get)?te.get.bind(n,n):pt,ye=!G(te)&&G(te.set)?te.set.bind(n):pt,ve=Ie({get:Se,set:ye});Object.defineProperty(r,z,{enumerable:!0,configurable:!0,get:()=>ve.value,set:Ce=>ve.value=Ce})}if(l)for(const z in l)Ol(l[z],r,n,z);if(c){const z=G(c)?c.call(n):c;Reflect.ownKeys(z).forEach(te=>{tr(te,z[te])})}a&&bo(a,e,"c");function ee(z,te){H(te)?te.forEach(Se=>z(Se.bind(n))):te&&z(te.bind(n))}if(ee(Ha,f),ee(El,h),ee(Va,m),ee(qa,R),ee(Ua,_),ee(ka,b),ee(Ga,K),ee(Wa,Z),ee(Ka,X),ee(Rl,O),ee(wl,x),ee($a,F),H(V))if(V.length){const z=e.exposed||(e.exposed={});V.forEach(te=>{Object.defineProperty(z,te,{get:()=>n[te],set:Se=>n[te]=Se,enumerable:!0})})}else e.exposed||(e.exposed={});k&&e.render===pt&&(e.render=k),J!=null&&(e.inheritAttrs=J),L&&(e.components=L),Y&&(e.directives=Y),F&&_l(e)}function Ya(e,t,n=pt){H(e)&&(e=ys(e));for(const r in e){const s=e[r];let o;le(s)?"default"in s?o=Xe(s.from||r,s.default,!0):o=Xe(s.from||r):o=Xe(s),me(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function bo(e,t,n){tt(H(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ol(e,t,n,r){let s=r.includes(".")?ul(n,r):()=>n[r];if(de(e)){const o=t[e];G(o)&&An(s,o)}else if(G(e))An(s,e.bind(n));else if(le(e))if(H(e))e.forEach(o=>Ol(o,t,n,r));else{const o=G(e.handler)?e.handler.bind(n):t[e.handler];G(o)&&An(s,o,e)}}function Cl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(u=>dr(c,u,i,!0)),dr(c,t,i)),le(t)&&o.set(t,c),c}function dr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&dr(e,o,n,!0),s&&s.forEach(i=>dr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Za[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Za={data:Eo,props:Ro,emits:Ro,methods:En,computed:En,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:En,directives:En,watch:tu,provide:Eo,inject:eu};function Eo(e,t){return t?e?function(){return we(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function eu(e,t){return En(ys(e),ys(t))}function ys(e){if(H(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${Xt(t)}Modifiers`];function ou(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ae;let s=n;const o=t.startsWith("update:"),i=o&&su(r,t.slice(7));i&&(i.trim&&(s=n.map(a=>de(a)?a.trim():a)),i.number&&(s=n.map(wr)));let l,c=r[l=qr(t)]||r[l=qr(je(t))];!c&&o&&(c=r[l=qr(Xt(t))]),c&&tt(c,e,6,s);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,tt(u,e,6,s)}}const iu=new WeakMap;function Tl(e,t,n=!1){const r=n?iu:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!G(e)){const c=u=>{const a=Tl(u,t,!0);a&&(l=!0,we(i,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(le(e)&&r.set(e,null),null):(H(o)?o.forEach(c=>i[c]=null):we(i,o),le(e)&&r.set(e,i),i)}function Nr(e,t){return!e||!yr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Xt(t))||ie(e,t))}function wo(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:c,render:u,renderCache:a,props:f,data:h,setupState:m,ctx:R,inheritAttrs:_}=e,b=ur(e);let w,O;try{if(n.shapeFlag&4){const x=s||r,k=x;w=dt(u.call(k,x,a,f,m,h,R)),O=l}else{const x=t;w=dt(x.length>1?x(f,{attrs:l,slots:i,emit:c}):x(f,null)),O=t.props?l:lu(l)}}catch(x){Tn.length=0,Cr(x,e,1),w=Le(ke)}let T=w;if(O&&_!==!1){const x=Object.keys(O),{shapeFlag:k}=T;x.length&&k&7&&(o&&x.some(_r)&&(O=cu(O,o)),T=Lt(T,O,!1,!0))}return n.dirs&&(T=Lt(T,null,!1,!0),T.dirs=T.dirs?T.dirs.concat(n.dirs):n.dirs),n.transition&&Fn(T,n.transition),w=T,ur(b),w}const lu=e=>{let t;for(const n in e)(n==="class"||n==="style"||yr(n))&&((t||(t={}))[n]=e[n]);return t},cu=(e,t)=>{const n={};for(const r in e)(!_r(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function au(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?So(r,i,u):!!i;if(c&8){const a=t.dynamicProps;for(let f=0;fObject.create(Nl),Dl=e=>Object.getPrototypeOf(e)===Nl;function fu(e,t,n,r=!1){const s={},o=Il();e.propsDefaults=Object.create(null),Ll(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:tl(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function du(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=ne(s),[c]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[h,m]=Fl(f,t,!0);we(i,h),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!c)return le(e)&&r.set(e,rn),rn;if(H(o))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",Ws=e=>H(e)?e.map(dt):[dt(e)],pu=(e,t,n)=>{if(t._n)return t;const r=hs((...s)=>Ws(t(...s)),n);return r._c=!1,r},Ml=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ks(s))continue;const o=e[s];if(G(o))t[s]=pu(s,o,r);else if(o!=null){const i=Ws(o);t[s]=()=>i}}},Bl=(e,t)=>{const n=Ws(t);e.slots.default=()=>n},Ul=(e,t,n)=>{for(const r in t)(n||!Ks(r))&&(e[r]=t[r])},mu=(e,t,n)=>{const r=e.slots=Il();if(e.vnode.shapeFlag&32){const s=t._;s?(Ul(r,t,n),n&&Li(r,"_",s,!0)):Ml(t,r)}else t&&Bl(e,t)},gu=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ae;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Ul(s,t,n):(o=!t.$stable,Ml(t,s)),i=t}else t&&(Bl(e,t),i={default:1});if(o)for(const l in s)!Ks(l)&&i[l]==null&&delete s[l]},Ve=Ru;function yu(e){return _u(e)}function _u(e,t){const n=Sr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:a,parentNode:f,nextSibling:h,setScopeId:m=pt,insertStaticContent:R}=e,_=(d,p,g,S=null,A=null,v=null,M=void 0,D=null,N=!!p.dynamicChildren)=>{if(d===p)return;d&&!Ht(d,p)&&(S=E(d),Ce(d,A,v,!0),d=null),p.patchFlag===-2&&(N=!1,p.dynamicChildren=null);const{type:C,ref:$,shapeFlag:B}=p;switch(C){case Ir:b(d,p,g,S);break;case ke:w(d,p,g,S);break;case nr:d==null&&O(p,g,S,M);break;case ft:L(d,p,g,S,A,v,M,D,N);break;default:B&1?k(d,p,g,S,A,v,M,D,N):B&6?Y(d,p,g,S,A,v,M,D,N):(B&64||B&128)&&C.process(d,p,g,S,A,v,M,D,N,j)}$!=null&&A?On($,d&&d.ref,v,p||d,!p):$==null&&d&&d.ref!=null&&On(d.ref,null,v,d,!0)},b=(d,p,g,S)=>{if(d==null)r(p.el=l(p.children),g,S);else{const A=p.el=d.el;p.children!==d.children&&u(A,p.children)}},w=(d,p,g,S)=>{d==null?r(p.el=c(p.children||""),g,S):p.el=d.el},O=(d,p,g,S)=>{[d.el,d.anchor]=R(d.children,p,g,S,d.el,d.anchor)},T=({el:d,anchor:p},g,S)=>{let A;for(;d&&d!==p;)A=h(d),r(d,g,S),d=A;r(p,g,S)},x=({el:d,anchor:p})=>{let g;for(;d&&d!==p;)g=h(d),s(d),d=g;s(p)},k=(d,p,g,S,A,v,M,D,N)=>{if(p.type==="svg"?M="svg":p.type==="math"&&(M="mathml"),d==null)Z(p,g,S,A,v,M,D,N);else{const C=d.el&&d.el._isVueCE?d.el:null;try{C&&C._beginPatch(),F(d,p,A,v,M,D,N)}finally{C&&C._endPatch()}}},Z=(d,p,g,S,A,v,M,D)=>{let N,C;const{props:$,shapeFlag:B,transition:q,dirs:W}=d;if(N=d.el=i(d.type,v,$&&$.is,$),B&8?a(N,d.children):B&16&&K(d.children,N,null,S,A,Xr(d,v),M,D),W&&Mt(d,null,S,"created"),X(N,d,d.scopeId,M,S),$){for(const ce in $)ce!=="value"&&!wn(ce)&&o(N,ce,null,$[ce],v,S);"value"in $&&o(N,"value",null,$.value,v),(C=$.onVnodeBeforeMount)&<(C,S,d)}W&&Mt(d,null,S,"beforeMount");const re=bu(A,q);re&&q.beforeEnter(N),r(N,p,g),((C=$&&$.onVnodeMounted)||re||W)&&Ve(()=>{try{C&<(C,S,d),re&&q.enter(N),W&&Mt(d,null,S,"mounted")}finally{}},A)},X=(d,p,g,S,A)=>{if(g&&m(d,g),S)for(let v=0;v{for(let C=N;C{const D=p.el=d.el;let{patchFlag:N,dynamicChildren:C,dirs:$}=p;N|=d.patchFlag&16;const B=d.props||ae,q=p.props||ae;let W;if(g&&Bt(g,!1),(W=q.onVnodeBeforeUpdate)&<(W,g,p,d),$&&Mt(p,d,g,"beforeUpdate"),g&&Bt(g,!0),(B.innerHTML&&q.innerHTML==null||B.textContent&&q.textContent==null)&&a(D,""),C?V(d.dynamicChildren,C,D,g,S,Xr(p,A),v):M||te(d,p,D,null,g,S,Xr(p,A),v,!1),N>0){if(N&16)J(D,B,q,g,A);else if(N&2&&B.class!==q.class&&o(D,"class",null,q.class,A),N&4&&o(D,"style",B.style,q.style,A),N&8){const re=p.dynamicProps;for(let ce=0;ce{W&<(W,g,p,d),$&&Mt(p,d,g,"updated")},S)},V=(d,p,g,S,A,v,M)=>{for(let D=0;D{if(p!==g){if(p!==ae)for(const v in p)!wn(v)&&!(v in g)&&o(d,v,p[v],null,A,S);for(const v in g){if(wn(v))continue;const M=g[v],D=p[v];M!==D&&v!=="value"&&o(d,v,D,M,A,S)}"value"in g&&o(d,"value",p.value,g.value,A)}},L=(d,p,g,S,A,v,M,D,N)=>{const C=p.el=d?d.el:l(""),$=p.anchor=d?d.anchor:l("");let{patchFlag:B,dynamicChildren:q,slotScopeIds:W}=p;W&&(D=D?D.concat(W):W),d==null?(r(C,g,S),r($,g,S),K(p.children||[],g,$,A,v,M,D,N)):B>0&&B&64&&q&&d.dynamicChildren&&d.dynamicChildren.length===q.length?(V(d.dynamicChildren,q,g,A,v,M,D),(p.key!=null||A&&p===A.subTree)&&kl(d,p,!0)):te(d,p,g,$,A,v,M,D,N)},Y=(d,p,g,S,A,v,M,D,N)=>{p.slotScopeIds=D,d==null?p.shapeFlag&512?A.ctx.activate(p,g,S,M,N):se(p,g,S,A,v,M,N):be(d,p,N)},se=(d,p,g,S,A,v,M)=>{const D=d.component=Nu(d,S,A);if(Tr(d)&&(D.ctx.renderer=j),Iu(D,!1,M),D.asyncDep){if(A&&A.registerDep(D,ee,M),!d.el){const N=D.subTree=Le(ke);w(null,N,p,g),d.placeholder=N.el}}else ee(D,d,p,g,A,v,M)},be=(d,p,g)=>{const S=p.component=d.component;if(au(d,p,g))if(S.asyncDep&&!S.asyncResolved){z(S,p,g);return}else S.next=p,S.update();else p.el=d.el,S.vnode=p},ee=(d,p,g,S,A,v,M)=>{const D=()=>{if(d.isMounted){let{next:B,bu:q,u:W,parent:re,vnode:ce}=d;{const ot=jl(d);if(ot){B&&(B.el=ce.el,z(d,B,M)),ot.asyncDep.then(()=>{Ve(()=>{d.isUnmounted||C()},A)});return}}let ue=B,_e;Bt(d,!1),B?(B.el=ce.el,z(d,B,M)):B=ce,q&&er(q),(_e=B.props&&B.props.onVnodeBeforeUpdate)&<(_e,re,B,ce),Bt(d,!0);const xe=wo(d),st=d.subTree;d.subTree=xe,_(st,xe,f(st.el),E(st),d,A,v),B.el=xe.el,ue===null&&uu(d,xe.el),W&&Ve(W,A),(_e=B.props&&B.props.onVnodeUpdated)&&Ve(()=>lt(_e,re,B,ce),A)}else{let B;const{el:q,props:W}=p,{bm:re,m:ce,parent:ue,root:_e,type:xe}=d,st=Cn(p);Bt(d,!1),re&&er(re),!st&&(B=W&&W.onVnodeBeforeMount)&<(B,ue,p),Bt(d,!0);{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(xe,d.parent?d.parent.type:void 0);const ot=d.subTree=wo(d);_(null,ot,g,S,d,A,v),p.el=ot.el}if(ce&&Ve(ce,A),!st&&(B=W&&W.onVnodeMounted)){const ot=p;Ve(()=>lt(B,ue,ot),A)}(p.shapeFlag&256||ue&&Cn(ue.vnode)&&ue.vnode.shapeFlag&256)&&d.a&&Ve(d.a,A),d.isMounted=!0,p=g=S=null}};d.scope.on();const N=d.effect=new Hi(D);d.scope.off();const C=d.update=N.run.bind(N),$=d.job=N.runIfDirty.bind(N);$.i=d,$.id=d.uid,N.scheduler=()=>$s($),Bt(d,!0),C()},z=(d,p,g)=>{p.component=d;const S=d.vnode.props;d.vnode=p,d.next=null,du(d,p.props,S,g),gu(d,p.children,g),vt(),ho(d),At()},te=(d,p,g,S,A,v,M,D,N=!1)=>{const C=d&&d.children,$=d?d.shapeFlag:0,B=p.children,{patchFlag:q,shapeFlag:W}=p;if(q>0){if(q&128){ye(C,B,g,S,A,v,M,D,N);return}else if(q&256){Se(C,B,g,S,A,v,M,D,N);return}}W&8?($&16&&Te(C,A,v),B!==C&&a(g,B)):$&16?W&16?ye(C,B,g,S,A,v,M,D,N):Te(C,A,v,!0):($&8&&a(g,""),W&16&&K(B,g,S,A,v,M,D,N))},Se=(d,p,g,S,A,v,M,D,N)=>{d=d||rn,p=p||rn;const C=d.length,$=p.length,B=Math.min(C,$);let q;for(q=0;q$?Te(d,A,v,!0,!1,B):K(p,g,S,A,v,M,D,N,B)},ye=(d,p,g,S,A,v,M,D,N)=>{let C=0;const $=p.length;let B=d.length-1,q=$-1;for(;C<=B&&C<=q;){const W=d[C],re=p[C]=N?bt(p[C]):dt(p[C]);if(Ht(W,re))_(W,re,g,null,A,v,M,D,N);else break;C++}for(;C<=B&&C<=q;){const W=d[B],re=p[q]=N?bt(p[q]):dt(p[q]);if(Ht(W,re))_(W,re,g,null,A,v,M,D,N);else break;B--,q--}if(C>B){if(C<=q){const W=q+1,re=W<$?p[W].el:S;for(;C<=q;)_(null,p[C]=N?bt(p[C]):dt(p[C]),g,re,A,v,M,D,N),C++}}else if(C>q)for(;C<=B;)Ce(d[C],A,v,!0),C++;else{const W=C,re=C,ce=new Map;for(C=re;C<=q;C++){const $e=p[C]=N?bt(p[C]):dt(p[C]);$e.key!=null&&ce.set($e.key,C)}let ue,_e=0;const xe=q-re+1;let st=!1,ot=0;const pn=new Array(xe);for(C=0;C=xe){Ce($e,A,v,!0);continue}let it;if($e.key!=null)it=ce.get($e.key);else for(ue=re;ue<=q;ue++)if(pn[ue-re]===0&&Ht($e,p[ue])){it=ue;break}it===void 0?Ce($e,A,v,!0):(pn[it-re]=C+1,it>=ot?ot=it:st=!0,_($e,p[it],g,null,A,v,M,D,N),_e++)}const oo=st?Eu(pn):rn;for(ue=oo.length-1,C=xe-1;C>=0;C--){const $e=re+C,it=p[$e],io=p[$e+1],lo=$e+1<$?io.el||Hl(io):S;pn[C]===0?_(null,it,g,lo,A,v,M,D,N):st&&(ue<0||C!==oo[ue]?ve(it,g,lo,2):ue--)}}},ve=(d,p,g,S,A=null)=>{const{el:v,type:M,transition:D,children:N,shapeFlag:C}=d;if(C&6){ve(d.component.subTree,p,g,S);return}if(C&128){d.suspense.move(p,g,S);return}if(C&64){M.move(d,p,g,j);return}if(M===ft){r(v,p,g);for(let B=0;BD.enter(v),A);else{const{leave:B,delayLeave:q,afterLeave:W}=D,re=()=>{d.ctx.isUnmounted?s(v):r(v,p,g)},ce=()=>{v._isLeaving&&v[at](!0),B(v,()=>{re(),W&&W()})};q?q(v,re,ce):ce()}else r(v,p,g)},Ce=(d,p,g,S=!1,A=!1)=>{const{type:v,props:M,ref:D,children:N,dynamicChildren:C,shapeFlag:$,patchFlag:B,dirs:q,cacheIndex:W,memo:re}=d;if(B===-2&&(A=!1),D!=null&&(vt(),On(D,null,g,d,!0),At()),W!=null&&(p.renderCache[W]=void 0),$&256){p.ctx.deactivate(d);return}const ce=$&1&&q,ue=!Cn(d);let _e;if(ue&&(_e=M&&M.onVnodeBeforeUnmount)&<(_e,p,d),$&6)Ae(d.component,g,S);else{if($&128){d.suspense.unmount(g,S);return}ce&&Mt(d,null,p,"beforeUnmount"),$&64?d.type.remove(d,p,g,j,S):C&&!C.hasOnce&&(v!==ft||B>0&&B&64)?Te(C,p,g,!1,!0):(v===ft&&B&384||!A&&$&16)&&Te(N,p,g),S&&he(d)}const xe=re!=null&&W==null;(ue&&(_e=M&&M.onVnodeUnmounted)||ce||xe)&&Ve(()=>{_e&<(_e,p,d),ce&&Mt(d,null,p,"unmounted"),xe&&(d.el=null)},g)},he=d=>{const{type:p,el:g,anchor:S,transition:A}=d;if(p===ft){Fe(g,S);return}if(p===nr){x(d);return}const v=()=>{s(g),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(d.shapeFlag&1&&A&&!A.persisted){const{leave:M,delayLeave:D}=A,N=()=>M(g,v);D?D(d.el,v,N):N()}else v()},Fe=(d,p)=>{let g;for(;d!==p;)g=h(d),s(d),d=g;s(p)},Ae=(d,p,g)=>{const{bum:S,scope:A,job:v,subTree:M,um:D,m:N,a:C}=d;Ao(N),Ao(C),S&&er(S),A.stop(),v&&(v.flags|=8,Ce(M,d,p,g)),D&&Ve(D,p),Ve(()=>{d.isUnmounted=!0},p)},Te=(d,p,g,S=!1,A=!1,v=0)=>{for(let M=v;M{if(d.shapeFlag&6)return E(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const p=h(d.anchor||d.el),g=p&&p[La];return g?h(g):p};let P=!1;const I=(d,p,g)=>{let S;d==null?p._vnode&&(Ce(p._vnode,null,null,!0),S=p._vnode.component):_(p._vnode||null,d,p,null,null,null,g),p._vnode=d,P||(P=!0,ho(S),il(),P=!1)},j={p:_,um:Ce,m:ve,r:he,mt:se,mc:K,pc:te,pbc:V,n:E,o:e};return{render:I,hydrate:void 0,createApp:ru(I)}}function Xr({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 Bt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function bu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function kl(e,t,n=!1){const r=e.children,s=t.children;if(H(r)&&H(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function jl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:jl(t)}function Ao(e){if(e)for(let t=0;te.__isSuspense;function Ru(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):Ta(e)}const ft=Symbol.for("v-fgt"),Ir=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),nr=Symbol.for("v-stc"),Tn=[];let We=null;function bs(e=!1){Tn.push(We=e?null:[])}function wu(){Tn.pop(),We=Tn[Tn.length-1]||null}let Mn=1;function hr(e,t=!1){Mn+=e,e<0&&We&&t&&(We.hasOnce=!0)}function ql(e){return e.dynamicChildren=Mn>0?We||rn:null,wu(),Mn>0&&We&&We.push(e),e}function Su(e,t,n,r,s,o){return ql(Wl(e,t,n,r,s,o,!0))}function $l(e,t,n,r,s){return ql(Le(e,t,n,r,s,!0))}function pr(e){return e?e.__v_isVNode===!0:!1}function Ht(e,t){return e.type===t.type&&e.key===t.key}const Kl=({key:e})=>e??null,rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?de(e)||me(e)||G(e)?{i:Ke,r:e,k:t,f:!!n}:e:null);function Wl(e,t=null,n=null,r=0,s=null,o=e===ft?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Kl(t),ref:t&&rr(t),scopeId:cl,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:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ke};return l?(Gs(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=de(n)?8:16),Mn>0&&!i&&We&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&We.push(c),c}const Le=vu;function vu(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===vl)&&(e=ke),pr(e)){const l=Lt(e,t,!0);return n&&Gs(l,n),Mn>0&&!o&&We&&(l.shapeFlag&6?We[We.indexOf(e)]=l:We.push(l)),l.patchFlag=-2,l}if(Bu(e)&&(e=e.__vccOpts),t){t=Au(t);let{class:l,style:c}=t;l&&!de(l)&&(t.class=Fs(l)),le(c)&&(Or(c)&&!H(c)&&(c=we({},c)),t.style=vr(c))}const i=de(e)?1:Vl(e)?128:fl(e)?64:le(e)?4:G(e)?2:0;return Wl(e,t,n,r,s,i,o,!0)}function Au(e){return e?Or(e)||Dl(e)?we({},e):e:null}function Lt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:c}=e,u=t?xu(s||{},t):s,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Kl(u),ref:t&&t.ref?n&&o?H(o)?o.concat(rr(t)):[o,rr(t)]:rr(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!==ft?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Lt(e.ssContent),ssFallback:e.ssFallback&&Lt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Fn(a,c.clone(a)),a}function Ou(e=" ",t=0){return Le(Ir,null,e,t)}function Dp(e,t){const n=Le(nr,null,e);return n.staticCount=t,n}function Cu(e="",t=!1){return t?(bs(),$l(ke,null,e)):Le(ke,null,e)}function dt(e){return e==null||typeof e=="boolean"?Le(ke):H(e)?Le(ft,null,e.slice()):pr(e)?bt(e):Le(Ir,null,String(e))}function bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Lt(e)}function Gs(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Gs(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Dl(t)?t._ctx=Ke:s===3&&Ke&&(Ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:Ke},n=32):(t=String(t),r&64?(n=16,t=[Ou(t)]):n=8);e.children=t,e.shapeFlag|=n}function xu(...e){const t={};for(let n=0;nNe||Ke;let mr,Es;{const e=Sr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};mr=t("__VUE_INSTANCE_SETTERS__",n=>Ne=n),Es=t("__VUE_SSR_SETTERS__",n=>Bn=n)}const qn=e=>{const t=Ne;return mr(e),e.scope.on(),()=>{e.scope.off(),mr(t)}},Oo=()=>{Ne&&Ne.scope.off(),mr(null)};function Gl(e){return e.vnode.shapeFlag&4}let Bn=!1;function Iu(e,t=!1,n=!1){t&&Es(t);const{props:r,children:s}=e.vnode,o=Gl(e);fu(e,r,o,t),mu(e,s,n||t);const i=o?Du(e,t):void 0;return t&&Es(!1),i}function Du(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Xa);const{setup:r}=n;if(r){vt();const s=e.setupContext=r.length>1?Fu(e):null,o=qn(e),i=Vn(r,e,0,[e.props,s]),l=Ni(i);if(At(),o(),(l||e.sp)&&!Cn(e)&&_l(e),l){if(i.then(Oo,Oo),t)return i.then(c=>{Co(e,c)}).catch(c=>{Cr(c,e,0)});e.asyncDep=i}else Co(e,i)}else zl(e)}function Co(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:le(t)&&(e.setupState=rl(t)),zl(e)}function zl(e,t,n){const r=e.type;e.render||(e.render=r.render||pt);{const s=qn(e);vt();try{Qa(e)}finally{At(),s()}}}const Lu={get(e,t){return Pe(e,"get",""),e[t]}};function Fu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Lu),slots:e.slots,emit:e.emit,expose:t}}function Dr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(rl(qs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xn)return xn[n](e)},has(t,n){return n in t||n in xn}})):e.proxy}function Mu(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function Bu(e){return G(e)&&"__vccOpts"in e}const Ie=(e,t)=>va(e,t,Bn);function Js(e,t,n){try{hr(-1);const r=arguments.length;return r===2?le(t)&&!H(t)?pr(t)?Le(e,null,[t]):Le(e,t):Le(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&pr(n)&&(n=[n]),Le(e,t,n))}finally{hr(1)}}const Uu="3.5.34";/** +* @vue/runtime-dom v3.5.34 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Rs;const xo=typeof window<"u"&&window.trustedTypes;if(xo)try{Rs=xo.createPolicy("vue",{createHTML:e=>e})}catch{}const Jl=Rs?e=>Rs.createHTML(e):e=>e,ku="http://www.w3.org/2000/svg",ju="http://www.w3.org/1998/Math/MathML",_t=typeof document<"u"?document:null,To=_t&&_t.createElement("template"),Hu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?_t.createElementNS(ku,e):t==="mathml"?_t.createElementNS(ju,e):n?_t.createElement(e,{is:n}):_t.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>_t.createTextNode(e),createComment:e=>_t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{To.innerHTML=Jl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=To.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},xt="transition",yn="animation",Un=Symbol("_vtc"),Xl={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},Vu=we({},dl,Xl),qu=e=>(e.displayName="Transition",e.props=Vu,e),$u=qu((e,{slots:t})=>Js(Ba,Ku(e),t)),Ut=(e,t=[])=>{H(e)?e.forEach(n=>n(...t)):e&&e(...t)},Po=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function Ku(e){const t={};for(const L in e)L in Xl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:u=i,appearToClass:a=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,R=Wu(s),_=R&&R[0],b=R&&R[1],{onBeforeEnter:w,onEnter:O,onEnterCancelled:T,onLeave:x,onLeaveCancelled:k,onBeforeAppear:Z=w,onAppear:X=O,onAppearCancelled:K=T}=t,F=(L,Y,se,be)=>{L._enterCancelled=be,kt(L,Y?a:l),kt(L,Y?u:i),se&&se()},V=(L,Y)=>{L._isLeaving=!1,kt(L,f),kt(L,m),kt(L,h),Y&&Y()},J=L=>(Y,se)=>{const be=L?X:O,ee=()=>F(Y,L,se);Ut(be,[Y,ee]),No(()=>{kt(Y,L?c:o),gt(Y,L?a:l),Po(be)||Io(Y,r,_,ee)})};return we(t,{onBeforeEnter(L){Ut(w,[L]),gt(L,o),gt(L,i)},onBeforeAppear(L){Ut(Z,[L]),gt(L,c),gt(L,u)},onEnter:J(!1),onAppear:J(!0),onLeave(L,Y){L._isLeaving=!0;const se=()=>V(L,Y);gt(L,f),L._enterCancelled?(gt(L,h),Fo(L)):(Fo(L),gt(L,h)),No(()=>{L._isLeaving&&(kt(L,f),gt(L,m),Po(x)||Io(L,r,b,se))}),Ut(x,[L,se])},onEnterCancelled(L){F(L,!1,void 0,!0),Ut(T,[L])},onAppearCancelled(L){F(L,!0,void 0,!0),Ut(K,[L])},onLeaveCancelled(L){V(L),Ut(k,[L])}})}function Wu(e){if(e==null)return null;if(le(e))return[Qr(e.enter),Qr(e.leave)];{const t=Qr(e);return[t,t]}}function Qr(e){return Vc(e)}function gt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Un]||(e[Un]=new Set)).add(t)}function kt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Un];n&&(n.delete(t),n.size||(e[Un]=void 0))}function No(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gu=0;function Io(e,t,n,r){const s=e._endId=++Gu,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=zu(e,t);if(!i)return r();const u=i+"end";let a=0;const f=()=>{e.removeEventListener(u,h),o()},h=m=>{m.target===e&&++a>=c&&f()};setTimeout(()=>{a(n[R]||"").split(", "),s=r(`${xt}Delay`),o=r(`${xt}Duration`),i=Do(s,o),l=r(`${yn}Delay`),c=r(`${yn}Duration`),u=Do(l,c);let a=null,f=0,h=0;t===xt?i>0&&(a=xt,f=i,h=o.length):t===yn?u>0&&(a=yn,f=u,h=c.length):(f=Math.max(i,u),a=f>0?i>u?xt:yn:null,h=a?a===xt?o.length:c.length:0);const m=a===xt&&/\b(?:transform|all)(?:,|$)/.test(r(`${xt}Property`).toString());return{type:a,timeout:f,propCount:h,hasTransform:m}}function Do(e,t){for(;e.lengthLo(n)+Lo(e[r])))}function Lo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ju(e,t,n){const r=e[Un];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Mo=Symbol("_vod"),Xu=Symbol("_vsh"),Qu=Symbol(""),Yu=/(?:^|;)\s*display\s*:/;function Zu(e,t,n){const r=e.style,s=de(n);let o=!1;if(n&&!s){if(t)if(de(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Rn(r,l,"")}else for(const i in t)n[i]==null&&Rn(r,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?tf(e,i,!de(t)&&t?t[i]:void 0,l)||Rn(r,i,l):Rn(r,i,"")}}else if(s){if(t!==n){const i=r[Qu];i&&(n+=";"+i),r.cssText=n,o=Yu.test(n)}}else t&&e.removeAttribute("style");Mo in e&&(e[Mo]=o?r.display:"",e[Xu]&&(r.display="none"))}const Bo=/\s*!important$/;function Rn(e,t,n){if(H(n))n.forEach(r=>Rn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=ef(e,t);Bo.test(n)?e.setProperty(Xt(r),n.replace(Bo,""),"important"):e[r]=n}}const Uo=["Webkit","Moz","ms"],Yr={};function ef(e,t){const n=Yr[t];if(n)return n;let r=je(t);if(r!=="filter"&&r in e)return Yr[t]=r;r=Rr(r);for(let s=0;sZr||(of.then(()=>Zr=0),Zr=Date.now());function cf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;tt(af(r,n.value),t,5,[r])};return n.value=e,n.attached=lf(),n}function af(e,t){if(H(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const $o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,uf=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?Ju(e,r,i):t==="style"?Zu(e,n,r):yr(t)?_r(t)||rf(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ff(e,t,r,i))?(Ho(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&jo(e,t,r,i,o,t!=="value")):e._isVueCE&&(df(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!de(r)))?Ho(e,je(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),jo(e,t,r,i))};function ff(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&$o(t)&&G(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return $o(t)&&de(n)?!1:t in e}function df(e,t){const n=e._def.props;if(!n)return!1;const r=je(t);return Array.isArray(n)?n.some(s=>je(s)===r):Object.keys(n).some(s=>je(s)===r)}const Ft=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>er(t,n):t};function hf(e){e.target.composing=!0}function Ko(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qe=Symbol("_assign");function Wo(e,t,n){return t&&(e=e.trim()),n&&(e=wr(e)),e}const Go={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qe]=Ft(s);const o=r||s.props&&s.props.type==="number";wt(e,t?"change":"input",i=>{i.target.composing||e[Qe](Wo(e.value,n,o))}),(n||o)&&wt(e,"change",()=>{e.value=Wo(e.value,n,o)}),t||(wt(e,"compositionstart",hf),wt(e,"compositionend",Ko),wt(e,"change",Ko))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Qe]=Ft(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?wr(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c)}},pf={deep:!0,created(e,t,n){e[Qe]=Ft(n),wt(e,"change",()=>{const r=e._modelValue,s=cn(e),o=e.checked,i=e[Qe];if(H(r)){const l=Ms(r,s),c=l!==-1;if(o&&!c)i(r.concat(s));else if(!o&&c){const u=[...r];u.splice(l,1),i(u)}}else if(dn(r)){const l=new Set(r);o?l.add(s):l.delete(s),i(l)}else i(Ql(e,o))})},mounted:zo,beforeUpdate(e,t,n){e[Qe]=Ft(n),zo(e,t,n)}};function zo(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(H(t))s=Ms(t,r.props.value)>-1;else if(dn(t))s=t.has(r.props.value);else{if(t===n)return;s=Dt(t,Ql(e,!0))}e.checked!==s&&(e.checked=s)}const mf={created(e,{value:t},n){e.checked=Dt(t,n.props.value),e[Qe]=Ft(n),wt(e,"change",()=>{e[Qe](cn(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Qe]=Ft(r),t!==n&&(e.checked=Dt(t,r.props.value))}},gf={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=dn(t);wt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?wr(cn(i)):cn(i));e[Qe](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,xr(()=>{e._assigning=!1})}),e[Qe]=Ft(r)},mounted(e,{value:t}){Jo(e,t)},beforeUpdate(e,t,n){e[Qe]=Ft(n)},updated(e,{value:t}){e._assigning||Jo(e,t)}};function Jo(e,t){const n=e.multiple,r=H(t);if(!(n&&!r&&!dn(t))){for(let s=0,o=e.options.length;sString(u)===String(l)):i.selected=Ms(t,l)>-1}else i.selected=t.has(l);else if(Dt(cn(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function cn(e){return"_value"in e?e._value:e.value}function Ql(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Lp={created(e,t,n){Yn(e,t,n,null,"created")},mounted(e,t,n){Yn(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Yn(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Yn(e,t,n,r,"updated")}};function yf(e,t){switch(e){case"SELECT":return gf;case"TEXTAREA":return Go;default:switch(t){case"checkbox":return pf;case"radio":return mf;default:return Go}}}function Yn(e,t,n,r,s){const i=yf(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,r)}const _f=["ctrl","shift","alt","meta"],bf={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)=>_f.some(n=>e[`${n}Key`]&&!t.includes(n))},Fp=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const t=Rf().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=vf(r);if(!s)return;const o=t._component;!G(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Sf(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function Sf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function vf(e){return de(e)?document.querySelector(e):e}/*! + * pinia v2.3.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Yl;const Lr=e=>Yl=e,Zl=Symbol();function ws(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Pn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Pn||(Pn={}));function Af(){const e=ki(!0),t=e.run(()=>nn({}));let n=[],r=[];const s=qs({install(o){Lr(s),s._a=o,o.provide(Zl,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const ec=()=>{};function Qo(e,t,n,r=ec){e.push(t);const s=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),r())};return!n&&ji()&&Qc(s),s}function Yt(e,...t){e.slice().forEach(n=>{n(...t)})}const Of=e=>e(),Yo=Symbol(),es=Symbol();function Ss(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];ws(s)&&ws(r)&&e.hasOwnProperty(n)&&!me(r)&&!St(r)?e[n]=Ss(s,r):e[n]=r}return e}const Cf=Symbol();function xf(e){return!ws(e)||!e.hasOwnProperty(Cf)}const{assign:Pt}=Object;function Tf(e){return!!(me(e)&&e.effect)}function Pf(e,t,n,r){const{state:s,actions:o,getters:i}=t,l=n.state.value[e];let c;function u(){l||(n.state.value[e]=s?s():{});const a=Ea(n.state.value[e]);return Pt(a,o,Object.keys(i||{}).reduce((f,h)=>(f[h]=qs(Ie(()=>{Lr(n);const m=n._s.get(e);return i[h].call(m,m)})),f),{}))}return c=tc(e,u,t,n,r,!0),c}function tc(e,t,n={},r,s,o){let i;const l=Pt({actions:{}},n),c={deep:!0};let u,a,f=[],h=[],m;const R=r.state.value[e];!o&&!R&&(r.state.value[e]={});let _;function b(K){let F;u=a=!1,typeof K=="function"?(K(r.state.value[e]),F={type:Pn.patchFunction,storeId:e,events:m}):(Ss(r.state.value[e],K),F={type:Pn.patchObject,payload:K,storeId:e,events:m});const V=_=Symbol();xr().then(()=>{_===V&&(u=!0)}),a=!0,Yt(f,F,r.state.value[e])}const w=o?function(){const{state:F}=n,V=F?F():{};this.$patch(J=>{Pt(J,V)})}:ec;function O(){i.stop(),f=[],h=[],r._s.delete(e)}const T=(K,F="")=>{if(Yo in K)return K[es]=F,K;const V=function(){Lr(r);const J=Array.from(arguments),L=[],Y=[];function se(z){L.push(z)}function be(z){Y.push(z)}Yt(h,{args:J,name:V[es],store:k,after:se,onError:be});let ee;try{ee=K.apply(this&&this.$id===e?this:k,J)}catch(z){throw Yt(Y,z),z}return ee instanceof Promise?ee.then(z=>(Yt(L,z),z)).catch(z=>(Yt(Y,z),Promise.reject(z))):(Yt(L,ee),ee)};return V[Yo]=!0,V[es]=F,V},x={_p:r,$id:e,$onAction:Qo.bind(null,h),$patch:b,$reset:w,$subscribe(K,F={}){const V=Qo(f,K,F.detached,()=>J()),J=i.run(()=>An(()=>r.state.value[e],L=>{(F.flush==="sync"?a:u)&&K({storeId:e,type:Pn.direct,events:m},L)},Pt({},c,F)));return V},$dispose:O},k=Hn(x);r._s.set(e,k);const X=(r._a&&r._a.runWithContext||Of)(()=>r._e.run(()=>(i=ki()).run(()=>t({action:T}))));for(const K in X){const F=X[K];if(me(F)&&!Tf(F)||St(F))o||(R&&xf(F)&&(me(F)?F.value=R[K]:Ss(F,R[K])),r.state.value[e][K]=F);else if(typeof F=="function"){const V=T(F,K);X[K]=V,l.actions[K]=F}}return Pt(k,X),Pt(ne(k),X),Object.defineProperty(k,"$state",{get:()=>r.state.value[e],set:K=>{b(F=>{Pt(F,K)})}}),r._p.forEach(K=>{Pt(k,i.run(()=>K({store:k,app:r._a,pinia:r,options:l})))}),R&&o&&n.hydrate&&n.hydrate(k.$state,R),u=!0,a=!0,k}/*! #__NO_SIDE_EFFECTS__ */function Nf(e,t,n){let r,s;const o=typeof t=="function";r=e,s=o?n:t;function i(l,c){const u=Pa();return l=l||(u?Xe(Zl,null):null),l&&Lr(l),l=Yl,l._s.has(r)||(o?tc(r,t,s,l):Pf(r,s,l)),l._s.get(r)}return i.$id=r,i}function nc(e,t){return function(){return e.apply(t,arguments)}}const{toString:If}=Object.prototype,{getPrototypeOf:Fr}=Object,{iterator:Mr,toStringTag:rc}=Symbol,Br=(e=>t=>{const n=If.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),rt=e=>(e=e.toLowerCase(),t=>Br(t)===e),Ur=e=>t=>typeof t===e,{isArray:hn}=Array,an=Ur("undefined");function $n(e){return e!==null&&!an(e)&&e.constructor!==null&&!an(e.constructor)&&qe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const sc=rt("ArrayBuffer");function Df(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&sc(e.buffer),t}const Lf=Ur("string"),qe=Ur("function"),oc=Ur("number"),Kn=e=>e!==null&&typeof e=="object",Ff=e=>e===!0||e===!1,sr=e=>{if(Br(e)!=="object")return!1;const t=Fr(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(rc in e)&&!(Mr in e)},Mf=e=>{if(!Kn(e)||$n(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Bf=rt("Date"),Uf=rt("File"),kf=e=>!!(e&&typeof e.uri<"u"),jf=e=>e&&typeof e.getParts<"u",Hf=rt("Blob"),Vf=rt("FileList"),qf=e=>Kn(e)&&qe(e.pipe);function $f(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Zo=$f(),ei=typeof Zo.FormData<"u"?Zo.FormData:void 0,Kf=e=>{if(!e)return!1;if(ei&&e instanceof ei)return!0;const t=Fr(e);if(!t||t===Object.prototype||!qe(e.append))return!1;const n=Br(e);return n==="formdata"||n==="object"&&qe(e.toString)&&e.toString()==="[object FormData]"},Wf=rt("URLSearchParams"),[Gf,zf,Jf,Xf]=["ReadableStream","Request","Response","Headers"].map(rt),Qf=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Wn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),hn(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Vt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,lc=e=>!an(e)&&e!==Vt;function vs(...e){const{caseless:t,skipUndefined:n}=lc(this)&&this||{},r={},s=(o,i)=>{if(i==="__proto__"||i==="constructor"||i==="prototype")return;const l=t&&ic(r,i)||i,c=As(r,l)?r[l]:void 0;sr(c)&&sr(o)?r[l]=vs(c,o):sr(o)?r[l]=vs({},o):hn(o)?r[l]=o.slice():(!n||!an(o))&&(r[l]=o)};for(let o=0,i=e.length;o(Wn(t,(s,o)=>{n&&qe(s)?Object.defineProperty(e,o,{__proto__:null,value:nc(s,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,o,{__proto__:null,value:s,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Zf=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),ed=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},td=(e,t,n,r)=>{let s,o,i;const l={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&Fr(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},nd=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},rd=e=>{if(!e)return null;if(hn(e))return e;let t=e.length;if(!oc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},sd=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Fr(Uint8Array)),od=(e,t)=>{const r=(e&&e[Mr]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},id=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},ld=rt("HTMLFormElement"),cd=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),As=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),ad=rt("RegExp"),cc=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Wn(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},ud=e=>{cc(e,(t,n)=>{if(qe(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(qe(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},fd=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return hn(e)?r(e):r(String(e).split(t)),n},dd=()=>{},hd=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function pd(e){return!!(e&&qe(e.append)&&e[rc]==="FormData"&&e[Mr])}const md=e=>{const t=new WeakSet,n=r=>{if(Kn(r)){if(t.has(r))return;if($n(r))return r;if(!("toJSON"in r)){t.add(r);const s=hn(r)?[]:{};return Wn(r,(o,i)=>{const l=n(o);!an(l)&&(s[i]=l)}),t.delete(r),s}}return r};return n(e)},gd=rt("AsyncFunction"),yd=e=>e&&(Kn(e)||qe(e))&&qe(e.then)&&qe(e.catch),ac=((e,t)=>e?setImmediate:t?((n,r)=>(Vt.addEventListener("message",({source:s,data:o})=>{s===Vt&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),Vt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",qe(Vt.postMessage)),_d=typeof queueMicrotask<"u"?queueMicrotask.bind(Vt):typeof process<"u"&&process.nextTick||ac,bd=e=>e!=null&&qe(e[Mr]),y={isArray:hn,isArrayBuffer:sc,isBuffer:$n,isFormData:Kf,isArrayBufferView:Df,isString:Lf,isNumber:oc,isBoolean:Ff,isObject:Kn,isPlainObject:sr,isEmptyObject:Mf,isReadableStream:Gf,isRequest:zf,isResponse:Jf,isHeaders:Xf,isUndefined:an,isDate:Bf,isFile:Uf,isReactNativeBlob:kf,isReactNative:jf,isBlob:Hf,isRegExp:ad,isFunction:qe,isStream:qf,isURLSearchParams:Wf,isTypedArray:sd,isFileList:Vf,forEach:Wn,merge:vs,extend:Yf,trim:Qf,stripBOM:Zf,inherits:ed,toFlatObject:td,kindOf:Br,kindOfTest:rt,endsWith:nd,toArray:rd,forEachEntry:od,matchAll:id,isHTMLForm:ld,hasOwnProperty:As,hasOwnProp:As,reduceDescriptors:cc,freezeMethods:ud,toObjectSet:fd,toCamelCase:cd,noop:dd,toFiniteNumber:hd,findKey:ic,global:Vt,isContextDefined:lc,isSpecCompliantForm:pd,toJSONObject:md,isAsyncFn:gd,isThenable:yd,setImmediate:ac,asap:_d,isIterable:bd},Ed=y.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Rd=e=>{const t={};let n,r,s;return e&&e.split(` +`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&Ed[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t};function wd(e){let t=0,n=e.length;for(;tt;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const Sd=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),vd=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Xs(e,t){return y.isArray(e)?e.map(n=>Xs(n,t)):wd(String(e).replace(t,""))}const Ad=e=>Xs(e,Sd),Od=e=>Xs(e,vd);function uc(e){const t=Object.create(null);return y.forEach(e.toJSON(),(n,r)=>{t[r]=Od(n)}),t}const ti=Symbol("internals");function _n(e){return e&&String(e).trim().toLowerCase()}function or(e){return e===!1||e==null?e:y.isArray(e)?e.map(or):Ad(String(e))}function Cd(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const xd=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ts(e,t,n,r,s){if(y.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!y.isString(t)){if(y.isString(r))return t.indexOf(r)!==-1;if(y.isRegExp(r))return r.test(t)}}function Td(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Pd(e,t){const n=y.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}let He=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(l,c,u){const a=_n(c);if(!a)throw new Error("header name must be a non-empty string");const f=y.findKey(s,a);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||c]=or(l))}const i=(l,c)=>y.forEach(l,(u,a)=>o(u,a,c));if(y.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(y.isString(t)&&(t=t.trim())&&!xd(t))i(Rd(t),n);else if(y.isObject(t)&&y.isIterable(t)){let l={},c,u;for(const a of t){if(!y.isArray(a))throw TypeError("Object iterator must return a key-value pair");l[u=a[0]]=(c=l[u])?y.isArray(c)?[...c,a[1]]:[c,a[1]]:a[1]}i(l,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=_n(t),t){const r=y.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return Cd(s);if(y.isFunction(n))return n.call(this,s,r);if(y.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=_n(t),t){const r=y.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||ts(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=_n(i),i){const l=y.findKey(r,i);l&&(!n||ts(r,r[l],l,n))&&(delete r[l],s=!0)}}return y.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||ts(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return y.forEach(this,(s,o)=>{const i=y.findKey(r,o);if(i){n[i]=or(s),delete n[o];return}const l=t?Td(o):String(o).trim();l!==o&&delete n[o],n[l]=or(s),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return y.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&y.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[ti]=this[ti]={accessors:{}}).accessors,s=this.prototype;function o(i){const l=_n(i);r[l]||(Pd(s,i),r[l]=!0)}return y.isArray(t)?t.forEach(o):o(t),this}};He.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);y.reduceDescriptors(He.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});y.freezeMethods(He);const Nd="[REDACTED ****]";function Id(e){if(y.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(y.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function Dd(e,t){const n=new Set(t.map(o=>String(o).toLowerCase())),r=[],s=o=>{if(o===null||typeof o!="object"||y.isBuffer(o))return o;if(r.indexOf(o)!==-1)return;o instanceof He&&(o=o.toJSON()),r.push(o);let i;if(y.isArray(o))i=[],o.forEach((l,c)=>{const u=s(l);y.isUndefined(u)||(i[c]=u)});else{if(!y.isPlainObject(o)&&Id(o))return r.pop(),o;i=Object.create(null);for(const[l,c]of Object.entries(o)){const u=n.has(l.toLowerCase())?Nd:s(c);y.isUndefined(u)||(i[l]=u)}}return r.pop(),i};return s(e)}let U=class fc extends Error{static from(t,n,r,s,o,i){const l=new fc(t.message,n||t.code,r,s,o);return l.cause=t,l.name=t.name,t.status!=null&&l.status==null&&(l.status=t.status),i&&Object.assign(l,i),l}constructor(t,n,r,s,o){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status)}toJSON(){const t=this.config,n=t&&y.hasOwnProp(t,"redact")?t.redact:void 0,r=y.isArray(n)&&n.length>0?Dd(t,n):y.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};U.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";U.ERR_BAD_OPTION="ERR_BAD_OPTION";U.ECONNABORTED="ECONNABORTED";U.ETIMEDOUT="ETIMEDOUT";U.ECONNREFUSED="ECONNREFUSED";U.ERR_NETWORK="ERR_NETWORK";U.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";U.ERR_DEPRECATED="ERR_DEPRECATED";U.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";U.ERR_BAD_REQUEST="ERR_BAD_REQUEST";U.ERR_CANCELED="ERR_CANCELED";U.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";U.ERR_INVALID_URL="ERR_INVALID_URL";U.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Ld=null;function Os(e){return y.isPlainObject(e)||y.isArray(e)}function dc(e){return y.endsWith(e,"[]")?e.slice(0,-2):e}function ns(e,t,n){return e?e.concat(t).map(function(s,o){return s=dc(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function Fd(e){return y.isArray(e)&&!e.some(Os)}const Md=y.toFlatObject(y,{},null,function(t){return/^is[A-Z]/.test(t)});function kr(e,t,n){if(!y.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=y.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(b,w){return!y.isUndefined(w[b])});const r=n.metaTokens,s=n.visitor||f,o=n.dots,i=n.indexes,l=n.Blob||typeof Blob<"u"&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,u=l&&y.isSpecCompliantForm(t);if(!y.isFunction(s))throw new TypeError("visitor must be a function");function a(_){if(_===null)return"";if(y.isDate(_))return _.toISOString();if(y.isBoolean(_))return _.toString();if(!u&&y.isBlob(_))throw new U("Blob is not supported. Use a Buffer instead.");return y.isArrayBuffer(_)||y.isTypedArray(_)?u&&typeof Blob=="function"?new Blob([_]):Buffer.from(_):_}function f(_,b,w){let O=_;if(y.isReactNative(t)&&y.isReactNativeBlob(_))return t.append(ns(w,b,o),a(_)),!1;if(_&&!w&&typeof _=="object"){if(y.endsWith(b,"{}"))b=r?b:b.slice(0,-2),_=JSON.stringify(_);else if(y.isArray(_)&&Fd(_)||(y.isFileList(_)||y.endsWith(b,"[]"))&&(O=y.toArray(_)))return b=dc(b),O.forEach(function(x,k){!(y.isUndefined(x)||x===null)&&t.append(i===!0?ns([b],k,o):i===null?b:b+"[]",a(x))}),!1}return Os(_)?!0:(t.append(ns(w,b,o),a(_)),!1)}const h=[],m=Object.assign(Md,{defaultVisitor:f,convertValue:a,isVisitable:Os});function R(_,b,w=0){if(!y.isUndefined(_)){if(w>c)throw new U("Object is too deeply nested ("+w+" levels). Max depth: "+c,U.ERR_FORM_DATA_DEPTH_EXCEEDED);if(h.indexOf(_)!==-1)throw Error("Circular reference detected in "+b.join("."));h.push(_),y.forEach(_,function(T,x){(!(y.isUndefined(T)||T===null)&&s.call(t,T,y.isString(x)?x.trim():x,b,m))===!0&&R(T,b?b.concat(x):[x],w+1)}),h.pop()}}if(!y.isObject(e))throw new TypeError("data must be an object");return R(e),t}function ni(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Qs(e,t){this._pairs=[],e&&kr(e,this,t)}const hc=Qs.prototype;hc.append=function(t,n){this._pairs.push([t,n])};hc.toString=function(t){const n=t?function(r){return t.call(this,r,ni)}:ni;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function Bd(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function pc(e,t,n){if(!t)return e;const r=n&&n.encode||Bd,s=y.isFunction(n)?{serialize:n}:n,o=s&&s.serialize;let i;if(o?i=o(t,s):i=y.isURLSearchParams(t)?t.toString():new Qs(t,s).toString(r),i){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class ri{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){y.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Ys={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},Ud=typeof URLSearchParams<"u"?URLSearchParams:Qs,kd=typeof FormData<"u"?FormData:null,jd=typeof Blob<"u"?Blob:null,Hd={isBrowser:!0,classes:{URLSearchParams:Ud,FormData:kd,Blob:jd},protocols:["http","https","file","blob","url","data"]},Zs=typeof window<"u"&&typeof document<"u",Cs=typeof navigator=="object"&&navigator||void 0,Vd=Zs&&(!Cs||["ReactNative","NativeScript","NS"].indexOf(Cs.product)<0),qd=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",$d=Zs&&window.location.href||"http://localhost",Kd=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Zs,hasStandardBrowserEnv:Vd,hasStandardBrowserWebWorkerEnv:qd,navigator:Cs,origin:$d},Symbol.toStringTag,{value:"Module"})),De={...Kd,...Hd};function Wd(e,t){return kr(e,new De.classes.URLSearchParams,{visitor:function(n,r,s,o){return De.isNode&&y.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Gd(e){return y.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function zd(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&y.isArray(s)?s.length:i,c?(y.hasOwnProp(s,i)?s[i]=y.isArray(s[i])?s[i].concat(r):[s[i],r]:s[i]=r,!l):((!y.hasOwnProp(s,i)||!y.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&y.isArray(s[i])&&(s[i]=zd(s[i])),!l)}if(y.isFormData(e)&&y.isFunction(e.entries)){const n={};return y.forEachEntry(e,(r,s)=>{t(Gd(r),s,n,0)}),n}return null}const Zt=(e,t)=>e!=null&&y.hasOwnProp(e,t)?e[t]:void 0;function Jd(e,t,n){if(y.isString(e))try{return(t||JSON.parse)(e),y.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Gn={transitional:Ys,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=y.isObject(t);if(o&&y.isHTMLForm(t)&&(t=new FormData(t)),y.isFormData(t))return s?JSON.stringify(mc(t)):t;if(y.isArrayBuffer(t)||y.isBuffer(t)||y.isStream(t)||y.isFile(t)||y.isBlob(t)||y.isReadableStream(t))return t;if(y.isArrayBufferView(t))return t.buffer;if(y.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(o){const c=Zt(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Wd(t,c).toString();if((l=y.isFileList(t))||r.indexOf("multipart/form-data")>-1){const u=Zt(this,"env"),a=u&&u.FormData;return kr(l?{"files[]":t}:t,a&&new a,c)}}return o||s?(n.setContentType("application/json",!1),Jd(t)):t}],transformResponse:[function(t){const n=Zt(this,"transitional")||Gn.transitional,r=n&&n.forcedJSONParsing,s=Zt(this,"responseType"),o=s==="json";if(y.isResponse(t)||y.isReadableStream(t))return t;if(t&&y.isString(t)&&(r&&!s||o)){const l=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,Zt(this,"parseReviver"))}catch(c){if(l)throw c.name==="SyntaxError"?U.from(c,U.ERR_BAD_RESPONSE,this,null,Zt(this,"response")):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};y.forEach(["delete","get","head","post","put","patch","query"],e=>{Gn.headers[e]={}});function rs(e,t){const n=this||Gn,r=t||n,s=He.from(r.headers);let o=r.data;return y.forEach(e,function(l){o=l.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function gc(e){return!!(e&&e.__CANCEL__)}let zn=class extends U{constructor(t,n,r){super(t??"canceled",U.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function yc(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new U("Request failed with status code "+n.status,n.status>=400&&n.status<500?U.ERR_BAD_REQUEST:U.ERR_BAD_RESPONSE,n.config,n.request,n))}function Xd(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Qd(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(c){const u=Date.now(),a=r[o];i||(i=u),n[s]=c,r[s]=u;let f=o,h=0;for(;f!==s;)h+=n[f++],f=f%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),u-i{n=a,s=null,o&&(clearTimeout(o),o=null),e(...u)};return[(...u)=>{const a=Date.now(),f=a-n;f>=r?i(u,a):(s=u,o||(o=setTimeout(()=>{o=null,i(s)},r-f)))},()=>s&&i(s)]}const gr=(e,t,n=3)=>{let r=0;const s=Qd(50,250);return Yd(o=>{if(!o||typeof o.loaded!="number")return;const i=o.loaded,l=o.lengthComputable?o.total:void 0,c=l!=null?Math.min(i,l):i,u=Math.max(0,c-r),a=s(u);r=Math.max(r,c);const f={loaded:c,total:l,progress:l?c/l:void 0,bytes:u,rate:a||void 0,estimated:a&&l?(l-c)/a:void 0,event:o,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},si=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},oi=e=>(...t)=>y.asap(()=>e(...t)),Zd=De.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,De.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):()=>!0,eh=De.hasStandardBrowserEnv?{write(e,t,n,r,s,o,i){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];y.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),y.isString(r)&&l.push(`path=${r}`),y.isString(s)&&l.push(`domain=${s}`),o===!0&&l.push("secure"),y.isString(i)&&l.push(`SameSite=${i}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;ne instanceof He?{...e}:e;function Jt(e,t){t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,a,f,h){return y.isPlainObject(u)&&y.isPlainObject(a)?y.merge.call({caseless:h},u,a):y.isPlainObject(a)?y.merge({},a):y.isArray(a)?a.slice():a}function s(u,a,f,h){if(y.isUndefined(a)){if(!y.isUndefined(u))return r(void 0,u,f,h)}else return r(u,a,f,h)}function o(u,a){if(!y.isUndefined(a))return r(void 0,a)}function i(u,a){if(y.isUndefined(a)){if(!y.isUndefined(u))return r(void 0,u)}else return r(void 0,a)}function l(u,a,f){if(y.hasOwnProp(t,f))return r(u,a);if(y.hasOwnProp(e,f))return r(void 0,u)}const c={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:l,headers:(u,a,f)=>s(ii(u),ii(a),f,!0)};return y.forEach(Object.keys({...e,...t}),function(a){if(a==="__proto__"||a==="constructor"||a==="prototype")return;const f=y.hasOwnProp(c,a)?c[a]:s,h=y.hasOwnProp(e,a)?e[a]:void 0,m=y.hasOwnProp(t,a)?t[a]:void 0,R=f(h,m,a);y.isUndefined(R)&&f!==l||(n[a]=R)}),n}const rh=["content-type","content-length"];function sh(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t).forEach(([r,s])=>{rh.includes(r.toLowerCase())&&e.set(r,s)})}const oh=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),bc=e=>{const t=Jt({},e),n=h=>y.hasOwnProp(t,h)?t[h]:void 0,r=n("data");let s=n("withXSRFToken");const o=n("xsrfHeaderName"),i=n("xsrfCookieName");let l=n("headers");const c=n("auth"),u=n("baseURL"),a=n("allowAbsoluteUrls"),f=n("url");if(t.headers=l=He.from(l),t.url=pc(_c(u,f,a),e.params,e.paramsSerializer),c&&l.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?oh(c.password):""))),y.isFormData(r)&&(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv?l.setContentType(void 0):y.isFunction(r.getHeaders)&&sh(l,r.getHeaders(),n("formDataHeaderPolicy"))),De.hasStandardBrowserEnv&&(y.isFunction(s)&&(s=s(t)),s===!0||s==null&&Zd(t.url))){const m=o&&i&&eh.read(i);m&&l.set(o,m)}return t},ih=typeof XMLHttpRequest<"u",lh=ih&&function(e){return new Promise(function(n,r){const s=bc(e);let o=s.data;const i=He.from(s.headers).normalize();let{responseType:l,onUploadProgress:c,onDownloadProgress:u}=s,a,f,h,m,R;function _(){m&&m(),R&&R(),s.cancelToken&&s.cancelToken.unsubscribe(a),s.signal&&s.signal.removeEventListener("abort",a)}let b=new XMLHttpRequest;b.open(s.method.toUpperCase(),s.url,!0),b.timeout=s.timeout;function w(){if(!b)return;const T=He.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),k={data:!l||l==="text"||l==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:T,config:e,request:b};yc(function(X){n(X),_()},function(X){r(X),_()},k),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.startsWith("file:"))||setTimeout(w)},b.onabort=function(){b&&(r(new U("Request aborted",U.ECONNABORTED,e,b)),_(),b=null)},b.onerror=function(x){const k=x&&x.message?x.message:"Network Error",Z=new U(k,U.ERR_NETWORK,e,b);Z.event=x||null,r(Z),_(),b=null},b.ontimeout=function(){let x=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const k=s.transitional||Ys;s.timeoutErrorMessage&&(x=s.timeoutErrorMessage),r(new U(x,k.clarifyTimeoutError?U.ETIMEDOUT:U.ECONNABORTED,e,b)),_(),b=null},o===void 0&&i.setContentType(null),"setRequestHeader"in b&&y.forEach(uc(i),function(x,k){b.setRequestHeader(k,x)}),y.isUndefined(s.withCredentials)||(b.withCredentials=!!s.withCredentials),l&&l!=="json"&&(b.responseType=s.responseType),u&&([h,R]=gr(u,!0),b.addEventListener("progress",h)),c&&b.upload&&([f,m]=gr(c),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",m)),(s.cancelToken||s.signal)&&(a=T=>{b&&(r(!T||T.type?new zn(null,e,b):T),b.abort(),_(),b=null)},s.cancelToken&&s.cancelToken.subscribe(a),s.signal&&(s.signal.aborted?a():s.signal.addEventListener("abort",a)));const O=Xd(s.url);if(O&&!De.protocols.includes(O)){r(new U("Unsupported protocol "+O+":",U.ERR_BAD_REQUEST,e));return}b.send(o||null)})},ch=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const s=function(c){if(!r){r=!0,i();const u=c instanceof Error?c:this.reason;n.abort(u instanceof U?u:new zn(u instanceof Error?u.message:u))}};let o=t&&setTimeout(()=>{o=null,s(new U(`timeout of ${t}ms exceeded`,U.ETIMEDOUT))},t);const i=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=n;return l.unsubscribe=()=>y.asap(i),l},ah=function*(e,t){let n=e.byteLength;if(n{const s=uh(e,t);let o=0,i,l=c=>{i||(i=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:u,value:a}=await s.next();if(u){l(),c.close();return}let f=a.byteLength;if(n){let h=o+=f;n(h)}c.enqueue(new Uint8Array(a))}catch(u){throw l(u),u}},cancel(c){return l(c),s.return()}},{highWaterMark:2})};function dh(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let i=r.length;const l=r.length;for(let m=0;m=48&&R<=57||R>=65&&R<=70||R>=97&&R<=102)&&(_>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102)&&(i-=2,m+=2)}let c=0,u=l-1;const a=m=>m>=2&&r.charCodeAt(m-2)===37&&r.charCodeAt(m-1)===51&&(r.charCodeAt(m)===68||r.charCodeAt(m)===100);u>=0&&(r.charCodeAt(u)===61?(c++,u--):a(u)&&(c++,u-=3)),c===1&&u>=0&&(r.charCodeAt(u)===61||a(u))&&c++;const h=Math.floor(i/4)*3-(c||0);return h>0?h:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(r,"utf8");let o=0;for(let i=0,l=r.length;i=55296&&c<=56319&&i+1=56320&&u<=57343?(o+=4,i++):o+=3}else o+=3}return o}const eo="1.16.1",ci=64*1024,{isFunction:Zn}=y,ai=(e,...t)=>{try{return!!e(...t)}catch{return!1}},hh=e=>{const t=y.global!==void 0&&y.global!==null?y.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=y.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:s,Request:o,Response:i}=e,l=s?Zn(s):typeof fetch=="function",c=Zn(o),u=Zn(i);if(!l)return!1;const a=l&&Zn(n),f=l&&(typeof r=="function"?(w=>O=>w.encode(O))(new r):async w=>new Uint8Array(await new o(w).arrayBuffer())),h=c&&a&&ai(()=>{let w=!1;const O=new o(De.origin,{body:new n,method:"POST",get duplex(){return w=!0,"half"}}),T=O.headers.has("Content-Type");return O.body!=null&&O.body.cancel(),w&&!T}),m=u&&a&&ai(()=>y.isReadableStream(new i("").body)),R={stream:m&&(w=>w.body)};l&&["text","arrayBuffer","blob","formData","stream"].forEach(w=>{!R[w]&&(R[w]=(O,T)=>{let x=O&&O[w];if(x)return x.call(O);throw new U(`Response type '${w}' is not supported`,U.ERR_NOT_SUPPORT,T)})});const _=async w=>{if(w==null)return 0;if(y.isBlob(w))return w.size;if(y.isSpecCompliantForm(w))return(await new o(De.origin,{method:"POST",body:w}).arrayBuffer()).byteLength;if(y.isArrayBufferView(w)||y.isArrayBuffer(w))return w.byteLength;if(y.isURLSearchParams(w)&&(w=w+""),y.isString(w))return(await f(w)).byteLength},b=async(w,O)=>{const T=y.toFiniteNumber(w.getContentLength());return T??_(O)};return async w=>{let{url:O,method:T,data:x,signal:k,cancelToken:Z,timeout:X,onDownloadProgress:K,onUploadProgress:F,responseType:V,headers:J,withCredentials:L="same-origin",fetchOptions:Y,maxContentLength:se,maxBodyLength:be}=bc(w);const ee=y.isNumber(se)&&se>-1,z=y.isNumber(be)&&be>-1;let te=s||fetch;V=V?(V+"").toLowerCase():"text";let Se=ch([k,Z&&Z.toAbortSignal()],X),ye=null;const ve=Se&&Se.unsubscribe&&(()=>{Se.unsubscribe()});let Ce;try{if(ee&&typeof O=="string"&&O.startsWith("data:")&&dh(O)>se)throw new U("maxContentLength size of "+se+" exceeded",U.ERR_BAD_RESPONSE,w,ye);if(z&&T!=="get"&&T!=="head"){const P=await b(J,x);if(typeof P=="number"&&isFinite(P)&&P>be)throw new U("Request body larger than maxBodyLength limit",U.ERR_BAD_REQUEST,w,ye)}if(F&&h&&T!=="get"&&T!=="head"&&(Ce=await b(J,x))!==0){let P=new o(O,{method:"POST",body:x,duplex:"half"}),I;if(y.isFormData(x)&&(I=P.headers.get("content-type"))&&J.setContentType(I),P.body){const[j,Q]=si(Ce,gr(oi(F)));x=li(P.body,ci,j,Q)}}y.isString(L)||(L=L?"include":"omit");const he=c&&"credentials"in o.prototype;if(y.isFormData(x)){const P=J.getContentType();P&&/^multipart\/form-data/i.test(P)&&!/boundary=/i.test(P)&&J.delete("content-type")}J.set("User-Agent","axios/"+eo,!1);const Fe={...Y,signal:Se,method:T.toUpperCase(),headers:uc(J.normalize()),body:x,duplex:"half",credentials:he?L:void 0};ye=c&&new o(O,Fe);let Ae=await(c?te(ye,Y):te(O,Fe));if(ee){const P=y.toFiniteNumber(Ae.headers.get("content-length"));if(P!=null&&P>se)throw new U("maxContentLength size of "+se+" exceeded",U.ERR_BAD_RESPONSE,w,ye)}const Te=m&&(V==="stream"||V==="response");if(m&&Ae.body&&(K||ee||Te&&ve)){const P={};["status","statusText","headers"].forEach(g=>{P[g]=Ae[g]});const I=y.toFiniteNumber(Ae.headers.get("content-length")),[j,Q]=K&&si(I,gr(oi(K),!0))||[];let d=0;const p=g=>{if(ee&&(d=g,d>se))throw new U("maxContentLength size of "+se+" exceeded",U.ERR_BAD_RESPONSE,w,ye);j&&j(g)};Ae=new i(li(Ae.body,ci,p,()=>{Q&&Q(),ve&&ve()}),P)}V=V||"text";let E=await R[y.findKey(R,V)||"text"](Ae,w);if(ee&&!m&&!Te){let P;if(E!=null&&(typeof E.byteLength=="number"?P=E.byteLength:typeof E.size=="number"?P=E.size:typeof E=="string"&&(P=typeof r=="function"?new r().encode(E).byteLength:E.length)),typeof P=="number"&&P>se)throw new U("maxContentLength size of "+se+" exceeded",U.ERR_BAD_RESPONSE,w,ye)}return!Te&&ve&&ve(),await new Promise((P,I)=>{yc(P,I,{data:E,headers:He.from(Ae.headers),status:Ae.status,statusText:Ae.statusText,config:w,request:ye})})}catch(he){if(ve&&ve(),Se&&Se.aborted&&Se.reason instanceof U){const Fe=Se.reason;throw Fe.config=w,ye&&(Fe.request=ye),he!==Fe&&(Fe.cause=he),Fe}throw he&&he.name==="TypeError"&&/Load failed|fetch/i.test(he.message)?Object.assign(new U("Network Error",U.ERR_NETWORK,w,ye,he&&he.response),{cause:he.cause||he}):U.from(he,he&&he.code,w,ye,he&&he.response)}}},ph=new Map,Ec=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let i=o.length,l=i,c,u,a=ph;for(;l--;)c=o[l],u=a.get(c),u===void 0&&a.set(c,u=l?new Map:hh(t)),a=u;return u};Ec();const to={http:Ld,xhr:lh,fetch:{get:Ec}};y.forEach(to,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const ui=e=>`- ${e}`,mh=e=>y.isFunction(e)||e===null||e===!1;function gh(e,t){e=y.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let i=0;i`adapter ${c} `+(u===!1?"is not supported by the environment":"is not available in the build"));let l=n?i.length>1?`since : +`+i.map(ui).join(` +`):" "+ui(i[0]):"as no adapter specified";throw new U("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return s}const Rc={getAdapter:gh,adapters:to};function ss(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new zn(null,e)}function fi(e){return ss(e),e.headers=He.from(e.headers),e.data=rs.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Rc.getAdapter(e.adapter||Gn.adapter,e)(e).then(function(r){ss(e),e.response=r;try{r.data=rs.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=He.from(r.headers),r},function(r){if(!gc(r)&&(ss(e),r&&r.response)){e.response=r.response;try{r.response.data=rs.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=He.from(r.response.headers)}return Promise.reject(r)})}const jr={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{jr[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const di={};jr.transitional=function(t,n,r){function s(o,i){return"[Axios v"+eo+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,l)=>{if(t===!1)throw new U(s(i," has been removed"+(n?" in "+n:"")),U.ERR_DEPRECATED);return n&&!di[i]&&(di[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,l):!0}};jr.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function yh(e,t,n){if(typeof e!="object")throw new U("options must be an object",U.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=Object.prototype.hasOwnProperty.call(t,o)?t[o]:void 0;if(i){const l=e[o],c=l===void 0||i(l,o,e);if(c!==!0)throw new U("option "+o+" must be "+c,U.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new U("Unknown option "+o,U.ERR_BAD_OPTION)}}const ir={assertOptions:yh,validators:jr},Je=ir.validators;let zt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ri,response:new ri}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=(()=>{if(!s.stack)return"";const i=s.stack.indexOf(` +`);return i===-1?"":s.stack.slice(i+1)})();try{if(!r.stack)r.stack=o;else if(o){const i=o.indexOf(` +`),l=i===-1?-1:o.indexOf(` +`,i+1),c=l===-1?"":o.slice(l+1);String(r.stack).endsWith(c)||(r.stack+=` +`+o)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Jt(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&ir.assertOptions(r,{silentJSONParsing:Je.transitional(Je.boolean),forcedJSONParsing:Je.transitional(Je.boolean),clarifyTimeoutError:Je.transitional(Je.boolean),legacyInterceptorReqResOrdering:Je.transitional(Je.boolean)},!1),s!=null&&(y.isFunction(s)?n.paramsSerializer={serialize:s}:ir.assertOptions(s,{encode:Je.function,serialize:Je.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ir.assertOptions(n,{baseUrl:Je.spelling("baseURL"),withXsrfToken:Je.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&y.merge(o.common,o[n.method]);o&&y.forEach(["delete","get","head","post","put","patch","query","common"],R=>{delete o[R]}),n.headers=He.concat(i,o);const l=[];let c=!0;this.interceptors.request.forEach(function(_){if(typeof _.runWhen=="function"&&_.runWhen(n)===!1)return;c=c&&_.synchronous;const b=n.transitional||Ys;b&&b.legacyInterceptorReqResOrdering?l.unshift(_.fulfilled,_.rejected):l.push(_.fulfilled,_.rejected)});const u=[];this.interceptors.response.forEach(function(_){u.push(_.fulfilled,_.rejected)});let a,f=0,h;if(!c){const R=[fi.bind(this),void 0];for(R.unshift(...l),R.push(...u),h=R.length,a=Promise.resolve(n);f{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(l=>{r.subscribe(l),o=l}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,l){r.reason||(r.reason=new zn(o,i,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new wc(function(s){t=s}),cancel:t}}};function bh(e){return function(n){return e.apply(null,n)}}function Eh(e){return y.isObject(e)&&e.isAxiosError===!0}const xs={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(xs).forEach(([e,t])=>{xs[t]=e});function Sc(e){const t=new zt(e),n=nc(zt.prototype.request,t);return y.extend(n,zt.prototype,t,{allOwnKeys:!0}),y.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Sc(Jt(e,s))},n}const ge=Sc(Gn);ge.Axios=zt;ge.CanceledError=zn;ge.CancelToken=_h;ge.isCancel=gc;ge.VERSION=eo;ge.toFormData=kr;ge.AxiosError=U;ge.Cancel=ge.CanceledError;ge.all=function(t){return Promise.all(t)};ge.spread=bh;ge.isAxiosError=Eh;ge.mergeConfig=Jt;ge.AxiosHeaders=He;ge.formToJSON=e=>mc(y.isHTMLForm(e)?new FormData(e):e);ge.getAdapter=Rc.getAdapter;ge.HttpStatusCode=xs;ge.default=ge;const{Axios:kp,AxiosError:jp,CanceledError:Hp,isCancel:Vp,CancelToken:qp,VERSION:$p,all:Kp,Cancel:Wp,isAxiosError:Gp,spread:zp,toFormData:Jp,AxiosHeaders:Xp,HttpStatusCode:Qp,formToJSON:Yp,getAdapter:Zp,mergeConfig:em,create:tm}=ge,qt=ge.create({baseURL:"/api",headers:{"Content-Type":"application/json"}});qt.interceptors.request.use(e=>{const t=localStorage.getItem("access_token");return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e));qt.interceptors.response.use(e=>e,async e=>{var n;const t=e.config;if(((n=e.response)==null?void 0:n.status)===401&&!t._retry){t._retry=!0;const r=localStorage.getItem("refresh_token");if(r)try{const s=await ge.post("/api/auth/refresh",{refresh_token:r}),{access_token:o,refresh_token:i}=s.data.data;return localStorage.setItem("access_token",o),localStorage.setItem("refresh_token",i),t.headers.Authorization=`Bearer ${o}`,qt(t)}catch(s){return localStorage.clear(),window.location.href="/login",Promise.reject(s)}}return Promise.reject(e)});const vc=Nf("auth",()=>{const e=nn(null),t=nn(null),n=nn(localStorage.getItem("access_token")||null),r=nn(localStorage.getItem("refresh_token")||null),s=Ie(()=>!!n.value),o=Ie(()=>{var h;return((h=e.value)==null?void 0:h.type)==="platform_admin"}),i=Ie(()=>{var h;return((h=e.value)==null?void 0:h.user_type)==="admin"});async function l(h,m){var R,_;try{const b=await qt.post("/auth/login",{email:h,password:m}),{data:w}=b.data;return n.value=w.access_token,r.value=w.refresh_token,localStorage.setItem("access_token",w.access_token),localStorage.setItem("refresh_token",w.refresh_token),await u(),{success:!0}}catch(b){return{success:!1,message:((_=(R=b.response)==null?void 0:R.data)==null?void 0:_.message)||"Login failed"}}}async function c(h){var m,R,_,b;try{return{success:!0,data:(await qt.post("/auth/register",h)).data.data}}catch(w){return{success:!1,message:((R=(m=w.response)==null?void 0:m.data)==null?void 0:R.message)||"Registration failed",errors:((b=(_=w.response)==null?void 0:_.data)==null?void 0:b.errors)||{}}}}async function u(){try{const h=await qt.get("/auth/me");e.value=h.data.data,e.value.tenant_id&&(t.value={id:e.value.tenant_id,name:e.value.tenant_name,slug:e.value.tenant_slug,status:e.value.tenant_status,primary_color:e.value.primary_color,secondary_color:e.value.secondary_color})}catch(h){console.error("Failed to fetch user:",h),f()}}async function a(){if(!r.value)return!1;try{const h=await qt.post("/auth/refresh",{refresh_token:r.value}),{data:m}=h.data;return n.value=m.access_token,r.value=m.refresh_token,localStorage.setItem("access_token",m.access_token),localStorage.setItem("refresh_token",m.refresh_token),!0}catch{return f(),!1}}function f(){e.value=null,t.value=null,n.value=null,r.value=null,localStorage.removeItem("access_token"),localStorage.removeItem("refresh_token")}return n.value&&u(),{user:e,tenant:t,accessToken:n,refreshToken:r,isAuthenticated:s,isPlatformAdmin:o,isTenantAdmin:i,login:l,register:c,fetchUser:u,refreshAccessToken:a,logout:f}}),Rh={__name:"App",setup(e){const t=vc(),n=Ie(()=>t.tenant?{"--color-primary":t.tenant.primary_color||"#2563eb","--color-secondary":t.tenant.secondary_color||"#64748b"}:{});return(r,s)=>{const o=za("router-view");return bs(),Su("div",{id:"app",style:vr(n.value)},[Le(o,null,{default:hs(({Component:i})=>[Le($u,{name:"fade",mode:"out-in"},{default:hs(()=>[(bs(),$l(Ja(i)))]),_:2},1024)]),_:1})],4)}}},wh="modulepreload",Sh=function(e){return"/"+e},hi={},Oe=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.allSettled(n.map(c=>{if(c=Sh(c),c in hi)return;hi[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":wh,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return s.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const tn=typeof document<"u";function Ac(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function vh(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ac(e.default)}const oe=Object.assign;function os(e,t){const n={};for(const r in t){const s=t[r];n[r]=nt(s)?s.map(e):e(s)}return n}const Nn=()=>{},nt=Array.isArray;function pi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Oc=/#/g,Ah=/&/g,Oh=/\//g,Ch=/=/g,xh=/\?/g,Cc=/\+/g,Th=/%5B/g,Ph=/%5D/g,xc=/%5E/g,Nh=/%60/g,Tc=/%7B/g,Ih=/%7C/g,Pc=/%7D/g,Dh=/%20/g;function no(e){return e==null?"":encodeURI(""+e).replace(Ih,"|").replace(Th,"[").replace(Ph,"]")}function Lh(e){return no(e).replace(Tc,"{").replace(Pc,"}").replace(xc,"^")}function Ts(e){return no(e).replace(Cc,"%2B").replace(Dh,"+").replace(Oc,"%23").replace(Ah,"%26").replace(Nh,"`").replace(Tc,"{").replace(Pc,"}").replace(xc,"^")}function Fh(e){return Ts(e).replace(Ch,"%3D")}function Mh(e){return no(e).replace(Oc,"%23").replace(xh,"%3F")}function Bh(e){return Mh(e).replace(Oh,"%2F")}function kn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Uh=/\/$/,kh=e=>e.replace(Uh,"");function is(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),o=t.slice(c,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=qh(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:kn(i)}}function jh(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function mi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Hh(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&un(t.matched[r],n.matched[s])&&Nc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function un(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Nc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Vh(e[n],t[n]))return!1;return!0}function Vh(e,t){return nt(e)?gi(e,t):nt(t)?gi(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function gi(e,t){return nt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function qh(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const Tt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ps=function(e){return e.pop="pop",e.push="push",e}({}),ls=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function $h(e){if(!e)if(tn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),kh(e)}const Kh=/^[^#]+#/;function Wh(e,t){return e.replace(Kh,"#")+t}function Gh(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Hr=()=>({left:window.scrollX,top:window.scrollY});function zh(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Gh(s,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 yi(e,t){return(history.state?history.state.position-t:-1)+e}const Ns=new Map;function Jh(e,t){Ns.set(e,t)}function Xh(e){const t=Ns.get(e);return Ns.delete(e),t}function Qh(e){return typeof e=="string"||e&&typeof e=="object"}function Ic(e){return typeof e=="string"||typeof e=="symbol"}let pe=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const Dc=Symbol("");pe.MATCHER_NOT_FOUND+"",pe.NAVIGATION_GUARD_REDIRECT+"",pe.NAVIGATION_ABORTED+"",pe.NAVIGATION_CANCELLED+"",pe.NAVIGATION_DUPLICATED+"";function fn(e,t){return oe(new Error,{type:e,[Dc]:!0},t)}function yt(e,t){return e instanceof Error&&Dc in e&&(t==null||!!(e.type&t))}const Yh=["params","query","hash"];function Zh(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Yh)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function ep(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Ts(s)):[r&&Ts(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function tp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=nt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const np=Symbol(""),bi=Symbol(""),Vr=Symbol(""),ro=Symbol(""),Is=Symbol("");function bn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function It(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,c)=>{const u=h=>{h===!1?c(fn(pe.NAVIGATION_ABORTED,{from:n,to:t})):h instanceof Error?c(h):Qh(h)?c(fn(pe.NAVIGATION_GUARD_REDIRECT,{from:t,to:h})):(i&&r.enterCallbacks[s]===i&&typeof h=="function"&&i.push(h),l())},a=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(a);e.length<3&&(f=f.then(u)),f.catch(h=>c(h))})}function cs(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Ac(c)){const u=(c.__vccOpts||c)[t];u&&o.push(It(u,n,r,i,l,s))}else{let u=c();o.push(()=>u.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=vh(a)?a.default:a;i.mods[l]=a,i.components[l]=f;const h=(f.__vccOpts||f)[t];return h&&It(h,n,r,i,l,s)()}))}}return o}function rp(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iun(u,l))?r.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(u=>un(u,c))||s.push(c))}return[n,r,s]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let sp=()=>location.protocol+"//"+location.host;function Lc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),mi(l,"")}return mi(n,e)+r+s}function op(e,t,n,r){let s=[],o=[],i=null;const l=({state:h})=>{const m=Lc(e,location),R=n.value,_=t.value;let b=0;if(h){if(n.value=m,t.value=h,i&&i===R){i=null;return}b=_?h.position-_.position:0}else r(m);s.forEach(w=>{w(n.value,R,{delta:b,type:Ps.pop,direction:b?b>0?ls.forward:ls.back:ls.unknown})})};function c(){i=n.value}function u(h){s.push(h);const m=()=>{const R=s.indexOf(h);R>-1&&s.splice(R,1)};return o.push(m),m}function a(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(oe({},h.state,{scroll:Hr()}),"")}}function f(){for(const h of o)h();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",a),document.removeEventListener("visibilitychange",a)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",a),document.addEventListener("visibilitychange",a),{pauseListeners:c,listen:u,destroy:f}}function Ei(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Hr():null}}function ip(e){const{history:t,location:n}=window,r={value:Lc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,u,a){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:sp()+e+c;try{t[a?"replaceState":"pushState"](u,"",h),s.value=u}catch(m){console.error(m),n[a?"replace":"assign"](h)}}function i(c,u){o(c,oe({},t.state,Ei(s.value.back,c,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=c}function l(c,u){const a=oe({},s.value,t.state,{forward:c,scroll:Hr()});o(a.current,a,!0),o(c,oe({},Ei(r.value,c,null),{position:a.position+1},u),!1),r.value=c}return{location:r,state:s,push:l,replace:i}}function lp(e){e=$h(e);const t=ip(e),n=op(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Wh.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let $t=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Ee=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(Ee||{});const cp={type:$t.Static,value:""},ap=/[a-zA-Z0-9_]/;function up(e){if(!e)return[[]];if(e==="/")return[[cp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=Ee.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,c,u="",a="";function f(){u&&(n===Ee.Static?o.push({type:$t.Static,value:u}):n===Ee.Param||n===Ee.ParamRegExp||n===Ee.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:$t.Param,value:u,regexp:a,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=c}for(;lt.length?t.length===1&&t[0]===Be.Static+Be.Segment?1:-1:0}function Fc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const mp={strict:!1,end:!0,sensitive:!1};function gp(e,t,n){const r=hp(up(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function yp(e,t){const n=[],r=new Map;t=pi(mp,t);function s(f){return r.get(f)}function o(f,h,m){const R=!m,_=vi(f);_.aliasOf=m&&m.record;const b=pi(t,f),w=[_];if("alias"in f){const x=typeof f.alias=="string"?[f.alias]:f.alias;for(const k of x)w.push(vi(oe({},_,{components:m?m.record.components:_.components,path:k,aliasOf:m?m.record:_})))}let O,T;for(const x of w){const{path:k}=x;if(h&&k[0]!=="/"){const Z=h.record.path,X=Z[Z.length-1]==="/"?"":"/";x.path=h.record.path+(k&&X+k)}if(O=gp(x,h,b),m?m.alias.push(O):(T=T||O,T!==O&&T.alias.push(O),R&&f.name&&!Ai(O)&&i(f.name)),Mc(O)&&c(O),_.children){const Z=_.children;for(let X=0;X{i(T)}:Nn}function i(f){if(Ic(f)){const h=r.get(f);h&&(r.delete(f),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(f);h>-1&&(n.splice(h,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function c(f){const h=Ep(f,n);n.splice(h,0,f),f.record.name&&!Ai(f)&&r.set(f.record.name,f)}function u(f,h){let m,R={},_,b;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw fn(pe.MATCHER_NOT_FOUND,{location:f});b=m.record.name,R=oe(Si(h.params,m.keys.filter(T=>!T.optional).concat(m.parent?m.parent.keys.filter(T=>T.optional):[]).map(T=>T.name)),f.params&&Si(f.params,m.keys.map(T=>T.name))),_=m.stringify(R)}else if(f.path!=null)_=f.path,m=n.find(T=>T.re.test(_)),m&&(R=m.parse(_),b=m.record.name);else{if(m=h.name?r.get(h.name):n.find(T=>T.re.test(h.path)),!m)throw fn(pe.MATCHER_NOT_FOUND,{location:f,currentLocation:h});b=m.record.name,R=oe({},h.params,f.params),_=m.stringify(R)}const w=[];let O=m;for(;O;)w.unshift(O.record),O=O.parent;return{name:b,path:_,params:R,matched:w,meta:bp(w)}}e.forEach(f=>o(f));function a(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:a,getRoutes:l,getRecordMatcher:s}}function Si(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:_p(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 _p(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ai(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function bp(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function Ep(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Fc(e,t[o])<0?r=o:n=o+1}const s=Rp(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Rp(e){let t=e;for(;t=t.parent;)if(Mc(t)&&Fc(e,t)===0)return t}function Mc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Oi(e){const t=Xe(Vr),n=Xe(ro),r=Ie(()=>{const c=Wt(e.to);return t.resolve(c)}),s=Ie(()=>{const{matched:c}=r.value,{length:u}=c,a=c[u-1],f=n.matched;if(!a||!f.length)return-1;const h=f.findIndex(un.bind(null,a));if(h>-1)return h;const m=Ci(c[u-2]);return u>1&&Ci(a)===m&&f[f.length-1].path!==m?f.findIndex(un.bind(null,c[u-2])):h}),o=Ie(()=>s.value>-1&&Op(n.params,r.value.params)),i=Ie(()=>s.value>-1&&s.value===n.matched.length-1&&Nc(n.params,r.value.params));function l(c={}){if(Ap(c)){const u=t[Wt(e.replace)?"replace":"push"](Wt(e.to)).catch(Nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:Ie(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function wp(e){return e.length===1?e[0]:e}const Sp=yl({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"},viewTransition:Boolean},useLink:Oi,setup(e,{slots:t}){const n=Hn(Oi(e)),{options:r}=Xe(Vr),s=Ie(()=>({[xi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&wp(t.default(n));return e.custom?o:Js("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),vp=Sp;function Ap(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 Op(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!nt(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Ci(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xi=(e,t,n)=>e??t??n,Cp=yl({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Xe(Is),s=Ie(()=>e.route||r.value),o=Xe(bi,0),i=Ie(()=>{let u=Wt(o);const{matched:a}=s.value;let f;for(;(f=a[u])&&!f.components;)u++;return u}),l=Ie(()=>s.value.matched[i.value]);tr(bi,Ie(()=>i.value+1)),tr(np,l),tr(Is,s);const c=nn();return An(()=>[c.value,l.value,e.name],([u,a,f],[h,m,R])=>{a&&(a.instances[f]=u,m&&m!==a&&u&&u===h&&(a.leaveGuards.size||(a.leaveGuards=m.leaveGuards),a.updateGuards.size||(a.updateGuards=m.updateGuards))),u&&a&&(!m||!un(a,m)||!h)&&(a.enterCallbacks[f]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=s.value,a=e.name,f=l.value,h=f&&f.components[a];if(!h)return Ti(n.default,{Component:h,route:u});const m=f.props[a],R=m?m===!0?u.params:typeof m=="function"?m(u):m:null,b=Js(h,oe({},R,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(f.instances[a]=null)},ref:c}));return Ti(n.default,{Component:b,route:u})||b}}});function Ti(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const xp=Cp;function Tp(e){const t=yp(e.routes,e),n=e.parseQuery||ep,r=e.stringifyQuery||_i,s=e.history,o=bn(),i=bn(),l=bn(),c=ya(Tt);let u=Tt;tn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=os.bind(null,E=>""+E),f=os.bind(null,Bh),h=os.bind(null,kn);function m(E,P){let I,j;return Ic(E)?(I=t.getRecordMatcher(E),j=P):j=E,t.addRoute(j,I)}function R(E){const P=t.getRecordMatcher(E);P&&t.removeRoute(P)}function _(){return t.getRoutes().map(E=>E.record)}function b(E){return!!t.getRecordMatcher(E)}function w(E,P){if(P=oe({},P||c.value),typeof E=="string"){const g=is(n,E,P.path),S=t.resolve({path:g.path},P),A=s.createHref(g.fullPath);return oe(g,S,{params:h(S.params),hash:kn(g.hash),redirectedFrom:void 0,href:A})}let I;if(E.path!=null)I=oe({},E,{path:is(n,E.path,P.path).path});else{const g=oe({},E.params);for(const S in g)g[S]==null&&delete g[S];I=oe({},E,{params:f(g)}),P.params=f(P.params)}const j=t.resolve(I,P),Q=E.hash||"";j.params=a(h(j.params));const d=jh(r,oe({},E,{hash:Lh(Q),path:j.path})),p=s.createHref(d);return oe({fullPath:d,hash:Q,query:r===_i?tp(E.query):E.query||{}},j,{redirectedFrom:void 0,href:p})}function O(E){return typeof E=="string"?is(n,E,c.value.path):oe({},E)}function T(E,P){if(u!==E)return fn(pe.NAVIGATION_CANCELLED,{from:P,to:E})}function x(E){return X(E)}function k(E){return x(oe(O(E),{replace:!0}))}function Z(E,P){const I=E.matched[E.matched.length-1];if(I&&I.redirect){const{redirect:j}=I;let Q=typeof j=="function"?j(E,P):j;return typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=O(Q):{path:Q},Q.params={}),oe({query:E.query,hash:E.hash,params:Q.path!=null?{}:E.params},Q)}}function X(E,P){const I=u=w(E),j=c.value,Q=E.state,d=E.force,p=E.replace===!0,g=Z(I,j);if(g)return X(oe(O(g),{state:typeof g=="object"?oe({},Q,g.state):Q,force:d,replace:p}),P||I);const S=I;S.redirectedFrom=P;let A;return!d&&Hh(r,j,I)&&(A=fn(pe.NAVIGATION_DUPLICATED,{to:S,from:j}),ve(j,j,!0,!1)),(A?Promise.resolve(A):V(S,j)).catch(v=>yt(v)?yt(v,pe.NAVIGATION_GUARD_REDIRECT)?v:ye(v):te(v,S,j)).then(v=>{if(v){if(yt(v,pe.NAVIGATION_GUARD_REDIRECT))return X(oe({replace:p},O(v.to),{state:typeof v.to=="object"?oe({},Q,v.to.state):Q,force:d}),P||S)}else v=L(S,j,!0,p,Q);return J(S,j,v),v})}function K(E,P){const I=T(E,P);return I?Promise.reject(I):Promise.resolve()}function F(E){const P=Fe.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(E):E()}function V(E,P){let I;const[j,Q,d]=rp(E,P);I=cs(j.reverse(),"beforeRouteLeave",E,P);for(const g of j)g.leaveGuards.forEach(S=>{I.push(It(S,E,P))});const p=K.bind(null,E,P);return I.push(p),Te(I).then(()=>{I=[];for(const g of o.list())I.push(It(g,E,P));return I.push(p),Te(I)}).then(()=>{I=cs(Q,"beforeRouteUpdate",E,P);for(const g of Q)g.updateGuards.forEach(S=>{I.push(It(S,E,P))});return I.push(p),Te(I)}).then(()=>{I=[];for(const g of d)if(g.beforeEnter)if(nt(g.beforeEnter))for(const S of g.beforeEnter)I.push(It(S,E,P));else I.push(It(g.beforeEnter,E,P));return I.push(p),Te(I)}).then(()=>(E.matched.forEach(g=>g.enterCallbacks={}),I=cs(d,"beforeRouteEnter",E,P,F),I.push(p),Te(I))).then(()=>{I=[];for(const g of i.list())I.push(It(g,E,P));return I.push(p),Te(I)}).catch(g=>yt(g,pe.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function J(E,P,I){l.list().forEach(j=>F(()=>j(E,P,I)))}function L(E,P,I,j,Q){const d=T(E,P);if(d)return d;const p=P===Tt,g=tn?history.state:{};I&&(j||p?s.replace(E.fullPath,oe({scroll:p&&g&&g.scroll},Q)):s.push(E.fullPath,Q)),c.value=E,ve(E,P,I,p),ye()}let Y;function se(){Y||(Y=s.listen((E,P,I)=>{if(!Ae.listening)return;const j=w(E),Q=Z(j,Ae.currentRoute.value);if(Q){X(oe(Q,{replace:!0,force:!0}),j).catch(Nn);return}u=j;const d=c.value;tn&&Jh(yi(d.fullPath,I.delta),Hr()),V(j,d).catch(p=>yt(p,pe.NAVIGATION_ABORTED|pe.NAVIGATION_CANCELLED)?p:yt(p,pe.NAVIGATION_GUARD_REDIRECT)?(X(oe(O(p.to),{force:!0}),j).then(g=>{yt(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&!I.delta&&I.type===Ps.pop&&s.go(-1,!1)}).catch(Nn),Promise.reject()):(I.delta&&s.go(-I.delta,!1),te(p,j,d))).then(p=>{p=p||L(j,d,!1),p&&(I.delta&&!yt(p,pe.NAVIGATION_CANCELLED)?s.go(-I.delta,!1):I.type===Ps.pop&&yt(p,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),J(j,d,p)}).catch(Nn)}))}let be=bn(),ee=bn(),z;function te(E,P,I){ye(E);const j=ee.list();return j.length?j.forEach(Q=>Q(E,P,I)):console.error(E),Promise.reject(E)}function Se(){return z&&c.value!==Tt?Promise.resolve():new Promise((E,P)=>{be.add([E,P])})}function ye(E){return z||(z=!E,se(),be.list().forEach(([P,I])=>E?I(E):P()),be.reset()),E}function ve(E,P,I,j){const{scrollBehavior:Q}=e;if(!tn||!Q)return Promise.resolve();const d=!I&&Xh(yi(E.fullPath,0))||(j||!I)&&history.state&&history.state.scroll||null;return xr().then(()=>Q(E,P,d)).then(p=>p&&zh(p)).catch(p=>te(p,E,P))}const Ce=E=>s.go(E);let he;const Fe=new Set,Ae={currentRoute:c,listening:!0,addRoute:m,removeRoute:R,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:_,resolve:w,options:e,push:x,replace:k,go:Ce,back:()=>Ce(-1),forward:()=>Ce(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ee.add,isReady:Se,install(E){E.component("RouterLink",vp),E.component("RouterView",xp),E.config.globalProperties.$router=Ae,Object.defineProperty(E.config.globalProperties,"$route",{enumerable:!0,get:()=>Wt(c)}),tn&&!he&&c.value===Tt&&(he=!0,x(s.location).catch(j=>{}));const P={};for(const j in Tt)Object.defineProperty(P,j,{get:()=>c.value[j],enumerable:!0});E.provide(Vr,Ae),E.provide(ro,tl(P)),E.provide(Is,c);const I=E.unmount;Fe.add(E),E.unmount=function(){Fe.delete(E),Fe.size<1&&(u=Tt,Y&&Y(),Y=null,c.value=Tt,he=!1,z=!1),I()}}};function Te(E){return E.reduce((P,I)=>P.then(()=>F(I)),Promise.resolve())}return Ae}function nm(){return Xe(Vr)}function rm(e){return Xe(ro)}const Pp=[{path:"/",redirect:"/dashboard"},{path:"/login",name:"Login",component:()=>Oe(()=>import("./Login-fU5wXJUp.js"),[]),meta:{guest:!0}},{path:"/register",name:"Register",component:()=>Oe(()=>import("./Register-Dtyvn1Yy.js"),[]),meta:{guest:!0}},{path:"/forgot-password",name:"ForgotPassword",component:()=>Oe(()=>import("./ForgotPassword-BnefAgO5.js"),[]),meta:{guest:!0}},{path:"/dashboard",name:"Dashboard",component:()=>Oe(()=>import("./Dashboard-DUl1_Jl9.js"),[]),meta:{requiresAuth:!0}},{path:"/admin/tenants",name:"Tenants",component:()=>Oe(()=>import("./Tenants-oNbkI0ZB.js"),[]),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/admin/tenants/:id",name:"TenantEdit",component:()=>Oe(()=>import("./TenantEdit-TJEJ_0TK.js"),[]),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/admin/modules",name:"Modules",component:()=>Oe(()=>import("./Modules-XFzn2DhG.js"),__vite__mapDeps([0,1])),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/admin/audit-logs",name:"AuditLogs",component:()=>Oe(()=>import("./AuditLogs-rWevo39c.js"),__vite__mapDeps([2,1])),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/admin/invoices",name:"Invoices",component:()=>Oe(()=>import("./Invoices-DPbiN6Xy.js"),__vite__mapDeps([3,1])),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/admin/admins",name:"PlatformAdmins",component:()=>Oe(()=>import("./PlatformAdmins-BsfJuUAN.js"),__vite__mapDeps([4,1])),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/branches",name:"Branches",component:()=>Oe(()=>import("./Branches-s_BK2cgz.js"),__vite__mapDeps([5,1])),meta:{requiresAuth:!0,module:"office"}},{path:"/users",name:"Users",component:()=>Oe(()=>import("./Users-UfUrkk1j.js"),__vite__mapDeps([6,1])),meta:{requiresAuth:!0,module:"office"}},{path:"/calendar",name:"Calendar",component:()=>Oe(()=>import("./Calendar-B7rUkOeg.js"),__vite__mapDeps([7,1])),meta:{requiresAuth:!0,module:"calendar"}},{path:"/messenger",name:"Messenger",component:()=>Oe(()=>import("./Messenger-DL4jJcTI.js"),__vite__mapDeps([8,1])),meta:{requiresAuth:!0,module:"messenger"}},{path:"/learning",name:"Learning",component:()=>Oe(()=>import("./Learning-C1i3Orm8.js"),__vite__mapDeps([9,1])),meta:{requiresAuth:!0,module:["learning_blank","learning_premium"]}},{path:"/files",name:"Files",component:()=>Oe(()=>import("./Files-BvF-O0NH.js"),__vite__mapDeps([10,1])),meta:{requiresAuth:!0,module:"office"}},{path:"/branding",name:"Branding",component:()=>Oe(()=>import("./Branding-D61QMGtV.js"),__vite__mapDeps([11,1])),meta:{requiresAuth:!0,adminOnly:!0}},{path:"/:pathMatch(.*)*",name:"NotFound",component:()=>Oe(()=>import("./NotFound-CXY4AhOb.js"),__vite__mapDeps([12,1]))}],Bc=Tp({history:lp(),routes:Pp});Bc.beforeEach((e,t,n)=>{const r=vc();if(e.meta.requiresAuth&&!r.isAuthenticated){n({name:"Login",query:{redirect:e.fullPath}});return}if(e.meta.adminOnly&&!r.isPlatformAdmin){n({name:"Dashboard"});return}if(e.meta.guest&&r.isAuthenticated){n({name:"Dashboard"});return}n()});const so=wf(Rh);so.use(Af());so.use(Bc);so.mount("#app");export{Np as A,Fp as B,ft as F,qt as a,Wl as b,Ie as c,$l as d,Cu as e,Su as f,Dp as g,Ou as h,Le as i,bs as j,nn as k,Ip as l,za as m,Fs as n,El as o,vc as p,rm as q,Hn as r,nm as s,Xc as t,Wt as u,pf as v,Lp as w,gf as x,Go as y,hs as z}; diff --git a/www/fahrschuldesk.de/dist/assets/index-DnvNyrEP.css b/www/fahrschuldesk.de/dist/assets/index-DnvNyrEP.css new file mode 100644 index 0000000..038d593 --- /dev/null +++ b/www/fahrschuldesk.de/dist/assets/index-DnvNyrEP.css @@ -0,0 +1 @@ +#app{min-height:100vh;background-color:#f8fafc}@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary: #2563eb;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-secondary: #64748b;--color-secondary-500: #64748b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease,opacity .3s ease}.slide-enter-from{transform:translate(-20px);opacity:0}.slide-leave-to{transform:translate(20px);opacity:0} diff --git a/www/fahrschuldesk.de/dist/index.html b/www/fahrschuldesk.de/dist/index.html new file mode 100644 index 0000000..560935f --- /dev/null +++ b/www/fahrschuldesk.de/dist/index.html @@ -0,0 +1,18 @@ + + + + + + + + fahrschuldesk + + + + + + + +
+ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/package-lock.json b/www/fahrschuldesk.de/package-lock.json new file mode 100644 index 0000000..c6f96a9 --- /dev/null +++ b/www/fahrschuldesk.de/package-lock.json @@ -0,0 +1,2498 @@ +{ + "name": "fahrschuldesk-ui", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fahrschuldesk-ui", + "version": "0.1.0", + "dependencies": { + "axios": "^1.6.0", + "pinia": "^2.1.0", + "vue": "^3.4.0", + "vue-router": "^4.3.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.0", + "autoprefixer": "^10.4.0", + "postcss": "^8.4.0", + "tailwindcss": "^3.4.0", + "vite": "^5.0.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "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.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", + "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", + "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", + "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", + "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", + "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", + "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", + "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", + "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", + "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", + "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", + "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", + "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", + "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", + "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", + "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", + "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", + "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", + "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", + "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", + "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", + "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", + "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", + "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.34.tgz", + "integrity": "sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.34", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.34.tgz", + "integrity": "sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==", + "dependencies": { + "@vue/compiler-core": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.34.tgz", + "integrity": "sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.34", + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.14", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.34.tgz", + "integrity": "sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, + "node_modules/@vue/reactivity": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.34.tgz", + "integrity": "sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==", + "dependencies": { + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.34.tgz", + "integrity": "sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.34.tgz", + "integrity": "sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/runtime-core": "3.5.34", + "@vue/shared": "3.5.34", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.34.tgz", + "integrity": "sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==", + "dependencies": { + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "vue": "3.5.34" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.34.tgz", + "integrity": "sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/autoprefixer": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz", + "integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz", + "integrity": "sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==", + "dev": true, + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.357", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.357.tgz", + "integrity": "sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==", + "dev": true + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "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/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.44", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.44.tgz", + "integrity": "sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinia": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.34.tgz", + "integrity": "sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-sfc": "3.5.34", + "@vue/runtime-dom": "3.5.34", + "@vue/server-renderer": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + } + } +} diff --git a/www/fahrschuldesk.de/src/views/admin/AuditLogs.vue b/www/fahrschuldesk.de/src/views/admin/AuditLogs.vue new file mode 100644 index 0000000..e7506dd --- /dev/null +++ b/www/fahrschuldesk.de/src/views/admin/AuditLogs.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/admin/Invoices.vue b/www/fahrschuldesk.de/src/views/admin/Invoices.vue new file mode 100644 index 0000000..30bfe7e --- /dev/null +++ b/www/fahrschuldesk.de/src/views/admin/Invoices.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/admin/Modules.vue b/www/fahrschuldesk.de/src/views/admin/Modules.vue new file mode 100644 index 0000000..7667544 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/admin/Modules.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/admin/PlatformAdmins.vue b/www/fahrschuldesk.de/src/views/admin/PlatformAdmins.vue new file mode 100644 index 0000000..77ec107 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/admin/PlatformAdmins.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/admin/TenantEdit.vue b/www/fahrschuldesk.de/src/views/admin/TenantEdit.vue new file mode 100644 index 0000000..b093884 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/admin/TenantEdit.vue @@ -0,0 +1,132 @@ + + + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/student/Dashboard.vue b/www/fahrschuldesk.de/src/views/student/Dashboard.vue new file mode 100644 index 0000000..34b433f --- /dev/null +++ b/www/fahrschuldesk.de/src/views/student/Dashboard.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/student/Learning.vue b/www/fahrschuldesk.de/src/views/student/Learning.vue new file mode 100644 index 0000000..81bc60a --- /dev/null +++ b/www/fahrschuldesk.de/src/views/student/Learning.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Branches.vue b/www/fahrschuldesk.de/src/views/tenant/Branches.vue new file mode 100644 index 0000000..ea35216 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Branches.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Branding.vue b/www/fahrschuldesk.de/src/views/tenant/Branding.vue new file mode 100644 index 0000000..dcca40a --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Branding.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Calendar.vue b/www/fahrschuldesk.de/src/views/tenant/Calendar.vue new file mode 100644 index 0000000..b3a9d46 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Calendar.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Files.vue b/www/fahrschuldesk.de/src/views/tenant/Files.vue new file mode 100644 index 0000000..abf0afe --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Files.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Learning.vue b/www/fahrschuldesk.de/src/views/tenant/Learning.vue new file mode 100644 index 0000000..4021ddd --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Learning.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Messenger.vue b/www/fahrschuldesk.de/src/views/tenant/Messenger.vue new file mode 100644 index 0000000..75238ce --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Messenger.vue @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/www/fahrschuldesk.de/src/views/tenant/Users.vue b/www/fahrschuldesk.de/src/views/tenant/Users.vue new file mode 100644 index 0000000..5703956 --- /dev/null +++ b/www/fahrschuldesk.de/src/views/tenant/Users.vue @@ -0,0 +1,8 @@ + \ No newline at end of file