diff --git a/.github/assets/dashboard-conditions.jpg b/.github/assets/dashboard-conditions.jpg new file mode 100644 index 00000000..76bb5666 Binary files /dev/null and b/.github/assets/dashboard-conditions.jpg differ diff --git a/.github/assets/dashboard-conditions.png b/.github/assets/dashboard-conditions.png deleted file mode 100644 index cffafbcc..00000000 Binary files a/.github/assets/dashboard-conditions.png and /dev/null differ diff --git a/.github/assets/dashboard-dark.jpg b/.github/assets/dashboard-dark.jpg new file mode 100644 index 00000000..46f41077 Binary files /dev/null and b/.github/assets/dashboard-dark.jpg differ diff --git a/.github/assets/dashboard-dark.png b/.github/assets/dashboard-dark.png deleted file mode 100644 index 22c303d9..00000000 Binary files a/.github/assets/dashboard-dark.png and /dev/null differ diff --git a/.github/assets/endpoint-groups.jpg b/.github/assets/endpoint-groups.jpg new file mode 100644 index 00000000..c6947276 Binary files /dev/null and b/.github/assets/endpoint-groups.jpg differ diff --git a/.github/assets/endpoint-groups.png b/.github/assets/endpoint-groups.png deleted file mode 100644 index 25d34ce0..00000000 Binary files a/.github/assets/endpoint-groups.png and /dev/null differ diff --git a/.github/assets/example.jpg b/.github/assets/example.jpg new file mode 100644 index 00000000..3338f869 Binary files /dev/null and b/.github/assets/example.jpg differ diff --git a/.github/assets/example.png b/.github/assets/example.png deleted file mode 100644 index 8196dfc0..00000000 Binary files a/.github/assets/example.png and /dev/null differ diff --git a/README.md b/README.md index cbd731d3..92ea4bf8 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ For more details, see [Usage](#usage) > ❤ Like this project? Please consider [sponsoring me](https://github.com/sponsors/TwiN). -![Gatus dashboard](.github/assets/dashboard-dark.png) +![Gatus dashboard](.github/assets/dashboard-dark.jpg) Have any feedback or questions? [Create a discussion](https://github.com/TwiN/gatus/discussions/new). @@ -162,7 +162,7 @@ The main features of Gatus are: - **[Badges](#badges)**: ![Uptime 7d](https://status.twin.sh/api/v1/endpoints/core_blog-external/uptimes/7d/badge.svg) ![Response time 24h](https://status.twin.sh/api/v1/endpoints/core_blog-external/response-times/24h/badge.svg) - **Dark mode** -![Gatus dashboard conditions](.github/assets/dashboard-conditions.png) +![Gatus dashboard conditions](.github/assets/dashboard-conditions.jpg) ## Usage @@ -201,7 +201,7 @@ endpoints: This example would look similar to this: -![Simple example](.github/assets/example.png) +![Simple example](.github/assets/example.jpg) By default, the configuration file is expected to be at `config/config.yaml`. @@ -222,34 +222,36 @@ If you want to test it locally, see [Docker](#docker). ## Configuration -| Parameter | Description | Default | -|:-----------------------------|:-------------------------------------------------------------------------------------------------------------------------------------|:---------------------------| -| `metrics` | Whether to expose metrics at `/metrics`. | `false` | -| `storage` | [Storage configuration](#storage). | `{}` | -| `alerting` | [Alerting configuration](#alerting). | `{}` | -| `endpoints` | [Endpoints configuration](#endpoints). | Required `[]` | -| `external-endpoints` | [External Endpoints configuration](#external-endpoints). | `[]` | -| `security` | [Security configuration](#security). | `{}` | -| `disable-monitoring-lock` | Whether to [disable the monitoring lock](#disable-monitoring-lock). | `false` | -| `skip-invalid-config-update` | Whether to ignore invalid configuration update.
See [Reloading configuration on the fly](#reloading-configuration-on-the-fly). | `false` | -| `web` | Web configuration. | `{}` | -| `web.address` | Address to listen on. | `0.0.0.0` | -| `web.port` | Port to listen on. | `8080` | -| `web.read-buffer-size` | Buffer size for reading requests from a connection. Also limit for the maximum header size. | `8192` | -| `web.tls.certificate-file` | Optional public certificate file for TLS in PEM format. | `` | -| `web.tls.private-key-file` | Optional private key file for TLS in PEM format. | `` | -| `ui` | UI configuration. | `{}` | -| `ui.title` | [Title of the document](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title). | `Health Dashboard ǀ Gatus` | -| `ui.description` | Meta description for the page. | `Gatus is an advanced...`. | -| `ui.header` | Header at the top of the dashboard. | `Health Status` | -| `ui.logo` | URL to the logo to display. | `""` | -| `ui.link` | Link to open when the logo is clicked. | `""` | -| `ui.buttons` | List of buttons to display below the header. | `[]` | -| `ui.buttons[].name` | Text to display on the button. | Required `""` | -| `ui.buttons[].link` | Link to open when the button is clicked. | Required `""` | -| `ui.custom-css` | Custom CSS | `""` | -| `ui.dark-mode` | Whether to enable dark mode by default. Note that this is superseded by the user's operating system theme preferences. | `true` | -| `maintenance` | [Maintenance configuration](#maintenance). | `{}` | +| Parameter | Description | Default | +|:-----------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------| +| `metrics` | Whether to expose metrics at `/metrics`. | `false` | +| `storage` | [Storage configuration](#storage). | `{}` | +| `alerting` | [Alerting configuration](#alerting). | `{}` | +| `endpoints` | [Endpoints configuration](#endpoints). | Required `[]` | +| `external-endpoints` | [External Endpoints configuration](#external-endpoints). | `[]` | +| `security` | [Security configuration](#security). | `{}` | +| `disable-monitoring-lock` | Whether to [disable the monitoring lock](#disable-monitoring-lock). | `false` | +| `skip-invalid-config-update` | Whether to ignore invalid configuration update.
See [Reloading configuration on the fly](#reloading-configuration-on-the-fly). | `false` | +| `web` | Web configuration. | `{}` | +| `web.address` | Address to listen on. | `0.0.0.0` | +| `web.port` | Port to listen on. | `8080` | +| `web.read-buffer-size` | Buffer size for reading requests from a connection. Also limit for the maximum header size. | `8192` | +| `web.tls.certificate-file` | Optional public certificate file for TLS in PEM format. | `""` | +| `web.tls.private-key-file` | Optional private key file for TLS in PEM format. | `""` | +| `ui` | UI configuration. | `{}` | +| `ui.title` | [Title of the document](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title). | `Health Dashboard ǀ Gatus` | +| `ui.description` | Meta description for the page. | `Gatus is an advanced...`. | +| `ui.header` | Header at the top of the dashboard. | `Gatus` | +| `ui.logo` | URL to the logo to display. | `""` | +| `ui.link` | Link to open when the logo is clicked. | `""` | +| `ui.buttons` | List of buttons to display below the header. | `[]` | +| `ui.buttons[].name` | Text to display on the button. | Required `""` | +| `ui.buttons[].link` | Link to open when the button is clicked. | Required `""` | +| `ui.custom-css` | Custom CSS | `""` | +| `ui.dark-mode` | Whether to enable dark mode by default. Note that this is superseded by the user's operating system theme preferences. | `true` | +| `ui.default-sort-by` | Default sorting option for endpoints in the dashboard. Can be `name`, `group`, or `health`. Note that user preferences override this. | `name` | +| `ui.default-filter-by` | Default filter option for endpoints in the dashboard. Can be `nothing`, `failing`, or `unstable`. Note that user preferences override this. | `nothing` | +| `maintenance` | [Maintenance configuration](#maintenance). | `{}` | If you want more verbose logging, you may set the `GATUS_LOG_LEVEL` environment variable to `DEBUG`. Conversely, if you want less verbose logging, you can set the aforementioned environment variable to `WARN`, `ERROR` or `FATAL`. @@ -289,6 +291,7 @@ You can then configure alerts to be triggered when an endpoint is unhealthy once | `endpoints[].ui.hide-url` | Whether to hide the URL from the results. Useful if the URL contains a token. | `false` | | `endpoints[].ui.dont-resolve-failed-conditions` | Whether to resolve failed conditions for the UI. | `false` | | `endpoints[].ui.badge.response-time` | List of response time thresholds. Each time a threshold is reached, the badge has a different color. | `[50, 200, 300, 500, 750]` | +| `endpoints[].extra-labels` | Extra labels to add to the metrics. Useful for grouping endpoints together. | `{}` | You may use the following placeholders in the body (`endpoints[].body`): - `[ENDPOINT_NAME]` (resolved from `endpoints[].name`) @@ -1966,7 +1969,7 @@ endpoints: - "[STATUS] == 200" - "[BODY].status == UP" - "[RESPONSE_TIME] < 150" - labels: + extra-labels: environment: staging ``` @@ -2431,9 +2434,9 @@ endpoints: - "[STATUS] == 200" ``` -The configuration above will result in a dashboard that looks like this: +The configuration above will result in a dashboard that looks like this when sorting by group: -![Gatus Endpoint Groups](.github/assets/endpoint-groups.png) +![Gatus Endpoint Groups](.github/assets/endpoint-groups.jpg) ### Exposing Gatus on a custom path diff --git a/alerting/provider/matrix/matrix.go b/alerting/provider/matrix/matrix.go index e735d148..9b40c56e 100644 --- a/alerting/provider/matrix/matrix.go +++ b/alerting/provider/matrix/matrix.go @@ -9,7 +9,6 @@ import ( "math/rand" "net/http" "net/url" - "time" "github.com/TwiN/gatus/v5/alerting/alert" "github.com/TwiN/gatus/v5/client" @@ -203,7 +202,6 @@ func randStringBytes(n int) string { // All the compatible characters to use in a transaction ID const availableCharacterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" b := make([]byte, n) - rand.Seed(time.Now().UnixNano()) for i := range b { b[i] = availableCharacterBytes[rand.Intn(len(availableCharacterBytes))] } diff --git a/client/client_test.go b/client/client_test.go index 2e84031a..632a0ec2 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -41,26 +41,26 @@ func TestGetHTTPClient(t *testing.T) { func TestGetDomainExpiration(t *testing.T) { t.Parallel() - if domainExpiration, err := GetDomainExpiration("example.com"); err != nil { + if domainExpiration, err := GetDomainExpiration("gatus.io"); err != nil { t.Fatalf("expected error to be nil, but got: `%s`", err) } else if domainExpiration <= 0 { t.Error("expected domain expiration to be higher than 0") } - if domainExpiration, err := GetDomainExpiration("example.com"); err != nil { + if domainExpiration, err := GetDomainExpiration("gatus.io"); err != nil { t.Errorf("expected error to be nil, but got: `%s`", err) } else if domainExpiration <= 0 { t.Error("expected domain expiration to be higher than 0") } // Hack to pretend like the domain is expiring in 1 hour, which should trigger a refresh - whoisExpirationDateCache.SetWithTTL("example.com", time.Now().Add(time.Hour), 25*time.Hour) - if domainExpiration, err := GetDomainExpiration("example.com"); err != nil { + whoisExpirationDateCache.SetWithTTL("gatus.io", time.Now().Add(time.Hour), 25*time.Hour) + if domainExpiration, err := GetDomainExpiration("gatus.io"); err != nil { t.Errorf("expected error to be nil, but got: `%s`", err) } else if domainExpiration <= 0 { t.Error("expected domain expiration to be higher than 0") } // Make sure the refresh works when the ttl is <24 hours - whoisExpirationDateCache.SetWithTTL("example.com", time.Now().Add(35*time.Hour), 23*time.Hour) - if domainExpiration, err := GetDomainExpiration("example.com"); err != nil { + whoisExpirationDateCache.SetWithTTL("gatus.io", time.Now().Add(35*time.Hour), 23*time.Hour) + if domainExpiration, err := GetDomainExpiration("gatus.io"); err != nil { t.Errorf("expected error to be nil, but got: `%s`", err) } else if domainExpiration <= 0 { t.Error("expected domain expiration to be higher than 0") diff --git a/config.yaml b/config.yaml index f22cf799..f386ea27 100644 --- a/config.yaml +++ b/config.yaml @@ -37,7 +37,7 @@ endpoints: query-name: "example.com" query-type: "A" conditions: - - "[BODY] == 93.184.215.14" + - "[BODY] == pat(*.*.*.*)" # Matches any IPv4 address - "[DNS_RCODE] == NOERROR" - name: icmp-ping diff --git a/config/config.go b/config/config.go index ca5247bb..818cec48 100644 --- a/config/config.go +++ b/config/config.go @@ -6,6 +6,7 @@ import ( "io/fs" "os" "path/filepath" + "sort" "strings" "time" @@ -118,6 +119,9 @@ func (config *Config) GetUniqueExtraMetricLabels() []string { labels = append(labels, label) } } + if len(labels) > 1 { + sort.Strings(labels) + } return labels } diff --git a/config/ui/ui.go b/config/ui/ui.go index cb52662c..3200477b 100644 --- a/config/ui/ui.go +++ b/config/ui/ui.go @@ -12,28 +12,34 @@ import ( const ( defaultTitle = "Health Dashboard | Gatus" defaultDescription = "Gatus is an advanced automated status page that lets you monitor your applications and configure alerts to notify you if there's an issue" - defaultHeader = "Health Status" + defaultHeader = "Gatus" defaultLogo = "" defaultLink = "" defaultCustomCSS = "" + defaultSortBy = "name" + defaultFilterBy = "nothing" ) var ( defaultDarkMode = true ErrButtonValidationFailed = errors.New("invalid button configuration: missing required name or link") + ErrInvalidDefaultSortBy = errors.New("invalid default-sort-by value: must be 'name', 'group', or 'health'") + ErrInvalidDefaultFilterBy = errors.New("invalid default-filter-by value: must be 'nothing', 'failing', or 'unstable'") ) // Config is the configuration for the UI of Gatus type Config struct { - Title string `yaml:"title,omitempty"` // Title of the page - Description string `yaml:"description,omitempty"` // Meta description of the page - Header string `yaml:"header,omitempty"` // Header is the text at the top of the page - Logo string `yaml:"logo,omitempty"` // Logo to display on the page - Link string `yaml:"link,omitempty"` // Link to open when clicking on the logo - Buttons []Button `yaml:"buttons,omitempty"` // Buttons to display below the header - CustomCSS string `yaml:"custom-css,omitempty"` // Custom CSS to include in the page - DarkMode *bool `yaml:"dark-mode,omitempty"` // DarkMode is a flag to enable dark mode by default + Title string `yaml:"title,omitempty"` // Title of the page + Description string `yaml:"description,omitempty"` // Meta description of the page + Header string `yaml:"header,omitempty"` // Header is the text at the top of the page + Logo string `yaml:"logo,omitempty"` // Logo to display on the page + Link string `yaml:"link,omitempty"` // Link to open when clicking on the logo + Buttons []Button `yaml:"buttons,omitempty"` // Buttons to display below the header + CustomCSS string `yaml:"custom-css,omitempty"` // Custom CSS to include in the page + DarkMode *bool `yaml:"dark-mode,omitempty"` // DarkMode is a flag to enable dark mode by default + DefaultSortBy string `yaml:"default-sort-by,omitempty"` // DefaultSortBy is the default sort option ('name', 'group', 'health') + DefaultFilterBy string `yaml:"default-filter-by,omitempty"` // DefaultFilterBy is the default filter option ('nothing', 'failing', 'unstable') ////////////////////////////////////////////// // Non-configurable - used for UI rendering // @@ -72,6 +78,8 @@ func GetDefaultConfig() *Config { Link: defaultLink, CustomCSS: defaultCustomCSS, DarkMode: &defaultDarkMode, + DefaultSortBy: defaultSortBy, + DefaultFilterBy: defaultFilterBy, MaximumNumberOfResults: storage.DefaultMaximumNumberOfResults, } } @@ -99,6 +107,16 @@ func (cfg *Config) ValidateAndSetDefaults() error { if cfg.DarkMode == nil { cfg.DarkMode = &defaultDarkMode } + if len(cfg.DefaultSortBy) == 0 { + cfg.DefaultSortBy = defaultSortBy + } else if cfg.DefaultSortBy != "name" && cfg.DefaultSortBy != "group" && cfg.DefaultSortBy != "health" { + return ErrInvalidDefaultSortBy + } + if len(cfg.DefaultFilterBy) == 0 { + cfg.DefaultFilterBy = defaultFilterBy + } else if cfg.DefaultFilterBy != "nothing" && cfg.DefaultFilterBy != "failing" && cfg.DefaultFilterBy != "unstable" { + return ErrInvalidDefaultFilterBy + } for _, btn := range cfg.Buttons { if err := btn.Validate(); err != nil { return err diff --git a/config/ui/ui_test.go b/config/ui/ui_test.go index 2811157c..4a4e274b 100644 --- a/config/ui/ui_test.go +++ b/config/ui/ui_test.go @@ -1,6 +1,7 @@ package ui import ( + "errors" "strconv" "testing" ) @@ -25,6 +26,12 @@ func TestConfig_ValidateAndSetDefaults(t *testing.T) { if cfg.Header != defaultHeader { t.Errorf("expected header to be %s, got %s", defaultHeader, cfg.Header) } + if cfg.DefaultSortBy != defaultSortBy { + t.Errorf("expected defaultSortBy to be %s, got %s", defaultSortBy, cfg.DefaultSortBy) + } + if cfg.DefaultFilterBy != defaultFilterBy { + t.Errorf("expected defaultFilterBy to be %s, got %s", defaultFilterBy, cfg.DefaultFilterBy) + } } func TestButton_Validate(t *testing.T) { @@ -74,4 +81,114 @@ func TestGetDefaultConfig(t *testing.T) { if defaultConfig.Logo != defaultLogo { t.Error("expected GetDefaultConfig() to return defaultLogo, got", defaultConfig.Logo) } + if defaultConfig.DefaultSortBy != defaultSortBy { + t.Error("expected GetDefaultConfig() to return defaultSortBy, got", defaultConfig.DefaultSortBy) + } + if defaultConfig.DefaultFilterBy != defaultFilterBy { + t.Error("expected GetDefaultConfig() to return defaultFilterBy, got", defaultConfig.DefaultFilterBy) + } +} + +func TestConfig_ValidateAndSetDefaults_DefaultSortBy(t *testing.T) { + scenarios := []struct { + Name string + DefaultSortBy string + ExpectedError error + ExpectedValue string + }{ + { + Name: "EmptyDefaultSortBy", + DefaultSortBy: "", + ExpectedError: nil, + ExpectedValue: defaultSortBy, + }, + { + Name: "ValidDefaultSortBy_name", + DefaultSortBy: "name", + ExpectedError: nil, + ExpectedValue: "name", + }, + { + Name: "ValidDefaultSortBy_group", + DefaultSortBy: "group", + ExpectedError: nil, + ExpectedValue: "group", + }, + { + Name: "ValidDefaultSortBy_health", + DefaultSortBy: "health", + ExpectedError: nil, + ExpectedValue: "health", + }, + { + Name: "InvalidDefaultSortBy", + DefaultSortBy: "invalid", + ExpectedError: ErrInvalidDefaultSortBy, + ExpectedValue: "invalid", + }, + } + for _, scenario := range scenarios { + t.Run(scenario.Name, func(t *testing.T) { + cfg := &Config{DefaultSortBy: scenario.DefaultSortBy} + err := cfg.ValidateAndSetDefaults() + if !errors.Is(err, scenario.ExpectedError) { + t.Errorf("expected error %v, got %v", scenario.ExpectedError, err) + } + if cfg.DefaultSortBy != scenario.ExpectedValue { + t.Errorf("expected DefaultSortBy to be %s, got %s", scenario.ExpectedValue, cfg.DefaultSortBy) + } + }) + } +} + +func TestConfig_ValidateAndSetDefaults_DefaultFilterBy(t *testing.T) { + scenarios := []struct { + Name string + DefaultFilterBy string + ExpectedError error + ExpectedValue string + }{ + { + Name: "EmptyDefaultFilterBy", + DefaultFilterBy: "", + ExpectedError: nil, + ExpectedValue: defaultFilterBy, + }, + { + Name: "ValidDefaultFilterBy_nothing", + DefaultFilterBy: "nothing", + ExpectedError: nil, + ExpectedValue: "nothing", + }, + { + Name: "ValidDefaultFilterBy_failing", + DefaultFilterBy: "failing", + ExpectedError: nil, + ExpectedValue: "failing", + }, + { + Name: "ValidDefaultFilterBy_unstable", + DefaultFilterBy: "unstable", + ExpectedError: nil, + ExpectedValue: "unstable", + }, + { + Name: "InvalidDefaultFilterBy", + DefaultFilterBy: "invalid", + ExpectedError: ErrInvalidDefaultFilterBy, + ExpectedValue: "invalid", + }, + } + for _, scenario := range scenarios { + t.Run(scenario.Name, func(t *testing.T) { + cfg := &Config{DefaultFilterBy: scenario.DefaultFilterBy} + err := cfg.ValidateAndSetDefaults() + if !errors.Is(err, scenario.ExpectedError) { + t.Errorf("expected error %v, got %v", scenario.ExpectedError, err) + } + if cfg.DefaultFilterBy != scenario.ExpectedValue { + t.Errorf("expected DefaultFilterBy to be %s, got %s", scenario.ExpectedValue, cfg.DefaultFilterBy) + } + }) + } } diff --git a/metrics/metrics_test.go b/metrics/metrics_test.go index 25d6c9c3..f5eff0b3 100644 --- a/metrics/metrics_test.go +++ b/metrics/metrics_test.go @@ -63,7 +63,7 @@ func TestInitializePrometheusMetrics(t *testing.T) { func TestPublishMetricsForEndpoint_withExtraLabels(t *testing.T) { // Only test one label set per process due to Prometheus registry limits. reg := prometheus.NewRegistry() - InitializePrometheusMetrics(&config.Config{ + cfg := &config.Config{ Endpoints: []*endpoint.Endpoint{ { Name: "ep-extra", @@ -74,7 +74,8 @@ func TestPublishMetricsForEndpoint_withExtraLabels(t *testing.T) { }, }, }, - }, reg) + } + InitializePrometheusMetrics(cfg, reg) ep := &endpoint.Endpoint{ Name: "ep-extra", @@ -91,8 +92,9 @@ func TestPublishMetricsForEndpoint_withExtraLabels(t *testing.T) { Duration: 2340 * time.Millisecond, Success: true, } - // Order of extraLabels as per GetUniqueExtraMetricLabels is ["foo", "bar"] - PublishMetricsForEndpoint(ep, result, []string{"foo", "bar"}) + // Get labels in sorted order as per GetUniqueExtraMetricLabels + extraLabels := cfg.GetUniqueExtraMetricLabels() + PublishMetricsForEndpoint(ep, result, extraLabels) expected := ` # HELP gatus_results_total Number of results per endpoint diff --git a/web/app/package-lock.json b/web/app/package-lock.json index fe1e1d78..218d3d55 100644 --- a/web/app/package-lock.json +++ b/web/app/package-lock.json @@ -8,23 +8,29 @@ "name": "gatus", "version": "4.0.0", "dependencies": { - "@headlessui/vue": "^1.7.3", - "@heroicons/vue": "^2.0.12", - "core-js": "3.22.8", - "vue": "3.2.37", - "vue-router": "4.0.16" + "@headlessui/vue": "^1.7.23", + "@heroicons/vue": "^2.2.0", + "@vueuse/core": "^13.6.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "core-js": "^3.45.0", + "lucide-vue-next": "^0.539.0", + "radix-vue": "^1.9.17", + "tailwind-merge": "^3.3.1", + "vue": "^3.5.18", + "vue-router": "^4.5.1" }, "devDependencies": { - "@vue/cli-plugin-babel": "5.0.4", - "@vue/cli-plugin-eslint": "5.0.4", - "@vue/cli-plugin-router": "5.0.4", - "@vue/cli-service": "5.0.4", - "@vue/compiler-sfc": "3.2.37", - "autoprefixer": "10.4.7", - "babel-eslint": "10.1.0", - "eslint": "7.32.0", - "eslint-plugin-vue": "7.20.0", - "postcss": "8.4.14", + "@babel/eslint-parser": "^7.25.1", + "@vue/cli-plugin-babel": "^5.0.8", + "@vue/cli-plugin-eslint": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-service": "^5.0.8", + "@vue/compiler-sfc": "^3.5.18", + "autoprefixer": "^10.4.21", + "eslint": "^8.57.1", + "eslint-plugin-vue": "^9.28.0", + "postcss": "^8.5.6", "tailwindcss": "^3.1.8" } }, @@ -106,6 +112,45 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz", + "integrity": "sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { "version": "7.18.12", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", @@ -412,19 +457,19 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -482,9 +527,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -1695,44 +1744,90 @@ } }, "node_modules/@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1748,6 +1843,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1755,6 +1851,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz", + "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@floating-ui/vue": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.8.tgz", + "integrity": "sha512-SNJAa1jbT8Gh1LvWw2uIIViLL0saV2bCY59ISCvJzhbut5DSb2H3LKUK49Xkd7SixTNHKX4LFu59nbwIXt9jjQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.3", + "@floating-ui/utils": "^0.2.10", + "vue-demi": ">=0.13.0" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -1771,9 +1913,13 @@ } }, "node_modules/@headlessui/vue": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.3.tgz", - "integrity": "sha512-Is4iakKts9u9E0+jEZNzoJpBjwq2SamwEIoEl2RlyYSu6Zco536GsPXaQEfg/o7Eyc1GUUlcL+dJd4Rt7qyf7A==", + "version": "1.7.23", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.23.tgz", + "integrity": "sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==", + "license": "MIT", + "dependencies": { + "@tanstack/vue-virtual": "^3.0.0-beta.60" + }, "engines": { "node": ">=10" }, @@ -1782,32 +1928,69 @@ } }, "node_modules/@heroicons/vue": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.0.12.tgz", - "integrity": "sha512-ypuQl/Wei7BoShO65AdRVikXDaSt6hJBRuKs2pVd/6HvxfEz18oXraH+J5G/QPIwObMEVhMb6nkOs9l3WZv/gA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.2.0.tgz", + "integrity": "sha512-G3dbSxoeEKqbi/DFalhRxJU4mTXJn7GwZ7ae8NuEQzd1bqdd0jAbdaBZlHPcvPD2xI1iGzNVB4k20Un2AguYPw==", + "license": "MIT", "peerDependencies": { "vue": ">= 3" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@internationalized/date": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.4.tgz", + "integrity": "sha512-P+/h+RDaiX8EGt3shB9AYM1+QgkvHmJ5rKi4/59k4sg9g58k9rqsRW0WxRO7jCoHyvVbFRRFKmVTdFYdehrxHg==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", @@ -1865,10 +2048,10 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.15", @@ -1886,6 +2069,16 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, "node_modules/@node-ipc/js-queue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", @@ -2051,6 +2244,41 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", + "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", + "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.13.12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -2244,6 +2472,12 @@ "@types/node": "*" } }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, "node_modules/@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -2253,6 +2487,13 @@ "@types/node": "*" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" + }, "node_modules/@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", @@ -2498,14 +2739,15 @@ "dev": true }, "node_modules/@vue/cli-plugin-babel": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.4.tgz", - "integrity": "sha512-413ZwOWLtgw5vWJoMbrv36crW3qTas4Iru8sU7cRb0IqEZbS28R9X4PVtO8Pek2NYFbrs2XKRYOB7GblB6hVqg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.12.16", - "@vue/babel-preset-app": "^5.0.4", - "@vue/cli-shared-utils": "^5.0.4", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", "babel-loader": "^8.2.2", "thread-loader": "^3.0.0", "webpack": "^5.54.0" @@ -2515,12 +2757,13 @@ } }, "node_modules/@vue/cli-plugin-eslint": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.4.tgz", - "integrity": "sha512-NLBEKFTFJhYHMzQ3z+sb6xlkcNaN/RcbZ3hiCY72aJe4YOO8jEAp0XkPzlHd4xYkMW7jrmOwwLOPw+3BJ4b77Q==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/cli-shared-utils": "^5.0.4", + "@vue/cli-shared-utils": "^5.0.8", "eslint-webpack-plugin": "^3.1.0", "globby": "^11.0.2", "webpack": "^5.54.0", @@ -2532,12 +2775,13 @@ } }, "node_modules/@vue/cli-plugin-router": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.4.tgz", - "integrity": "sha512-lylzCuH3Br0BcTz5IxxSffpyoF9dQ2k4jTdK8QlWrnRanWGw7P9C0kYMr9rohHaXpvAlu6bio392gbNIWpEepg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/cli-shared-utils": "^5.0.4" + "@vue/cli-shared-utils": "^5.0.8" }, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" @@ -2553,19 +2797,20 @@ } }, "node_modules/@vue/cli-service": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.4.tgz", - "integrity": "sha512-xRiLNTFYmMCT9edZpyYXHijW5xot3gbZpcWDOXUOhKPHN4qs4XqWALnZlU97JYjZOr3XIr/ZvyciyEfrlUVqSA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.12.16", "@soda/friendly-errors-webpack-plugin": "^1.8.0", "@soda/get-current-script": "^1.0.2", "@types/minimist": "^1.2.0", - "@vue/cli-overlay": "^5.0.4", - "@vue/cli-plugin-router": "^5.0.4", - "@vue/cli-plugin-vuex": "^5.0.4", - "@vue/cli-shared-utils": "^5.0.4", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", "@vue/component-compiler-utils": "^3.3.0", "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", "@vue/web-component-wrapper": "^1.3.0", @@ -2757,49 +3002,65 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", - "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.18.tgz", + "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.37", + "@babel/parser": "^7.28.0", + "@vue/shared": "3.5.18", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", - "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz", + "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==", + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-core": "3.5.18", + "@vue/shared": "3.5.18" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", - "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz", + "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.37", - "@vue/compiler-dom": "3.2.37", - "@vue/compiler-ssr": "3.2.37", - "@vue/reactivity-transform": "3.2.37", - "@vue/shared": "3.2.37", + "@babel/parser": "^7.28.0", + "@vue/compiler-core": "3.5.18", + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", - "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz", + "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-dom": "3.5.18", + "@vue/shared": "3.5.18" } }, "node_modules/@vue/component-compiler-utils": { @@ -2867,65 +3128,60 @@ "dev": true }, "node_modules/@vue/devtools-api": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", - "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" }, "node_modules/@vue/reactivity": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz", - "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.18.tgz", + "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==", + "license": "MIT", "dependencies": { - "@vue/shared": "3.2.37" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", - "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.37", - "@vue/shared": "3.2.37", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "@vue/shared": "3.5.18" } }, "node_modules/@vue/runtime-core": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz", - "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.18.tgz", + "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/reactivity": "3.5.18", + "@vue/shared": "3.5.18" } }, "node_modules/@vue/runtime-dom": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz", - "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz", + "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==", + "license": "MIT", "dependencies": { - "@vue/runtime-core": "3.2.37", - "@vue/shared": "3.2.37", - "csstype": "^2.6.8" + "@vue/reactivity": "3.5.18", + "@vue/runtime-core": "3.5.18", + "@vue/shared": "3.5.18", + "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz", - "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.18.tgz", + "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==", + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18" }, "peerDependencies": { - "vue": "3.2.37" + "vue": "3.5.18" } }, "node_modules/@vue/shared": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", - "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==" + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz", + "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==", + "license": "MIT" }, "node_modules/@vue/vue-loader-v15": { "name": "vue-loader", @@ -2965,6 +3221,44 @@ "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", "dev": true }, + "node_modules/@vueuse/core": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.6.0.tgz", + "integrity": "sha512-DJbD5fV86muVmBgS9QQPddVX7d9hWYswzlf4bIyUD2dj8GC46R1uNClZhVAmsdVts4xb2jwp1PbpuiA50Qee1A==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "13.6.0", + "@vueuse/shared": "13.6.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/metadata": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.6.0.tgz", + "integrity": "sha512-rnIH7JvU7NjrpexTsl2Iwv0V0yAx9cw7+clymjKuLSXG0QMcLD0LDgdNmXic+qL0SGvgSVPEpM9IDO/wqo1vkQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.6.0.tgz", + "integrity": "sha512-pDykCSoS2T3fsQrYqf9SyF0QXWHmcGPQ+qiOVjlYSzlWd9dgppB2bFSM1GgKKkt7uzn0BBMV3IbJsUfHG2+BCg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -3137,10 +3431,11 @@ } }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3162,6 +3457,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -3280,15 +3576,6 @@ "ajv": "^6.9.1" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -3377,12 +3664,22 @@ "dev": true }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/array-flatten": { @@ -3400,15 +3697,6 @@ "node": ">=8" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -3428,9 +3716,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "dev": true, "funding": [ { @@ -3440,14 +3728,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -3460,27 +3753,6 @@ "postcss": "^8.1.0" } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, "node_modules/babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -3718,9 +3990,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", + "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", "dev": true, "funding": [ { @@ -3730,13 +4002,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "caniuse-lite": "^1.0.30001733", + "electron-to-chromium": "^1.5.199", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -3850,9 +4127,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001378", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz", - "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==", + "version": "1.0.30001734", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001734.tgz", + "integrity": "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==", "dev": true, "funding": [ { @@ -3862,8 +4139,13 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -3942,6 +4224,18 @@ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, "node_modules/clean-css": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", @@ -4117,6 +4411,15 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4339,11 +4642,11 @@ } }, "node_modules/core-js": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.8.tgz", - "integrity": "sha512-UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.0.tgz", + "integrity": "sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -4694,9 +4997,10 @@ } }, "node_modules/csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", @@ -4719,7 +5023,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "1.5.2", @@ -4841,6 +5146,12 @@ "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", "dev": true }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -5048,10 +5359,11 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.224", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz", - "integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==", - "dev": true + "version": "1.5.200", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.200.tgz", + "integrity": "sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -5099,18 +5411,6 @@ "node": ">=10.13.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -5145,10 +5445,11 @@ "dev": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5169,78 +5470,125 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-plugin-vue": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz", - "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", + "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-utils": "^2.1.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "semver": "^6.3.0", - "vue-eslint-parser": "^7.10.0" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=8.10" + "node": "^14.17.0 || >=16.0.0" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint-scope": { @@ -5256,30 +5604,6 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/eslint-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", @@ -5395,15 +5719,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5465,32 +5780,69 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "is-glob": "^4.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -5510,19 +5862,52 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/supports-color": { @@ -5542,6 +5927,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -5550,49 +5936,42 @@ } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "license": "Apache-2.0", "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -5605,6 +5984,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -5857,8 +6237,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.11", @@ -5898,7 +6277,8 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.13.0", @@ -6069,16 +6449,17 @@ } }, "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/fresh": { @@ -6137,12 +6518,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6254,21 +6629,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -6602,10 +6975,11 @@ ] }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -6774,6 +7148,16 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -6925,13 +7309,13 @@ "dev": true }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -7039,6 +7423,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -7151,12 +7536,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -7386,12 +7765,22 @@ "node": ">=10" } }, + "node_modules/lucide-vue-next": { + "version": "0.539.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.539.0.tgz", + "integrity": "sha512-8Y75ekxsBqW+9YZPCbxE6KXoCbNmJYUujKP+nK2cIqmONJXvUSeyroEW4DV1Kjlw8ZvmfKwP0FpdjPzuKvRsQw==", + "license": "ISC", + "peerDependencies": { + "vue": ">=3.0.1" + } + }, "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -7696,9 +8085,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -7773,10 +8169,11 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -7994,17 +8391,18 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -8290,9 +8688,10 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8351,9 +8750,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -8362,12 +8761,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -8928,10 +9332,11 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "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, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -8982,6 +9387,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -9018,15 +9424,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/progress-webpack-plugin": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", @@ -9138,6 +9535,88 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/radix-vue": { + "version": "1.9.17", + "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.9.17.tgz", + "integrity": "sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.7", + "@floating-ui/vue": "^1.1.0", + "@internationalized/date": "^3.5.4", + "@internationalized/number": "^3.5.3", + "@tanstack/vue-virtual": "^3.8.1", + "@vueuse/core": "^10.11.0", + "@vueuse/shared": "^10.11.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "fast-deep-equal": "^3.1.3", + "nanoid": "^5.0.7" + }, + "peerDependencies": { + "vue": ">= 3.2.0" + } + }, + "node_modules/radix-vue/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/radix-vue/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/radix-vue/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/radix-vue/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/radix-vue/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9289,18 +9768,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", @@ -9779,56 +10246,6 @@ "node": ">=8" } }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -9844,14 +10261,16 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "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==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -9866,11 +10285,6 @@ "source-map": "^0.6.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -9933,12 +10347,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, "node_modules/ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -10060,6 +10468,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -10143,44 +10552,16 @@ "node": ">= 10" } }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "license": "MIT", "funding": { "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/dcastil" } }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, "node_modules/tailwindcss": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", @@ -10400,15 +10781,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -10446,16 +10818,17 @@ "dev": true }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -10544,9 +10917,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -10556,14 +10929,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -10608,12 +10986,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -10634,65 +11006,128 @@ } }, "node_modules/vue": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz", - "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.18.tgz", + "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.2.37", - "@vue/compiler-sfc": "3.2.37", - "@vue/runtime-dom": "3.2.37", - "@vue/server-renderer": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-sfc": "3.5.18", + "@vue/runtime-dom": "3.5.18", + "@vue/server-renderer": "3.5.18", + "@vue/shared": "3.5.18" + }, + "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, + "license": "MIT", + "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-eslint-parser": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", - "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^6.3.0" + "semver": "^7.3.6" }, "engines": { - "node": ">=8.10" + "node": "^14.17.0 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" }, "peerDependencies": { - "eslint": ">=5.0.0" + "eslint": ">=6.0.0" } }, - "node_modules/vue-eslint-parser/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/vue-hot-reload-api": { @@ -10800,11 +11235,12 @@ } }, "node_modules/vue-router": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", - "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", "dependencies": { - "@vue/devtools-api": "^6.0.0" + "@vue/devtools-api": "^6.6.4" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -11352,10 +11788,11 @@ "dev": true }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11437,6 +11874,16 @@ } } }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -11497,6 +11944,19 @@ "node": ">=10" } }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/yorkie": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", @@ -11670,6 +12130,31 @@ "semver": "^6.3.0" } }, + "@babel/eslint-parser": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.0.tgz", + "integrity": "sha512-N4ntErOlKvcbTt01rr5wj3y55xnIdx1ymrfIr8C2WnM1Y9glFgWaGDEULJIazOX3XM9NRzhfJ6zZnQ1sBNWU+w==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, "@babel/generator": { "version": "7.18.12", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", @@ -11900,16 +12385,14 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -11952,9 +12435,12 @@ } }, "@babel/parser": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", - "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==" + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "requires": { + "@babel/types": "^7.28.0" + } }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -12766,37 +13252,58 @@ } }, "@babel/types": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", - "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", - "dev": true, + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" } }, + "@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.4.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true + }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -12810,6 +13317,44 @@ } } }, + "@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true + }, + "@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "requires": { + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/dom": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz", + "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==", + "requires": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==" + }, + "@floating-ui/vue": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.8.tgz", + "integrity": "sha512-SNJAa1jbT8Gh1LvWw2uIIViLL0saV2bCY59ISCvJzhbut5DSb2H3LKUK49Xkd7SixTNHKX4LFu59nbwIXt9jjQ==", + "requires": { + "@floating-ui/dom": "^1.7.3", + "@floating-ui/utils": "^0.2.10", + "vue-demi": ">=0.13.0" + } + }, "@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -12826,34 +13371,58 @@ } }, "@headlessui/vue": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.3.tgz", - "integrity": "sha512-Is4iakKts9u9E0+jEZNzoJpBjwq2SamwEIoEl2RlyYSu6Zco536GsPXaQEfg/o7Eyc1GUUlcL+dJd4Rt7qyf7A==", - "requires": {} + "version": "1.7.23", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.23.tgz", + "integrity": "sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==", + "requires": { + "@tanstack/vue-virtual": "^3.0.0-beta.60" + } }, "@heroicons/vue": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.0.12.tgz", - "integrity": "sha512-ypuQl/Wei7BoShO65AdRVikXDaSt6hJBRuKs2pVd/6HvxfEz18oXraH+J5G/QPIwObMEVhMb6nkOs9l3WZv/gA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.2.0.tgz", + "integrity": "sha512-G3dbSxoeEKqbi/DFalhRxJU4mTXJn7GwZ7ae8NuEQzd1bqdd0jAbdaBZlHPcvPD2xI1iGzNVB4k20Un2AguYPw==", "requires": {} }, "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, + "@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true + }, + "@internationalized/date": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", + "requires": { + "@swc/helpers": "^0.5.0" + } + }, + "@internationalized/number": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.4.tgz", + "integrity": "sha512-P+/h+RDaiX8EGt3shB9AYM1+QgkvHmJ5rKi4/59k4sg9g58k9rqsRW0WxRO7jCoHyvVbFRRFKmVTdFYdehrxHg==", + "requires": { + "@swc/helpers": "^0.5.0" + } + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -12900,10 +13469,9 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==" }, "@jridgewell/trace-mapping": { "version": "0.3.15", @@ -12921,6 +13489,15 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, "@node-ipc/js-queue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", @@ -13052,6 +13629,27 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "requires": { + "tslib": "^2.8.0" + } + }, + "@tanstack/virtual-core": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", + "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==" + }, + "@tanstack/vue-virtual": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", + "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", + "requires": { + "@tanstack/virtual-core": "3.13.12" + } + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -13242,6 +13840,11 @@ "@types/node": "*" } }, + "@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==" + }, "@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -13251,6 +13854,12 @@ "@types/node": "*" } }, + "@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true + }, "@vue/babel-helper-vue-jsx-merge-props": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", @@ -13443,26 +14052,26 @@ "dev": true }, "@vue/cli-plugin-babel": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.4.tgz", - "integrity": "sha512-413ZwOWLtgw5vWJoMbrv36crW3qTas4Iru8sU7cRb0IqEZbS28R9X4PVtO8Pek2NYFbrs2XKRYOB7GblB6hVqg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", "dev": true, "requires": { "@babel/core": "^7.12.16", - "@vue/babel-preset-app": "^5.0.4", - "@vue/cli-shared-utils": "^5.0.4", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", "babel-loader": "^8.2.2", "thread-loader": "^3.0.0", "webpack": "^5.54.0" } }, "@vue/cli-plugin-eslint": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.4.tgz", - "integrity": "sha512-NLBEKFTFJhYHMzQ3z+sb6xlkcNaN/RcbZ3hiCY72aJe4YOO8jEAp0XkPzlHd4xYkMW7jrmOwwLOPw+3BJ4b77Q==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^5.0.4", + "@vue/cli-shared-utils": "^5.0.8", "eslint-webpack-plugin": "^3.1.0", "globby": "^11.0.2", "webpack": "^5.54.0", @@ -13470,12 +14079,12 @@ } }, "@vue/cli-plugin-router": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.4.tgz", - "integrity": "sha512-lylzCuH3Br0BcTz5IxxSffpyoF9dQ2k4jTdK8QlWrnRanWGw7P9C0kYMr9rohHaXpvAlu6bio392gbNIWpEepg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^5.0.4" + "@vue/cli-shared-utils": "^5.0.8" } }, "@vue/cli-plugin-vuex": { @@ -13486,19 +14095,19 @@ "requires": {} }, "@vue/cli-service": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.4.tgz", - "integrity": "sha512-xRiLNTFYmMCT9edZpyYXHijW5xot3gbZpcWDOXUOhKPHN4qs4XqWALnZlU97JYjZOr3XIr/ZvyciyEfrlUVqSA==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.12.16", "@soda/friendly-errors-webpack-plugin": "^1.8.0", "@soda/get-current-script": "^1.0.2", "@types/minimist": "^1.2.0", - "@vue/cli-overlay": "^5.0.4", - "@vue/cli-plugin-router": "^5.0.4", - "@vue/cli-plugin-vuex": "^5.0.4", - "@vue/cli-shared-utils": "^5.0.4", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", "@vue/component-compiler-utils": "^3.3.0", "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", "@vue/web-component-wrapper": "^1.3.0", @@ -13629,49 +14238,56 @@ } }, "@vue/compiler-core": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz", - "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.18.tgz", + "integrity": "sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==", "requires": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.37", + "@babel/parser": "^7.28.0", + "@vue/shared": "3.5.18", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.2.1" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + } } }, "@vue/compiler-dom": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz", - "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.18.tgz", + "integrity": "sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==", "requires": { - "@vue/compiler-core": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-core": "3.5.18", + "@vue/shared": "3.5.18" } }, "@vue/compiler-sfc": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz", - "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.18.tgz", + "integrity": "sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==", "requires": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.37", - "@vue/compiler-dom": "3.2.37", - "@vue/compiler-ssr": "3.2.37", - "@vue/reactivity-transform": "3.2.37", - "@vue/shared": "3.2.37", + "@babel/parser": "^7.28.0", + "@vue/compiler-core": "3.5.18", + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, "@vue/compiler-ssr": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz", - "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.18.tgz", + "integrity": "sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==", "requires": { - "@vue/compiler-dom": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-dom": "3.5.18", + "@vue/shared": "3.5.18" } }, "@vue/component-compiler-utils": { @@ -13732,62 +14348,51 @@ } }, "@vue/devtools-api": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz", - "integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==" + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" }, "@vue/reactivity": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz", - "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.18.tgz", + "integrity": "sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==", "requires": { - "@vue/shared": "3.2.37" - } - }, - "@vue/reactivity-transform": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz", - "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==", - "requires": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.37", - "@vue/shared": "3.2.37", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "@vue/shared": "3.5.18" } }, "@vue/runtime-core": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz", - "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.18.tgz", + "integrity": "sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==", "requires": { - "@vue/reactivity": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/reactivity": "3.5.18", + "@vue/shared": "3.5.18" } }, "@vue/runtime-dom": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz", - "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.18.tgz", + "integrity": "sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==", "requires": { - "@vue/runtime-core": "3.2.37", - "@vue/shared": "3.2.37", - "csstype": "^2.6.8" + "@vue/reactivity": "3.5.18", + "@vue/runtime-core": "3.5.18", + "@vue/shared": "3.5.18", + "csstype": "^3.1.3" } }, "@vue/server-renderer": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz", - "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.18.tgz", + "integrity": "sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==", "requires": { - "@vue/compiler-ssr": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-ssr": "3.5.18", + "@vue/shared": "3.5.18" } }, "@vue/shared": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz", - "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==" + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz", + "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==" }, "@vue/vue-loader-v15": { "version": "npm:vue-loader@15.10.0", @@ -13816,6 +14421,27 @@ "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", "dev": true }, + "@vueuse/core": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.6.0.tgz", + "integrity": "sha512-DJbD5fV86muVmBgS9QQPddVX7d9hWYswzlf4bIyUD2dj8GC46R1uNClZhVAmsdVts4xb2jwp1PbpuiA50Qee1A==", + "requires": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "13.6.0", + "@vueuse/shared": "13.6.0" + } + }, + "@vueuse/metadata": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.6.0.tgz", + "integrity": "sha512-rnIH7JvU7NjrpexTsl2Iwv0V0yAx9cw7+clymjKuLSXG0QMcLD0LDgdNmXic+qL0SGvgSVPEpM9IDO/wqo1vkQ==" + }, + "@vueuse/shared": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.6.0.tgz", + "integrity": "sha512-pDykCSoS2T3fsQrYqf9SyF0QXWHmcGPQ+qiOVjlYSzlWd9dgppB2bFSM1GgKKkt7uzn0BBMV3IbJsUfHG2+BCg==", + "requires": {} + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -13985,9 +14611,9 @@ } }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, "acorn-import-assertions": { @@ -14089,12 +14715,6 @@ "dev": true, "requires": {} }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -14151,12 +14771,17 @@ "dev": true }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "requires": { - "sprintf-js": "~1.0.2" + "tslib": "^2.0.0" } }, "array-flatten": { @@ -14171,12 +14796,6 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, "async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -14193,33 +14812,19 @@ "dev": true }, "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "dev": true, "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" } }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, "babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -14412,15 +15017,15 @@ } }, "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", + "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "caniuse-lite": "^1.0.30001733", + "electron-to-chromium": "^1.5.199", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" } }, "buffer": { @@ -14496,9 +15101,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001378", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001378.tgz", - "integrity": "sha512-JVQnfoO7FK7WvU4ZkBRbPjaot4+YqxogSDosHv0Hv5mWpUESmN+UubMU6L/hGz8QlQ2aY5U0vR6MOs6j/CXpNA==", + "version": "1.0.30001734", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001734.tgz", + "integrity": "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -14557,6 +15162,14 @@ "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, + "class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "requires": { + "clsx": "^2.1.1" + } + }, "clean-css": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", @@ -14685,6 +15298,11 @@ "shallow-clone": "^3.0.0" } }, + "clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==" + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -14858,9 +15476,9 @@ } }, "core-js": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.8.tgz", - "integrity": "sha512-UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA==" + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.0.tgz", + "integrity": "sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==" }, "core-js-compat": { "version": "3.24.1", @@ -15099,9 +15717,9 @@ } }, "csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "debug": { "version": "4.3.4", @@ -15204,6 +15822,11 @@ "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", "dev": true }, + "defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" + }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -15365,9 +15988,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.224", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.224.tgz", - "integrity": "sha512-dOujC5Yzj0nOVE23iD5HKqrRSDj2SD7RazpZS/b/WX85MtO6/LzKDF4TlYZTBteB+7fvSg5JpWh0sN7fImNF8w==", + "version": "1.5.200", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.200.tgz", + "integrity": "sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==", "dev": true }, "emoji-regex": { @@ -15407,15 +16030,6 @@ "tapable": "^2.2.0" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -15447,9 +16061,9 @@ "dev": true }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "escape-html": { @@ -15465,62 +16079,51 @@ "dev": true }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -15561,25 +16164,42 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -15591,13 +16211,31 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" } }, "supports-color": { @@ -15618,15 +16256,42 @@ } }, "eslint-plugin-vue": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz", - "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", + "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", "dev": true, "requires": { - "eslint-utils": "^2.1.0", + "@eslint-community/eslint-utils": "^4.4.0", + "globals": "^13.24.0", "natural-compare": "^1.4.0", - "semver": "^6.3.0", - "vue-eslint-parser": "^7.10.0" + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.3", + "vue-eslint-parser": "^9.4.3", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } } }, "eslint-scope": { @@ -15639,21 +16304,6 @@ "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, "eslint-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", @@ -15735,34 +16385,28 @@ } }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true } } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -15971,8 +16615,7 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.11", @@ -16137,9 +16780,9 @@ "dev": true }, "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true }, "fresh": { @@ -16185,12 +16828,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -16270,14 +16907,6 @@ "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - } } }, "graceful-fs": { @@ -16286,6 +16915,12 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -16523,9 +17158,9 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, "import-fresh": { @@ -16647,6 +17282,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -16761,13 +17402,12 @@ "dev": true }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsesc": { @@ -16948,12 +17588,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -17127,12 +17761,18 @@ "yallist": "^4.0.0" } }, + "lucide-vue-next": { + "version": "0.539.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.539.0.tgz", + "integrity": "sha512-8Y75ekxsBqW+9YZPCbxE6KXoCbNmJYUujKP+nK2cIqmONJXvUSeyroEW4DV1Kjlw8ZvmfKwP0FpdjPzuKvRsQw==", + "requires": {} + }, "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "requires": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "make-dir": { @@ -17364,9 +18004,9 @@ } }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" }, "natural-compare": { "version": "1.4.0", @@ -17418,9 +18058,9 @@ "dev": true }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, "normalize-package-data": { @@ -17580,9 +18220,9 @@ "dev": true }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -17590,7 +18230,7 @@ "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" } }, "ora": { @@ -17808,9 +18448,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "picomatch": { "version": "2.3.1", @@ -17856,13 +18496,13 @@ } }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" } }, "postcss-calc": { @@ -18195,9 +18835,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "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, "requires": { "cssesc": "^3.0.0", @@ -18258,12 +18898,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "progress-webpack-plugin": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", @@ -18336,6 +18970,60 @@ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, + "radix-vue": { + "version": "1.9.17", + "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.9.17.tgz", + "integrity": "sha512-mVCu7I2vXt1L2IUYHTt0sZMz7s1K2ZtqKeTIxG3yC5mMFfLBG4FtE1FDeRMpDd+Hhg/ybi9+iXmAP1ISREndoQ==", + "requires": { + "@floating-ui/dom": "^1.6.7", + "@floating-ui/vue": "^1.1.0", + "@internationalized/date": "^3.5.4", + "@internationalized/number": "^3.5.3", + "@tanstack/vue-virtual": "^3.8.1", + "@vueuse/core": "^10.11.0", + "@vueuse/shared": "^10.11.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "fast-deep-equal": "^3.1.3", + "nanoid": "^5.0.7" + }, + "dependencies": { + "@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + }, + "@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "requires": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + } + }, + "@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==" + }, + "@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "requires": { + "vue-demi": ">=0.14.8" + } + }, + "nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==" + } + } + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -18461,12 +19149,6 @@ "@babel/runtime": "^7.8.4" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "regexpu-core": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", @@ -18847,43 +19529,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, "sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -18898,12 +19543,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "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==" }, "source-map-support": { "version": "0.5.21", @@ -18915,11 +19561,6 @@ "source-map": "^0.6.0" } }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -18979,12 +19620,6 @@ "wbuf": "^1.7.3" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, "ssri": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", @@ -19127,38 +19762,10 @@ } } }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } + "tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==" }, "tailwindcss": { "version": "3.1.8", @@ -19317,12 +19924,6 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -19351,10 +19952,9 @@ "dev": true }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "type-check": { "version": "0.4.0", @@ -19422,13 +20022,13 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, "uri-js": { @@ -19464,12 +20064,6 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -19487,48 +20081,65 @@ "dev": true }, "vue": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz", - "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.18.tgz", + "integrity": "sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==", "requires": { - "@vue/compiler-dom": "3.2.37", - "@vue/compiler-sfc": "3.2.37", - "@vue/runtime-dom": "3.2.37", - "@vue/server-renderer": "3.2.37", - "@vue/shared": "3.2.37" + "@vue/compiler-dom": "3.5.18", + "@vue/compiler-sfc": "3.5.18", + "@vue/runtime-dom": "3.5.18", + "@vue/server-renderer": "3.5.18", + "@vue/shared": "3.5.18" } }, + "vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "requires": {} + }, "vue-eslint-parser": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", - "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz", + "integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==", "dev": true, "requires": { - "debug": "^4.1.1", - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "lodash": "^4.17.21", - "semver": "^6.3.0" + "semver": "^7.3.6" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true } } }, @@ -19612,11 +20223,11 @@ } }, "vue-router": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz", - "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", "requires": { - "@vue/devtools-api": "^6.0.0" + "@vue/devtools-api": "^6.6.4" } }, "vue-style-loader": { @@ -20022,9 +20633,9 @@ "dev": true }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "wrap-ansi": { @@ -20077,6 +20688,12 @@ "dev": true, "requires": {} }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -20122,6 +20739,12 @@ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, "yorkie": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", diff --git a/web/app/package.json b/web/app/package.json index 0d9a10f0..01f99607 100644 --- a/web/app/package.json +++ b/web/app/package.json @@ -8,23 +8,25 @@ "lint": "vue-cli-service lint" }, "dependencies": { - "@headlessui/vue": "^1.7.3", - "@heroicons/vue": "^2.0.12", - "core-js": "3.22.8", - "vue": "3.2.37", - "vue-router": "4.0.16" + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "core-js": "^3.45.0", + "lucide-vue-next": "^0.539.0", + "tailwind-merge": "^3.3.1", + "vue": "^3.5.18", + "vue-router": "^4.5.1" }, "devDependencies": { - "@vue/cli-plugin-babel": "5.0.4", - "@vue/cli-plugin-eslint": "5.0.4", - "@vue/cli-plugin-router": "5.0.4", - "@vue/cli-service": "5.0.4", - "@vue/compiler-sfc": "3.2.37", - "autoprefixer": "10.4.7", - "babel-eslint": "10.1.0", - "eslint": "7.32.0", - "eslint-plugin-vue": "7.20.0", - "postcss": "8.4.14", + "@vue/cli-plugin-babel": "^5.0.8", + "@vue/cli-plugin-eslint": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-service": "^5.0.8", + "@vue/compiler-sfc": "^3.5.18", + "autoprefixer": "^10.4.21", + "@babel/eslint-parser": "^7.25.1", + "eslint": "^8.57.1", + "eslint-plugin-vue": "^9.28.0", + "postcss": "^8.5.6", "tailwindcss": "^3.1.8" }, "eslintConfig": { @@ -37,9 +39,20 @@ "eslint:recommended" ], "parserOptions": { - "parser": "babel-eslint" + "parser": "@babel/eslint-parser", + "requireConfigFile": false }, - "rules": {} + "rules": { + "vue/multi-word-component-names": ["error", { + "ignores": ["Home", "Details", "Loading", "Settings", "Social", "Tooltip", "Pagination", "Button", "Badge", "Card", "Input", "Select"] + }] + }, + "globals": { + "defineProps": "readonly", + "defineEmits": "readonly", + "defineExpose": "readonly", + "withDefaults": "readonly" + } }, "browserslist": [ "defaults", diff --git a/web/app/public/index.html b/web/app/public/index.html index 87d01e8f..5655ef75 100644 --- a/web/app/public/index.html +++ b/web/app/public/index.html @@ -3,7 +3,17 @@ {{ .UI.Title }} @@ -20,7 +30,7 @@ - +
diff --git a/web/app/src/App.vue b/web/app/src/App.vue index a4714cd6..b71b0f60 100644 --- a/web/app/src/App.vue +++ b/web/app/src/App.vue @@ -1,106 +1,217 @@ - - \ No newline at end of file diff --git a/web/app/src/components/Endpoint.vue b/web/app/src/components/Endpoint.vue deleted file mode 100644 index f1f41e05..00000000 --- a/web/app/src/components/Endpoint.vue +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/web/app/src/components/EndpointCard.vue b/web/app/src/components/EndpointCard.vue new file mode 100644 index 00000000..cd0d225d --- /dev/null +++ b/web/app/src/components/EndpointCard.vue @@ -0,0 +1,159 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/EndpointGroup.vue b/web/app/src/components/EndpointGroup.vue deleted file mode 100644 index dbc1fa63..00000000 --- a/web/app/src/components/EndpointGroup.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/web/app/src/components/Endpoints.vue b/web/app/src/components/Endpoints.vue deleted file mode 100644 index 0f9b71ac..00000000 --- a/web/app/src/components/Endpoints.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - diff --git a/web/app/src/components/Loading.vue b/web/app/src/components/Loading.vue index 3cc40f16..41dfb8c2 100644 --- a/web/app/src/components/Loading.vue +++ b/web/app/src/components/Loading.vue @@ -1,11 +1,35 @@ - +const props = defineProps({ + size: { + type: String, + default: 'md', + validator: (value) => ['xs', 'sm', 'md', 'lg', 'xl'].includes(value) + }, +}) + +const sizeClass = computed(() => { + const sizes = { + xs: 'w-4 h-4', + sm: 'w-6 h-6', + md: 'w-8 h-8', + lg: 'w-12 h-12', + xl: 'w-16 h-16' + } + return sizes[props.size] || sizes.md +}) + \ No newline at end of file diff --git a/web/app/src/components/Pagination.vue b/web/app/src/components/Pagination.vue index b8ab1ff5..c2e06036 100644 --- a/web/app/src/components/Pagination.vue +++ b/web/app/src/components/Pagination.vue @@ -1,42 +1,73 @@ + \ No newline at end of file diff --git a/web/app/src/components/SearchBar.vue b/web/app/src/components/SearchBar.vue new file mode 100644 index 00000000..fb0c7552 --- /dev/null +++ b/web/app/src/components/SearchBar.vue @@ -0,0 +1,100 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/Settings.vue b/web/app/src/components/Settings.vue index a8804e22..f7b5470d 100644 --- a/web/app/src/components/Settings.vue +++ b/web/app/src/components/Settings.vue @@ -1,104 +1,190 @@ - - diff --git a/web/app/src/components/Social.vue b/web/app/src/components/Social.vue index c6d729ec..47426922 100644 --- a/web/app/src/components/Social.vue +++ b/web/app/src/components/Social.vue @@ -8,14 +8,9 @@ - - - + \ No newline at end of file diff --git a/web/app/src/components/StatusBadge.vue b/web/app/src/components/StatusBadge.vue new file mode 100644 index 00000000..6ed47381 --- /dev/null +++ b/web/app/src/components/StatusBadge.vue @@ -0,0 +1,58 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/Tooltip.vue b/web/app/src/components/Tooltip.vue index c5964df1..c9742368 100644 --- a/web/app/src/components/Tooltip.vue +++ b/web/app/src/components/Tooltip.vue @@ -1,130 +1,158 @@ + +// Watchers +watch(() => props.event, (newEvent) => { + if (newEvent && newEvent.type) { + if (newEvent.type === 'mouseenter') { + hidden.value = false + nextTick(() => reposition()) + } else if (newEvent.type === 'mouseleave') { + hidden.value = true + } + } +}, { immediate: true }) - +watch(() => props.result, () => { + if (!hidden.value) { + nextTick(() => reposition()) + } +}) + \ No newline at end of file diff --git a/web/app/src/components/ui/badge/Badge.vue b/web/app/src/components/ui/badge/Badge.vue new file mode 100644 index 00000000..372b88ef --- /dev/null +++ b/web/app/src/components/ui/badge/Badge.vue @@ -0,0 +1,37 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/badge/index.js b/web/app/src/components/ui/badge/index.js new file mode 100644 index 00000000..738ab441 --- /dev/null +++ b/web/app/src/components/ui/badge/index.js @@ -0,0 +1 @@ +export { default as Badge } from './Badge.vue' \ No newline at end of file diff --git a/web/app/src/components/ui/button/Button.vue b/web/app/src/components/ui/button/Button.vue new file mode 100644 index 00000000..e7badd1b --- /dev/null +++ b/web/app/src/components/ui/button/Button.vue @@ -0,0 +1,55 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/button/index.js b/web/app/src/components/ui/button/index.js new file mode 100644 index 00000000..3945bc7f --- /dev/null +++ b/web/app/src/components/ui/button/index.js @@ -0,0 +1 @@ +export { default as Button } from './Button.vue' \ No newline at end of file diff --git a/web/app/src/components/ui/card/Card.vue b/web/app/src/components/ui/card/Card.vue new file mode 100644 index 00000000..59ca7dc8 --- /dev/null +++ b/web/app/src/components/ui/card/Card.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/card/CardContent.vue b/web/app/src/components/ui/card/CardContent.vue new file mode 100644 index 00000000..bbd4a11d --- /dev/null +++ b/web/app/src/components/ui/card/CardContent.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/card/CardHeader.vue b/web/app/src/components/ui/card/CardHeader.vue new file mode 100644 index 00000000..f1388131 --- /dev/null +++ b/web/app/src/components/ui/card/CardHeader.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/card/CardTitle.vue b/web/app/src/components/ui/card/CardTitle.vue new file mode 100644 index 00000000..f50337c6 --- /dev/null +++ b/web/app/src/components/ui/card/CardTitle.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/card/index.js b/web/app/src/components/ui/card/index.js new file mode 100644 index 00000000..4f4350f9 --- /dev/null +++ b/web/app/src/components/ui/card/index.js @@ -0,0 +1,4 @@ +export { default as Card } from './Card.vue' +export { default as CardHeader } from './CardHeader.vue' +export { default as CardTitle } from './CardTitle.vue' +export { default as CardContent } from './CardContent.vue' \ No newline at end of file diff --git a/web/app/src/components/ui/input/Input.vue b/web/app/src/components/ui/input/Input.vue new file mode 100644 index 00000000..32ad1df7 --- /dev/null +++ b/web/app/src/components/ui/input/Input.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/input/index.js b/web/app/src/components/ui/input/index.js new file mode 100644 index 00000000..af4d4da1 --- /dev/null +++ b/web/app/src/components/ui/input/index.js @@ -0,0 +1 @@ +export { default as Input } from './Input.vue' \ No newline at end of file diff --git a/web/app/src/components/ui/select/Select.vue b/web/app/src/components/ui/select/Select.vue new file mode 100644 index 00000000..115c884f --- /dev/null +++ b/web/app/src/components/ui/select/Select.vue @@ -0,0 +1,127 @@ + + + \ No newline at end of file diff --git a/web/app/src/components/ui/select/index.js b/web/app/src/components/ui/select/index.js new file mode 100644 index 00000000..40d27899 --- /dev/null +++ b/web/app/src/components/ui/select/index.js @@ -0,0 +1 @@ +export { default as Select } from './Select.vue' \ No newline at end of file diff --git a/web/app/src/index.css b/web/app/src/index.css index c73cbbb6..dd15e9e0 100644 --- a/web/app/src/index.css +++ b/web/app/src/index.css @@ -2,38 +2,78 @@ @tailwind components; @tailwind utilities; +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 222.2 84% 4.9%; + --card: 0 0% 100%; + --card-foreground: 222.2 84% 4.9%; + --popover: 0 0% 100%; + --popover-foreground: 222.2 84% 4.9%; + --primary: 222.2 47.4% 11.2%; + --primary-foreground: 210 40% 98%; + --secondary: 210 40% 96.1%; + --secondary-foreground: 222.2 47.4% 11.2%; + --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; + --accent: 210 40% 96.1%; + --accent-foreground: 222.2 47.4% 11.2%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 210 40% 98%; + --border: 214.3 31.8% 91.4%; + --input: 214.3 31.8% 91.4%; + --ring: 222.2 84% 4.9%; + --radius: 0.5rem; + } + + :root.dark { + --background: 222.2 84% 4.9%; + --foreground: 210 40% 98%; + --card: 222.2 84% 4.9%; + --card-foreground: 210 40% 98%; + --popover: 222.2 84% 4.9%; + --popover-foreground: 210 40% 98%; + --primary: 210 40% 98%; + --primary-foreground: 222.2 47.4% 11.2%; + --secondary: 217.2 32.6% 17.5%; + --secondary-foreground: 210 40% 98%; + --muted: 217.2 32.6% 17.5%; + --muted-foreground: 215 20.2% 65.1%; + --accent: 217.2 32.6% 17.5%; + --accent-foreground: 210 40% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 210 40% 98%; + --border: 217.2 32.6% 17.5%; + --input: 217.2 32.6% 17.5%; + --ring: 212.7 26.8% 83.9%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} + .bg-success { background-color: #28a745; } -html:not(.dark) body { - background-color: #f7f9fb; -} html { height: 100%; } body { - padding-top: 20px; - padding-bottom: 20px; min-height: 100vh; } -#global { - margin-top: 0 !important; -} - -#global, #results { - max-width: 1280px; -} - @media screen and (max-width: 1279px) { body { padding-top: 0; padding-bottom: 0; } - #global { - min-height: 100vh; - } } diff --git a/web/app/src/lib/utils.js b/web/app/src/lib/utils.js new file mode 100644 index 00000000..7ca3da67 --- /dev/null +++ b/web/app/src/lib/utils.js @@ -0,0 +1,6 @@ +import { clsx } from 'clsx' +import { twMerge } from 'tailwind-merge' + +export function combineClasses(...inputs) { + return twMerge(clsx(inputs)) +} diff --git a/web/app/src/views/Details.vue b/web/app/src/views/Details.vue index d5f303f8..15629ed1 100644 --- a/web/app/src/views/Details.vue +++ b/web/app/src/views/Details.vue @@ -1,231 +1,399 @@ - - - \ No newline at end of file + +const changePage = (page) => { + currentPage.value = page + fetchData() +} + +const showTooltip = (result, event) => { + emit('showTooltip', result, event) +} + +const prettifyTimestamp = (timestamp) => { + return new Date(timestamp).toLocaleString() +} + +const generateHealthBadgeImageURL = () => { + return `${serverUrl}/api/v1/endpoints/${endpointStatus.value.key}/health/badge.svg` +} + +const generateUptimeBadgeImageURL = (duration) => { + return `${serverUrl}/api/v1/endpoints/${endpointStatus.value.key}/uptimes/${duration}/badge.svg` +} + +const generateResponseTimeBadgeImageURL = (duration) => { + return `${serverUrl}/api/v1/endpoints/${endpointStatus.value.key}/response-times/${duration}/badge.svg` +} + +const generateResponseTimeChartImageURL = (duration) => { + return `${serverUrl}/api/v1/endpoints/${endpointStatus.value.key}/response-times/${duration}/chart.svg` +} + +onMounted(() => { + fetchData() +}) + \ No newline at end of file diff --git a/web/app/src/views/Home.vue b/web/app/src/views/Home.vue index 29a2dfdf..7bb7039c 100644 --- a/web/app/src/views/Home.vue +++ b/web/app/src/views/Home.vue @@ -1,76 +1,346 @@ - \ No newline at end of file diff --git a/web/app/tailwind.config.js b/web/app/tailwind.config.js index ab741dc8..2e15e2da 100644 --- a/web/app/tailwind.config.js +++ b/web/app/tailwind.config.js @@ -6,9 +6,65 @@ module.exports = { darkMode: 'class', // or 'media' or 'class' theme: { fontFamily: { - 'mono': ['Consolas', 'Monaco', '"Courier New"', 'monospace'] + 'mono': ['Consolas', 'Monaco', '"Courier New"', 'monospace'], + 'sans': ['Inter', 'system-ui', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'] + }, + extend: { + colors: { + border: 'hsl(var(--border))', + input: 'hsl(var(--input))', + ring: 'hsl(var(--ring))', + background: 'hsl(var(--background))', + foreground: 'hsl(var(--foreground))', + primary: { + DEFAULT: 'hsl(var(--primary))', + foreground: 'hsl(var(--primary-foreground))', + }, + secondary: { + DEFAULT: 'hsl(var(--secondary))', + foreground: 'hsl(var(--secondary-foreground))', + }, + destructive: { + DEFAULT: 'hsl(var(--destructive))', + foreground: 'hsl(var(--destructive-foreground))', + }, + muted: { + DEFAULT: 'hsl(var(--muted))', + foreground: 'hsl(var(--muted-foreground))', + }, + accent: { + DEFAULT: 'hsl(var(--accent))', + foreground: 'hsl(var(--accent-foreground))', + }, + popover: { + DEFAULT: 'hsl(var(--popover))', + foreground: 'hsl(var(--popover-foreground))', + }, + card: { + DEFAULT: 'hsl(var(--card))', + foreground: 'hsl(var(--card-foreground))', + }, + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)', + }, + keyframes: { + "accordion-down": { + from: { height: '0' }, + to: { height: 'var(--radix-accordion-content-height)' }, + }, + "accordion-up": { + from: { height: 'var(--radix-accordion-content-height)' }, + to: { height: '0' }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + }, }, - extend: {}, }, variants: { extend: {}, diff --git a/web/app/vue.config.js b/web/app/vue.config.js index d271e7d7..9bdaa9fa 100644 --- a/web/app/vue.config.js +++ b/web/app/vue.config.js @@ -1,3 +1,7 @@ +// Note: The fs.Stats deprecation warning is from Vue CLI's webpack dependencies +// which are not yet compatible with Node.js v23. This is suppressed in the build +// script. All user dependencies have been updated to their latest versions. +// Consider migrating to Vite for better Node.js v23+ compatibility. module.exports = { filenameHashing: false, productionSourceMap: false, diff --git a/web/static/css/app.css b/web/static/css/app.css index 613ca68e..31e13394 100644 --- a/web/static/css/app.css +++ b/web/static/css/app.css @@ -1,5 +1,5 @@ -#social[data-v-a4b3d200]{position:fixed;right:5px;bottom:5px;padding:5px;margin:0;z-index:100}#social img[data-v-a4b3d200]{opacity:.3}#social img[data-v-a4b3d200]:hover{opacity:1}#tooltip{position:fixed;background-color:#fff;border:1px solid #d3d3d3;border-radius:4px;padding:6px;font-size:13px}#tooltip code{color:#212529;line-height:1}#tooltip .tooltip-title{font-weight:700;margin-bottom:0;display:block;margin-top:8px}#tooltip>.tooltip-title:first-child{margin-top:0} +#social[data-v-788af9ce]{position:fixed;right:5px;bottom:5px;padding:5px;margin:0;z-index:100}#social img[data-v-788af9ce]{opacity:.3}#social img[data-v-788af9ce]:hover{opacity:1} /* ! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com -*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Consolas,Monaco,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-2{top:.5rem}.left-5{left:1.25rem}.bottom-2{bottom:.5rem}.float-right{float:right}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-24{margin-top:6rem;margin-bottom:6rem}.mb-2{margin-bottom:.5rem}.mt-4{margin-top:1rem}.mb-5{margin-bottom:1.25rem}.mt-3{margin-top:.75rem}.mr-2{margin-right:.5rem}.mb-4{margin-bottom:1rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mb-10{margin-bottom:2.5rem}.mb-1{margin-bottom:.25rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-64{height:16rem}.h-6{height:1.5rem}.w-64{width:16rem}.w-3\/4{width:75%}.w-1\/4{width:25%}.w-full{width:100%}.w-1\/2{width:50%}.w-7{width:1.75rem}.w-3{width:.75rem}.w-4{width:1rem}.w-8{width:2rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-x-hidden{overflow-x:hidden}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-600{--tw-gradient-from:#16a34a;--tw-gradient-to:rgba(22,163,74,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-green-700{--tw-gradient-to:#15803d}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.p-5{padding:1.25rem}.p-1{padding:.25rem}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-0{padding-left:0;padding-right:0}.pb-12{padding-bottom:3rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pb-2{padding-bottom:.5rem}.pl-1{padding-left:.25rem}.pb-0\.5{padding-bottom:.125rem}.pb-0{padding-bottom:0}.pl-12{padding-left:3rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:Consolas,Monaco,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-extrabold{font-weight:800}.font-bold{font-weight:700}.leading-6{line-height:1.5rem}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bg-success{background-color:#28a745}html:not(.dark) body{background-color:#f7f9fb}html{height:100%}body{padding-top:20px;padding-bottom:20px;min-height:100vh}#global{margin-top:0!important}#global,#results{max-width:1280px}@media screen and (max-width:1279px){body{padding-top:0;padding-bottom:0}#global{min-height:100vh}}@media (hover:hover) and (pointer:fine){.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:from-green-700:hover{--tw-gradient-from:#15803d;--tw-gradient-to:rgba(21,128,61,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-green-800:hover{--tw-gradient-to:#166534}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.dark .dark\:divide-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(75 85 99/var(--tw-divide-opacity))}.dark .dark\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.dark .dark\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}@media (hover:hover) and (pointer:fine){.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.dark .dark\:hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}}@media (min-width:640px){.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1280px){.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:rounded{border-radius:.25rem}.xl\:border{border-width:1px}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\:shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}#settings{position:fixed;left:10px;bottom:10px}#settings select:focus{box-shadow:none}.endpoint:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.endpoint:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-width:3px}.status-over-time{overflow:auto}.status-over-time>span:not(:first-child){margin-left:2px}.status{cursor:pointer;transition:all .5s ease-in-out;overflow-x:hidden;color:#fff;width:5%;font-size:75%;font-weight:700;text-align:center}.status:hover{opacity:.7;transition:opacity .1s ease-in-out;color:#000}.status-time-ago{color:#6a737d;opacity:.5;margin-top:5px}.status.status-success:after{content:"✓"}.status.status-failure:after{content:"X"}@media screen and (max-width:600px){.status.status-failure:after,.status.status-success:after{content:" ";white-space:pre}}.endpoint-group{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.endpoint-group h5:hover{color:#1b1e21}.endpoint-group-content>div:first-child{border-top-left-radius:0;border-top-right-radius:0}.endpoint[data-v-2e619502]{border-radius:3px;border-bottom-width:3px} \ No newline at end of file +*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Consolas,Monaco,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}:root.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-3{left:.75rem}.top-1\/2{top:50%}.bottom-4{bottom:1rem}.left-4{left:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.top-full{top:100%}.left-1\.5{left:.375rem}.left-1{left:.25rem}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mb-1{margin-bottom:.25rem}.mt-1{margin-top:.25rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.mt-8{margin-top:2rem}.ml-1{margin-left:.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.\!hidden{display:none!important}.h-12{height:3rem}.h-full{height:100%}.h-5{height:1.25rem}.h-20{height:5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-16{height:4rem}.h-3\.5{height:.875rem}.h-3{height:.75rem}.h-2{height:.5rem}.h-10{height:2.5rem}.h-9{height:2.25rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-full{width:100%}.w-5{width:1.25rem}.w-20{width:5rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-16{width:4rem}.w-3\.5{width:.875rem}.w-3{width:.75rem}.w-px{width:1px}.w-2{width:.5rem}.w-10{width:2.5rem}.min-w-0{min-width:0}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/2{--tw-translate-x:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-1{gap:.25rem}.gap-0\.5{gap:.125rem}.gap-0{gap:0}.gap-1\.5{gap:.375rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-destructive\/20{border-color:hsl(var(--destructive)/.2)}.border-border{border-color:hsl(var(--border))}.border-transparent{border-color:transparent}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-primary{background-color:hsl(var(--primary))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-card{background-color:hsl(var(--card))}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-popover{background-color:hsl(var(--popover))}.bg-accent{background-color:hsl(var(--accent))}.bg-border\/50{background-color:hsl(var(--border)/.5)}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-3{padding:.75rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-0{padding:0}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.pt-4{padding-top:1rem}.pt-3{padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pt-2{padding-top:.5rem}.pl-10{padding-left:2.5rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Consolas,Monaco,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-destructive{color:hsl(var(--destructive))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary{color:hsl(var(--primary))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-none,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.bg-success{background-color:#28a745}html{height:100%}body{min-height:100vh}@media screen and (max-width:1279px){body{padding-top:0;padding-bottom:0}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0}@media (hover:hover) and (pointer:fine){.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.group:hover .group-hover\:opacity-100{opacity:1}}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}@media (min-width:640px){.sm\:left-2{left:.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-4{height:1rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[90px\]{width:90px}.sm\:w-4{width:1rem}.sm\:flex-initial{flex:0 1 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-8{padding-left:2rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[160px\]{width:160px}.md\:w-\[100px\]{width:100px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-4{gap:1rem}}@keyframes slideIn-482756f8{0%{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}#settings[data-v-482756f8]{animation:slideIn-482756f8 .3s ease-out}#settings>div[data-v-482756f8]{transition:all .2s ease}#settings>div[data-v-482756f8]:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)} \ No newline at end of file diff --git a/web/static/index.html b/web/static/index.html index ccd99fa6..703607b7 100644 --- a/web/static/index.html +++ b/web/static/index.html @@ -1 +1,11 @@ -{{ .UI.Title }}
\ No newline at end of file +{{ .UI.Title }}
\ No newline at end of file diff --git a/web/static/js/app.js b/web/static/js/app.js index 25a4528e..42e09fc2 100644 --- a/web/static/js/app.js +++ b/web/static/js/app.js @@ -1 +1 @@ -(function(){"use strict";var e={9351:function(e,t,s){s.d(t,{L:function(){return bs}});s(7727);var n=s(9963),o=s(6252),a=s(3577),r=s.p+"img/logo.svg";const i={class:"mb-2"},l={class:"flex flex-wrap"},d={class:"w-3/4 text-left my-auto"},g={class:"text-3xl xl:text-5xl lg:text-4xl font-light"},u={class:"w-1/4 flex justify-end"},h=["src"],c={key:1,src:r,alt:"Gatus",class:"object-scale-down",style:{"max-width":"100px","min-width":"50px","min-height":"50px"}},p={key:0,class:"flex flex-wrap"},m=["href"],f={key:2,class:"mx-auto max-w-md pt-12"},v=(0,o._)("img",{src:r,alt:"Gatus",class:"mx-auto",style:{"max-width":"160px","min-width":"50px","min-height":"50px"}},null,-1),w=(0,o._)("h2",{class:"mt-4 text-center text-4xl font-extrabold text-gray-800 dark:text-gray-200"}," Gatus ",-1),x={class:"py-7 px-4 rounded-sm sm:px-10"},y={key:0,class:"text-red-500 text-center mb-5"},k={class:"text-sm"},T={key:0,class:"text-red-500"},b={key:1,class:"text-red-500"},R=["href"];function _(e,t,s,n,r,_){const S=(0,o.up)("Loading"),D=(0,o.up)("router-view"),I=(0,o.up)("Tooltip"),A=(0,o.up)("Social");return(0,o.wg)(),(0,o.iD)(o.HY,null,[r.retrievedConfig?((0,o.wg)(),(0,o.iD)("div",{key:1,class:(0,a.C_)([r.config&&r.config.oidc&&!r.config.authenticated?"hidden":"","container container-xs relative mx-auto xl:rounded xl:border xl:shadow-xl xl:my-5 p-5 pb-12 xl:pb-5 text-left dark:bg-gray-800 dark:text-gray-200 dark:border-gray-500"]),id:"global"},[(0,o._)("div",i,[(0,o._)("div",l,[(0,o._)("div",d,[(0,o._)("div",g,(0,a.zw)(_.header),1)]),(0,o._)("div",u,[((0,o.wg)(),(0,o.j4)((0,o.LL)(_.link?"a":"div"),{href:_.link,target:"_blank",class:"flex items-center justify-center",style:{width:"100px","min-height":"100px"}},{default:(0,o.w5)((()=>[_.logo?((0,o.wg)(),(0,o.iD)("img",{key:0,src:_.logo,alt:"Gatus",class:"object-scale-down",style:{"max-width":"100px","min-width":"50px","min-height":"50px"}},null,8,h)):((0,o.wg)(),(0,o.iD)("img",c))])),_:1},8,["href"]))])]),_.buttons?((0,o.wg)(),(0,o.iD)("div",p,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(_.buttons,(e=>((0,o.wg)(),(0,o.iD)("a",{key:e.name,href:e.link,target:"_blank",class:"px-2 py-0.5 font-medium select-none text-gray-600 hover:text-gray-500 dark:text-gray-300 dark:hover:text-gray-400 hover:underline"},(0,a.zw)(e.name),9,m)))),128))])):(0,o.kq)("",!0)]),(0,o.Wm)(D,{onShowTooltip:_.showTooltip},null,8,["onShowTooltip"])],2)):((0,o.wg)(),(0,o.j4)(S,{key:0,class:"h-64 w-64 px-4"})),r.config&&r.config.oidc&&!r.config.authenticated?((0,o.wg)(),(0,o.iD)("div",f,[v,w,(0,o._)("div",x,[e.$route&&e.$route.query.error?((0,o.wg)(),(0,o.iD)("div",y,[(0,o._)("div",k,["access_denied"===e.$route.query.error?((0,o.wg)(),(0,o.iD)("span",T,"You do not have access to this status page")):((0,o.wg)(),(0,o.iD)("span",b,(0,a.zw)(e.$route.query.error),1))])])):(0,o.kq)("",!0),(0,o._)("div",null,[(0,o._)("a",{href:`${r.SERVER_URL}/oidc/login`,class:"max-w-lg mx-auto w-full flex justify-center py-3 px-4 border border-green-800 rounded-md shadow-lg text-sm text-white bg-green-700 bg-gradient-to-r from-green-600 to-green-700 hover:from-green-700 hover:to-green-800"}," Login with OIDC ",8,R)])])])):(0,o.kq)("",!0),(0,o.Wm)(I,{result:r.tooltip.result,event:r.tooltip.event},null,8,["result","event"]),(0,o.Wm)(A)],64)}const S=e=>((0,o.dD)("data-v-a4b3d200"),e=e(),(0,o.Cn)(),e),D={id:"social"},I=S((()=>(0,o._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,o._)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 16 16",class:"hover:scale-110"},[(0,o._)("path",{fill:"gray",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})])],-1))),A=[I];function C(e,t,s,n,a,r){return(0,o.wg)(),(0,o.iD)("div",D,A)}var P={name:"Social"},$=s(3744);const E=(0,$.Z)(P,[["render",C],["__scopeId","data-v-a4b3d200"]]);var U=E;const L=(0,o._)("div",{class:"tooltip-title"},"Timestamp:",-1),H={id:"tooltip-timestamp"},O=(0,o._)("div",{class:"tooltip-title"},"Response time:",-1),W={id:"tooltip-response-time"},M=(0,o._)("div",{class:"tooltip-title"},"Conditions:",-1),B={id:"tooltip-conditions"},j=(0,o._)("br",null,null,-1),q={key:1,id:"tooltip-errors-container"},z=(0,o._)("div",{class:"tooltip-title"},"Errors:",-1),N={id:"tooltip-errors"},Y=(0,o._)("br",null,null,-1);function Z(e,t,s,n,r,i){return(0,o.wg)(),(0,o.iD)("div",{id:"tooltip",ref:"tooltip",class:(0,a.C_)(r.hidden?"invisible":""),style:(0,a.j5)("top:"+r.top+"px; left:"+r.left+"px")},[s.result?(0,o.WI)(e.$slots,"default",{key:0},(()=>[L,(0,o._)("code",H,(0,a.zw)(e.prettifyTimestamp(s.result.timestamp)),1),O,(0,o._)("code",W,(0,a.zw)((s.result.duration/1e6).toFixed(0))+"ms",1),s.result.conditionResults&&s.result.conditionResults.length?(0,o.WI)(e.$slots,"default",{key:0},(()=>[M,(0,o._)("code",B,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.result.conditionResults,(t=>(0,o.WI)(e.$slots,"default",{key:t},(()=>[(0,o.Uk)((0,a.zw)(t.success?"✓":"X")+" ~ "+(0,a.zw)(t.condition),1),j])))),128))])])):(0,o.kq)("",!0),s.result.errors&&s.result.errors.length?((0,o.wg)(),(0,o.iD)("div",q,[z,(0,o._)("code",N,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.result.errors,(t=>(0,o.WI)(e.$slots,"default",{key:t},(()=>[(0,o.Uk)(" - "+(0,a.zw)(t),1),Y])))),128))])])):(0,o.kq)("",!0)])):(0,o.kq)("",!0)],6)}s(5306);const G={methods:{generatePrettyTimeAgo(e){let t=(new Date).getTime()-new Date(e).getTime();if(t<500)return"now";if(t>2592e5){let e=(t/864e5).toFixed(0);return e+" day"+("1"!==e?"s":"")+" ago"}if(t>36e5){let e=(t/36e5).toFixed(0);return e+" hour"+("1"!==e?"s":"")+" ago"}if(t>6e4){let e=(t/6e4).toFixed(0);return e+" minute"+("1"!==e?"s":"")+" ago"}let s=(t/1e3).toFixed(0);return s+" second"+("1"!==s?"s":"")+" ago"},generatePrettyTimeDifference(e,t){let s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},prettifyTimestamp(e){let t=new Date(e),s=t.getFullYear(),n=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),o=(t.getDate()<10?"0":"")+t.getDate(),a=(t.getHours()<10?"0":"")+t.getHours(),r=(t.getMinutes()<10?"0":"")+t.getMinutes(),i=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+n+"-"+o+" "+a+":"+r+":"+i}}};var F={name:"Endpoints",props:{event:Event,result:Object},mixins:[G],methods:{htmlEntities(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},reposition(){if(this.event&&this.event.type)if("mouseenter"===this.event.type){let e=this.event.target.getBoundingClientRect().y+30,t=this.event.target.getBoundingClientRect().x,s=this.$refs.tooltip.getBoundingClientRect();t+window.scrollX+s.width+50>document.body.getBoundingClientRect().width&&(t=this.event.target.getBoundingClientRect().x-s.width+this.event.target.getBoundingClientRect().width,t<0&&(t+=-t)),e+window.scrollY+s.height+50>document.body.getBoundingClientRect().height&&e>=0&&(e=this.event.target.getBoundingClientRect().y-(s.height+10),e<0&&(e=this.event.target.getBoundingClientRect().y+30)),this.top=e,this.left=t}else"mouseleave"===this.event.type&&(this.hidden=!0)}},watch:{event:function(e){e&&e.type&&("mouseenter"===e.type?this.hidden=!1:"mouseleave"===e.type&&(this.hidden=!0))}},updated(){this.reposition()},created(){this.reposition()},data(){return{hidden:!0,top:0,left:0}}};const K=(0,$.Z)(F,[["render",Z]]);var V=K;const J={class:"flex justify-center items-center mx-auto"},X=(0,o._)("img",{class:(0,a.C_)("animate-spin opacity-60 rounded-full"),src:r,alt:"Gatus logo"},null,-1),Q=[X];function ee(e,t,s,n,a,r){return(0,o.wg)(),(0,o.iD)("div",J,Q)}var te={};const se=(0,$.Z)(te,[["render",ee]]);var ne=se,oe={name:"App",components:{Loading:ne,Social:U,Tooltip:V},methods:{fetchConfig(){fetch(`${bs}/api/v1/config`,{credentials:"include"}).then((e=>{this.retrievedConfig=!0,200===e.status&&e.json().then((e=>{this.config=e}))}))},showTooltip(e,t){this.tooltip={result:e,event:t}}},computed:{logo(){return window.config&&window.config.logo&&"{{ .UI.Logo }}"!==window.config.logo?window.config.logo:""},header(){return window.config&&window.config.header&&"{{ .UI.Header }}"!==window.config.header?window.config.header:"Health Status"},link(){return window.config&&window.config.link&&"{{ .UI.Link }}"!==window.config.link?window.config.link:null},buttons(){return window.config&&window.config.buttons?window.config.buttons:[]}},data(){return{error:"",retrievedConfig:!1,config:{oidc:!1,authenticated:!0},tooltip:{},SERVER_URL:bs}},created(){this.fetchConfig()}};const ae=(0,$.Z)(oe,[["render",_]]);var re=ae,ie=s(2119);function le(e,t,s,a,r,i){const l=(0,o.up)("Loading"),d=(0,o.up)("Endpoints"),g=(0,o.up)("Pagination"),u=(0,o.up)("Settings");return(0,o.wg)(),(0,o.iD)(o.HY,null,[r.retrievedData?(0,o.kq)("",!0):((0,o.wg)(),(0,o.j4)(l,{key:0,class:"h-64 w-64 px-4 my-24"})),(0,o.WI)(e.$slots,"default",{},(()=>[(0,o.wy)((0,o.Wm)(d,{endpointStatuses:r.endpointStatuses,showStatusOnHover:!0,onShowTooltip:i.showTooltip,onToggleShowAverageResponseTime:i.toggleShowAverageResponseTime,showAverageResponseTime:r.showAverageResponseTime},null,8,["endpointStatuses","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),[[n.F8,r.retrievedData]]),(0,o.wy)((0,o.Wm)(g,{onPage:i.changePage,numberOfResultsPerPage:20},null,8,["onPage"]),[[n.F8,r.retrievedData]])])),(0,o.Wm)(u,{onRefreshData:i.fetchData},null,8,["onRefreshData"])],64)}s(3948);const de={id:"settings",class:"flex bg-gray-200 border-gray-300 rounded border shadow dark:text-gray-200 dark:bg-gray-800 dark:border-gray-500"},ge={class:"text-xs text-gray-600 rounded-xl py-1.5 px-1.5 dark:text-gray-200"},ue=["selected"],he=["selected"],ce=["selected"],pe=["selected"],me=["selected"],fe=["selected"];function ve(e,t,s,n,a,r){const i=(0,o.up)("ArrowPathIcon"),l=(0,o.up)("SunIcon"),d=(0,o.up)("MoonIcon");return(0,o.wg)(),(0,o.iD)("div",de,[(0,o._)("div",ge,[(0,o.Wm)(i,{class:"w-3"})]),(0,o._)("select",{class:"text-center text-gray-500 text-xs dark:text-gray-200 dark:bg-gray-800 border-r border-l border-gray-300 dark:border-gray-500 pl-1",id:"refresh-rate",ref:"refreshInterval",onChange:t[0]||(t[0]=(...e)=>r.handleChangeRefreshInterval&&r.handleChangeRefreshInterval(...e))},[(0,o._)("option",{value:"10",selected:10===a.refreshInterval},"10s",8,ue),(0,o._)("option",{value:"30",selected:30===a.refreshInterval},"30s",8,he),(0,o._)("option",{value:"60",selected:60===a.refreshInterval},"1m",8,ce),(0,o._)("option",{value:"120",selected:120===a.refreshInterval},"2m",8,pe),(0,o._)("option",{value:"300",selected:300===a.refreshInterval},"5m",8,me),(0,o._)("option",{value:"600",selected:600===a.refreshInterval},"10m",8,fe)],544),(0,o._)("button",{onClick:t[1]||(t[1]=(...e)=>r.toggleDarkMode&&r.toggleDarkMode(...e)),class:"text-xs p-1"},[a.darkMode?(0,o.WI)(e.$slots,"default",{key:0},(()=>[(0,o.Wm)(l,{class:"w-4"})])):(0,o.WI)(e.$slots,"default",{key:1},(()=>[(0,o.Wm)(d,{class:"w-4 text-gray-500"})]))])])}var we=s(6758),xe=s(4913),ye=s(7886);function ke(){var e;const t=null===(e=document.cookie.match(/theme=(dark|light);?/))||void 0===e?void 0:e[1];return"dark"===t||!t&&(window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.contains("dark"))}var Te={name:"Settings",components:{ArrowPathIcon:ye.Z,MoonIcon:we.Z,SunIcon:xe.Z},props:{},methods:{setRefreshInterval(e){localStorage.setItem("gatus:refresh-interval",e);let t=this;this.refreshIntervalHandler=setInterval((function(){t.refreshData()}),1e3*e)},refreshData(){this.$emit("refreshData")},handleChangeRefreshInterval(){this.refreshData(),clearInterval(this.refreshIntervalHandler),this.setRefreshInterval(this.$refs.refreshInterval.value)},toggleDarkMode(){ke()?document.cookie="theme=light; path=/; max-age=31536000; samesite=strict":document.cookie="theme=dark; path=/; max-age=31536000; samesite=strict",this.applyTheme()},applyTheme(){ke()?(this.darkMode=!0,document.documentElement.classList.add("dark")):(this.darkMode=!1,document.documentElement.classList.remove("dark"))}},created(){10!==this.refreshInterval&&30!==this.refreshInterval&&60!==this.refreshInterval&&120!==this.refreshInterval&&300!==this.refreshInterval&&600!==this.refreshInterval&&(this.refreshInterval=300),this.setRefreshInterval(this.refreshInterval),this.applyTheme()},unmounted(){clearInterval(this.refreshIntervalHandler)},data(){return{refreshInterval:localStorage.getItem("gatus:refresh-interval")<10?300:parseInt(localStorage.getItem("gatus:refresh-interval")),refreshIntervalHandler:0,darkMode:ke()}}};const be=(0,$.Z)(Te,[["render",ve]]);var Re=be;const _e={id:"results"};function Se(e,t,s,n,a,r){const i=(0,o.up)("EndpointGroup");return(0,o.wg)(),(0,o.iD)("div",_e,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(a.endpointGroups,(t=>(0,o.WI)(e.$slots,"default",{key:t},(()=>[(0,o.Wm)(i,{endpoints:t.endpoints,name:t.name,onShowTooltip:r.showTooltip,onToggleShowAverageResponseTime:r.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["endpoints","name","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))])}const De={class:"font-mono text-gray-400 text-xl font-medium pb-2 px-3 dark:text-gray-200 dark:hover:text-gray-500 dark:border-gray-500"},Ie={class:"endpoint-group-arrow mr-2"},Ae={key:0,class:"rounded-xl bg-red-600 text-white px-2 font-bold leading-6 float-right h-6 text-center hover:scale-110 text-sm",title:"Partial Outage"},Ce={key:1,class:"float-right text-green-600 w-7 hover:scale-110",title:"Operational"};function Pe(e,t,s,n,r,i){const l=(0,o.up)("CheckCircleIcon"),d=(0,o.up)("Endpoint");return(0,o.wg)(),(0,o.iD)("div",{class:(0,a.C_)(0===s.endpoints.length?"mt-3":"mt-4")},["undefined"!==s.name?(0,o.WI)(e.$slots,"default",{key:0},(()=>[(0,o._)("div",{class:"endpoint-group pt-2 border dark:bg-gray-800 dark:border-gray-500",onClick:t[0]||(t[0]=(...e)=>i.toggleGroup&&i.toggleGroup(...e))},[(0,o._)("h5",De,[(0,o._)("span",Ie,(0,a.zw)(r.collapsed?"▼":"▲"),1),(0,o.Uk)(" "+(0,a.zw)(s.name)+" ",1),r.unhealthyCount?((0,o.wg)(),(0,o.iD)("span",Ae,(0,a.zw)(r.unhealthyCount),1)):((0,o.wg)(),(0,o.iD)("span",Ce,[(0,o.Wm)(l)]))])])])):(0,o.kq)("",!0),r.collapsed?(0,o.kq)("",!0):((0,o.wg)(),(0,o.iD)("div",{key:1,class:(0,a.C_)("undefined"===s.name?"":"endpoint-group-content")},[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.endpoints,((t,n)=>(0,o.WI)(e.$slots,"default",{key:n},(()=>[(0,o.Wm)(d,{data:t,maximumNumberOfResults:20,onShowTooltip:i.showTooltip,onToggleShowAverageResponseTime:i.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))],2))],2)}const $e={key:0,class:"endpoint px-3 py-3 border-l border-r border-t rounded-none hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-500"},Ee={class:"flex flex-wrap mb-2"},Ue={class:"w-3/4"},Le={key:0,class:"text-gray-500 font-light"},He={class:"w-1/4 text-right"},Oe=["title"],We={class:"status-over-time flex flex-row"},Me=["onMouseenter"],Be=["onMouseenter"],je={class:"flex flex-wrap status-time-ago"},qe={class:"w-1/2"},ze={class:"w-1/2 text-right"},Ne=(0,o._)("div",{class:"w-1/2"},"   ",-1);function Ye(e,t,s,n,r,i){const l=(0,o.up)("router-link");return s.data?((0,o.wg)(),(0,o.iD)("div",$e,[(0,o._)("div",Ee,[(0,o._)("div",Ue,[(0,o.Wm)(l,{to:i.generatePath(),class:"font-bold hover:text-blue-800 hover:underline dark:hover:text-blue-400",title:"View detailed endpoint health"},{default:(0,o.w5)((()=>[(0,o.Uk)((0,a.zw)(s.data.name),1)])),_:1},8,["to"]),s.data.results&&s.data.results.length&&s.data.results[s.data.results.length-1].hostname?((0,o.wg)(),(0,o.iD)("span",Le," | "+(0,a.zw)(s.data.results[s.data.results.length-1].hostname),1)):(0,o.kq)("",!0)]),(0,o._)("div",He,[s.data.results&&s.data.results.length?((0,o.wg)(),(0,o.iD)("span",{key:0,class:"font-light overflow-x-hidden cursor-pointer select-none hover:text-gray-500",onClick:t[0]||(t[0]=(...e)=>i.toggleShowAverageResponseTime&&i.toggleShowAverageResponseTime(...e)),title:s.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},[s.showAverageResponseTime?(0,o.WI)(e.$slots,"default",{key:0},(()=>[(0,o.Uk)(" ~"+(0,a.zw)(r.averageResponseTime)+"ms ",1)])):(0,o.WI)(e.$slots,"default",{key:1},(()=>[(0,o.Uk)((0,a.zw)(r.minResponseTime===r.maxResponseTime?r.minResponseTime:r.minResponseTime+"-"+r.maxResponseTime)+"ms ",1)]))],8,Oe)):(0,o.kq)("",!0)])]),(0,o._)("div",null,[(0,o._)("div",We,[s.data.results&&s.data.results.length?(0,o.WI)(e.$slots,"default",{key:0},(()=>[s.data.results.length[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.maximumNumberOfResults-s.data.results.length,(e=>((0,o.wg)(),(0,o.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))])):(0,o.kq)("",!0),((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.data.results,(s=>(0,o.WI)(e.$slots,"default",{key:s},(()=>[s.success?((0,o.wg)(),(0,o.iD)("span",{key:0,class:"status status-success rounded bg-success",onMouseenter:e=>i.showTooltip(s,e),onMouseleave:t[1]||(t[1]=e=>i.showTooltip(null,e))},null,40,Me)):((0,o.wg)(),(0,o.iD)("span",{key:1,class:"status status-failure rounded bg-red-600",onMouseenter:e=>i.showTooltip(s,e),onMouseleave:t[2]||(t[2]=e=>i.showTooltip(null,e))},null,40,Be))])))),128))])):(0,o.WI)(e.$slots,"default",{key:1},(()=>[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(s.maximumNumberOfResults,(e=>((0,o.wg)(),(0,o.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))]))])]),(0,o._)("div",je,[s.data.results&&s.data.results.length?(0,o.WI)(e.$slots,"default",{key:0},(()=>[(0,o._)("div",qe,(0,a.zw)(e.generatePrettyTimeAgo(s.data.results[0].timestamp)),1),(0,o._)("div",ze,(0,a.zw)(e.generatePrettyTimeAgo(s.data.results[s.data.results.length-1].timestamp)),1)])):(0,o.WI)(e.$slots,"default",{key:1},(()=>[Ne]))])])):(0,o.kq)("",!0)}var Ze={name:"Endpoint",props:{maximumNumberOfResults:Number,data:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],mixins:[G],methods:{updateMinAndMaxResponseTimes(){let e=null,t=null,s=0;for(let n in this.data.results){const o=parseInt((this.data.results[n].duration/1e6).toFixed(0));s+=o,(null==e||e>o)&&(e=o),(null==t||t0&&(this.endpoints[t].results[this.endpoints[t].results.length-1].success||e++);this.unhealthyCount=e},toggleGroup(){this.collapsed=!this.collapsed,localStorage.setItem(`gatus:endpoint-group:${this.name}:collapsed`,this.collapsed)},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.$emit("toggleShowAverageResponseTime")}},watch:{endpoints:function(){this.healthCheck()}},created(){this.healthCheck()},data(){return{unhealthyCount:0,collapsed:"true"===localStorage.getItem(`gatus:endpoint-group:${this.name}:collapsed`)}}};const Je=(0,$.Z)(Ve,[["render",Pe]]);var Xe=Je,Qe={name:"Endpoints",components:{EndpointGroup:Xe},props:{showStatusOnHover:Boolean,endpointStatuses:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{process(){let e={};for(let s in this.endpointStatuses){let t=this.endpointStatuses[s];e[t.group]&&0!==e[t.group].length||(e[t.group]=[]),e[t.group].push(t)}let t=[];for(let s in e)"undefined"!==s&&t.push({name:s,endpoints:e[s]});e["undefined"]&&t.push({name:"undefined",endpoints:e["undefined"]}),this.endpointGroups=t},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.$emit("toggleShowAverageResponseTime")}},watch:{endpointStatuses:function(){this.process()}},data(){return{userClickedStatus:!1,endpointGroups:[]}}};const et=(0,$.Z)(Qe,[["render",Se]]);var tt=et;const st={class:"mt-3 flex"},nt={class:"flex-1"},ot={class:"flex-1 text-right"};function at(e,t,s,n,a,r){return(0,o.wg)(),(0,o.iD)("div",st,[(0,o._)("div",nt,[a.currentPager.nextPage&&r.nextPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},"<")):(0,o.kq)("",!0)]),(0,o._)("div",ot,[a.currentPage>1?((0,o.wg)(),(0,o.iD)("button",{key:0,onClick:t[1]||(t[1]=(...e)=>r.previousPage&&r.previousPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},">")):(0,o.kq)("",!0)])])}var rt={name:"Pagination",props:{numberOfResultsPerPage:Number},components:{},emits:["page"],methods:{nextPage(){this.currentPage++,this.$emit("page",this.currentPage)},previousPage(){this.currentPage--,this.$emit("page",this.currentPage)}},computed:{maxPages(){return Math.ceil(parseInt(window.config.maximumNumberOfResults)/this.numberOfResultsPerPage)}},data(){return{currentPage:1}}};const it=(0,$.Z)(rt,[["render",at]]);var lt=it,dt={name:"Home",components:{Loading:ne,Pagination:lt,Endpoints:tt,Settings:Re},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{fetchData(){fetch(`${bs}/api/v1/endpoints/statuses?page=${this.currentPage}`,{credentials:"include"}).then((e=>{this.retrievedData=!0,200===e.status?e.json().then((e=>{JSON.stringify(this.endpointStatuses)!==JSON.stringify(e)&&(this.endpointStatuses=e)})):e.text().then((e=>{console.log(`[Home][fetchData] Error: ${e}`)}))}))},changePage(e){this.retrievedData=!1,this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{endpointStatuses:[],currentPage:1,showAverageResponseTime:!0,retrievedData:!1}},created(){this.retrievedData=!1,this.fetchData()}};const gt=(0,$.Z)(dt,[["render",le]]);var ut=gt;const ht=e=>((0,o.dD)("data-v-2e619502"),e=e(),(0,o.Cn)(),e),ct=(0,o.Uk)(" ← "),pt=ht((()=>(0,o._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RECENT CHECKS",-1))),mt=ht((()=>(0,o._)("hr",{class:"mb-4"},null,-1))),ft={key:1,class:"mt-12"},vt=ht((()=>(0,o._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"UPTIME",-1))),wt=ht((()=>(0,o._)("hr",null,null,-1))),xt={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},yt={class:"flex-1"},kt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 30 days",-1))),Tt=["src"],bt={class:"flex-1"},Rt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),_t=["src"],St={class:"flex-1"},Dt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),It=["src"],At={class:"flex-1"},Ct=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),Pt=["src"],$t={key:2,class:"mt-12"},Et={class:"flex items-center justify-between"},Ut=ht((()=>(0,o._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RESPONSE TIME",-1))),Lt=ht((()=>(0,o._)("option",{value:"24h"},"24 hours",-1))),Ht=ht((()=>(0,o._)("option",{value:"7d"},"7 days",-1))),Ot=ht((()=>(0,o._)("option",{value:"30d"},"30 days",-1))),Wt=[Lt,Ht,Ot],Mt=["src"],Bt={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},jt={class:"flex-1"},qt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 30 days",-1))),zt=["src"],Nt={class:"flex-1"},Yt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),Zt=["src"],Gt={class:"flex-1"},Ft=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),Kt=["src"],Vt={class:"flex-1"},Jt=ht((()=>(0,o._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),Xt=["src"],Qt={key:3},es=ht((()=>(0,o._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"CURRENT HEALTH",-1))),ts=ht((()=>(0,o._)("hr",null,null,-1))),ss={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},ns={class:"flex-1"},os=["src"],as={key:4},rs=ht((()=>(0,o._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"EVENTS",-1))),is=ht((()=>(0,o._)("hr",null,null,-1))),ls={role:"list",class:"px-0 xl:px-24 divide-y divide-gray-200 dark:divide-gray-600"},ds={class:"text-sm sm:text-lg"},gs={class:"flex mt-1 text-xs sm:text-sm text-gray-400"},us={class:"flex-2 text-left pl-12"},hs={class:"flex-1 text-right"};function cs(e,t,s,r,i,l){const d=(0,o.up)("router-link"),g=(0,o.up)("Endpoint"),u=(0,o.up)("Pagination"),h=(0,o.up)("ArrowUpCircleIcon"),c=(0,o.up)("ArrowDownCircleIcon"),p=(0,o.up)("PlayCircleIcon"),m=(0,o.up)("Settings");return(0,o.wg)(),(0,o.iD)(o.HY,null,[(0,o.Wm)(d,{to:"../",class:"absolute top-2 left-5 inline-block px-2 pb-0.5 text-sm text-black bg-gray-100 rounded hover:bg-gray-200 focus:outline-none border border-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},{default:(0,o.w5)((()=>[ct])),_:1}),(0,o._)("div",null,[i.endpointStatus?(0,o.WI)(e.$slots,"default",{key:0},(()=>[pt,mt,(0,o.Wm)(g,{data:i.endpointStatus,maximumNumberOfResults:20,onShowTooltip:l.showTooltip,onToggleShowAverageResponseTime:l.toggleShowAverageResponseTime,showAverageResponseTime:i.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,o.Wm)(u,{onPage:l.changePage,numberOfResultsPerPage:20},null,8,["onPage"])]),!0):(0,o.kq)("",!0),i.endpointStatus&&i.endpointStatus.key?((0,o.wg)(),(0,o.iD)("div",ft,[vt,wt,(0,o._)("div",xt,[(0,o._)("div",yt,[kt,(0,o._)("img",{src:l.generateUptimeBadgeImageURL("30d"),alt:"30d uptime badge",class:"mx-auto"},null,8,Tt)]),(0,o._)("div",bt,[Rt,(0,o._)("img",{src:l.generateUptimeBadgeImageURL("7d"),alt:"7d uptime badge",class:"mx-auto"},null,8,_t)]),(0,o._)("div",St,[Dt,(0,o._)("img",{src:l.generateUptimeBadgeImageURL("24h"),alt:"24h uptime badge",class:"mx-auto"},null,8,It)]),(0,o._)("div",At,[Ct,(0,o._)("img",{src:l.generateUptimeBadgeImageURL("1h"),alt:"1h uptime badge",class:"mx-auto"},null,8,Pt)])])])):(0,o.kq)("",!0),i.endpointStatus&&i.endpointStatus.key&&i.showResponseTimeChartAndBadges?((0,o.wg)(),(0,o.iD)("div",$t,[(0,o._)("div",Et,[Ut,(0,o.wy)((0,o._)("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>i.selectedChartDuration=e),class:"text-sm bg-gray-400 text-white border border-gray-600 rounded-md px-3 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500"},Wt,512),[[n.bM,i.selectedChartDuration]])]),(0,o._)("img",{src:l.generateResponseTimeChartImageURL(i.selectedChartDuration),alt:"response time chart",class:"mt-6"},null,8,Mt),(0,o._)("div",Bt,[(0,o._)("div",jt,[qt,(0,o._)("img",{src:l.generateResponseTimeBadgeImageURL("30d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,zt)]),(0,o._)("div",Nt,[Yt,(0,o._)("img",{src:l.generateResponseTimeBadgeImageURL("7d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,Zt)]),(0,o._)("div",Gt,[Ft,(0,o._)("img",{src:l.generateResponseTimeBadgeImageURL("24h"),alt:"24h response time badge",class:"mx-auto mt-2"},null,8,Kt)]),(0,o._)("div",Vt,[Jt,(0,o._)("img",{src:l.generateResponseTimeBadgeImageURL("1h"),alt:"1h response time badge",class:"mx-auto mt-2"},null,8,Xt)])])])):(0,o.kq)("",!0),i.endpointStatus&&i.endpointStatus.key?((0,o.wg)(),(0,o.iD)("div",Qt,[es,ts,(0,o._)("div",ss,[(0,o._)("div",ns,[(0,o._)("img",{src:l.generateHealthBadgeImageURL(),alt:"health badge",class:"mx-auto"},null,8,os)])])])):(0,o.kq)("",!0),i.endpointStatus&&i.endpointStatus.key?((0,o.wg)(),(0,o.iD)("div",as,[rs,is,(0,o._)("ul",ls,[((0,o.wg)(!0),(0,o.iD)(o.HY,null,(0,o.Ko)(i.events,(t=>((0,o.wg)(),(0,o.iD)("li",{key:t,class:"p-3 my-4"},[(0,o._)("h2",ds,["HEALTHY"===t.type?((0,o.wg)(),(0,o.j4)(h,{key:0,class:"w-8 inline mr-2 text-green-600"})):"UNHEALTHY"===t.type?((0,o.wg)(),(0,o.j4)(c,{key:1,class:"w-8 inline mr-2 text-red-500"})):"START"===t.type?((0,o.wg)(),(0,o.j4)(p,{key:2,class:"w-8 inline mr-2 text-gray-400 dark:text-gray-100"})):(0,o.kq)("",!0),(0,o.Uk)(" "+(0,a.zw)(t.fancyText),1)]),(0,o._)("div",gs,[(0,o._)("div",us,(0,a.zw)(e.prettifyTimestamp(t.timestamp)),1),(0,o._)("div",hs,(0,a.zw)(t.fancyTimeAgo),1)])])))),128))])])):(0,o.kq)("",!0)]),(0,o.Wm)(m,{onRefreshData:l.fetchData},null,8,["onRefreshData"])],64)}var ps=s(9505),ms=s(7163),fs=s(8585),vs={name:"Details",components:{Pagination:lt,Endpoint:Fe,Settings:Re,ArrowDownCircleIcon:ps.Z,ArrowUpCircleIcon:ms.Z,PlayCircleIcon:fs.Z},emits:["showTooltip"],mixins:[G],methods:{fetchData(){fetch(`${this.serverUrl}/api/v1/endpoints/${this.$route.params.key}/statuses?page=${this.currentPage}`,{credentials:"include"}).then((e=>{200===e.status?e.json().then((e=>{if(JSON.stringify(this.endpointStatus)!==JSON.stringify(e)){this.endpointStatus=e;let t=[];for(let s=e.events.length-1;s>=0;s--){let n=e.events[s];if(s===e.events.length-1)"UNHEALTHY"===n.type?n.fancyText="Endpoint is unhealthy":"HEALTHY"===n.type?n.fancyText="Endpoint is healthy":"START"===n.type&&(n.fancyText="Monitoring started");else{let t=e.events[s+1];"HEALTHY"===n.type?n.fancyText="Endpoint became healthy":"UNHEALTHY"===n.type?n.fancyText=t?"Endpoint was unhealthy for "+this.generatePrettyTimeDifference(t.timestamp,n.timestamp):"Endpoint became unhealthy":"START"===n.type&&(n.fancyText="Monitoring started")}n.fancyTimeAgo=this.generatePrettyTimeAgo(n.timestamp),t.push(n)}this.events=t;for(let s=0;s0){this.showResponseTimeChartAndBadges=!0;break}}})):e.text().then((e=>{console.log(`[Details][fetchData] Error: ${e}`)}))}))},generateHealthBadgeImageURL(){return`${this.serverUrl}/api/v1/endpoints/${this.endpointStatus.key}/health/badge.svg`},generateUptimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/endpoints/${this.endpointStatus.key}/uptimes/${e}/badge.svg`},generateResponseTimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/endpoints/${this.endpointStatus.key}/response-times/${e}/badge.svg`},generateResponseTimeChartImageURL(e){return`${this.serverUrl}/api/v1/endpoints/${this.endpointStatus.key}/response-times/${e}/chart.svg`},changePage(e){this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{endpointStatus:{},events:[],hourlyAverageResponseTime:{},selectedChartDuration:"24h",serverUrl:"."===bs?"..":bs,currentPage:1,showAverageResponseTime:!0,showResponseTimeChartAndBadges:!1,chartLabels:[],chartValues:[]}},created(){this.fetchData()}};const ws=(0,$.Z)(vs,[["render",cs],["__scopeId","data-v-2e619502"]]);var xs=ws;const ys=[{path:"/",name:"Home",component:ut},{path:"/endpoints/:key",name:"Details",component:xs}],ks=(0,ie.p7)({history:(0,ie.PO)("/"),routes:ys});var Ts=ks;const bs="";(0,n.ri)(re).use(Ts).mount("#app")}},t={};function s(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,s),a.exports}s.m=e,function(){var e=[];s.O=function(t,n,o,a){if(!n){var r=1/0;for(g=0;g=a)&&Object.keys(s.O).every((function(e){return s.O[e](n[l])}))?n.splice(l--,1):(i=!1,a0&&e[g-1][2]>a;g--)e[g]=e[g-1];e[g]=[n,o,a]}}(),function(){s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,n){var o,a,r=n[0],i=n[1],l=n[2],d=0;if(r.some((function(t){return 0!==e[t]}))){for(o in i)s.o(i,o)&&(s.m[o]=i[o]);if(l)var g=l(s)}for(t&&t(n);d((0,s.wg)(),(0,s.iD)("button",{class:(0,n.C_)((0,o.SU)(p)((0,o.SU)(t)({variant:e.variant,size:e.size}),a.$attrs.class??"")),disabled:e.disabled},[(0,s.WI)(a.$slots,"default")],10,f))}};const h=w;var x=h,b={__name:"Card",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,o.SU)(p)("rounded-lg border bg-card text-card-foreground shadow-sm",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const y=b;var _=y,k={__name:"CardHeader",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,o.SU)(p)("flex flex-col space-y-1.5 p-6",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const S=k;var U=S,D={__name:"CardTitle",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("h3",{class:(0,n.C_)((0,o.SU)(p)("text-2xl font-semibold leading-none tracking-tight",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const W=D;var H=W,z={__name:"CardContent",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,o.SU)(p)("p-6 pt-0",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const j=z;var C=j;const T={id:"social"};function R(e,t){return(0,s.wg)(),(0,s.iD)("div",T,t[0]||(t[0]=[(0,s._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,s._)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 16 16",class:"hover:scale-110"},[(0,s._)("path",{fill:"gray",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})])],-1)]))}var F=a(744);const $={},A=(0,F.Z)($,[["render",R],["__scopeId","data-v-788af9ce"]]);var E=A;const M={methods:{generatePrettyTimeAgo(e){let t=(new Date).getTime()-new Date(e).getTime();if(t<500)return"now";if(t>2592e5){let e=(t/864e5).toFixed(0);return e+" day"+("1"!==e?"s":"")+" ago"}if(t>36e5){let e=(t/36e5).toFixed(0);return e+" hour"+("1"!==e?"s":"")+" ago"}if(t>6e4){let e=(t/6e4).toFixed(0);return e+" minute"+("1"!==e?"s":"")+" ago"}let a=(t/1e3).toFixed(0);return a+" second"+("1"!==a?"s":"")+" ago"},generatePrettyTimeDifference(e,t){let a=Math.ceil((new Date(e)-new Date(t))/1e3/60);return a+(1===a?" minute":" minutes")},prettifyTimestamp(e){let t=new Date(e),a=t.getFullYear(),l=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),s=(t.getDate()<10?"0":"")+t.getDate(),n=(t.getHours()<10?"0":"")+t.getHours(),o=(t.getMinutes()<10?"0":"")+t.getMinutes(),r=(t.getSeconds()<10?"0":"")+t.getSeconds();return a+"-"+l+"-"+s+" "+n+":"+o+":"+r}}},I={key:0,class:"space-y-2"},L={class:"font-mono text-xs"},N={class:"font-mono text-xs"},P={key:0},q={class:"font-mono text-xs space-y-0.5"},O={class:"break-all"},Y={key:1},Z={class:"font-mono text-xs space-y-0.5"};var V={__name:"Tooltip",props:{event:{type:[Event,Object],default:null},result:{type:Object,default:null}},setup(e){const t=e,a=(0,o.iH)(!0),l=(0,o.iH)(0),r=(0,o.iH)(0),i=(0,o.iH)(null),{prettifyTimestamp:u}=M.methods,d=async()=>{if(t.event&&t.event.type)if(await(0,s.Y3)(),"mouseenter"===t.event.type&&i.value){const e=t.event.target,n=e.getBoundingClientRect();a.value=!1,await(0,s.Y3)();const o=i.value.getBoundingClientRect();let u=n.bottom+8,d=n.left;const c=window.innerHeight-n.bottom,m=n.top;co.height+20?n.top-o.height-8:m>c?10:window.innerHeight-o.height-10);const g=window.innerWidth-n.left;gt.event),(e=>{e&&e.type&&("mouseenter"===e.type?(a.value=!1,(0,s.Y3)((()=>d()))):"mouseleave"===e.type&&(a.value=!0))}),{immediate:!0}),(0,s.YP)((()=>t.result),(()=>{a.value||(0,s.Y3)((()=>d()))})),(t,d)=>((0,s.wg)(),(0,s.iD)("div",{id:"tooltip",ref_key:"tooltip",ref:i,class:(0,n.C_)(["fixed z-50 px-3 py-2 text-sm rounded-md shadow-lg border transition-all duration-200","bg-popover text-popover-foreground border-border",a.value?"invisible opacity-0":"visible opacity-100"]),style:(0,n.j5)(`top: ${l.value}px; left: ${r.value}px;`)},[e.result?((0,s.wg)(),(0,s.iD)("div",I,[(0,s._)("div",null,[d[0]||(d[0]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Timestamp",-1)),(0,s._)("div",L,(0,n.zw)((0,o.SU)(u)(e.result.timestamp)),1)]),(0,s._)("div",null,[d[1]||(d[1]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Response Time",-1)),(0,s._)("div",N,(0,n.zw)((e.result.duration/1e6).toFixed(0))+"ms",1)]),e.result.conditionResults&&e.result.conditionResults.length?((0,s.wg)(),(0,s.iD)("div",P,[d[2]||(d[2]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Conditions",-1)),(0,s._)("div",q,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.result.conditionResults,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"flex items-start gap-1"},[(0,s._)("span",{class:(0,n.C_)(e.success?"text-green-500":"text-red-500")},(0,n.zw)(e.success?"✓":"✗"),3),(0,s._)("span",O,(0,n.zw)(e.condition),1)])))),128))])])):(0,s.kq)("",!0),e.result.errors&&e.result.errors.length?((0,s.wg)(),(0,s.iD)("div",Y,[d[3]||(d[3]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Errors",-1)),(0,s._)("div",Z,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.result.errors,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"text-red-500"}," • "+(0,n.zw)(e),1)))),128))])])):(0,s.kq)("",!0)])):(0,s.kq)("",!0)],6))}};const G=V;var B=G;const K={class:"flex justify-center items-center"};var J={__name:"Loading",props:{size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)}},setup(e){const t=e,a=(0,s.Fl)((()=>{const e={xs:"w-4 h-4",sm:"w-6 h-6",md:"w-8 h-8",lg:"w-12 h-12",xl:"w-16 h-16"};return e[t.size]||e.md}));return(e,t)=>((0,s.wg)(),(0,s.iD)("div",K,[(0,s._)("img",{class:(0,n.C_)(["animate-spin rounded-full opacity-60 grayscale",a.value]),src:r,alt:"Gatus logo"},null,2)]))}};const Q=J;var X=Q;const ee={id:"global",class:"bg-background text-foreground"},te={key:0,class:"flex items-center justify-center min-h-screen"},ae={key:1,class:"relative"},le={class:"border-b bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/60"},se={class:"container mx-auto px-4 py-4 max-w-7xl"},ne={class:"flex items-center justify-between"},oe={class:"flex items-center gap-4"},re={class:"w-12 h-12 flex items-center justify-center"},ie=["src"],ue={key:1,src:r,alt:"Gatus",class:"w-full h-full object-contain"},de={class:"text-2xl font-bold tracking-tight"},ce={key:0,class:"text-sm text-muted-foreground"},me={class:"flex items-center gap-2"},ge={key:0,class:"hidden md:flex items-center gap-1"},ve=["href"],pe={key:0,class:"md:hidden mt-4 pt-4 border-t space-y-1"},fe=["href"],we={class:"relative"},he={class:"border-t mt-auto"},xe={class:"container mx-auto px-4 py-6 max-w-7xl"},be={class:"flex flex-col items-center gap-4"},ye={key:2,id:"login-container",class:"flex items-center justify-center min-h-screen p-4"},_e={key:0,class:"mb-6"},ke={class:"p-3 rounded-md bg-destructive/10 border border-destructive/20"},Se={class:"text-sm text-destructive text-center"},Ue={key:0},De={key:1},We=["href"];var He={__name:"App",setup(e){const t=(0,i.yj)(),a=(0,o.iH)(!1),l=(0,o.iH)({oidc:!1,authenticated:!0}),m=(0,o.iH)({}),g=(0,o.iH)(!1),v=(0,o.iH)(!1),p=(0,s.Fl)((()=>window.config&&window.config.logo&&"{{ .UI.Logo }}"!==window.config.logo?window.config.logo:"")),f=(0,s.Fl)((()=>window.config&&window.config.header&&"{{ .UI.Header }}"!==window.config.header?window.config.header:"Gatus")),w=(0,s.Fl)((()=>window.config&&window.config.link&&"{{ .UI.Link }}"!==window.config.link?window.config.link:null)),h=(0,s.Fl)((()=>window.config&&window.config.buttons?window.config.buttons:[])),b=async()=>{try{const e=await fetch(`${vl}/api/v1/config`,{credentials:"include"});if(a.value=!0,200===e.status){const t=await e.json();l.value=t}}catch(e){console.error("Failed to fetch config:",e),a.value=!0}},y=(e,t)=>{m.value={result:e,event:t}};return(0,s.bv)((()=>{b()})),(e,i)=>{const b=(0,s.up)("router-view");return(0,s.wg)(),(0,s.iD)("div",ee,[a.value?l.value&&l.value.oidc&&!l.value.authenticated?((0,s.wg)(),(0,s.iD)("div",ye,[(0,s.Wm)((0,o.SU)(_),{class:"w-full max-w-md"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"text-center"},{default:(0,s.w5)((()=>[i[5]||(i[5]=(0,s._)("img",{src:r,alt:"Gatus",class:"w-20 h-20 mx-auto mb-4"},null,-1)),(0,s.Wm)((0,o.SU)(H),{class:"text-3xl"},{default:(0,s.w5)((()=>i[4]||(i[4]=[(0,s.Uk)("Gatus",-1)]))),_:1,__:[4]}),i[6]||(i[6]=(0,s._)("p",{class:"text-muted-foreground mt-2"},"System Monitoring Dashboard",-1))])),_:1,__:[5,6]}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,o.SU)(t)&&(0,o.SU)(t).query.error?((0,s.wg)(),(0,s.iD)("div",_e,[(0,s._)("div",ke,[(0,s._)("p",Se,["access_denied"===(0,o.SU)(t).query.error?((0,s.wg)(),(0,s.iD)("span",Ue," You do not have access to this status page ")):((0,s.wg)(),(0,s.iD)("span",De,(0,n.zw)((0,o.SU)(t).query.error),1))])])])):(0,s.kq)("",!0),(0,s._)("a",{href:`${(0,o.SU)(vl)}/oidc/login`,class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 px-8 w-full",onClick:i[2]||(i[2]=e=>v.value=!0)},[v.value?((0,s.wg)(),(0,s.j4)(X,{key:0,size:"xs"})):((0,s.wg)(),(0,s.iD)(s.HY,{key:1},[(0,s.Wm)((0,o.SU)(c.Z),{class:"mr-2 h-4 w-4"}),i[7]||(i[7]=(0,s.Uk)(" Login with OIDC ",-1))],64))],8,We)])),_:1})])),_:1})])):((0,s.wg)(),(0,s.iD)("div",ae,[(0,s._)("header",le,[(0,s._)("div",se,[(0,s._)("div",ne,[(0,s._)("div",oe,[((0,s.wg)(),(0,s.j4)((0,s.LL)(w.value?"a":"div"),{href:w.value,target:"_blank",class:"flex items-center gap-3 hover:opacity-80 transition-opacity"},{default:(0,s.w5)((()=>[(0,s._)("div",re,[p.value?((0,s.wg)(),(0,s.iD)("img",{key:0,src:p.value,alt:"Gatus",class:"w-full h-full object-contain"},null,8,ie)):((0,s.wg)(),(0,s.iD)("img",ue))]),(0,s._)("div",null,[(0,s._)("h1",de,(0,n.zw)(f.value),1),h.value&&h.value.length?((0,s.wg)(),(0,s.iD)("p",ce," System Monitoring Dashboard ")):(0,s.kq)("",!0)])])),_:1},8,["href"]))]),(0,s._)("div",me,[h.value&&h.value.length?((0,s.wg)(),(0,s.iD)("nav",ge,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(h.value,(e=>((0,s.wg)(),(0,s.iD)("a",{key:e.name,href:e.link,target:"_blank",class:"px-3 py-2 text-sm font-medium rounded-md hover:bg-accent hover:text-accent-foreground transition-colors"},(0,n.zw)(e.name),9,ve)))),128))])):(0,s.kq)("",!0),h.value&&h.value.length?((0,s.wg)(),(0,s.j4)((0,o.SU)(x),{key:1,variant:"ghost",size:"icon",class:"md:hidden",onClick:i[0]||(i[0]=e=>g.value=!g.value)},{default:(0,s.w5)((()=>[g.value?((0,s.wg)(),(0,s.j4)((0,o.SU)(d.Z),{key:1,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,o.SU)(u.Z),{key:0,class:"h-5 w-5"}))])),_:1})):(0,s.kq)("",!0)])]),h.value&&h.value.length&&g.value?((0,s.wg)(),(0,s.iD)("nav",pe,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(h.value,(e=>((0,s.wg)(),(0,s.iD)("a",{key:e.name,href:e.link,target:"_blank",class:"block px-3 py-2 text-sm font-medium rounded-md hover:bg-accent hover:text-accent-foreground transition-colors",onClick:i[1]||(i[1]=e=>g.value=!1)},(0,n.zw)(e.name),9,fe)))),128))])):(0,s.kq)("",!0)])]),(0,s._)("main",we,[(0,s.Wm)(b,{onShowTooltip:y})]),(0,s._)("footer",he,[(0,s._)("div",xe,[(0,s._)("div",be,[i[3]||(i[3]=(0,s._)("div",{class:"text-sm text-muted-foreground text-center"},[(0,s.Uk)(" Powered by "),(0,s._)("a",{href:"https://gatus.io",target:"_blank",class:"font-medium text-emerald-800 hover:text-emerald-600"},"Gatus")],-1)),(0,s.Wm)(E)])])])])):((0,s.wg)(),(0,s.iD)("div",te,[(0,s.Wm)(X,{size:"lg"})])),(0,s.Wm)(B,{result:m.value.result,event:m.value.event},null,8,["result","event"])])}}};const ze=He;var je=ze,Ce=a(793),Te=a(138),Re=a(254),Fe=a(146),$e=a(485),Ae=a(893),Ee=a(89),Me=a(372),Ie=a(981),Le={__name:"Badge",props:{variant:{type:String,default:"default"}},setup(e){const t=(0,m.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white",warning:"border-transparent bg-yellow-500 text-white"}},defaultVariants:{variant:"default"}});return(a,l)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,o.SU)(p)((0,o.SU)(t)({variant:e.variant}),a.$attrs.class??""))},[(0,s.WI)(a.$slots,"default")],2))}};const Ne=Le;var Pe=Ne,qe={__name:"StatusBadge",props:{status:{type:String,required:!0,validator:e=>["healthy","unhealthy","degraded","unknown"].includes(e)}},setup(e){const t=e,a=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"success";case"unhealthy":return"destructive";case"degraded":return"warning";default:return"secondary"}})),l=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"Healthy";case"unhealthy":return"Unhealthy";case"degraded":return"Degraded";default:return"Unknown"}})),r=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"bg-green-400";case"unhealthy":return"bg-red-400";case"degraded":return"bg-yellow-400";default:return"bg-gray-400"}}));return(e,t)=>((0,s.wg)(),(0,s.j4)((0,o.SU)(Pe),{variant:a.value,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[(0,s._)("span",{class:(0,n.C_)(["w-2 h-2 rounded-full",r.value])},null,2),(0,s.Uk)(" "+(0,n.zw)(l.value),1)])),_:1},8,["variant"]))}};const Oe=qe;var Ye=Oe;const Ze={class:"flex items-start justify-between gap-2 sm:gap-3"},Ve={class:"flex-1 min-w-0 overflow-hidden"},Ge=["title","aria-label"],Be={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground"},Ke=["title"],Je={key:1},Qe=["title"],Xe={class:"flex-shrink-0 ml-2"},et={class:"space-y-2"},tt={class:"flex items-center justify-between mb-1"},at=["title"],lt={class:"flex gap-0.5"},st=["onMouseenter","onMouseleave"],nt={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var ot={__name:"EndpointCard",props:{endpoint:{type:Object,required:!0},maxResults:{type:Number,default:50},showAverageResponseTime:{type:Boolean,default:!0}},emits:["showTooltip"],setup(e,{emit:t}){const a=(0,i.tv)(),r=e,u=t,d=(0,s.Fl)((()=>r.endpoint.results&&0!==r.endpoint.results.length?r.endpoint.results[r.endpoint.results.length-1]:null)),c=(0,s.Fl)((()=>d.value?d.value.success?"healthy":"unhealthy":"unknown")),m=(0,s.Fl)((()=>d.value?.hostname||null)),g=(0,s.Fl)((()=>{const e=[...r.endpoint.results||[]];while(e.length{if(!r.endpoint.results||0===r.endpoint.results.length)return"N/A";let e=0,t=0,a=1/0,l=0;for(const s of r.endpoint.results)if(s.duration){const n=s.duration/1e6;e+=n,t++,a=Math.min(a,n),l=Math.max(l,n)}if(0===t)return"N/A";if(r.showAverageResponseTime){const a=Math.round(e/t);return`~${a}ms`}{const e=Math.round(a),t=Math.round(l);return e===t?`${e}ms`:`${e}-${t}ms`}})),p=(0,s.Fl)((()=>r.endpoint.results&&0!==r.endpoint.results.length?M.methods.generatePrettyTimeAgo(r.endpoint.results[0].timestamp):"")),f=(0,s.Fl)((()=>r.endpoint.results&&0!==r.endpoint.results.length?M.methods.generatePrettyTimeAgo(r.endpoint.results[r.endpoint.results.length-1].timestamp):"")),w=()=>{a.push(`/endpoints/${r.endpoint.key}`)};return(t,a)=>((0,s.wg)(),(0,s.j4)((0,o.SU)(_),{class:"endpoint hover:shadow-lg transition-shadow cursor-pointer h-full flex flex-col"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"endpoint-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,s.w5)((()=>[(0,s._)("div",Ze,[(0,s._)("div",Ve,[(0,s.Wm)((0,o.SU)(H),{class:"text-base sm:text-lg truncate"},{default:(0,s.w5)((()=>[(0,s._)("span",{class:"hover:text-primary cursor-pointer hover:underline text-sm sm:text-base block truncate",onClick:w,onKeydown:(0,l.D2)(w,["enter"]),title:e.endpoint.name,role:"link",tabindex:"0","aria-label":`View details for ${e.endpoint.name}`},(0,n.zw)(e.endpoint.name),41,Ge)])),_:1}),(0,s._)("div",Be,[e.endpoint.group?((0,s.wg)(),(0,s.iD)("span",{key:0,class:"truncate",title:e.endpoint.group},(0,n.zw)(e.endpoint.group),9,Ke)):(0,s.kq)("",!0),e.endpoint.group&&m.value?((0,s.wg)(),(0,s.iD)("span",Je,"•")):(0,s.kq)("",!0),m.value?((0,s.wg)(),(0,s.iD)("span",{key:2,class:"truncate",title:m.value},(0,n.zw)(m.value),9,Qe)):(0,s.kq)("",!0)])]),(0,s._)("div",Xe,[(0,s.Wm)(Ye,{status:c.value},null,8,["status"])])])])),_:1}),(0,s.Wm)((0,o.SU)(C),{class:"endpoint-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,s.w5)((()=>[(0,s._)("div",et,[(0,s._)("div",null,[(0,s._)("div",tt,[a[0]||(a[0]=(0,s._)("div",{class:"flex-1"},null,-1)),(0,s._)("p",{class:"text-xs text-muted-foreground",title:e.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},(0,n.zw)(v.value),9,at)]),(0,s._)("div",lt,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(g.value,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:(0,n.C_)(["flex-1 h-6 sm:h-8 rounded-sm transition-all",e?e.success?"bg-green-500 hover:bg-green-700":"bg-red-500 hover:bg-red-700":"bg-gray-200 dark:bg-gray-700"]),onMouseenter:t=>e&&u("showTooltip",e,t),onMouseleave:t=>e&&u("showTooltip",null,t)},null,42,st)))),128))]),(0,s._)("div",nt,[(0,s._)("span",null,(0,n.zw)(p.value),1),(0,s._)("span",null,(0,n.zw)(f.value),1)])])])])),_:1})])),_:1}))}};const rt=ot;var it=rt,ut=a(275);const dt=["value"];var ct={__name:"Input",props:{modelValue:{type:[String,Number],default:""}},emits:["update:modelValue"],setup(e){return(t,a)=>((0,s.wg)(),(0,s.iD)("input",{class:(0,n.C_)((0,o.SU)(p)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t.$attrs.class??"")),value:e.modelValue,onInput:a[0]||(a[0]=e=>t.$emit("update:modelValue",e.target.value))},null,42,dt))}};const mt=ct;var gt=mt,vt=a(368);const pt=["aria-expanded","aria-label"],ft={class:"truncate"},wt={key:0,role:"listbox",class:"absolute top-full left-0 z-50 mt-1 w-full rounded-md border bg-popover text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95"},ht={class:"p-1"},xt=["onClick","aria-selected"],bt={class:"absolute left-1.5 sm:left-2 flex h-3.5 w-3.5 items-center justify-center"};var yt={__name:"Select",props:{modelValue:{type:String,default:""},options:{type:Array,required:!0},placeholder:{type:String,default:"Select..."},class:{type:String,default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,l=t,r=(0,o.iH)(!1),i=(0,o.iH)(null),u=(0,o.iH)(-1),d=(0,s.Fl)((()=>a.options.find((e=>e.value===a.modelValue))||{label:a.placeholder,value:""})),c=e=>{l("update:modelValue",e.value),r.value=!1},m=()=>{if(r.value=!r.value,r.value){const e=a.options.findIndex((e=>e.value===a.modelValue));u.value=e>=0?e:0}else u.value=-1},g=e=>{i.value&&!i.value.contains(e.target)&&(r.value=!1,u.value=-1)},v=e=>{if(r.value)switch(e.key){case"ArrowDown":e.preventDefault(),u.value=Math.min(u.value+1,a.options.length-1);break;case"ArrowUp":e.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Enter":case" ":e.preventDefault(),u.value>=0&&u.value{document.addEventListener("click",g)})),(0,s.Ah)((()=>{document.removeEventListener("click",g)})),(t,l)=>((0,s.wg)(),(0,s.iD)("div",{ref_key:"selectRef",ref:i,class:(0,n.C_)(["relative",a.class])},[(0,s._)("button",{onClick:m,onKeydown:v,"aria-expanded":r.value,"aria-haspopup":!0,"aria-label":d.value.label||a.placeholder,class:"flex h-9 sm:h-10 w-full items-center justify-between rounded-md border border-input bg-background px-2 sm:px-3 py-1.5 sm:py-2 text-xs sm:text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},[(0,s._)("span",ft,(0,n.zw)(d.value.label),1),(0,s.Wm)((0,o.SU)($e.Z),{class:"h-3 w-3 sm:h-4 sm:w-4 opacity-50 flex-shrink-0 ml-1"})],40,pt),r.value?((0,s.wg)(),(0,s.iD)("div",wt,[(0,s._)("div",ht,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.options,((t,a)=>((0,s.wg)(),(0,s.iD)("div",{key:t.value,onClick:e=>c(t),class:(0,n.C_)(["relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-6 sm:pl-8 pr-2 text-xs sm:text-sm outline-none hover:bg-accent hover:text-accent-foreground",a===u.value&&"bg-accent text-accent-foreground"]),role:"option","aria-selected":e.modelValue===t.value},[(0,s._)("span",bt,[e.modelValue===t.value?((0,s.wg)(),(0,s.j4)((0,o.SU)(vt.Z),{key:0,class:"h-3 w-3 sm:h-4 sm:w-4"})):(0,s.kq)("",!0)]),(0,s.Uk)(" "+(0,n.zw)(t.label),1)],10,xt)))),128))])])):(0,s.kq)("",!0)],2))}};const _t=yt;var kt=_t;const St={class:"flex flex-col lg:flex-row gap-3 lg:gap-4 p-3 sm:p-4 bg-card rounded-lg border"},Ut={class:"flex-1"},Dt={class:"relative"},Wt={class:"flex flex-col sm:flex-row gap-3 sm:gap-4"},Ht={class:"flex items-center gap-2 flex-1 sm:flex-initial"},zt={class:"flex items-center gap-2 flex-1 sm:flex-initial"};var jt={__name:"SearchBar",emits:["search","update:showOnlyFailing","update:showRecentFailures","update:groupByGroup","update:sortBy","initializeCollapsedGroups"],setup(e,{emit:t}){const a=(0,o.iH)(""),l=(0,o.iH)(localStorage.getItem("gatus:filter-by")||"undefined"!==typeof window&&window.config?.defaultFilterBy||"nothing"),n=(0,o.iH)(localStorage.getItem("gatus:sort-by")||"undefined"!==typeof window&&window.config?.defaultSortBy||"name"),r=[{label:"Nothing",value:"nothing"},{label:"Failing",value:"failing"},{label:"Unstable",value:"unstable"}],i=[{label:"Name",value:"name"},{label:"Group",value:"group"},{label:"Health",value:"health"}],u=t,d=e=>{l.value=e,localStorage.setItem("gatus:filter-by",e),u("update:showOnlyFailing",!1),u("update:showRecentFailures",!1),"failing"===e?u("update:showOnlyFailing",!0):"unstable"===e&&u("update:showRecentFailures",!0)},c=e=>{n.value=e,localStorage.setItem("gatus:sort-by",e),u("update:sortBy",e),u("update:groupByGroup","group"===e),"group"===e&&u("initializeCollapsedGroups")};return(0,s.bv)((()=>{d(l.value),c(n.value)})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",St,[(0,s._)("div",Ut,[(0,s._)("div",Dt,[(0,s.Wm)((0,o.SU)(ut.Z),{class:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),t[4]||(t[4]=(0,s._)("label",{for:"search-input",class:"sr-only"},"Search endpoints",-1)),(0,s.Wm)((0,o.SU)(gt),{id:"search-input",modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e),type:"text",placeholder:"Search endpoints...",class:"pl-10 text-sm sm:text-base",onInput:t[1]||(t[1]=t=>e.$emit("search",a.value))},null,8,["modelValue"])])]),(0,s._)("div",Wt,[(0,s._)("div",Ht,[t[5]||(t[5]=(0,s._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Filter by:",-1)),(0,s.Wm)((0,o.SU)(kt),{modelValue:l.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>l.value=e),d],options:r,placeholder:"Nothing",class:"flex-1 sm:w-[140px] md:w-[160px]"},null,8,["modelValue"])]),(0,s._)("div",zt,[t[6]||(t[6]=(0,s._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Sort by:",-1)),(0,s.Wm)((0,o.SU)(kt),{modelValue:n.value,"onUpdate:modelValue":[t[3]||(t[3]=e=>n.value=e),c],options:i,placeholder:"Name",class:"flex-1 sm:w-[90px] md:w-[100px]"},null,8,["modelValue"])])])]))}};const Ct=jt;var Tt=Ct,Rt=a(789),Ft=a(679);const $t={id:"settings",class:"fixed bottom-4 left-4 z-50"},At={class:"flex items-center gap-1 bg-background/95 backdrop-blur-sm border rounded-full shadow-md p-1"},Et=["aria-label","aria-expanded"],Mt={class:"text-xs font-medium"},It=["onClick"],Lt=["aria-label"],Nt={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-popover text-popover-foreground text-xs rounded-md shadow-md opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap"},Pt="300",qt="theme",Ot=31536e3;var Yt={__name:"Settings",emits:["refreshData"],setup(e,{emit:t}){const a=t,r=[{value:"10",label:"10s"},{value:"30",label:"30s"},{value:"60",label:"1m"},{value:"120",label:"2m"},{value:"300",label:"5m"},{value:"600",label:"10m"}],i={REFRESH_INTERVAL:"gatus:refresh-interval"};function u(){const e=document.cookie.match(new RegExp(`${qt}=(dark|light);?`))?.[1];return"dark"===e||!e&&(window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.contains("dark"))}function d(){const e=localStorage.getItem(i.REFRESH_INTERVAL),t=e&&parseInt(e),a=t&&t>=10&&r.some((t=>t.value===e));return a?e:Pt}const c=(0,o.iH)(d()),m=(0,o.iH)(u()),g=(0,o.iH)(!1);let v=null;const p=e=>{const t=r.find((t=>t.value===e));return t?t.label:`${e}s`},f=e=>{localStorage.setItem(i.REFRESH_INTERVAL,e),v&&clearInterval(v),v=setInterval((()=>{w()}),1e3*e)},w=()=>{a("refreshData")},h=e=>{c.value=e,g.value=!1,w(),f(e)},x=e=>{const t=document.getElementById("settings");t&&!t.contains(e.target)&&(g.value=!1)},b=e=>{document.cookie=`${qt}=${e}; path=/; max-age=${Ot}; samesite=strict`},y=()=>{const e=u()?"light":"dark";b(e),_()},_=()=>{const e=u();m.value=e,document.documentElement.classList.toggle("dark",e)};return(0,s.bv)((()=>{f(c.value),_(),document.addEventListener("click",x)})),(0,s.Ah)((()=>{v&&clearInterval(v),document.removeEventListener("click",x)})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",$t,[(0,s._)("div",At,[(0,s._)("button",{onClick:t[1]||(t[1]=e=>g.value=!g.value),"aria-label":`Refresh interval: ${p(c.value)}`,"aria-expanded":g.value,class:"flex items-center gap-1.5 px-3 py-1.5 rounded-full hover:bg-accent transition-colors relative"},[(0,s.Wm)((0,o.SU)(Re.Z),{class:"w-3.5 h-3.5 text-muted-foreground"}),(0,s._)("span",Mt,(0,n.zw)(p(c.value)),1),g.value?((0,s.wg)(),(0,s.iD)("div",{key:0,onClick:t[0]||(t[0]=(0,l.iM)((()=>{}),["stop"])),class:"absolute bottom-full left-0 mb-2 bg-popover border rounded-lg shadow-lg overflow-hidden"},[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(r,(e=>(0,s._)("button",{key:e.value,onClick:t=>h(e.value),class:(0,n.C_)(["block w-full px-4 py-2 text-xs text-left hover:bg-accent transition-colors",c.value===e.value&&"bg-accent"])},(0,n.zw)(e.label),11,It))),64))])):(0,s.kq)("",!0)],8,Et),t[2]||(t[2]=(0,s._)("div",{class:"h-5 w-px bg-border/50"},null,-1)),(0,s._)("button",{onClick:y,"aria-label":m.value?"Switch to light mode":"Switch to dark mode",class:"p-1.5 rounded-full hover:bg-accent transition-colors group relative"},[m.value?((0,s.wg)(),(0,s.j4)((0,o.SU)(Rt.Z),{key:0,class:"h-3.5 w-3.5 transition-all"})):((0,s.wg)(),(0,s.j4)((0,o.SU)(Ft.Z),{key:1,class:"h-3.5 w-3.5 transition-all"})),(0,s._)("div",Nt,(0,n.zw)(m.value?"Light mode":"Dark mode"),1)],8,Lt)])]))}};const Zt=(0,F.Z)(Yt,[["__scopeId","data-v-482756f8"]]);var Vt=Zt;const Gt={class:"dashboard-container bg-background"},Bt={class:"container mx-auto px-4 py-8 max-w-7xl"},Kt={class:"mb-8"},Jt={class:"flex items-center justify-between mb-6"},Qt={class:"flex items-center gap-4"},Xt={key:0,class:"flex items-center justify-center py-20"},ea={key:1,class:"text-center py-20"},ta={class:"text-muted-foreground"},aa={key:2},la={key:0,class:"space-y-6"},sa=["onClick"],na={class:"flex items-center gap-3"},oa={class:"text-xl font-semibold text-foreground"},ra={class:"flex items-center gap-2"},ia={key:0,class:"bg-red-600 text-white px-2 py-1 rounded-full text-sm font-medium"},ua={key:0,class:"endpoint-group-content p-4"},da={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},ca={key:1,class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},ma={key:2,class:"mt-8 flex items-center justify-center gap-2"},ga={class:"flex gap-1"},va=96;var pa={__name:"Home",emits:["showTooltip"],setup(e,{emit:t}){const a=t,l=(0,o.iH)([]),r=(0,o.iH)(!1),i=(0,o.iH)(1),u=(0,o.iH)(""),d=(0,o.iH)(!1),c=(0,o.iH)(!1),m=(0,o.iH)(!0),g=(0,o.iH)(!1),v=(0,o.iH)(localStorage.getItem("gatus:sort-by")||"name"),p=(0,o.iH)(new Set),f=(0,s.Fl)((()=>{let e=[...l.value];if(u.value){const t=u.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return d.value&&(e=e.filter((e=>{if(!e.results||0===e.results.length)return!1;const t=e.results[e.results.length-1];return!t.success}))),c.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===v.value&&e.sort(((e,t)=>{const a=e.results&&e.results.length>0&&e.results[e.results.length-1].success,l=t.results&&t.results.length>0&&t.results[t.results.length-1].success;return!a&&l?-1:a&&!l?1:e.name.localeCompare(t.name)})),e})),w=(0,s.Fl)((()=>Math.ceil(f.value.length/va))),h=(0,s.Fl)((()=>{if(!g.value)return null;const e={};f.value.forEach((t=>{const a=t.group||"No Group";e[a]||(e[a]=[]),e[a].push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),a={};return t.forEach((t=>{a[t]=e[t]})),a})),b=(0,s.Fl)((()=>{if(g.value)return h.value;const e=(i.value-1)*va,t=e+va;return f.value.slice(e,t)})),y=(0,s.Fl)((()=>{const e=[],t=5;let a=Math.max(1,i.value-Math.floor(t/2)),l=Math.min(w.value,a+t-1);l-a{r.value=!0;try{const e=await fetch(`${vl}/api/v1/endpoints/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===e.status){const t=await e.json();l.value=t}else console.error("[Home][fetchData] Error:",await e.text())}catch(e){console.error("[Home][fetchData] Error:",e)}finally{r.value=!1}},k=()=>{_()},S=e=>{u.value=e,i.value=1},U=e=>{i.value=e,window.scrollTo({top:0,behavior:"smooth"})},D=()=>{m.value=!m.value},W=(e,t)=>{a("showTooltip",e,t)},H=e=>e.filter((e=>{if(!e.results||0===e.results.length)return!1;const t=e.results[e.results.length-1];return!t.success})).length,z=e=>{p.value.has(e)?p.value.delete(e):p.value.add(e);const t=Array.from(p.value);localStorage.setItem("gatus:collapsed-groups",JSON.stringify(t))},j=()=>{try{const e=localStorage.getItem("gatus:collapsed-groups");e&&(p.value=new Set(JSON.parse(e)))}catch(e){console.warn("Failed to parse saved collapsed groups:",e),localStorage.removeItem("gatus:collapsed-groups")}};return(0,s.bv)((()=>{_()})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",Gt,[(0,s._)("div",Bt,[(0,s._)("div",Kt,[(0,s._)("div",Jt,[t[6]||(t[6]=(0,s._)("div",null,[(0,s._)("h1",{class:"text-4xl font-bold tracking-tight"},"Health Dashboard"),(0,s._)("p",{class:"text-muted-foreground mt-2"},"Monitor the health of your endpoints in real-time")],-1)),(0,s._)("div",Qt,[(0,s.Wm)((0,o.SU)(x),{variant:"ghost",size:"icon",onClick:D,title:m.value?"Show min-max response time":"Show average response time"},{default:(0,s.w5)((()=>[m.value?((0,s.wg)(),(0,s.j4)((0,o.SU)(Ce.Z),{key:0,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,o.SU)(Te.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,s.Wm)((0,o.SU)(x),{variant:"ghost",size:"icon",onClick:k,title:"Refresh data"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(Re.Z),{class:"h-5 w-5"})])),_:1})])]),(0,s.Wm)(Tt,{onSearch:S,"onUpdate:showOnlyFailing":t[0]||(t[0]=e=>d.value=e),"onUpdate:showRecentFailures":t[1]||(t[1]=e=>c.value=e),"onUpdate:groupByGroup":t[2]||(t[2]=e=>g.value=e),"onUpdate:sortBy":t[3]||(t[3]=e=>v.value=e),onInitializeCollapsedGroups:j})]),r.value?((0,s.wg)(),(0,s.iD)("div",Xt,[(0,s.Wm)(X,{size:"lg"})])):0===f.value.length?((0,s.wg)(),(0,s.iD)("div",ea,[(0,s.Wm)((0,o.SU)(Fe.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[7]||(t[7]=(0,s._)("h3",{class:"text-lg font-semibold mb-2"},"No endpoints found",-1)),(0,s._)("p",ta,(0,n.zw)(u.value||d.value||c.value?"Try adjusting your filters":"No endpoints are configured"),1)])):((0,s.wg)(),(0,s.iD)("div",aa,[g.value?((0,s.wg)(),(0,s.iD)("div",la,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(b.value,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"endpoint-group border rounded-lg overflow-hidden"},[(0,s._)("div",{onClick:e=>z(t),class:"endpoint-group-header flex items-center justify-between p-4 bg-card border-b cursor-pointer hover:bg-accent/50 transition-colors"},[(0,s._)("div",na,[p.value.has(t)?((0,s.wg)(),(0,s.j4)((0,o.SU)(Ae.Z),{key:1,class:"h-5 w-5 text-muted-foreground"})):((0,s.wg)(),(0,s.j4)((0,o.SU)($e.Z),{key:0,class:"h-5 w-5 text-muted-foreground"})),(0,s._)("h2",oa,(0,n.zw)(t),1)]),(0,s._)("div",ra,[H(e)>0?((0,s.wg)(),(0,s.iD)("span",ia,(0,n.zw)(H(e)),1)):((0,s.wg)(),(0,s.j4)((0,o.SU)(Ee.Z),{key:1,class:"h-6 w-6 text-green-600"}))])],8,sa),p.value.has(t)?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",ua,[(0,s._)("div",da,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e,(e=>((0,s.wg)(),(0,s.j4)(it,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:W},null,8,["endpoint","showAverageResponseTime"])))),128))])]))])))),128))])):((0,s.wg)(),(0,s.iD)("div",ca,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(b.value,(e=>((0,s.wg)(),(0,s.j4)(it,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:W},null,8,["endpoint","showAverageResponseTime"])))),128))])),!g.value&&w.value>1?((0,s.wg)(),(0,s.iD)("div",ma,[(0,s.Wm)((0,o.SU)(x),{variant:"outline",size:"icon",disabled:1===i.value,onClick:t[4]||(t[4]=e=>U(i.value-1))},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(Me.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"]),(0,s._)("div",ga,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(y.value,(e=>((0,s.wg)(),(0,s.j4)((0,o.SU)(x),{key:e,variant:e===i.value?"default":"outline",size:"sm",onClick:t=>U(e)},{default:(0,s.w5)((()=>[(0,s.Uk)((0,n.zw)(e),1)])),_:2},1032,["variant","onClick"])))),128))]),(0,s.Wm)((0,o.SU)(x),{variant:"outline",size:"icon",disabled:i.value===w.value,onClick:t[5]||(t[5]=e=>U(i.value+1))},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(Ie.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"])])):(0,s.kq)("",!0)]))]),(0,s.Wm)(Vt,{onRefreshData:_})]))}};const fa=pa;var wa=fa,ha=a(318),xa=a(779),ba=a(141),ya=a(478);const _a={class:"flex items-center justify-between"},ka={class:"text-sm text-muted-foreground"};var Sa={__name:"Pagination",props:{numberOfResultsPerPage:Number,currentPageProp:{type:Number,default:1}},emits:["page"],setup(e,{emit:t}){const a=e,l=t,r=(0,o.iH)(a.currentPageProp),i=(0,s.Fl)((()=>{let e=100;if("undefined"!==typeof window&&window.config&&window.config.maximumNumberOfResults){const t=parseInt(window.config.maximumNumberOfResults);isNaN(t)||(e=t)}return Math.ceil(e/a.numberOfResultsPerPage)})),u=()=>{r.value--,l("page",r.value)},d=()=>{r.value++,l("page",r.value)};return(e,t)=>((0,s.wg)(),(0,s.iD)("div",_a,[(0,s.Wm)((0,o.SU)(x),{variant:"outline",size:"sm",disabled:r.value>=i.value,onClick:d,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(Me.Z),{class:"h-4 w-4"}),t[0]||(t[0]=(0,s.Uk)(" Previous ",-1))])),_:1,__:[0]},8,["disabled"]),(0,s._)("span",ka," Page "+(0,n.zw)(r.value)+" of "+(0,n.zw)(i.value),1),(0,s.Wm)((0,o.SU)(x),{variant:"outline",size:"sm",disabled:r.value<=1,onClick:u,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[t[1]||(t[1]=(0,s.Uk)(" Next ",-1)),(0,s.Wm)((0,o.SU)(Ie.Z),{class:"h-4 w-4"})])),_:1,__:[1]},8,["disabled"])]))}};const Ua=Sa;var Da=Ua;const Wa={class:"dashboard-container bg-background"},Ha={class:"container mx-auto px-4 py-8 max-w-7xl"},za={class:"mb-8"},ja={key:0,class:"space-y-6"},Ca={class:"flex items-start justify-between"},Ta={class:"text-4xl font-bold tracking-tight"},Ra={class:"flex items-center gap-3 text-muted-foreground mt-2"},Fa={key:0},$a={key:1},Aa={key:2},Ea={class:"grid gap-6 md:grid-cols-2 lg:grid-cols-4"},Ma={class:"text-2xl font-bold"},Ia={class:"text-2xl font-bold"},La={class:"text-2xl font-bold"},Na={class:"text-2xl font-bold"},Pa={class:"flex items-center justify-between"},qa={class:"flex items-center gap-2"},Oa={class:"space-y-4"},Ya={key:1,class:"pt-4 border-t"},Za={key:0,class:"space-y-6"},Va={class:"flex items-center justify-between"},Ga=["src"],Ba={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},Ka=["src","alt"],Ja={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},Qa={class:"text-sm text-muted-foreground mb-2"},Xa=["src","alt"],el={class:"text-center"},tl=["src"],al={class:"space-y-4"},ll={class:"mt-1"},sl={class:"flex-1"},nl={class:"font-medium"},ol={class:"text-sm text-muted-foreground"},rl={key:1,class:"flex items-center justify-center py-20"};var il={__name:"Details",emits:["showTooltip"],setup(e,{emit:t}){const a=(0,i.tv)(),r=(0,i.yj)(),u=t,d=(0,o.iH)(null),c=(0,o.iH)(null),m=(0,o.iH)([]),g=(0,o.iH)(1),v=(0,o.iH)(!1),p=(0,o.iH)(!1),f=(0,o.iH)("24h"),w="."===vl?"..":vl,h=(0,o.iH)(!1),b=(0,s.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?c.value.results[c.value.results.length-1]:null)),y=(0,s.Fl)((()=>b.value?b.value.success?"healthy":"unhealthy":"unknown")),k=(0,s.Fl)((()=>b.value?.hostname||null)),S=(0,s.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=0,t=0;for(const a of d.value.results)a.duration&&(e+=a.duration,t++);return 0===t?"N/A":Math.round(e/t/1e6)})),D=(0,s.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=1/0,t=0,a=!1;for(const n of d.value.results)if(n.duration){const l=n.duration/1e6;e=Math.min(e,l),t=Math.max(t,l),a=!0}if(!a)return"N/A";const l=Math.round(e),s=Math.round(t);return l===s?`${l}ms`:`${l}-${s}ms`})),W=(0,s.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?M.methods.generatePrettyTimeAgo(c.value.results[c.value.results.length-1].timestamp):"Never")),z=async()=>{h.value=!0;try{const e=await fetch(`${w}/api/v1/endpoints/${r.params.key}/statuses?page=${g.value}&pageSize=50`,{credentials:"include"});if(200===e.status){const t=await e.json();d.value=t,1===g.value&&(c.value=t);let a=[];if(t.events&&t.events.length>0)for(let e=t.events.length-1;e>=0;e--){let l=t.events[e];if(e===t.events.length-1)"UNHEALTHY"===l.type?l.fancyText="Endpoint is unhealthy":"HEALTHY"===l.type?l.fancyText="Endpoint is healthy":"START"===l.type&&(l.fancyText="Monitoring started");else{let a=t.events[e+1];"HEALTHY"===l.type?l.fancyText="Endpoint became healthy":"UNHEALTHY"===l.type?l.fancyText=a?"Endpoint was unhealthy for "+M.methods.generatePrettyTimeDifference(a.timestamp,l.timestamp):"Endpoint became unhealthy":"START"===l.type&&(l.fancyText="Monitoring started")}l.fancyTimeAgo=M.methods.generatePrettyTimeAgo(l.timestamp),a.push(l)}if(m.value=a,t.results&&t.results.length>0)for(let e=0;e0){v.value=!0;break}}else console.error("[Details][fetchData] Error:",await e.text())}catch(e){console.error("[Details][fetchData] Error:",e)}finally{h.value=!1}},j=()=>{a.push("/")},T=e=>{g.value=e,z()},R=(e,t)=>{u("showTooltip",e,t)},F=e=>new Date(e).toLocaleString(),$=()=>`${w}/api/v1/endpoints/${d.value.key}/health/badge.svg`,A=e=>`${w}/api/v1/endpoints/${d.value.key}/uptimes/${e}/badge.svg`,E=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/badge.svg`,I=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/chart.svg`;return(0,s.bv)((()=>{z()})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",Wa,[(0,s._)("div",Ha,[(0,s._)("div",za,[(0,s.Wm)((0,o.SU)(x),{variant:"ghost",class:"mb-4",onClick:j},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(ha.Z),{class:"h-4 w-4 mr-2"}),t[2]||(t[2]=(0,s.Uk)(" Back to Dashboard ",-1))])),_:1,__:[2]}),d.value&&d.value.name?((0,s.wg)(),(0,s.iD)("div",ja,[(0,s._)("div",Ca,[(0,s._)("div",null,[(0,s._)("h1",Ta,(0,n.zw)(d.value.name),1),(0,s._)("div",Ra,[d.value.group?((0,s.wg)(),(0,s.iD)("span",Fa,"Group: "+(0,n.zw)(d.value.group),1)):(0,s.kq)("",!0),d.value.group&&k.value?((0,s.wg)(),(0,s.iD)("span",$a,"•")):(0,s.kq)("",!0),k.value?((0,s.wg)(),(0,s.iD)("span",Aa,(0,n.zw)(k.value),1)):(0,s.kq)("",!0)])]),(0,s.Wm)(Ye,{status:y.value},null,8,["status"])]),(0,s._)("div",Ea,[(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[3]||(t[3]=[(0,s.Uk)("Current Status",-1)]))),_:1,__:[3]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",Ma,(0,n.zw)("healthy"===y.value?"Operational":"Issues Detected"),1)])),_:1})])),_:1}),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[4]||(t[4]=[(0,s.Uk)("Avg Response Time",-1)]))),_:1,__:[4]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",Ia,(0,n.zw)(S.value)+"ms",1)])),_:1})])),_:1}),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[5]||(t[5]=[(0,s.Uk)("Response Time Range",-1)]))),_:1,__:[5]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",La,(0,n.zw)(D.value),1)])),_:1})])),_:1}),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[6]||(t[6]=[(0,s.Uk)("Last Check",-1)]))),_:1,__:[6]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",Na,(0,n.zw)(W.value),1)])),_:1})])),_:1})]),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),null,{default:(0,s.w5)((()=>[(0,s._)("div",Pa,[(0,s.Wm)((0,o.SU)(H),null,{default:(0,s.w5)((()=>t[7]||(t[7]=[(0,s.Uk)("Recent Checks",-1)]))),_:1,__:[7]}),(0,s._)("div",qa,[(0,s.Wm)((0,o.SU)(x),{variant:"ghost",size:"icon",onClick:t[0]||(t[0]=e=>p.value=!p.value),title:p.value?"Show min-max response time":"Show average response time"},{default:(0,s.w5)((()=>[p.value?((0,s.wg)(),(0,s.j4)((0,o.SU)(Ce.Z),{key:0,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,o.SU)(Te.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,s.Wm)((0,o.SU)(x),{variant:"ghost",size:"icon",onClick:z,title:"Refresh data",disabled:h.value},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(Re.Z),{class:(0,n.C_)(["h-4 w-4",h.value&&"animate-spin"])},null,8,["class"])])),_:1},8,["disabled"])])])])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",Oa,[d.value?((0,s.wg)(),(0,s.j4)(it,{key:0,endpoint:d.value,maxResults:50,showAverageResponseTime:p.value,onShowTooltip:R,class:"border-0 shadow-none bg-transparent p-0"},null,8,["endpoint","showAverageResponseTime"])):(0,s.kq)("",!0),d.value&&d.value.key?((0,s.wg)(),(0,s.iD)("div",Ya,[(0,s.Wm)(Da,{onPage:T,numberOfResultsPerPage:50,currentPageProp:g.value},null,8,["currentPageProp"])])):(0,s.kq)("",!0)])])),_:1})])),_:1}),v.value?((0,s.wg)(),(0,s.iD)("div",Za,[(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),null,{default:(0,s.w5)((()=>[(0,s._)("div",Va,[(0,s.Wm)((0,o.SU)(H),null,{default:(0,s.w5)((()=>t[8]||(t[8]=[(0,s.Uk)("Response Time Trend",-1)]))),_:1,__:[8]}),(0,s.wy)((0,s._)("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>f.value=e),class:"text-sm bg-background border rounded-md px-3 py-1 focus:outline-none focus:ring-2 focus:ring-ring"},t[9]||(t[9]=[(0,s._)("option",{value:"24h"},"24 hours",-1),(0,s._)("option",{value:"7d"},"7 days",-1),(0,s._)("option",{value:"30d"},"30 days",-1)]),512),[[l.bM,f.value]])])])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("img",{src:I(f.value),alt:"Response time chart",class:"w-full"},null,8,Ga)])),_:1})])),_:1}),(0,s._)("div",Ba,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(["30d","7d","24h","1h"],(e=>(0,s.Wm)((0,o.SU)(_),{key:e},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),{class:"text-sm font-medium text-muted-foreground text-center"},{default:(0,s.w5)((()=>[(0,s.Uk)((0,n.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1)])),_:2},1024)])),_:2},1024),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("img",{src:E(e),alt:`${e} response time`,class:"mx-auto mt-2"},null,8,Ka)])),_:2},1024)])),_:2},1024))),64))])])):(0,s.kq)("",!0),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),null,{default:(0,s.w5)((()=>t[10]||(t[10]=[(0,s.Uk)("Uptime Statistics",-1)]))),_:1,__:[10]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",Ja,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(["30d","7d","24h","1h"],(e=>(0,s._)("div",{key:e,class:"text-center"},[(0,s._)("p",Qa,(0,n.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1),(0,s._)("img",{src:A(e),alt:`${e} uptime`,class:"mx-auto"},null,8,Xa)]))),64))])])),_:1})])),_:1}),(0,s.Wm)((0,o.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),null,{default:(0,s.w5)((()=>t[11]||(t[11]=[(0,s.Uk)("Current Health",-1)]))),_:1,__:[11]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",el,[(0,s._)("img",{src:$(),alt:"health badge",class:"mx-auto"},null,8,tl)])])),_:1})])),_:1}),m.value&&m.value.length>0?((0,s.wg)(),(0,s.j4)((0,o.SU)(_),{key:1},{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,o.SU)(H),null,{default:(0,s.w5)((()=>t[12]||(t[12]=[(0,s.Uk)("Events",-1)]))),_:1,__:[12]})])),_:1}),(0,s.Wm)((0,o.SU)(C),null,{default:(0,s.w5)((()=>[(0,s._)("div",al,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(m.value,(e=>((0,s.wg)(),(0,s.iD)("div",{key:e.timestamp,class:"flex items-start gap-4 pb-4 border-b last:border-0"},[(0,s._)("div",ll,["HEALTHY"===e.type?((0,s.wg)(),(0,s.j4)((0,o.SU)(xa.Z),{key:0,class:"h-5 w-5 text-green-500"})):"UNHEALTHY"===e.type?((0,s.wg)(),(0,s.j4)((0,o.SU)(ba.Z),{key:1,class:"h-5 w-5 text-red-500"})):((0,s.wg)(),(0,s.j4)((0,o.SU)(ya.Z),{key:2,class:"h-5 w-5 text-muted-foreground"}))]),(0,s._)("div",sl,[(0,s._)("p",nl,(0,n.zw)(e.fancyText),1),(0,s._)("p",ol,(0,n.zw)(F(e.timestamp))+" • "+(0,n.zw)(e.fancyTimeAgo),1)])])))),128))])])),_:1})])),_:1})):(0,s.kq)("",!0)])):((0,s.wg)(),(0,s.iD)("div",rl,[(0,s.Wm)(X,{size:"lg"})]))])]),(0,s.Wm)(Vt,{onRefreshData:z})]))}};const ul=il;var dl=ul;const cl=[{path:"/",name:"Home",component:wa},{path:"/endpoints/:key",name:"Details",component:dl}],ml=(0,i.p7)({history:(0,i.PO)("/"),routes:cl});var gl=ml;const vl="";(0,l.ri)(je).use(gl).mount("#app")}},t={};function a(l){var s=t[l];if(void 0!==s)return s.exports;var n=t[l]={exports:{}};return e[l](n,n.exports,a),n.exports}a.m=e,function(){var e=[];a.O=function(t,l,s,n){if(!l){var o=1/0;for(d=0;d=n)&&Object.keys(a.O).every((function(e){return a.O[e](l[i])}))?l.splice(i--,1):(r=!1,n0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[l,s,n]}}(),function(){a.d=function(e,t){for(var l in t)a.o(t,l)&&!a.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){a.p="/"}(),function(){var e={143:0};a.O.j=function(t){return 0===e[t]};var t=function(t,l){var s,n,o=l[0],r=l[1],i=l[2],u=0;if(o.some((function(t){return 0!==e[t]}))){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(i)var d=i(a)}for(t&&t(l);u{const t=new Set(e);return t.w=0,t.n=0,t},u=e=>(e.w&h)>0,l=e=>(e.n&h)>0,a=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{("length"===t||t>=o)&&l.push(e)}));else switch(void 0!==n&&l.push(u.get(n)),t){case"add":(0,r.kJ)(e)?(0,r.S0)(n)&&l.push(u.get("length")):(l.push(u.get(m)),(0,r._N)(e)&&l.push(u.get(y)));break;case"delete":(0,r.kJ)(e)||(l.push(u.get(m)),(0,r._N)(e)&&l.push(u.get(y)));break;case"set":(0,r._N)(e)&&l.push(u.get(m));break}if(1===l.length)l[0]&&A(l[0]);else{const e=[];for(const t of l)t&&e.push(...t);A(c(e))}}function A(e,t){const n=(0,r.kJ)(e)?e:[...e];for(const r of n)r.computed&&R(r,t);for(const r of n)r.computed||R(r,t)}function R(e,t){(e!==g||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const I=(0,r.fY)("__proto__,__v_isRef,__isVue"),P=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(r.yk)),T=$(),j=$(!1,!0),F=$(!0),M=L();function L(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=Ae(this);for(let t=0,o=this.length;t{e[t]=function(...e){k();const n=Ae(this)[t].apply(this,e);return S(),n}})),e}function $(e=!1,t=!1){return function(n,o,i){if("__v_isReactive"===o)return!e;if("__v_isReadonly"===o)return e;if("__v_isShallow"===o)return t;if("__v_raw"===o&&i===(e?t?me:ge:t?ve:he).get(n))return n;const s=(0,r.kJ)(n);if(!e&&s&&(0,r.RI)(M,o))return Reflect.get(M,o,i);const c=Reflect.get(n,o,i);return((0,r.yk)(o)?P.has(o):I(o))?c:(e||C(n,"get",o),t?c:Fe(c)?s&&(0,r.S0)(o)?c:c.value:(0,r.Kn)(c)?e?we(c):_e(c):c)}}const U=D(),N=D(!0);function D(e=!1){return function(t,n,o,i){let s=t[n];if(Ce(s)&&Fe(s)&&!Fe(o))return!1;if(!e&&!Ce(o)&&(Oe(o)||(o=Ae(o),s=Ae(s)),!(0,r.kJ)(t)&&Fe(s)&&!Fe(o)))return s.value=o,!0;const c=(0,r.kJ)(t)&&(0,r.S0)(n)?Number(n)e,W=e=>Reflect.getPrototypeOf(e);function K(e,t,n=!1,r=!1){e=e["__v_raw"];const o=Ae(e),i=Ae(t);n||(t!==i&&C(o,"get",t),C(o,"get",i));const{has:s}=W(o),c=r?H:n?Pe:Ie;return s.call(o,t)?c(e.get(t)):s.call(o,i)?c(e.get(i)):void(e!==o&&e.get(t))}function Z(e,t=!1){const n=this["__v_raw"],r=Ae(n),o=Ae(e);return t||(e!==o&&C(r,"has",e),C(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function X(e,t=!1){return e=e["__v_raw"],!t&&C(Ae(e),"iterate",m),Reflect.get(e,"size",e)}function Y(e){e=Ae(e);const t=Ae(this),n=W(t),r=n.has.call(t,e);return r||(t.add(e),E(t,"add",e,e)),this}function Q(e,t){t=Ae(t);const n=Ae(this),{has:o,get:i}=W(n);let s=o.call(n,e);s||(e=Ae(e),s=o.call(n,e));const c=i.call(n,e);return n.set(e,t),s?(0,r.aU)(t,c)&&E(n,"set",e,t,c):E(n,"add",e,t),this}function ee(e){const t=Ae(this),{has:n,get:r}=W(t);let o=n.call(t,e);o||(e=Ae(e),o=n.call(t,e));const i=r?r.call(t,e):void 0,s=t.delete(e);return o&&E(t,"delete",e,void 0,i),s}function te(){const e=Ae(this),t=0!==e.size,n=void 0,r=e.clear();return t&&E(e,"clear",void 0,void 0,n),r}function ne(e,t){return function(n,r){const o=this,i=o["__v_raw"],s=Ae(i),c=t?H:e?Pe:Ie;return!e&&C(s,"iterate",m),i.forEach(((e,t)=>n.call(r,c(e),c(t),o)))}}function re(e,t,n){return function(...o){const i=this["__v_raw"],s=Ae(i),c=(0,r._N)(s),u="entries"===e||e===Symbol.iterator&&c,l="keys"===e&&c,a=i[e](...o),f=n?H:t?Pe:Ie;return!t&&C(s,"iterate",l?y:m),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:u?[f(e[0]),f(e[1])]:f(e),done:t}},[Symbol.iterator](){return this}}}}function oe(e){return function(...t){return"delete"!==e&&this}}function ie(){const e={get(e){return K(this,e)},get size(){return X(this)},has:Z,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!1)},t={get(e){return K(this,e,!1,!0)},get size(){return X(this)},has:Z,add:Y,set:Q,delete:ee,clear:te,forEach:ne(!1,!0)},n={get(e){return K(this,e,!0)},get size(){return X(this,!0)},has(e){return Z.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!1)},r={get(e){return K(this,e,!0,!0)},get size(){return X(this,!0)},has(e){return Z.call(this,e,!0)},add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear"),forEach:ne(!0,!0)},o=["keys","values","entries",Symbol.iterator];return o.forEach((o=>{e[o]=re(o,!1,!1),n[o]=re(o,!0,!1),t[o]=re(o,!1,!0),r[o]=re(o,!0,!0)})),[e,n,t,r]}const[se,ce,ue,le]=ie();function ae(e,t){const n=t?e?le:ue:e?ce:se;return(t,o,i)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get((0,r.RI)(n,o)&&o in t?n:t,o,i)}const fe={get:ae(!1,!1)},pe={get:ae(!1,!0)},de={get:ae(!0,!1)};const he=new WeakMap,ve=new WeakMap,ge=new WeakMap,me=new WeakMap;function ye(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function be(e){return e["__v_skip"]||!Object.isExtensible(e)?0:ye((0,r.W7)(e))}function _e(e){return Ce(e)?e:ke(e,!1,G,fe,he)}function xe(e){return ke(e,!1,z,pe,ve)}function we(e){return ke(e,!0,q,de,ge)}function ke(e,t,n,o,i){if(!(0,r.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const s=i.get(e);if(s)return s;const c=be(e);if(0===c)return e;const u=new Proxy(e,2===c?o:n);return i.set(e,u),u}function Se(e){return Ce(e)?Se(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function Ce(e){return!(!e||!e["__v_isReadonly"])}function Oe(e){return!(!e||!e["__v_isShallow"])}function Ee(e){return Se(e)||Ce(e)}function Ae(e){const t=e&&e["__v_raw"];return t?Ae(t):e}function Re(e){return(0,r.Nj)(e,"__v_skip",!0),e}const Ie=e=>(0,r.Kn)(e)?_e(e):e,Pe=e=>(0,r.Kn)(e)?we(e):e;function Te(e){x&&g&&(e=Ae(e),O(e.dep||(e.dep=c())))}function je(e,t){e=Ae(e),e.dep&&A(e.dep)}function Fe(e){return!(!e||!0!==e.__v_isRef)}function Me(e){return $e(e,!1)}function Le(e){return $e(e,!0)}function $e(e,t){return Fe(e)?e:new Ue(e,t)}class Ue{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ae(e),this._value=t?e:Ie(e)}get value(){return Te(this),this._value}set value(e){e=this.__v_isShallow?e:Ae(e),(0,r.aU)(e,this._rawValue)&&(this._rawValue=e,this._value=this.__v_isShallow?e:Ie(e),je(this,e))}}function Ne(e){return Fe(e)?e.value:e}const De={get:(e,t,n)=>Ne(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Fe(o)&&!Fe(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Je(e){return Se(e)?e:new Proxy(e,De)}class Be{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new b(e,(()=>{this._dirty||(this._dirty=!0,je(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const e=Ae(this);return Te(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Ve(e,t,n=!1){let o,i;const s=(0,r.mf)(e);s?(o=e,i=r.dG):(o=e.get,i=e.set);const c=new Be(o,i,s||!i,n);return c}},6252:function(e,t,n){"use strict";n.d(t,{$d:function(){return s},Cn:function(){return J},FN:function(){return _n},Fl:function(){return Ln},HY:function(){return Nt},JJ:function(){return X},Ko:function(){return qe},LL:function(){return Be},P$:function(){return ue},Q6:function(){return he},U2:function(){return ae},Uk:function(){return ln},Us:function(){return jt},WI:function(){return ze},Wm:function(){return on},Y3:function(){return w},Y8:function(){return ie},YP:function(){return ee},_:function(){return rn},aZ:function(){return ve},dD:function(){return D},f3:function(){return Y},h:function(){return $n},iD:function(){return Zt},ic:function(){return Ie},j4:function(){return Xt},kq:function(){return an},nK:function(){return de},up:function(){return De},w5:function(){return B},wg:function(){return qt},wy:function(){return $e}});var r=n(2262),o=n(3577);function i(e,t,n,r){let o;try{o=r?e(...r):e()}catch(i){c(i,t,n)}return o}function s(e,t,n,r){if((0,o.mf)(e)){const s=i(e,t,n,r);return s&&(0,o.tI)(s)&&s.catch((e=>{c(e,t,n)})),s}const u=[];for(let o=0;o>>1,o=T(f[r]);op&&f.splice(t,1)}function E(e,t,n,r){(0,o.kJ)(e)?n.push(...e):t&&t.includes(e,e.allowRecurse?r+1:r)||n.push(e),C()}function A(e){E(e,h,d,v)}function R(e){E(e,m,g,y)}function I(e,t=null){if(d.length){for(x=t,h=[...new Set(d)],d.length=0,v=0;vT(e)-T(t))),y=0;ynull==e.id?1/0:e.id;function j(e){a=!1,l=!0,I(e),f.sort(((e,t)=>T(e)-T(t)));o.dG;try{for(p=0;pe.trim()))),t&&(i=n.map(o.He))}let l;let a=r[l=(0,o.hR)(t)]||r[l=(0,o.hR)((0,o._A)(t))];!a&&c&&(a=r[l=(0,o.hR)((0,o.rs)(t))]),a&&s(a,e,6,i);const f=r[l+"Once"];if(f){if(e.emitted){if(e.emitted[l])return}else e.emitted={};e.emitted[l]=!0,s(f,e,6,i)}}function M(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(void 0!==i)return i;const s=e.emits;let c={},u=!1;if(!(0,o.mf)(e)){const r=e=>{const n=M(e,t,!0);n&&(u=!0,(0,o.l7)(c,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return s||u?((0,o.kJ)(s)?s.forEach((e=>c[e]=null)):(0,o.l7)(c,s),r.set(e,c),c):(r.set(e,null),null)}function L(e,t){return!(!e||!(0,o.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,o.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,o.RI)(e,(0,o.rs)(t))||(0,o.RI)(e,t))}let $=null,U=null;function N(e){const t=$;return $=e,U=e&&e.type.__scopeId||null,t}function D(e){U=e}function J(){U=null}function B(e,t=$,n){if(!t)return e;if(e._n)return e;const r=(...n)=>{r._d&&Wt(-1);const o=N(t),i=e(...n);return N(o),r._d&&Wt(1),i};return r._n=!0,r._c=!0,r._d=!0,r}function V(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:s,propsOptions:[u],slots:l,attrs:a,emit:f,render:p,renderCache:d,data:h,setupState:v,ctx:g,inheritAttrs:m}=e;let y,b;const _=N(e);try{if(4&n.shapeFlag){const e=i||r;y=fn(p.call(e,e,d,s,v,h,g)),b=a}else{const e=t;0,y=fn(e.length>1?e(s,{attrs:a,slots:l,emit:f}):e(s,null)),b=t.props?a:G(a)}}catch(w){Vt.length=0,c(w,e,1),y=on(Jt)}let x=y;if(b&&!1!==m){const e=Object.keys(b),{shapeFlag:t}=x;e.length&&7&t&&(u&&e.some(o.tR)&&(b=q(b,u)),x=un(x,b))}return n.dirs&&(x=un(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),y=x,N(_),y}const G=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},q=(e,t)=>{const n={};for(const r in e)(0,o.tR)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function z(e,t,n){const{props:r,children:o,component:i}=e,{props:s,children:c,patchFlag:u}=t,l=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&u>=0))return!(!o&&!c||c&&c.$stable)||r!==s&&(r?!s||H(r,s,l):!!s);if(1024&u)return!0;if(16&u)return r?H(r,s,l):!!s;if(8&u){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function Z(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):R(e)}function X(e,t){if(bn){let n=bn.provides;const r=bn.parent&&bn.parent.provides;r===n&&(n=bn.provides=Object.create(r)),n[e]=t}else 0}function Y(e,t,n=!1){const r=bn||$;if(r){const i=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&(0,o.mf)(t)?t.call(r.proxy):t}else 0}const Q={};function ee(e,t,n){return te(e,t,n)}function te(e,t,{immediate:n,deep:c,flush:u,onTrack:l,onTrigger:a}=o.kT){const f=bn;let p,d,h=!1,v=!1;if((0,r.dq)(e)?(p=()=>e.value,h=(0,r.yT)(e)):(0,r.PG)(e)?(p=()=>e,c=!0):(0,o.kJ)(e)?(v=!0,h=e.some((e=>(0,r.PG)(e)||(0,r.yT)(e))),p=()=>e.map((e=>(0,r.dq)(e)?e.value:(0,r.PG)(e)?oe(e):(0,o.mf)(e)?i(e,f,2):void 0))):p=(0,o.mf)(e)?t?()=>i(e,f,2):()=>{if(!f||!f.isUnmounted)return d&&d(),s(e,f,3,[g])}:o.dG,t&&c){const e=p;p=()=>oe(e())}let g=e=>{d=_.onStop=()=>{i(e,f,4)}};if(On)return g=o.dG,t?n&&s(t,f,3,[p(),v?[]:void 0,g]):p(),o.dG;let m=v?[]:Q;const y=()=>{if(_.active)if(t){const e=_.run();(c||h||(v?e.some(((e,t)=>(0,o.aU)(e,m[t]))):(0,o.aU)(e,m)))&&(d&&d(),s(t,f,3,[e,m===Q?void 0:m,g]),m=e)}else _.run()};let b;y.allowRecurse=!!t,b="sync"===u?y:"post"===u?()=>Tt(y,f&&f.suspense):()=>A(y);const _=new r.qq(p,b);return t?n?y():m=_.run():"post"===u?Tt(_.run.bind(_),f&&f.suspense):_.run(),()=>{_.stop(),f&&f.scope&&(0,o.Od)(f.scope.effects,_)}}function ne(e,t,n){const r=this.proxy,i=(0,o.HD)(e)?e.includes(".")?re(r,e):()=>r[e]:e.bind(r,r);let s;(0,o.mf)(t)?s=t:(s=t.handler,n=t);const c=bn;xn(this);const u=te(i,s.bind(r),n);return c?xn(c):wn(),u}function re(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{oe(e,t)}));else if((0,o.PO)(e))for(const n in e)oe(e[n],t);return e}function ie(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ae((()=>{e.isMounted=!0})),Pe((()=>{e.isUnmounting=!0})),e}const se=[Function,Array],ce={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:se,onEnter:se,onAfterEnter:se,onEnterCancelled:se,onBeforeLeave:se,onLeave:se,onAfterLeave:se,onLeaveCancelled:se,onBeforeAppear:se,onAppear:se,onAfterAppear:se,onAppearCancelled:se},setup(e,{slots:t}){const n=_n(),o=ie();let i;return()=>{const s=t.default&&he(t.default(),!0);if(!s||!s.length)return;let c=s[0];if(s.length>1){let e=!1;for(const t of s)if(t.type!==Jt){0,c=t,e=!0;break}}const u=(0,r.IU)(e),{mode:l}=u;if(o.isLeaving)return fe(c);const a=pe(c);if(!a)return fe(c);const f=ae(a,u,o,n);de(a,f);const p=n.subTree,d=p&&pe(p);let h=!1;const{getTransitionKey:v}=a.type;if(v){const e=v();void 0===i?i=e:e!==i&&(i=e,h=!0)}if(d&&d.type!==Jt&&(!Qt(a,d)||h)){const e=ae(d,u,o,n);if(de(d,e),"out-in"===l)return o.isLeaving=!0,e.afterLeave=()=>{o.isLeaving=!1,n.update()},fe(c);"in-out"===l&&a.type!==Jt&&(e.delayLeave=(e,t,n)=>{const r=le(o,d);r[String(d.key)]=d,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=n})}return c}}},ue=ce;function le(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 ae(e,t,n,r){const{appear:i,mode:c,persisted:u=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:g,onBeforeAppear:m,onAppear:y,onAfterAppear:b,onAppearCancelled:_}=t,x=String(e.key),w=le(n,e),k=(e,t)=>{e&&s(e,r,9,t)},S=(e,t)=>{const n=t[1];k(e,t),(0,o.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},C={mode:c,persisted:u,beforeEnter(t){let r=l;if(!n.isMounted){if(!i)return;r=m||l}t._leaveCb&&t._leaveCb(!0);const o=w[x];o&&Qt(e,o)&&o.el._leaveCb&&o.el._leaveCb(),k(r,[t])},enter(e){let t=a,r=f,o=p;if(!n.isMounted){if(!i)return;t=y||a,r=b||f,o=_||p}let s=!1;const c=e._enterCb=t=>{s||(s=!0,k(t?o:r,[e]),C.delayedLeave&&C.delayedLeave(),e._enterCb=void 0)};t?S(t,[e,c]):c()},leave(t,r){const o=String(e.key);if(t._enterCb&&t._enterCb(!0),n.isUnmounting)return r();k(d,[t]);let i=!1;const s=t._leaveCb=n=>{i||(i=!0,r(),k(n?g:v,[t]),t._leaveCb=void 0,w[o]===e&&delete w[o])};w[o]=e,h?S(h,[t,s]):s()},clone(e){return ae(e,t,n,r)}};return C}function fe(e){if(me(e))return e=un(e),e.children=null,e}function pe(e){return me(e)?e.children?e.children[0]:void 0:e}function de(e,t){6&e.shapeFlag&&e.component?de(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function he(e,t=!1,n){let r=[],o=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader;const me=e=>e.type.__isKeepAlive;RegExp,RegExp;function ye(e,t){return(0,o.kJ)(e)?e.some((e=>ye(e,t))):(0,o.HD)(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function be(e,t){xe(e,"a",t)}function _e(e,t){xe(e,"da",t)}function xe(e,t,n=bn){const r=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(Ce(t,r,n),n){let e=n.parent;while(e&&e.parent)me(e.parent.vnode)&&we(r,t,n,e),e=e.parent}}function we(e,t,n,r){const i=Ce(t,e,r,!0);Te((()=>{(0,o.Od)(r[t],i)}),n)}function ke(e){let t=e.shapeFlag;256&t&&(t-=256),512&t&&(t-=512),e.shapeFlag=t}function Se(e){return 128&e.shapeFlag?e.ssContent:e}function Ce(e,t,n=bn,o=!1){if(n){const i=n[e]||(n[e]=[]),c=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;(0,r.Jd)(),xn(n);const i=s(t,n,e,o);return wn(),(0,r.lk)(),i});return o?i.unshift(c):i.push(c),c}}const Oe=e=>(t,n=bn)=>(!On||"sp"===e)&&Ce(e,t,n),Ee=Oe("bm"),Ae=Oe("m"),Re=Oe("bu"),Ie=Oe("u"),Pe=Oe("bum"),Te=Oe("um"),je=Oe("sp"),Fe=Oe("rtg"),Me=Oe("rtc");function Le(e,t=bn){Ce("ec",e,t)}function $e(e,t){const n=$;if(null===n)return e;const r=jn(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let s=0;st(e,n,void 0,s&&s[n])));else{const n=Object.keys(e);i=new Array(n.length);for(let r=0,o=n.length;r!Yt(e)||e.type!==Jt&&!(e.type===Nt&&!He(e.children))))?e:null}const We=e=>e?kn(e)?jn(e)||e.proxy:We(e.parent):null,Ke=(0,o.l7)(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=>We(e.parent),$root:e=>We(e.root),$emit:e=>e.emit,$options:e=>nt(e),$forceUpdate:e=>e.f||(e.f=()=>S(e.update)),$nextTick:e=>e.n||(e.n=w.bind(e.proxy)),$watch:e=>ne.bind(e)}),Ze={get({_:e},t){const{ctx:n,setupState:i,data:s,props:c,accessCache:u,type:l,appContext:a}=e;let f;if("$"!==t[0]){const r=u[t];if(void 0!==r)switch(r){case 1:return i[t];case 2:return s[t];case 4:return n[t];case 3:return c[t]}else{if(i!==o.kT&&(0,o.RI)(i,t))return u[t]=1,i[t];if(s!==o.kT&&(0,o.RI)(s,t))return u[t]=2,s[t];if((f=e.propsOptions[0])&&(0,o.RI)(f,t))return u[t]=3,c[t];if(n!==o.kT&&(0,o.RI)(n,t))return u[t]=4,n[t];Xe&&(u[t]=0)}}const p=Ke[t];let d,h;return p?("$attrs"===t&&(0,r.j)(e,"get",t),p(e)):(d=l.__cssModules)&&(d=d[t])?d:n!==o.kT&&(0,o.RI)(n,t)?(u[t]=4,n[t]):(h=a.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:i,ctx:s}=e;return i!==o.kT&&(0,o.RI)(i,t)?(i[t]=n,!0):r!==o.kT&&(0,o.RI)(r,t)?(r[t]=n,!0):!(0,o.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:s}},c){let u;return!!n[c]||e!==o.kT&&(0,o.RI)(e,c)||t!==o.kT&&(0,o.RI)(t,c)||(u=s[0])&&(0,o.RI)(u,c)||(0,o.RI)(r,c)||(0,o.RI)(Ke,c)||(0,o.RI)(i.config.globalProperties,c)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,o.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Xe=!0;function Ye(e){const t=nt(e),n=e.proxy,i=e.ctx;Xe=!1,t.beforeCreate&&et(t.beforeCreate,e,"bc");const{data:s,computed:c,methods:u,watch:l,provide:a,inject:f,created:p,beforeMount:d,mounted:h,beforeUpdate:v,updated:g,activated:m,deactivated:y,beforeDestroy:b,beforeUnmount:_,destroyed:x,unmounted:w,render:k,renderTracked:S,renderTriggered:C,errorCaptured:O,serverPrefetch:E,expose:A,inheritAttrs:R,components:I,directives:P,filters:T}=t,j=null;if(f&&Qe(f,i,j,e.appContext.config.unwrapInjectedRef),u)for(const r in u){const e=u[r];(0,o.mf)(e)&&(i[r]=e.bind(n))}if(s){0;const t=s.call(n,n);0,(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(Xe=!0,c)for(const r in c){const e=c[r],t=(0,o.mf)(e)?e.bind(n,n):(0,o.mf)(e.get)?e.get.bind(n,n):o.dG;0;const s=!(0,o.mf)(e)&&(0,o.mf)(e.set)?e.set.bind(n):o.dG,u=Ln({get:t,set:s});Object.defineProperty(i,r,{enumerable:!0,configurable:!0,get:()=>u.value,set:e=>u.value=e})}if(l)for(const r in l)tt(l[r],i,n,r);if(a){const e=(0,o.mf)(a)?a.call(n):a;Reflect.ownKeys(e).forEach((t=>{X(t,e[t])}))}function F(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(p&&et(p,e,"c"),F(Ee,d),F(Ae,h),F(Re,v),F(Ie,g),F(be,m),F(_e,y),F(Le,O),F(Me,S),F(Fe,C),F(Pe,_),F(Te,w),F(je,E),(0,o.kJ)(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===o.dG&&(e.render=k),null!=R&&(e.inheritAttrs=R),I&&(e.components=I),P&&(e.directives=P)}function Qe(e,t,n=o.dG,i=!1){(0,o.kJ)(e)&&(e=ct(e));for(const s in e){const n=e[s];let c;c=(0,o.Kn)(n)?"default"in n?Y(n.from||s,n.default,!0):Y(n.from||s):Y(n),(0,r.dq)(c)&&i?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e}):t[s]=c}}function et(e,t,n){s((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function tt(e,t,n,r){const i=r.includes(".")?re(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&ee(i,n)}else if((0,o.mf)(e))ee(i,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>tt(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&ee(i,r,e)}else 0}function nt(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:s}}=e.appContext,c=i.get(t);let u;return c?u=c:o.length||n||r?(u={},o.length&&o.forEach((e=>rt(u,e,s,!0))),rt(u,t,s)):u=t,i.set(t,u),u}function rt(e,t,n,r=!1){const{mixins:o,extends:i}=t;i&&rt(e,i,n,!0),o&&o.forEach((t=>rt(e,t,n,!0)));for(const s in t)if(r&&"expose"===s);else{const r=ot[s]||n&&n[s];e[s]=r?r(e[s],t[s]):t[s]}return e}const ot={data:it,props:lt,emits:lt,methods:lt,computed:lt,beforeCreate:ut,created:ut,beforeMount:ut,mounted:ut,beforeUpdate:ut,updated:ut,beforeDestroy:ut,beforeUnmount:ut,destroyed:ut,unmounted:ut,activated:ut,deactivated:ut,errorCaptured:ut,serverPrefetch:ut,components:lt,directives:lt,watch:at,provide:it,inject:st};function it(e,t){return t?e?function(){return(0,o.l7)((0,o.mf)(e)?e.call(this,this):e,(0,o.mf)(t)?t.call(this,this):t)}:t:e}function st(e,t){return lt(ct(e),ct(t))}function ct(e){if((0,o.kJ)(e)){const t={};for(let n=0;n0)||16&u){let r;dt(e,t,s,c)&&(f=!0);for(const i in l)t&&((0,o.RI)(t,i)||(r=(0,o.rs)(i))!==i&&(0,o.RI)(t,r))||(a?!n||void 0===n[i]&&void 0===n[r]||(s[i]=ht(a,l,i,void 0,e,!0)):delete s[i]);if(c!==l)for(const e in c)t&&(0,o.RI)(t,e)||(delete c[e],f=!0)}else if(8&u){const n=e.vnode.dynamicProps;for(let r=0;r{l=!0;const[n,r]=vt(e,t,!0);(0,o.l7)(c,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!l)return r.set(e,o.Z6),o.Z6;if((0,o.kJ)(s))for(let f=0;f-1,r[1]=n<0||e-1||(0,o.RI)(r,"default"))&&u.push(t)}}}}const a=[c,u];return r.set(e,a),a}function gt(e){return"$"!==e[0]}function mt(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:null===e?"null":""}function yt(e,t){return mt(e)===mt(t)}function bt(e,t){return(0,o.kJ)(t)?t.findIndex((t=>yt(t,e))):(0,o.mf)(t)&&yt(t,e)?0:-1}const _t=e=>"_"===e[0]||"$stable"===e,xt=e=>(0,o.kJ)(e)?e.map(fn):[fn(e)],wt=(e,t,n)=>{if(t._n)return t;const r=B(((...e)=>xt(t(...e))),n);return r._c=!1,r},kt=(e,t,n)=>{const r=e._ctx;for(const i in e){if(_t(i))continue;const n=e[i];if((0,o.mf)(n))t[i]=wt(i,n,r);else if(null!=n){0;const e=xt(n);t[i]=()=>e}}},St=(e,t)=>{const n=xt(t);e.slots.default=()=>n},Ct=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=(0,r.IU)(t),(0,o.Nj)(t,"_",n)):kt(t,e.slots={})}else e.slots={},t&&St(e,t);(0,o.Nj)(e.slots,en,1)},Ot=(e,t,n)=>{const{vnode:r,slots:i}=e;let s=!0,c=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?s=!1:((0,o.l7)(i,t),n||1!==e||delete i._):(s=!t.$stable,kt(t,i)),c=t}else t&&(St(e,t),c={default:1});if(s)for(const o in i)_t(o)||o in c||delete i[o]};function Et(){return{app:null,config:{isNativeTag:o.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let At=0;function Rt(e,t){return function(n,r=null){(0,o.mf)(n)||(n=Object.assign({},n)),null==r||(0,o.Kn)(r)||(r=null);const i=Et(),s=new Set;let c=!1;const u=i.app={_uid:At++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:Un,get config(){return i.config},set config(e){0},use(e,...t){return s.has(e)||(e&&(0,o.mf)(e.install)?(s.add(e),e.install(u,...t)):(0,o.mf)(e)&&(s.add(e),e(u,...t))),u},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),u},component(e,t){return t?(i.components[e]=t,u):i.components[e]},directive(e,t){return t?(i.directives[e]=t,u):i.directives[e]},mount(o,s,l){if(!c){0;const a=on(n,r);return a.appContext=i,s&&t?t(a,o):e(a,o,l),c=!0,u._container=o,o.__vue_app__=u,jn(a.component)||a.component.proxy}},unmount(){c&&(e(null,u._container),delete u._container.__vue_app__)},provide(e,t){return i.provides[e]=t,u}};return u}}function It(e,t,n,s,c=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>It(e,t&&((0,o.kJ)(t)?t[r]:t),n,s,c)));if(ge(s)&&!c)return;const u=4&s.shapeFlag?jn(s.component)||s.component.proxy:s.el,l=c?null:u,{i:a,r:f}=e;const p=t&&t.r,d=a.refs===o.kT?a.refs={}:a.refs,h=a.setupState;if(null!=p&&p!==f&&((0,o.HD)(p)?(d[p]=null,(0,o.RI)(h,p)&&(h[p]=null)):(0,r.dq)(p)&&(p.value=null)),(0,o.mf)(f))i(f,a,12,[l,d]);else{const t=(0,o.HD)(f),i=(0,r.dq)(f);if(t||i){const r=()=>{if(e.f){const n=t?d[f]:f.value;c?(0,o.kJ)(n)&&(0,o.Od)(n,u):(0,o.kJ)(n)?n.includes(u)||n.push(u):t?(d[f]=[u],(0,o.RI)(h,f)&&(h[f]=d[f])):(f.value=[u],e.k&&(d[e.k]=f.value))}else t?(d[f]=l,(0,o.RI)(h,f)&&(h[f]=l)):i&&(f.value=l,e.k&&(d[e.k]=l))};l?(r.id=-1,Tt(r,n)):r()}else 0}}function Pt(){}const Tt=Z;function jt(e){return Ft(e)}function Ft(e,t){Pt();const n=(0,o.E9)();n.__VUE__=!0;const{insert:i,remove:s,patchProp:c,createElement:u,createText:l,createComment:a,setText:f,setElementText:p,parentNode:d,nextSibling:h,setScopeId:v=o.dG,cloneNode:g,insertStaticContent:m}=e,y=(e,t,n,r=null,o=null,i=null,s=!1,c=null,u=!!t.dynamicChildren)=>{if(e===t)return;e&&!Qt(e,t)&&(r=Q(e),H(e,o,i,!0),e=null),-2===t.patchFlag&&(u=!1,t.dynamicChildren=null);const{type:l,ref:a,shapeFlag:f}=t;switch(l){case Dt:b(e,t,n,r);break;case Jt:_(e,t,n,r);break;case Bt:null==e&&x(t,n,r,s);break;case Nt:M(e,t,n,r,o,i,s,c,u);break;default:1&f?C(e,t,n,r,o,i,s,c,u):6&f?L(e,t,n,r,o,i,s,c,u):(64&f||128&f)&&l.process(e,t,n,r,o,i,s,c,u,te)}null!=a&&o&&It(a,e&&e.ref,i,t||e,!t)},b=(e,t,n,r)=>{if(null==e)i(t.el=l(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=a(t.children||""),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=m(e.children,t,n,r,e.el,e.anchor)},w=({el:e,anchor:t},n,r)=>{let o;while(e&&e!==t)o=h(e),i(e,n,r),e=o;i(t,n,r)},k=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=h(e),s(e),e=n;s(t)},C=(e,t,n,r,o,i,s,c,u)=>{s=s||"svg"===t.type,null==e?E(t,n,r,o,i,s,c,u):T(e,t,o,i,s,c,u)},E=(e,t,n,r,s,l,a,f)=>{let d,h;const{type:v,props:m,shapeFlag:y,transition:b,patchFlag:_,dirs:x}=e;if(e.el&&void 0!==g&&-1===_)d=e.el=g(e.el);else{if(d=e.el=u(e.type,l,m&&m.is,m),8&y?p(d,e.children):16&y&&R(e.children,d,null,r,s,l&&"foreignObject"!==v,a,f),x&&Ue(e,null,r,"created"),m){for(const t in m)"value"===t||(0,o.Gg)(t)||c(d,t,null,m[t],l,e.children,r,s,Y);"value"in m&&c(d,"value",null,m.value),(h=m.onVnodeBeforeMount)&&vn(h,r,e)}A(d,e,e.scopeId,a,r)}x&&Ue(e,null,r,"beforeMount");const w=(!s||s&&!s.pendingBranch)&&b&&!b.persisted;w&&b.beforeEnter(d),i(d,t,n),((h=m&&m.onVnodeMounted)||w||x)&&Tt((()=>{h&&vn(h,r,e),w&&b.enter(d),x&&Ue(e,null,r,"mounted")}),s)},A=(e,t,n,r,o)=>{if(n&&v(e,n),r)for(let i=0;i{for(let l=u;l{const l=t.el=e.el;let{patchFlag:a,dynamicChildren:f,dirs:d}=t;a|=16&e.patchFlag;const h=e.props||o.kT,v=t.props||o.kT;let g;n&&Mt(n,!1),(g=v.onVnodeBeforeUpdate)&&vn(g,n,t,e),d&&Ue(t,e,n,"beforeUpdate"),n&&Mt(n,!0);const m=i&&"foreignObject"!==t.type;if(f?j(e.dynamicChildren,f,l,n,r,m,s):u||J(e,t,l,null,n,r,m,s,!1),a>0){if(16&a)F(l,t,h,v,n,r,i);else if(2&a&&h.class!==v.class&&c(l,"class",null,v.class,i),4&a&&c(l,"style",h.style,v.style,i),8&a){const o=t.dynamicProps;for(let t=0;t{g&&vn(g,n,t,e),d&&Ue(t,e,n,"updated")}),r)},j=(e,t,n,r,o,i,s)=>{for(let c=0;c{if(n!==r){for(const l in r){if((0,o.Gg)(l))continue;const a=r[l],f=n[l];a!==f&&"value"!==l&&c(e,l,f,a,u,t.children,i,s,Y)}if(n!==o.kT)for(const l in n)(0,o.Gg)(l)||l in r||c(e,l,n[l],null,u,t.children,i,s,Y);"value"in r&&c(e,"value",n.value,r.value)}},M=(e,t,n,r,o,s,c,u,a)=>{const f=t.el=e?e.el:l(""),p=t.anchor=e?e.anchor:l("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=t;v&&(u=u?u.concat(v):v),null==e?(i(f,n,r),i(p,n,r),R(t.children,n,p,o,s,c,u,a)):d>0&&64&d&&h&&e.dynamicChildren?(j(e.dynamicChildren,h,n,o,s,c,u),(null!=t.key||o&&t===o.subTree)&&Lt(e,t,!0)):J(e,t,n,p,o,s,c,u,a)},L=(e,t,n,r,o,i,s,c,u)=>{t.slotScopeIds=c,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,s,u):$(t,n,r,o,i,s,u):U(e,t,u)},$=(e,t,n,r,o,i,s)=>{const c=e.component=yn(e,r,o);if(me(e)&&(c.ctx.renderer=te),En(c),c.asyncDep){if(o&&o.registerDep(c,N),!e.el){const e=c.subTree=on(Jt);_(null,e,t,n)}}else N(c,e,t,n,o,i,s)},U=(e,t,n)=>{const r=t.component=e.component;if(z(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void D(r,t,n);r.next=t,O(r.update),r.update()}else t.el=e.el,r.vnode=t},N=(e,t,n,i,s,c,u)=>{const l=()=>{if(e.isMounted){let t,{next:n,bu:r,u:i,parent:l,vnode:a}=e,f=n;0,Mt(e,!1),n?(n.el=a.el,D(e,n,u)):n=a,r&&(0,o.ir)(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&vn(t,l,n,a),Mt(e,!0);const p=V(e);0;const h=e.subTree;e.subTree=p,y(h,p,d(h.el),Q(h),e,s,c),n.el=p.el,null===f&&W(e,p.el),i&&Tt(i,s),(t=n.props&&n.props.onVnodeUpdated)&&Tt((()=>vn(t,l,n,a)),s)}else{let r;const{el:u,props:l}=t,{bm:a,m:f,parent:p}=e,d=ge(t);if(Mt(e,!1),a&&(0,o.ir)(a),!d&&(r=l&&l.onVnodeBeforeMount)&&vn(r,p,t),Mt(e,!0),u&&re){const n=()=>{e.subTree=V(e),re(u,e.subTree,e,s,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{0;const r=e.subTree=V(e);0,y(null,r,n,i,e,s,c),t.el=r.el}if(f&&Tt(f,s),!d&&(r=l&&l.onVnodeMounted)){const e=t;Tt((()=>vn(r,p,e)),s)}(256&t.shapeFlag||p&&ge(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&Tt(e.a,s),e.isMounted=!0,t=n=i=null}},a=e.effect=new r.qq(l,(()=>S(f)),e.scope),f=e.update=()=>a.run();f.id=e.uid,Mt(e,!0),f()},D=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,pt(e,t.props,o,n),Ot(e,t.children,n),(0,r.Jd)(),I(void 0,e.update),(0,r.lk)()},J=(e,t,n,r,o,i,s,c,u=!1)=>{const l=e&&e.children,a=e?e.shapeFlag:0,f=t.children,{patchFlag:d,shapeFlag:h}=t;if(d>0){if(128&d)return void G(l,f,n,r,o,i,s,c,u);if(256&d)return void B(l,f,n,r,o,i,s,c,u)}8&h?(16&a&&Y(l,o,i),f!==l&&p(n,f)):16&a?16&h?G(l,f,n,r,o,i,s,c,u):Y(l,o,i,!0):(8&a&&p(n,""),16&h&&R(f,n,r,o,i,s,c,u))},B=(e,t,n,r,i,s,c,u,l)=>{e=e||o.Z6,t=t||o.Z6;const a=e.length,f=t.length,p=Math.min(a,f);let d;for(d=0;df?Y(e,i,s,!0,!1,p):R(t,n,r,i,s,c,u,l,p)},G=(e,t,n,r,i,s,c,u,l)=>{let a=0;const f=t.length;let p=e.length-1,d=f-1;while(a<=p&&a<=d){const r=e[a],o=t[a]=l?pn(t[a]):fn(t[a]);if(!Qt(r,o))break;y(r,o,n,null,i,s,c,u,l),a++}while(a<=p&&a<=d){const r=e[p],o=t[d]=l?pn(t[d]):fn(t[d]);if(!Qt(r,o))break;y(r,o,n,null,i,s,c,u,l),p--,d--}if(a>p){if(a<=d){const e=d+1,o=ed)while(a<=p)H(e[a],i,s,!0),a++;else{const h=a,v=a,g=new Map;for(a=v;a<=d;a++){const e=t[a]=l?pn(t[a]):fn(t[a]);null!=e.key&&g.set(e.key,a)}let m,b=0;const _=d-v+1;let x=!1,w=0;const k=new Array(_);for(a=0;a<_;a++)k[a]=0;for(a=h;a<=p;a++){const r=e[a];if(b>=_){H(r,i,s,!0);continue}let o;if(null!=r.key)o=g.get(r.key);else for(m=v;m<=d;m++)if(0===k[m-v]&&Qt(r,t[m])){o=m;break}void 0===o?H(r,i,s,!0):(k[o-v]=a+1,o>=w?w=o:x=!0,y(r,t[o],n,null,i,s,c,u,l),b++)}const S=x?$t(k):o.Z6;for(m=S.length-1,a=_-1;a>=0;a--){const e=v+a,o=t[e],p=e+1{const{el:s,type:c,transition:u,children:l,shapeFlag:a}=e;if(6&a)return void q(e.component.subTree,t,n,r);if(128&a)return void e.suspense.move(t,n,r);if(64&a)return void c.move(e,t,n,te);if(c===Nt){i(s,t,n);for(let e=0;eu.enter(s)),o);else{const{leave:e,delayLeave:r,afterLeave:o}=u,c=()=>i(s,t,n),l=()=>{e(s,(()=>{c(),o&&o()}))};r?r(s,c,l):l()}else i(s,t,n)},H=(e,t,n,r=!1,o=!1)=>{const{type:i,props:s,ref:c,children:u,dynamicChildren:l,shapeFlag:a,patchFlag:f,dirs:p}=e;if(null!=c&&It(c,null,n,e,!0),256&a)return void t.ctx.deactivate(e);const d=1&a&&p,h=!ge(e);let v;if(h&&(v=s&&s.onVnodeBeforeUnmount)&&vn(v,t,e),6&a)X(e.component,n,r);else{if(128&a)return void e.suspense.unmount(n,r);d&&Ue(e,null,t,"beforeUnmount"),64&a?e.type.remove(e,t,n,o,te,r):l&&(i!==Nt||f>0&&64&f)?Y(l,t,n,!1,!0):(i===Nt&&384&f||!o&&16&a)&&Y(u,t,n),r&&K(e)}(h&&(v=s&&s.onVnodeUnmounted)||d)&&Tt((()=>{v&&vn(v,t,e),d&&Ue(e,null,t,"unmounted")}),n)},K=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Nt)return void Z(n,r);if(t===Bt)return void k(e);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,s=()=>t(n,i);r?r(e.el,i,s):s()}else i()},Z=(e,t)=>{let n;while(e!==t)n=h(e),s(e),e=n;s(t)},X=(e,t,n)=>{const{bum:r,scope:i,update:s,subTree:c,um:u}=e;r&&(0,o.ir)(r),i.stop(),s&&(s.active=!1,H(c,e,t,n)),u&&Tt(u,t),Tt((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},Y=(e,t,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&e.shapeFlag?Q(e.component.subTree):128&e.shapeFlag?e.suspense.next():h(e.anchor||e.el),ee=(e,t,n)=>{null==e?t._vnode&&H(t._vnode,null,null,!0):y(t._vnode||null,e,t,null,null,null,n),P(),t._vnode=e},te={p:y,um:H,m:q,r:K,mt:$,mc:R,pc:J,pbc:j,n:Q,o:e};let ne,re;return t&&([ne,re]=t(te)),{render:ee,hydrate:ne,createApp:Rt(ee,ne)}}function Mt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Lt(e,t,n=!1){const r=e.children,i=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(i))for(let o=0;o>1,e[n[c]]0&&(t[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];while(i-- >0)n[i]=s,s=t[s];return n}const Ut=e=>e.__isTeleport;const Nt=Symbol(void 0),Dt=Symbol(void 0),Jt=Symbol(void 0),Bt=Symbol(void 0),Vt=[];let Gt=null;function qt(e=!1){Vt.push(Gt=e?null:[])}function zt(){Vt.pop(),Gt=Vt[Vt.length-1]||null}let Ht=1;function Wt(e){Ht+=e}function Kt(e){return e.dynamicChildren=Ht>0?Gt||o.Z6:null,zt(),Ht>0&&Gt&&Gt.push(e),e}function Zt(e,t,n,r,o,i){return Kt(rn(e,t,n,r,o,i,!0))}function Xt(e,t,n,r,o){return Kt(on(e,t,n,r,o,!0))}function Yt(e){return!!e&&!0===e.__v_isVNode}function Qt(e,t){return e.type===t.type&&e.key===t.key}const en="__vInternal",tn=({key:e})=>null!=e?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:$,r:e,k:t,f:!!n}:e:null;function rn(e,t=null,n=null,r=0,i=null,s=(e===Nt?0:1),c=!1,u=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tn(t),ref:t&&nn(t),scopeId:U,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};return u?(dn(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=(0,o.HD)(n)?8:16),Ht>0&&!c&&Gt&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Gt.push(l),l}const on=sn;function sn(e,t=null,n=null,i=0,s=null,c=!1){if(e&&e!==Je||(e=Jt),Yt(e)){const r=un(e,t,!0);return n&&dn(r,n),Ht>0&&!c&&Gt&&(6&r.shapeFlag?Gt[Gt.indexOf(e)]=r:Gt.push(r)),r.patchFlag|=-2,r}if(Mn(e)&&(e=e.__vccOpts),t){t=cn(t);let{class:e,style:n}=t;e&&!(0,o.HD)(e)&&(t.class=(0,o.C_)(e)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),t.style=(0,o.j5)(n))}const u=(0,o.HD)(e)?1:K(e)?128:Ut(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0;return rn(e,t,n,i,s,u,c,!0)}function cn(e){return e?(0,r.X3)(e)||en in e?(0,o.l7)({},e):e:null}function un(e,t,n=!1){const{props:r,ref:i,patchFlag:s,children:c}=e,u=t?hn(r||{},t):r,l={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&tn(u),ref:t&&t.ref?n&&i?(0,o.kJ)(i)?i.concat(nn(t)):[i,nn(t)]:nn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Nt?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&un(e.ssContent),ssFallback:e.ssFallback&&un(e.ssFallback),el:e.el,anchor:e.anchor};return l}function ln(e=" ",t=0){return on(Dt,null,e,t)}function an(e="",t=!1){return t?(qt(),Xt(Jt,null,e)):on(Jt,null,e)}function fn(e){return null==e||"boolean"===typeof e?on(Jt):(0,o.kJ)(e)?on(Nt,null,e.slice()):"object"===typeof e?pn(e):on(Dt,null,String(e))}function pn(e){return null===e.el||e.memo?e:un(e)}function dn(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if((0,o.kJ)(t))n=16;else if("object"===typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),dn(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||en in t?3===r&&$&&(1===$.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=$}}else(0,o.mf)(t)?(t={default:t,_ctx:$},n=32):(t=String(t),64&r?(n=16,t=[ln(t)]):n=8);e.children=t,e.shapeFlag|=n}function hn(...e){const t={};for(let n=0;nbn||$,xn=e=>{bn=e,e.scope.on()},wn=()=>{bn&&bn.scope.off(),bn=null};function kn(e){return 4&e.vnode.shapeFlag}let Sn,Cn,On=!1;function En(e,t=!1){On=t;const{props:n,children:r}=e.vnode,o=kn(e);ft(e,n,o,t),Ct(e,r);const i=o?An(e,t):void 0;return On=!1,i}function An(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=(0,r.Xl)(new Proxy(e.ctx,Ze));const{setup:s}=n;if(s){const n=e.setupContext=s.length>1?Tn(e):null;xn(e),(0,r.Jd)();const u=i(s,e,0,[e.props,n]);if((0,r.lk)(),wn(),(0,o.tI)(u)){if(u.then(wn,wn),t)return u.then((n=>{Rn(e,n,t)})).catch((t=>{c(t,e,0)}));e.asyncDep=u}else Rn(e,u,t)}else In(e,t)}function Rn(e,t,n){(0,o.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,o.Kn)(t)&&(e.setupState=(0,r.WL)(t)),In(e,n)}function In(e,t,n){const i=e.type;if(!e.render){if(!t&&Sn&&!i.render){const t=i.template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:c}=i,u=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:s},r),c);i.render=Sn(t,u)}}e.render=i.render||o.dG,Cn&&Cn(e)}xn(e),(0,r.Jd)(),Ye(e),(0,r.lk)(),wn()}function Pn(e){return new Proxy(e.attrs,{get(t,n){return(0,r.j)(e,"get","$attrs"),t[n]}})}function Tn(e){const t=t=>{e.exposed=t||{}};let n;return{get attrs(){return n||(n=Pn(e))},slots:e.slots,emit:e.emit,expose:t}}function jn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in Ke?Ke[n](e):void 0}}))}function Fn(e,t=!0){return(0,o.mf)(e)?e.displayName||e.name:e.name||t&&e.__name}function Mn(e){return(0,o.mf)(e)&&"__vccOpts"in e}const Ln=(e,t)=>(0,r.Fl)(e,t,On);function $n(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?Yt(t)?on(e,null,[t]):on(e,t):on(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Yt(n)&&(n=[n]),on(e,t,n))}Symbol("");const Un="3.2.37"},9963:function(e,t,n){"use strict";n.d(t,{F8:function(){return re},bM:function(){return ee},ri:function(){return ue}});var r=n(3577),o=n(6252);n(2262);const i="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,c=s&&s.createElement("template"),u={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 o=t?s.createElementNS(i,e):s.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>s.createTextNode(e),createComment:e=>s.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>s.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,i){const s=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling)){while(1)if(t.insertBefore(o.cloneNode(!0),n),o===i||!(o=o.nextSibling))break}else{c.innerHTML=r?`${e}`:e;const o=c.content;if(r){const e=o.firstChild;while(e.firstChild)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function l(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function a(e,t,n){const o=e.style,i=(0,r.HD)(n);if(n&&!i){for(const e in n)p(o,e,n[e]);if(t&&!(0,r.HD)(t))for(const e in t)null==n[e]&&p(o,e,"")}else{const r=o.display;i?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=r)}}const f=/\s*!important$/;function p(e,t,n){if((0,r.kJ)(n))n.forEach((n=>p(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=v(e,t);f.test(n)?e.setProperty((0,r.rs)(o),n.replace(f,""),"important"):e[o]=n}}const d=["Webkit","Moz","ms"],h={};function v(e,t){const n=h[t];if(n)return n;let o=(0,r._A)(t);if("filter"!==o&&o in e)return h[t]=o;o=(0,r.kC)(o);for(let r=0;r{let e=Date.now,t=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let x=0;const w=Promise.resolve(),k=()=>{x=0},S=()=>x||(w.then(k),x=b());function C(e,t,n,r){e.addEventListener(t,n,r)}function O(e,t,n,r){e.removeEventListener(t,n,r)}function E(e,t,n,r,o=null){const i=e._vei||(e._vei={}),s=i[t];if(r&&s)s.value=r;else{const[n,c]=R(t);if(r){const s=i[t]=I(r,o);C(e,n,s,c)}else s&&(O(e,n,s,c),i[t]=void 0)}}const A=/(?:Once|Passive|Capture)$/;function R(e){let t;if(A.test(e)){let n;t={};while(n=e.match(A))e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[(0,r.rs)(e.slice(2)),t]}function I(e,t){const n=e=>{const r=e.timeStamp||b();(_||r>=n.attached-1)&&(0,o.$d)(P(e,n.value),t,5,[e])};return n.value=e,n.attached=S(),n}function P(e,t){if((0,r.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const T=/^on[a-z]/,j=(e,t,n,o,i=!1,s,c,u,f)=>{"class"===t?l(e,o,i):"style"===t?a(e,n,o):(0,r.F7)(t)?(0,r.tR)(t)||E(e,t,n,o,c):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):F(e,t,o,i))?y(e,t,o,s,c,u,f):("true-value"===t?e._trueValue=o:"false-value"===t&&(e._falseValue=o),m(e,t,o,i))};function F(e,t,n,o){return o?"innerHTML"===t||"textContent"===t||!!(t in e&&T.test(t)&&(0,r.mf)(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!T.test(t)||!(0,r.HD)(n))&&t in e))))}"undefined"!==typeof HTMLElement&&HTMLElement;const M="transition",L="animation",$=(e,{slots:t})=>(0,o.h)(o.P$,J(e),t);$.displayName="Transition";const U={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},N=($.props=(0,r.l7)({},o.P$.props,U),(e,t=[])=>{(0,r.kJ)(e)?e.forEach((e=>e(...t))):e&&e(...t)}),D=e=>!!e&&((0,r.kJ)(e)?e.some((e=>e.length>1)):e.length>1);function J(e){const t={};for(const r in e)r in U||(t[r]=e[r]);if(!1===e.css)return t;const{name:n="v",type:o,duration:i,enterFromClass:s=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:a=c,appearToClass:f=u,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=B(i),g=v&&v[0],m=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:_,onLeave:x,onLeaveCancelled:w,onBeforeAppear:k=y,onAppear:S=b,onAppearCancelled:C=_}=t,O=(e,t,n)=>{q(e,t?f:u),q(e,t?a:c),n&&n()},E=(e,t)=>{e._isLeaving=!1,q(e,p),q(e,h),q(e,d),t&&t()},A=e=>(t,n)=>{const r=e?S:b,i=()=>O(t,e,n);N(r,[t,i]),z((()=>{q(t,e?l:s),G(t,e?f:u),D(r)||W(t,o,g,i)}))};return(0,r.l7)(t,{onBeforeEnter(e){N(y,[e]),G(e,s),G(e,c)},onBeforeAppear(e){N(k,[e]),G(e,l),G(e,a)},onEnter:A(!1),onAppear:A(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>E(e,t);G(e,p),Y(),G(e,d),z((()=>{e._isLeaving&&(q(e,p),G(e,h),D(x)||W(e,o,m,n))})),N(x,[e,n])},onEnterCancelled(e){O(e,!1),N(_,[e])},onAppearCancelled(e){O(e,!0),N(C,[e])},onLeaveCancelled(e){E(e),N(w,[e])}})}function B(e){if(null==e)return null;if((0,r.Kn)(e))return[V(e.enter),V(e.leave)];{const t=V(e);return[t,t]}}function V(e){const t=(0,r.He)(e);return t}function G(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e._vtc||(e._vtc=new Set)).add(t)}function q(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function z(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let H=0;function W(e,t,n,r){const o=e._endId=++H,i=()=>{o===e._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:c,propCount:u}=K(e,t);if(!s)return r();const l=s+"end";let a=0;const f=()=>{e.removeEventListener(l,p),i()},p=t=>{t.target===e&&++a>=u&&f()};setTimeout((()=>{a(n[e]||"").split(", "),o=r(M+"Delay"),i=r(M+"Duration"),s=Z(o,i),c=r(L+"Delay"),u=r(L+"Duration"),l=Z(c,u);let a=null,f=0,p=0;t===M?s>0&&(a=M,f=s,p=i.length):t===L?l>0&&(a=L,f=l,p=u.length):(f=Math.max(s,l),a=f>0?s>l?M:L:null,p=a?a===M?i.length:u.length:0);const d=a===M&&/\b(transform|all)(,|$)/.test(n[M+"Property"]);return{type:a,timeout:f,propCount:p,hasTransform:d}}function Z(e,t){while(e.lengthX(t)+X(e[n]))))}function X(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=e=>{const t=e.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(t)?e=>(0,r.ir)(t,e):t};const ee={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const i=(0,r.DM)(t);C(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?(0,r.He)(ne(e)):ne(e)));e._assign(e.multiple?i?new Set(t):t:t[0])})),e._assign=Q(o)},mounted(e,{value:t}){te(e,t)},beforeUpdate(e,t,n){e._assign=Q(n)},updated(e,{value:t}){te(e,t)}};function te(e,t){const n=e.multiple;if(!n||(0,r.kJ)(t)||(0,r.DM)(t)){for(let o=0,i=e.options.length;o-1:i.selected=t.has(s);else if((0,r.WV)(ne(i),t))return void(e.selectedIndex!==o&&(e.selectedIndex=o))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function ne(e){return"_value"in e?e._value:e.value}const re={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):oe(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!==!n&&(r?t?(r.beforeEnter(e),oe(e,!0),r.enter(e)):r.leave(e,(()=>{oe(e,!1)})):oe(e,t))},beforeUnmount(e,{value:t}){oe(e,t)}};function oe(e,t){e.style.display=t?e._vod:"none"}const ie=(0,r.l7)({patchProp:j},u);let se;function ce(){return se||(se=(0,o.Us)(ie))}const ue=(...e)=>{const t=ce().createApp(...e);const{mount:n}=t;return t.mount=e=>{const o=le(e);if(!o)return;const i=t._component;(0,r.mf)(i)||i.render||i.template||(i.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t};function le(e){if((0,r.HD)(e)){const t=document.querySelector(e);return t}return e}},3577:function(e,t,n){"use strict";function r(e,t){const n=Object.create(null),r=e.split(",");for(let o=0;o!!n[e.toLowerCase()]:e=>!!n[e]}n.d(t,{C_:function(){return d},DM:function(){return T},E9:function(){return re},F7:function(){return S},Gg:function(){return G},HD:function(){return M},He:function(){return te},Kn:function(){return $},NO:function(){return w},Nj:function(){return ee},Od:function(){return E},PO:function(){return B},Pq:function(){return c},RI:function(){return R},S0:function(){return V},W7:function(){return J},WV:function(){return v},Z6:function(){return _},_A:function(){return H},_N:function(){return P},aU:function(){return Y},dG:function(){return x},e1:function(){return i},fY:function(){return r},hR:function(){return X},hq:function(){return g},ir:function(){return Q},j5:function(){return l},kC:function(){return Z},kJ:function(){return I},kT:function(){return b},l7:function(){return O},mf:function(){return F},rs:function(){return K},tI:function(){return U},tR:function(){return C},yA:function(){return u},yk:function(){return L},zw:function(){return m}});const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",i=r(o);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",c=r(s);function u(e){return!!e||""===e}function l(e){if(I(e)){const t={};for(let n=0;n{if(e){const n=e.split(f);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function d(e){let t="";if(M(e))t=e;else if(I(e))for(let n=0;nv(e,t)))}const m=e=>M(e)?e:null==e?"":I(e)||$(e)&&(e.toString===N||!F(e.toString))?JSON.stringify(e,y,2):String(e),y=(e,t)=>t&&t.__v_isRef?y(e,t.value):P(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n])=>(e[`${t} =>`]=n,e)),{})}:T(t)?{[`Set(${t.size})`]:[...t.values()]}:!$(t)||I(t)||B(t)?t:String(t),b={},_=[],x=()=>{},w=()=>!1,k=/^on[^a-z]/,S=e=>k.test(e),C=e=>e.startsWith("onUpdate:"),O=Object.assign,E=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},A=Object.prototype.hasOwnProperty,R=(e,t)=>A.call(e,t),I=Array.isArray,P=e=>"[object Map]"===D(e),T=e=>"[object Set]"===D(e),j=e=>"[object Date]"===D(e),F=e=>"function"===typeof e,M=e=>"string"===typeof e,L=e=>"symbol"===typeof e,$=e=>null!==e&&"object"===typeof e,U=e=>$(e)&&F(e.then)&&F(e.catch),N=Object.prototype.toString,D=e=>N.call(e),J=e=>D(e).slice(8,-1),B=e=>"[object Object]"===D(e),V=e=>M(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,G=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),q=e=>{const t=Object.create(null);return n=>{const r=t[n];return r||(t[n]=e(n))}},z=/-(\w)/g,H=q((e=>e.replace(z,((e,t)=>t?t.toUpperCase():"")))),W=/\B([A-Z])/g,K=q((e=>e.replace(W,"-$1").toLowerCase())),Z=q((e=>e.charAt(0).toUpperCase()+e.slice(1))),X=q((e=>e?`on${Z(e)}`:"")),Y=(e,t)=>!Object.is(e,t),Q=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},te=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ne;const re=()=>ne||(ne="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},9662:function(e,t,n){var r=n(614),o=n(6330),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a function")}},9483:function(e,t,n){var r=n(4411),o=n(6330),i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not a constructor")}},6077:function(e,t,n){var r=n(614),o=String,i=TypeError;e.exports=function(e){if("object"==typeof e||r(e))return e;throw i("Can't set "+o(e)+" as a prototype")}},1223:function(e,t,n){var r=n(5112),o=n(30),i=n(3070).f,s=r("unscopables"),c=Array.prototype;void 0==c[s]&&i(c,s,{configurable:!0,value:o(null)}),e.exports=function(e){c[s][e]=!0}},1530:function(e,t,n){"use strict";var r=n(8710).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},9670:function(e,t,n){var r=n(111),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw i(o(e)+" is not an object")}},1318:function(e,t,n){var r=n(5656),o=n(1400),i=n(6244),s=function(e){return function(t,n,s){var c,u=r(t),l=i(u),a=o(s,l);if(e&&n!=n){while(l>a)if(c=u[a++],c!=c)return!0}else for(;l>a;a++)if((e||a in u)&&u[a]===n)return e||a||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},4326:function(e,t,n){var r=n(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:function(e,t,n){var r=n(1694),o=n(614),i=n(4326),s=n(5112),c=s("toStringTag"),u=Object,l="Arguments"==i(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(n){}};e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=a(t=u(e),c))?n:l?i(t):"Object"==(r=i(t))&&o(t.callee)?"Arguments":r}},9920:function(e,t,n){var r=n(2597),o=n(3887),i=n(1236),s=n(3070);e.exports=function(e,t,n){for(var c=o(t),u=s.f,l=i.f,a=0;a0&&r[0]<4?1:+(r[0]+r[1])),!o&&s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(o=+r[1]))),e.exports=o},748:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(e,t,n){var r=n(7854),o=n(1236).f,i=n(8880),s=n(8052),c=n(3072),u=n(9920),l=n(4705);e.exports=function(e,t){var n,a,f,p,d,h,v=e.target,g=e.global,m=e.stat;if(a=g?r:m?r[v]||c(v,{}):(r[v]||{}).prototype,a)for(f in t){if(d=t[f],e.dontCallGetSet?(h=o(a,f),p=h&&h.value):p=a[f],n=l(g?f:v+(m?".":"#")+f,e.forced),!n&&void 0!==p){if(typeof d==typeof p)continue;u(d,p)}(e.sham||p&&p.sham)&&i(d,"sham",!0),s(a,f,d,e)}}},7293:function(e){e.exports=function(e){try{return!!e()}catch(t){return!0}}},7007:function(e,t,n){"use strict";n(4916);var r=n(1702),o=n(8052),i=n(2261),s=n(7293),c=n(5112),u=n(8880),l=c("species"),a=RegExp.prototype;e.exports=function(e,t,n,f){var p=c(e),d=!s((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),h=d&&!s((function(){var t=!1,n=/a/;return"split"===e&&(n={},n.constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!d||!h||n){var v=r(/./[p]),g=t(p,""[e],(function(e,t,n,o,s){var c=r(e),u=t.exec;return u===i||u===a.exec?d&&!s?{done:!0,value:v(t,n,o)}:{done:!0,value:c(n,t,o)}:{done:!1}}));o(String.prototype,e,g[0]),o(a,p,g[1])}f&&u(a[p],"sham",!0)}},2104:function(e,t,n){var r=n(4374),o=Function.prototype,i=o.apply,s=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?s.bind(i):function(){return s.apply(i,arguments)})},4374:function(e,t,n){var r=n(7293);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},6916:function(e,t,n){var r=n(4374),o=Function.prototype.call;e.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},6530:function(e,t,n){var r=n(9781),o=n(2597),i=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,c=o(i,"name"),u=c&&"something"===function(){}.name,l=c&&(!r||r&&s(i,"name").configurable);e.exports={EXISTS:c,PROPER:u,CONFIGURABLE:l}},1702:function(e,t,n){var r=n(4374),o=Function.prototype,i=o.bind,s=o.call,c=r&&i.bind(s,s);e.exports=r?function(e){return e&&c(e)}:function(e){return e&&function(){return s.apply(e,arguments)}}},5005:function(e,t,n){var r=n(7854),o=n(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},8173:function(e,t,n){var r=n(9662);e.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},647:function(e,t,n){var r=n(1702),o=n(7908),i=Math.floor,s=r("".charAt),c=r("".replace),u=r("".slice),l=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,a=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,r,f,p){var d=n+e.length,h=r.length,v=a;return void 0!==f&&(f=o(f),v=l),c(p,v,(function(o,c){var l;switch(s(c,0)){case"$":return"$";case"&":return e;case"`":return u(t,0,n);case"'":return u(t,d);case"<":l=f[u(c,1,-1)];break;default:var a=+c;if(0===a)return o;if(a>h){var p=i(a/10);return 0===p?o:p<=h?void 0===r[p-1]?s(c,1):r[p-1]+s(c,1):o}l=r[a-1]}return void 0===l?"":l}))}},7854:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(e,t,n){var r=n(1702),o=n(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(o(e),t)}},3501:function(e){e.exports={}},490:function(e,t,n){var r=n(5005);e.exports=r("document","documentElement")},4664:function(e,t,n){var r=n(9781),o=n(7293),i=n(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:function(e,t,n){var r=n(1702),o=n(7293),i=n(4326),s=Object,c=r("".split);e.exports=o((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?c(e,""):s(e)}:s},2788:function(e,t,n){var r=n(1702),o=n(614),i=n(5465),s=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return s(e)}),e.exports=i.inspectSource},9909:function(e,t,n){var r,o,i,s=n(8536),c=n(7854),u=n(1702),l=n(111),a=n(8880),f=n(2597),p=n(5465),d=n(6200),h=n(3501),v="Object already initialized",g=c.TypeError,m=c.WeakMap,y=function(e){return i(e)?o(e):r(e,{})},b=function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw g("Incompatible receiver, "+e+" required");return n}};if(s||p.state){var _=p.state||(p.state=new m),x=u(_.get),w=u(_.has),k=u(_.set);r=function(e,t){if(w(_,e))throw new g(v);return t.facade=e,k(_,e,t),t},o=function(e){return x(_,e)||{}},i=function(e){return w(_,e)}}else{var S=d("state");h[S]=!0,r=function(e,t){if(f(e,S))throw new g(v);return t.facade=e,a(e,S,t),t},o=function(e){return f(e,S)?e[S]:{}},i=function(e){return f(e,S)}}e.exports={set:r,get:o,has:i,enforce:y,getterFor:b}},614:function(e){e.exports=function(e){return"function"==typeof e}},4411:function(e,t,n){var r=n(1702),o=n(7293),i=n(614),s=n(648),c=n(5005),u=n(2788),l=function(){},a=[],f=c("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(l),v=function(e){if(!i(e))return!1;try{return f(l,a,e),!0}catch(t){return!1}},g=function(e){if(!i(e))return!1;switch(s(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!d(p,u(e))}catch(t){return!0}};g.sham=!0,e.exports=!f||o((function(){var e;return v(v.call)||!v(Object)||!v((function(){e=!0}))||e}))?g:v},4705:function(e,t,n){var r=n(7293),o=n(614),i=/#|\.prototype\./,s=function(e,t){var n=u[c(e)];return n==a||n!=l&&(o(t)?r(t):!!t)},c=s.normalize=function(e){return String(e).replace(i,".").toLowerCase()},u=s.data={},l=s.NATIVE="N",a=s.POLYFILL="P";e.exports=s},111:function(e,t,n){var r=n(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:function(e){e.exports=!1},2190:function(e,t,n){var r=n(5005),o=n(614),i=n(7976),s=n(3307),c=Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return o(t)&&i(t.prototype,c(e))}},3383:function(e,t,n){"use strict";var r,o,i,s=n(7293),c=n(614),u=n(30),l=n(9518),a=n(8052),f=n(5112),p=n(1913),d=f("iterator"),h=!1;[].keys&&(i=[].keys(),"next"in i?(o=l(l(i)),o!==Object.prototype&&(r=o)):h=!0);var v=void 0==r||s((function(){var e={};return r[d].call(e)!==e}));v?r={}:p&&(r=u(r)),c(r[d])||a(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:function(e){e.exports={}},6244:function(e,t,n){var r=n(7466);e.exports=function(e){return r(e.length)}},6339:function(e,t,n){var r=n(7293),o=n(614),i=n(2597),s=n(9781),c=n(6530).CONFIGURABLE,u=n(2788),l=n(9909),a=l.enforce,f=l.get,p=Object.defineProperty,d=s&&!r((function(){return 8!==p((function(){}),"length",{value:8}).length})),h=String(String).split("String"),v=e.exports=function(e,t,n){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!i(e,"name")||c&&e.name!==t)&&p(e,"name",{value:t,configurable:!0}),d&&n&&i(n,"arity")&&e.length!==n.arity&&p(e,"length",{value:n.arity});try{n&&i(n,"constructor")&&n.constructor?s&&p(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var r=a(e);return i(r,"source")||(r.source=h.join("string"==typeof t?t:"")),e};Function.prototype.toString=v((function(){return o(this)&&f(this).source||u(this)}),"toString")},4758:function(e){var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var r=+e;return(r>0?n:t)(r)}},133:function(e,t,n){var r=n(7392),o=n(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:function(e,t,n){var r=n(7854),o=n(614),i=n(2788),s=r.WeakMap;e.exports=o(s)&&/native code/.test(i(s))},8523:function(e,t,n){"use strict";var r=n(9662),o=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},30:function(e,t,n){var r,o=n(9670),i=n(6048),s=n(748),c=n(3501),u=n(490),l=n(317),a=n(6200),f=">",p="<",d="prototype",h="script",v=a("IE_PROTO"),g=function(){},m=function(e){return p+h+f+e+p+"/"+h+f},y=function(e){e.write(m("")),e.close();var t=e.parentWindow.Object;return e=null,t},b=function(){var e,t=l("iframe"),n="java"+h+":";return t.style.display="none",u.appendChild(t),t.src=String(n),e=t.contentWindow.document,e.open(),e.write(m("document.F=Object")),e.close(),e.F},_=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}_="undefined"!=typeof document?document.domain&&r?y(r):b():y(r);var e=s.length;while(e--)delete _[d][s[e]];return _()};c[v]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(g[d]=o(e),n=new g,g[d]=null,n[v]=e):n=_(),void 0===t?n:i.f(n,t)}},6048:function(e,t,n){var r=n(9781),o=n(3353),i=n(3070),s=n(9670),c=n(5656),u=n(1956);t.f=r&&!o?Object.defineProperties:function(e,t){s(e);var n,r=c(t),o=u(t),l=o.length,a=0;while(l>a)i.f(e,n=o[a++],r[n]);return e}},3070:function(e,t,n){var r=n(9781),o=n(4664),i=n(3353),s=n(9670),c=n(4948),u=TypeError,l=Object.defineProperty,a=Object.getOwnPropertyDescriptor,f="enumerable",p="configurable",d="writable";t.f=r?i?function(e,t,n){if(s(e),t=c(t),s(n),"function"===typeof e&&"prototype"===t&&"value"in n&&d in n&&!n[d]){var r=a(e,t);r&&r[d]&&(e[t]=n.value,n={configurable:p in n?n[p]:r[p],enumerable:f in n?n[f]:r[f],writable:!1})}return l(e,t,n)}:l:function(e,t,n){if(s(e),t=c(t),s(n),o)try{return l(e,t,n)}catch(r){}if("get"in n||"set"in n)throw u("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},1236:function(e,t,n){var r=n(9781),o=n(6916),i=n(5296),s=n(9114),c=n(5656),u=n(4948),l=n(2597),a=n(4664),f=Object.getOwnPropertyDescriptor;t.f=r?f:function(e,t){if(e=c(e),t=u(t),a)try{return f(e,t)}catch(n){}if(l(e,t))return s(!o(i.f,e,t),e[t])}},8006:function(e,t,n){var r=n(6324),o=n(748),i=o.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},5181:function(e,t){t.f=Object.getOwnPropertySymbols},9518:function(e,t,n){var r=n(2597),o=n(614),i=n(7908),s=n(6200),c=n(8544),u=s("IE_PROTO"),l=Object,a=l.prototype;e.exports=c?l.getPrototypeOf:function(e){var t=i(e);if(r(t,u))return t[u];var n=t.constructor;return o(n)&&t instanceof n?n.prototype:t instanceof l?a:null}},7976:function(e,t,n){var r=n(1702);e.exports=r({}.isPrototypeOf)},6324:function(e,t,n){var r=n(1702),o=n(2597),i=n(5656),s=n(1318).indexOf,c=n(3501),u=r([].push);e.exports=function(e,t){var n,r=i(e),l=0,a=[];for(n in r)!o(c,n)&&o(r,n)&&u(a,n);while(t.length>l)o(r,n=t[l++])&&(~s(a,n)||u(a,n));return a}},1956:function(e,t,n){var r=n(6324),o=n(748);e.exports=Object.keys||function(e){return r(e,o)}},5296:function(e,t){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);t.f=o?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},7674:function(e,t,n){var r=n(1702),o=n(9670),i=n(6077);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{e=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),e(n,[]),t=n instanceof Array}catch(s){}return function(n,r){return o(n),i(r),t?e(n,r):n.__proto__=r,n}}():void 0)},2140:function(e,t,n){var r=n(6916),o=n(614),i=n(111),s=TypeError;e.exports=function(e,t){var n,c;if("string"===t&&o(n=e.toString)&&!i(c=r(n,e)))return c;if(o(n=e.valueOf)&&!i(c=r(n,e)))return c;if("string"!==t&&o(n=e.toString)&&!i(c=r(n,e)))return c;throw s("Can't convert object to primitive value")}},3887:function(e,t,n){var r=n(5005),o=n(1702),i=n(8006),s=n(5181),c=n(9670),u=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(c(e)),n=s.f;return n?u(t,n(e)):t}},2492:function(e,t,n){var r=n(7854);e.exports=r.Promise},9478:function(e,t,n){var r=n(9670),o=n(111),i=n(8523);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e),s=n.resolve;return s(t),n.promise}},7651:function(e,t,n){var r=n(6916),o=n(9670),i=n(614),s=n(4326),c=n(2261),u=TypeError;e.exports=function(e,t){var n=e.exec;if(i(n)){var l=r(n,e,t);return null!==l&&o(l),l}if("RegExp"===s(e))return r(c,e,t);throw u("RegExp#exec called on incompatible receiver")}},2261:function(e,t,n){"use strict";var r=n(6916),o=n(1702),i=n(1340),s=n(7066),c=n(2999),u=n(2309),l=n(30),a=n(9909).get,f=n(9441),p=n(7168),d=u("native-string-replace",String.prototype.replace),h=RegExp.prototype.exec,v=h,g=o("".charAt),m=o("".indexOf),y=o("".replace),b=o("".slice),_=function(){var e=/a/,t=/b*/g;return r(h,e,"a"),r(h,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),x=c.BROKEN_CARET,w=void 0!==/()??/.exec("")[1],k=_||w||x||f||p;k&&(v=function(e){var t,n,o,c,u,f,p,k=this,S=a(k),C=i(e),O=S.raw;if(O)return O.lastIndex=k.lastIndex,t=r(v,O,C),k.lastIndex=O.lastIndex,t;var E=S.groups,A=x&&k.sticky,R=r(s,k),I=k.source,P=0,T=C;if(A&&(R=y(R,"y",""),-1===m(R,"g")&&(R+="g"),T=b(C,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&"\n"!==g(C,k.lastIndex-1))&&(I="(?: "+I+")",T=" "+T,P++),n=new RegExp("^(?:"+I+")",R)),w&&(n=new RegExp("^"+I+"$(?!\\s)",R)),_&&(o=k.lastIndex),c=r(h,A?n:k,T),A?c?(c.input=b(c.input,P),c[0]=b(c[0],P),c.index=k.lastIndex,k.lastIndex+=c[0].length):k.lastIndex=0:_&&c&&(k.lastIndex=k.global?c.index+c[0].length:o),w&&c&&c.length>1&&r(d,c[0],n,(function(){for(u=1;ub)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")}))},4488:function(e){var t=TypeError;e.exports=function(e){if(void 0==e)throw t("Can't call method on "+e);return e}},8003:function(e,t,n){var r=n(3070).f,o=n(2597),i=n(5112),s=i("toStringTag");e.exports=function(e,t,n){e&&!n&&(e=e.prototype),e&&!o(e,s)&&r(e,s,{configurable:!0,value:t})}},6200:function(e,t,n){var r=n(2309),o=n(9711),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},5465:function(e,t,n){var r=n(7854),o=n(3072),i="__core-js_shared__",s=r[i]||o(i,{});e.exports=s},2309:function(e,t,n){var r=n(1913),o=n(5465);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.22.8",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE",source:"https://github.com/zloirock/core-js"})},6707:function(e,t,n){var r=n(9670),o=n(9483),i=n(5112),s=i("species");e.exports=function(e,t){var n,i=r(e).constructor;return void 0===i||void 0==(n=r(i)[s])?t:o(n)}},8710:function(e,t,n){var r=n(1702),o=n(9303),i=n(1340),s=n(4488),c=r("".charAt),u=r("".charCodeAt),l=r("".slice),a=function(e){return function(t,n){var r,a,f=i(s(t)),p=o(n),d=f.length;return p<0||p>=d?e?"":void 0:(r=u(f,p),r<55296||r>56319||p+1===d||(a=u(f,p+1))<56320||a>57343?e?c(f,p):r:e?l(f,p,p+2):a-56320+(r-55296<<10)+65536)}};e.exports={codeAt:a(!1),charAt:a(!0)}},1400:function(e,t,n){var r=n(9303),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},5656:function(e,t,n){var r=n(8361),o=n(4488);e.exports=function(e){return r(o(e))}},9303:function(e,t,n){var r=n(4758);e.exports=function(e){var t=+e;return t!==t||0===t?0:r(t)}},7466:function(e,t,n){var r=n(9303),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},7908:function(e,t,n){var r=n(4488),o=Object;e.exports=function(e){return o(r(e))}},7593:function(e,t,n){var r=n(6916),o=n(111),i=n(2190),s=n(8173),c=n(2140),u=n(5112),l=TypeError,a=u("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var n,u=s(e,a);if(u){if(void 0===t&&(t="default"),n=r(u,e,t),!o(n)||i(n))return n;throw l("Can't convert object to primitive value")}return void 0===t&&(t="number"),c(e,t)}},4948:function(e,t,n){var r=n(7593),o=n(2190);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},1694:function(e,t,n){var r=n(5112),o=r("toStringTag"),i={};i[o]="z",e.exports="[object z]"===String(i)},1340:function(e,t,n){var r=n(648),o=String;e.exports=function(e){if("Symbol"===r(e))throw TypeError("Cannot convert a Symbol value to a string");return o(e)}},6330:function(e){var t=String;e.exports=function(e){try{return t(e)}catch(n){return"Object"}}},9711:function(e,t,n){var r=n(1702),o=0,i=Math.random(),s=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++o+i,36)}},3307:function(e,t,n){var r=n(133);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(e,t,n){var r=n(9781),o=n(7293);e.exports=r&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},5112:function(e,t,n){var r=n(7854),o=n(2309),i=n(2597),s=n(9711),c=n(133),u=n(3307),l=o("wks"),a=r.Symbol,f=a&&a["for"],p=u?a:a&&a.withoutSetter||s;e.exports=function(e){if(!i(l,e)||!c&&"string"!=typeof l[e]){var t="Symbol."+e;c&&i(a,e)?l[e]=a[e]:l[e]=u&&f?f(t):p(t)}return l[e]}},6992:function(e,t,n){"use strict";var r=n(5656),o=n(1223),i=n(7497),s=n(9909),c=n(3070).f,u=n(654),l=n(1913),a=n(9781),f="Array Iterator",p=s.set,d=s.getterFor(f);e.exports=u(Array,"Array",(function(e,t){p(this,{type:f,target:r(e),index:0,kind:t})}),(function(){var e=d(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values");var h=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!l&&a&&"values"!==h.name)try{c(h,"name",{value:"values"})}catch(v){}},7727:function(e,t,n){"use strict";var r=n(2109),o=n(1913),i=n(2492),s=n(7293),c=n(5005),u=n(614),l=n(6707),a=n(9478),f=n(8052),p=i&&i.prototype,d=!!i&&s((function(){p["finally"].call({then:function(){}},(function(){}))}));if(r({target:"Promise",proto:!0,real:!0,forced:d},{finally:function(e){var t=l(this,c("Promise")),n=u(e);return this.then(n?function(n){return a(t,e()).then((function(){return n}))}:e,n?function(n){return a(t,e()).then((function(){throw n}))}:e)}}),!o&&u(i)){var h=c("Promise").prototype["finally"];p["finally"]!==h&&f(p,"finally",h,{unsafe:!0})}},4916:function(e,t,n){"use strict";var r=n(2109),o=n(2261);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},5306:function(e,t,n){"use strict";var r=n(2104),o=n(6916),i=n(1702),s=n(7007),c=n(7293),u=n(9670),l=n(614),a=n(9303),f=n(7466),p=n(1340),d=n(4488),h=n(1530),v=n(8173),g=n(647),m=n(7651),y=n(5112),b=y("replace"),_=Math.max,x=Math.min,w=i([].concat),k=i([].push),S=i("".indexOf),C=i("".slice),O=function(e){return void 0===e?e:String(e)},E=function(){return"$0"==="a".replace(/./,"$0")}(),A=function(){return!!/./[b]&&""===/./[b]("a","$0")}(),R=!c((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}));s("replace",(function(e,t,n){var i=A?"$":"$0";return[function(e,n){var r=d(this),i=void 0==e?void 0:v(e,b);return i?o(i,e,r,n):o(t,p(r),e,n)},function(e,o){var s=u(this),c=p(e);if("string"==typeof o&&-1===S(o,i)&&-1===S(o,"$<")){var d=n(t,s,c,o);if(d.done)return d.value}var v=l(o);v||(o=p(o));var y=s.global;if(y){var b=s.unicode;s.lastIndex=0}var E=[];while(1){var A=m(s,c);if(null===A)break;if(k(E,A),!y)break;var R=p(A[0]);""===R&&(s.lastIndex=h(c,f(s.lastIndex),b))}for(var I="",P=0,T=0;T=P&&(I+=C(c,P,F)+N,P=F+j.length)}return I+C(c,P)}]}),!R||!E||A)},3948:function(e,t,n){var r=n(7854),o=n(8324),i=n(8509),s=n(6992),c=n(8880),u=n(5112),l=u("iterator"),a=u("toStringTag"),f=s.values,p=function(e,t){if(e){if(e[l]!==f)try{c(e,l,f)}catch(r){e[l]=f}if(e[a]||c(e,a,t),o[t])for(var n in s)if(e[n]!==s[n])try{c(e,n,s[n])}catch(r){e[n]=s[n]}}};for(var d in o)p(r[d]&&r[d].prototype,d);p(i,"DOMTokenList")},3744:function(e,t){"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n}},2119:function(e,t,n){"use strict";n.d(t,{PO:function(){return q},p7:function(){return nt}});var r=n(6252),o=n(2262); +"use strict";(self["webpackChunkgatus"]=self["webpackChunkgatus"]||[]).push([[998],{262:function(e,t,n){n.d(t,{$y:function(){return we},BX:function(){return Oe},Bj:function(){return i},Fl:function(){return Ne},IU:function(){return Se},Jd:function(){return S},PG:function(){return ke},SU:function(){return Te},Um:function(){return ve},WL:function(){return Fe},X$:function(){return D},X3:function(){return _e},XB:function(){return $},XI:function(){return Me},Xl:function(){return Ce},YL:function(){return Ee},YP:function(){return Je},dq:function(){return Re},fw:function(){return Ve},iH:function(){return je},j:function(){return F},lk:function(){return C},qj:function(){return ge},qq:function(){return a},yT:function(){return xe}});var r=n(577); +/** +* @vue/reactivity v3.5.18 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let o,s;class i{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=o,!e&&o&&(this.index=(o.scopes||(o.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0===--this._on&&(o=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,n;for(this._active=!1,t=0,n=this.effects.length;t0)return;if(f){let e=f;f=void 0;while(e){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;while(u){let n=u;u=void 0;while(n){const r=n.next;if(n.next=void 0,n.flags&=-9,1&n.flags)try{n.trigger()}catch(t){e||(e=t)}n=r}}if(e)throw e}function g(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function v(e){let t,n=e.depsTail,r=n;while(r){const e=r.prevDep;-1===r.version?(r===n&&(n=e),k(r),w(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function b(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(y(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function y(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===O)return;if(e.globalVersion=O,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!b(e)))return;e.flags|=2;const t=e.dep,n=s,o=x;s=e,x=!0;try{g(e);const i=e.fn(e._value);(0===t.version||(0,r.aU)(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{s=n,x=o,v(e),e.flags&=-3}}function k(e,t=!1){const{dep:n,prevSub:r,nextSub:o}=e;if(r&&(r.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)k(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function w(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let x=!0;const _=[];function S(){_.push(x),x=!1}function C(){const e=_.pop();x=void 0===e||e}function E(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=s;s=void 0;try{t()}finally{s=e}}}let O=0;class R{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class j{constructor(e){this.computed=e,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(e){if(!s||!x||s===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==s)t=this.activeLink=new R(s,this),s.deps?(t.prevDep=s.depsTail,s.depsTail.nextDep=t,s.depsTail=t):s.deps=s.depsTail=t,M(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=s.depsTail,t.nextDep=void 0,s.depsTail.nextDep=t,s.depsTail=t,s.deps===t&&(s.deps=e)}return t}trigger(e){this.version++,O++,this.notify(e)}notify(e){h();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{m()}}}function M(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)M(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const A=new WeakMap,I=Symbol(""),T=Symbol(""),P=Symbol("");function F(e,t,n){if(x&&s){let t=A.get(e);t||A.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new j),r.map=t,r.key=n),r.track()}}function D(e,t,n,o,s,i){const l=A.get(e);if(!l)return void O++;const c=e=>{e&&e.trigger()};if(h(),"clear"===t)l.forEach(c);else{const s=(0,r.kJ)(e),i=s&&(0,r.S0)(n);if(s&&"length"===n){const e=Number(o);l.forEach(((t,n)=>{("length"===n||n===P||!(0,r.yk)(n)&&n>=e)&&c(t)}))}else switch((void 0!==n||l.has(void 0))&&c(l.get(n)),i&&c(l.get(P)),t){case"add":s?i&&c(l.get("length")):(c(l.get(I)),(0,r._N)(e)&&c(l.get(T)));break;case"delete":s||(c(l.get(I)),(0,r._N)(e)&&c(l.get(T)));break;case"set":(0,r._N)(e)&&c(l.get(I));break}}m()}function N(e){const t=Se(e);return t===e?t:(F(t,"iterate",P),xe(e)?t:t.map(Ee))}function $(e){return F(e=Se(e),"iterate",P),e}const L={__proto__:null,[Symbol.iterator](){return U(this,Symbol.iterator,Ee)},concat(...e){return N(this).concat(...e.map((e=>(0,r.kJ)(e)?N(e):e)))},entries(){return U(this,"entries",(e=>(e[1]=Ee(e[1]),e)))},every(e,t){return J(this,"every",e,t,void 0,arguments)},filter(e,t){return J(this,"filter",e,t,(e=>e.map(Ee)),arguments)},find(e,t){return J(this,"find",e,t,Ee,arguments)},findIndex(e,t){return J(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return J(this,"findLast",e,t,Ee,arguments)},findLastIndex(e,t){return J(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return J(this,"forEach",e,t,void 0,arguments)},includes(...e){return Z(this,"includes",e)},indexOf(...e){return Z(this,"indexOf",e)},join(e){return N(this).join(e)},lastIndexOf(...e){return Z(this,"lastIndexOf",e)},map(e,t){return J(this,"map",e,t,void 0,arguments)},pop(){return H(this,"pop")},push(...e){return H(this,"push",e)},reduce(e,...t){return V(this,"reduce",e,t)},reduceRight(e,...t){return V(this,"reduceRight",e,t)},shift(){return H(this,"shift")},some(e,t){return J(this,"some",e,t,void 0,arguments)},splice(...e){return H(this,"splice",e)},toReversed(){return N(this).toReversed()},toSorted(e){return N(this).toSorted(e)},toSpliced(...e){return N(this).toSpliced(...e)},unshift(...e){return H(this,"unshift",e)},values(){return U(this,"values",Ee)}};function U(e,t,n){const r=$(e),o=r[t]();return r===e||xe(e)||(o._next=o.next,o.next=()=>{const e=o._next();return e.value&&(e.value=n(e.value)),e}),o}const z=Array.prototype;function J(e,t,n,r,o,s){const i=$(e),l=i!==e&&!xe(e),c=i[t];if(c!==z[t]){const t=c.apply(e,s);return l?Ee(t):t}let a=n;i!==e&&(l?a=function(t,r){return n.call(this,Ee(t),r,e)}:n.length>2&&(a=function(t,r){return n.call(this,t,r,e)}));const u=c.call(i,a,r);return l&&o?o(u):u}function V(e,t,n,r){const o=$(e);let s=n;return o!==e&&(xe(e)?n.length>3&&(s=function(t,r,o){return n.call(this,t,r,o,e)}):s=function(t,r,o){return n.call(this,t,Ee(r),o,e)}),o[t](s,...r)}function Z(e,t,n){const r=Se(e);F(r,"iterate",P);const o=r[t](...n);return-1!==o&&!1!==o||!_e(n[0])?o:(n[0]=Se(n[0]),r[t](...n))}function H(e,t,n=[]){S(),h();const r=Se(e)[t].apply(e,n);return m(),C(),r}const B=(0,r.fY)("__proto__,__v_isRef,__isVue"),G=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(r.yk));function W(e){(0,r.yk)(e)||(e=String(e));const t=Se(this);return F(t,"has",e),t.hasOwnProperty(e)}class q{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e["__v_skip"];const o=this._isReadonly,s=this._isShallow;if("__v_isReactive"===t)return!o;if("__v_isReadonly"===t)return o;if("__v_isShallow"===t)return s;if("__v_raw"===t)return n===(o?s?pe:de:s?fe:ue).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=(0,r.kJ)(e);if(!o){let e;if(i&&(e=L[t]))return e;if("hasOwnProperty"===t)return W}const l=Reflect.get(e,t,Re(e)?e:n);return((0,r.yk)(t)?G.has(t):B(t))?l:(o||F(e,"get",t),s?l:Re(l)?i&&(0,r.S0)(t)?l:l.value:(0,r.Kn)(l)?o?be(l):ge(l):l)}}class K extends q{constructor(e=!1){super(!1,e)}set(e,t,n,o){let s=e[t];if(!this._isShallow){const t=we(s);if(xe(n)||we(n)||(s=Se(s),n=Se(n)),!(0,r.kJ)(e)&&Re(s)&&!Re(n))return!t&&(s.value=n,!0)}const i=(0,r.kJ)(e)&&(0,r.S0)(t)?Number(t)e,ne=e=>Reflect.getPrototypeOf(e);function re(e,t,n){return function(...o){const s=this["__v_raw"],i=Se(s),l=(0,r._N)(i),c="entries"===e||e===Symbol.iterator&&l,a="keys"===e&&l,u=s[e](...o),f=n?te:t?Oe:Ee;return!t&&F(i,"iterate",a?T:I),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[f(e[0]),f(e[1])]:f(e),done:t}},[Symbol.iterator](){return this}}}}function oe(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function se(e,t){const n={get(n){const o=this["__v_raw"],s=Se(o),i=Se(n);e||((0,r.aU)(n,i)&&F(s,"get",n),F(s,"get",i));const{has:l}=ne(s),c=t?te:e?Oe:Ee;return l.call(s,n)?c(o.get(n)):l.call(s,i)?c(o.get(i)):void(o!==s&&o.get(n))},get size(){const t=this["__v_raw"];return!e&&F(Se(t),"iterate",I),Reflect.get(t,"size",t)},has(t){const n=this["__v_raw"],o=Se(n),s=Se(t);return e||((0,r.aU)(t,s)&&F(o,"has",t),F(o,"has",s)),t===s?n.has(t):n.has(t)||n.has(s)},forEach(n,r){const o=this,s=o["__v_raw"],i=Se(s),l=t?te:e?Oe:Ee;return!e&&F(i,"iterate",I),s.forEach(((e,t)=>n.call(r,l(e),l(t),o)))}};(0,r.l7)(n,e?{add:oe("add"),set:oe("set"),delete:oe("delete"),clear:oe("clear")}:{add(e){t||xe(e)||we(e)||(e=Se(e));const n=Se(this),r=ne(n),o=r.has.call(n,e);return o||(n.add(e),D(n,"add",e,e)),this},set(e,n){t||xe(n)||we(n)||(n=Se(n));const o=Se(this),{has:s,get:i}=ne(o);let l=s.call(o,e);l||(e=Se(e),l=s.call(o,e));const c=i.call(o,e);return o.set(e,n),l?(0,r.aU)(n,c)&&D(o,"set",e,n,c):D(o,"add",e,n),this},delete(e){const t=Se(this),{has:n,get:r}=ne(t);let o=n.call(t,e);o||(e=Se(e),o=n.call(t,e));const s=r?r.call(t,e):void 0,i=t.delete(e);return o&&D(t,"delete",e,void 0,s),i},clear(){const e=Se(this),t=0!==e.size,n=void 0,r=e.clear();return t&&D(e,"clear",void 0,void 0,n),r}});const o=["keys","values","entries",Symbol.iterator];return o.forEach((r=>{n[r]=re(r,e,t)})),n}function ie(e,t){const n=se(e,t);return(t,o,s)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get((0,r.RI)(n,o)&&o in t?n:t,o,s)}const le={get:ie(!1,!1)},ce={get:ie(!1,!0)},ae={get:ie(!0,!1)};const ue=new WeakMap,fe=new WeakMap,de=new WeakMap,pe=new WeakMap;function he(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function me(e){return e["__v_skip"]||!Object.isExtensible(e)?0:he((0,r.W7)(e))}function ge(e){return we(e)?e:ye(e,!1,X,le,ue)}function ve(e){return ye(e,!1,ee,ce,fe)}function be(e){return ye(e,!0,Q,ae,de)}function ye(e,t,n,o,s){if(!(0,r.Kn)(e))return e;if(e["__v_raw"]&&(!t||!e["__v_isReactive"]))return e;const i=me(e);if(0===i)return e;const l=s.get(e);if(l)return l;const c=new Proxy(e,2===i?o:n);return s.set(e,c),c}function ke(e){return we(e)?ke(e["__v_raw"]):!(!e||!e["__v_isReactive"])}function we(e){return!(!e||!e["__v_isReadonly"])}function xe(e){return!(!e||!e["__v_isShallow"])}function _e(e){return!!e&&!!e["__v_raw"]}function Se(e){const t=e&&e["__v_raw"];return t?Se(t):e}function Ce(e){return!(0,r.RI)(e,"__v_skip")&&Object.isExtensible(e)&&(0,r.Nj)(e,"__v_skip",!0),e}const Ee=e=>(0,r.Kn)(e)?ge(e):e,Oe=e=>(0,r.Kn)(e)?be(e):e;function Re(e){return!!e&&!0===e["__v_isRef"]}function je(e){return Ae(e,!1)}function Me(e){return Ae(e,!0)}function Ae(e,t){return Re(e)?e:new Ie(e,t)}class Ie{constructor(e,t){this.dep=new j,this["__v_isRef"]=!0,this["__v_isShallow"]=!1,this._rawValue=t?e:Se(e),this._value=t?e:Ee(e),this["__v_isShallow"]=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this["__v_isShallow"]||xe(e)||we(e);e=n?e:Se(e),(0,r.aU)(e,t)&&(this._rawValue=e,this._value=n?e:Ee(e),this.dep.trigger())}}function Te(e){return Re(e)?e.value:e}const Pe={get:(e,t,n)=>"__v_raw"===t?e:Te(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Re(o)&&!Re(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Fe(e){return ke(e)?e:new Proxy(e,Pe)}class De{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new j(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=O-1,this.next=void 0,this.effect=this,this["__v_isReadonly"]=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags||s===this))return p(this,!0),!0}get value(){const e=this.dep.track();return y(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Ne(e,t,n=!1){let o,s;(0,r.mf)(e)?o=e:(o=e.get,s=e.set);const i=new De(o,s,n);return i}const $e={},Le=new WeakMap;let Ue;function ze(e,t=!1,n=Ue){if(n){let t=Le.get(n);t||Le.set(n,t=[]),t.push(e)}else 0}function Je(e,t,n=r.kT){const{immediate:o,deep:s,once:i,scheduler:c,augmentJob:u,call:f}=n,d=e=>s?e:xe(e)||!1===s||0===s?Ve(e,1):Ve(e);let p,h,m,g,v=!1,b=!1;if(Re(e)?(h=()=>e.value,v=xe(e)):ke(e)?(h=()=>d(e),v=!0):(0,r.kJ)(e)?(b=!0,v=e.some((e=>ke(e)||xe(e))),h=()=>e.map((e=>Re(e)?e.value:ke(e)?d(e):(0,r.mf)(e)?f?f(e,2):e():void 0))):h=(0,r.mf)(e)?t?f?()=>f(e,2):e:()=>{if(m){S();try{m()}finally{C()}}const t=Ue;Ue=p;try{return f?f(e,3,[g]):e(g)}finally{Ue=t}}:r.dG,t&&s){const e=h,t=!0===s?1/0:s;h=()=>Ve(e(),t)}const y=l(),k=()=>{p.stop(),y&&y.active&&(0,r.Od)(y.effects,p)};if(i&&t){const e=t;t=(...t)=>{e(...t),k()}}let w=b?new Array(e.length).fill($e):$e;const x=e=>{if(1&p.flags&&(p.dirty||e))if(t){const e=p.run();if(s||v||(b?e.some(((e,t)=>(0,r.aU)(e,w[t]))):(0,r.aU)(e,w))){m&&m();const n=Ue;Ue=p;try{const r=[e,w===$e?void 0:b&&w[0]===$e?[]:w,g];w=e,f?f(t,3,r):t(...r)}finally{Ue=n}}}else p.run()};return u&&u(x),p=new a(h),p.scheduler=c?()=>c(x,!1):x,g=e=>ze(e,!1,p),m=p.onStop=()=>{const e=Le.get(p);if(e){if(f)f(e,4);else for(const t of e)t();Le.delete(p)}},t?o?x(!0):w=p.run():c?c(x.bind(null,!0),!0):p.run(),k.pause=p.pause.bind(p),k.resume=p.resume.bind(p),k.stop=k,k}function Ve(e,t=1/0,n){if(t<=0||!(0,r.Kn)(e)||e["__v_skip"])return e;if(n=n||new Set,n.has(e))return e;if(n.add(e),t--,Re(e))Ve(e.value,t,n);else if((0,r.kJ)(e))for(let r=0;r{Ve(e,t,n)}));else if((0,r.PO)(e)){for(const r in e)Ve(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ve(e[r],t,n)}return e}},252:function(e,t,n){n.d(t,{$d:function(){return i},Ah:function(){return le},FN:function(){return kn},Fl:function(){return $n},HY:function(){return Ut},JJ:function(){return He},Ko:function(){return be},LL:function(){return me},Q6:function(){return z},U2:function(){return L},Uk:function(){return an},Us:function(){return pt},WI:function(){return ye},Wm:function(){return on},Y3:function(){return g},Y8:function(){return F},YP:function(){return St},_:function(){return rn},aZ:function(){return J},bv:function(){return re},f3:function(){return Be},h:function(){return Ln},iD:function(){return Yt},ic:function(){return se},j4:function(){return Xt},kq:function(){return un},nJ:function(){return N},nK:function(){return U},up:function(){return pe},w5:function(){return R},wg:function(){return Bt},wy:function(){return j}});var r=n(262),o=n(577);function s(e,t,n,r){try{return r?e(...r):e()}catch(o){l(o,t,n)}}function i(e,t,n,r){if((0,o.mf)(e)){const i=s(e,t,n,r);return i&&(0,o.tI)(i)&&i.catch((e=>{l(e,t,n)})),i}if((0,o.kJ)(e)){const o=[];for(let s=0;s>>1,o=a[r],s=_(o);s=_(n)?a.push(e):a.splice(v(t),0,e),e.flags|=1,y()}}function y(){m||(m=h.then(S))}function k(e){(0,o.kJ)(e)?f.push(...e):d&&-1===e.id?d.splice(p+1,0,e):1&e.flags||(f.push(e),e.flags|=1),y()}function w(e,t,n=u+1){for(0;n_(e)-_(t)));if(f.length=0,d)return void d.push(...e);for(d=e,p=0;pnull==e.id?2&e.flags?-1:1/0:e.id;function S(e){o.dG;try{for(u=0;u{r._d&&qt(-1);const o=O(t);let s;try{s=e(...n)}finally{O(o),r._d&&qt(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function j(e,t){if(null===C)return e;const n=Fn(C),s=e.dirs||(e.dirs=[]);for(let i=0;ie.__isTeleport;const T=Symbol("_leaveCb"),P=Symbol("_enterCb");function F(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return re((()=>{e.isMounted=!0})),ie((()=>{e.isUnmounting=!0})),e}const D=[Function,Array],N={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:D,onEnter:D,onAfterEnter:D,onEnterCancelled:D,onBeforeLeave:D,onLeave:D,onAfterLeave:D,onLeaveCancelled:D,onBeforeAppear:D,onAppear:D,onAfterAppear:D,onAppearCancelled:D};function $(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 L(e,t,n,r,s){const{appear:l,mode:c,persisted:a=!1,onBeforeEnter:u,onEnter:f,onAfterEnter:d,onEnterCancelled:p,onBeforeLeave:h,onLeave:m,onAfterLeave:g,onLeaveCancelled:v,onBeforeAppear:b,onAppear:y,onAfterAppear:k,onAppearCancelled:w}=t,x=String(e.key),_=$(n,e),S=(e,t)=>{e&&i(e,r,9,t)},C=(e,t)=>{const n=t[1];S(e,t),(0,o.kJ)(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},E={mode:c,persisted:a,beforeEnter(t){let r=u;if(!n.isMounted){if(!l)return;r=b||u}t[T]&&t[T](!0);const o=_[x];o&&en(e,o)&&o.el[T]&&o.el[T](),S(r,[t])},enter(e){let t=f,r=d,o=p;if(!n.isMounted){if(!l)return;t=y||f,r=k||d,o=w||p}let s=!1;const i=e[P]=t=>{s||(s=!0,S(t?o:r,[e]),E.delayedLeave&&E.delayedLeave(),e[P]=void 0)};t?C(t,[e,i]):i()},leave(t,r){const o=String(e.key);if(t[P]&&t[P](!0),n.isUnmounting)return r();S(h,[t]);let s=!1;const i=t[T]=n=>{s||(s=!0,r(),S(n?v:g,[t]),t[T]=void 0,_[o]===e&&delete _[o])};_[o]=e,m?C(m,[t,i]):i()},clone(e){const o=L(e,t,n,r,s);return s&&s(o),o}};return E}function U(e,t){6&e.shapeFlag&&e.component?(e.transition=t,U(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function z(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s(0,o.l7)({name:e.name},t,{setup:e}))():e}function V(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Z(e,t,n,i,l=!1){if((0,o.kJ)(e))return void e.forEach(((e,r)=>Z(e,t&&((0,o.kJ)(t)?t[r]:t),n,i,l)));if(H(i)&&!l)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&Z(e,t,n,i.component.subTree));const c=4&i.shapeFlag?Fn(i.component):i.el,a=l?null:c,{i:u,r:f}=e;const d=t&&t.r,p=u.refs===o.kT?u.refs={}:u.refs,h=u.setupState,m=(0,r.IU)(h),g=h===o.kT?()=>!1:e=>(0,o.RI)(m,e);if(null!=d&&d!==f&&((0,o.HD)(d)?(p[d]=null,g(d)&&(h[d]=null)):(0,r.dq)(d)&&(d.value=null)),(0,o.mf)(f))s(f,u,12,[a,p]);else{const t=(0,o.HD)(f),s=(0,r.dq)(f);if(t||s){const r=()=>{if(e.f){const n=t?g(f)?h[f]:p[f]:f.value;l?(0,o.kJ)(n)&&(0,o.Od)(n,c):(0,o.kJ)(n)?n.includes(c)||n.push(c):t?(p[f]=[c],g(f)&&(h[f]=p[f])):(f.value=[c],e.k&&(p[e.k]=f.value))}else t?(p[f]=a,g(f)&&(h[f]=a)):s&&(f.value=a,e.k&&(p[e.k]=a))};a?(r.id=-1,dt(r,n)):r()}else 0}}(0,o.E9)().requestIdleCallback,(0,o.E9)().cancelIdleCallback;const H=e=>!!e.type.__asyncLoader +/*! #__NO_SIDE_EFFECTS__ */;const B=e=>e.type.__isKeepAlive;RegExp,RegExp;function G(e,t){return(0,o.kJ)(e)?e.some((e=>G(e,t))):(0,o.HD)(e)?e.split(",").includes(t):!!(0,o.Kj)(e)&&(e.lastIndex=0,e.test(t))}function W(e,t){K(e,"a",t)}function q(e,t){K(e,"da",t)}function K(e,t,n=yn){const r=e.__wdc||(e.__wdc=()=>{let t=n;while(t){if(t.isDeactivated)return;t=t.parent}return e()});if(ee(t,r,n),n){let e=n.parent;while(e&&e.parent)B(e.parent.vnode)&&Y(r,t,n,e),e=e.parent}}function Y(e,t,n,r){const s=ee(t,e,r,!0);le((()=>{(0,o.Od)(r[t],s)}),n)}function X(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Q(e){return 128&e.shapeFlag?e.ssContent:e}function ee(e,t,n=yn,o=!1){if(n){const s=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...o)=>{(0,r.Jd)();const s=_n(n),l=i(t,n,e,o);return s(),(0,r.lk)(),l});return o?s.unshift(l):s.push(l),l}}const te=e=>(t,n=yn)=>{Rn&&"sp"!==e||ee(e,((...e)=>t(...e)),n)},ne=te("bm"),re=te("m"),oe=te("bu"),se=te("u"),ie=te("bum"),le=te("um"),ce=te("sp"),ae=te("rtg"),ue=te("rtc");function fe(e,t=yn){ee("ec",e,t)}const de="components";function pe(e,t){return ge(de,e,!0,t)||e}const he=Symbol.for("v-ndc");function me(e){return(0,o.HD)(e)?ge(de,e,!1)||e:e||he}function ge(e,t,n=!0,r=!1){const s=C||yn;if(s){const n=s.type;if(e===de){const e=Dn(n,!1);if(e&&(e===t||e===(0,o._A)(t)||e===(0,o.kC)((0,o._A)(t))))return n}const i=ve(s[e]||n[e],t)||ve(s.appContext[e],t);return!i&&r?n:i}}function ve(e,t){return e&&(e[t]||e[(0,o._A)(t)]||e[(0,o.kC)((0,o._A)(t))])}function be(e,t,n,s){let i;const l=n&&n[s],c=(0,o.kJ)(e);if(c||(0,o.HD)(e)){const n=c&&(0,r.PG)(e);let o=!1,s=!1;n&&(o=!(0,r.yT)(e),s=(0,r.$y)(e),e=(0,r.XB)(e)),i=new Array(e.length);for(let c=0,a=e.length;ct(e,n,void 0,l&&l[n])));else{const n=Object.keys(e);i=new Array(n.length);for(let r=0,o=n.length;r!Qt(e)||e.type!==Jt&&!(e.type===Ut&&!ke(e.children))))?e:null}const we=e=>e?Cn(e)?Fn(e):we(e.parent):null,xe=(0,o.l7)(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=>we(e.parent),$root:e=>we(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ae(e),$forceUpdate:e=>e.f||(e.f=()=>{b(e.update)}),$nextTick:e=>e.n||(e.n=g.bind(e.proxy)),$watch:e=>Et.bind(e)}),_e=(e,t)=>e!==o.kT&&!e.__isScriptSetup&&(0,o.RI)(e,t),Se={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:s,data:i,props:l,accessCache:c,type:a,appContext:u}=e;let f;if("$"!==t[0]){const r=c[t];if(void 0!==r)switch(r){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return l[t]}else{if(_e(s,t))return c[t]=1,s[t];if(i!==o.kT&&(0,o.RI)(i,t))return c[t]=2,i[t];if((f=e.propsOptions[0])&&(0,o.RI)(f,t))return c[t]=3,l[t];if(n!==o.kT&&(0,o.RI)(n,t))return c[t]=4,n[t];Ee&&(c[t]=0)}}const d=xe[t];let p,h;return d?("$attrs"===t&&(0,r.j)(e.attrs,"get",""),d(e)):(p=a.__cssModules)&&(p=p[t])?p:n!==o.kT&&(0,o.RI)(n,t)?(c[t]=4,n[t]):(h=u.config.globalProperties,(0,o.RI)(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return _e(s,t)?(s[t]=n,!0):r!==o.kT&&(0,o.RI)(r,t)?(r[t]=n,!0):!(0,o.RI)(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(i[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},l){let c;return!!n[l]||e!==o.kT&&(0,o.RI)(e,l)||_e(t,l)||(c=i[0])&&(0,o.RI)(c,l)||(0,o.RI)(r,l)||(0,o.RI)(xe,l)||(0,o.RI)(s.config.globalProperties,l)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:(0,o.RI)(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ce(e){return(0,o.kJ)(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let Ee=!0;function Oe(e){const t=Ae(e),n=e.proxy,s=e.ctx;Ee=!1,t.beforeCreate&&je(t.beforeCreate,e,"bc");const{data:i,computed:l,methods:c,watch:a,provide:u,inject:f,created:d,beforeMount:p,mounted:h,beforeUpdate:m,updated:g,activated:v,deactivated:b,beforeDestroy:y,beforeUnmount:k,destroyed:w,unmounted:x,render:_,renderTracked:S,renderTriggered:C,errorCaptured:E,serverPrefetch:O,expose:R,inheritAttrs:j,components:M,directives:A,filters:I}=t,T=null;if(f&&Re(f,s,T),c)for(const r in c){const e=c[r];(0,o.mf)(e)&&(s[r]=e.bind(n))}if(i){0;const t=i.call(n,n);0,(0,o.Kn)(t)&&(e.data=(0,r.qj)(t))}if(Ee=!0,l)for(const r in l){const e=l[r],t=(0,o.mf)(e)?e.bind(n,n):(0,o.mf)(e.get)?e.get.bind(n,n):o.dG;0;const i=!(0,o.mf)(e)&&(0,o.mf)(e.set)?e.set.bind(n):o.dG,c=$n({get:t,set:i});Object.defineProperty(s,r,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e})}if(a)for(const r in a)Me(a[r],s,n,r);if(u){const e=(0,o.mf)(u)?u.call(n):u;Reflect.ownKeys(e).forEach((t=>{He(t,e[t])}))}function P(e,t){(0,o.kJ)(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(d&&je(d,e,"c"),P(ne,p),P(re,h),P(oe,m),P(se,g),P(W,v),P(q,b),P(fe,E),P(ue,S),P(ae,C),P(ie,k),P(le,x),P(ce,O),(0,o.kJ)(R))if(R.length){const t=e.exposed||(e.exposed={});R.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})}))}else e.exposed||(e.exposed={});_&&e.render===o.dG&&(e.render=_),null!=j&&(e.inheritAttrs=j),M&&(e.components=M),A&&(e.directives=A),O&&V(e)}function Re(e,t,n=o.dG){(0,o.kJ)(e)&&(e=De(e));for(const s in e){const n=e[s];let i;i=(0,o.Kn)(n)?"default"in n?Be(n.from||s,n.default,!0):Be(n.from||s):Be(n),(0,r.dq)(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[s]=i}}function je(e,t,n){i((0,o.kJ)(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Me(e,t,n,r){let s=r.includes(".")?Ot(n,r):()=>n[r];if((0,o.HD)(e)){const n=t[e];(0,o.mf)(n)&&St(s,n)}else if((0,o.mf)(e))St(s,e.bind(n));else if((0,o.Kn)(e))if((0,o.kJ)(e))e.forEach((e=>Me(e,t,n,r)));else{const r=(0,o.mf)(e.handler)?e.handler.bind(n):t[e.handler];(0,o.mf)(r)&&St(s,r,e)}else 0}function Ae(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:l}}=e.appContext,c=i.get(t);let a;return c?a=c:s.length||n||r?(a={},s.length&&s.forEach((e=>Ie(a,e,l,!0))),Ie(a,t,l)):a=t,(0,o.Kn)(t)&&i.set(t,a),a}function Ie(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Ie(e,s,n,!0),o&&o.forEach((t=>Ie(e,t,n,!0)));for(const i in t)if(r&&"expose"===i);else{const r=Te[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Te={data:Pe,props:Le,emits:Le,methods:$e,computed:$e,beforeCreate:Ne,created:Ne,beforeMount:Ne,mounted:Ne,beforeUpdate:Ne,updated:Ne,beforeDestroy:Ne,beforeUnmount:Ne,destroyed:Ne,unmounted:Ne,activated:Ne,deactivated:Ne,errorCaptured:Ne,serverPrefetch:Ne,components:$e,directives:$e,watch:Ue,provide:Pe,inject:Fe};function Pe(e,t){return t?e?function(){return(0,o.l7)((0,o.mf)(e)?e.call(this,this):e,(0,o.mf)(t)?t.call(this,this):t)}:t:e}function Fe(e,t){return $e(De(e),De(t))}function De(e){if((0,o.kJ)(e)){const t={};for(let n=0;n1)return n&&(0,o.mf)(t)?t.call(r&&r.proxy):t}else 0}const Ge={},We=()=>Object.create(Ge),qe=e=>Object.getPrototypeOf(e)===Ge;function Ke(e,t,n,o=!1){const s={},i=We();e.propsDefaults=Object.create(null),Xe(e,t,s,i);for(const r in e.propsOptions[0])r in s||(s[r]=void 0);n?e.props=o?s:(0,r.Um)(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Ye(e,t,n,s){const{props:i,attrs:l,vnode:{patchFlag:c}}=e,a=(0,r.IU)(i),[u]=e.propsOptions;let f=!1;if(!(s||c>0)||16&c){let r;Xe(e,t,i,l)&&(f=!0);for(const s in a)t&&((0,o.RI)(t,s)||(r=(0,o.rs)(s))!==s&&(0,o.RI)(t,r))||(u?!n||void 0===n[s]&&void 0===n[r]||(i[s]=Qe(u,a,s,void 0,e,!0)):delete i[s]);if(l!==a)for(const e in l)t&&(0,o.RI)(t,e)||(delete l[e],f=!0)}else if(8&c){const n=e.vnode.dynamicProps;for(let r=0;r{a=!0;const[n,r]=tt(e,t,!0);(0,o.l7)(l,n),r&&c.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!i&&!a)return(0,o.Kn)(e)&&r.set(e,o.Z6),o.Z6;if((0,o.kJ)(i))for(let f=0;f"_"===e||"__"===e||"_ctx"===e||"$stable"===e,ot=e=>(0,o.kJ)(e)?e.map(fn):[fn(e)],st=(e,t,n)=>{if(t._n)return t;const r=R(((...e)=>ot(t(...e))),n);return r._c=!1,r},it=(e,t,n)=>{const r=e._ctx;for(const s in e){if(rt(s))continue;const n=e[s];if((0,o.mf)(n))t[s]=st(s,n,r);else if(null!=n){0;const e=ot(n);t[s]=()=>e}}},lt=(e,t)=>{const n=ot(t);e.slots.default=()=>n},ct=(e,t,n)=>{for(const r in t)!n&&rt(r)||(e[r]=t[r])},at=(e,t,n)=>{const r=e.slots=We();if(32&e.vnode.shapeFlag){const e=t.__;e&&(0,o.Nj)(r,"__",e,!0);const s=t._;s?(ct(r,t,n),n&&(0,o.Nj)(r,"_",s,!0)):it(t,r)}else t&<(e,t)},ut=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,l=o.kT;if(32&r.shapeFlag){const e=t._;e?n&&1===e?i=!1:ct(s,t,n):(i=!t.$stable,it(t,s)),l=t}else t&&(lt(e,t),l={default:1});if(i)for(const o in s)rt(o)||null!=l[o]||delete s[o]};function ft(){"boolean"!==typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&((0,o.E9)().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1)}const dt=Lt;function pt(e){return ht(e)}function ht(e,t){ft();const n=(0,o.E9)();n.__VUE__=!0;const{insert:s,remove:i,patchProp:l,createElement:c,createText:a,createComment:u,setText:f,setElementText:d,parentNode:p,nextSibling:h,setScopeId:m=o.dG,insertStaticContent:g}=e,v=(e,t,n,r=null,o=null,s=null,i,l=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!en(e,t)&&(r=Q(e),W(e,o,s,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:a,ref:u,shapeFlag:f}=t;switch(a){case zt:y(e,t,n,r);break;case Jt:k(e,t,n,r);break;case Vt:null==e&&_(t,n,r,i);break;case Ut:F(e,t,n,r,o,s,i,l,c);break;default:1&f?E(e,t,n,r,o,s,i,l,c):6&f?D(e,t,n,r,o,s,i,l,c):(64&f||128&f)&&a.process(e,t,n,r,o,s,i,l,c,ne)}null!=u&&o?Z(u,e&&e.ref,s,t||e,!t):null==u&&e&&null!=e.ref&&Z(e.ref,null,s,e,!0)},y=(e,t,n,r)=>{if(null==e)s(t.el=a(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},k=(e,t,n,r)=>{null==e?s(t.el=u(t.children||""),n,r):t.el=e.el},_=(e,t,n,r)=>{[e.el,e.anchor]=g(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let o;while(e&&e!==t)o=h(e),s(e,n,r),e=o;s(t,n,r)},C=({el:e,anchor:t})=>{let n;while(e&&e!==t)n=h(e),i(e),e=n;i(t)},E=(e,t,n,r,o,s,i,l,c)=>{"svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e?O(t,n,r,o,s,i,l,c):I(e,t,o,s,i,l,c)},O=(e,t,n,r,i,a,u,f)=>{let p,h;const{props:m,shapeFlag:g,transition:v,dirs:b}=e;if(p=e.el=c(e.type,a,m&&m.is,m),8&g?d(p,e.children):16&g&&j(e.children,p,null,r,i,mt(e,a),u,f),b&&M(e,null,r,"created"),R(p,e,e.scopeId,u,r),m){for(const e in m)"value"===e||(0,o.Gg)(e)||l(p,e,null,m[e],a,r);"value"in m&&l(p,"value",null,m.value,a),(h=m.onVnodeBeforeMount)&&mn(h,r,e)}b&&M(e,null,r,"beforeMount");const y=vt(i,v);y&&v.beforeEnter(p),s(p,t,n),((h=m&&m.onVnodeMounted)||y||b)&&dt((()=>{h&&mn(h,r,e),y&&v.enter(p),b&&M(e,null,r,"mounted")}),i)},R=(e,t,n,r,o)=>{if(n&&m(e,n),r)for(let s=0;s{for(let a=c;a{const a=t.el=e.el;let{patchFlag:u,dynamicChildren:f,dirs:p}=t;u|=16&e.patchFlag;const h=e.props||o.kT,m=t.props||o.kT;let g;if(n&>(n,!1),(g=m.onVnodeBeforeUpdate)&&mn(g,n,t,e),p&&M(t,e,n,"beforeUpdate"),n&>(n,!0),(h.innerHTML&&null==m.innerHTML||h.textContent&&null==m.textContent)&&d(a,""),f?T(e.dynamicChildren,f,a,n,r,mt(t,s),i):c||z(e,t,a,null,n,r,mt(t,s),i,!1),u>0){if(16&u)P(a,h,m,n,s);else if(2&u&&h.class!==m.class&&l(a,"class",null,m.class,s),4&u&&l(a,"style",h.style,m.style,s),8&u){const e=t.dynamicProps;for(let t=0;t{g&&mn(g,n,t,e),p&&M(t,e,n,"updated")}),r)},T=(e,t,n,r,o,s,i)=>{for(let l=0;l{if(t!==n){if(t!==o.kT)for(const i in t)(0,o.Gg)(i)||i in n||l(e,i,t[i],null,s,r);for(const i in n){if((0,o.Gg)(i))continue;const c=n[i],a=t[i];c!==a&&"value"!==i&&l(e,i,a,c,s,r)}"value"in n&&l(e,"value",t.value,n.value,s)}},F=(e,t,n,r,o,i,l,c,u)=>{const f=t.el=e?e.el:a(""),d=t.anchor=e?e.anchor:a("");let{patchFlag:p,dynamicChildren:h,slotScopeIds:m}=t;m&&(c=c?c.concat(m):m),null==e?(s(f,n,r),s(d,n,r),j(t.children||[],n,d,o,i,l,c,u)):p>0&&64&p&&h&&e.dynamicChildren?(T(e.dynamicChildren,h,n,o,i,l,c),(null!=t.key||o&&t===o.subTree)&&bt(e,t,!0)):z(e,t,n,d,o,i,l,c,u)},D=(e,t,n,r,o,s,i,l,c)=>{t.slotScopeIds=l,null==e?512&t.shapeFlag?o.ctx.activate(t,n,r,i,c):N(t,n,r,o,s,i,c):$(e,t,c)},N=(e,t,n,r,o,s,i)=>{const l=e.component=bn(e,r,o);if(B(e)&&(l.ctx.renderer=ne),jn(l,!1,i),l.asyncDep){if(o&&o.registerDep(l,L,i),!e.el){const r=l.subTree=on(Jt);k(null,r,t,n),e.placeholder=r.el}}else L(l,e,t,n,o,s,i)},$=(e,t,n)=>{const r=t.component=e.component;if(Ft(e,t,n)){if(r.asyncDep&&!r.asyncResolved)return void U(r,t,n);r.next=t,r.update()}else t.el=e.el,r.vnode=t},L=(e,t,n,s,i,l,c)=>{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:u}=e;{const n=kt(e);if(n)return t&&(t.el=u.el,U(e,t,c)),void n.asyncDep.then((()=>{e.isUnmounted||a()}))}let f,d=t;0,gt(e,!1),t?(t.el=u.el,U(e,t,c)):t=u,n&&(0,o.ir)(n),(f=t.props&&t.props.onVnodeBeforeUpdate)&&mn(f,s,t,u),gt(e,!0);const h=It(e);0;const m=e.subTree;e.subTree=h,v(m,h,p(m.el),Q(m),e,i,l),t.el=h.el,null===d&&Nt(e,h.el),r&&dt(r,i),(f=t.props&&t.props.onVnodeUpdated)&&dt((()=>mn(f,s,t,u)),i)}else{let r;const{el:c,props:a}=t,{bm:u,m:f,parent:d,root:p,type:h}=e,m=H(t);if(gt(e,!1),u&&(0,o.ir)(u),!m&&(r=a&&a.onVnodeBeforeMount)&&mn(r,d,t),gt(e,!0),c&&oe){const t=()=>{e.subTree=It(e),oe(c,e.subTree,e,i,null)};m&&h.__asyncHydrate?h.__asyncHydrate(c,e,t):t()}else{p.ce&&!1!==p.ce._def.shadowRoot&&p.ce._injectChildStyle(h);const r=e.subTree=It(e);0,v(null,r,n,s,e,i,l),t.el=r.el}if(f&&dt(f,i),!m&&(r=a&&a.onVnodeMounted)){const e=t;dt((()=>mn(r,d,e)),i)}(256&t.shapeFlag||d&&H(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&dt(e.a,i),e.isMounted=!0,t=n=s=null}};e.scope.on();const u=e.effect=new r.qq(a);e.scope.off();const f=e.update=u.run.bind(u),d=e.job=u.runIfDirty.bind(u);d.i=e,d.id=e.uid,u.scheduler=()=>b(d),gt(e,!0),f()},U=(e,t,n)=>{t.component=e;const o=e.vnode.props;e.vnode=t,e.next=null,Ye(e,t.props,o,n),ut(e,t.children,n),(0,r.Jd)(),w(e),(0,r.lk)()},z=(e,t,n,r,o,s,i,l,c=!1)=>{const a=e&&e.children,u=e?e.shapeFlag:0,f=t.children,{patchFlag:p,shapeFlag:h}=t;if(p>0){if(128&p)return void V(a,f,n,r,o,s,i,l,c);if(256&p)return void J(a,f,n,r,o,s,i,l,c)}8&h?(16&u&&X(a,o,s),f!==a&&d(n,f)):16&u?16&h?V(a,f,n,r,o,s,i,l,c):X(a,o,s,!0):(8&u&&d(n,""),16&h&&j(f,n,r,o,s,i,l,c))},J=(e,t,n,r,s,i,l,c,a)=>{e=e||o.Z6,t=t||o.Z6;const u=e.length,f=t.length,d=Math.min(u,f);let p;for(p=0;pf?X(e,s,i,!0,!1,d):j(t,n,r,s,i,l,c,a,d)},V=(e,t,n,r,s,i,l,c,a)=>{let u=0;const f=t.length;let d=e.length-1,p=f-1;while(u<=d&&u<=p){const r=e[u],o=t[u]=a?dn(t[u]):fn(t[u]);if(!en(r,o))break;v(r,o,n,null,s,i,l,c,a),u++}while(u<=d&&u<=p){const r=e[d],o=t[p]=a?dn(t[p]):fn(t[p]);if(!en(r,o))break;v(r,o,n,null,s,i,l,c,a),d--,p--}if(u>d){if(u<=p){const e=p+1,o=ep)while(u<=d)W(e[u],s,i,!0),u++;else{const h=u,m=u,g=new Map;for(u=m;u<=p;u++){const e=t[u]=a?dn(t[u]):fn(t[u]);null!=e.key&&g.set(e.key,u)}let b,y=0;const k=p-m+1;let w=!1,x=0;const _=new Array(k);for(u=0;u=k){W(r,s,i,!0);continue}let o;if(null!=r.key)o=g.get(r.key);else for(b=m;b<=p;b++)if(0===_[b-m]&&en(r,t[b])){o=b;break}void 0===o?W(r,s,i,!0):(_[o-m]=u+1,o>=x?x=o:w=!0,v(r,t[o],n,null,s,i,l,c,a),y++)}const S=w?yt(_):o.Z6;for(b=S.length-1,u=k-1;u>=0;u--){const e=m+u,o=t[e],d=t[e+1],p=e+1{const{el:l,type:c,transition:a,children:u,shapeFlag:f}=e;if(6&f)return void G(e.component.subTree,t,n,r);if(128&f)return void e.suspense.move(t,n,r);if(64&f)return void c.move(e,t,n,ne);if(c===Ut){s(l,t,n);for(let e=0;ea.enter(l)),o);else{const{leave:r,delayLeave:o,afterLeave:c}=a,u=()=>{e.ctx.isUnmounted?i(l):s(l,t,n)},f=()=>{r(l,(()=>{u(),c&&c()}))};o?o(l,u,f):f()}else s(l,t,n)},W=(e,t,n,o=!1,s=!1)=>{const{type:i,props:l,ref:c,children:a,dynamicChildren:u,shapeFlag:f,patchFlag:d,dirs:p,cacheIndex:h}=e;if(-2===d&&(s=!1),null!=c&&((0,r.Jd)(),Z(c,null,n,e,!0),(0,r.lk)()),null!=h&&(t.renderCache[h]=void 0),256&f)return void t.ctx.deactivate(e);const m=1&f&&p,g=!H(e);let v;if(g&&(v=l&&l.onVnodeBeforeUnmount)&&mn(v,t,e),6&f)Y(e.component,n,o);else{if(128&f)return void e.suspense.unmount(n,o);m&&M(e,null,t,"beforeUnmount"),64&f?e.type.remove(e,t,n,ne,o):u&&!u.hasOnce&&(i!==Ut||d>0&&64&d)?X(u,t,n,!1,!0):(i===Ut&&384&d||!s&&16&f)&&X(a,t,n),o&&q(e)}(g&&(v=l&&l.onVnodeUnmounted)||m)&&dt((()=>{v&&mn(v,t,e),m&&M(e,null,t,"unmounted")}),n)},q=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===Ut)return void K(n,r);if(t===Vt)return void C(e);const s=()=>{i(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,i=()=>t(n,s);r?r(e.el,s,i):i()}else s()},K=(e,t)=>{let n;while(e!==t)n=h(e),i(e),e=n;i(t)},Y=(e,t,n)=>{const{bum:r,scope:s,job:i,subTree:l,um:c,m:a,a:u,parent:f,slots:{__:d}}=e;wt(a),wt(u),r&&(0,o.ir)(r),f&&(0,o.kJ)(d)&&d.forEach((e=>{f.renderCache[e]=void 0})),s.stop(),i&&(i.flags|=8,W(l,e,t,n)),c&&dt(c,t),dt((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},X=(e,t,n,r=!1,o=!1,s=0)=>{for(let i=s;i{if(6&e.shapeFlag)return Q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[A];return n?h(n):t};let ee=!1;const te=(e,t,n)=>{null==e?t._vnode&&W(t._vnode,null,null,!0):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ee||(ee=!0,w(),x(),ee=!1)},ne={p:v,um:W,m:G,r:q,mt:N,mc:j,pc:z,pbc:T,n:Q,o:e};let re,oe;return t&&([re,oe]=t(ne)),{render:te,hydrate:re,createApp:Ve(te,re)}}function mt({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function vt(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bt(e,t,n=!1){const r=e.children,s=t.children;if((0,o.kJ)(r)&&(0,o.kJ)(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}s=n.length,i=n[s-1];while(s-- >0)n[s]=i,i=t[i];return n}function kt(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:kt(t)}function wt(e){if(e)for(let t=0;t{{const e=Be(xt);return e}};function St(e,t,n){return Ct(e,t,n)}function Ct(e,t,n=o.kT){const{immediate:s,deep:l,flush:c,once:a}=n;const u=(0,o.l7)({},n);const f=t&&s||!t&&"post"!==c;let d;if(Rn)if("sync"===c){const e=_t();d=e.__watcherHandles||(e.__watcherHandles=[])}else if(!f){const e=()=>{};return e.stop=o.dG,e.resume=o.dG,e.pause=o.dG,e}const p=yn;u.call=(e,t,n)=>i(e,p,t,n);let h=!1;"post"===c?u.scheduler=e=>{dt(e,p&&p.suspense)}:"sync"!==c&&(h=!0,u.scheduler=(e,t)=>{t?e():b(e)}),u.augmentJob=e=>{t&&(e.flags|=4),h&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};const m=(0,r.YP)(e,t,u);return Rn&&(d?d.push(m):f&&m()),m}function Et(e,t,n){const r=this.proxy,s=(0,o.HD)(e)?e.includes(".")?Ot(r,e):()=>r[e]:e.bind(r,r);let i;(0,o.mf)(t)?i=t:(i=t.handler,n=t);const l=_n(this),c=Ct(s,i.bind(r),n);return l(),c}function Ot(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${(0,o._A)(t)}Modifiers`]||e[`${(0,o.rs)(t)}Modifiers`];function jt(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||o.kT;let s=n;const l=t.startsWith("update:"),c=l&&Rt(r,t.slice(7));let a;c&&(c.trim&&(s=n.map((e=>(0,o.HD)(e)?e.trim():e))),c.number&&(s=n.map(o.h5)));let u=r[a=(0,o.hR)(t)]||r[a=(0,o.hR)((0,o._A)(t))];!u&&l&&(u=r[a=(0,o.hR)((0,o.rs)(t))]),u&&i(u,e,6,s);const f=r[a+"Once"];if(f){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,i(f,e,6,s)}}function Mt(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(void 0!==s)return s;const i=e.emits;let l={},c=!1;if(!(0,o.mf)(e)){const r=e=>{const n=Mt(e,t,!0);n&&(c=!0,(0,o.l7)(l,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return i||c?((0,o.kJ)(i)?i.forEach((e=>l[e]=null)):(0,o.l7)(l,i),(0,o.Kn)(e)&&r.set(e,l),l):((0,o.Kn)(e)&&r.set(e,null),null)}function At(e,t){return!(!e||!(0,o.F7)(t))&&(t=t.slice(2).replace(/Once$/,""),(0,o.RI)(e,t[0].toLowerCase()+t.slice(1))||(0,o.RI)(e,(0,o.rs)(t))||(0,o.RI)(e,t))}function It(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:c,attrs:a,emit:u,render:f,renderCache:d,props:p,data:h,setupState:m,ctx:g,inheritAttrs:v}=e,b=O(e);let y,k;try{if(4&n.shapeFlag){const e=s||r,t=e;y=fn(f.call(t,e,d,p,m,h,g)),k=a}else{const e=t;0,y=fn(e.length>1?e(p,{attrs:a,slots:c,emit:u}):e(p,null)),k=t.props?a:Tt(a)}}catch(x){Zt.length=0,l(x,e,1),y=on(Jt)}let w=y;if(k&&!1!==v){const e=Object.keys(k),{shapeFlag:t}=w;e.length&&7&t&&(i&&e.some(o.tR)&&(k=Pt(k,i)),w=cn(w,k,!1,!0))}return n.dirs&&(w=cn(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&U(w,n.transition),y=w,O(b),y}const Tt=e=>{let t;for(const n in e)("class"===n||"style"===n||(0,o.F7)(n))&&((t||(t={}))[n]=e[n]);return t},Pt=(e,t)=>{const n={};for(const r in e)(0,o.tR)(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Ft(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:c}=t,a=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&c>=0))return!(!o&&!l||l&&l.$stable)||r!==i&&(r?!i||Dt(r,i,a):!!i);if(1024&c)return!0;if(16&c)return r?Dt(r,i,a):!!i;if(8&c){const e=t.dynamicProps;for(let t=0;te.__isSuspense;function Lt(e,t){t&&t.pendingBranch?(0,o.kJ)(e)?t.effects.push(...e):t.effects.push(e):k(e)}const Ut=Symbol.for("v-fgt"),zt=Symbol.for("v-txt"),Jt=Symbol.for("v-cmt"),Vt=Symbol.for("v-stc"),Zt=[];let Ht=null;function Bt(e=!1){Zt.push(Ht=e?null:[])}function Gt(){Zt.pop(),Ht=Zt[Zt.length-1]||null}let Wt=1;function qt(e,t=!1){Wt+=e,e<0&&Ht&&t&&(Ht.hasOnce=!0)}function Kt(e){return e.dynamicChildren=Wt>0?Ht||o.Z6:null,Gt(),Wt>0&&Ht&&Ht.push(e),e}function Yt(e,t,n,r,o,s){return Kt(rn(e,t,n,r,o,s,!0))}function Xt(e,t,n,r,o){return Kt(on(e,t,n,r,o,!0))}function Qt(e){return!!e&&!0===e.__v_isVNode}function en(e,t){return e.type===t.type&&e.key===t.key}const tn=({key:e})=>null!=e?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>("number"===typeof e&&(e=""+e),null!=e?(0,o.HD)(e)||(0,r.dq)(e)||(0,o.mf)(e)?{i:C,r:e,k:t,f:!!n}:e:null);function rn(e,t=null,n=null,r=0,s=null,i=(e===Ut?0:1),l=!1,c=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&tn(t),ref:t&&nn(t),scopeId:E,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:C};return c?(pn(a,n),128&i&&e.normalize(a)):n&&(a.shapeFlag|=(0,o.HD)(n)?8:16),Wt>0&&!l&&Ht&&(a.patchFlag>0||6&i)&&32!==a.patchFlag&&Ht.push(a),a}const on=sn;function sn(e,t=null,n=null,s=0,i=null,l=!1){if(e&&e!==he||(e=Jt),Qt(e)){const r=cn(e,t,!0);return n&&pn(r,n),Wt>0&&!l&&Ht&&(6&r.shapeFlag?Ht[Ht.indexOf(e)]=r:Ht.push(r)),r.patchFlag=-2,r}if(Nn(e)&&(e=e.__vccOpts),t){t=ln(t);let{class:e,style:n}=t;e&&!(0,o.HD)(e)&&(t.class=(0,o.C_)(e)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),t.style=(0,o.j5)(n))}const c=(0,o.HD)(e)?1:$t(e)?128:I(e)?64:(0,o.Kn)(e)?4:(0,o.mf)(e)?2:0;return rn(e,t,n,s,i,c,l,!0)}function ln(e){return e?(0,r.X3)(e)||qe(e)?(0,o.l7)({},e):e:null}function cn(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:l,children:c,transition:a}=e,u=t?hn(s||{},t):s,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&tn(u),ref:t&&t.ref?n&&i?(0,o.kJ)(i)?i.concat(nn(t)):[i,nn(t)]:nn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ut?-1===l?16:16|l:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&cn(e.ssContent),ssFallback:e.ssFallback&&cn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&U(f,a.clone(f)),f}function an(e=" ",t=0){return on(zt,null,e,t)}function un(e="",t=!1){return t?(Bt(),Xt(Jt,null,e)):on(Jt,null,e)}function fn(e){return null==e||"boolean"===typeof e?on(Jt):(0,o.kJ)(e)?on(Ut,null,e.slice()):Qt(e)?dn(e):on(zt,null,String(e))}function dn(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:cn(e)}function pn(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if((0,o.kJ)(t))n=16;else if("object"===typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),pn(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||qe(t)?3===r&&C&&(1===C.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=C}}else(0,o.mf)(t)?(t={default:t,_ctx:C},n=32):(t=String(t),64&r?(n=16,t=[an(t)]):n=8);e.children=t,e.shapeFlag|=n}function hn(...e){const t={};for(let n=0;nyn||C;let wn,xn;{const e=(0,o.E9)(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach((t=>t(e))):r[0](e)}};wn=t("__VUE_INSTANCE_SETTERS__",(e=>yn=e)),xn=t("__VUE_SSR_SETTERS__",(e=>Rn=e))}const _n=e=>{const t=yn;return wn(e),e.scope.on(),()=>{e.scope.off(),wn(t)}},Sn=()=>{yn&&yn.scope.off(),wn(null)};function Cn(e){return 4&e.vnode.shapeFlag}let En,On,Rn=!1;function jn(e,t=!1,n=!1){t&&xn(t);const{props:r,children:o}=e.vnode,s=Cn(e);Ke(e,r,s,t),at(e,o,n||t);const i=s?Mn(e,t):void 0;return t&&xn(!1),i}function Mn(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Se);const{setup:i}=n;if(i){(0,r.Jd)();const n=e.setupContext=i.length>1?Pn(e):null,c=_n(e),a=s(i,e,0,[e.props,n]),u=(0,o.tI)(a);if((0,r.lk)(),c(),!u&&!e.sp||H(e)||V(e),u){if(a.then(Sn,Sn),t)return a.then((n=>{An(e,n,t)})).catch((t=>{l(t,e,0)}));e.asyncDep=a}else An(e,a,t)}else In(e,t)}function An(e,t,n){(0,o.mf)(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:(0,o.Kn)(t)&&(e.setupState=(0,r.WL)(t)),In(e,n)}function In(e,t,n){const s=e.type;if(!e.render){if(!t&&En&&!s.render){const t=s.template||Ae(e).template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:i,compilerOptions:l}=s,c=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:i},r),l);s.render=En(t,c)}}e.render=s.render||o.dG,On&&On(e)}{const t=_n(e);(0,r.Jd)();try{Oe(e)}finally{(0,r.lk)(),t()}}}const Tn={get(e,t){return(0,r.j)(e,"get",""),e[t]}};function Pn(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,Tn),slots:e.slots,emit:e.emit,expose:t}}function Fn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(e.exposed)),{get(t,n){return n in t?t[n]:n in xe?xe[n](e):void 0},has(e,t){return t in e||t in xe}})):e.proxy}function Dn(e,t=!0){return(0,o.mf)(e)?e.displayName||e.name:e.name||t&&e.__name}function Nn(e){return(0,o.mf)(e)&&"__vccOpts"in e}const $n=(e,t)=>{const n=(0,r.Fl)(e,t,Rn);return n};function Ln(e,t,n){const r=arguments.length;return 2===r?(0,o.Kn)(t)&&!(0,o.kJ)(t)?Qt(t)?on(e,null,[t]):on(e,t):on(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Qt(n)&&(n=[n]),on(e,t,n))}const Un="3.5.18"},963:function(e,t,n){n.d(t,{D2:function(){return X},bM:function(){return H},iM:function(){return K},ri:function(){return ne}});var r=n(252),o=n(577);n(262); +/** +* @vue/runtime-dom v3.5.18 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +let s;const i="undefined"!==typeof window&&window.trustedTypes;if(i)try{s=i.createPolicy("vue",{createHTML:e=>e})}catch(se){}const l=s?e=>s.createHTML(e):e=>e,c="http://www.w3.org/2000/svg",a="http://www.w3.org/1998/Math/MathML",u="undefined"!==typeof document?document:null,f=u&&u.createElement("template"),d={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 o="svg"===t?u.createElementNS(c,e):"mathml"===t?u.createElementNS(a,e):n?u.createElement(e,{is:n}):u.createElement(e);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>u.createTextNode(e),createComment:e=>u.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>u.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling)){while(1)if(t.insertBefore(o.cloneNode(!0),n),o===s||!(o=o.nextSibling))break}else{f.innerHTML=l("svg"===r?`${e}`:"mathml"===r?`${e}`:e);const o=f.content;if("svg"===r||"mathml"===r){const e=o.firstChild;while(e.firstChild)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},p=Symbol("_vtc"),h={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};r.nJ;function m(e,t,n){const r=e[p];r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const g=Symbol("_vod"),v=Symbol("_vsh");const b=Symbol("");const y=/(^|;)\s*display\s*:/;function k(e,t,n){const r=e.style,s=(0,o.HD)(n);let i=!1;if(n&&!s){if(t)if((0,o.HD)(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&x(r,t,"")}else for(const e in t)null==n[e]&&x(r,e,"");for(const e in n)"display"===e&&(i=!0),x(r,e,n[e])}else if(s){if(t!==n){const e=r[b];e&&(n+=";"+e),r.cssText=n,i=y.test(n)}}else t&&e.removeAttribute("style");g in e&&(e[g]=i?r.display:"",e[v]&&(r.display="none"))}const w=/\s*!important$/;function x(e,t,n){if((0,o.kJ)(n))n.forEach((n=>x(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=C(e,t);w.test(n)?e.setProperty((0,o.rs)(r),n.replace(w,""),"important"):e[r]=n}}const _=["Webkit","Moz","ms"],S={};function C(e,t){const n=S[t];if(n)return n;let r=(0,o._A)(t);if("filter"!==r&&r in e)return S[t]=r;r=(0,o.kC)(r);for(let o=0;o<_.length;o++){const n=_[o]+r;if(n in e)return S[t]=n}return t}const E="http://www.w3.org/1999/xlink";function O(e,t,n,r,s,i=(0,o.Pq)(t)){r&&t.startsWith("xlink:")?null==n?e.removeAttributeNS(E,t.slice(6,t.length)):e.setAttributeNS(E,t,n):null==n||i&&!(0,o.yA)(n)?e.removeAttribute(t):e.setAttribute(t,i?"":(0,o.yk)(n)?String(n):n)}function R(e,t,n,r,s){if("innerHTML"===t||"textContent"===t)return void(null!=n&&(e[t]="innerHTML"===t?l(n):n));const i=e.tagName;if("value"===t&&"PROGRESS"!==i&&!i.includes("-")){const r="OPTION"===i?e.getAttribute("value")||"":e.value,o=null==n?"checkbox"===e.type?"on":"":String(n);return r===o&&"_value"in e||(e.value=o),null==n&&e.removeAttribute(t),void(e._value=n)}let c=!1;if(""===n||null==n){const r=typeof e[t];"boolean"===r?n=(0,o.yA)(n):null==n&&"string"===r?(n="",c=!0):"number"===r&&(n=0,c=!0)}try{e[t]=n}catch(se){0}c&&e.removeAttribute(s||t)}function j(e,t,n,r){e.addEventListener(t,n,r)}function M(e,t,n,r){e.removeEventListener(t,n,r)}const A=Symbol("_vei");function I(e,t,n,r,o=null){const s=e[A]||(e[A]={}),i=s[t];if(r&&i)i.value=r;else{const[n,l]=P(t);if(r){const i=s[t]=$(r,o);j(e,n,i,l)}else i&&(M(e,n,i,l),s[t]=void 0)}}const T=/(?:Once|Passive|Capture)$/;function P(e){let t;if(T.test(e)){let n;t={};while(n=e.match(T))e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}const n=":"===e[2]?e.slice(3):(0,o.rs)(e.slice(2));return[n,t]}let F=0;const D=Promise.resolve(),N=()=>F||(D.then((()=>F=0)),F=Date.now());function $(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();(0,r.$d)(L(e,n.value),t,5,[e])};return n.value=e,n.attached=N(),n}function L(e,t){if((0,o.kJ)(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}const U=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,z=(e,t,n,r,s,i)=>{const l="svg"===s;"class"===t?m(e,r,l):"style"===t?k(e,n,r):(0,o.F7)(t)?(0,o.tR)(t)||I(e,t,n,r,i):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):J(e,t,r,l))?(R(e,t,r),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||O(e,t,r,l,i,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&(0,o.HD)(r)?("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),O(e,t,r,l)):R(e,(0,o._A)(t),r,i,t)};function J(e,t,n,r){if(r)return"innerHTML"===t||"textContent"===t||!!(t in e&&U(t)&&(0,o.mf)(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!U(t)||!(0,o.HD)(n))&&t in e} +/*! #__NO_SIDE_EFFECTS__ */ +"undefined"!==typeof HTMLElement&&HTMLElement;Symbol("_moveCb"),Symbol("_enterCb");const V=e=>{const t=e.props["onUpdate:modelValue"]||!1;return(0,o.kJ)(t)?e=>(0,o.ir)(t,e):t};const Z=Symbol("_assign");const H={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=(0,o.DM)(t);j(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?(0,o.h5)(G(e)):G(e)));e[Z](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,(0,r.Y3)((()=>{e._assigning=!1}))})),e[Z]=V(s)},mounted(e,{value:t}){B(e,t)},beforeUpdate(e,t,n){e[Z]=V(n)},updated(e,{value:t}){e._assigning||B(e,t)}};function B(e,t){const n=e.multiple,r=(0,o.kJ)(t);if(!n||r||(0,o.DM)(t)){for(let s=0,i=e.options.length;sString(e)===String(l))):(0,o.hq)(t,l)>-1}else i.selected=t.has(l);else if((0,o.WV)(G(i),t))return void(e.selectedIndex!==s&&(e.selectedIndex=s))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function G(e){return"_value"in e?e._value:e.value}const W=["ctrl","shift","alt","meta"],q={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&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>W.some((n=>e[`${n}Key`]&&!t.includes(n)))},K=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(n,...r)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=n=>{if(!("key"in n))return;const r=(0,o.rs)(n.key);return t.some((e=>e===r||Y[e]===r))?e(n):void 0})},Q=(0,o.l7)({patchProp:z},d);let ee;function te(){return ee||(ee=(0,r.Us)(Q))}const ne=(...e)=>{const t=te().createApp(...e);const{mount:n}=t;return t.mount=e=>{const r=oe(e);if(!r)return;const s=t._component;(0,o.mf)(s)||s.render||s.template||(s.template=r.innerHTML),1===r.nodeType&&(r.textContent="");const i=n(r,!1,re(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function re(e){return e instanceof SVGElement?"svg":"function"===typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function oe(e){if((0,o.HD)(e)){const t=document.querySelector(e);return t}return e}},577:function(e,t,n){ +/** +* @vue/shared v3.5.18 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +/*! #__NO_SIDE_EFFECTS__ */ +function r(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}n.d(t,{C_:function(){return Y},DM:function(){return g},E9:function(){return V},F7:function(){return c},Gg:function(){return j},HD:function(){return k},He:function(){return z},Kj:function(){return b},Kn:function(){return x},NO:function(){return l},Nj:function(){return L},Od:function(){return f},PO:function(){return O},Pq:function(){return Q},RI:function(){return p},S0:function(){return R},W7:function(){return E},WV:function(){return ne},Z6:function(){return s},_A:function(){return I},_N:function(){return m},aU:function(){return N},dG:function(){return i},fY:function(){return r},h5:function(){return U},hR:function(){return D},hq:function(){return re},ir:function(){return $},j5:function(){return B},kC:function(){return F},kJ:function(){return h},kT:function(){return o},l7:function(){return u},mf:function(){return y},rs:function(){return P},tI:function(){return _},tR:function(){return a},yA:function(){return ee},yk:function(){return w},yl:function(){return H},zw:function(){return se}});const o={},s=[],i=()=>{},l=()=>!1,c=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),a=e=>e.startsWith("onUpdate:"),u=Object.assign,f=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,p=(e,t)=>d.call(e,t),h=Array.isArray,m=e=>"[object Map]"===C(e),g=e=>"[object Set]"===C(e),v=e=>"[object Date]"===C(e),b=e=>"[object RegExp]"===C(e),y=e=>"function"===typeof e,k=e=>"string"===typeof e,w=e=>"symbol"===typeof e,x=e=>null!==e&&"object"===typeof e,_=e=>(x(e)||y(e))&&y(e.then)&&y(e.catch),S=Object.prototype.toString,C=e=>S.call(e),E=e=>C(e).slice(8,-1),O=e=>"[object Object]"===C(e),R=e=>k(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,j=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),M=e=>{const t=Object.create(null);return n=>{const r=t[n];return r||(t[n]=e(n))}},A=/-(\w)/g,I=M((e=>e.replace(A,((e,t)=>t?t.toUpperCase():"")))),T=/\B([A-Z])/g,P=M((e=>e.replace(T,"-$1").toLowerCase())),F=M((e=>e.charAt(0).toUpperCase()+e.slice(1))),D=M((e=>{const t=e?`on${F(e)}`:"";return t})),N=(e,t)=>!Object.is(e,t),$=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},U=e=>{const t=parseFloat(e);return isNaN(t)?e:t},z=e=>{const t=k(e)?Number(e):NaN;return isNaN(t)?e:t};let J;const V=()=>J||(J="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});const Z="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",H=r(Z);function B(e){if(h(e)){const t={};for(let n=0;n{if(e){const n=e.split(W);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function Y(e){let t="";if(k(e))t=e;else if(h(e))for(let n=0;nne(e,t)))}const oe=e=>!(!e||!0!==e["__v_isRef"]),se=e=>k(e)?e:null==e?"":h(e)||x(e)&&(e.toString===S||!y(e.toString))?oe(e)?se(e.value):JSON.stringify(e,ie,2):String(e),ie=(e,t)=>oe(t)?ie(e,t.value):m(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[le(t,r)+" =>"]=n,e)),{})}:g(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>le(e)))}:w(t)?le(t):!x(t)||h(t)||O(t)?t:String(t),le=(e,t="")=>{var n;return w(e)?`Symbol(${null!=(n=e.description)?n:t})`:e}},264:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(252); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ +const o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),s=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,((e,t,n)=>n?n.toUpperCase():t.toLowerCase())),i=e=>{const t=s(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=(...e)=>e.filter(((e,t,n)=>Boolean(e)&&""!==e.trim()&&n.indexOf(e)===t)).join(" ").trim(),c=e=>""===e; +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ +var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}; +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ +const u=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":s,strokeWidth:u,"stroke-width":f,size:d=a.width,color:p=a.stroke,...h},{slots:m})=>(0,r.h)("svg",{...a,...h,width:d,height:d,stroke:p,"stroke-width":c(n)||c(s)||!0===n||!0===s?24*Number(u||f||a["stroke-width"])/Number(d):u||f||a["stroke-width"],class:l("lucide",h.class,...e?[`lucide-${o(i(e))}-icon`,`lucide-${o(e)}`]:["lucide-icon"])},[...t.map((e=>(0,r.h)(...e))),...m.default?[m.default()]:[]]),f=(e,t)=>(n,{slots:o,attrs:s})=>(0,r.h)(u,{...s,...n,iconNode:t,name:e},o)},793:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},318:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},368:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},485:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},372:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},981:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},893:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},146:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},141:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("circle-arrow-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"m8 12 4 4 4-4",key:"k98ssh"}]])},779:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("circle-arrow-up",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]])},89:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},478:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},135:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("log-in",[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]])},507:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("menu",[["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 18h16",key:"19g7jn"}],["path",{d:"M4 6h16",key:"1o0s65"}]])},679:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]])},254:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},275:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},789:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},138:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},970:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(264); +/** + * @license lucide-vue-next v0.539.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o=(0,r.Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},744:function(e,t){t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n}},3:function(e,t,n){n.d(t,{j:function(){return i}});var r=n(512);const o=e=>"boolean"===typeof e?`${e}`:0===e?"0":e,s=r.W,i=(e,t)=>n=>{var r;if(null==(null===t||void 0===t?void 0:t.variants))return s(e,null===n||void 0===n?void 0:n.class,null===n||void 0===n?void 0:n.className);const{variants:i,defaultVariants:l}=t,c=Object.keys(i).map((e=>{const t=null===n||void 0===n?void 0:n[e],r=null===l||void 0===l?void 0:l[e];if(null===t)return null;const s=o(t)||o(r);return i[e][s]})),a=n&&Object.entries(n).reduce(((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e}),{}),u=null===t||void 0===t||null===(r=t.compoundVariants)||void 0===r?void 0:r.reduce(((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every((e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...l,...a}[t]):{...l,...a}[t]===n}))?[...e,n,r]:e}),[]);return s(e,c,u,null===n||void 0===n?void 0:n.class,null===n||void 0===n?void 0:n.className)}},512:function(e,t,n){function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var s=e.length;for(t=0;t{const t=c(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e,i=e=>{const n=e.split(r);return""===n[0]&&1!==n.length&&n.shift(),s(n,t)||l(e)},a=(e,t)=>{const r=n[e]||[];return t&&o[e]?[...r,...o[e]]:r};return{getClassGroupId:i,getConflictingClassGroupIds:a}},s=(e,t)=>{if(0===e.length)return t.classGroupId;const n=e[0],o=t.nextPart.get(n),i=o?s(e.slice(1),o):void 0;if(i)return i;if(0===t.validators.length)return;const l=e.join(r);return t.validators.find((({validator:e})=>e(l)))?.classGroupId},i=/^\[(.+)\]$/,l=e=>{if(i.test(e)){const t=i.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},c=e=>{const{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(const o in n)a(n[o],r,o,t);return r},a=(e,t,n,r)=>{e.forEach((e=>{if("string"!==typeof e){if("function"===typeof e)return f(e)?void a(e(r),t,n,r):void t.validators.push({validator:e,classGroupId:n});Object.entries(e).forEach((([e,o])=>{a(o,u(t,e),n,r)}))}else{const r=""===e?t:u(t,e);r.classGroupId=n}}))},u=(e,t)=>{let n=e;return t.split(r).forEach((e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)})),n},f=e=>e.isThemeGetter,d=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(o,s)=>{n.set(o,s),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set(e,t){n.has(e)?n.set(e,t):o(e,t)}}},p="!",h=":",m=h.length,g=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=e=>{const t=[];let n,r=0,o=0,s=0;for(let u=0;us?n-s:void 0;return{modifiers:t,hasImportantModifier:c,baseClassName:l,maybePostfixModifierPosition:a}};if(t){const e=t+h,n=r;r=t=>t.startsWith(e)?n(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(n){const e=r;r=t=>n({className:t,parseClassName:e})}return r},v=e=>e.endsWith(p)?e.substring(0,e.length-1):e.startsWith(p)?e.substring(1):e,b=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map((e=>[e,!0]))),n=e=>{if(e.length<=1)return e;const n=[];let r=[];return e.forEach((e=>{const o="["===e[0]||t[e];o?(n.push(...r.sort(),e),r=[]):r.push(e)})),n.push(...r.sort()),n};return n},y=e=>({cache:d(e.cacheSize),parseClassName:g(e),sortModifiers:b(e),...o(e)}),k=/\s+/,w=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:s}=t,i=[],l=e.trim().split(k);let c="";for(let a=l.length-1;a>=0;a-=1){const e=l[a],{isExternal:t,modifiers:u,hasImportantModifier:f,baseClassName:d,maybePostfixModifierPosition:h}=n(e);if(t){c=e+(c.length>0?" "+c:c);continue}let m=!!h,g=r(m?d.substring(0,h):d);if(!g){if(!m){c=e+(c.length>0?" "+c:c);continue}if(g=r(d),!g){c=e+(c.length>0?" "+c:c);continue}m=!1}const v=s(u).join(":"),b=f?v+p:v,y=b+g;if(i.includes(y))continue;i.push(y);const k=o(g,m);for(let n=0;n0?" "+c:c)}return c};function x(){let e,t,n=0,r="";while(n{if("string"===typeof e)return e;let t,n="";for(let r=0;rt(e)),e());return n=y(c),r=n.cache.get,o=n.cache.set,s=l,l(i)}function l(e){const t=r(e);if(t)return t;const s=w(e,n);return o(e,s),s}return function(){return s(x.apply(null,arguments))}}const C=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},E=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,O=/^\((?:(\w[\w-]*):)?(.+)\)$/i,R=/^\d+\/\d+$/,j=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,M=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,A=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,I=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,T=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>R.test(e),F=e=>!!e&&!Number.isNaN(Number(e)),D=e=>!!e&&Number.isInteger(Number(e)),N=e=>e.endsWith("%")&&F(e.slice(0,-1)),$=e=>j.test(e),L=()=>!0,U=e=>M.test(e)&&!A.test(e),z=()=>!1,J=e=>I.test(e),V=e=>T.test(e),Z=e=>!B(e)&&!X(e),H=e=>se(e,ae,z),B=e=>E.test(e),G=e=>se(e,ue,U),W=e=>se(e,fe,F),q=e=>se(e,le,z),K=e=>se(e,ce,V),Y=e=>se(e,pe,J),X=e=>O.test(e),Q=e=>ie(e,ue),ee=e=>ie(e,de),te=e=>ie(e,le),ne=e=>ie(e,ae),re=e=>ie(e,ce),oe=e=>ie(e,pe,!0),se=(e,t,n)=>{const r=E.exec(e);return!!r&&(r[1]?t(r[1]):n(r[2]))},ie=(e,t,n=!1)=>{const r=O.exec(e);return!!r&&(r[1]?t(r[1]):n)},le=e=>"position"===e||"percentage"===e,ce=e=>"image"===e||"url"===e,ae=e=>"length"===e||"size"===e||"bg-size"===e,ue=e=>"length"===e,fe=e=>"number"===e,de=e=>"family-name"===e,pe=e=>"shadow"===e,he=(Symbol.toStringTag,()=>{const e=C("color"),t=C("font"),n=C("text"),r=C("font-weight"),o=C("tracking"),s=C("leading"),i=C("breakpoint"),l=C("container"),c=C("spacing"),a=C("radius"),u=C("shadow"),f=C("inset-shadow"),d=C("text-shadow"),p=C("drop-shadow"),h=C("blur"),m=C("perspective"),g=C("aspect"),v=C("ease"),b=C("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...k(),X,B],x=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto","contain","none"],S=()=>[X,B,c],E=()=>[P,"full","auto",...S()],O=()=>[D,"none","subgrid",X,B],R=()=>["auto",{span:["full",D,X,B]},D,X,B],j=()=>[D,"auto",X,B],M=()=>["auto","min","max","fr",X,B],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],I=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...S()],U=()=>[P,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],z=()=>[e,X,B],J=()=>[...k(),te,q,{position:[X,B]}],V=()=>["no-repeat",{repeat:["","x","y","space","round"]}],se=()=>["auto","cover","contain",ne,H,{size:[X,B]}],ie=()=>[N,Q,G],le=()=>["","none","full",a,X,B],ce=()=>["",F,Q,G],ae=()=>["solid","dashed","dotted","double"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],fe=()=>[F,N,te,q],de=()=>["","none",h,X,B],pe=()=>["none",F,X,B],he=()=>["none",F,X,B],me=()=>[F,X,B],ge=()=>[P,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$],breakpoint:[$],color:[L],container:[$],"drop-shadow":[$],ease:["in","out","in-out"],font:[Z],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$],shadow:[$],spacing:["px",F],text:[$],"text-shadow":[$],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",P,B,X,g]}],container:["container"],columns:[{columns:[F,B,X,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{start:E()}],end:[{end:E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[D,"auto",X,B]}],basis:[{basis:[P,"full","auto",l,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[F,P,"auto","initial","none",B]}],grow:[{grow:["",F,X,B]}],shrink:[{shrink:["",F,X,B]}],order:[{order:[D,"first","last","none",X,B]}],"grid-cols":[{"grid-cols":O()}],"col-start-end":[{col:R()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":O()}],"row-start-end":[{row:R()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":M()}],"auto-rows":[{"auto-rows":M()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...I(),"normal"]}],"justify-self":[{"justify-self":["auto",...I()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...I(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...I(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...I(),"baseline"]}],"place-self":[{"place-self":["auto",...I()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],w:[{w:[l,"screen",...U()]}],"min-w":[{"min-w":[l,"screen","none",...U()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",n,Q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,X,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",N,B]}],"font-family":[{font:[ee,B,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,X,B]}],"line-clamp":[{"line-clamp":[F,"none",X,W]}],leading:[{leading:[s,...S()]}],"list-image":[{"list-image":["none",X,B]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",X,B]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:z()}],"text-color":[{text:z()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[F,"from-font","auto",X,G]}],"text-decoration-color":[{decoration:z()}],"underline-offset":[{"underline-offset":[F,"auto",X,B]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",X,B]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",X,B]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:J()}],"bg-repeat":[{bg:V()}],"bg-size":[{bg:se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},D,X,B],radial:["",X,B],conic:[D,X,B]},re,K]}],"bg-color":[{bg:z()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:z()}],"gradient-via":[{via:z()}],"gradient-to":[{to:z()}],rounded:[{rounded:le()}],"rounded-s":[{"rounded-s":le()}],"rounded-e":[{"rounded-e":le()}],"rounded-t":[{"rounded-t":le()}],"rounded-r":[{"rounded-r":le()}],"rounded-b":[{"rounded-b":le()}],"rounded-l":[{"rounded-l":le()}],"rounded-ss":[{"rounded-ss":le()}],"rounded-se":[{"rounded-se":le()}],"rounded-ee":[{"rounded-ee":le()}],"rounded-es":[{"rounded-es":le()}],"rounded-tl":[{"rounded-tl":le()}],"rounded-tr":[{"rounded-tr":le()}],"rounded-br":[{"rounded-br":le()}],"rounded-bl":[{"rounded-bl":le()}],"border-w":[{border:ce()}],"border-w-x":[{"border-x":ce()}],"border-w-y":[{"border-y":ce()}],"border-w-s":[{"border-s":ce()}],"border-w-e":[{"border-e":ce()}],"border-w-t":[{"border-t":ce()}],"border-w-r":[{"border-r":ce()}],"border-w-b":[{"border-b":ce()}],"border-w-l":[{"border-l":ce()}],"divide-x":[{"divide-x":ce()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ce()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ae(),"hidden","none"]}],"divide-style":[{divide:[...ae(),"hidden","none"]}],"border-color":[{border:z()}],"border-color-x":[{"border-x":z()}],"border-color-y":[{"border-y":z()}],"border-color-s":[{"border-s":z()}],"border-color-e":[{"border-e":z()}],"border-color-t":[{"border-t":z()}],"border-color-r":[{"border-r":z()}],"border-color-b":[{"border-b":z()}],"border-color-l":[{"border-l":z()}],"divide-color":[{divide:z()}],"outline-style":[{outline:[...ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[F,X,B]}],"outline-w":[{outline:["",F,Q,G]}],"outline-color":[{outline:z()}],shadow:[{shadow:["","none",u,oe,Y]}],"shadow-color":[{shadow:z()}],"inset-shadow":[{"inset-shadow":["none",f,oe,Y]}],"inset-shadow-color":[{"inset-shadow":z()}],"ring-w":[{ring:ce()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:z()}],"ring-offset-w":[{"ring-offset":[F,G]}],"ring-offset-color":[{"ring-offset":z()}],"inset-ring-w":[{"inset-ring":ce()}],"inset-ring-color":[{"inset-ring":z()}],"text-shadow":[{"text-shadow":["none",d,oe,Y]}],"text-shadow-color":[{"text-shadow":z()}],opacity:[{opacity:[F,X,B]}],"mix-blend":[{"mix-blend":[...ue(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[F]}],"mask-image-linear-from-pos":[{"mask-linear-from":fe()}],"mask-image-linear-to-pos":[{"mask-linear-to":fe()}],"mask-image-linear-from-color":[{"mask-linear-from":z()}],"mask-image-linear-to-color":[{"mask-linear-to":z()}],"mask-image-t-from-pos":[{"mask-t-from":fe()}],"mask-image-t-to-pos":[{"mask-t-to":fe()}],"mask-image-t-from-color":[{"mask-t-from":z()}],"mask-image-t-to-color":[{"mask-t-to":z()}],"mask-image-r-from-pos":[{"mask-r-from":fe()}],"mask-image-r-to-pos":[{"mask-r-to":fe()}],"mask-image-r-from-color":[{"mask-r-from":z()}],"mask-image-r-to-color":[{"mask-r-to":z()}],"mask-image-b-from-pos":[{"mask-b-from":fe()}],"mask-image-b-to-pos":[{"mask-b-to":fe()}],"mask-image-b-from-color":[{"mask-b-from":z()}],"mask-image-b-to-color":[{"mask-b-to":z()}],"mask-image-l-from-pos":[{"mask-l-from":fe()}],"mask-image-l-to-pos":[{"mask-l-to":fe()}],"mask-image-l-from-color":[{"mask-l-from":z()}],"mask-image-l-to-color":[{"mask-l-to":z()}],"mask-image-x-from-pos":[{"mask-x-from":fe()}],"mask-image-x-to-pos":[{"mask-x-to":fe()}],"mask-image-x-from-color":[{"mask-x-from":z()}],"mask-image-x-to-color":[{"mask-x-to":z()}],"mask-image-y-from-pos":[{"mask-y-from":fe()}],"mask-image-y-to-pos":[{"mask-y-to":fe()}],"mask-image-y-from-color":[{"mask-y-from":z()}],"mask-image-y-to-color":[{"mask-y-to":z()}],"mask-image-radial":[{"mask-radial":[X,B]}],"mask-image-radial-from-pos":[{"mask-radial-from":fe()}],"mask-image-radial-to-pos":[{"mask-radial-to":fe()}],"mask-image-radial-from-color":[{"mask-radial-from":z()}],"mask-image-radial-to-color":[{"mask-radial-to":z()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[F]}],"mask-image-conic-from-pos":[{"mask-conic-from":fe()}],"mask-image-conic-to-pos":[{"mask-conic-to":fe()}],"mask-image-conic-from-color":[{"mask-conic-from":z()}],"mask-image-conic-to-color":[{"mask-conic-to":z()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:J()}],"mask-repeat":[{mask:V()}],"mask-size":[{mask:se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",X,B]}],filter:[{filter:["","none",X,B]}],blur:[{blur:de()}],brightness:[{brightness:[F,X,B]}],contrast:[{contrast:[F,X,B]}],"drop-shadow":[{"drop-shadow":["","none",p,oe,Y]}],"drop-shadow-color":[{"drop-shadow":z()}],grayscale:[{grayscale:["",F,X,B]}],"hue-rotate":[{"hue-rotate":[F,X,B]}],invert:[{invert:["",F,X,B]}],saturate:[{saturate:[F,X,B]}],sepia:[{sepia:["",F,X,B]}],"backdrop-filter":[{"backdrop-filter":["","none",X,B]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[F,X,B]}],"backdrop-contrast":[{"backdrop-contrast":[F,X,B]}],"backdrop-grayscale":[{"backdrop-grayscale":["",F,X,B]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[F,X,B]}],"backdrop-invert":[{"backdrop-invert":["",F,X,B]}],"backdrop-opacity":[{"backdrop-opacity":[F,X,B]}],"backdrop-saturate":[{"backdrop-saturate":[F,X,B]}],"backdrop-sepia":[{"backdrop-sepia":["",F,X,B]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",X,B]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[F,"initial",X,B]}],ease:[{ease:["linear","initial",v,X,B]}],delay:[{delay:[F,X,B]}],animate:[{animate:["none",b,X,B]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,X,B]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":["scale-3d"],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[X,B,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":["translate-none"],accent:[{accent:z()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:z()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",X,B]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",X,B]}],fill:[{fill:["none",...z()]}],"stroke-w":[{stroke:[F,Q,G,W]}],stroke:[{stroke:["none",...z()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}}),me=S(he)},201:function(e,t,n){n.d(t,{PO:function(){return ce},p7:function(){return ot},tv:function(){return it},yj:function(){return lt}});var r=n(252),o=n(262); /*! - * vue-router v4.0.16 - * (c) 2022 Eduardo San Martin Morote + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote * @license MIT */ -const i="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,s=e=>i?Symbol(e):"_vr_"+e,c=s("rvlm"),u=s("rvd"),l=s("r"),a=s("rl"),f=s("rvl"),p="undefined"!==typeof window;function d(e){return e.__esModule||i&&"Module"===e[Symbol.toStringTag]}const h=Object.assign;function v(e,t){const n={};for(const r in t){const o=t[r];n[r]=Array.isArray(o)?o.map(e):e(o)}return n}const g=()=>{};const m=/\/$/,y=e=>e.replace(m,"");function b(e,t,n="/"){let r,o={},i="",s="";const c=t.indexOf("?"),u=t.indexOf("#",c>-1?c:0);return c>-1&&(r=t.slice(0,c),i=t.slice(c+1,u>-1?u:t.length),o=e(i)),u>-1&&(r=r||t.slice(0,u),s=t.slice(u,t.length)),r=E(null!=r?r:t,n),{fullPath:r+(i&&"?")+i+s,path:r,query:o,hash:s}}function _(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function x(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function w(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&k(t.matched[r],n.matched[o])&&S(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function k(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function S(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!C(e[n],t[n]))return!1;return!0}function C(e,t){return Array.isArray(e)?O(e,t):Array.isArray(t)?O(t,e):e===t}function O(e,t){return Array.isArray(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function E(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o,i,s=n.length-1;for(o=0;o({left:window.pageXOffset,top:window.pageYOffset});function M(e){let t;if("el"in e){const n=e.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=j(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.pageXOffset,null!=t.top?t.top:window.pageYOffset)}function L(e,t){const n=history.state?history.state.position-t:-1;return n+e}const $=new Map;function U(e,t){$.set(e,t)}function N(e){const t=$.get(e);return $.delete(e),t}let D=()=>location.protocol+"//"+location.host;function J(e,t){const{pathname:n,search:r,hash:o}=t,i=e.indexOf("#");if(i>-1){let t=o.includes(e.slice(i))?e.slice(i).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),x(n,"")}const s=x(n,e);return s+r+o}function B(e,t,n,r){let o=[],i=[],s=null;const c=({state:i})=>{const c=J(e,location),u=n.value,l=t.value;let a=0;if(i){if(n.value=c,t.value=i,s&&s===u)return void(s=null);a=l?i.position-l.position:0}else r(c);o.forEach((e=>{e(n.value,u,{delta:a,type:A.pop,direction:a?a>0?R.forward:R.back:R.unknown})}))};function u(){s=n.value}function l(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return i.push(t),t}function a(){const{history:e}=window;e.state&&e.replaceState(h({},e.state,{scroll:F()}),"")}function f(){for(const e of i)e();i=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",a)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",a),{pauseListeners:u,listen:l,destroy:f}}function V(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?F():null}}function G(e){const{history:t,location:n}=window,r={value:J(e,n)},o={value:t.state};function i(r,i,s){const c=e.indexOf("#"),u=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+r:D()+e+r;try{t[s?"replaceState":"pushState"](i,"",u),o.value=i}catch(l){console.error(l),n[s?"replace":"assign"](u)}}function s(e,n){const s=h({},t.state,V(o.value.back,e,o.value.forward,!0),n,{position:o.value.position});i(e,s,!0),r.value=e}function c(e,n){const s=h({},o.value,t.state,{forward:e,scroll:F()});i(s.current,s,!0);const c=h({},V(r.value,e,null),{position:s.position+1},n);i(e,c,!1),r.value=e}return o.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:c,replace:s}}function q(e){e=I(e);const t=G(e),n=B(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}const o=h({location:"",base:e,go:r,createHref:T.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function z(e){return"string"===typeof e||e&&"object"===typeof e}function H(e){return"string"===typeof e||"symbol"===typeof e}const W={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},K=s("nf");var Z;(function(e){e[e["aborted"]=4]="aborted",e[e["cancelled"]=8]="cancelled",e[e["duplicated"]=16]="duplicated"})(Z||(Z={}));function X(e,t){return h(new Error,{type:e,[K]:!0},t)}function Y(e,t){return e instanceof Error&&K in e&&(null==t||!!(e.type&t))}const Q="[^/]+?",ee={sensitive:!1,strict:!1,start:!0,end:!0},te=/[.+*?^${}()[\]/\\]/g;function ne(e,t){const n=h({},ee,t),r=[];let o=n.start?"^":"";const i=[];for(const a of e){const e=a.length?[]:[90];n.strict&&!a.length&&(o+="/");for(let t=0;t1&&(n.endsWith("/")?n=n.slice(0,-1):r=!0)}n+=a}}return n}return{re:s,score:r,keys:i,parse:c,stringify:u}}function re(e,t){let n=0;while(nt.length?1===t.length&&80===t[0]?1:-1:0}function oe(e,t){let n=0;const r=e.score,o=t.score;while(n0&&t[t.length-1]<0}const se={type:0,value:""},ce=/[a-zA-Z0-9_]/;function ue(e){if(!e)return[[]];if("/"===e)return[[se]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n;const o=[];let i;function s(){i&&o.push(i),i=[]}let c,u=0,l="",a="";function f(){l&&(0===n?i.push({type:0,value:l}):1===n||2===n||3===n?(i.length>1&&("*"===c||"+"===c)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:l,regexp:a,repeatable:"*"===c||"+"===c,optional:"*"===c||"?"===c})):t("Invalid state to consume buffer"),l="")}function p(){l+=c}while(u{s(p)}:g}function s(e){if(H(e)){const t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(s),t.alias.forEach(s))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(s),e.alias.forEach(s))}}function c(){return n}function u(e){let t=0;while(t=0&&(e.record.path!==n[t].record.path||!me(e,n[t])))t++;n.splice(t,0,e),e.record.name&&!he(e)&&r.set(e.record.name,e)}function l(e,t){let o,i,s,c={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw X(1,{location:e});s=o.record.name,c=h(fe(t.params,o.keys.filter((e=>!e.optional)).map((e=>e.name))),e.params),i=o.stringify(c)}else if("path"in e)i=e.path,o=n.find((e=>e.re.test(i))),o&&(c=o.parse(i),s=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw X(1,{location:e,currentLocation:t});s=o.record.name,c=h({},t.params,e.params),i=o.stringify(c)}const u=[];let l=o;while(l)u.unshift(l.record),l=l.parent;return{name:s,path:i,params:c,matched:u,meta:ve(u)}}return t=ge({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>i(e))),{addRoute:i,resolve:l,removeRoute:s,getRoutes:c,getRecordMatcher:o}}function fe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function pe(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:de(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||{}:{default:e.component}}}function de(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="boolean"===typeof n?n:n[r];return t}function he(e){while(e){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ve(e){return e.reduce(((e,t)=>h(e,t.meta)),{})}function ge(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function me(e,t){return t.children.some((t=>t===e||me(e,t)))}const ye=/#/g,be=/&/g,_e=/\//g,xe=/=/g,we=/\?/g,ke=/\+/g,Se=/%5B/g,Ce=/%5D/g,Oe=/%5E/g,Ee=/%60/g,Ae=/%7B/g,Re=/%7C/g,Ie=/%7D/g,Pe=/%20/g;function Te(e){return encodeURI(""+e).replace(Re,"|").replace(Se,"[").replace(Ce,"]")}function je(e){return Te(e).replace(Ae,"{").replace(Ie,"}").replace(Oe,"^")}function Fe(e){return Te(e).replace(ke,"%2B").replace(Pe,"+").replace(ye,"%23").replace(be,"%26").replace(Ee,"`").replace(Ae,"{").replace(Ie,"}").replace(Oe,"^")}function Me(e){return Fe(e).replace(xe,"%3D")}function Le(e){return Te(e).replace(ye,"%23").replace(we,"%3F")}function $e(e){return null==e?"":Le(e).replace(_e,"%2F")}function Ue(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}function Ne(e){const t={};if(""===e||"?"===e)return t;const n="?"===e[0],r=(n?e.slice(1):e).split("&");for(let o=0;oe&&Fe(e))):[r&&Fe(r)];o.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Je(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=Array.isArray(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}function Be(){let e=[];function t(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function Ve(e,t,n,r,o){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((s,c)=>{const u=e=>{!1===e?c(X(4,{from:n,to:t})):e instanceof Error?c(e):z(e)?c(X(2,{from:t,to:e})):(i&&r.enterCallbacks[o]===i&&"function"===typeof e&&i.push(e),s())},l=e.call(r&&r.instances[o],t,n,u);let a=Promise.resolve(l);e.length<3&&(a=a.then(u)),a.catch((e=>c(e)))}))}function Ge(e,t,n,r){const o=[];for(const i of e)for(const e in i.components){let s=i.components[e];if("beforeRouteEnter"===t||i.instances[e])if(qe(s)){const c=s.__vccOpts||s,u=c[t];u&&o.push(Ve(u,n,r,i,e))}else{let c=s();0,o.push((()=>c.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${e}" at "${i.path}"`));const s=d(o)?o.default:o;i.components[e]=s;const c=s.__vccOpts||s,u=c[t];return u&&Ve(u,n,r,i,e)()}))))}}return o}function qe(e){return"object"===typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function ze(e){const t=(0,r.f3)(l),n=(0,r.f3)(a),i=(0,r.Fl)((()=>t.resolve((0,o.SU)(e.to)))),s=(0,r.Fl)((()=>{const{matched:e}=i.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const s=o.findIndex(k.bind(null,r));if(s>-1)return s;const c=Xe(e[t-2]);return t>1&&Xe(r)===c&&o[o.length-1].path!==c?o.findIndex(k.bind(null,e[t-2])):s})),c=(0,r.Fl)((()=>s.value>-1&&Ze(n.params,i.value.params))),u=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&S(n.params,i.value.params)));function f(n={}){return Ke(n)?t[(0,o.SU)(e.replace)?"replace":"push"]((0,o.SU)(e.to)).catch(g):Promise.resolve()}return{route:i,href:(0,r.Fl)((()=>i.value.href)),isActive:c,isExactActive:u,navigate:f}}const He=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ze,setup(e,{slots:t}){const n=(0,o.qj)(ze(e)),{options:i}=(0,r.f3)(l),s=(0,r.Fl)((()=>({[Ye(e.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[Ye(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&t.default(n);return e.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),We=He;function Ke(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(void 0===e.button||0===e.button)){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 Ze(e,t){for(const n in t){const r=t[n],o=e[n];if("string"===typeof r){if(r!==o)return!1}else if(!Array.isArray(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}function Xe(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ye=(e,t,n)=>null!=e?e:null!=t?t:n,Qe=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const i=(0,r.f3)(f),s=(0,r.Fl)((()=>e.route||i.value)),l=(0,r.f3)(u,0),a=(0,r.Fl)((()=>s.value.matched[l]));(0,r.JJ)(u,l+1),(0,r.JJ)(c,a),(0,r.JJ)(f,s);const p=(0,o.iH)();return(0,r.YP)((()=>[p.value,a.value,e.name]),(([e,t,n],[r,o,i])=>{t&&(t.instances[n]=e,o&&o!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=o.leaveGuards),t.updateGuards.size||(t.updateGuards=o.updateGuards))),!e||!t||o&&k(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=s.value,i=a.value,c=i&&i.components[e.name],u=e.name;if(!c)return et(n.default,{Component:c,route:o});const l=i.props[e.name],f=l?!0===l?o.params:"function"===typeof l?l(o):l:null,d=e=>{e.component.isUnmounted&&(i.instances[u]=null)},v=(0,r.h)(c,h({},f,t,{onVnodeUnmounted:d,ref:p}));return et(n.default,{Component:v,route:o})||v}}});function et(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const tt=Qe;function nt(e){const t=ae(e.routes,e),n=e.parseQuery||Ne,i=e.stringifyQuery||De,s=e.history;const c=Be(),u=Be(),d=Be(),m=(0,o.XI)(W);let y=W;p&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const x=v.bind(null,(e=>""+e)),k=v.bind(null,$e),S=v.bind(null,Ue);function C(e,n){let r,o;return H(e)?(r=t.getRecordMatcher(e),o=n):o=e,t.addRoute(o,r)}function O(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function E(){return t.getRoutes().map((e=>e.record))}function R(e){return!!t.getRecordMatcher(e)}function I(e,r){if(r=h({},r||m.value),"string"===typeof e){const o=b(n,e,r.path),i=t.resolve({path:o.path},r),c=s.createHref(o.fullPath);return h(o,i,{params:S(i.params),hash:Ue(o.hash),redirectedFrom:void 0,href:c})}let o;if("path"in e)o=h({},e,{path:b(n,e.path,r.path).path});else{const t=h({},e.params);for(const e in t)null==t[e]&&delete t[e];o=h({},e,{params:k(e.params)}),r.params=k(r.params)}const c=t.resolve(o,r),u=e.hash||"";c.params=x(S(c.params));const l=_(i,h({},e,{hash:je(u),path:c.path})),a=s.createHref(l);return h({fullPath:l,hash:u,query:i===De?Je(e.query):e.query||{}},c,{redirectedFrom:void 0,href:a})}function P(e){return"string"===typeof e?b(n,e,m.value.path):h({},e)}function T(e,t){if(y!==e)return X(8,{from:t,to:e})}function j(e){return J(e)}function $(e){return j(h(P(e),{replace:!0}))}function D(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let r="function"===typeof n?n(e):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=P(r):{path:r},r.params={}),h({query:e.query,hash:e.hash,params:e.params},r)}}function J(e,t){const n=y=I(e),r=m.value,o=e.state,s=e.force,c=!0===e.replace,u=D(n);if(u)return J(h(P(u),{state:o,force:s,replace:c}),t||n);const l=n;let a;return l.redirectedFrom=t,!s&&w(i,r,n)&&(a=X(16,{to:l,from:r}),oe(r,r,!0,!1)),(a?Promise.resolve(a):V(l,r)).catch((e=>Y(e)?Y(e,2)?e:re(e):te(e,l,r))).then((e=>{if(e){if(Y(e,2))return J(h(P(e.to),{state:o,force:s,replace:c}),t||l)}else e=q(l,r,!0,c,o);return G(l,r,e),e}))}function B(e,t){const n=T(e,t);return n?Promise.reject(n):Promise.resolve()}function V(e,t){let n;const[r,o,i]=ot(e,t);n=Ge(r.reverse(),"beforeRouteLeave",e,t);for(const c of r)c.leaveGuards.forEach((r=>{n.push(Ve(r,e,t))}));const s=B.bind(null,e,t);return n.push(s),rt(n).then((()=>{n=[];for(const r of c.list())n.push(Ve(r,e,t));return n.push(s),rt(n)})).then((()=>{n=Ge(o,"beforeRouteUpdate",e,t);for(const r of o)r.updateGuards.forEach((r=>{n.push(Ve(r,e,t))}));return n.push(s),rt(n)})).then((()=>{n=[];for(const r of e.matched)if(r.beforeEnter&&!t.matched.includes(r))if(Array.isArray(r.beforeEnter))for(const o of r.beforeEnter)n.push(Ve(o,e,t));else n.push(Ve(r.beforeEnter,e,t));return n.push(s),rt(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Ge(i,"beforeRouteEnter",e,t),n.push(s),rt(n)))).then((()=>{n=[];for(const r of u.list())n.push(Ve(r,e,t));return n.push(s),rt(n)})).catch((e=>Y(e,8)?e:Promise.reject(e)))}function G(e,t,n){for(const r of d.list())r(e,t,n)}function q(e,t,n,r,o){const i=T(e,t);if(i)return i;const c=t===W,u=p?history.state:{};n&&(r||c?s.replace(e.fullPath,h({scroll:c&&u&&u.scroll},o)):s.push(e.fullPath,o)),m.value=e,oe(e,t,n,c),re()}let z;function K(){z||(z=s.listen(((e,t,n)=>{const r=I(e),o=D(r);if(o)return void J(h(o,{replace:!0}),r).catch(g);y=r;const i=m.value;p&&U(L(i.fullPath,n.delta),F()),V(r,i).catch((e=>Y(e,12)?e:Y(e,2)?(J(e.to,r).then((e=>{Y(e,20)&&!n.delta&&n.type===A.pop&&s.go(-1,!1)})).catch(g),Promise.reject()):(n.delta&&s.go(-n.delta,!1),te(e,r,i)))).then((e=>{e=e||q(r,i,!1),e&&(n.delta?s.go(-n.delta,!1):n.type===A.pop&&Y(e,20)&&s.go(-1,!1)),G(r,i,e)})).catch(g)})))}let Z,Q=Be(),ee=Be();function te(e,t,n){re(e);const r=ee.list();return r.length?r.forEach((r=>r(e,t,n))):console.error(e),Promise.reject(e)}function ne(){return Z&&m.value!==W?Promise.resolve():new Promise(((e,t)=>{Q.add([e,t])}))}function re(e){return Z||(Z=!e,K(),Q.list().forEach((([t,n])=>e?n(e):t())),Q.reset()),e}function oe(t,n,o,i){const{scrollBehavior:s}=e;if(!p||!s)return Promise.resolve();const c=!o&&N(L(t.fullPath,0))||(i||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(t,n,c))).then((e=>e&&M(e))).catch((e=>te(e,t,n)))}const ie=e=>s.go(e);let se;const ce=new Set,ue={currentRoute:m,addRoute:C,removeRoute:O,hasRoute:R,getRoutes:E,resolve:I,options:e,push:j,replace:$,go:ie,back:()=>ie(-1),forward:()=>ie(1),beforeEach:c.add,beforeResolve:u.add,afterEach:d.add,onError:ee.add,isReady:ne,install(e){const t=this;e.component("RouterLink",We),e.component("RouterView",tt),e.config.globalProperties.$router=t,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(m)}),p&&!se&&m.value===W&&(se=!0,j(s.location).catch((e=>{0})));const n={};for(const o in W)n[o]=(0,r.Fl)((()=>m.value[o]));e.provide(l,t),e.provide(a,(0,o.qj)(n)),e.provide(f,m);const i=e.unmount;ce.add(e),e.unmount=function(){ce.delete(e),ce.size<1&&(y=W,z&&z(),z=null,m.value=W,se=!1,Z=!1),i()}}};return ue}function rt(e){return e.reduce(((e,t)=>e.then((()=>t()))),Promise.resolve())}function ot(e,t){const n=[],r=[],o=[],i=Math.max(t.matched.length,e.matched.length);for(let s=0;sk(e,i)))?r.push(i):n.push(i));const c=e.matched[s];c&&(t.matched.find((e=>k(e,c)))||o.push(c))}return[n,r,o]}},9505:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-11.25a.75.75 0 00-1.5 0v4.59L7.3 9.24a.75.75 0 00-1.1 1.02l3.25 3.5a.75.75 0 001.1 0l3.25-3.5a.75.75 0 10-1.1-1.02l-1.95 2.1V6.75z","clip-rule":"evenodd"})])}},7163:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm-.75-4.75a.75.75 0 001.5 0V8.66l1.95 2.1a.75.75 0 101.1-1.02l-3.25-3.5a.75.75 0 00-1.1 0L6.2 9.74a.75.75 0 101.1 1.02l1.95-2.1v4.59z","clip-rule":"evenodd"})])}},1818:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"})])}},6758:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M7.455 2.004a.75.75 0 01.26.77 7 7 0 009.958 7.967.75.75 0 011.067.853A8.5 8.5 0 116.647 1.921a.75.75 0 01.808.083z","clip-rule":"evenodd"})])}},8585:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M2 10a8 8 0 1116 0 8 8 0 01-16 0zm6.39-2.908a.75.75 0 01.766.027l3.5 2.25a.75.75 0 010 1.262l-3.5 2.25A.75.75 0 018 12.25v-4.5a.75.75 0 01.39-.658z","clip-rule":"evenodd"})])}},4913:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{d:"M10 2a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 0110 2zM10 15a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 0110 15zM10 7a3 3 0 100 6 3 3 0 000-6zM15.657 5.404a.75.75 0 10-1.06-1.06l-1.061 1.06a.75.75 0 001.06 1.06l1.06-1.06zM6.464 14.596a.75.75 0 10-1.06-1.06l-1.06 1.06a.75.75 0 001.06 1.06l1.06-1.06zM18 10a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0118 10zM5 10a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 015 10zM14.596 15.657a.75.75 0 001.06-1.06l-1.06-1.061a.75.75 0 10-1.06 1.06l1.06 1.06zM5.404 6.464a.75.75 0 001.06-1.06l-1.06-1.06a.75.75 0 10-1.061 1.06l1.06 1.06z"})])}},7886:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(6252);function o(e,t){return(0,r.wg)(),(0,r.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[(0,r._)("path",{"fill-rule":"evenodd",d:"M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z","clip-rule":"evenodd"})])}}}]); \ No newline at end of file +const s="undefined"!==typeof document;function i(e){return"object"===typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function l(e){return e.__esModule||"Module"===e[Symbol.toStringTag]||e.default&&i(e.default)}const c=Object.assign;function a(e,t){const n={};for(const r in t){const o=t[r];n[r]=f(o)?o.map(e):e(o)}return n}const u=()=>{},f=Array.isArray;const d=/#/g,p=/&/g,h=/\//g,m=/=/g,g=/\?/g,v=/\+/g,b=/%5B/g,y=/%5D/g,k=/%5E/g,w=/%60/g,x=/%7B/g,_=/%7C/g,S=/%7D/g,C=/%20/g;function E(e){return encodeURI(""+e).replace(_,"|").replace(b,"[").replace(y,"]")}function O(e){return E(e).replace(x,"{").replace(S,"}").replace(k,"^")}function R(e){return E(e).replace(v,"%2B").replace(C,"+").replace(d,"%23").replace(p,"%26").replace(w,"`").replace(x,"{").replace(S,"}").replace(k,"^")}function j(e){return R(e).replace(m,"%3D")}function M(e){return E(e).replace(d,"%23").replace(g,"%3F")}function A(e){return null==e?"":M(e).replace(h,"%2F")}function I(e){try{return decodeURIComponent(""+e)}catch(t){}return""+e}const T=/\/$/,P=e=>e.replace(T,"");function F(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return l=0&&(c=-1),c>-1&&(r=t.slice(0,c),s=t.slice(c+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=V(null!=r?r:t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:I(i)}}function D(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function N(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function $(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&L(t.matched[r],n.matched[o])&&U(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function L(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function U(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!z(e[n],t[n]))return!1;return!0}function z(e,t){return f(e)?J(e,t):f(t)?J(t,e):e===t}function J(e,t){return f(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}function V(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];".."!==o&&"."!==o||r.push("");let s,i,l=n.length-1;for(s=0;s1&&l--}return n.slice(0,l).join("/")+"/"+r.slice(s).join("/")}const Z={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var H,B;(function(e){e["pop"]="pop",e["push"]="push"})(H||(H={})),function(e){e["back"]="back",e["forward"]="forward",e["unknown"]=""}(B||(B={}));function G(e){if(!e)if(s){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),P(e)}const W=/^[^#]+#/;function q(e,t){return e.replace(W,"#")+t}function K(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 Y=()=>({left:window.scrollX,top:window.scrollY});function X(e){let t;if("el"in e){const n=e.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=K(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function Q(e,t){const n=history.state?history.state.position-t:-1;return n+e}const ee=new Map;function te(e,t){ee.set(e,t)}function ne(e){const t=ee.get(e);return ee.delete(e),t}let re=()=>location.protocol+"//"+location.host;function oe(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let t=o.includes(e.slice(s))?e.slice(s).length:1,n=o.slice(t);return"/"!==n[0]&&(n="/"+n),N(n,"")}const i=N(n,e);return i+r+o}function se(e,t,n,r){let o=[],s=[],i=null;const l=({state:s})=>{const l=oe(e,location),c=n.value,a=t.value;let u=0;if(s){if(n.value=l,t.value=s,i&&i===c)return void(i=null);u=a?s.position-a.position:0}else r(l);o.forEach((e=>{e(n.value,c,{delta:u,type:H.pop,direction:u?u>0?B.forward:B.back:B.unknown})}))};function a(){i=n.value}function u(e){o.push(e);const t=()=>{const t=o.indexOf(e);t>-1&&o.splice(t,1)};return s.push(t),t}function f(){const{history:e}=window;e.state&&e.replaceState(c({},e.state,{scroll:Y()}),"")}function d(){for(const e of s)e();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:u,destroy:d}}function ie(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Y():null}}function le(e){const{history:t,location:n}=window,r={value:oe(e,n)},o={value:t.state};function s(r,s,i){const l=e.indexOf("#"),c=l>-1?(n.host&&document.querySelector("base")?e:e.slice(l))+r:re()+e+r;try{t[i?"replaceState":"pushState"](s,"",c),o.value=s}catch(a){console.error(a),n[i?"replace":"assign"](c)}}function i(e,n){const i=c({},t.state,ie(o.value.back,e,o.value.forward,!0),n,{position:o.value.position});s(e,i,!0),r.value=e}function l(e,n){const i=c({},o.value,t.state,{forward:e,scroll:Y()});s(i.current,i,!0);const l=c({},ie(r.value,e,null),{position:i.position+1},n);s(e,l,!1),r.value=e}return o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:l,replace:i}}function ce(e){e=G(e);const t=le(e),n=se(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}const o=c({location:"",base:e,go:r,createHref:q.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ae(e){return"string"===typeof e||e&&"object"===typeof e}function ue(e){return"string"===typeof e||"symbol"===typeof e}const fe=Symbol("");var de;(function(e){e[e["aborted"]=4]="aborted",e[e["cancelled"]=8]="cancelled",e[e["duplicated"]=16]="duplicated"})(de||(de={}));function pe(e,t){return c(new Error,{type:e,[fe]:!0},t)}function he(e,t){return e instanceof Error&&fe in e&&(null==t||!!(e.type&t))}const me="[^/]+?",ge={sensitive:!1,strict:!1,start:!0,end:!0},ve=/[.+*?^${}()[\]/\\]/g;function be(e,t){const n=c({},ge,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const e=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let t=0;tt.length?1===t.length&&80===t[0]?1:-1:0}function ke(e,t){let n=0;const r=e.score,o=t.score;while(n0&&t[t.length-1]<0}const xe={type:0,value:""},_e=/[a-zA-Z0-9_]/;function Se(e){if(!e)return[[]];if("/"===e)return[[xe]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(e){throw new Error(`ERR (${n})/"${a}": ${e}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l,c=0,a="",u="";function f(){a&&(0===n?s.push({type:0,value:a}):1===n||2===n||3===n?(s.length>1&&("*"===l||"+"===l)&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:a,regexp:u,repeatable:"*"===l||"+"===l,optional:"*"===l||"?"===l})):t("Invalid state to consume buffer"),a="")}function d(){a+=l}while(c{i(h)}:u}function i(e){if(ue(e)){const t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(i),t.alias.forEach(i))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(i),e.alias.forEach(i))}}function l(){return n}function a(e){const t=Te(e,n);n.splice(t,0,e),e.record.name&&!Me(e)&&r.set(e.record.name,e)}function f(e,t){let o,s,i,l={};if("name"in e&&e.name){if(o=r.get(e.name),!o)throw pe(1,{location:e});0,i=o.record.name,l=c(Oe(t.params,o.keys.filter((e=>!e.optional)).concat(o.parent?o.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&Oe(e.params,o.keys.map((e=>e.name)))),s=o.stringify(l)}else if(null!=e.path)s=e.path,o=n.find((e=>e.re.test(s))),o&&(l=o.parse(s),i=o.record.name);else{if(o=t.name?r.get(t.name):n.find((e=>e.re.test(t.path))),!o)throw pe(1,{location:e,currentLocation:t});i=o.record.name,l=c({},t.params,e.params),s=o.stringify(l)}const a=[];let u=o;while(u)a.unshift(u.record),u=u.parent;return{name:i,path:s,params:l,matched:a,meta:Ae(a)}}function d(){n.length=0,r.clear()}return t=Ie({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>s(e))),{addRoute:s,resolve:f,removeRoute:i,clearRoutes:d,getRoutes:l,getRecordMatcher:o}}function Oe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Re(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:je(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 je(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]="object"===typeof n?n[r]:n;return t}function Me(e){while(e){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ae(e){return e.reduce(((e,t)=>c(e,t.meta)),{})}function Ie(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Te(e,t){let n=0,r=t.length;while(n!==r){const o=n+r>>1,s=ke(e,t[o]);s<0?r=o:n=o+1}const o=Pe(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function Pe(e){let t=e;while(t=t.parent)if(Fe(t)&&0===ke(e,t))return t}function Fe({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function De(e){const t={};if(""===e||"?"===e)return t;const n="?"===e[0],r=(n?e.slice(1):e).split("&");for(let o=0;oe&&R(e))):[r&&R(r)];o.forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function $e(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=f(r)?r.map((e=>null==e?null:""+e)):null==r?r:""+r)}return t}const Le=Symbol(""),Ue=Symbol(""),ze=Symbol(""),Je=Symbol(""),Ve=Symbol("");function Ze(){let e=[];function t(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function He(e,t,n,r,o,s=(e=>e())){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((l,c)=>{const a=e=>{!1===e?c(pe(4,{from:n,to:t})):e instanceof Error?c(e):ae(e)?c(pe(2,{from:t,to:e})):(i&&r.enterCallbacks[o]===i&&"function"===typeof e&&i.push(e),l())},u=s((()=>e.call(r&&r.instances[o],t,n,a)));let f=Promise.resolve(u);e.length<3&&(f=f.then(a)),f.catch((e=>c(e)))}))}function Be(e,t,n,r,o=(e=>e())){const s=[];for(const c of e){0;for(const e in c.components){let a=c.components[e];if("beforeRouteEnter"===t||c.instances[e])if(i(a)){const i=a.__vccOpts||a,l=i[t];l&&s.push(He(l,n,r,c,e,o))}else{let i=a();0,s.push((()=>i.then((s=>{if(!s)throw new Error(`Couldn't resolve component "${e}" at "${c.path}"`);const i=l(s)?s.default:s;c.mods[e]=s,c.components[e]=i;const a=i.__vccOpts||i,u=a[t];return u&&He(u,n,r,c,e,o)()}))))}}}return s}function Ge(e){const t=(0,r.f3)(ze),n=(0,r.f3)(Je);const s=(0,r.Fl)((()=>{const n=(0,o.SU)(e.to);return t.resolve(n)})),i=(0,r.Fl)((()=>{const{matched:e}=s.value,{length:t}=e,r=e[t-1],o=n.matched;if(!r||!o.length)return-1;const i=o.findIndex(L.bind(null,r));if(i>-1)return i;const l=Qe(e[t-2]);return t>1&&Qe(r)===l&&o[o.length-1].path!==l?o.findIndex(L.bind(null,e[t-2])):i})),l=(0,r.Fl)((()=>i.value>-1&&Xe(n.params,s.value.params))),c=(0,r.Fl)((()=>i.value>-1&&i.value===n.matched.length-1&&U(n.params,s.value.params)));function a(n={}){if(Ye(n)){const n=t[(0,o.SU)(e.replace)?"replace":"push"]((0,o.SU)(e.to)).catch(u);return e.viewTransition&&"undefined"!==typeof document&&"startViewTransition"in document&&document.startViewTransition((()=>n)),n}return Promise.resolve()}return{route:s,href:(0,r.Fl)((()=>s.value.href)),isActive:l,isExactActive:c,navigate:a}}function We(e){return 1===e.length?e[0]:e}const qe=(0,r.aZ)({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:Ge,setup(e,{slots:t}){const n=(0,o.qj)(Ge(e)),{options:s}=(0,r.f3)(ze),i=(0,r.Fl)((()=>({[et(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[et(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=t.default&&We(t.default(n));return e.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),Ke=qe;function Ye(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(void 0===e.button||0===e.button)){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 Xe(e,t){for(const n in t){const r=t[n],o=e[n];if("string"===typeof r){if(r!==o)return!1}else if(!f(o)||o.length!==r.length||r.some(((e,t)=>e!==o[t])))return!1}return!0}function Qe(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const et=(e,t,n)=>null!=e?e:null!=t?t:n,tt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=(0,r.f3)(Ve),i=(0,r.Fl)((()=>e.route||s.value)),l=(0,r.f3)(Ue,0),a=(0,r.Fl)((()=>{let e=(0,o.SU)(l);const{matched:t}=i.value;let n;while((n=t[e])&&!n.components)e++;return e})),u=(0,r.Fl)((()=>i.value.matched[a.value]));(0,r.JJ)(Ue,(0,r.Fl)((()=>a.value+1))),(0,r.JJ)(Le,u),(0,r.JJ)(Ve,i);const f=(0,o.iH)();return(0,r.YP)((()=>[f.value,u.value,e.name]),(([e,t,n],[r,o,s])=>{t&&(t.instances[n]=e,o&&o!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=o.leaveGuards),t.updateGuards.size||(t.updateGuards=o.updateGuards))),!e||!t||o&&L(t,o)&&r||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=i.value,s=e.name,l=u.value,a=l&&l.components[s];if(!a)return nt(n.default,{Component:a,route:o});const d=l.props[s],p=d?!0===d?o.params:"function"===typeof d?d(o):d:null,h=e=>{e.component.isUnmounted&&(l.instances[s]=null)},m=(0,r.h)(a,c({},p,t,{onVnodeUnmounted:h,ref:f}));return nt(n.default,{Component:m,route:o})||m}}});function nt(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const rt=tt;function ot(e){const t=Ee(e.routes,e),n=e.parseQuery||De,i=e.stringifyQuery||Ne,l=e.history;const d=Ze(),p=Ze(),h=Ze(),m=(0,o.XI)(Z);let g=Z;s&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const v=a.bind(null,(e=>""+e)),b=a.bind(null,A),y=a.bind(null,I);function k(e,n){let r,o;return ue(e)?(r=t.getRecordMatcher(e),o=n):o=e,t.addRoute(o,r)}function w(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function x(){return t.getRoutes().map((e=>e.record))}function _(e){return!!t.getRecordMatcher(e)}function S(e,r){if(r=c({},r||m.value),"string"===typeof e){const o=F(n,e,r.path),s=t.resolve({path:o.path},r),i=l.createHref(o.fullPath);return c(o,s,{params:y(s.params),hash:I(o.hash),redirectedFrom:void 0,href:i})}let o;if(null!=e.path)o=c({},e,{path:F(n,e.path,r.path).path});else{const t=c({},e.params);for(const e in t)null==t[e]&&delete t[e];o=c({},e,{params:b(t)}),r.params=b(r.params)}const s=t.resolve(o,r),a=e.hash||"";s.params=v(y(s.params));const u=D(i,c({},e,{hash:O(a),path:s.path})),f=l.createHref(u);return c({fullPath:u,hash:a,query:i===Ne?$e(e.query):e.query||{}},s,{redirectedFrom:void 0,href:f})}function C(e){return"string"===typeof e?F(n,e,m.value.path):c({},e)}function E(e,t){if(g!==e)return pe(8,{from:t,to:e})}function R(e){return T(e)}function j(e){return R(c(C(e),{replace:!0}))}function M(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let r="function"===typeof n?n(e):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=C(r):{path:r},r.params={}),c({query:e.query,hash:e.hash,params:null!=r.path?{}:e.params},r)}}function T(e,t){const n=g=S(e),r=m.value,o=e.state,s=e.force,l=!0===e.replace,a=M(n);if(a)return T(c(C(a),{state:"object"===typeof a?c({},o,a.state):o,force:s,replace:l}),t||n);const u=n;let f;return u.redirectedFrom=t,!s&&$(i,r,n)&&(f=pe(16,{to:u,from:r}),re(r,r,!0,!1)),(f?Promise.resolve(f):L(u,r)).catch((e=>he(e)?he(e,2)?e:ee(e):q(e,u,r))).then((e=>{if(e){if(he(e,2))return T(c({replace:l},C(e.to),{state:"object"===typeof e.to?c({},o,e.to.state):o,force:s}),t||u)}else e=z(u,r,!0,l,o);return U(u,r,e),e}))}function P(e,t){const n=E(e,t);return n?Promise.reject(n):Promise.resolve()}function N(e){const t=ie.values().next().value;return t&&"function"===typeof t.runWithContext?t.runWithContext(e):e()}function L(e,t){let n;const[r,o,s]=st(e,t);n=Be(r.reverse(),"beforeRouteLeave",e,t);for(const l of r)l.leaveGuards.forEach((r=>{n.push(He(r,e,t))}));const i=P.bind(null,e,t);return n.push(i),ce(n).then((()=>{n=[];for(const r of d.list())n.push(He(r,e,t));return n.push(i),ce(n)})).then((()=>{n=Be(o,"beforeRouteUpdate",e,t);for(const r of o)r.updateGuards.forEach((r=>{n.push(He(r,e,t))}));return n.push(i),ce(n)})).then((()=>{n=[];for(const r of s)if(r.beforeEnter)if(f(r.beforeEnter))for(const o of r.beforeEnter)n.push(He(o,e,t));else n.push(He(r.beforeEnter,e,t));return n.push(i),ce(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=Be(s,"beforeRouteEnter",e,t,N),n.push(i),ce(n)))).then((()=>{n=[];for(const r of p.list())n.push(He(r,e,t));return n.push(i),ce(n)})).catch((e=>he(e,8)?e:Promise.reject(e)))}function U(e,t,n){h.list().forEach((r=>N((()=>r(e,t,n)))))}function z(e,t,n,r,o){const i=E(e,t);if(i)return i;const a=t===Z,u=s?history.state:{};n&&(r||a?l.replace(e.fullPath,c({scroll:a&&u&&u.scroll},o)):l.push(e.fullPath,o)),m.value=e,re(e,t,n,a),ee()}let J;function V(){J||(J=l.listen(((e,t,n)=>{if(!le.listening)return;const r=S(e),o=M(r);if(o)return void T(c(o,{replace:!0,force:!0}),r).catch(u);g=r;const i=m.value;s&&te(Q(i.fullPath,n.delta),Y()),L(r,i).catch((e=>he(e,12)?e:he(e,2)?(T(c(C(e.to),{force:!0}),r).then((e=>{he(e,20)&&!n.delta&&n.type===H.pop&&l.go(-1,!1)})).catch(u),Promise.reject()):(n.delta&&l.go(-n.delta,!1),q(e,r,i)))).then((e=>{e=e||z(r,i,!1),e&&(n.delta&&!he(e,8)?l.go(-n.delta,!1):n.type===H.pop&&he(e,20)&&l.go(-1,!1)),U(r,i,e)})).catch(u)})))}let B,G=Ze(),W=Ze();function q(e,t,n){ee(e);const r=W.list();return r.length?r.forEach((r=>r(e,t,n))):console.error(e),Promise.reject(e)}function K(){return B&&m.value!==Z?Promise.resolve():new Promise(((e,t)=>{G.add([e,t])}))}function ee(e){return B||(B=!e,V(),G.list().forEach((([t,n])=>e?n(e):t())),G.reset()),e}function re(t,n,o,i){const{scrollBehavior:l}=e;if(!s||!l)return Promise.resolve();const c=!o&&ne(Q(t.fullPath,0))||(i||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>l(t,n,c))).then((e=>e&&X(e))).catch((e=>q(e,t,n)))}const oe=e=>l.go(e);let se;const ie=new Set,le={currentRoute:m,listening:!0,addRoute:k,removeRoute:w,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:x,resolve:S,options:e,push:R,replace:j,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:d.add,beforeResolve:p.add,afterEach:h.add,onError:W.add,isReady:K,install(e){const t=this;e.component("RouterLink",Ke),e.component("RouterView",rt),e.config.globalProperties.$router=t,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(m)}),s&&!se&&m.value===Z&&(se=!0,R(l.location).catch((e=>{0})));const n={};for(const o in Z)Object.defineProperty(n,o,{get:()=>m.value[o],enumerable:!0});e.provide(ze,t),e.provide(Je,(0,o.Um)(n)),e.provide(Ve,m);const r=e.unmount;ie.add(e),e.unmount=function(){ie.delete(e),ie.size<1&&(g=Z,J&&J(),J=null,m.value=Z,se=!1,B=!1),r()}}};function ce(e){return e.reduce(((e,t)=>e.then((()=>N(t)))),Promise.resolve())}return le}function st(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iL(e,s)))?r.push(s):n.push(s));const l=e.matched[i];l&&(t.matched.find((e=>L(e,l)))||o.push(l))}return[n,r,o]}function it(){return(0,r.f3)(ze)}function lt(e){return(0,r.f3)(Je)}}}]); \ No newline at end of file