diff --git a/backend/.vscode/launch.json b/.vscode/launch.json similarity index 61% rename from backend/.vscode/launch.json rename to .vscode/launch.json index 83fdd07..8209d12 100644 --- a/backend/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,9 +6,9 @@ "type": "go", "request": "launch", "mode": "debug", - "program": "${workspaceFolder}/cmd/server", - "cwd": "${workspaceFolder}", - "envFile": "${workspaceFolder}/.env", + "program": "${workspaceFolder}/backend/cmd/server", + "cwd": "${workspaceFolder}/backend", + "envFile": "${workspaceFolder}/backend/.env", "args": [] }, { @@ -17,9 +17,9 @@ "request": "launch", "mode": "debug", "noDebug": true, - "program": "${workspaceFolder}/cmd/server", - "cwd": "${workspaceFolder}", - "envFile": "${workspaceFolder}/.env", + "program": "${workspaceFolder}/backend/cmd/server", + "cwd": "${workspaceFolder}/backend", + "envFile": "${workspaceFolder}/backend/.env", "args": [] }, { @@ -29,7 +29,7 @@ "mode": "remote", "host": "127.0.0.1", "port": 2345, - "cwd": "${workspaceFolder}" + "cwd": "${workspaceFolder}/backend" } ] } diff --git a/backend/GeneratedCode/generatedTypescript.ts b/backend/GeneratedCode/generatedTypescript.ts index e104374..0156b58 100644 --- a/backend/GeneratedCode/generatedTypescript.ts +++ b/backend/GeneratedCode/generatedTypescript.ts @@ -4,7 +4,7 @@ // // This file was generated by github.com/millevolte/ts-rpc // -// Mar 15, 2026 16:33:29 UTC +// Mar 17, 2026 18:16:42 UTC // export interface ApiRestResponse { @@ -185,6 +185,30 @@ export default class Api { } } + async PUT( + url: string, + data: unknown, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const upload = url.includes("/upload/"); + const result = await this.request( + "PUT", + this.apiUrl + url, + data, + timeout, + upload, + ); + + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + async GET( url: string, timeout?: number, @@ -205,6 +229,26 @@ export default class Api { } } + async DELETE( + url: string, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const result = await this.request( + "DELETE", + this.apiUrl + url, + null, + timeout, + ); + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + async UPLOAD( url: string, data: unknown, @@ -237,62 +281,218 @@ export type Nullable = T | null; export type Record = { [P in K]: T }; // -// package controllers +// package routes // -export interface LoginRequest { - username: string; - password: string; +// Typescript: TSEndpoint= path=/users/:uuid; name=getUser; method=GET; response=models.UserProfile +// internal/http/routes/user_routes.go Line: 13 +export const getUser = async ( + uuid: string, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.GET(`/users/${uuid}`)) as { + data: UserProfile; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/maildebug; name=mailDebug; method=GET; response=routes.[]MailDebugItem +// internal/http/routes/system_routes.go Line: 48 +export const mailDebug = async (): Promise<{ + data: MailDebugItem[]; + error: Nullable; +}> => { + return (await api.GET("/maildebug")) as { + data: MailDebugItem[]; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/login; name=login; method=POST; request=controllers.LoginRequest; response=auth.TokenPair +// internal/http/routes/auth_routes.go Line: 22 + +export const login = async ( + data: LoginRequest, +): Promise<{ data: TokenPair; error: Nullable }> => { + return (await api.POST("/auth/login", data)) as { + data: TokenPair; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/register; name=register; method=POST; request=models.UserCreateInput; response=models.UserShort +// internal/http/routes/auth_routes.go Line: 31 + +export const register = async ( + data: UserCreateInput, +): Promise<{ data: UserShort; error: Nullable }> => { + return (await api.POST("/auth/register", data)) as { + data: UserShort; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/metrics; name=metrics; method=GET; response=string +// internal/http/routes/system_routes.go Line: 37 +export const metrics = async (): Promise<{ + data: string; + error: Nullable; +}> => { + return (await api.GET("/metrics")) as { + data: string; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/users/:uuid; name=updateUser; method=PUT; request=controllers.UpdateUserRequest; response=models.UserProfile +// internal/http/routes/user_routes.go Line: 19 + +export const updateUser = async ( + data: UpdateUserRequest, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.PUT("/users/:uuid", data)) as { + data: UserProfile; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/password/valid; name=validToken; method=POST; request=string; response=controllers.SimpleResponse +// internal/http/routes/auth_routes.go Line: 40 + +export const validToken = async ( + data: string, +): Promise<{ data: SimpleResponse; error: Nullable }> => { + return (await api.POST("/auth/password/valid", data)) as { + data: SimpleResponse; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/health; name=health; method=GET; response=string +// internal/http/routes/system_routes.go Line: 34 +export const health = async (): Promise<{ + data: string; + error: Nullable; +}> => { + return (await api.GET("/health")) as { + data: string; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/users/:uuid; name=deleteUser; method=DELETE; response=controllers.SimpleResponse +// internal/http/routes/user_routes.go Line: 22 + +export const deleteUser = async ( + uuid: string, +): Promise<{ data: SimpleResponse; error: Nullable }> => { + return (await api.DELETE(`/users/${uuid}`)) as { + data: SimpleResponse; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/password/reset; name=resetPassword; method=POST; request=controllers.ResetPasswordRequest; response=controllers.SimpleResponse +// internal/http/routes/auth_routes.go Line: 37 + +export const resetPassword = async ( + data: ResetPasswordRequest, +): Promise<{ data: SimpleResponse; error: Nullable }> => { + return (await api.POST("/auth/password/reset", data)) as { + data: SimpleResponse; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/users; name=createUser; method=POST; request=models.UserCreateInput; response=models.UserProfile +// internal/http/routes/user_routes.go Line: 16 + +export const createUser = async ( + data: UserCreateInput, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.POST("/users", data)) as { + data: UserProfile; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/refresh; name=refresh; method=POST; request=controllers.RefreshRequest; response=auth.TokenPair +// internal/http/routes/auth_routes.go Line: 25 + +export const refresh = async ( + data: RefreshRequest, +): Promise<{ data: TokenPair; error: Nullable }> => { + return (await api.POST("/auth/refresh", data)) as { + data: TokenPair; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/me; name=me; method=GET; response=models.UserShort +// internal/http/routes/auth_routes.go Line: 28 +export const me = async (): Promise<{ + data: UserShort; + error: Nullable; +}> => { + return (await api.GET("/auth/me")) as { + data: UserShort; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST; request=controllers.ListUsersRequest; response=models.[]UserShort +// internal/http/routes/admin_routes.go Line: 12 + +export const listUsers = async ( + data: ListUsersRequest, +): Promise<{ data: UserShort[]; error: Nullable }> => { + return (await api.POST("/admin/users", data)) as { + data: UserShort[]; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/admin/users/:uuid/block; name=blockUser; method=PUT; request=controllers.BlockUserRequest; response=models.UserShort +// internal/http/routes/admin_routes.go Line: 15 + +export const blockUser = async ( + data: BlockUserRequest, +): Promise<{ data: UserShort; error: Nullable }> => { + return (await api.PUT("/admin/users/:uuid/block", data)) as { + data: UserShort; + error: Nullable; + }; +}; + +// Typescript: TSEndpoint= path=/auth/password/forgot; name=forgotPassword; method=POST; request=controllers.ForgotPasswordRequest; response=controllers.SimpleResponse +// internal/http/routes/auth_routes.go Line: 34 + +export const forgotPassword = async ( + data: ForgotPasswordRequest, +): Promise<{ data: SimpleResponse; error: Nullable }> => { + return (await api.POST("/auth/password/forgot", data)) as { + data: SimpleResponse; + error: Nullable; + }; +}; + +export interface FormRequest { + req: string; + count: number; } -export interface RefreshRequest { - refresh_token: string; +export interface FormResponse { + test: string; } -export interface SimpleResponse { - message: string; -} - -export interface ForgotPasswordRequest { - email: string; -} - -export interface ResetPasswordRequest { - token: string; - password: string; -} - -export interface ListUsersRequest { - page: number; - pageSize: number; +export interface MailDebugItem { + name: string; + content: string; } // // package models // -export interface UserPreferencesShort { - useIdle: boolean; - idleTimeout: number; - useIdlePassword: boolean; - idlePin: string; - useDirectLogin: boolean; - useQuadcodeLogin: boolean; - sendNoticesMail: boolean; - language: string; -} - -export interface UserShort { - email: string; - name: string; - roles: UserRoles; - status: UserStatus; - uuid: string; - details: Nullable; - preferences: Nullable; - avatar: Nullable; -} - export interface UserCreateInput { name: string; email: string; @@ -316,14 +516,36 @@ export interface UserDetailsShort { phone: string; } +export interface UserShort { + email: string; + name: string; + roles: UserRoles; + status: UserStatus; + uuid: string; + details: Nullable; + preferences: Nullable; + avatar: Nullable; +} + +export interface UserPreferencesShort { + useIdle: boolean; + idleTimeout: number; + useIdlePassword: boolean; + idlePin: string; + useDirectLogin: boolean; + useQuadcodeLogin: boolean; + sendNoticesMail: boolean; + language: string; +} + +export type UsersShort = UserShort[]; + export type UserRoles = string[]; export type UserStatus = (typeof EnumUserStatus)[keyof typeof EnumUserStatus]; export type UserTypes = string[]; -export type UsersShort = UserShort[]; - export const EnumUserStatus = { UserStatusPending: "pending", UserStatusActive: "active", @@ -331,146 +553,50 @@ export const EnumUserStatus = { } as const; // -// package routes +// package controllers // -// Typescript: TSEndpoint= path=/auth/password/valid; name=validToken; method=POST; request=string; response=controllers.SimpleResponse -// internal/http/routes/auth_routes.go Line: 40 -export const validToken = async ( - data: string, -): Promise<{ data: SimpleResponse; error: Nullable }> => { - return (await api.POST("/auth/password/valid", data)) as { - data: SimpleResponse; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/maildebug; name=mailDebug; method=GET; response=routes.[]MailDebugItem -// internal/http/routes/system_routes.go Line: 48 -export const mailDebug = async (): Promise<{ - data: MailDebugItem[]; - error: Nullable; -}> => { - return (await api.GET("/maildebug")) as { - data: MailDebugItem[]; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST; request=controllers.ListUsersRequest; response=models.[]UserShort -// internal/http/routes/admin_routes.go Line: 12 -export const listUsers = async ( - data: ListUsersRequest, -): Promise<{ data: UserShort[]; error: Nullable }> => { - return (await api.POST("/admin/users", data)) as { - data: UserShort[]; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/register; name=register; method=POST; request=models.UserCreateInput; response=models.UserShort -// internal/http/routes/auth_routes.go Line: 31 -export const register = async ( - data: UserCreateInput, -): Promise<{ data: UserShort; error: Nullable }> => { - return (await api.POST("/auth/register", data)) as { - data: UserShort; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/metrics; name=metrics; method=GET; response=string -// internal/http/routes/system_routes.go Line: 37 -export const metrics = async (): Promise<{ - data: string; - error: Nullable; -}> => { - return (await api.GET("/metrics")) as { - data: string; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/login; name=login; method=POST; request=controllers.LoginRequest; response=auth.TokenPair -// internal/http/routes/auth_routes.go Line: 22 -export const login = async ( - data: LoginRequest, -): Promise<{ data: TokenPair; error: Nullable }> => { - return (await api.POST("/auth/login", data)) as { - data: TokenPair; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/refresh; name=refresh; method=POST; request=controllers.RefreshRequest; response=auth.TokenPair -// internal/http/routes/auth_routes.go Line: 25 -export const refresh = async ( - data: RefreshRequest, -): Promise<{ data: TokenPair; error: Nullable }> => { - return (await api.POST("/auth/refresh", data)) as { - data: TokenPair; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/password/forgot; name=forgotPassword; method=POST; request=controllers.ForgotPasswordRequest; response=controllers.SimpleResponse -// internal/http/routes/auth_routes.go Line: 34 -export const forgotPassword = async ( - data: ForgotPasswordRequest, -): Promise<{ data: SimpleResponse; error: Nullable }> => { - return (await api.POST("/auth/password/forgot", data)) as { - data: SimpleResponse; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/password/reset; name=resetPassword; method=POST; request=controllers.ResetPasswordRequest; response=controllers.SimpleResponse -// internal/http/routes/auth_routes.go Line: 37 -export const resetPassword = async ( - data: ResetPasswordRequest, -): Promise<{ data: SimpleResponse; error: Nullable }> => { - return (await api.POST("/auth/password/reset", data)) as { - data: SimpleResponse; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/health; name=health; method=GET; response=string -// internal/http/routes/system_routes.go Line: 34 -export const health = async (): Promise<{ - data: string; - error: Nullable; -}> => { - return (await api.GET("/health")) as { - data: string; - error: Nullable; - }; -}; - -// Typescript: TSEndpoint= path=/auth/me; name=me; method=GET; response=models.UserShort -// internal/http/routes/auth_routes.go Line: 28 -export const me = async (): Promise<{ - data: UserShort; - error: Nullable; -}> => { - return (await api.GET("/auth/me")) as { - data: UserShort; - error: Nullable; - }; -}; - -export interface FormRequest { - req: string; - count: number; +export interface ResetPasswordRequest { + token: string; + password: string; } -export interface FormResponse { - test: string; +export interface RefreshRequest { + refresh_token: string; } -export interface MailDebugItem { +export interface SimpleResponse { + message: string; +} + +export interface UpdateUserRequest { name: string; - content: string; + email: string; + password: string; + roles: models.UserRoles; + status: models.UserStatus; + types: models.UserTypes; + avatar: Nullable; + details: Nullable; + preferences: Nullable; +} + +export interface BlockUserRequest { + action: string; +} + +export interface ForgotPasswordRequest { + email: string; +} + +export interface ListUsersRequest { + page: number; + pageSize: number; +} + +export interface LoginRequest { + username: string; + password: string; } // diff --git a/backend/cmd/server/__debug_bin2398609418 b/backend/cmd/server/__debug_bin2398609418 new file mode 100755 index 0000000..7259b4d Binary files /dev/null and b/backend/cmd/server/__debug_bin2398609418 differ diff --git a/backend/data/data.db b/backend/data/data.db index 3748536..6d803aa 100644 Binary files a/backend/data/data.db and b/backend/data/data.db differ diff --git a/backend/data/mail-debug/1773775376128554000_fabio_at_prada.ch.eml b/backend/data/mail-debug/1773775376128554000_fabio_at_prada.ch.eml new file mode 100644 index 0000000..3533db7 --- /dev/null +++ b/backend/data/mail-debug/1773775376128554000_fabio_at_prada.ch.eml @@ -0,0 +1,45 @@ +MIME-Version: 1.0 +From: noreply@example.local +To: fabio@prada.ch +Subject: [Fiber Starter] Recupero password +Content-Type: multipart/alternative; boundary="mixed-1773775376128527000" + +--mixed-1773775376128527000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ciao Fabio, + +abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch. + +Token reset: +LKPZn3nsJuJYtFyxPgFGVH_XKuS9qu4nBz-di442wk4 + +Link reset: +http://localhost:9000/#reset-password?token=LKPZn3nsJuJYtFyxPgFGVH_XKuS9qu4nBz-di442wk4 + +Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email. + +--mixed-1773775376128527000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + Recupero password + + +

Recupero password

+

Ciao Fabio,

+

abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch.

+

Usa questo token per completare il reset:

+

LKPZn3nsJuJYtFyxPgFGVH_XKuS9qu4nBz-di442wk4

+

Oppure apri questo link:

+

http://localhost:9000/#reset-password?token=LKPZn3nsJuJYtFyxPgFGVH_XKuS9qu4nBz-di442wk4

+

Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email.

+ + + +--mixed-1773775376128527000-- diff --git a/backend/data/mail-debug/1773775470525250000_fabio_at_prada.ch.eml b/backend/data/mail-debug/1773775470525250000_fabio_at_prada.ch.eml new file mode 100644 index 0000000..59bcf21 --- /dev/null +++ b/backend/data/mail-debug/1773775470525250000_fabio_at_prada.ch.eml @@ -0,0 +1,45 @@ +MIME-Version: 1.0 +From: noreply@example.local +To: fabio@prada.ch +Subject: [Fiber Starter] Recupero password +Content-Type: multipart/alternative; boundary="mixed-1773775470525236000" + +--mixed-1773775470525236000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ciao Fabio, + +abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch. + +Token reset: +GDy0RQJZyF1PEQvIDIzc1Ua01K_lxevYiH_H7hL8k9U + +Link reset: +http://localhost:9000/#reset-password?token=GDy0RQJZyF1PEQvIDIzc1Ua01K_lxevYiH_H7hL8k9U + +Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email. + +--mixed-1773775470525236000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + Recupero password + + +

Recupero password

+

Ciao Fabio,

+

abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch.

+

Usa questo token per completare il reset:

+

GDy0RQJZyF1PEQvIDIzc1Ua01K_lxevYiH_H7hL8k9U

+

Oppure apri questo link:

+

http://localhost:9000/#reset-password?token=GDy0RQJZyF1PEQvIDIzc1Ua01K_lxevYiH_H7hL8k9U

+

Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email.

+ + + +--mixed-1773775470525236000-- diff --git a/backend/data/mail-debug/1773775492932494000_fabio_at_prada.ch.eml b/backend/data/mail-debug/1773775492932494000_fabio_at_prada.ch.eml new file mode 100644 index 0000000..4ec4ca3 --- /dev/null +++ b/backend/data/mail-debug/1773775492932494000_fabio_at_prada.ch.eml @@ -0,0 +1,45 @@ +MIME-Version: 1.0 +From: noreply@example.local +To: fabio@prada.ch +Subject: [Fiber Starter] Recupero password +Content-Type: multipart/alternative; boundary="mixed-1773775492932473000" + +--mixed-1773775492932473000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ciao Fabio, + +abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch. + +Token reset: +jv_pfTFywcT5wZD3yRKA1_Ls1SW5JMmmUiNxrO75Lik + +Link reset: +http://localhost:9000/#reset-password?token=jv_pfTFywcT5wZD3yRKA1_Ls1SW5JMmmUiNxrO75Lik + +Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email. + +--mixed-1773775492932473000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + Recupero password + + +

Recupero password

+

Ciao Fabio,

+

abbiamo ricevuto una richiesta di reset password per l'account fabio@prada.ch.

+

Usa questo token per completare il reset:

+

jv_pfTFywcT5wZD3yRKA1_Ls1SW5JMmmUiNxrO75Lik

+

Oppure apri questo link:

+

http://localhost:9000/#reset-password?token=jv_pfTFywcT5wZD3yRKA1_Ls1SW5JMmmUiNxrO75Lik

+

Il token scade tra 30 minuti. Se non hai richiesto il reset, ignora questa email.

+ + + +--mixed-1773775492932473000-- diff --git a/backend/data/mail-debug/1773775705727308000_pippone_at_test.comm.eml b/backend/data/mail-debug/1773775705727308000_pippone_at_test.comm.eml new file mode 100644 index 0000000..175d5b9 --- /dev/null +++ b/backend/data/mail-debug/1773775705727308000_pippone_at_test.comm.eml @@ -0,0 +1,35 @@ +MIME-Version: 1.0 +From: noreply@example.local +To: pippone@test.comm +Subject: [Fiber Starter] Registrazione completata +Content-Type: multipart/alternative; boundary="mixed-1773775705727296000" + +--mixed-1773775705727296000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ciao Pippone Pepponi, + +la registrazione per l'account pippone@test.comm su Fiber Starter e stata completata correttamente. + +Se non hai richiesto tu questa registrazione, contatta subito il supporto. + +--mixed-1773775705727296000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + Registrazione completata + + +

Benvenuto su Fiber Starter

+

Ciao Pippone Pepponi,

+

la registrazione per l'account pippone@test.comm e stata completata correttamente.

+

Se non hai richiesto tu questa registrazione, contatta subito il supporto.

+ + + +--mixed-1773775705727296000-- diff --git a/backend/data/mail-debug/1773775888993152000_pippo_at_erpippi.com.eml b/backend/data/mail-debug/1773775888993152000_pippo_at_erpippi.com.eml new file mode 100644 index 0000000..01fb04f --- /dev/null +++ b/backend/data/mail-debug/1773775888993152000_pippo_at_erpippi.com.eml @@ -0,0 +1,35 @@ +MIME-Version: 1.0 +From: noreply@example.local +To: pippo@erpippi.com +Subject: [Fiber Starter] Registrazione completata +Content-Type: multipart/alternative; boundary="mixed-1773775888993141000" + +--mixed-1773775888993141000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Ciao Pippo Er Pippi, + +la registrazione per l'account pippo@erpippi.com su Fiber Starter e stata completata correttamente. + +Se non hai richiesto tu questa registrazione, contatta subito il supporto. + +--mixed-1773775888993141000 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + + + + + Registrazione completata + + +

Benvenuto su Fiber Starter

+

Ciao Pippo Er Pippi,

+

la registrazione per l'account pippo@erpippi.com e stata completata correttamente.

+

Se non hai richiesto tu questa registrazione, contatta subito il supporto.

+ + + +--mixed-1773775888993141000-- diff --git a/backend/internal/http/controllers/admin.go b/backend/internal/http/controllers/admin.go index 2157fd5..6c37491 100644 --- a/backend/internal/http/controllers/admin.go +++ b/backend/internal/http/controllers/admin.go @@ -1,7 +1,11 @@ package controllers import ( + "errors" + "time" + "github.com/gofiber/fiber/v3" + "gorm.io/gorm" "server/internal/models" ) @@ -18,6 +22,11 @@ type ListUsersRequest struct { PageSize int `json:"pageSize" validate:"omitempty,min=1,max=100"` } +// Typescript: interface +type BlockUserRequest struct { + Action string `json:"action" validate:"required,oneof=block unblock"` +} + // ListUsers returns a paginated list of users (requires admin permissions). func (ac *AdminController) ListUsers(c fiber.Ctx) error { var req ListUsersRequest @@ -63,3 +72,48 @@ func (ac *AdminController) ListUsers(c fiber.Ctx) error { "error": nil, }) } + +// BlockUser blocks or unblocks a user account by UUID. +func (ac *AdminController) BlockUser(c fiber.Ctx) error { + var req BlockUserRequest + if err := c.Bind().Body(&req); err != nil { + return fiber.NewError(fiber.StatusBadRequest, "invalid payload") + } + if err := validateStruct(&req); err != nil { + return err + } + + db, err := dbFromCtx(c) + if err != nil { + return err + } + + uuid := c.Params("uuid") + if uuid == "" { + return fiber.NewError(fiber.StatusBadRequest, "invalid user uuid") + } + + var user models.User + if err := db.Preload("Details").Preload("Preferences").Where("uuid = ?", uuid).First(&user).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return fiber.NewError(fiber.StatusNotFound, "user not found") + } + return fiber.NewError(fiber.StatusInternalServerError, "failed to load user") + } + + switch req.Action { + case "block": + user.Status = models.UserStatusDisabled + case "unblock": + user.Status = models.UserStatusActive + default: + return fiber.NewError(fiber.StatusBadRequest, "invalid action") + } + user.UpdatedAt = time.Now().UTC() + + if err := db.Save(&user).Error; err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to update user status") + } + + return c.JSON(success(models.ToUserShort(&user))) +} diff --git a/backend/internal/http/controllers/helpers.go b/backend/internal/http/controllers/helpers.go index b4f030a..ddf6232 100644 --- a/backend/internal/http/controllers/helpers.go +++ b/backend/internal/http/controllers/helpers.go @@ -32,3 +32,19 @@ func toUserDetails(d *models.UserDetailsShort) *models.UserDetails { Phone: d.Phone, } } + +func toUserPreferences(p *models.UserPreferencesShort) *models.UserPreferences { + if p == nil { + return nil + } + return &models.UserPreferences{ + UseIdle: p.UseIdle, + IdleTimeout: p.IdleTimeout, + UseIdlePassword: p.UseIdlePassword, + IdlePin: p.IdlePin, + UseDirectLogin: p.UseDirectLogin, + UseQuadcodeLogin: p.UseQuadcodeLogin, + SendNoticesMail: p.SendNoticesMail, + Language: p.Language, + } +} diff --git a/backend/internal/http/controllers/user.go b/backend/internal/http/controllers/user.go new file mode 100644 index 0000000..ac1239a --- /dev/null +++ b/backend/internal/http/controllers/user.go @@ -0,0 +1,306 @@ +package controllers + +import ( + "errors" + "strconv" + "time" + + "github.com/gofiber/fiber/v3" + "github.com/google/uuid" + "gorm.io/gorm" + + "server/internal/auth" + "server/internal/models" +) + +type UserController struct{} + +func NewUserController() *UserController { + return &UserController{} +} + +// Typescript: interface +type UpdateUserRequest struct { + Name string `json:"name" validate:"required,min=1,max=255"` + Email string `json:"email" validate:"required,email"` + Password string `json:"password" validate:"omitempty,min=8,max=128"` + Roles models.UserRoles `json:"roles"` + Status models.UserStatus `json:"status"` + Types models.UserTypes `json:"types"` + Avatar *string `json:"avatar"` + Details *models.UserDetailsShort `json:"details"` + Preferences *models.UserPreferencesShort `json:"preferences"` +} + +// GetUser returns a single user by UUID. +func (uc *UserController) GetUser(c fiber.Ctx) error { + user, err := loadUserByUUID(c) + if err != nil { + return err + } + return c.JSON(success(models.ToUserProfile(user))) +} + +// CreateUser creates a user together with optional details and preferences. +func (uc *UserController) CreateUser(c fiber.Ctx) error { + var req models.UserCreateInput + if err := c.Bind().Body(&req); err != nil { + return fiber.NewError(fiber.StatusBadRequest, "invalid payload") + } + if err := validateStruct(&req); err != nil { + return err + } + + db, err := dbFromCtx(c) + if err != nil { + return err + } + + var existing models.User + if err := db.Where("email = ?", req.Email).First(&existing).Error; err == nil { + return fiber.NewError(fiber.StatusConflict, "user already exists") + } else if !errors.Is(err, gorm.ErrRecordNotFound) { + return fiber.NewError(fiber.StatusInternalServerError, "failed to check user") + } + + hashedPassword, err := auth.HashPassword(req.Password) + if err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to secure password") + } + + now := time.Now().UTC() + user := models.User{ + Email: req.Email, + Name: req.Name, + Password: hashedPassword, + Roles: func() models.UserRoles { + if len(req.Roles) == 0 { + return models.UserRoles{"user"} + } + return req.Roles + }(), + Status: func() models.UserStatus { + if req.Status == "" { + return models.UserStatusPending + } + return req.Status + }(), + Types: func() models.UserTypes { + if len(req.Types) == 0 { + return models.UserTypes{"internal"} + } + return req.Types + }(), + Avatar: req.Avatar, + UUID: uuid.NewString(), + Details: toUserDetails(req.Details), + Preferences: toUserPreferences(req.Preferences), + CreatedAt: now, + UpdatedAt: now, + } + + if err := db.Create(&user).Error; err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to create user") + } + + if err := db.Preload("Details").Preload("Preferences").First(&user, user.ID).Error; err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to reload user") + } + + return c.Status(fiber.StatusCreated).JSON(success(models.ToUserProfile(&user))) +} + +// UpdateUser replaces user fields and synchronizes details/preferences. +func (uc *UserController) UpdateUser(c fiber.Ctx) error { + var req UpdateUserRequest + if err := c.Bind().Body(&req); err != nil { + return fiber.NewError(fiber.StatusBadRequest, "invalid payload") + } + if err := validateStruct(&req); err != nil { + return err + } + + db, err := dbFromCtx(c) + if err != nil { + return err + } + + user, err := loadUserByUUID(c) + if err != nil { + return err + } + + if req.Email != user.Email { + var existing models.User + if err := db.Select("id").Where("email = ?", req.Email).First(&existing).Error; err == nil && existing.ID != user.ID { + return fiber.NewError(fiber.StatusConflict, "user already exists") + } else if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { + return fiber.NewError(fiber.StatusInternalServerError, "failed to check user") + } + } + + now := time.Now().UTC() + user.Name = req.Name + user.Email = req.Email + user.Avatar = req.Avatar + user.UpdatedAt = now + if req.Status != "" { + user.Status = req.Status + } + if len(req.Roles) > 0 { + user.Roles = req.Roles + } + if len(req.Types) > 0 { + user.Types = req.Types + } + + if err := db.Transaction(func(tx *gorm.DB) error { + if err := tx.Save(user).Error; err != nil { + return err + } + if err := syncUserDetails(tx, user.ID, req.Details); err != nil { + return err + } + if err := syncUserPreferences(tx, user.ID, req.Preferences); err != nil { + return err + } + return nil + }); err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to update user") + } + + if err := db.Preload("Details").Preload("Preferences").First(user, user.ID).Error; err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to reload user") + } + + return c.JSON(success(models.ToUserProfile(user))) +} + +// DeleteUser removes a user and linked details/preferences through cascading delete rules. +func (uc *UserController) DeleteUser(c fiber.Ctx) error { + db, err := dbFromCtx(c) + if err != nil { + return err + } + + user, err := loadUserByID(c) + if err != nil { + return err + } + + if err := db.Transaction(func(tx *gorm.DB) error { + if err := tx.Where("user_id = ?", user.ID).Delete(&models.UserDetails{}).Error; err != nil { + return err + } + if err := tx.Where("user_id = ?", user.ID).Delete(&models.UserPreferences{}).Error; err != nil { + return err + } + return tx.Delete(user).Error + }); err != nil { + return fiber.NewError(fiber.StatusInternalServerError, "failed to delete user") + } + + return c.JSON(success(SimpleResponse{Message: "user deleted"})) +} + +func loadUserByID(c fiber.Ctx) (*models.User, error) { + id, err := strconv.Atoi(c.Params("id")) + if err != nil || id <= 0 { + return nil, fiber.NewError(fiber.StatusBadRequest, "invalid user id") + } + + db, err := dbFromCtx(c) + if err != nil { + return nil, err + } + + var user models.User + if err := db.Preload("Details").Preload("Preferences").First(&user, id).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return nil, fiber.NewError(fiber.StatusNotFound, "user not found") + } + return nil, fiber.NewError(fiber.StatusInternalServerError, "failed to load user") + } + + return &user, nil +} + +func loadUserByUUID(c fiber.Ctx) (*models.User, error) { + uuid := c.Params("uuid") + if uuid == "" { + return nil, fiber.NewError(fiber.StatusBadRequest, "invalid user uuid") + } + + db, err := dbFromCtx(c) + if err != nil { + return nil, err + } + + var user models.User + if err := db.Preload("Details").Preload("Preferences").First(&user, "uuid = ?", uuid).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return nil, fiber.NewError(fiber.StatusNotFound, "user not found") + } + return nil, fiber.NewError(fiber.StatusInternalServerError, "failed to load user") + } + + return &user, nil +} + +func syncUserDetails(tx *gorm.DB, userID int, input *models.UserDetailsShort) error { + if input == nil { + return tx.Where("user_id = ?", userID).Delete(&models.UserDetails{}).Error + } + + var details models.UserDetails + if err := tx.Where("user_id = ?", userID).First(&details).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + details = models.UserDetails{UserID: userID} + } else { + return err + } + } + + details.Title = input.Title + details.FirstName = input.FirstName + details.LastName = input.LastName + details.Address = input.Address + details.City = input.City + details.ZipCode = input.ZipCode + details.Country = input.Country + details.Phone = input.Phone + + if details.ID == 0 { + return tx.Create(&details).Error + } + return tx.Save(&details).Error +} + +func syncUserPreferences(tx *gorm.DB, userID int, input *models.UserPreferencesShort) error { + if input == nil { + return tx.Where("user_id = ?", userID).Delete(&models.UserPreferences{}).Error + } + + var preferences models.UserPreferences + if err := tx.Where("user_id = ?", userID).First(&preferences).Error; err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + preferences = models.UserPreferences{UserID: userID} + } else { + return err + } + } + + preferences.UseIdle = input.UseIdle + preferences.IdleTimeout = input.IdleTimeout + preferences.UseIdlePassword = input.UseIdlePassword + preferences.IdlePin = input.IdlePin + preferences.UseDirectLogin = input.UseDirectLogin + preferences.UseQuadcodeLogin = input.UseQuadcodeLogin + preferences.SendNoticesMail = input.SendNoticesMail + preferences.Language = input.Language + + if preferences.ID == 0 { + return tx.Create(&preferences).Error + } + return tx.Save(&preferences).Error +} diff --git a/backend/internal/http/routes/admin_routes.go b/backend/internal/http/routes/admin_routes.go index 1ab0bbc..f904652 100644 --- a/backend/internal/http/routes/admin_routes.go +++ b/backend/internal/http/routes/admin_routes.go @@ -11,4 +11,7 @@ func registerAdminRoutes(app *fiber.App) { // Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST; request=controllers.ListUsersRequest; response=models.[]UserShort app.Post("/admin/users", adminController.ListUsers) + + // Typescript: TSEndpoint= path=/admin/users/:uuid/block; name=blockUser; method=PUT; request=controllers.BlockUserRequest; response=models.UserShort + app.Put("/admin/users/:uuid/block", adminController.BlockUser) } diff --git a/backend/internal/http/routes/routes.go b/backend/internal/http/routes/routes.go index 6656da2..aef5821 100644 --- a/backend/internal/http/routes/routes.go +++ b/backend/internal/http/routes/routes.go @@ -21,5 +21,6 @@ type FormResponse struct { func Register(app *fiber.App, authService *auth.Service, mailService *mail.Service) { registerSystemRoutes(app) registerAuthRoutes(app, authService, mailService) + registerUserRoutes(app, authService) registerAdminRoutes(app) } diff --git a/backend/internal/http/routes/user_routes.go b/backend/internal/http/routes/user_routes.go new file mode 100644 index 0000000..e236aa1 --- /dev/null +++ b/backend/internal/http/routes/user_routes.go @@ -0,0 +1,24 @@ +package routes + +import ( + "server/internal/auth" + "server/internal/http/controllers" + + "github.com/gofiber/fiber/v3" +) + +func registerUserRoutes(app *fiber.App, authService *auth.Service) { + userController := controllers.NewUserController() + + // Typescript: TSEndpoint= path=/users/:uuid; name=getUser; method=GET; response=models.UserProfile + app.Get("/users/:uuid", authService.Middleware(), userController.GetUser) + + // Typescript: TSEndpoint= path=/users; name=createUser; method=POST; request=models.UserCreateInput; response=models.UserProfile + app.Post("/users", authService.Middleware(), userController.CreateUser) + + // Typescript: TSEndpoint= path=/users/:uuid; name=updateUser; method=PUT; request=controllers.UpdateUserRequest; response=models.UserProfile + app.Put("/users/:uuid", authService.Middleware(), userController.UpdateUser) + + // Typescript: TSEndpoint= path=/users/:uuid; name=deleteUser; method=DELETE; response=controllers.SimpleResponse + app.Delete("/users/:uuid", authService.Middleware(), userController.DeleteUser) +} diff --git a/backend/internal/http/static/spa/assets/AdminLayout-bKViRb62.js b/backend/internal/http/static/spa/assets/AdminLayout-bKViRb62.js new file mode 100644 index 0000000..4114e23 --- /dev/null +++ b/backend/internal/http/static/spa/assets/AdminLayout-bKViRb62.js @@ -0,0 +1 @@ +import{z as v,A as Q,F as b,G as k,H as w,I as e,J as a,Q as g,K as o,L as u,M as n,N as x,U as i,q as L}from"./index-BMUcF_AE.js";import{Q as I,a as V,b as C,c as D,d as T}from"./QLayout-BFNq0ssN.js";import{b as r,Q as f,a as l}from"./QItem-49cALKGJ.js";import{Q as B}from"./QResizeObserver-UV_Ef03s.js";import{Q as N}from"./QDrawer-DWoubt_0.js";import"./touch-BjYP5sR0.js";import"./format-4vRgyZVr.js";const z=v({__name:"AdminLayout",setup(h){const{t}=Q(),d=L(!1);function m(){d.value=!d.value}return(p,s)=>{const _=b("router-view");return k(),w(T,{view:"lHh Lpr lFf"},{default:e(()=>[a(I,{elevated:""},{default:e(()=>[a(V,null,{default:e(()=>[a(g,{flat:"",dense:"",round:"",icon:"menu","aria-label":o(t)("app.menu"),onClick:m},null,8,["aria-label"]),a(C,null,{default:e(()=>[u(n(o(t)("app.title"))+" Admin",1)]),_:1}),x("div",null,"Quasar v"+n(p.$q.version),1)]),_:1})]),_:1}),a(N,{modelValue:d.value,"onUpdate:modelValue":s[0]||(s[0]=c=>d.value=c),"show-if-above":"",bordered:""},{default:e(()=>[a(B,null,{default:e(()=>[a(r,{header:""},{default:e(()=>[u(n(o(t)("app.links")),1)]),_:1}),a(f,{clickable:"",to:"/",exact:""},{default:e(()=>[a(l,{avatar:""},{default:e(()=>[a(i,{name:"home"})]),_:1}),a(l,null,{default:e(()=>[a(r,null,{default:e(()=>[u(n(o(t)("app.home")),1)]),_:1})]),_:1})]),_:1}),a(f,{clickable:"",to:"/dev/api/endpoints",exact:""},{default:e(()=>[a(l,{avatar:""},{default:e(()=>[a(i,{name:"api"})]),_:1}),a(l,null,{default:e(()=>[a(r,null,{default:e(()=>[u(n(o(t)("dev.apiEndpointsTester")),1)]),_:1})]),_:1})]),_:1}),a(f,{clickable:"",to:"/dev/api/mail-debug",exact:""},{default:e(()=>[a(l,{avatar:""},{default:e(()=>[a(i,{name:"mail"})]),_:1}),a(l,null,{default:e(()=>[a(r,null,{default:e(()=>[u(n(o(t)("dev.mailDebug")),1)]),_:1})]),_:1})]),_:1}),a(f,{clickable:"",to:"/admin/users",exact:""},{default:e(()=>[a(l,{avatar:""},{default:e(()=>[a(i,{name:"manage_accounts"})]),_:1}),a(l,null,{default:e(()=>[a(r,null,{default:e(()=>[...s[1]||(s[1]=[u("Users",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(D,null,{default:e(()=>[a(_)]),_:1})]),_:1})}}});export{z as default}; diff --git a/backend/internal/http/static/spa/assets/ApiEndpointsPage-CUzTZYTh.js b/backend/internal/http/static/spa/assets/ApiEndpointsPage-CUzTZYTh.js new file mode 100644 index 0000000..b86d826 --- /dev/null +++ b/backend/internal/http/static/spa/assets/ApiEndpointsPage-CUzTZYTh.js @@ -0,0 +1 @@ +import{Q as I}from"./QBadge-D07aoSle.js";import{z as L,G as n,H as S,I as o,N as s,L as x,P as p,a8 as E,a9 as N,J as r,a0 as O,a1 as h,M as i,R as V,a4 as C,a2 as Q,Q as P,aa as D,S as J,a5 as R,q as y}from"./index-BMUcF_AE.js";import{Q as B}from"./QPage-DJ7xuyij.js";import{C as A}from"./ClosePopup-NcxzGtHY.js";import{f as M,b as $,l as F,c as q,d as H,m as j,a as W,h as X,r as Y}from"./api-RGUeM09o.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-shell"},ee={class:"cards-grid"},ae={class:"head-main"},te={class:"text-h6"},se={class:"text-caption text-grey-7"},le={key:0,class:"no-fields"},re={key:1,class:"field-grid"},oe={class:"text-h6"},ne={class:"text-caption"},ie={class:"result-block"},de={class:"result-block"},ue=L({__name:"ApiEndpointsPage",setup(pe){const g=[{key:"forgotPassword",name:"forgotPassword",method:"POST",path:"/auth/password/forgot",signature:"Typescript: TSEndpoint= path=/auth/password/forgot; name=forgotPassword; method=POST",fields:[{key:"email",label:"Email",type:"text",placeholder:"user@example.com"}],defaults:{email:""},call:e=>M(e),buildPayload:e=>({email:String(e.email??"")})},{key:"metrics",name:"metrics",method:"GET",path:"/metrics",signature:"Typescript: TSEndpoint= path=/metrics; name=metrics; method=GET",fields:[],defaults:{},call:()=>$(),buildPayload:()=>null},{key:"login",name:"login",method:"POST",path:"/auth/login",signature:"Typescript: TSEndpoint= path=/auth/login; name=login; method=POST",fields:[{key:"username",label:"Username",type:"text",placeholder:"utente"},{key:"password",label:"Password",type:"password",placeholder:"********"}],defaults:{username:"",password:""},call:e=>F(e),buildPayload:e=>({username:String(e.username??""),password:String(e.password??"")})},{key:"refresh",name:"refresh",method:"POST",path:"/auth/refresh",signature:"Typescript: TSEndpoint= path=/auth/refresh; name=refresh; method=POST",fields:[{key:"refresh_token",label:"Refresh token",type:"textarea",hint:"Incolla il token completo"}],defaults:{refresh_token:""},call:e=>q(e),buildPayload:e=>({refresh_token:String(e.refresh_token??"")})},{key:"listUsers",name:"listUsers",method:"POST",path:"/admin/users",signature:"Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST",fields:[{key:"page",label:"Page",type:"number",placeholder:"1"},{key:"pageSize",label:"Page size",type:"number",placeholder:"10"}],defaults:{page:1,pageSize:10},call:e=>H(e),buildPayload:e=>({page:Number(e.page??1),pageSize:Number(e.pageSize??10)})},{key:"me",name:"me",method:"GET",path:"/auth/me",signature:"Typescript: TSEndpoint= path=/auth/me; name=me; method=GET",fields:[],defaults:{},call:()=>j(),buildPayload:()=>null},{key:"resetPassword",name:"resetPassword",method:"POST",path:"/auth/password/reset",signature:"Typescript: TSEndpoint= path=/auth/password/reset; name=resetPassword; method=POST",fields:[{key:"token",label:"Token",type:"textarea"},{key:"password",label:"Nuova password",type:"password"}],defaults:{token:"",password:""},call:e=>W(e),buildPayload:e=>({token:String(e.token??""),password:String(e.password??"")})},{key:"health",name:"health",method:"GET",path:"/health",signature:"Typescript: TSEndpoint= path=/health; name=health; method=GET",fields:[],defaults:{},call:()=>X(),buildPayload:()=>null},{key:"register",name:"register",method:"POST",path:"/auth/register",signature:"Typescript: TSEndpoint= path=/auth/register; name=register; method=POST",fields:[{key:"name",label:"Name",type:"text"},{key:"email",label:"Email",type:"text"},{key:"password",label:"Password",type:"password"},{key:"roles",label:"Roles (comma separated)",type:"text",placeholder:"admin,editor"},{key:"status",label:"Status",type:"text",placeholder:"pending | active | disabled"},{key:"types",label:"Types (comma separated)",type:"text",placeholder:"internal,staff"},{key:"avatar",label:"Avatar URL",type:"text"},{key:"details",label:"Details JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"title":"Sig.","firstName":"Mario","lastName":"Rossi","address":"Via Roma 1","city":"Roma","zipCode":"00100","country":"IT","phone":"+39..."}'},{key:"preferences",label:"Preferences JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"useIdle":true,"idleTimeout":15,"useIdlePassword":false,"idlePin":"","useDirectLogin":true,"useQuadcodeLogin":false,"sendNoticesMail":true,"language":"it"}'}],defaults:{name:"",email:"",password:"",roles:"user",status:"pending",types:"default",avatar:"",details:"",preferences:""},call:e=>Y(e),buildPayload:e=>({name:String(e.name??""),email:String(e.email??""),password:String(e.password??""),roles:_(String(e.roles??"")),status:String(e.status??"pending"),types:_(String(e.types??"")),avatar:U(String(e.avatar??"")),details:w(String(e.details??"")),preferences:w(String(e.preferences??""))})}],d=R({}),c=R({});for(const e of g)d[e.key]={...e.defaults},c[e.key]=!1;const f=y(!1),m=y({name:"",method:"",path:""}),T=y(null),k=y(null);function _(e){return e.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function U(e){return e.trim()===""?null:e}function w(e){if(e.trim()==="")return null;try{return JSON.parse(e)}catch{return{_raw:e}}}function z(e){const t=g.find(a=>a.key===e);t&&(d[e]={...t.defaults})}function u(e){return d[e]||(d[e]={}),d[e]}async function G(e){c[e.key]=!0;const t=e.buildPayload(u(e.key));m.value={name:e.name,method:e.method,path:e.path},T.value=t;try{const a=await e.call(t);k.value=a}catch(a){k.value={error:a instanceof Error?a.message:String(a)}}finally{c[e.key]=!1,f.value=!0}}function v(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return(e,t)=>(n(),S(B,{class:"api-tester-page"},{default:o(()=>[s("div",K,[t[1]||(t[1]=s("header",{class:"page-header"},[s("p",{class:"eyebrow"},"Developer tools"),s("h1",null,"API Endpoints Tester"),s("p",{class:"subtitle"},[x(" Lista endpoint generata da "),s("strong",null,"src/api/api.ts"),x(" con form payload, esecuzione rapida e risposta formattata. ")])],-1)),s("section",ee,[(n(),p(E,null,N(g,a=>r(O,{key:a.key,flat:"",bordered:"",class:"endpoint-card"},{default:o(()=>[r(h,{class:"card-head"},{default:o(()=>[s("div",ae,[r(I,{color:a.method==="GET"?"positive":"primary","text-color":"white",label:a.method},null,8,["color","label"]),s("code",null,i(a.path),1)]),s("div",te,i(a.name),1),s("div",se,i(a.signature),1)]),_:2},1024),r(V),r(h,{class:"card-body"},{default:o(()=>[a.fields.length===0?(n(),p("div",le," Nessun dato richiesto da questo endpoint. ")):(n(),p("div",re,[(n(!0),p(E,null,N(a.fields,l=>(n(),p("div",{key:`${a.key}-${l.key}`,class:"field-item"},[l.type!=="number"?(n(),S(C,{key:0,modelValue:u(a.key)[l.key],"onUpdate:modelValue":b=>u(a.key)[l.key]=b,label:l.label,type:l.type,hint:l.hint,placeholder:l.placeholder,dense:"",outlined:"",autogrow:""},null,8,["modelValue","onUpdate:modelValue","label","type","hint","placeholder"])):(n(),S(C,{key:1,modelValue:u(a.key)[l.key],"onUpdate:modelValue":b=>u(a.key)[l.key]=b,modelModifiers:{number:!0},label:l.label,type:"number",hint:l.hint,placeholder:l.placeholder,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","label","hint","placeholder"]))]))),128))]))]),_:2},1024),r(Q,{align:"between",class:"card-actions"},{default:o(()=>[r(P,{flat:"",color:"secondary",icon:"restart_alt",label:"Reset",onClick:l=>z(a.key)},null,8,["onClick"]),r(P,{color:"accent",icon:"play_arrow",label:"Test",loading:c[a.key],onClick:l=>G(a)},null,8,["loading","onClick"])]),_:2},1024)]),_:2},1024)),64))])]),r(D,{modelValue:f.value,"onUpdate:modelValue":t[0]||(t[0]=a=>f.value=a),maximized:""},{default:o(()=>[r(O,{class:"result-card"},{default:o(()=>[r(h,{class:"result-header"},{default:o(()=>[t[2]||(t[2]=s("div",{class:"text-overline"},"Risultato endpoint",-1)),s("div",oe,i(m.value.name),1),s("div",ne,i(m.value.method)+" "+i(m.value.path),1)]),_:1}),r(V),r(h,{class:"result-body"},{default:o(()=>[s("div",ie,[t[3]||(t[3]=s("h3",null,"Payload inviato",-1)),s("pre",null,i(v(T.value)),1)]),s("div",de,[t[4]||(t[4]=s("h3",null,"Risposta",-1)),s("pre",null,i(v(k.value)),1)])]),_:1}),r(Q,{align:"right"},{default:o(()=>[J(r(P,{flat:"",color:"primary",label:"Chiudi"},null,512),[[A]])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),ke=Z(ue,[["__scopeId","data-v-a5a44d8d"]]);export{ke as default}; diff --git a/backend/internal/http/static/spa/assets/ApiEndpointsPage-DOm_uCJI.js b/backend/internal/http/static/spa/assets/ApiEndpointsPage-DOm_uCJI.js deleted file mode 100644 index a7f630d..0000000 --- a/backend/internal/http/static/spa/assets/ApiEndpointsPage-DOm_uCJI.js +++ /dev/null @@ -1 +0,0 @@ -import{s as I,y as $,p as E,B as G,_ as A,a as J,o as c,e as _,w as u,h as s,g as N,k as y,$ as C,a0 as O,f as i,t as m,R as M,X as Q,q as f}from"./index-QUdrNkKl.js";import{d as F}from"./render-B4qP-w0Q.js";import{Q as V,a as k}from"./QCard-D_vcm7k9.js";import{Q as B,f as K,m as X,l as j,a as H,b as W,c as Y,r as Z,h as ee,d as te}from"./api-rhge6pbe.js";import{Q as L}from"./QInput-CEazYqyH.js";import{Q as v}from"./QBtn-AYMizH8c.js";import{Q as q}from"./QCardActions-DlFyQG4S.js";import{g as ae,c as le,Q as se}from"./QDialog-BcbjPBVh.js";import{Q as re}from"./QPage-gf8hzrox.js";import{_ as oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./use-dark-BRt0_t6X.js";import"./use-key-composition-TTwP9QMZ.js";import"./use-prevent-scroll-eZQDeoK_.js";import"./use-timeout-Jkrq6Sig.js";const ne=["top","middle","bottom"],ie=I({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:t=>ne.includes(t)}},setup(t,{slots:r}){const o=E(()=>t.align!==void 0?{verticalAlign:t.align}:null),d=E(()=>{const p=t.outline===!0&&t.color||t.textColor;return`q-badge flex inline items-center no-wrap q-badge--${t.multiLine===!0?"multi":"single"}-line`+(t.outline===!0?" q-badge--outline":t.color!==void 0?` bg-${t.color}`:"")+(p!==void 0?` text-${p}`:"")+(t.floating===!0?" q-badge--floating":"")+(t.rounded===!0?" q-badge--rounded":"")+(t.transparent===!0?" q-badge--transparent":"")});return()=>$("div",{class:d.value,style:o.value,role:"status","aria-label":t.label},F(r.default,t.label!==void 0?[t.label]:[]))}});function U(t){if(t===!1)return 0;if(t===!0||t===void 0)return 1;const r=parseInt(t,10);return isNaN(r)?0:r}const de=G({name:"close-popup",beforeMount(t,{value:r}){const o={depth:U(r),handler(d){o.depth!==0&&setTimeout(()=>{const p=ae(t);p!==void 0&&le(p,d,o.depth)})},handlerKey(d){A(d,13)===!0&&o.handler(d)}};t.__qclosepopup=o,t.addEventListener("click",o.handler),t.addEventListener("keyup",o.handlerKey)},updated(t,{value:r,oldValue:o}){r!==o&&(t.__qclosepopup.depth=U(r))},beforeUnmount(t){const r=t.__qclosepopup;t.removeEventListener("click",r.handler),t.removeEventListener("keyup",r.handlerKey),delete t.__qclosepopup}}),ue={class:"page-shell"},pe={class:"cards-grid"},ce={class:"head-main"},me={class:"text-h6"},he={class:"text-caption text-grey-7"},ye={key:0,class:"no-fields"},ge={key:1,class:"field-grid"},fe={class:"text-h6"},ke={class:"text-caption"},be={class:"result-block"},Se={class:"result-block"},_e=J({__name:"ApiEndpointsPage",setup(t){const r=[{key:"forgotPassword",name:"forgotPassword",method:"POST",path:"/auth/password/forgot",signature:"Typescript: TSEndpoint= path=/auth/password/forgot; name=forgotPassword; method=POST",fields:[{key:"email",label:"Email",type:"text",placeholder:"user@example.com"}],defaults:{email:""},call:e=>K(e),buildPayload:e=>({email:String(e.email??"")})},{key:"metrics",name:"metrics",method:"GET",path:"/metrics",signature:"Typescript: TSEndpoint= path=/metrics; name=metrics; method=GET",fields:[],defaults:{},call:()=>X(),buildPayload:()=>null},{key:"login",name:"login",method:"POST",path:"/auth/login",signature:"Typescript: TSEndpoint= path=/auth/login; name=login; method=POST",fields:[{key:"username",label:"Username",type:"text",placeholder:"utente"},{key:"password",label:"Password",type:"password",placeholder:"********"}],defaults:{username:"",password:""},call:e=>j(e),buildPayload:e=>({username:String(e.username??""),password:String(e.password??"")})},{key:"refresh",name:"refresh",method:"POST",path:"/auth/refresh",signature:"Typescript: TSEndpoint= path=/auth/refresh; name=refresh; method=POST",fields:[{key:"refresh_token",label:"Refresh token",type:"textarea",hint:"Incolla il token completo"}],defaults:{refresh_token:""},call:e=>H(e),buildPayload:e=>({refresh_token:String(e.refresh_token??"")})},{key:"listUsers",name:"listUsers",method:"POST",path:"/admin/users",signature:"Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST",fields:[{key:"page",label:"Page",type:"number",placeholder:"1"},{key:"pageSize",label:"Page size",type:"number",placeholder:"10"}],defaults:{page:1,pageSize:10},call:e=>W(e),buildPayload:e=>({page:Number(e.page??1),pageSize:Number(e.pageSize??10)})},{key:"me",name:"me",method:"GET",path:"/auth/me",signature:"Typescript: TSEndpoint= path=/auth/me; name=me; method=GET",fields:[],defaults:{},call:()=>Y(),buildPayload:()=>null},{key:"resetPassword",name:"resetPassword",method:"POST",path:"/auth/password/reset",signature:"Typescript: TSEndpoint= path=/auth/password/reset; name=resetPassword; method=POST",fields:[{key:"token",label:"Token",type:"textarea"},{key:"password",label:"Nuova password",type:"password"}],defaults:{token:"",password:""},call:e=>Z(e),buildPayload:e=>({token:String(e.token??""),password:String(e.password??"")})},{key:"health",name:"health",method:"GET",path:"/health",signature:"Typescript: TSEndpoint= path=/health; name=health; method=GET",fields:[],defaults:{},call:()=>ee(),buildPayload:()=>null},{key:"register",name:"register",method:"POST",path:"/auth/register",signature:"Typescript: TSEndpoint= path=/auth/register; name=register; method=POST",fields:[{key:"name",label:"Name",type:"text"},{key:"email",label:"Email",type:"text"},{key:"password",label:"Password",type:"password"},{key:"roles",label:"Roles (comma separated)",type:"text",placeholder:"admin,editor"},{key:"status",label:"Status",type:"text",placeholder:"pending | active | disabled"},{key:"types",label:"Types (comma separated)",type:"text",placeholder:"internal,staff"},{key:"avatar",label:"Avatar URL",type:"text"},{key:"details",label:"Details JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"title":"Sig.","firstName":"Mario","lastName":"Rossi","address":"Via Roma 1","city":"Roma","zipCode":"00100","country":"IT","phone":"+39..."}'},{key:"preferences",label:"Preferences JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"useIdle":true,"idleTimeout":15,"useIdlePassword":false,"idlePin":"","useDirectLogin":true,"useQuadcodeLogin":false,"sendNoticesMail":true,"language":"it"}'}],defaults:{name:"",email:"",password:"",roles:"user",status:"pending",types:"default",avatar:"",details:"",preferences:""},call:e=>te(e),buildPayload:e=>({name:String(e.name??""),email:String(e.email??""),password:String(e.password??""),roles:T(String(e.roles??"")),status:String(e.status??"pending"),types:T(String(e.types??"")),avatar:R(String(e.avatar??"")),details:w(String(e.details??"")),preferences:w(String(e.preferences??""))})}],o=Q({}),d=Q({});for(const e of r)o[e.key]={...e.defaults},d[e.key]=!1;const p=f(!1),g=f({name:"",method:"",path:""}),P=f(null),b=f(null);function T(e){return e.split(",").map(l=>l.trim()).filter(l=>l.length>0)}function R(e){return e.trim()===""?null:e}function w(e){if(e.trim()==="")return null;try{return JSON.parse(e)}catch{return{_raw:e}}}function D(e){const l=r.find(a=>a.key===e);l&&(o[e]={...l.defaults})}function h(e){return o[e]||(o[e]={}),o[e]}async function z(e){d[e.key]=!0;const l=e.buildPayload(h(e.key));g.value={name:e.name,method:e.method,path:e.path},P.value=l;try{const a=await e.call(l);b.value=a}catch(a){b.value={error:a instanceof Error?a.message:String(a)}}finally{d[e.key]=!1,p.value=!0}}function x(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return(e,l)=>(c(),_(re,{class:"api-tester-page"},{default:u(()=>[s("div",ue,[l[1]||(l[1]=s("header",{class:"page-header"},[s("p",{class:"eyebrow"},"Developer tools"),s("h1",null,"API Endpoints Tester"),s("p",{class:"subtitle"},[N(" Lista endpoint generata da "),s("strong",null,"src/api/api.ts"),N(" con form payload, esecuzione rapida e risposta formattata. ")])],-1)),s("section",pe,[(c(),y(C,null,O(r,a=>i(V,{key:a.key,flat:"",bordered:"",class:"endpoint-card"},{default:u(()=>[i(k,{class:"card-head"},{default:u(()=>[s("div",ce,[i(ie,{color:a.method==="GET"?"positive":"primary","text-color":"white",label:a.method},null,8,["color","label"]),s("code",null,m(a.path),1)]),s("div",me,m(a.name),1),s("div",he,m(a.signature),1)]),_:2},1024),i(B),i(k,{class:"card-body"},{default:u(()=>[a.fields.length===0?(c(),y("div",ye," Nessun dato richiesto da questo endpoint. ")):(c(),y("div",ge,[(c(!0),y(C,null,O(a.fields,n=>(c(),y("div",{key:`${a.key}-${n.key}`,class:"field-item"},[n.type!=="number"?(c(),_(L,{key:0,modelValue:h(a.key)[n.key],"onUpdate:modelValue":S=>h(a.key)[n.key]=S,label:n.label,type:n.type,hint:n.hint,placeholder:n.placeholder,dense:"",outlined:"",autogrow:""},null,8,["modelValue","onUpdate:modelValue","label","type","hint","placeholder"])):(c(),_(L,{key:1,modelValue:h(a.key)[n.key],"onUpdate:modelValue":S=>h(a.key)[n.key]=S,modelModifiers:{number:!0},label:n.label,type:"number",hint:n.hint,placeholder:n.placeholder,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","label","hint","placeholder"]))]))),128))]))]),_:2},1024),i(q,{align:"between",class:"card-actions"},{default:u(()=>[i(v,{flat:"",color:"secondary",icon:"restart_alt",label:"Reset",onClick:n=>D(a.key)},null,8,["onClick"]),i(v,{color:"accent",icon:"play_arrow",label:"Test",loading:d[a.key],onClick:n=>z(a)},null,8,["loading","onClick"])]),_:2},1024)]),_:2},1024)),64))])]),i(se,{modelValue:p.value,"onUpdate:modelValue":l[0]||(l[0]=a=>p.value=a),maximized:""},{default:u(()=>[i(V,{class:"result-card"},{default:u(()=>[i(k,{class:"result-header"},{default:u(()=>[l[2]||(l[2]=s("div",{class:"text-overline"},"Risultato endpoint",-1)),s("div",fe,m(g.value.name),1),s("div",ke,m(g.value.method)+" "+m(g.value.path),1)]),_:1}),i(B),i(k,{class:"result-body"},{default:u(()=>[s("div",be,[l[3]||(l[3]=s("h3",null,"Payload inviato",-1)),s("pre",null,m(x(P.value)),1)]),s("div",Se,[l[4]||(l[4]=s("h3",null,"Risposta",-1)),s("pre",null,m(x(b.value)),1)])]),_:1}),i(q,{align:"right"},{default:u(()=>[M(i(v,{flat:"",color:"primary",label:"Chiudi"},null,512),[[de]])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Ue=oe(_e,[["__scopeId","data-v-a5a44d8d"]]);export{Ue as default}; diff --git a/backend/internal/http/static/spa/assets/ClosePopup-NcxzGtHY.js b/backend/internal/http/static/spa/assets/ClosePopup-NcxzGtHY.js new file mode 100644 index 0000000..8c99c15 --- /dev/null +++ b/backend/internal/http/static/spa/assets/ClosePopup-NcxzGtHY.js @@ -0,0 +1 @@ +import{ab as s,aO as a,aX as d,aY as c}from"./index-BMUcF_AE.js";function p(e){if(e===!1)return 0;if(e===!0||e===void 0)return 1;const t=parseInt(e,10);return isNaN(t)?0:t}const u=s({name:"close-popup",beforeMount(e,{value:t}){const o={depth:p(t),handler(r){o.depth!==0&&setTimeout(()=>{const n=d(e);n!==void 0&&c(n,r,o.depth)})},handlerKey(r){a(r,13)===!0&&o.handler(r)}};e.__qclosepopup=o,e.addEventListener("click",o.handler),e.addEventListener("keyup",o.handlerKey)},updated(e,{value:t,oldValue:o}){t!==o&&(e.__qclosepopup.depth=p(t))},beforeUnmount(e){const t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}});export{u as C}; diff --git a/backend/internal/http/static/spa/assets/DevLayout-BYv1RTOK.js b/backend/internal/http/static/spa/assets/DevLayout-BYv1RTOK.js new file mode 100644 index 0000000..1880c8d --- /dev/null +++ b/backend/internal/http/static/spa/assets/DevLayout-BYv1RTOK.js @@ -0,0 +1 @@ +import{z as v,A as Q,F as b,G as w,H as k,I as a,J as e,Q as L,K as t,L as n,M as o,N as g,U as d,q as x}from"./index-BMUcF_AE.js";import{Q as D,a as I,b as V,c as h,d as C}from"./QLayout-BFNq0ssN.js";import{b as s,Q as i,a as u}from"./QItem-49cALKGJ.js";import{Q as T}from"./QResizeObserver-UV_Ef03s.js";import{Q as B}from"./QDrawer-DWoubt_0.js";import"./touch-BjYP5sR0.js";import"./format-4vRgyZVr.js";const A=v({__name:"DevLayout",setup(N){const{t:l}=Q(),r=x(!1);function m(){r.value=!r.value}return(p,f)=>{const _=b("router-view");return w(),k(C,{view:"lHh Lpr lFf"},{default:a(()=>[e(D,{elevated:""},{default:a(()=>[e(I,null,{default:a(()=>[e(L,{flat:"",dense:"",round:"",icon:"menu","aria-label":t(l)("app.menu"),onClick:m},null,8,["aria-label"]),e(V,null,{default:a(()=>[n(o(t(l)("app.title")),1)]),_:1}),g("div",null,"Quasar v"+o(p.$q.version),1)]),_:1})]),_:1}),e(B,{modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=c=>r.value=c),"show-if-above":"",bordered:""},{default:a(()=>[e(T,null,{default:a(()=>[e(s,{header:""},{default:a(()=>[n(o(t(l)("app.links")),1)]),_:1}),e(i,{clickable:"",to:"/",exact:""},{default:a(()=>[e(u,{avatar:""},{default:a(()=>[e(d,{name:"home"})]),_:1}),e(u,null,{default:a(()=>[e(s,null,{default:a(()=>[n(o(t(l)("app.home")),1)]),_:1})]),_:1})]),_:1}),e(i,{clickable:"",to:"/dev/api/endpoints",exact:""},{default:a(()=>[e(u,{avatar:""},{default:a(()=>[e(d,{name:"api"})]),_:1}),e(u,null,{default:a(()=>[e(s,null,{default:a(()=>[n(o(t(l)("dev.apiEndpointsTester")),1)]),_:1})]),_:1})]),_:1}),e(i,{clickable:"",to:"/dev/api/mail-debug",exact:""},{default:a(()=>[e(u,{avatar:""},{default:a(()=>[e(d,{name:"mail"})]),_:1}),e(u,null,{default:a(()=>[e(s,null,{default:a(()=>[n(o(t(l)("dev.mailDebug")),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(h,null,{default:a(()=>[e(_)]),_:1})]),_:1})}}});export{A as default}; diff --git a/backend/internal/http/static/spa/assets/DevLayout-NkVPqUIU.js b/backend/internal/http/static/spa/assets/DevLayout-NkVPqUIU.js deleted file mode 100644 index 3e249f2..0000000 --- a/backend/internal/http/static/spa/assets/DevLayout-NkVPqUIU.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as Ve,b as J}from"./QBtn-AYMizH8c.js";import{Q as Ne,a as He,b as Xe,c as Ye,d as Ue}from"./QLayout-DIjK04DF.js";import{b as W,Q as Z,a as E}from"./QItem-F5bzVaJB.js";import{s as Ce,y as $,A as qe,p as f,B as je,C as ee,D as Q,E as te,F as Re,G as V,H as ne,I as he,J as ae,K as Ke,L as Ge,M as Je,N as re,O as Ze,q as D,z as g,P as pe,x as et,Q as tt,R as at,a as rt,b as ot,o as ut,e as nt,w as p,f as d,g as P,h as lt,t as it}from"./index-QUdrNkKl.js";import{u as ke,a as Be}from"./use-dark-BRt0_t6X.js";import{h as _e,b as ye}from"./render-B4qP-w0Q.js";import{u as st,a as dt,b as ct,c as ft,d as vt}from"./use-prevent-scroll-eZQDeoK_.js";import{u as mt}from"./use-timeout-Jkrq6Sig.js";import{c as ht,b as N}from"./format-GjIIeqP4.js";const pt=["ul","ol"],yt=Ce({name:"QList",props:{...ke,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(t,{slots:o}){const n=qe(),y=Be(t,n.proxy.$q),e=f(()=>pt.includes(t.tag)?null:"list"),r=f(()=>"q-list"+(t.bordered===!0?" q-list--bordered":"")+(t.dense===!0?" q-list--dense":"")+(t.separator===!0?" q-list--separator":"")+(y.value===!0?" q-list--dark":"")+(t.padding===!0?" q-list--padding":""));return()=>$(t.tag,{class:r.value,role:e.value},_e(o.default))}}),le={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},bt=Object.keys(le);le.all=!0;function be(t){const o={};for(const n of bt)t[n]===!0&&(o[n]=!0);return Object.keys(o).length===0?le:(o.horizontal===!0?o.left=o.right=!0:o.left===!0&&o.right===!0&&(o.horizontal=!0),o.vertical===!0?o.up=o.down=!0:o.up===!0&&o.down===!0&&(o.vertical=!0),o.horizontal===!0&&o.vertical===!0&&(o.all=!0),o)}const gt=["INPUT","TEXTAREA"];function ge(t,o){return o.event===void 0&&t.target!==void 0&&t.target.draggable!==!0&&typeof o.handler=="function"&>.includes(t.target.nodeName.toUpperCase())===!1&&(t.qClonedBy===void 0||t.qClonedBy.indexOf(o.uid)===-1)}function oe(t,o,n){const y=ne(t);let e,r=y.left-o.event.x,i=y.top-o.event.y,m=Math.abs(r),h=Math.abs(i);const s=o.direction;s.horizontal===!0&&s.vertical!==!0?e=r<0?"left":"right":s.horizontal!==!0&&s.vertical===!0?e=i<0?"up":"down":s.up===!0&&i<0?(e="up",m>h&&(s.left===!0&&r<0?e="left":s.right===!0&&r>0&&(e="right"))):s.down===!0&&i>0?(e="down",m>h&&(s.left===!0&&r<0?e="left":s.right===!0&&r>0&&(e="right"))):s.left===!0&&r<0?(e="left",m0&&(e="down"))):s.right===!0&&r>0&&(e="right",m0&&(e="down")));let u=!1;if(e===void 0&&n===!1){if(o.event.isFirst===!0||o.event.lastDir===void 0)return{};e=o.event.lastDir,u=!0,e==="left"||e==="right"?(y.left-=r,m=0,r=0):(y.top-=i,h=0,i=0)}return{synthetic:u,payload:{evt:t,touch:o.event.mouse!==!0,mouse:o.event.mouse===!0,position:y,direction:e,isFirst:o.event.isFirst,isFinal:n===!0,duration:Date.now()-o.event.time,distance:{x:m,y:h},offset:{x:r,y:i},delta:{x:y.left-o.event.lastX,y:y.top-o.event.lastY}}}}let wt=0;const ue=je({name:"touch-pan",beforeMount(t,{value:o,modifiers:n}){if(n.mouse!==!0&&Q.has.touch!==!0)return;function y(r,i){n.mouse===!0&&i===!0?Ge(r):(n.stop===!0&&ae(r),n.prevent===!0&&he(r))}const e={uid:"qvtp_"+wt++,handler:o,modifiers:n,direction:be(n),noop:Re,mouseStart(r){ge(r,e)&&Ke(r)&&(V(e,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),e.start(r,!0))},touchStart(r){if(ge(r,e)){const i=r.target;V(e,"temp",[[i,"touchmove","move","notPassiveCapture"],[i,"touchcancel","end","passiveCapture"],[i,"touchend","end","passiveCapture"]]),e.start(r)}},start(r,i){if(Q.is.firefox===!0&&te(t,!0),e.lastEvt=r,i===!0||n.stop===!0){if(e.direction.all!==!0&&(i!==!0||e.modifiers.mouseAllDir!==!0&&e.modifiers.mousealldir!==!0)){const s=r.type.indexOf("mouse")!==-1?new MouseEvent(r.type,r):new TouchEvent(r.type,r);r.defaultPrevented===!0&&he(s),r.cancelBubble===!0&&ae(s),Object.assign(s,{qKeyEvent:r.qKeyEvent,qClickOutside:r.qClickOutside,qAnchorHandled:r.qAnchorHandled,qClonedBy:r.qClonedBy===void 0?[e.uid]:r.qClonedBy.concat(e.uid)}),e.initialEvent={target:r.target,event:s}}ae(r)}const{left:m,top:h}=ne(r);e.event={x:m,y:h,time:Date.now(),mouse:i===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:m,lastY:h}},move(r){if(e.event===void 0)return;const i=ne(r),m=i.left-e.event.x,h=i.top-e.event.y;if(m===0&&h===0)return;e.lastEvt=r;const s=e.event.mouse===!0,u=()=>{y(r,s);let w;n.preserveCursor!==!0&&n.preservecursor!==!0&&(w=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),s===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),ht(),e.styleCleanup=c=>{if(e.styleCleanup=void 0,w!==void 0&&(document.documentElement.style.cursor=w),document.body.classList.remove("non-selectable"),s===!0){const x=()=>{document.body.classList.remove("no-pointer-events--children")};c!==void 0?setTimeout(()=>{x(),c()},50):x()}else c!==void 0&&c()}};if(e.event.detected===!0){e.event.isFirst!==!0&&y(r,e.event.mouse);const{payload:w,synthetic:c}=oe(r,e,!1);w!==void 0&&(e.handler(w)===!1?e.end(r):(e.styleCleanup===void 0&&e.event.isFirst===!0&&u(),e.event.lastX=w.position.left,e.event.lastY=w.position.top,e.event.lastDir=c===!0?void 0:w.direction,e.event.isFirst=!1));return}if(e.direction.all===!0||s===!0&&(e.modifiers.mouseAllDir===!0||e.modifiers.mousealldir===!0)){u(),e.event.detected=!0,e.move(r);return}const B=Math.abs(m),b=Math.abs(h);B!==b&&(e.direction.horizontal===!0&&B>b||e.direction.vertical===!0&&B0||e.direction.left===!0&&B>b&&m<0||e.direction.right===!0&&B>b&&m>0?(e.event.detected=!0,e.move(r)):e.end(r,!0))},end(r,i){if(e.event!==void 0){if(ee(e,"temp"),Q.is.firefox===!0&&te(t,!1),i===!0)e.styleCleanup?.(),e.event.detected!==!0&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(e.event.detected===!0){e.event.isFirst===!0&&e.handler(oe(r===void 0?e.lastEvt:r,e).payload);const{payload:m}=oe(r===void 0?e.lastEvt:r,e,!0),h=()=>{e.handler(m)};e.styleCleanup!==void 0?e.styleCleanup(h):h()}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0}}};if(t.__qtouchpan=e,n.mouse===!0){const r=n.mouseCapture===!0||n.mousecapture===!0?"Capture":"";V(e,"main",[[t,"mousedown","mouseStart",`passive${r}`]])}Q.has.touch===!0&&V(e,"main",[[t,"touchstart","touchStart",`passive${n.capture===!0?"Capture":""}`],[t,"touchmove","noop","notPassiveCapture"]])},updated(t,o){const n=t.__qtouchpan;n!==void 0&&(o.oldValue!==o.value&&(typeof value!="function"&&n.end(),n.handler=o.value),n.direction=be(o.modifiers))},beforeUnmount(t){const o=t.__qtouchpan;o!==void 0&&(o.event!==void 0&&o.end(),ee(o,"main"),ee(o,"temp"),Q.is.firefox===!0&&te(t,!1),o.styleCleanup?.(),delete t.__qtouchpan)}}),we=150,Ct=Ce({name:"QDrawer",inheritAttrs:!1,props:{...dt,...ke,side:{type:String,default:"left",validator:t=>["left","right"].includes(t)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:t=>["default","desktop","mobile"].includes(t),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...st,"onLayout","miniState"],setup(t,{slots:o,emit:n,attrs:y}){const e=qe(),{proxy:{$q:r}}=e,i=Be(t,r),{preventBodyScroll:m}=vt(),{registerTimeout:h,removeTimeout:s}=mt(),u=Je(Ze,re);if(u===re)return console.error("QDrawer needs to be child of QLayout"),re;let B,b=null,w;const c=D(t.behavior==="mobile"||t.behavior!=="desktop"&&u.totalWidth.value<=t.breakpoint),x=f(()=>t.mini===!0&&c.value!==!0),q=f(()=>x.value===!0?t.miniWidth:t.width),v=D(t.showIfAbove===!0&&c.value===!1?!0:t.modelValue===!0),ie=f(()=>t.persistent!==!0&&(c.value===!0||Se.value===!0));function se(a,l){if(xe(),a!==!1&&u.animate(),k(0),c.value===!0){const C=u.instances[F.value];C?.belowBreakpoint===!0&&C.hide(!1),T(1),u.isContainer.value!==!0&&m(!0)}else T(0),a!==!1&&R(!1);h(()=>{a!==!1&&R(!0),l!==!0&&n("show",a)},we)}function de(a,l){Te(),a!==!1&&u.animate(),T(0),k(L.value*q.value),K(),l!==!0?h(()=>{n("hide",a)},we):s()}const{show:H,hide:O}=ct({showing:v,hideOnRouteChange:ie,handleShow:se,handleHide:de}),{addToHistory:xe,removeFromHistory:Te}=ft(v,O,ie),z={belowBreakpoint:c,hide:O},_=f(()=>t.side==="right"),L=f(()=>(r.lang.rtl===!0?-1:1)*(_.value===!0?1:-1)),ce=D(0),M=D(!1),X=D(!1),fe=D(q.value*L.value),F=f(()=>_.value===!0?"left":"right"),Y=f(()=>v.value===!0&&c.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:q.value:0),U=f(()=>t.overlay===!0||t.miniToOverlay===!0||u.view.value.indexOf(_.value?"R":"L")!==-1||r.platform.is.ios===!0&&u.isContainer.value===!0),A=f(()=>t.overlay===!1&&v.value===!0&&c.value===!1),Se=f(()=>t.overlay===!0&&v.value===!0&&c.value===!1),De=f(()=>"fullscreen q-drawer__backdrop"+(v.value===!1&&M.value===!1?" hidden":"")),Le=f(()=>({backgroundColor:`rgba(0,0,0,${ce.value*.4})`})),ve=f(()=>_.value===!0?u.rows.value.top[2]==="r":u.rows.value.top[0]==="l"),Me=f(()=>_.value===!0?u.rows.value.bottom[2]==="r":u.rows.value.bottom[0]==="l"),Ee=f(()=>{const a={};return u.header.space===!0&&ve.value===!1&&(U.value===!0?a.top=`${u.header.offset}px`:u.header.space===!0&&(a.top=`${u.header.size}px`)),u.footer.space===!0&&Me.value===!1&&(U.value===!0?a.bottom=`${u.footer.offset}px`:u.footer.space===!0&&(a.bottom=`${u.footer.size}px`)),a}),Oe=f(()=>{const a={width:`${q.value}px`,transform:`translateX(${fe.value}px)`};return c.value===!0?a:Object.assign(a,Ee.value)}),Ae=f(()=>"q-drawer__content fit "+(u.isContainer.value!==!0?"scroll":"overflow-auto")),Qe=f(()=>`q-drawer q-drawer--${t.side}`+(X.value===!0?" q-drawer--mini-animate":"")+(t.bordered===!0?" q-drawer--bordered":"")+(i.value===!0?" q-drawer--dark q-dark":"")+(M.value===!0?" no-transition":v.value===!0?"":" q-layout--prevent-focus")+(c.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${x.value===!0?"mini":"standard"}`+(U.value===!0||A.value!==!0?" fixed":"")+(t.overlay===!0||t.miniToOverlay===!0?" q-drawer--on-top":"")+(ve.value===!0?" q-drawer--top-padding":""))),Pe=f(()=>{const a=r.lang.rtl===!0?t.side:F.value;return[[ue,Ie,void 0,{[a]:!0,mouse:!0}]]}),$e=f(()=>{const a=r.lang.rtl===!0?F.value:t.side;return[[ue,me,void 0,{[a]:!0,mouse:!0}]]}),ze=f(()=>{const a=r.lang.rtl===!0?F.value:t.side;return[[ue,me,void 0,{[a]:!0,mouse:!0,mouseAllDir:!0}]]});function j(){We(c,t.behavior==="mobile"||t.behavior!=="desktop"&&u.totalWidth.value<=t.breakpoint)}g(c,a=>{a===!0?(B=v.value,v.value===!0&&O(!1)):t.overlay===!1&&t.behavior!=="mobile"&&B!==!1&&(v.value===!0?(k(0),T(0),K()):H(!1))}),g(()=>t.side,(a,l)=>{u.instances[l]===z&&(u.instances[l]=void 0,u[l].space=!1,u[l].offset=0),u.instances[a]=z,u[a].size=q.value,u[a].space=A.value,u[a].offset=Y.value}),g(u.totalWidth,()=>{(u.isContainer.value===!0||document.qScrollPrevented!==!0)&&j()}),g(()=>t.behavior+t.breakpoint,j),g(u.isContainer,a=>{v.value===!0&&m(a!==!0),a===!0&&j()}),g(u.scrollbarWidth,()=>{k(v.value===!0?0:void 0)}),g(Y,a=>{S("offset",a)}),g(A,a=>{n("onLayout",a),S("space",a)}),g(_,()=>{k()}),g(q,a=>{k(),G(t.miniToOverlay,a)}),g(()=>t.miniToOverlay,a=>{G(a,q.value)}),g(()=>r.lang.rtl,()=>{k()}),g(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(Fe(),u.animate())}),g(x,a=>{n("miniState",a)});function k(a){a===void 0?pe(()=>{a=v.value===!0?0:q.value,k(L.value*a)}):(u.isContainer.value===!0&&_.value===!0&&(c.value===!0||Math.abs(a)===q.value)&&(a+=L.value*u.scrollbarWidth.value),fe.value=a)}function T(a){ce.value=a}function R(a){const l=a===!0?"remove":u.isContainer.value!==!0?"add":"";l!==""&&document.body.classList[l]("q-body--drawer-toggle")}function Fe(){b!==null&&clearTimeout(b),e.proxy&&e.proxy.$el&&e.proxy.$el.classList.add("q-drawer--mini-animate"),X.value=!0,b=setTimeout(()=>{b=null,X.value=!1,e?.proxy?.$el?.classList.remove("q-drawer--mini-animate")},150)}function Ie(a){if(v.value!==!1)return;const l=q.value,C=N(a.distance.x,0,l);if(a.isFinal===!0){C>=Math.min(75,l)===!0?H():(u.animate(),T(0),k(L.value*l)),M.value=!1;return}k((r.lang.rtl===!0?_.value!==!0:_.value)?Math.max(l-C,0):Math.min(0,C-l)),T(N(C/l,0,1)),a.isFirst===!0&&(M.value=!0)}function me(a){if(v.value!==!0)return;const l=q.value,C=a.direction===t.side,I=(r.lang.rtl===!0?C!==!0:C)?N(a.distance.x,0,l):0;if(a.isFinal===!0){Math.abs(I){n("onLayout",A.value),n("miniState",x.value),B=t.showIfAbove===!0;const a=()=>{(v.value===!0?se:de)(!1,!0)};if(u.totalWidth.value!==0){pe(a);return}w=g(u.totalWidth,()=>{w(),w=void 0,v.value===!1&&t.showIfAbove===!0&&c.value===!1?H(!1):a()})}),tt(()=>{w?.(),b!==null&&(clearTimeout(b),b=null),v.value===!0&&K(),u.instances[t.side]===z&&(u.instances[t.side]=void 0,S("size",0),S("offset",0),S("space",!1))}),()=>{const a=[];c.value===!0&&(t.noSwipeOpen===!1&&a.push(at($("div",{key:"open",class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":"true"}),Pe.value)),a.push(ye("div",{ref:"backdrop",class:De.value,style:Le.value,"aria-hidden":"true",onClick:O},void 0,"backdrop",t.noSwipeBackdrop!==!0&&v.value===!0,()=>ze.value)));const l=x.value===!0&&o.mini!==void 0,C=[$("div",{...y,key:""+l,class:[Ae.value,y.class]},l===!0?o.mini():_e(o.default))];return t.elevated===!0&&v.value===!0&&C.push($("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(ye("aside",{ref:"content",class:Qe.value,style:Oe.value},C,"contentclose",t.noSwipeClose!==!0&&c.value===!0,()=>$e.value)),$("div",{class:"q-drawer-container"},a)}}}),Et=rt({__name:"DevLayout",setup(t){const o=D(!1);function n(){o.value=!o.value}return(y,e)=>{const r=ot("router-view");return ut(),nt(Ue,{view:"lHh Lpr lFf"},{default:p(()=>[d(Ne,{elevated:""},{default:p(()=>[d(He,null,{default:p(()=>[d(Ve,{flat:"",dense:"",round:"",icon:"menu","aria-label":"Menu",onClick:n}),d(Xe,null,{default:p(()=>[...e[1]||(e[1]=[P(" Quasar App ",-1)])]),_:1}),lt("div",null,"Quasar v"+it(y.$q.version),1)]),_:1})]),_:1}),d(Ct,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=i=>o.value=i),"show-if-above":"",bordered:""},{default:p(()=>[d(yt,null,{default:p(()=>[d(W,{header:""},{default:p(()=>[...e[2]||(e[2]=[P(" Links ",-1)])]),_:1}),d(Z,{clickable:"",to:"/",exact:""},{default:p(()=>[d(E,{avatar:""},{default:p(()=>[d(J,{name:"home"})]),_:1}),d(E,null,{default:p(()=>[d(W,null,{default:p(()=>[...e[3]||(e[3]=[P("Home",-1)])]),_:1})]),_:1})]),_:1}),d(Z,{clickable:"",to:"/dev/api/endpoints",exact:""},{default:p(()=>[d(E,{avatar:""},{default:p(()=>[d(J,{name:"api"})]),_:1}),d(E,null,{default:p(()=>[d(W,null,{default:p(()=>[...e[4]||(e[4]=[P("API Endpoints Tester",-1)])]),_:1})]),_:1})]),_:1}),d(Z,{clickable:"",to:"/dev/api/mail-debug",exact:""},{default:p(()=>[d(E,{avatar:""},{default:p(()=>[d(J,{name:"mail"})]),_:1}),d(E,null,{default:p(()=>[d(W,null,{default:p(()=>[...e[5]||(e[5]=[P("Mail Debug",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),d(Ye,null,{default:p(()=>[d(r)]),_:1})]),_:1})}}});export{Et as default}; diff --git a/backend/internal/http/static/spa/assets/ErrorNotFound-BakKVHVR.js b/backend/internal/http/static/spa/assets/ErrorNotFound-BakKVHVR.js new file mode 100644 index 0000000..e3feef3 --- /dev/null +++ b/backend/internal/http/static/spa/assets/ErrorNotFound-BakKVHVR.js @@ -0,0 +1 @@ +import{z as l,A as n,G as r,P as a,N as e,M as c,K as s,J as i,Q as d}from"./index-BMUcF_AE.js";const u={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},p={class:"text-h2",style:{opacity:"0.4"}},x=l({__name:"ErrorNotFound",setup(_){const{t}=n();return(f,o)=>(r(),a("div",u,[e("div",null,[o[0]||(o[0]=e("div",{style:{"font-size":"30vh"}},"404",-1)),e("div",p,c(s(t)("error.notFound")),1),i(d,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:s(t)("error.goHome"),"no-caps":""},null,8,["label"])])]))}});export{x as default}; diff --git a/backend/internal/http/static/spa/assets/ErrorNotFound-CYezCx4W.js b/backend/internal/http/static/spa/assets/ErrorNotFound-CYezCx4W.js deleted file mode 100644 index ab35642..0000000 --- a/backend/internal/http/static/spa/assets/ErrorNotFound-CYezCx4W.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as o}from"./QBtn-AYMizH8c.js";import{a as s,o as l,k as r,h as t,f as n}from"./index-QUdrNkKl.js";import"./render-B4qP-w0Q.js";const a={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},f=s({__name:"ErrorNotFound",setup(i){return(c,e)=>(l(),r("div",a,[t("div",null,[e[0]||(e[0]=t("div",{style:{"font-size":"30vh"}},"404",-1)),e[1]||(e[1]=t("div",{class:"text-h2",style:{opacity:"0.4"}},"Oops. Nothing here...",-1)),n(o,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])]))}});export{f as default}; diff --git a/backend/internal/http/static/spa/assets/IndexPage-0Ryt20QD.css b/backend/internal/http/static/spa/assets/IndexPage-0Ryt20QD.css deleted file mode 100644 index 27e9b8b..0000000 --- a/backend/internal/http/static/spa/assets/IndexPage-0Ryt20QD.css +++ /dev/null @@ -1 +0,0 @@ -.my-card[data-v-ab3d870b]{width:100%;max-width:250px} diff --git a/backend/internal/http/static/spa/assets/IndexPage-BC1EqBtT.js b/backend/internal/http/static/spa/assets/IndexPage-BC1EqBtT.js new file mode 100644 index 0000000..96ce698 --- /dev/null +++ b/backend/internal/http/static/spa/assets/IndexPage-BC1EqBtT.js @@ -0,0 +1 @@ +import{t as h,a as K,q as _,g as L,Z as W,E as Z,n as d,T as U,x as X,_ as Y,w as ee,$ as p,p as te,z as ae,A as le,F as ie,G as se,H as ne,I as a,N as s,J as l,a0 as m,a1 as T,M as n,K as o,L as v,O as oe,a2 as re,Q as z}from"./index-BMUcF_AE.js";import{Q as ue,a as B,b as R}from"./QItem-49cALKGJ.js";import{Q as ce}from"./QPage-DJ7xuyij.js";import{_ as de}from"./_plugin-vue_export-helper-DlAUqK2U.js";const me={ratio:[String,Number]};function ge(e,i){return h(()=>{const g=Number(e.ratio||(i!==void 0?i.value:void 0));return isNaN(g)!==!0&&g>0?{paddingBottom:`${100/g}%`}:null})}const fe=1.7778,S=K({name:"QImg",props:{...me,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:fe},placeholderSrc:String,errorSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:i,emit:g}){const r=_(e.initialRatio),y=ge(e,r),w=te(),{registerTimeout:D,removeTimeout:C}=L(),{registerTimeout:P,removeTimeout:j}=L(),I=h(()=>e.placeholderSrc!==void 0?{src:e.placeholderSrc}:null),$=h(()=>e.errorSrc!==void 0?{src:e.errorSrc,__qerror:!0}:null),u=[_(null),_(I.value)],c=_(0),b=_(!1),q=_(!1),A=h(()=>`q-img q-img--${e.noNativeMenu===!0?"no-":""}menu`),H=h(()=>({width:e.width,height:e.height})),M=h(()=>`q-img__image ${e.imgClass!==void 0?e.imgClass+" ":""}q-img__image--with${e.noTransition===!0?"out":""}-transition q-img__image--`),E=h(()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position}));function F(){if(j(),e.loadingShowDelay===0){b.value=!0;return}P(()=>{b.value=!0},e.loadingShowDelay)}function Q(){j(),b.value=!1}function O({target:t}){p(w)===!1&&(C(),r.value=t.naturalHeight===0?.5:t.naturalWidth/t.naturalHeight,N(t,1))}function N(t,f){f===1e3||p(w)===!0||(t.complete===!0?V(t):D(()=>{N(t,f+1)},50))}function V(t){p(w)!==!0&&(c.value=c.value^1,u[c.value].value=null,Q(),t.getAttribute("__qerror")!=="true"&&(q.value=!1),g("load",t.currentSrc||t.src))}function G(t){C(),Q(),q.value=!0,u[c.value].value=$.value,u[c.value^1].value=I.value,g("error",t)}function k(t){const f=u[t].value,x={key:"img_"+t,class:M.value,style:E.value,alt:e.alt,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...f};return c.value===t?Object.assign(x,{class:x.class+"current",onLoad:O,onError:G}):x.class+="loaded",d("div",{class:"q-img__container absolute-full",key:"img"+t},d("img",x))}function J(){return b.value===!1?d("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},X(i[q.value===!0?"error":"default"])):d("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},i.loading!==void 0?i.loading():e.noSpinner===!0?void 0:[d(Y,{color:e.spinnerColor,size:e.spinnerSize})])}{let t=function(){ee(()=>e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null,f=>{C(),q.value=!1,f===null?(Q(),u[c.value^1].value=I.value):F(),u[c.value].value=f},{immediate:!0})};W.value===!0?Z(t):t()}return()=>{const t=[];return y.value!==null&&t.push(d("div",{key:"filler",style:y.value})),u[0].value!==null&&t.push(k(0)),u[1].value!==null&&t.push(k(1)),t.push(d(U,{name:"q-transition--fade"},J)),d("div",{key:"main",class:A.value,style:H.value,role:"img","aria-label":e.alt},t)}}}),ve={class:"col-12 col-md-6"},he={class:"text-h6"},_e={class:"q-pa-md row items-start q-gutter-md"},Se={class:"text-h6"},ye={class:"text-subtitle2"},be={class:"absolute-bottom text-subtitle2 text-center"},qe={class:"absolute-bottom text-h6"},xe={class:"text-subtitle2 absolute-top text-center"},Te={class:"text-h5 absolute-bottom text-right"},we={class:"absolute-bottom"},Ce={class:"text-h6"},Ie={class:"text-subtitle2"},Qe=ae({__name:"IndexPage",setup(e){const{t:i}=le();return(g,r)=>{const y=ie("router-link");return se(),ne(ce,{class:"row items-center justify-evenly"},{default:a(()=>[s("div",ve,[l(m,{class:"q-mt-md"},{default:a(()=>[l(T,null,{default:a(()=>[s("div",he,n(o(i)("home.welcome")),1),s("p",null,[l(y,{to:"/dev"},{default:a(()=>[v(n(o(i)("app.devSection")),1)]),_:1})])]),_:1})]),_:1}),s("div",_e,[l(m,{class:"my-card"},{default:a(()=>[r[0]||(r[0]=s("img",{src:"https://cdn.quasar.dev/img/mountains.jpg"},null,-1)),l(T,null,{default:a(()=>[s("div",Se,n(o(i)("home.cardTitle")),1),s("div",ye,n(o(i)("home.cardSubtitle")),1)]),_:1}),l(T,{class:"q-pt-none"},{default:a(()=>[v(n(o(i)("home.lorem")),1)]),_:1})]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(S,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:a(()=>[s("div",be,n(o(i)("home.imageTitle")),1)]),_:1})]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(S,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:a(()=>[s("div",qe,n(o(i)("home.imageTitle")),1)]),_:1}),l(T,null,{default:a(()=>[v(n(o(i)("home.lorem")),1)]),_:1})]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(S,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:a(()=>[s("div",xe,n(o(i)("home.imageTitle")),1)]),_:1})]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(S,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:a(()=>[s("div",Te,n(o(i)("home.imageTitle")),1)]),_:1})]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(ue,null,{default:a(()=>[l(B,{avatar:""},{default:a(()=>[l(oe,null,{default:a(()=>[...r[1]||(r[1]=[s("img",{src:"https://cdn.quasar.dev/img/avatar2.jpg"},null,-1)])]),_:1})]),_:1}),l(B,null,{default:a(()=>[l(R,null,{default:a(()=>[v(n(o(i)("home.imageTitle")),1)]),_:1}),l(R,{caption:""},{default:a(()=>[v(n(o(i)("home.imageSubhead")),1)]),_:1})]),_:1})]),_:1}),r[2]||(r[2]=s("img",{src:"https://cdn.quasar.dev/img/parallax2.jpg"},null,-1))]),_:1}),l(m,{class:"my-card"},{default:a(()=>[l(S,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:a(()=>[s("div",we,[s("div",Ce,n(o(i)("home.cardTitle")),1),s("div",Ie,n(o(i)("home.cardSubtitle")),1)])]),_:1}),l(re,null,{default:a(()=>[l(z,{flat:""},{default:a(()=>[v(n(o(i)("home.action1")),1)]),_:1}),l(z,{flat:""},{default:a(()=>[v(n(o(i)("home.action2")),1)]),_:1})]),_:1})]),_:1})])])]),_:1})}}}),Le=de(Qe,[["__scopeId","data-v-3b9f8a73"]]);export{Le as default}; diff --git a/backend/internal/http/static/spa/assets/IndexPage-Bw2_3ZOE.js b/backend/internal/http/static/spa/assets/IndexPage-Bw2_3ZOE.js new file mode 100644 index 0000000..15ef00c --- /dev/null +++ b/backend/internal/http/static/spa/assets/IndexPage-Bw2_3ZOE.js @@ -0,0 +1 @@ +import{G as i,H as o,I as s,N as e,J as a,a0 as r,a1 as d,Q as n}from"./index-BMUcF_AE.js";import{Q as l}from"./QPage-DJ7xuyij.js";import{_ as c}from"./_plugin-vue_export-helper-DlAUqK2U.js";const m={},u={class:"admin-index-shell"},p={class:"col-12 col-md-auto"};function f(x,t){return i(),o(l,{class:"admin-index-page"},{default:s(()=>[e("div",u,[t[1]||(t[1]=e("p",{class:"eyebrow"},"Admin",-1)),t[2]||(t[2]=e("h1",null,"Control Center",-1)),t[3]||(t[3]=e("p",{class:"subtitle"},"Accesso rapido agli strumenti di amministrazione del backend.",-1)),a(r,{flat:"",bordered:"",class:"admin-entry-card"},{default:s(()=>[a(d,{class:"row items-center justify-between q-col-gutter-md"},{default:s(()=>[t[0]||(t[0]=e("div",{class:"col-12 col-md"},[e("div",{class:"text-overline text-primary"},"Gestione utenti"),e("div",{class:"text-h6"},"Users"),e("div",{class:"text-body2 text-grey-7"}," Crea, modifica ed elimina utenti con dettagli e preferenze. ")],-1)),e("div",p,[a(n,{color:"primary",icon:"manage_accounts",label:"Apri pagina utenti",to:"/admin/users"})])]),_:1})]),_:1})])]),_:1})}const v=c(m,[["render",f],["__scopeId","data-v-bdd1e17c"]]);export{v as default}; diff --git a/backend/internal/http/static/spa/assets/IndexPage-C3QXgr9t.js b/backend/internal/http/static/spa/assets/IndexPage-C3QXgr9t.js deleted file mode 100644 index 33fe335..0000000 --- a/backend/internal/http/static/spa/assets/IndexPage-C3QXgr9t.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as e}from"./QPage-gf8hzrox.js";import{a as o,o as t,e as a}from"./index-QUdrNkKl.js";import"./render-B4qP-w0Q.js";const _=o({__name:"IndexPage",setup(r){return(s,n)=>(t(),a(e,{class:"row items-center justify-evenly"}))}});export{_ as default}; diff --git a/backend/internal/http/static/spa/assets/IndexPage-CcU-Hr5w.css b/backend/internal/http/static/spa/assets/IndexPage-CcU-Hr5w.css new file mode 100644 index 0000000..b3618fa --- /dev/null +++ b/backend/internal/http/static/spa/assets/IndexPage-CcU-Hr5w.css @@ -0,0 +1 @@ +.my-card[data-v-3b9f8a73]{width:100%;max-width:250px} diff --git a/backend/internal/http/static/spa/assets/IndexPage-JYcDosFI.css b/backend/internal/http/static/spa/assets/IndexPage-JYcDosFI.css new file mode 100644 index 0000000..fae8246 --- /dev/null +++ b/backend/internal/http/static/spa/assets/IndexPage-JYcDosFI.css @@ -0,0 +1 @@ +.admin-index-page[data-v-bdd1e17c]{background:radial-gradient(circle at top left,rgba(33,150,243,.14),transparent 30%),linear-gradient(180deg,#f7fbff,#eef3f8)}.admin-index-shell[data-v-bdd1e17c]{max-width:960px;margin:0 auto;padding:32px 20px 48px}.eyebrow[data-v-bdd1e17c]{margin:0 0 10px;color:#1565c0;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1[data-v-bdd1e17c]{margin:0;font-size:clamp(2rem,4vw,3.3rem);line-height:1}.subtitle[data-v-bdd1e17c]{max-width:640px;margin:14px 0 28px;color:#546273;font-size:1rem}.admin-entry-card[data-v-bdd1e17c]{border-radius:24px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)} diff --git a/backend/internal/http/static/spa/assets/IndexPage-Q1bjj-ji.js b/backend/internal/http/static/spa/assets/IndexPage-Q1bjj-ji.js new file mode 100644 index 0000000..2566267 --- /dev/null +++ b/backend/internal/http/static/spa/assets/IndexPage-Q1bjj-ji.js @@ -0,0 +1 @@ +import{Q as e}from"./QPage-DJ7xuyij.js";import{z as t,G as a,H as o}from"./index-BMUcF_AE.js";const p=t({__name:"IndexPage",setup(r){return(s,n)=>(a(),o(e,{class:"row items-center justify-evenly"}))}});export{p as default}; diff --git a/backend/internal/http/static/spa/assets/IndexPage-VdxnZT-U.js b/backend/internal/http/static/spa/assets/IndexPage-VdxnZT-U.js deleted file mode 100644 index a00b57b..0000000 --- a/backend/internal/http/static/spa/assets/IndexPage-VdxnZT-U.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as c,a as x}from"./QCard-D_vcm7k9.js";import{p as s,s as A,q as v,v as K,x as U,y as o,T as X,z as Y,A as Z,a as ee,b as te,o as ae,e as le,w as l,h as n,f as i,g,t as B}from"./index-QUdrNkKl.js";import{a as ie,v as T,u as ne,b as oe,c as re,Q as k}from"./QBtn-AYMizH8c.js";import{h as se,a as ue}from"./render-B4qP-w0Q.js";import{u as N}from"./use-timeout-Jkrq6Sig.js";import{Q as de,a as L,b as p}from"./QItem-F5bzVaJB.js";import{Q as ce}from"./QCardActions-DlFyQG4S.js";import{Q as me}from"./QPage-gf8hzrox.js";import{_ as ge}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./use-dark-BRt0_t6X.js";const fe={ratio:[String,Number]};function ve(e,r){return s(()=>{const t=Number(e.ratio||(r!==void 0?r.value:void 0));return isNaN(t)!==!0&&t>0?{paddingBottom:`${100/t}%`}:null})}const Se=1.7778,y=A({name:"QImg",props:{...fe,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:Se},placeholderSrc:String,errorSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:r,emit:t}){const f=v(e.initialRatio),b=ve(e,f),S=Z(),{registerTimeout:D,removeTimeout:C}=N(),{registerTimeout:R,removeTimeout:z}=N(),w=s(()=>e.placeholderSrc!==void 0?{src:e.placeholderSrc}:null),$=s(()=>e.errorSrc!==void 0?{src:e.errorSrc,__qerror:!0}:null),u=[v(null),v(w.value)],d=v(0),h=v(!1),_=v(!1),M=s(()=>`q-img q-img--${e.noNativeMenu===!0?"no-":""}menu`),O=s(()=>({width:e.width,height:e.height})),H=s(()=>`q-img__image ${e.imgClass!==void 0?e.imgClass+" ":""}q-img__image--with${e.noTransition===!0?"out":""}-transition q-img__image--`),V=s(()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position}));function E(){if(z(),e.loadingShowDelay===0){h.value=!0;return}R(()=>{h.value=!0},e.loadingShowDelay)}function Q(){z(),h.value=!1}function F({target:a}){T(S)===!1&&(C(),f.value=a.naturalHeight===0?.5:a.naturalWidth/a.naturalHeight,I(a,1))}function I(a,m){m===1e3||T(S)===!0||(a.complete===!0?J(a):D(()=>{I(a,m+1)},50))}function J(a){T(S)!==!0&&(d.value=d.value^1,u[d.value].value=null,Q(),a.getAttribute("__qerror")!=="true"&&(_.value=!1),t("load",a.currentSrc||a.src))}function W(a){C(),Q(),_.value=!0,u[d.value].value=$.value,u[d.value^1].value=w.value,t("error",a)}function j(a){const m=u[a].value,q={key:"img_"+a,class:H.value,style:V.value,alt:e.alt,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...m};return d.value===a?Object.assign(q,{class:q.class+"current",onLoad:F,onError:W}):q.class+="loaded",o("div",{class:"q-img__container absolute-full",key:"img"+a},o("img",q))}function G(){return h.value===!1?o("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},se(r[_.value===!0?"error":"default"])):o("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},r.loading!==void 0?r.loading():e.noSpinner===!0?void 0:[o(ie,{color:e.spinnerColor,size:e.spinnerSize})])}{let a=function(){Y(()=>e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null,m=>{C(),_.value=!1,m===null?(Q(),u[d.value^1].value=w.value):E(),u[d.value].value=m},{immediate:!0})};K.value===!0?U(a):a()}return()=>{const a=[];return b.value!==null&&a.push(o("div",{key:"filler",style:b.value})),u[0].value!==null&&a.push(j(0)),u[1].value!==null&&a.push(j(1)),a.push(o(X,{name:"q-transition--fade"},G)),o("div",{key:"main",class:M.value,style:O.value,role:"img","aria-label":e.alt},a)}}}),ye=A({name:"QAvatar",props:{...ne,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:r}){const t=re(e),f=s(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(e.square===!0?" q-avatar--square":e.rounded===!0?" rounded-borders":"")),b=s(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const S=e.icon!==void 0?[o(oe,{name:e.icon})]:void 0;return o("div",{class:f.value,style:t.value},[o("div",{class:"q-avatar__content row flex-center overflow-hidden",style:b.value},ue(r.default,S))])}}}),be={class:"col-12 col-md-6"},he={class:"q-pa-md row items-start q-gutter-md"},P="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",_e=ee({__name:"IndexPage",setup(e){return(r,t)=>{const f=te("router-link");return ae(),le(me,{class:"row items-center justify-evenly"},{default:l(()=>[n("div",be,[i(c,{class:"q-mt-md"},{default:l(()=>[i(x,null,{default:l(()=>[t[1]||(t[1]=n("div",{class:"text-h6"},"Benvenuto!",-1)),n("p",null,[i(f,{to:"/dev"},{default:l(()=>[...t[0]||(t[0]=[g("Sezione sviluppo",-1)])]),_:1})])]),_:1})]),_:1}),n("div",he,[i(c,{class:"my-card"},{default:l(()=>[t[3]||(t[3]=n("img",{src:"https://cdn.quasar.dev/img/mountains.jpg"},null,-1)),i(x,null,{default:l(()=>[...t[2]||(t[2]=[n("div",{class:"text-h6"},"Our Changing Planet",-1),n("div",{class:"text-subtitle2"},"by John Doe",-1)])]),_:1}),i(x,{class:"q-pt-none"},{default:l(()=>[g(B(P))]),_:1})]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(y,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:l(()=>[...t[4]||(t[4]=[n("div",{class:"absolute-bottom text-subtitle2 text-center"},"Title",-1)])]),_:1})]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(y,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:l(()=>[...t[5]||(t[5]=[n("div",{class:"absolute-bottom text-h6"},"Title",-1)])]),_:1}),i(x,null,{default:l(()=>[g(B(P))]),_:1})]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(y,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:l(()=>[...t[6]||(t[6]=[n("div",{class:"text-subtitle2 absolute-top text-center"},"Title",-1)])]),_:1})]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(y,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:l(()=>[...t[7]||(t[7]=[n("div",{class:"text-h5 absolute-bottom text-right"},"Title",-1)])]),_:1})]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(de,null,{default:l(()=>[i(L,{avatar:""},{default:l(()=>[i(ye,null,{default:l(()=>[...t[8]||(t[8]=[n("img",{src:"https://cdn.quasar.dev/img/avatar2.jpg"},null,-1)])]),_:1})]),_:1}),i(L,null,{default:l(()=>[i(p,null,{default:l(()=>[...t[9]||(t[9]=[g("Title",-1)])]),_:1}),i(p,{caption:""},{default:l(()=>[...t[10]||(t[10]=[g("Subhead",-1)])]),_:1})]),_:1})]),_:1}),t[11]||(t[11]=n("img",{src:"https://cdn.quasar.dev/img/parallax2.jpg"},null,-1))]),_:1}),i(c,{class:"my-card"},{default:l(()=>[i(y,{src:"https://cdn.quasar.dev/img/parallax2.jpg"},{default:l(()=>[...t[12]||(t[12]=[n("div",{class:"absolute-bottom"},[n("div",{class:"text-h6"},"Our Changing Planet"),n("div",{class:"text-subtitle2"},"by John Doe")],-1)])]),_:1}),i(ce,null,{default:l(()=>[i(k,{flat:""},{default:l(()=>[...t[13]||(t[13]=[g("Action 1",-1)])]),_:1}),i(k,{flat:""},{default:l(()=>[...t[14]||(t[14]=[g("Action 2",-1)])]),_:1})]),_:1})]),_:1})])])]),_:1})}}}),ke=ge(_e,[["__scopeId","data-v-ab3d870b"]]);export{ke as default}; diff --git a/backend/internal/http/static/spa/assets/LoginPage-BZ9IbcZT.css b/backend/internal/http/static/spa/assets/LoginPage-BZ9IbcZT.css new file mode 100644 index 0000000..d2cf795 --- /dev/null +++ b/backend/internal/http/static/spa/assets/LoginPage-BZ9IbcZT.css @@ -0,0 +1 @@ +.auth-page[data-v-e726952b]{background:linear-gradient(180deg,#f7fafc,#e9f0f7)}.auth-shell[data-v-e726952b]{max-width:520px;margin:0 auto;padding:40px 20px}.auth-card[data-v-e726952b]{border-radius:24px}.auth-form[data-v-e726952b]{display:grid;gap:14px}.auth-links[data-v-e726952b]{display:flex;justify-content:space-between;gap:12px} diff --git a/backend/internal/http/static/spa/assets/LoginPage-BjWca3X3.js b/backend/internal/http/static/spa/assets/LoginPage-BjWca3X3.js new file mode 100644 index 0000000..bfe362d --- /dev/null +++ b/backend/internal/http/static/spa/assets/LoginPage-BjWca3X3.js @@ -0,0 +1 @@ +import{z as y,B as _,F as Q,G as b,H as x,I as s,N as n,J as e,a0 as V,a1 as u,R as p,a3 as C,a4 as f,U as k,Q as P,L as c,q as v,a5 as B}from"./index-BMUcF_AE.js";import{Q as L}from"./QForm-BGdu5I02.js";import{Q as I}from"./QPage-DJ7xuyij.js";import{u as N}from"./use-quasar-5x8FEK03.js";import{l as S}from"./api-RGUeM09o.js";import{_ as h}from"./_plugin-vue_export-helper-DlAUqK2U.js";const A={class:"auth-shell"},E=y({__name:"LoginPage",setup(U){const g=_(),d=N(),i=v(!1),r=v(!1),o=B({username:"",password:""});async function w(){i.value=!0;try{const t=await S({username:o.username.trim(),password:o.password});if(t.error)throw new Error(t.error);d.notify({type:"positive",message:"Login effettuato."}),await g.push("/")}catch(t){d.notify({type:"negative",message:t instanceof Error?t.message:String(t)})}finally{i.value=!1}}return(t,a)=>{const m=Q("router-link");return b(),x(I,{class:"auth-page"},{default:s(()=>[n("div",A,[e(V,{flat:"",bordered:"",class:"auth-card"},{default:s(()=>[e(u,null,{default:s(()=>[...a[3]||(a[3]=[n("div",{class:"text-overline text-primary"},"Accesso",-1),n("div",{class:"text-h4"},"Login",-1),n("div",{class:"text-body2 text-grey-7"},"Accedi con email e password.",-1)])]),_:1}),e(p),e(u,null,{default:s(()=>[e(L,{class:"auth-form",onSubmit:C(w,["prevent"])},{default:s(()=>[e(f,{modelValue:o.username,"onUpdate:modelValue":a[0]||(a[0]=l=>o.username=l),outlined:"",type:"email",label:"Email",autocomplete:"username"},null,8,["modelValue"]),e(f,{modelValue:o.password,"onUpdate:modelValue":a[2]||(a[2]=l=>o.password=l),outlined:"",type:r.value?"text":"password",label:"Password",autocomplete:"current-password"},{append:s(()=>[e(k,{name:r.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:a[1]||(a[1]=l=>r.value=!r.value)},null,8,["name"])]),_:1},8,["modelValue","type"]),e(P,{color:"primary",label:"Accedi",type:"submit",loading:i.value},null,8,["loading"])]),_:1})]),_:1}),e(p),e(u,{class:"auth-links"},{default:s(()=>[e(m,{to:"/recoverpassword"},{default:s(()=>[...a[4]||(a[4]=[c("Password dimenticata?",-1)])]),_:1}),e(m,{to:"/signup"},{default:s(()=>[...a[5]||(a[5]=[c("Crea account",-1)])]),_:1})]),_:1})]),_:1})])]),_:1})}}}),H=h(E,[["__scopeId","data-v-e726952b"]]);export{H as default}; diff --git a/backend/internal/http/static/spa/assets/MailDebugPage-Vohpu_Xd.js b/backend/internal/http/static/spa/assets/MailDebugPage-Vohpu_Xd.js new file mode 100644 index 0000000..f48c085 --- /dev/null +++ b/backend/internal/http/static/spa/assets/MailDebugPage-Vohpu_Xd.js @@ -0,0 +1 @@ +import{z as E,E as H,G as r,H as A,I as f,N as t,L as v,J as n,a0 as P,a1 as z,Q as k,R as F,P as m,M as g,V as x,q as b,t as _}from"./index-BMUcF_AE.js";import{e as Z}from"./QSelect-mICoVsXS.js";import{Q as I}from"./QPage-DJ7xuyij.js";import{u as R}from"./use-quasar-5x8FEK03.js";import{e as q}from"./api-RGUeM09o.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./QItem-49cALKGJ.js";import"./format-4vRgyZVr.js";const G={class:"mail-debug-shell"},J={key:0,class:"error-box"},O={key:1,class:"empty-state"},U={key:2,class:"preview-grid"},K={class:"meta-column"},W={key:0,class:"meta-line"},X={key:1,class:"meta-line"},Y={class:"preview-column"},ee=["srcdoc"],ae=E({__name:"MailDebugPage",setup(le){const M=R(),p=b(!1),o=b([]),s=b(null),u=b(""),$=_(()=>o.value.map((a,e)=>({label:N(a.name||`Mail ${e+1}`).displayName,value:e}))),i=_(()=>s.value===null?null:o.value[s.value]??null),c=_(()=>i.value?N(i.value.name):{displayName:"",email:null,localDate:null}),S=_(()=>C(i.value?.content??""));function C(a){const e='';return/]*>/i.test(a)?a.replace(/]*>/i,l=>`${l}${e}`):`${e}${a}`}function N(a){const e=a.replace(/\.eml$/i,""),l=e.match(/^(\d{10,20})_(.+)$/);let d=e,y=null;l?.[1]&&l[2]&&(y=l[1],d=l[2]);const w=d.replace(/_at_/gi,"@"),h=w.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/),B=(y?L(y):null)??Q(e);return{displayName:h?.[0]??w,email:h?h[0]:null,localDate:B}}function L(a){const e=Number(a);if(!Number.isFinite(e))return null;let l=e;a.length>=19?l=Math.floor(e/1e6):a.length>=16?l=Math.floor(e/1e3):a.length<=10&&(l=e*1e3);const d=new Date(l);return Number.isNaN(d.getTime())?null:d.toLocaleString()}function Q(a){const e=a.match(/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?)/);if(e)return D(e[0]);const l=a.match(/(\d{4}-\d{2}-\d{2}[ _]\d{2}[-:]\d{2}[-:]\d{2})/);return l?D(l[0]):null}function D(a){const e=a.replace(" ","T").replace(/(T\d{2})-(\d{2})-(\d{2})$/,"$1:$2:$3"),l=new Date(e);return Number.isNaN(l.getTime())?a:l.toLocaleString()}async function T(){p.value=!0,u.value="";try{const a=await q();if(a.error){u.value=a.error,o.value=[],s.value=null;return}o.value=Array.isArray(a.data)?a.data:[],s.value=o.value.length>0?0:null}catch(a){u.value=a instanceof Error?a.message:String(a),o.value=[],s.value=null}finally{p.value=!1}}async function V(){if(i.value)try{await navigator.clipboard.writeText(i.value.content),M.notify({type:"positive",message:"HTML copiato negli appunti",position:"top-right"})}catch{M.notify({type:"negative",message:"Copia non riuscita",position:"top-right"})}}return H(async()=>{await T()}),(a,e)=>(r(),A(I,{class:"mail-debug-page"},{default:f(()=>[t("div",G,[e[5]||(e[5]=t("header",{class:"mail-debug-header"},[t("p",{class:"eyebrow"},"Developer tools"),t("h1",null,"Mail Debug"),t("p",{class:"subtitle"},[v(" Seleziona una mail da "),t("strong",null,"/maildebug"),v(" e visualizza l'HTML renderizzato. ")])],-1)),n(P,{flat:"",bordered:"",class:"mail-debug-card"},{default:f(()=>[n(z,{class:"controls"},{default:f(()=>[n(k,{color:"primary",icon:"refresh",label:"Aggiorna lista",loading:p.value,onClick:T},null,8,["loading"]),n(Z,{modelValue:s.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.value=l),options:$.value,"option-label":"label","option-value":"value","emit-value":"","map-options":"",outlined:"",dense:"",label:"Seleziona mail",class:"mail-select",disable:p.value||o.value.length===0},null,8,["modelValue","options","disable"])]),_:1}),n(F),n(z,null,{default:f(()=>[u.value?(r(),m("div",J,g(u.value),1)):i.value?(r(),m("div",U,[t("div",K,[e[3]||(e[3]=t("p",{class:"meta-label"},"Nome mail",-1)),t("h2",null,g(c.value.displayName),1),c.value.email?(r(),m("p",W,[e[1]||(e[1]=t("strong",null,"Email:",-1)),v(" "+g(c.value.email),1)])):x("",!0),c.value.localDate?(r(),m("p",X,[e[2]||(e[2]=t("strong",null,"Data locale:",-1)),v(" "+g(c.value.localDate),1)])):x("",!0),n(k,{flat:"",color:"secondary",icon:"content_copy",label:"Copia HTML",onClick:V})]),t("div",Y,[e[4]||(e[4]=t("p",{class:"meta-label"},"Render HTML",-1)),t("iframe",{class:"preview-frame",srcdoc:S.value,sandbox:"allow-popups allow-popups-to-escape-sandbox",title:"Mail HTML preview"},null,8,ee)])])):(r(),m("div",O,"Nessuna mail selezionata."))]),_:1})]),_:1})])]),_:1}))}}),pe=j(ae,[["__scopeId","data-v-1b5b3a76"]]);export{pe as default}; diff --git a/backend/internal/http/static/spa/assets/MailDebugPage-dW3_TCwt.js b/backend/internal/http/static/spa/assets/MailDebugPage-dW3_TCwt.js deleted file mode 100644 index 9a2b398..0000000 --- a/backend/internal/http/static/spa/assets/MailDebugPage-dW3_TCwt.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as k}from"./QBtn-AYMizH8c.js";import{Q as A}from"./QSelect-QjDUAbKc.js";import{Q as E,a as x}from"./QCard-D_vcm7k9.js";import{Q as H,e as Z}from"./api-rhge6pbe.js";import{Q as F}from"./QPage-gf8hzrox.js";import{M as P,a3 as q,a as j,x as I,o as r,e as R,w as f,h as t,g as v,f as n,k as m,t as g,Z as z,q as b,p as y}from"./index-QUdrNkKl.js";import{_ as K}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./render-B4qP-w0Q.js";import"./use-key-composition-TTwP9QMZ.js";import"./use-dark-BRt0_t6X.js";import"./QItem-F5bzVaJB.js";import"./format-GjIIeqP4.js";import"./use-prevent-scroll-eZQDeoK_.js";import"./QDialog-BcbjPBVh.js";import"./use-timeout-Jkrq6Sig.js";function O(){return P(q)}const U={class:"mail-debug-shell"},G={key:0,class:"error-box"},J={key:1,class:"empty-state"},W={key:2,class:"preview-grid"},X={class:"meta-column"},Y={key:0,class:"meta-line"},ee={key:1,class:"meta-line"},ae={class:"preview-column"},le=["srcdoc"],te=j({__name:"MailDebugPage",setup(oe){const M=O(),p=b(!1),o=b([]),s=b(null),u=b(""),Q=y(()=>o.value.map((a,e)=>({label:N(a.name||`Mail ${e+1}`).displayName,value:e}))),i=y(()=>s.value===null?null:o.value[s.value]??null),c=y(()=>i.value?N(i.value.name):{displayName:"",email:null,localDate:null}),$=y(()=>S(i.value?.content??""));function S(a){const e='';return/]*>/i.test(a)?a.replace(/]*>/i,l=>`${l}${e}`):`${e}${a}`}function N(a){const e=a.replace(/\.eml$/i,""),l=e.match(/^(\d{10,20})_(.+)$/);let d=e,_=null;l?.[1]&&l[2]&&(_=l[1],d=l[2]);const w=d.replace(/_at_/gi,"@"),h=w.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/),V=(_?C(_):null)??L(e);return{displayName:h?.[0]??w,email:h?h[0]:null,localDate:V}}function C(a){const e=Number(a);if(!Number.isFinite(e))return null;let l=e;a.length>=19?l=Math.floor(e/1e6):a.length>=16?l=Math.floor(e/1e3):a.length<=10&&(l=e*1e3);const d=new Date(l);return Number.isNaN(d.getTime())?null:d.toLocaleString()}function L(a){const e=a.match(/(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?)/);if(e)return D(e[0]);const l=a.match(/(\d{4}-\d{2}-\d{2}[ _]\d{2}[-:]\d{2}[-:]\d{2})/);return l?D(l[0]):null}function D(a){const e=a.replace(" ","T").replace(/(T\d{2})-(\d{2})-(\d{2})$/,"$1:$2:$3"),l=new Date(e);return Number.isNaN(l.getTime())?a:l.toLocaleString()}async function T(){p.value=!0,u.value="";try{const a=await Z();if(a.error){u.value=a.error,o.value=[],s.value=null;return}o.value=Array.isArray(a.data)?a.data:[],s.value=o.value.length>0?0:null}catch(a){u.value=a instanceof Error?a.message:String(a),o.value=[],s.value=null}finally{p.value=!1}}async function B(){if(i.value)try{await navigator.clipboard.writeText(i.value.content),M.notify({type:"positive",message:"HTML copiato negli appunti",position:"top-right"})}catch{M.notify({type:"negative",message:"Copia non riuscita",position:"top-right"})}}return I(async()=>{await T()}),(a,e)=>(r(),R(F,{class:"mail-debug-page"},{default:f(()=>[t("div",U,[e[5]||(e[5]=t("header",{class:"mail-debug-header"},[t("p",{class:"eyebrow"},"Developer tools"),t("h1",null,"Mail Debug"),t("p",{class:"subtitle"},[v(" Seleziona una mail da "),t("strong",null,"/maildebug"),v(" e visualizza l'HTML renderizzato. ")])],-1)),n(E,{flat:"",bordered:"",class:"mail-debug-card"},{default:f(()=>[n(x,{class:"controls"},{default:f(()=>[n(k,{color:"primary",icon:"refresh",label:"Aggiorna lista",loading:p.value,onClick:T},null,8,["loading"]),n(A,{modelValue:s.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.value=l),options:Q.value,"option-label":"label","option-value":"value","emit-value":"","map-options":"",outlined:"",dense:"",label:"Seleziona mail",class:"mail-select",disable:p.value||o.value.length===0},null,8,["modelValue","options","disable"])]),_:1}),n(H),n(x,null,{default:f(()=>[u.value?(r(),m("div",G,g(u.value),1)):i.value?(r(),m("div",W,[t("div",X,[e[3]||(e[3]=t("p",{class:"meta-label"},"Nome mail",-1)),t("h2",null,g(c.value.displayName),1),c.value.email?(r(),m("p",Y,[e[1]||(e[1]=t("strong",null,"Email:",-1)),v(" "+g(c.value.email),1)])):z("",!0),c.value.localDate?(r(),m("p",ee,[e[2]||(e[2]=t("strong",null,"Data locale:",-1)),v(" "+g(c.value.localDate),1)])):z("",!0),n(k,{flat:"",color:"secondary",icon:"content_copy",label:"Copia HTML",onClick:B})]),t("div",ae,[e[4]||(e[4]=t("p",{class:"meta-label"},"Render HTML",-1)),t("iframe",{class:"preview-frame",srcdoc:$.value,sandbox:"allow-popups allow-popups-to-escape-sandbox",title:"Mail HTML preview"},null,8,le)])])):(r(),m("div",J,"Nessuna mail selezionata."))]),_:1})]),_:1})])]),_:1}))}}),Ne=K(te,[["__scopeId","data-v-1b5b3a76"]]);export{Ne as default}; diff --git a/backend/internal/http/static/spa/assets/MainLayout-C9btjnC2.js b/backend/internal/http/static/spa/assets/MainLayout-C9btjnC2.js new file mode 100644 index 0000000..96895bd --- /dev/null +++ b/backend/internal/http/static/spa/assets/MainLayout-C9btjnC2.js @@ -0,0 +1 @@ +import{a as _e,u as we,s as ye,b as I,e as be,f as xe,g as ke,h as Se,i as Me,w as N,o as G,j as J,k as K,m as Te,n as X,T as Le,p as He,q as Q,t as v,v as ze,x as Ce,y as Pe,z as Qe,A as Ee,B as Oe,C as Be,D as Ae,E as Ve,F as De,G as c,H as L,I as e,J as t,Q as q,K as Y,L as _,M as d,N as H,O as Ie,P as x,R as qe,S as Z,U as ee,V as Fe,W as Ne,X as Ue,Y as te}from"./index-BMUcF_AE.js";import{Q as je,a as Re,b as $e,c as We,d as Ge}from"./QLayout-BFNq0ssN.js";import{v as Je,a as ae,u as Ke,b as Xe,c as Ye,d as Ze,r as le,s as et,p as se,Q as tt,e as at}from"./QSelect-mICoVsXS.js";import{c as oe}from"./format-4vRgyZVr.js";import{Q as P,a as w,b as F}from"./QItem-49cALKGJ.js";import{Q as lt}from"./QResizeObserver-UV_Ef03s.js";import{C as ne}from"./ClosePopup-NcxzGtHY.js";import{m as st}from"./api-RGUeM09o.js";import{_ as ot}from"./_plugin-vue_export-helper-DlAUqK2U.js";const nt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-ch'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='red'%20d='M0%200h640v480H0z'/%3e%3cg%20fill='%23fff'%3e%3cpath%20d='M170%20195h300v90H170z'/%3e%3cpath%20d='M275%2090h90v300h-90z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",it="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-de'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fc0'%20d='M0%20320h640v160H0z'/%3e%3cpath%20fill='%23000001'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='red'%20d='M0%20160h640v160H0z'/%3e%3c/svg%3e",rt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-gb'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23012169'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23FFF'%20d='m75%200%20244%20181L562%200h78v62L400%20241l240%20178v61h-80L320%20301%2081%20480H0v-60l239-178L0%2064V0z'/%3e%3cpath%20fill='%23C8102E'%20d='m424%20281%20216%20159v40L369%20281zm-184%2020%206%2035L54%20480H0zM640%200v3L391%20191l2-44L590%200zM0%200l239%20176h-60L0%2042z'/%3e%3cpath%20fill='%23FFF'%20d='M241%200v480h160V0zM0%20160v160h640V160z'/%3e%3cpath%20fill='%23C8102E'%20d='M0%20193v96h640v-96zM273%200v480h96V0z'/%3e%3c/svg%3e",ct="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-us'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23bd3d44'%20d='M0%200h640v480H0'/%3e%3cpath%20stroke='%23fff'%20stroke-width='37'%20d='M0%2055.3h640M0%20129h640M0%20203h640M0%20277h640M0%20351h640M0%20425h640'/%3e%3cpath%20fill='%23192f5d'%20d='M0%200h364.8v258.5H0'/%3e%3cmarker%20id='us-a'%20markerHeight='30'%20markerWidth='30'%3e%3cpath%20fill='%23fff'%20d='m14%200%209%2027L0%2010h28L5%2027z'/%3e%3c/marker%3e%3cpath%20fill='none'%20marker-mid='url(%23us-a)'%20d='m0%200%2016%2011h61%2061%2061%2061%2060L47%2037h61%2061%2060%2061L16%2063h61%2061%2061%2061%2060L47%2089h61%2061%2060%2061L16%20115h61%2061%2061%2061%2060L47%20141h61%2061%2060%2061L16%20166h61%2061%2061%2061%2060L47%20192h61%2061%2060%2061L16%20218h61%2061%2061%2061%2060z'/%3e%3c/svg%3e",ut="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-fr'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23000091'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23e1000f'%20d='M426.7%200H640v480H426.7z'/%3e%3c/svg%3e",dt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-it'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23009246'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23ce2b37'%20d='M426.7%200H640v480H426.7z'/%3e%3c/g%3e%3c/svg%3e",ft=_e({name:"QTooltip",inheritAttrs:!1,props:{...Ke,...be,...I,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...I.transitionShow,default:"jump-down"},transitionHide:{...I.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:ae},self:{type:String,default:"top middle",validator:ae},offset:{type:Array,default:()=>[14,14],validator:Je},scrollTarget:ye,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...we],setup(a,{slots:k,emit:z,attrs:S}){let f,h;const s=He(),{proxy:{$q:r}}=s,g=Q(null),y=Q(!1),E=v(()=>se(a.anchor,r.lang.rtl)),O=v(()=>se(a.self,r.lang.rtl)),B=v(()=>a.persistent!==!0),{registerTick:A,removeTick:C}=xe(),{registerTimeout:b}=ke(),{transitionProps:o,transitionStyle:n}=ze(a),{localScrollTarget:m,changeScrollEvent:l,unconfigureScrollTarget:ie}=Xe(a,$),{anchorEl:u,canShow:re,anchorEvents:M}=Ye({showing:y,configureAnchorEl:ge}),{show:ce,hide:V}=Se({showing:y,canShow:re,handleShow:de,handleHide:fe,hideOnRouteChange:B,processOnMount:!0});Object.assign(M,{delayShow:he,delayHide:ve});const{showPortal:U,hidePortal:j,renderPortal:ue}=Me(s,g,pe,"tooltip");if(r.platform.is.mobile===!0){const i={anchorEl:u,innerRef:g,onClickOutside(p){return V(p),p.target.classList.contains("q-dialog__backdrop")&&Pe(p),!0}},D=v(()=>a.modelValue===null&&a.persistent!==!0&&y.value===!0);N(D,p=>{(p===!0?Ze:le)(i)}),G(()=>{le(i)})}function de(i){U(),A(()=>{h=new MutationObserver(()=>T()),h.observe(g.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),T(),$()}),f===void 0&&(f=N(()=>r.screen.width+"|"+r.screen.height+"|"+a.self+"|"+a.anchor+"|"+r.lang.rtl,T)),b(()=>{U(!0),z("show",i)},a.transitionDuration)}function fe(i){C(),j(),R(),b(()=>{j(!0),z("hide",i)},a.transitionDuration)}function R(){h!==void 0&&(h.disconnect(),h=void 0),f!==void 0&&(f(),f=void 0),ie(),J(M,"tooltipTemp")}function T(){et({targetEl:g.value,offset:a.offset,anchorEl:u.value,anchorOrigin:E.value,selfOrigin:O.value,maxHeight:a.maxHeight,maxWidth:a.maxWidth})}function he(i){if(r.platform.is.mobile===!0){oe(),document.body.classList.add("non-selectable");const D=u.value,p=["touchmove","touchcancel","touchend","click"].map(W=>[D,W,"delayHide","passiveCapture"]);K(M,"tooltipTemp",p)}b(()=>{ce(i)},a.delay)}function ve(i){r.platform.is.mobile===!0&&(J(M,"tooltipTemp"),oe(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),b(()=>{V(i)},a.hideDelay)}function ge(){if(a.noParentEvent===!0||u.value===null)return;const i=r.platform.is.mobile===!0?[[u.value,"touchstart","delayShow","passive"]]:[[u.value,"mouseenter","delayShow","passive"],[u.value,"mouseleave","delayHide","passive"]];K(M,"anchor",i)}function $(){if(u.value!==null||a.scrollTarget!==void 0){m.value=Te(u.value,a.scrollTarget);const i=a.noParentEvent===!0?T:V;l(m.value,i)}}function me(){return y.value===!0?X("div",{...S,ref:g,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",S.class],style:[S.style,n.value],role:"tooltip"},Ce(k.default)):null}function pe(){return X(Le,o.value,me)}return G(R),Object.assign(s.proxy,{updatePosition:T}),ue}}),ht={class:"q-ml-md"},vt=["src","alt"],gt={key:1},mt={class:"q-ml-md"},pt={class:"row items-center no-wrap"},_t=["src","alt"],wt={key:1,class:"lang-fallback"},yt={class:"bold text-white q-ml-md"},bt=["src","alt"],xt={key:1,class:"lang-fallback"},kt=Qe({__name:"MainLayout",setup(a){const{t:k}=Ee(),z=Oe(),S=Be(),f=Q(!1),h=Ae(),s=Q(null),r=v({get:()=>h.language,set:o=>{h.setLanguage(o)}}),g=Object.assign({"../assets/flags/ch.svg":nt,"../assets/flags/de.svg":it,"../assets/flags/en.svg":rt,"../assets/flags/en_us.svg":ct,"../assets/flags/fr.svg":ut,"../assets/flags/it.svg":dt}),y=[{code:"it",short_name:"IT",flag:"it.svg",style:"width:32px;height:22px;"},{code:"en",short_name:"EN",flag:"en.svg",style:"width:32px;height:22px;"},{code:"en_us",short_name:"EN",flag:"en_us.svg",style:"width:32px;height:22px;"},{code:"de",short_name:"DE",flag:"de.svg",style:"width:32px;height:22px;"},{code:"de_ch",short_name:"DE",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"},{code:"fr",short_name:"FR",flag:"fr.svg",style:"width:32px;height:22px;"},{code:"fr_ch",short_name:"FR",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"}],E=v(()=>y.map(o=>({label:k(`language.${o.code}`),value:o.code,flagSrc:g[`../assets/flags/${o.flag}`]??null,flagStyle:o.style,short_name:o.short_name}))),O=v(()=>s.value?.roles.includes("admin")??!1),B=v(()=>{const n=(s.value?.name?.trim()||s.value?.email?.trim()||"?").split(/\s+/).filter(Boolean),m=n[0]??"",l=n[1]??"";return n.length>1?`${m.charAt(0)}${l.charAt(0)}`.toUpperCase():m.slice(0,2).toUpperCase()});Ve(async()=>{await C()}),N(()=>S.fullPath,async()=>{await C()});function A(){f.value=!f.value}async function C(){if(typeof window>"u"||!window.localStorage.getItem("Auth-Token")){s.value=null;return}const o=await st();s.value=o.error?null:o.data}async function b(){typeof window<"u"&&window.localStorage.removeItem("Auth-Token"),s.value=null,await z.push("/")}return(o,n)=>{const m=De("router-view");return c(),L(Ge,{view:"lHh Lpr lFf"},{default:e(()=>[t(je,{elevated:""},{default:e(()=>[t(Re,null,{default:e(()=>[t(q,{flat:"",dense:"",round:"",icon:"menu","aria-label":Y(k)("app.menu"),onClick:A},null,8,["aria-label"]),t($e,null,{default:e(()=>[_(d(Y(k)("app.title")),1)]),_:1}),H("div",null,"Quasar v"+d(o.$q.version),1),H("div",ht,[s.value?(c(),L(q,{key:1,flat:"",round:"",dense:""},{default:e(()=>[t(Ie,{size:"34px",class:"user-avatar"},{default:e(()=>[s.value.avatar?(c(),x("img",{key:0,src:s.value.avatar,alt:s.value.name},null,8,vt)):(c(),x("span",gt,d(B.value),1))]),_:1}),t(tt,{anchor:"bottom right",self:"top right"},{default:e(()=>[t(lt,{dense:"",style:{"min-width":"190px"}},{default:e(()=>[t(P,null,{default:e(()=>[t(w,null,{default:e(()=>[t(F,null,{default:e(()=>[_(d(s.value.name),1)]),_:1}),t(F,{caption:""},{default:e(()=>[_(d(s.value.email),1)]),_:1})]),_:1})]),_:1}),t(qe),O.value?Z((c(),L(P,{key:0,clickable:"",to:"/admin"},{default:e(()=>[t(w,{avatar:""},{default:e(()=>[t(ee,{name:"admin_panel_settings"})]),_:1}),t(w,null,{default:e(()=>[...n[2]||(n[2]=[_("Admin",-1)])]),_:1})]),_:1})),[[ne]]):Fe("",!0),Z((c(),L(P,{clickable:"",onClick:b},{default:e(()=>[t(w,{avatar:""},{default:e(()=>[t(ee,{name:"logout"})]),_:1}),t(w,null,{default:e(()=>[...n[3]||(n[3]=[_("Logout",-1)])]),_:1})]),_:1})),[[ne]])]),_:1})]),_:1})]),_:1})):(c(),L(q,{key:0,flat:"",round:"",color:"white",icon:"lock",to:"/login"},{default:e(()=>[t(ft,null,{default:e(()=>[...n[1]||(n[1]=[_("Login",-1)])]),_:1})]),_:1}))]),H("div",mt,[t(at,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=l=>r.value=l),options:E.value,"option-label":"label","option-value":"value","emit-value":"","map-options":"",class:"q-select",dark:""},{"selected-item":e(l=>[H("div",pt,[l.opt.flagSrc?(c(),x("img",{key:0,class:"border",src:l.opt.flagSrc,alt:l.opt.label,style:te(l.opt.flagStyle)},null,12,_t)):(c(),x("span",wt,d(l.opt.value.toUpperCase()),1)),H("span",yt,d(l.opt.short_name),1)])]),option:e(l=>[t(P,Ne(Ue(l.itemProps)),{default:e(()=>[t(w,{avatar:""},{default:e(()=>[l.opt.flagSrc?(c(),x("img",{key:0,src:l.opt.flagSrc,alt:l.opt.label,style:te(l.opt.flagStyle)},null,12,bt)):(c(),x("span",xt,d(l.opt.value.toUpperCase()),1))]),_:2},1024),t(w,null,{default:e(()=>[t(F,null,{default:e(()=>[_(d(l.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options"])])]),_:1})]),_:1}),t(We,null,{default:e(()=>[t(m)]),_:1})]),_:1})}}}),Et=ot(kt,[["__scopeId","data-v-555712ae"]]);export{Et as default}; diff --git a/backend/internal/http/static/spa/assets/MainLayout-Dnh2wyjy.js b/backend/internal/http/static/spa/assets/MainLayout-Dnh2wyjy.js deleted file mode 100644 index 13f37cf..0000000 --- a/backend/internal/http/static/spa/assets/MainLayout-Dnh2wyjy.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as w}from"./QBtn-AYMizH8c.js";import{Q as x,a as M,b,c as z,d as L}from"./QLayout-DIjK04DF.js";import{Q as H,a as d,b as y}from"./QItem-F5bzVaJB.js";import{Q as k}from"./QSelect-QjDUAbKc.js";import{a as Q,u as S,b as B,o as s,e as C,w as t,f as a,g as f,h as n,t as o,i as F,n as V,j as E,k as r,m as v,p as D,q as I}from"./index-QUdrNkKl.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./render-B4qP-w0Q.js";import"./use-prevent-scroll-eZQDeoK_.js";import"./use-dark-BRt0_t6X.js";import"./use-key-composition-TTwP9QMZ.js";import"./format-GjIIeqP4.js";import"./QDialog-BcbjPBVh.js";import"./use-timeout-Jkrq6Sig.js";const N="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-ch'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='red'%20d='M0%200h640v480H0z'/%3e%3cg%20fill='%23fff'%3e%3cpath%20d='M170%20195h300v90H170z'/%3e%3cpath%20d='M275%2090h90v300h-90z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",P="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-de'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fc0'%20d='M0%20320h640v160H0z'/%3e%3cpath%20fill='%23000001'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='red'%20d='M0%20160h640v160H0z'/%3e%3c/svg%3e",T="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-gb'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23012169'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23FFF'%20d='m75%200%20244%20181L562%200h78v62L400%20241l240%20178v61h-80L320%20301%2081%20480H0v-60l239-178L0%2064V0z'/%3e%3cpath%20fill='%23C8102E'%20d='m424%20281%20216%20159v40L369%20281zm-184%2020%206%2035L54%20480H0zM640%200v3L391%20191l2-44L590%200zM0%200l239%20176h-60L0%2042z'/%3e%3cpath%20fill='%23FFF'%20d='M241%200v480h160V0zM0%20160v160h640V160z'/%3e%3cpath%20fill='%23C8102E'%20d='M0%20193v96h640v-96zM273%200v480h96V0z'/%3e%3c/svg%3e",j="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-us'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23bd3d44'%20d='M0%200h640v480H0'/%3e%3cpath%20stroke='%23fff'%20stroke-width='37'%20d='M0%2055.3h640M0%20129h640M0%20203h640M0%20277h640M0%20351h640M0%20425h640'/%3e%3cpath%20fill='%23192f5d'%20d='M0%200h364.8v258.5H0'/%3e%3cmarker%20id='us-a'%20markerHeight='30'%20markerWidth='30'%3e%3cpath%20fill='%23fff'%20d='m14%200%209%2027L0%2010h28L5%2027z'/%3e%3c/marker%3e%3cpath%20fill='none'%20marker-mid='url(%23us-a)'%20d='m0%200%2016%2011h61%2061%2061%2061%2060L47%2037h61%2061%2060%2061L16%2063h61%2061%2061%2061%2060L47%2089h61%2061%2060%2061L16%20115h61%2061%2061%2061%2060L47%20141h61%2061%2060%2061L16%20166h61%2061%2061%2061%2060L47%20192h61%2061%2060%2061L16%20218h61%2061%2061%2061%2060z'/%3e%3c/svg%3e",U="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-fr'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23000091'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23e1000f'%20d='M426.7%200H640v480H426.7z'/%3e%3c/svg%3e",R="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-it'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23009246'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23ce2b37'%20d='M426.7%200H640v480H426.7z'/%3e%3c/g%3e%3c/svg%3e",A={class:"q-ml-md"},O={class:"row items-center no-wrap"},$=["src","alt"],W={key:1,class:"lang-fallback"},G={class:"bold text-white q-ml-md"},J=["src","alt"],K={key:1,class:"lang-fallback"},X=Q({__name:"MainLayout",setup(Y){const c=I(!1),h=S(),g=D({get:()=>h.language,set:l=>{h.setLanguage(l)}}),p=Object.assign({"../assets/flags/ch.svg":N,"../assets/flags/de.svg":P,"../assets/flags/en.svg":T,"../assets/flags/en_us.svg":j,"../assets/flags/fr.svg":U,"../assets/flags/it.svg":R}),m=[{code:"it",short_name:"IT",name:"Italiano",flag:"it.svg",style:"width:32px;height:22px;"},{code:"en",short_name:"EN",name:"English",flag:"en.svg",style:"width:32px;height:22px;"},{code:"en_us",short_name:"EN",name:"English USA",flag:"en_us.svg",style:"width:32px;height:22px;"},{code:"de",short_name:"DE",name:"Deutsch",flag:"de.svg",style:"width:32px;height:22px;"},{code:"de_ch",short_name:"DE",name:"Deutsch CH",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"},{code:"fr",short_name:"FR",name:"Français",flag:"fr.svg",style:"width:32px;height:22px;"},{code:"fr_ch",short_name:"FR",name:"Français CH",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"}].map(l=>({label:l.name,value:l.code,flagSrc:p[`../assets/flags/${l.flag}`]??null,flagStyle:l.style,short_name:l.short_name}));function _(){c.value=!c.value}return(l,i)=>{const u=B("router-view");return s(),C(L,{view:"lHh Lpr lFf"},{default:t(()=>[a(x,{elevated:""},{default:t(()=>[a(M,null,{default:t(()=>[a(w,{flat:"",dense:"",round:"",icon:"menu","aria-label":"Menu",onClick:_}),a(b,null,{default:t(()=>[...i[1]||(i[1]=[f(" Quasar App ",-1)])]),_:1}),n("div",null,"Quasar v"+o(l.$q.version),1),n("div",A,[a(k,{modelValue:g.value,"onUpdate:modelValue":i[0]||(i[0]=e=>g.value=e),options:F(m),"option-label":"label","option-value":"value","emit-value":"","map-options":"",class:"q-select",dark:""},{"selected-item":t(e=>[n("div",O,[e.opt.flagSrc?(s(),r("img",{key:0,class:"border",src:e.opt.flagSrc,alt:e.opt.label,style:v(e.opt.flagStyle)},null,12,$)):(s(),r("span",W,o(e.opt.value.toUpperCase()),1)),n("span",G,o(e.opt.short_name),1)])]),option:t(e=>[a(H,V(E(e.itemProps)),{default:t(()=>[a(d,{avatar:""},{default:t(()=>[e.opt.flagSrc?(s(),r("img",{key:0,src:e.opt.flagSrc,alt:e.opt.label,style:v(e.opt.flagStyle)},null,12,J)):(s(),r("span",K,o(e.opt.value.toUpperCase()),1))]),_:2},1024),a(d,null,{default:t(()=>[a(y,null,{default:t(()=>[f(o(e.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options"])])]),_:1})]),_:1}),a(z,null,{default:t(()=>[a(u)]),_:1})]),_:1})}}}),f0=q(X,[["__scopeId","data-v-92823159"]]);export{f0 as default}; diff --git a/backend/internal/http/static/spa/assets/MainLayout-KRjvhj3p.css b/backend/internal/http/static/spa/assets/MainLayout-KRjvhj3p.css deleted file mode 100644 index 15a2fbb..0000000 --- a/backend/internal/http/static/spa/assets/MainLayout-KRjvhj3p.css +++ /dev/null @@ -1 +0,0 @@ -.lang-fallback[data-v-92823159]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 4px;border:1px solid currentColor;border-radius:4px;font-size:10px;line-height:1;font-weight:700}.border[data-v-92823159]{border:1px solid #fff;border-radius:4px}.q-select i.q-icon[data-v-92823159]{color:#fff!important} diff --git a/backend/internal/http/static/spa/assets/MainLayout-MHe9H4jA.css b/backend/internal/http/static/spa/assets/MainLayout-MHe9H4jA.css new file mode 100644 index 0000000..fe0a125 --- /dev/null +++ b/backend/internal/http/static/spa/assets/MainLayout-MHe9H4jA.css @@ -0,0 +1 @@ +.lang-fallback[data-v-555712ae]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 4px;border:1px solid currentColor;border-radius:4px;font-size:10px;line-height:1;font-weight:700}.border[data-v-555712ae]{border:1px solid #fff;border-radius:4px}.q-select i.q-icon[data-v-555712ae]{color:#fff!important}.user-avatar[data-v-555712ae]{background:linear-gradient(135deg,#0d47a1,#26a69a);color:#fff;font-size:.78rem;font-weight:700} diff --git a/backend/internal/http/static/spa/assets/QBadge-D07aoSle.js b/backend/internal/http/static/spa/assets/QBadge-D07aoSle.js new file mode 100644 index 0000000..15d3f0a --- /dev/null +++ b/backend/internal/http/static/spa/assets/QBadge-D07aoSle.js @@ -0,0 +1 @@ +import{a as i,n as r,az as u,t as l}from"./index-BMUcF_AE.js";const d=["top","middle","bottom"],c=i({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>d.includes(e)}},setup(e,{slots:a}){const n=l(()=>e.align!==void 0?{verticalAlign:e.align}:null),o=l(()=>{const t=e.outline===!0&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${e.multiLine===!0?"multi":"single"}-line`+(e.outline===!0?" q-badge--outline":e.color!==void 0?` bg-${e.color}`:"")+(t!==void 0?` text-${t}`:"")+(e.floating===!0?" q-badge--floating":"")+(e.rounded===!0?" q-badge--rounded":"")+(e.transparent===!0?" q-badge--transparent":"")});return()=>r("div",{class:o.value,style:n.value,role:"status","aria-label":e.label},u(a.default,e.label!==void 0?[e.label]:[]))}});export{c as Q}; diff --git a/backend/internal/http/static/spa/assets/QBtn-AYMizH8c.js b/backend/internal/http/static/spa/assets/QBtn-AYMizH8c.js deleted file mode 100644 index 45e7db4..0000000 --- a/backend/internal/http/static/spa/assets/QBtn-AYMizH8c.js +++ /dev/null @@ -1 +0,0 @@ -import{p as o,s as V,A as H,y as v,i as de,B as fe,C as ve,G as ge,_ as F,J as ae,H as me,Q as be,T as he,R as ye,q as U,L as P,S as ke,I as pe}from"./index-QUdrNkKl.js";import{h as xe,d as z}from"./render-B4qP-w0Q.js";const Q={xs:18,sm:24,md:32,lg:38,xl:46},re={size:String};function ie(e,t=Q){return o(()=>e.size!==void 0?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}const W="0 0 24 24",D=e=>e,N=e=>`ionicons ${e}`,ue={"mdi-":e=>`mdi ${e}`,"icon-":D,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":N,"ion-ios":N,"ion-logo":N,"iconfont ":D,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`,"i-":D},le={o_:"-outlined",r_:"-round",s_:"-sharp"},se={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},qe=new RegExp("^("+Object.keys(ue).join("|")+")"),$e=new RegExp("^("+Object.keys(le).join("|")+")"),X=new RegExp("^("+Object.keys(se).join("|")+")"),Ee=/^[Mm]\s?[-+]?\.?\d/,Se=/^img:/,Re=/^svguse:/,we=/^ion-/,Le=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,G=V({name:"QIcon",props:{...re,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:a}}=H(),n=ie(e),l=o(()=>"q-icon"+(e.left===!0?" on-left":"")+(e.right===!0?" on-right":"")+(e.color!==void 0?` text-${e.color}`:"")),f=o(()=>{let c,i=e.name;if(i==="none"||!i)return{none:!0};if(a.iconMapFn!==null){const s=a.iconMapFn(i);if(s!==void 0)if(s.icon!==void 0){if(i=s.icon,i==="none"||!i)return{none:!0}}else return{cls:s.cls,content:s.content!==void 0?s.content:" "}}if(Ee.test(i)===!0){const[s,y=W]=i.split("|");return{svg:!0,viewBox:y,nodes:s.split("&&").map(u=>{const[k,b,p]=u.split("@@");return v("path",{style:b,d:k,transform:p})})}}if(Se.test(i)===!0)return{img:!0,src:i.substring(4)};if(Re.test(i)===!0){const[s,y=W]=i.split("|");return{svguse:!0,src:s.substring(7),viewBox:y}}let q=" ";const h=i.match(qe);if(h!==null)c=ue[h[1]](i);else if(Le.test(i)===!0)c=i;else if(we.test(i)===!0)c=`ionicons ion-${a.platform.is.ios===!0?"ios":"md"}${i.substring(3)}`;else if(X.test(i)===!0){c="notranslate material-symbols";const s=i.match(X);s!==null&&(i=i.substring(6),c+=se[s[1]]),q=i}else{c="notranslate material-icons";const s=i.match($e);s!==null&&(i=i.substring(2),c+=le[s[1]]),q=i}return{cls:c,content:q}});return()=>{const c={class:l.value,style:n.value,"aria-hidden":"true"};return f.value.none===!0?v(e.tag,c,xe(t.default)):f.value.img===!0?v(e.tag,c,z(t.default,[v("img",{src:f.value.src})])):f.value.svg===!0?v(e.tag,c,z(t.default,[v("svg",{viewBox:f.value.viewBox||"0 0 24 24"},f.value.nodes)])):f.value.svguse===!0?v(e.tag,c,z(t.default,[v("svg",{viewBox:f.value.viewBox},[v("use",{"xlink:href":f.value.src})])])):(f.value.cls!==void 0&&(c.class+=" "+f.value.cls),v(e.tag,c,z(t.default,[f.value.content])))}}}),Be={size:{type:[String,Number],default:"1em"},color:String};function Ce(e){return{cSize:o(()=>e.size in Q?`${Q[e.size]}px`:e.size),classes:o(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}const _e=V({name:"QSpinner",props:{...Be,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:a}=Ce(e);return()=>v("svg",{class:a.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[v("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function Pe(e,t){const a=e.style;for(const n in t)a[n]=t[n]}function Ze(e){if(e==null)return;if(typeof e=="string")try{return document.querySelector(e)||void 0}catch{return}const t=de(e);if(t)return t.$el||t}function et(e,t){if(e==null||e.contains(t)===!0)return!0;for(let a=e.nextElementSibling;a!==null;a=a.nextElementSibling)if(a.contains(t))return!0;return!1}function Te(e,t=250){let a=!1,n;return function(){return a===!1&&(a=!0,setTimeout(()=>{a=!1},t),n=e.apply(this,arguments)),n}}function J(e,t,a,n){a.modifiers.stop===!0&&ae(e);const l=a.modifiers.color;let f=a.modifiers.center;f=f===!0||n===!0;const c=document.createElement("span"),i=document.createElement("span"),q=me(e),{left:h,top:s,width:y,height:u}=t.getBoundingClientRect(),k=Math.sqrt(y*y+u*u),b=k/2,p=`${(y-k)/2}px`,d=f?p:`${q.left-h-b}px`,x=`${(u-k)/2}px`,_=f?x:`${q.top-s-b}px`;i.className="q-ripple__inner",Pe(i,{height:`${k}px`,width:`${k}px`,transform:`translate3d(${d},${_},0) scale3d(.2,.2,1)`,opacity:0}),c.className=`q-ripple${l?" text-"+l:""}`,c.setAttribute("dir","ltr"),c.appendChild(i),t.appendChild(c);const B=()=>{c.remove(),clearTimeout(C)};a.abort.push(B);let C=setTimeout(()=>{i.classList.add("q-ripple__inner--enter"),i.style.transform=`translate3d(${p},${x},0) scale3d(1,1,1)`,i.style.opacity=.2,C=setTimeout(()=>{i.classList.remove("q-ripple__inner--enter"),i.classList.add("q-ripple__inner--leave"),i.style.opacity=0,C=setTimeout(()=>{c.remove(),a.abort.splice(a.abort.indexOf(B),1)},275)},250)},50)}function Y(e,{modifiers:t,value:a,arg:n}){const l=Object.assign({},e.cfg.ripple,t,a);e.modifiers={early:l.early===!0,stop:l.stop===!0,center:l.center===!0,color:l.color||n,keyCodes:[].concat(l.keyCodes||13)}}const Oe=fe({name:"ripple",beforeMount(e,t){const a=t.instance.$.appContext.config.globalProperties.$q.config||{};if(a.ripple===!1)return;const n={cfg:a,enabled:t.value!==!1,modifiers:{},abort:[],start(l){n.enabled===!0&&l.qSkipRipple!==!0&&l.type===(n.modifiers.early===!0?"pointerdown":"click")&&J(l,e,n,l.qKeyEvent===!0)},keystart:Te(l=>{n.enabled===!0&&l.qSkipRipple!==!0&&F(l,n.modifiers.keyCodes)===!0&&l.type===`key${n.modifiers.early===!0?"down":"up"}`&&J(l,e,n,!0)},300)};Y(n,t),e.__qripple=n,ge(n,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const a=e.__qripple;a!==void 0&&(a.enabled=t.value!==!1,a.enabled===!0&&Object(t.value)===t.value&&Y(a,t))}},beforeUnmount(e){const t=e.__qripple;t!==void 0&&(t.abort.forEach(a=>{a()}),ve(t,"main"),delete e._qripple)}}),oe={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},Ae=Object.keys(oe),je={align:{type:String,validator:e=>Ae.includes(e)}};function Me(e){return o(()=>{const t=e.align===void 0?e.vertical===!0?"stretch":"left":e.align;return`${e.vertical===!0?"items":"justify"}-${oe[t]}`})}function tt(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function ze(e){return e.appContext.config.globalProperties.$router!==void 0}function nt(e){return e.isUnmounted===!0||e.isDeactivated===!0}function Z(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function ee(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ie(e,t){for(const a in t){const n=t[a],l=e[a];if(typeof n=="string"){if(n!==l)return!1}else if(Array.isArray(l)===!1||l.length!==n.length||n.some((f,c)=>f!==l[c]))return!1}return!0}function te(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((a,n)=>a===t[n]):e.length===1&&e[0]===t}function Ke(e,t){return Array.isArray(e)===!0?te(e,t):Array.isArray(t)===!0?te(t,e):e===t}function De(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const a in e)if(Ke(e[a],t[a])===!1)return!1;return!0}const ce={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},at={...ce,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"}};function Ne({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const a=H(),{props:n,proxy:l,emit:f}=a,c=ze(a),i=o(()=>n.disable!==!0&&n.href!==void 0),q=t===!0?o(()=>c===!0&&n.disable!==!0&&i.value!==!0&&n.to!==void 0&&n.to!==null&&n.to!==""):o(()=>c===!0&&i.value!==!0&&n.to!==void 0&&n.to!==null&&n.to!==""),h=o(()=>q.value===!0?_(n.to):null),s=o(()=>h.value!==null),y=o(()=>i.value===!0||s.value===!0),u=o(()=>n.type==="a"||y.value===!0?"a":n.tag||e||"div"),k=o(()=>i.value===!0?{href:n.href,target:n.target}:s.value===!0?{href:h.value.href,target:n.target}:{}),b=o(()=>{if(s.value===!1)return-1;const{matched:g}=h.value,{length:$}=g,S=g[$-1];if(S===void 0)return-1;const w=l.$route.matched;if(w.length===0)return-1;const L=w.findIndex(ee.bind(null,S));if(L!==-1)return L;const I=Z(g[$-2]);return $>1&&Z(S)===I&&w[w.length-1].path!==I?w.findIndex(ee.bind(null,g[$-2])):L}),p=o(()=>s.value===!0&&b.value!==-1&&Ie(l.$route.params,h.value.params)),d=o(()=>p.value===!0&&b.value===l.$route.matched.length-1&&De(l.$route.params,h.value.params)),x=o(()=>s.value===!0?d.value===!0?` ${n.exactActiveClass} ${n.activeClass}`:n.exact===!0?"":p.value===!0?` ${n.activeClass}`:"":"");function _(g){try{return l.$router.resolve(g)}catch{}return null}function B(g,{returnRouterError:$,to:S=n.to,replace:w=n.replace}={}){if(n.disable===!0)return g.preventDefault(),Promise.resolve(!1);if(g.metaKey||g.altKey||g.ctrlKey||g.shiftKey||g.button!==void 0&&g.button!==0||n.target==="_blank")return Promise.resolve(!1);g.preventDefault();const L=l.$router[w===!0?"replace":"push"](S);return $===!0?L:L.then(()=>{}).catch(()=>{})}function C(g){if(s.value===!0){const $=S=>B(g,S);f("click",g,$),g.defaultPrevented!==!0&&$()}else f("click",g)}return{hasRouterLink:s,hasHrefLink:i,hasLink:y,linkTag:u,resolvedLink:h,linkIsActive:p,linkIsExactActive:d,linkClass:x,linkAttrs:k,getLink:_,navigateToRouterLink:B,navigateOnClick:C}}const ne={none:0,xs:4,sm:8,md:16,lg:24,xl:32},Fe={xs:8,sm:10,md:14,lg:20,xl:24},Qe=["button","submit","reset"],Ve=/[^\s]\/[^\s]/,He=["flat","outline","push","unelevated"];function Ue(e,t){return e.flat===!0?"flat":e.outline===!0?"outline":e.push===!0?"push":e.unelevated===!0?"unelevated":t}const We={...re,...ce,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...He.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...je.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Xe={...We,round:Boolean};function Ge(e){const t=ie(e,Fe),a=Me(e),{hasRouterLink:n,hasLink:l,linkTag:f,linkAttrs:c,navigateOnClick:i}=Ne({fallbackTag:"button"}),q=o(()=>{const d=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding!==void 0?Object.assign({},d,{padding:e.padding.split(/\s+/).map(x=>x in ne?ne[x]+"px":x).join(" "),minWidth:"0",minHeight:"0"}):d}),h=o(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),s=o(()=>e.disable!==!0&&e.loading!==!0),y=o(()=>s.value===!0?e.tabindex||0:-1),u=o(()=>Ue(e,"standard")),k=o(()=>{const d={tabindex:y.value};return l.value===!0?Object.assign(d,c.value):Qe.includes(e.type)===!0&&(d.type=e.type),f.value==="a"?(e.disable===!0?d["aria-disabled"]="true":d.href===void 0&&(d.role="button"),n.value!==!0&&Ve.test(e.type)===!0&&(d.type=e.type)):e.disable===!0&&(d.disabled="",d["aria-disabled"]="true"),e.loading===!0&&e.percentage!==void 0&&Object.assign(d,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),d}),b=o(()=>{let d;e.color!==void 0?e.flat===!0||e.outline===!0?d=`text-${e.textColor||e.color}`:d=`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(d=`text-${e.textColor}`);const x=e.round===!0?"round":`rectangle${h.value===!0?" q-btn--rounded":e.square===!0?" q-btn--square":""}`;return`q-btn--${u.value} q-btn--${x}`+(d!==void 0?" "+d:"")+(s.value===!0?" q-btn--actionable q-focusable q-hoverable":e.disable===!0?" disabled":"")+(e.fab===!0?" q-btn--fab":e.fabMini===!0?" q-btn--fab-mini":"")+(e.noCaps===!0?" q-btn--no-uppercase":"")+(e.dense===!0?" q-btn--dense":"")+(e.stretch===!0?" no-border-radius self-stretch":"")+(e.glossy===!0?" glossy":"")+(e.square?" q-btn--square":"")}),p=o(()=>a.value+(e.stack===!0?" column":" row")+(e.noWrap===!0?" no-wrap text-no-wrap":"")+(e.loading===!0?" q-btn__content--hidden":""));return{classes:b,style:q,innerClasses:p,attributes:k,hasLink:l,linkTag:f,navigateOnClick:i,isActionable:s}}const{passiveCapture:E}=ke;let T=null,O=null,A=null;const rt=V({name:"QBtn",props:{...Xe,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:a}){const{proxy:n}=H(),{classes:l,style:f,innerClasses:c,attributes:i,hasLink:q,linkTag:h,navigateOnClick:s,isActionable:y}=Ge(e),u=U(null),k=U(null);let b=null,p,d=null;const x=o(()=>e.label!==void 0&&e.label!==null&&e.label!==""),_=o(()=>e.disable===!0||e.ripple===!1?!1:{keyCodes:q.value===!0?[13,32]:[13],...e.ripple===!0?{}:e.ripple}),B=o(()=>({center:e.round})),C=o(()=>{const r=Math.max(0,Math.min(100,e.percentage));return r>0?{transition:"transform 0.6s",transform:`translateX(${r-100}%)`}:{}}),g=o(()=>{if(e.loading===!0)return{onMousedown:M,onTouchstart:M,onClick:M,onKeydown:M,onKeyup:M};if(y.value===!0){const r={onClick:S,onKeydown:w,onMousedown:I};if(n.$q.platform.has.touch===!0){const m=e.onTouchstart!==void 0?"":"Passive";r[`onTouchstart${m}`]=L}return r}return{onClick:P}}),$=o(()=>({ref:u,class:"q-btn q-btn-item non-selectable no-outline "+l.value,style:f.value,...i.value,...g.value}));function S(r){if(u.value!==null){if(r!==void 0){if(r.defaultPrevented===!0)return;const m=document.activeElement;if(e.type==="submit"&&m!==document.body&&u.value.contains(m)===!1&&m.contains(u.value)===!1){r.qAvoidFocus!==!0&&u.value.focus();const K=()=>{document.removeEventListener("keydown",P,!0),document.removeEventListener("keyup",K,E),u.value?.removeEventListener("blur",K,E)};document.addEventListener("keydown",P,!0),document.addEventListener("keyup",K,E),u.value.addEventListener("blur",K,E)}}s(r)}}function w(r){u.value!==null&&(a("keydown",r),F(r,[13,32])===!0&&O!==u.value&&(O!==null&&j(),r.defaultPrevented!==!0&&(r.qAvoidFocus!==!0&&u.value.focus(),O=u.value,u.value.classList.add("q-btn--active"),document.addEventListener("keyup",R,!0),u.value.addEventListener("blur",R,E)),P(r)))}function L(r){u.value!==null&&(a("touchstart",r),r.defaultPrevented!==!0&&(T!==u.value&&(T!==null&&j(),T=u.value,b=r.target,b.addEventListener("touchcancel",R,E),b.addEventListener("touchend",R,E)),p=!0,d!==null&&clearTimeout(d),d=setTimeout(()=>{d=null,p=!1},200)))}function I(r){u.value!==null&&(r.qSkipRipple=p===!0,a("mousedown",r),r.defaultPrevented!==!0&&A!==u.value&&(A!==null&&j(),A=u.value,u.value.classList.add("q-btn--active"),document.addEventListener("mouseup",R,E)))}function R(r){if(u.value!==null&&!(r?.type==="blur"&&document.activeElement===u.value)){if(r?.type==="keyup"){if(O===u.value&&F(r,[13,32])===!0){const m=new MouseEvent("click",r);m.qKeyEvent=!0,r.defaultPrevented===!0&&pe(m),r.cancelBubble===!0&&ae(m),u.value.dispatchEvent(m),P(r),r.qKeyEvent=!0}a("keyup",r)}j()}}function j(r){const m=k.value;r!==!0&&(T===u.value||A===u.value)&&m!==null&&m!==document.activeElement&&(m.setAttribute("tabindex",-1),m.focus()),T===u.value&&(b!==null&&(b.removeEventListener("touchcancel",R,E),b.removeEventListener("touchend",R,E)),T=b=null),A===u.value&&(document.removeEventListener("mouseup",R,E),A=null),O===u.value&&(document.removeEventListener("keyup",R,!0),u.value?.removeEventListener("blur",R,E),O=null),u.value?.classList.remove("q-btn--active")}function M(r){P(r),r.qSkipRipple=!0}return be(()=>{j(!0)}),Object.assign(n,{click:r=>{y.value===!0&&S(r)}}),()=>{let r=[];e.icon!==void 0&&r.push(v(G,{name:e.icon,left:e.stack!==!0&&x.value===!0,role:"img"})),x.value===!0&&r.push(v("span",{class:"block"},[e.label])),r=z(t.default,r),e.iconRight!==void 0&&e.round===!1&&r.push(v(G,{name:e.iconRight,right:e.stack!==!0&&x.value===!0,role:"img"}));const m=[v("span",{class:"q-focus-helper",ref:k})];return e.loading===!0&&e.percentage!==void 0&&m.push(v("span",{class:"q-btn__progress absolute-full overflow-hidden"+(e.darkPercentage===!0?" q-btn__progress--dark":"")},[v("span",{class:"q-btn__progress-indicator fit block",style:C.value})])),m.push(v("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+c.value},r)),e.loading!==null&&m.push(v(he,{name:"q-transition--fade"},()=>e.loading===!0?[v("span",{key:"loading",class:"absolute-full flex flex-center"},t.loading!==void 0?t.loading():[v(_e)])]:null)),ye(v(h.value,$.value,m),[[Oe,_.value,void 0,B.value]])}}});export{rt as Q,Oe as R,_e as a,G as b,ie as c,je as d,Me as e,et as f,at as g,Ne as h,tt as i,ze as j,Ze as k,Pe as l,re as u,nt as v}; diff --git a/backend/internal/http/static/spa/assets/QCard-D_vcm7k9.js b/backend/internal/http/static/spa/assets/QCard-D_vcm7k9.js deleted file mode 100644 index 786e86f..0000000 --- a/backend/internal/http/static/spa/assets/QCard-D_vcm7k9.js +++ /dev/null @@ -1 +0,0 @@ -import{s as t,y as o,p as s,A as c}from"./index-QUdrNkKl.js";import{h as n}from"./render-B4qP-w0Q.js";import{u as l,a as i}from"./use-dark-BRt0_t6X.js";const p=t({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(a,{slots:r}){const e=s(()=>`q-card__section q-card__section--${a.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>o(a.tag,{class:e.value},n(r.default))}}),g=t({name:"QCard",props:{...l,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(a,{slots:r}){const{proxy:{$q:e}}=c(),d=i(a,e),u=s(()=>"q-card"+(d.value===!0?" q-card--dark q-dark":"")+(a.bordered===!0?" q-card--bordered":"")+(a.square===!0?" q-card--square no-border-radius":"")+(a.flat===!0?" q-card--flat no-shadow":""));return()=>o(a.tag,{class:u.value},n(r.default))}});export{g as Q,p as a}; diff --git a/backend/internal/http/static/spa/assets/QCardActions-DlFyQG4S.js b/backend/internal/http/static/spa/assets/QCardActions-DlFyQG4S.js deleted file mode 100644 index af4ca54..0000000 --- a/backend/internal/http/static/spa/assets/QCardActions-DlFyQG4S.js +++ /dev/null @@ -1 +0,0 @@ -import{d as r,e}from"./QBtn-AYMizH8c.js";import{s as c,y as n,p as i}from"./index-QUdrNkKl.js";import{h as l}from"./render-B4qP-w0Q.js";const d=c({name:"QCardActions",props:{...r,vertical:Boolean},setup(s,{slots:a}){const o=e(s),t=i(()=>`q-card__actions ${o.value} q-card__actions--${s.vertical===!0?"vert column":"horiz row"}`);return()=>n("div",{class:t.value},l(a.default))}});export{d as Q}; diff --git a/backend/internal/http/static/spa/assets/QDialog-BcbjPBVh.js b/backend/internal/http/static/spa/assets/QDialog-BcbjPBVh.js deleted file mode 100644 index 7347ac8..0000000 --- a/backend/internal/http/static/spa/assets/QDialog-BcbjPBVh.js +++ /dev/null @@ -1 +0,0 @@ -import{ac as I,W as ge,a2 as he,y as g,ad as be,q as P,s as V,p as f,a6 as ke,Q as U,P as we,A as J,D as X,_ as ye,z as K,T as R}from"./index-QUdrNkKl.js";import{u as qe,a as Pe,b as pe,c as xe,d as Se}from"./use-prevent-scroll-eZQDeoK_.js";import{u as Ee}from"./use-timeout-Jkrq6Sig.js";import{i as E,v as _e,f as Ce}from"./QBtn-AYMizH8c.js";import{r as N,i as Te,e as $e}from"./use-key-composition-TTwP9QMZ.js";import{h as Be}from"./render-B4qP-w0Q.js";let Fe=1,De=document.body;function Me(e,n){const o=document.createElement("div");if(o.id=n!==void 0?`q-portal--${n}--${Fe++}`:e,I.globalNodes!==void 0){const a=I.globalNodes.class;a!==void 0&&(o.className=a)}return De.appendChild(o),o}function He(e){e.remove()}const _=[];function tt(e){return _.find(n=>n.contentEl!==null&&n.contentEl.contains(e))}function Qe(e,n){do{if(e.$options.name==="QMenu"){if(e.hide(n),e.$props.separateClosePopup===!0)return E(e)}else if(e.__qPortal===!0){const o=E(e);return o?.$options.name==="QPopupProxy"?(e.hide(n),o):e}e=E(e)}while(e!=null)}function nt(e,n,o){for(;o!==0&&e!==void 0&&e!==null;){if(e.__qPortal===!0){if(o--,e.$options.name==="QMenu"){e=Qe(e,n);continue}e.hide(n)}e=E(e)}}const ze=V({name:"QPortal",setup(e,{slots:n}){return()=>n.default()}});function Oe(e){for(e=e.parent;e!=null;){if(e.type.name==="QGlobalDialog")return!0;if(e.type.name==="QDialog"||e.type.name==="QMenu")return!1;e=e.parent}return!1}function Le(e,n,o,a){const l=P(!1),u=P(!1);let s=null;const c={},r=a==="dialog"&&Oe(e);function d(v){if(v===!0){N(c),u.value=!0;return}u.value=!1,l.value===!1&&(r===!1&&s===null&&(s=Me(!1,a)),l.value=!0,_.push(e.proxy),Te(c))}function m(v){if(u.value=!1,v!==!0)return;N(c),l.value=!1;const y=_.indexOf(e.proxy);y!==-1&&_.splice(y,1),s!==null&&(He(s),s=null)}return ge(()=>{m(!0)}),e.proxy.__qPortal=!0,he(e.proxy,"contentEl",()=>n.value),{showPortal:d,hidePortal:m,portalIsActive:l,portalIsAccessible:u,renderPortal:()=>r===!0?o():l.value===!0?[g(be,{to:s},g(ze,o))]:void 0}}const Ae={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function Ie(e,n=()=>{},o=()=>{}){return{transitionProps:f(()=>{const a=`q-transition--${e.transitionShow||n()}`,l=`q-transition--${e.transitionHide||o()}`;return{appear:!0,enterFromClass:`${a}-enter-from`,enterActiveClass:`${a}-enter-active`,enterToClass:`${a}-enter-to`,leaveFromClass:`${l}-leave-from`,leaveActiveClass:`${l}-leave-active`,leaveToClass:`${l}-leave-to`}}),transitionStyle:f(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}function Ke(){let e;const n=J();function o(){e=void 0}return ke(o),U(o),{removeTick:o,registerTick(a){e=a,we(()=>{e===a&&(_e(n)===!1&&e(),e=void 0)})}}}const h=[];let w;function Re(e){w=e.keyCode===27}function Ne(){w===!0&&(w=!1)}function je(e){w===!0&&(w=!1,ye(e,27)===!0&&h[h.length-1](e))}function Y(e){window[e]("keydown",Re),window[e]("blur",Ne),window[e]("keyup",je),w=!1}function Ge(e){X.is.desktop===!0&&(h.push(e),h.length===1&&Y("addEventListener"))}function j(e){const n=h.indexOf(e);n!==-1&&(h.splice(n,1),h.length===0&&Y("removeEventListener"))}const b=[];function Z(e){b[b.length-1](e)}function We(e){X.is.desktop===!0&&(b.push(e),b.length===1&&document.body.addEventListener("focusin",Z))}function G(e){const n=b.indexOf(e);n!==-1&&(b.splice(n,1),b.length===0&&document.body.removeEventListener("focusin",Z))}let S=0;const Ve={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},W={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},ot=V({name:"QDialog",inheritAttrs:!1,props:{...Pe,...Ae,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:"standard",validator:e=>["standard","top","bottom","left","right"].includes(e)}},emits:[...qe,"shake","click","escapeKey"],setup(e,{slots:n,emit:o,attrs:a}){const l=J(),u=P(null),s=P(!1),c=P(!1);let r=null,d=null,m,v;const y=f(()=>e.persistent!==!0&&e.noRouteDismiss!==!0&&e.seamless!==!0),{preventBodyScroll:D}=Se(),{registerTimeout:M}=Ee(),{registerTick:ee,removeTick:H}=Ke(),{transitionProps:te,transitionStyle:Q}=Ie(e,()=>W[e.position][0],()=>W[e.position][1]),ne=f(()=>Q.value+(e.backdropFilter!==void 0?`;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`:"")),{showPortal:z,hidePortal:O,portalIsAccessible:oe,renderPortal:ie}=Le(l,u,ve,"dialog"),{hide:p}=pe({showing:s,hideOnRouteChange:y,handleShow:ce,handleHide:de,processOnMount:!0}),{addToHistory:ae,removeFromHistory:le}=xe(s,p,y),se=f(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized===!0?"maximized":"minimized"} q-dialog__inner--${e.position} ${Ve[e.position]}`+(c.value===!0?" q-dialog__inner--animating":"")+(e.fullWidth===!0?" q-dialog__inner--fullwidth":"")+(e.fullHeight===!0?" q-dialog__inner--fullheight":"")+(e.square===!0?" q-dialog__inner--square":"")),x=f(()=>s.value===!0&&e.seamless!==!0),ue=f(()=>e.autoClose===!0?{onClick:fe}:{}),re=f(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${x.value===!0?"modal":"seamless"}`,a.class]);K(()=>e.maximized,t=>{s.value===!0&&$(t)}),K(x,t=>{D(t),t===!0?(We(B),Ge(T)):(G(B),j(T))});function ce(t){ae(),d=e.noRefocus===!1&&document.activeElement!==null?document.activeElement:null,$(e.maximized),z(),c.value=!0,e.noFocus!==!0?(document.activeElement?.blur(),ee(q)):H(),M(()=>{if(l.proxy.$q.platform.is.ios===!0){if(e.seamless!==!0&&document.activeElement){const{top:i,bottom:k}=document.activeElement.getBoundingClientRect(),{innerHeight:A}=window,F=window.visualViewport!==void 0?window.visualViewport.height:A;i>0&&k>F/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-F,k>=A?1/0:Math.ceil(document.scrollingElement.scrollTop+k-F/2))),document.activeElement.scrollIntoView()}v=!0,u.value.click(),v=!1}z(!0),c.value=!1,o("show",t)},e.transitionDuration)}function de(t){H(),le(),L(!0),c.value=!0,O(),d!==null&&(((t?.type.indexOf("key")===0?d.closest('[tabindex]:not([tabindex^="-"])'):void 0)||d).focus(),d=null),M(()=>{O(!0),c.value=!1,o("hide",t)},e.transitionDuration)}function q(t){$e(()=>{let i=u.value;if(i!==null){if(t!==void 0){const k=i.querySelector(t);if(k!==null){k.focus({preventScroll:!0});return}}i.contains(document.activeElement)!==!0&&(i=i.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||i.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||i.querySelector("[autofocus], [data-autofocus]")||i,i.focus({preventScroll:!0}))}})}function C(t){t&&typeof t.focus=="function"?t.focus({preventScroll:!0}):q(),o("shake");const i=u.value;i!==null&&(i.classList.remove("q-animate--scale"),i.classList.add("q-animate--scale"),r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null,u.value!==null&&(i.classList.remove("q-animate--scale"),q())},170))}function T(){e.seamless!==!0&&(e.persistent===!0||e.noEscDismiss===!0?e.maximized!==!0&&e.noShake!==!0&&C():(o("escapeKey"),p()))}function L(t){r!==null&&(clearTimeout(r),r=null),(t===!0||s.value===!0)&&($(!1),e.seamless!==!0&&(D(!1),G(B),j(T))),t!==!0&&(d=null)}function $(t){t===!0?m!==!0&&(S<1&&document.body.classList.add("q-body--dialog"),S++,m=!0):m===!0&&(S<2&&document.body.classList.remove("q-body--dialog"),S--,m=!1)}function fe(t){v!==!0&&(p(t),o("click",t))}function me(t){e.persistent!==!0&&e.noBackdropDismiss!==!0?p(t):e.noShake!==!0&&C()}function B(t){e.allowFocusOutside!==!0&&oe.value===!0&&Ce(u.value,t.target)!==!0&&q('[tabindex]:not([tabindex="-1"])')}Object.assign(l.proxy,{focus:q,shake:C,__updateRefocusTarget(t){d=t||null}}),U(L);function ve(){return g("div",{role:"dialog","aria-modal":x.value===!0?"true":"false",...a,class:re.value},[g(R,{name:"q-transition--fade",appear:!0},()=>x.value===!0?g("div",{class:"q-dialog__backdrop fixed-full",style:ne.value,"aria-hidden":"true",tabindex:-1,onClick:me}):null),g(R,te.value,()=>s.value===!0?g("div",{ref:u,class:se.value,style:Q.value,tabindex:-1,...ue.value},Be(n.default)):null)])}return ie}});export{ot as Q,Ke as a,Le as b,nt as c,Ge as d,We as e,G as f,tt as g,Ie as h,Qe as i,_ as p,j as r,Ae as u}; diff --git a/backend/internal/http/static/spa/assets/QDrawer-DWoubt_0.js b/backend/internal/http/static/spa/assets/QDrawer-DWoubt_0.js new file mode 100644 index 0000000..04b00de --- /dev/null +++ b/backend/internal/http/static/spa/assets/QDrawer-DWoubt_0.js @@ -0,0 +1 @@ +import{ab as Te,j as K,ac as _,ad as N,ae as De,k as P,af as Z,ag as re,ah as R,ai as Oe,y as _e,a as $e,u as Le,aj as Ae,e as Pe,g as We,ak as Fe,al as U,am as ze,q as T,h as Xe,an as Ie,w as y,a6 as le,E as Ye,o as He,S as Ve,n as W,ao as se,x as je,p as Qe,ap as Ke,t as v,aq as Ne}from"./index-BMUcF_AE.js";import{g as de,s as ce}from"./touch-BjYP5sR0.js";import{c as Re,b as F}from"./format-4vRgyZVr.js";function G(a,o,r){const p=Z(a);let e,u=p.left-o.event.x,l=p.top-o.event.y,f=Math.abs(u),m=Math.abs(l);const s=o.direction;s.horizontal===!0&&s.vertical!==!0?e=u<0?"left":"right":s.horizontal!==!0&&s.vertical===!0?e=l<0?"up":"down":s.up===!0&&l<0?(e="up",f>m&&(s.left===!0&&u<0?e="left":s.right===!0&&u>0&&(e="right"))):s.down===!0&&l>0?(e="down",f>m&&(s.left===!0&&u<0?e="left":s.right===!0&&u>0&&(e="right"))):s.left===!0&&u<0?(e="left",f0&&(e="down"))):s.right===!0&&u>0&&(e="right",f0&&(e="down")));let n=!1;if(e===void 0&&r===!1){if(o.event.isFirst===!0||o.event.lastDir===void 0)return{};e=o.event.lastDir,n=!0,e==="left"||e==="right"?(p.left-=u,f=0,u=0):(p.top-=l,m=0,l=0)}return{synthetic:n,payload:{evt:a,touch:o.event.mouse!==!0,mouse:o.event.mouse===!0,position:p,direction:e,isFirst:o.event.isFirst,isFinal:r===!0,duration:Date.now()-o.event.time,distance:{x:f,y:m},offset:{x:u,y:l},delta:{x:p.left-o.event.lastX,y:p.top-o.event.lastY}}}}let Ue=0;const J=Te({name:"touch-pan",beforeMount(a,{value:o,modifiers:r}){if(r.mouse!==!0&&_.has.touch!==!0)return;function p(u,l){r.mouse===!0&&l===!0?_e(u):(r.stop===!0&&R(u),r.prevent===!0&&re(u))}const e={uid:"qvtp_"+Ue++,handler:o,modifiers:r,direction:de(r),noop:De,mouseStart(u){ce(u,e)&&Oe(u)&&(P(e,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),e.start(u,!0))},touchStart(u){if(ce(u,e)){const l=u.target;P(e,"temp",[[l,"touchmove","move","notPassiveCapture"],[l,"touchcancel","end","passiveCapture"],[l,"touchend","end","passiveCapture"]]),e.start(u)}},start(u,l){if(_.is.firefox===!0&&N(a,!0),e.lastEvt=u,l===!0||r.stop===!0){if(e.direction.all!==!0&&(l!==!0||e.modifiers.mouseAllDir!==!0&&e.modifiers.mousealldir!==!0)){const s=u.type.indexOf("mouse")!==-1?new MouseEvent(u.type,u):new TouchEvent(u.type,u);u.defaultPrevented===!0&&re(s),u.cancelBubble===!0&&R(s),Object.assign(s,{qKeyEvent:u.qKeyEvent,qClickOutside:u.qClickOutside,qAnchorHandled:u.qAnchorHandled,qClonedBy:u.qClonedBy===void 0?[e.uid]:u.qClonedBy.concat(e.uid)}),e.initialEvent={target:u.target,event:s}}R(u)}const{left:f,top:m}=Z(u);e.event={x:f,y:m,time:Date.now(),mouse:l===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:f,lastY:m}},move(u){if(e.event===void 0)return;const l=Z(u),f=l.left-e.event.x,m=l.top-e.event.y;if(f===0&&m===0)return;e.lastEvt=u;const s=e.event.mouse===!0,n=()=>{p(u,s);let b;r.preserveCursor!==!0&&r.preservecursor!==!0&&(b=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),s===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Re(),e.styleCleanup=d=>{if(e.styleCleanup=void 0,b!==void 0&&(document.documentElement.style.cursor=b),document.body.classList.remove("non-selectable"),s===!0){const S=()=>{document.body.classList.remove("no-pointer-events--children")};d!==void 0?setTimeout(()=>{S(),d()},50):S()}else d!==void 0&&d()}};if(e.event.detected===!0){e.event.isFirst!==!0&&p(u,e.event.mouse);const{payload:b,synthetic:d}=G(u,e,!1);b!==void 0&&(e.handler(b)===!1?e.end(u):(e.styleCleanup===void 0&&e.event.isFirst===!0&&n(),e.event.lastX=b.position.left,e.event.lastY=b.position.top,e.event.lastDir=d===!0?void 0:b.direction,e.event.isFirst=!1));return}if(e.direction.all===!0||s===!0&&(e.modifiers.mouseAllDir===!0||e.modifiers.mousealldir===!0)){n(),e.event.detected=!0,e.move(u);return}const q=Math.abs(f),h=Math.abs(m);q!==h&&(e.direction.horizontal===!0&&q>h||e.direction.vertical===!0&&q0||e.direction.left===!0&&q>h&&f<0||e.direction.right===!0&&q>h&&f>0?(e.event.detected=!0,e.move(u)):e.end(u,!0))},end(u,l){if(e.event!==void 0){if(K(e,"temp"),_.is.firefox===!0&&N(a,!1),l===!0)e.styleCleanup?.(),e.event.detected!==!0&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(e.event.detected===!0){e.event.isFirst===!0&&e.handler(G(u===void 0?e.lastEvt:u,e).payload);const{payload:f}=G(u===void 0?e.lastEvt:u,e,!0),m=()=>{e.handler(f)};e.styleCleanup!==void 0?e.styleCleanup(m):m()}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0}}};if(a.__qtouchpan=e,r.mouse===!0){const u=r.mouseCapture===!0||r.mousecapture===!0?"Capture":"";P(e,"main",[[a,"mousedown","mouseStart",`passive${u}`]])}_.has.touch===!0&&P(e,"main",[[a,"touchstart","touchStart",`passive${r.capture===!0?"Capture":""}`],[a,"touchmove","noop","notPassiveCapture"]])},updated(a,o){const r=a.__qtouchpan;r!==void 0&&(o.oldValue!==o.value&&(typeof value!="function"&&r.end(),r.handler=o.value),r.direction=de(o.modifiers))},beforeUnmount(a){const o=a.__qtouchpan;o!==void 0&&(o.event!==void 0&&o.end(),K(o,"main"),K(o,"temp"),_.is.firefox===!0&&N(a,!1),o.styleCleanup?.(),delete a.__qtouchpan)}}),ve=150,tt=$e({name:"QDrawer",inheritAttrs:!1,props:{...Pe,...Ae,side:{type:String,default:"left",validator:a=>["left","right"].includes(a)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:a=>["default","desktop","mobile"].includes(a),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Le,"onLayout","miniState"],setup(a,{slots:o,emit:r,attrs:p}){const e=Qe(),{proxy:{$q:u}}=e,l=Ne(a,u),{preventBodyScroll:f}=Ke(),{registerTimeout:m,removeTimeout:s}=We(),n=Fe(ze,U);if(n===U)return console.error("QDrawer needs to be child of QLayout"),U;let q,h=null,b;const d=T(a.behavior==="mobile"||a.behavior!=="desktop"&&n.totalWidth.value<=a.breakpoint),S=v(()=>a.mini===!0&&d.value!==!0),g=v(()=>S.value===!0?a.miniWidth:a.width),c=T(a.showIfAbove===!0&&d.value===!1?!0:a.modelValue===!0),ee=v(()=>a.persistent!==!0&&(d.value===!0||he.value===!0));function te(t,i){if(fe(),t!==!1&&n.animate(),C(0),d.value===!0){const w=n.instances[L.value];w?.belowBreakpoint===!0&&w.hide(!1),B(1),n.isContainer.value!==!0&&f(!0)}else B(0),t!==!1&&V(!1);m(()=>{t!==!1&&V(!0),i!==!0&&r("show",t)},ve)}function ae(t,i){me(),t!==!1&&n.animate(),B(0),C(M.value*g.value),j(),i!==!0?m(()=>{r("hide",t)},ve):s()}const{show:z,hide:D}=Xe({showing:c,hideOnRouteChange:ee,handleShow:te,handleHide:ae}),{addToHistory:fe,removeFromHistory:me}=Ie(c,D,ee),$={belowBreakpoint:d,hide:D},k=v(()=>a.side==="right"),M=v(()=>(u.lang.rtl===!0?-1:1)*(k.value===!0?1:-1)),ue=T(0),E=T(!1),X=T(!1),ne=T(g.value*M.value),L=v(()=>k.value===!0?"left":"right"),I=v(()=>c.value===!0&&d.value===!1&&a.overlay===!1?a.miniToOverlay===!0?a.miniWidth:g.value:0),Y=v(()=>a.overlay===!0||a.miniToOverlay===!0||n.view.value.indexOf(k.value?"R":"L")!==-1||u.platform.is.ios===!0&&n.isContainer.value===!0),O=v(()=>a.overlay===!1&&c.value===!0&&d.value===!1),he=v(()=>a.overlay===!0&&c.value===!0&&d.value===!1),ye=v(()=>"fullscreen q-drawer__backdrop"+(c.value===!1&&E.value===!1?" hidden":"")),be=v(()=>({backgroundColor:`rgba(0,0,0,${ue.value*.4})`})),ie=v(()=>k.value===!0?n.rows.value.top[2]==="r":n.rows.value.top[0]==="l"),pe=v(()=>k.value===!0?n.rows.value.bottom[2]==="r":n.rows.value.bottom[0]==="l"),we=v(()=>{const t={};return n.header.space===!0&&ie.value===!1&&(Y.value===!0?t.top=`${n.header.offset}px`:n.header.space===!0&&(t.top=`${n.header.size}px`)),n.footer.space===!0&&pe.value===!1&&(Y.value===!0?t.bottom=`${n.footer.offset}px`:n.footer.space===!0&&(t.bottom=`${n.footer.size}px`)),t}),ge=v(()=>{const t={width:`${g.value}px`,transform:`translateX(${ne.value}px)`};return d.value===!0?t:Object.assign(t,we.value)}),Ce=v(()=>"q-drawer__content fit "+(n.isContainer.value!==!0?"scroll":"overflow-auto")),qe=v(()=>`q-drawer q-drawer--${a.side}`+(X.value===!0?" q-drawer--mini-animate":"")+(a.bordered===!0?" q-drawer--bordered":"")+(l.value===!0?" q-drawer--dark q-dark":"")+(E.value===!0?" no-transition":c.value===!0?"":" q-layout--prevent-focus")+(d.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${S.value===!0?"mini":"standard"}`+(Y.value===!0||O.value!==!0?" fixed":"")+(a.overlay===!0||a.miniToOverlay===!0?" q-drawer--on-top":"")+(ie.value===!0?" q-drawer--top-padding":""))),ke=v(()=>{const t=u.lang.rtl===!0?a.side:L.value;return[[J,Me,void 0,{[t]:!0,mouse:!0}]]}),Se=v(()=>{const t=u.lang.rtl===!0?L.value:a.side;return[[J,oe,void 0,{[t]:!0,mouse:!0}]]}),Be=v(()=>{const t=u.lang.rtl===!0?L.value:a.side;return[[J,oe,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function H(){Ee(d,a.behavior==="mobile"||a.behavior!=="desktop"&&n.totalWidth.value<=a.breakpoint)}y(d,t=>{t===!0?(q=c.value,c.value===!0&&D(!1)):a.overlay===!1&&a.behavior!=="mobile"&&q!==!1&&(c.value===!0?(C(0),B(0),j()):z(!1))}),y(()=>a.side,(t,i)=>{n.instances[i]===$&&(n.instances[i]=void 0,n[i].space=!1,n[i].offset=0),n.instances[t]=$,n[t].size=g.value,n[t].space=O.value,n[t].offset=I.value}),y(n.totalWidth,()=>{(n.isContainer.value===!0||document.qScrollPrevented!==!0)&&H()}),y(()=>a.behavior+a.breakpoint,H),y(n.isContainer,t=>{c.value===!0&&f(t!==!0),t===!0&&H()}),y(n.scrollbarWidth,()=>{C(c.value===!0?0:void 0)}),y(I,t=>{x("offset",t)}),y(O,t=>{r("onLayout",t),x("space",t)}),y(k,()=>{C()}),y(g,t=>{C(),Q(a.miniToOverlay,t)}),y(()=>a.miniToOverlay,t=>{Q(t,g.value)}),y(()=>u.lang.rtl,()=>{C()}),y(()=>a.mini,()=>{a.noMiniAnimation||a.modelValue===!0&&(xe(),n.animate())}),y(S,t=>{r("miniState",t)});function C(t){t===void 0?le(()=>{t=c.value===!0?0:g.value,C(M.value*t)}):(n.isContainer.value===!0&&k.value===!0&&(d.value===!0||Math.abs(t)===g.value)&&(t+=M.value*n.scrollbarWidth.value),ne.value=t)}function B(t){ue.value=t}function V(t){const i=t===!0?"remove":n.isContainer.value!==!0?"add":"";i!==""&&document.body.classList[i]("q-body--drawer-toggle")}function xe(){h!==null&&clearTimeout(h),e.proxy&&e.proxy.$el&&e.proxy.$el.classList.add("q-drawer--mini-animate"),X.value=!0,h=setTimeout(()=>{h=null,X.value=!1,e?.proxy?.$el?.classList.remove("q-drawer--mini-animate")},150)}function Me(t){if(c.value!==!1)return;const i=g.value,w=F(t.distance.x,0,i);if(t.isFinal===!0){w>=Math.min(75,i)===!0?z():(n.animate(),B(0),C(M.value*i)),E.value=!1;return}C((u.lang.rtl===!0?k.value!==!0:k.value)?Math.max(i-w,0):Math.min(0,w-i)),B(F(w/i,0,1)),t.isFirst===!0&&(E.value=!0)}function oe(t){if(c.value!==!0)return;const i=g.value,w=t.direction===a.side,A=(u.lang.rtl===!0?w!==!0:w)?F(t.distance.x,0,i):0;if(t.isFinal===!0){Math.abs(A){r("onLayout",O.value),r("miniState",S.value),q=a.showIfAbove===!0;const t=()=>{(c.value===!0?te:ae)(!1,!0)};if(n.totalWidth.value!==0){le(t);return}b=y(n.totalWidth,()=>{b(),b=void 0,c.value===!1&&a.showIfAbove===!0&&d.value===!1?z(!1):t()})}),He(()=>{b?.(),h!==null&&(clearTimeout(h),h=null),c.value===!0&&j(),n.instances[a.side]===$&&(n.instances[a.side]=void 0,x("size",0),x("offset",0),x("space",!1))}),()=>{const t=[];d.value===!0&&(a.noSwipeOpen===!1&&t.push(Ve(W("div",{key:"open",class:`q-drawer__opener fixed-${a.side}`,"aria-hidden":"true"}),ke.value)),t.push(se("div",{ref:"backdrop",class:ye.value,style:be.value,"aria-hidden":"true",onClick:D},void 0,"backdrop",a.noSwipeBackdrop!==!0&&c.value===!0,()=>Be.value)));const i=S.value===!0&&o.mini!==void 0,w=[W("div",{...p,key:""+i,class:[Ce.value,p.class]},i===!0?o.mini():je(o.default))];return a.elevated===!0&&c.value===!0&&w.push(W("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(se("aside",{ref:"content",class:qe.value,style:ge.value},w,"contentclose",a.noSwipeClose!==!0&&d.value===!0,()=>Se.value)),W("div",{class:"q-drawer-container"},t)}}});export{tt as Q}; diff --git a/backend/internal/http/static/spa/assets/QForm-BGdu5I02.js b/backend/internal/http/static/spa/assets/QForm-BGdu5I02.js new file mode 100644 index 0000000..aea20ab --- /dev/null +++ b/backend/internal/http/static/spa/assets/QForm-BGdu5I02.js @@ -0,0 +1 @@ +import{a as F,aC as P,aB as q,E as A,n as B,x as V,p as I,q as R,$ as Q,y as S,a6 as $,aV as j,as as D,aW as O}from"./index-BMUcF_AE.js";const M=F({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validationSuccess","validationError"],setup(r,{slots:C,emit:l}){const E=I(),u=R(null);let i=0;const s=[];function d(e){const a=typeof e=="boolean"?e:r.noErrorFocus!==!0,f=++i,x=(t,o)=>{l(`validation${t===!0?"Success":"Error"}`,o)},h=t=>{const o=t.validate();return typeof o.then=="function"?o.then(n=>({valid:n,comp:t}),n=>({valid:!1,comp:t,err:n})):Promise.resolve({valid:o,comp:t})};return(r.greedy===!0?Promise.all(s.map(h)).then(t=>t.filter(o=>o.valid!==!0)):s.reduce((t,o)=>t.then(()=>h(o).then(n=>{if(n.valid===!1)return Promise.reject(n)})),Promise.resolve()).catch(t=>[t])).then(t=>{if(t===void 0||t.length===0)return f===i&&x(!0),!0;if(f===i){const{comp:o,err:n}=t[0];if(n!==void 0&&console.error(n),x(!1,o),a===!0){const g=t.find(({comp:p})=>typeof p.focus=="function"&&Q(p.$)===!1);g!==void 0&&g.comp.focus()}}return!1})}function v(){i++,s.forEach(e=>{typeof e.resetValidation=="function"&&e.resetValidation()})}function m(e){e!==void 0&&S(e);const a=i+1;d().then(f=>{a===i&&f===!0&&(r.onSubmit!==void 0?l("submit",e):e?.target!==void 0&&typeof e.target.submit=="function"&&e.target.submit())})}function b(e){e!==void 0&&S(e),l("reset"),$(()=>{v(),r.autofocus===!0&&r.noResetFocus!==!0&&c()})}function c(){j(()=>{if(u.value===null)return;(u.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||u.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||u.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(u.value.querySelectorAll("[tabindex]"),a=>a.tabIndex!==-1))?.focus({preventScroll:!0})})}D(O,{bindComponent(e){s.push(e)},unbindComponent(e){const a=s.indexOf(e);a!==-1&&s.splice(a,1)}});let y=!1;return P(()=>{y=!0}),q(()=>{y===!0&&r.autofocus===!0&&c()}),A(()=>{r.autofocus===!0&&c()}),Object.assign(E.proxy,{validate:d,resetValidation:v,submit:m,reset:b,focus:c,getValidationComponents:()=>s}),()=>B("form",{class:"q-form",ref:u,onSubmit:m,onReset:b},V(C.default))}});export{M as Q}; diff --git a/backend/internal/http/static/spa/assets/QInput-CEazYqyH.js b/backend/internal/http/static/spa/assets/QInput-CEazYqyH.js deleted file mode 100644 index 24bee89..0000000 --- a/backend/internal/http/static/spa/assets/QInput-CEazYqyH.js +++ /dev/null @@ -1 +0,0 @@ -import{u as le,a as ie,b as re,c as oe,f as X,d as ue,e as se,g as fe,h as ce}from"./use-key-composition-TTwP9QMZ.js";import{q as W,z as N,P as B,p as R,a1 as de,s as ge,A as me,Q as ve,x as he,y as Q,a2 as ke,J}from"./index-QUdrNkKl.js";const p={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},{tokenMap:ee,tokenKeys:Me}=ne({"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}});function ne(e){const y=Object.keys(e),O={};return y.forEach(x=>{const f=e[x];O[x]={...f,regex:new RegExp(f.pattern)}}),{tokenMap:O,tokenKeys:y}}function ae(e){return new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+e.join("")+"])|(.)","g")}const te=/[.*+?^${}()|[\]\\]/g,xe=ae(Me),v="",ye={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean,maskTokens:Object};function we(e,y,O,x){let f,m,A,S,_,k;const T=R(()=>{if(e.maskTokens===void 0||e.maskTokens===null)return{tokenMap:ee,tokenRegexMask:xe};const{tokenMap:a}=ne(e.maskTokens),n={...ee,...a};return{tokenMap:n,tokenRegexMask:ae(Object.keys(n))}}),g=W(null),V=W(Z());function b(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}N(()=>e.type+e.autogrow,j),N(()=>e.mask,a=>{if(a!==void 0)z(V.value,!0);else{const n=I(V.value);j(),e.modelValue!==n&&y("update:modelValue",n)}}),N(()=>e.fillMask+e.reverseFillMask,()=>{g.value===!0&&z(V.value,!0)}),N(()=>e.unmaskedValue,()=>{g.value===!0&&z(V.value)});function Z(){if(j(),g.value===!0){const a=E(I(e.modelValue));return e.fillMask!==!1?H(a):a}return e.modelValue}function q(a){if(a0;o--)n+=v;i=i.slice(0,l)+n+i.slice(l)}return i}function j(){if(g.value=e.mask!==void 0&&e.mask.length!==0&&b(),g.value===!1){S=void 0,f="",m="";return}const a=p[e.mask]===void 0?e.mask:p[e.mask],n=typeof e.fillMask=="string"&&e.fillMask.length!==0?e.fillMask.slice(0,1):"_",i=n.replace(te,"\\$&"),l=[],o=[],u=[];let h=e.reverseFillMask===!0,r="",s="";a.replace(T.value.tokenRegexMask,(t,c,C,F,L)=>{if(F!==void 0){const M=T.value.tokenMap[F];u.push(M),s=M.negate,h===!0&&(o.push("(?:"+s+"+)?("+M.pattern+"+)?(?:"+s+"+)?("+M.pattern+"+)?"),h=!1),o.push("(?:"+s+"+)?("+M.pattern+")?")}else if(C!==void 0)r="\\"+(C==="\\"?"":C),u.push(C),l.push("([^"+r+"]+)?"+r+"?");else{const M=c!==void 0?c:L;r=M==="\\"?"\\\\\\\\":M.replace(te,"\\\\$&"),u.push(M),l.push("([^"+r+"]+)?"+r+"?")}});const P=new RegExp("^"+l.join("")+"("+(r===""?".":"[^"+r+"]")+"+)?"+(r===""?"":"["+r+"]*")+"$"),K=o.length-1,d=o.map((t,c)=>c===0&&e.reverseFillMask===!0?new RegExp("^"+i+"*"+t):c===K?new RegExp("^"+t+"("+(s===""?".":s)+"+)?"+(e.reverseFillMask===!0?"$":i+"*")):new RegExp("^"+t));A=u,S=t=>{const c=P.exec(e.reverseFillMask===!0?t:t.slice(0,u.length+1));c!==null&&(t=c.slice(1).join(""));const C=[],F=d.length;for(let L=0,M=t;Ltypeof t=="string"?t:v).join(""),m=f.split(v).join(n)}function z(a,n,i){const l=x.value,o=l.selectionEnd,u=l.value.length-o,h=I(a);n===!0&&j();const r=E(h,n),s=e.fillMask!==!1?H(r):r,P=V.value!==s;l.value!==s&&(l.value=s),P===!0&&(V.value=s),document.activeElement===l&&B(()=>{if(s===m){const d=e.reverseFillMask===!0?m.length:0;l.setSelectionRange(d,d,"forward");return}if(i==="insertFromPaste"&&e.reverseFillMask!==!0){const d=l.selectionEnd;let t=o-1;for(let c=_;c<=t&&cr.length?1:0:Math.max(0,s.length-(s===m?0:Math.min(r.length,u)+1))+1:o;l.setSelectionRange(d,d,"forward");return}if(e.reverseFillMask===!0)if(P===!0){const d=Math.max(0,s.length-(s===m?0:Math.min(r.length,u+1)));d===1&&o===1?l.setSelectionRange(d,d,"forward"):w.rightReverse(l,d)}else{const d=s.length-u;l.setSelectionRange(d,d,"backward")}else if(P===!0){const d=Math.max(0,f.indexOf(v),Math.min(r.length,o)-1);w.right(l,d)}else{const d=o-1;w.right(l,d)}});const K=e.unmaskedValue===!0?I(s):s;String(e.modelValue)!==K&&(e.modelValue!==null||K!=="")&&O(K,!0)}function Y(a,n,i){const l=E(I(a.value));n=Math.max(0,f.indexOf(v),Math.min(l.length,n)),_=n,a.setSelectionRange(n,i,"forward")}const w={left(a,n){const i=f.slice(n-1).indexOf(v)===-1;let l=Math.max(0,n-1);for(;l>=0;l--)if(f[l]===v){n=l,i===!0&&n++;break}if(l<0&&f[n]!==void 0&&f[n]!==v)return w.right(a,0);n>=0&&a.setSelectionRange(n,n,"backward")},right(a,n){const i=a.value.length;let l=Math.min(i,n+1);for(;l<=i;l++)if(f[l]===v){n=l;break}else f[l-1]===v&&(n=l);if(l>i&&f[n-1]!==void 0&&f[n-1]!==v)return w.left(a,i);a.setSelectionRange(n,n,"forward")},leftReverse(a,n){const i=q(a.value.length);let l=Math.max(0,n-1);for(;l>=0;l--)if(i[l-1]===v){n=l;break}else if(i[l]===v&&(n=l,l===0))break;if(l<0&&i[n]!==void 0&&i[n]!==v)return w.rightReverse(a,0);n>=0&&a.setSelectionRange(n,n,"backward")},rightReverse(a,n){const i=a.value.length,l=q(i),o=l.slice(0,n+1).indexOf(v)===-1;let u=Math.min(i,n+1);for(;u<=i;u++)if(l[u-1]===v){n=u,n>0&&o===!0&&n--;break}if(u>i&&l[n-1]!==void 0&&l[n-1]!==v)return w.leftReverse(a,i);a.setSelectionRange(n,n,"forward")}};function U(a){y("click",a),k=void 0}function $(a){if(y("keydown",a),de(a)===!0||a.altKey===!0)return;const n=x.value,i=n.selectionStart,l=n.selectionEnd;if(a.shiftKey||(k=void 0),a.keyCode===37||a.keyCode===39){a.shiftKey&&k===void 0&&(k=n.selectionDirection==="forward"?i:l);const o=w[(a.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];if(a.preventDefault(),o(n,k===i?l:i),a.shiftKey){const u=n.selectionStart;n.setSelectionRange(Math.min(k,u),Math.max(k,u),"forward")}}else a.keyCode===8&&e.reverseFillMask!==!0&&i===l?(w.left(n,i),n.setSelectionRange(n.selectionStart,l,"backward")):a.keyCode===46&&e.reverseFillMask===!0&&i===l&&(w.rightReverse(n,l),n.setSelectionRange(i,n.selectionEnd,"forward"))}function E(a,n){if(a==null||a==="")return"";if(e.reverseFillMask===!0)return D(a,n);const i=A;let l=0,o="";for(let u=0;u=0&&o!==-1;h--){const r=i[h];let s=a[o];if(typeof r=="string")u=r+u,n===!0&&s===r&&o--;else if(s!==void 0&&r.regex.test(s))do u=(r.transform!==void 0?r.transform(s):s)+u,o--,s=a[o];while(l===h&&s!==void 0&&r.regex.test(s));else return u}return u}function I(a){return typeof a!="string"||S===void 0?typeof a=="number"?S(""+a):a:S(a)}function H(a){return m.length-a.length<=0?a:e.reverseFillMask===!0&&a.length!==0?m.slice(0,-a.length)+a:a+m.slice(a.length)}return{innerValue:V,hasMask:g,moveCursorForPaste:Y,updateMaskValue:z,onMaskedKeydown:$,onMaskedClick:U}}function Ce(e,y){function O(){const x=e.modelValue;try{const f="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(x)===x&&("length"in x?Array.from(x):[x]).forEach(m=>{f.items.add(m)}),{files:f.files}}catch{return{files:void 0}}}return R(()=>{if(e.type==="file")return O()})}const Ee=ge({name:"QInput",inheritAttrs:!1,props:{...re,...ye,...ie,modelValue:[String,Number,FileList],shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...le,"paste","change","keydown","click","animationend"],setup(e,{emit:y,attrs:O}){const{proxy:x}=me(),{$q:f}=x,m={};let A=NaN,S,_,k=null,T;const g=W(null),V=ce(e),{innerValue:b,hasMask:Z,moveCursorForPaste:q,updateMaskValue:j,onMaskedKeydown:z,onMaskedClick:Y}=we(e,y,h,g),w=Ce(e),U=R(()=>X(b.value)),$=fe(o),E=oe({changeEvent:!0}),D=R(()=>e.type==="textarea"||e.autogrow===!0),I=R(()=>D.value===!0||["text","search","url","tel","password"].includes(e.type)),H=R(()=>{const t={...E.splitAttrs.listeners.value,onInput:o,onPaste:l,onChange:s,onBlur:P,onFocus:J};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=$,Z.value===!0&&(t.onKeydown=z,t.onClick=Y),e.autogrow===!0&&(t.onAnimationend=u),t}),a=R(()=>{const t={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:V.value,...E.splitAttrs.attributes.value,id:E.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return D.value===!1&&(t.type=e.type),e.autogrow===!0&&(t.rows=1),t});N(()=>e.type,()=>{g.value&&(g.value.value=e.modelValue)}),N(()=>e.modelValue,t=>{if(Z.value===!0){if(_===!0&&(_=!1,String(t)===A))return;j(t)}else b.value!==t&&(b.value=t,e.type==="number"&&m.hasOwnProperty("value")===!0&&(S===!0?S=!1:delete m.value));e.autogrow===!0&&B(r)}),N(()=>e.autogrow,t=>{t===!0?B(r):g.value!==null&&O.rows>0&&(g.value.style.height="auto")}),N(()=>e.dense,()=>{e.autogrow===!0&&B(r)});function n(){se(()=>{const t=document.activeElement;g.value!==null&&g.value!==t&&(t===null||t.id!==E.targetUid.value)&&g.value.focus({preventScroll:!0})})}function i(){g.value?.select()}function l(t){if(Z.value===!0&&e.reverseFillMask!==!0){const c=t.target;q(c,c.selectionStart,c.selectionEnd)}y("paste",t)}function o(t){if(!t||!t.target)return;if(e.type==="file"){y("update:modelValue",t.target.files);return}const c=t.target.value;if(t.target.qComposing===!0){m.value=c;return}if(Z.value===!0)j(c,!1,t.inputType);else if(h(c),I.value===!0&&t.target===document.activeElement){const{selectionStart:C,selectionEnd:F}=t.target;C!==void 0&&F!==void 0&&B(()=>{t.target===document.activeElement&&c.indexOf(t.target.value)===0&&t.target.setSelectionRange(C,F)})}e.autogrow===!0&&r()}function u(t){y("animationend",t),r()}function h(t,c){T=()=>{k=null,e.type!=="number"&&m.hasOwnProperty("value")===!0&&delete m.value,e.modelValue!==t&&A!==t&&(A=t,c===!0&&(_=!0),y("update:modelValue",t),B(()=>{A===t&&(A=NaN)})),T=void 0},e.type==="number"&&(S=!0,m.value=t),e.debounce!==void 0?(k!==null&&clearTimeout(k),m.value=t,k=setTimeout(T,e.debounce)):T()}function r(){requestAnimationFrame(()=>{const t=g.value;if(t!==null){const c=t.parentNode.style,{scrollTop:C}=t,{overflowY:F,maxHeight:L}=f.platform.is.firefox===!0?{}:window.getComputedStyle(t),M=F!==void 0&&F!=="scroll";M===!0&&(t.style.overflowY="hidden"),c.marginBottom=t.scrollHeight-1+"px",t.style.height="1px",t.style.height=t.scrollHeight+"px",M===!0&&(t.style.overflowY=parseInt(L,10){g.value!==null&&(g.value.value=b.value!==void 0?b.value:"")})}function K(){return m.hasOwnProperty("value")===!0?m.value:b.value!==void 0?b.value:""}ve(()=>{P()}),he(()=>{e.autogrow===!0&&r()}),Object.assign(E,{innerValue:b,fieldClass:R(()=>`q-${D.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:R(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length!==0),inputRef:g,emitValue:h,hasValue:U,floatingLabel:R(()=>U.value===!0&&(e.type!=="number"||isNaN(b.value)===!1)||X(e.displayValue)),getControl:()=>Q(D.value===!0?"textarea":"input",{ref:g,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...a.value,...H.value,...e.type!=="file"?{value:K()}:w.value}),getShadowControl:()=>Q("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(D.value===!0?"":" text-no-wrap")},[Q("span",{class:"invisible"},K()),Q("span",e.shadowText)])});const d=ue(E);return Object.assign(x,{focus:n,select:i,getNativeElement:()=>g.value}),ke(x,"nativeEl",()=>g.value),d}});export{Ee as Q}; diff --git a/backend/internal/http/static/spa/assets/QItem-49cALKGJ.js b/backend/internal/http/static/spa/assets/QItem-49cALKGJ.js new file mode 100644 index 0000000..c07a0a4 --- /dev/null +++ b/backend/internal/http/static/spa/assets/QItem-49cALKGJ.js @@ -0,0 +1 @@ +import{a as v,n as r,x as q,t as a,bj as w,aj as I,p as E,bk as Q,q as f,aO as S,y as j,ar as K,aq as R}from"./index-BMUcF_AE.js";const $=v({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:n}){const l=a(()=>parseInt(e.lines,10)),u=a(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(l.value===1?" ellipsis":"")),c=a(()=>e.lines!==void 0&&l.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":l.value}:null);return()=>r("div",{style:c.value,class:u.value},q(n.default))}}),D=v({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:n}){const l=a(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>r("div",{class:l.value},q(n.default))}}),F=v({name:"QItem",props:{...I,...w,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:n,emit:l}){const{proxy:{$q:u}}=E(),c=R(e,u),{hasLink:d,linkAttrs:k,linkClass:_,linkTag:y,navigateOnClick:h}=Q(),s=f(null),o=f(null),m=a(()=>e.clickable===!0||d.value===!0||e.tag==="label"),i=a(()=>e.disable!==!0&&m.value===!0),g=a(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(c.value===!0?" q-item--dark":"")+(d.value===!0&&e.active===null?_.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(i.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),B=a(()=>e.insetLevel===void 0?null:{["padding"+(u.lang.rtl===!0?"Right":"Left")]:16+e.insetLevel*56+"px"});function x(t){i.value===!0&&(o.value!==null&&t.qAvoidFocus!==!0&&(t.qKeyEvent!==!0&&document.activeElement===s.value?o.value.focus():document.activeElement===o.value&&s.value.focus()),h(t))}function C(t){if(i.value===!0&&S(t,[13,32])===!0){j(t),t.qKeyEvent=!0;const b=new MouseEvent("click",t);b.qKeyEvent=!0,s.value.dispatchEvent(b)}l("keyup",t)}function L(){const t=K(n.default,[]);return i.value===!0&&t.unshift(r("div",{class:"q-focus-helper",tabindex:-1,ref:o})),t}return()=>{const t={ref:s,class:g.value,style:B.value,role:"listitem",onClick:x,onKeyup:C};return i.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,k.value)):m.value===!0&&(t["aria-disabled"]="true"),r(y.value,t,L())}}});export{F as Q,D as a,$ as b}; diff --git a/backend/internal/http/static/spa/assets/QItem-F5bzVaJB.js b/backend/internal/http/static/spa/assets/QItem-F5bzVaJB.js deleted file mode 100644 index 9acb06f..0000000 --- a/backend/internal/http/static/spa/assets/QItem-F5bzVaJB.js +++ /dev/null @@ -1 +0,0 @@ -import{s as v,y as r,p as a,A as w,q as f,_ as I,L as E}from"./index-QUdrNkKl.js";import{h as q,c as Q}from"./render-B4qP-w0Q.js";import{u as S,a as A}from"./use-dark-BRt0_t6X.js";import{g as K,h as R}from"./QBtn-AYMizH8c.js";const N=v({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:n}){const l=a(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>r("div",{class:l.value},q(n.default))}}),P=v({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:n}){const l=a(()=>parseInt(e.lines,10)),u=a(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(l.value===1?" ellipsis":"")),c=a(()=>e.lines!==void 0&&l.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":l.value}:null);return()=>r("div",{style:c.value,class:u.value},q(n.default))}}),O=v({name:"QItem",props:{...S,...K,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:n,emit:l}){const{proxy:{$q:u}}=w(),c=A(e,u),{hasLink:m,linkAttrs:k,linkClass:_,linkTag:h,navigateOnClick:y}=R(),s=f(null),o=f(null),d=a(()=>e.clickable===!0||m.value===!0||e.tag==="label"),i=a(()=>e.disable!==!0&&d.value===!0),g=a(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(c.value===!0?" q-item--dark":"")+(m.value===!0&&e.active===null?_.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(i.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),B=a(()=>e.insetLevel===void 0?null:{["padding"+(u.lang.rtl===!0?"Right":"Left")]:16+e.insetLevel*56+"px"});function x(t){i.value===!0&&(o.value!==null&&t.qAvoidFocus!==!0&&(t.qKeyEvent!==!0&&document.activeElement===s.value?o.value.focus():document.activeElement===o.value&&s.value.focus()),y(t))}function L(t){if(i.value===!0&&I(t,[13,32])===!0){E(t),t.qKeyEvent=!0;const b=new MouseEvent("click",t);b.qKeyEvent=!0,s.value.dispatchEvent(b)}l("keyup",t)}function C(){const t=Q(n.default,[]);return i.value===!0&&t.unshift(r("div",{class:"q-focus-helper",tabindex:-1,ref:o})),t}return()=>{const t={ref:s,class:g.value,style:B.value,role:"listitem",onClick:x,onKeyup:L};return i.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,k.value)):d.value===!0&&(t["aria-disabled"]="true"),r(h.value,t,C())}}});export{O as Q,N as a,P as b}; diff --git a/backend/internal/http/static/spa/assets/QLayout-BFNq0ssN.js b/backend/internal/http/static/spa/assets/QLayout-BFNq0ssN.js new file mode 100644 index 0000000..5440741 --- /dev/null +++ b/backend/internal/http/static/spa/assets/QLayout-BFNq0ssN.js @@ -0,0 +1 @@ +import{a as $,n as f,x as O,t as u,p as L,ak as M,al as q,am as F,q as S,w as x,o as W,ar as N,as as k,at as U,s as j,m as A,au as I,E as K,ae as D,av as Z,aw as G,Z as J,ax as V,ay as X,az as Y,a5 as C}from"./index-BMUcF_AE.js";import{a as B}from"./QResizeObserver-UV_Ef03s.js";const le=$({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:v}){const l=u(()=>"q-toolbar__title ellipsis"+(e.shrink===!0?" col-shrink":""));return()=>f("div",{class:l.value},O(v.default))}}),ae=$({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:v}){const l=u(()=>"q-toolbar row no-wrap items-center"+(e.inset===!0?" q-toolbar--inset":""));return()=>f("div",{class:l.value,role:"toolbar"},O(v.default))}}),ie=$({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:v,emit:l}){const{proxy:{$q:n}}=L(),o=M(F,q);if(o===q)return console.error("QHeader needs to be child of QLayout"),q;const r=S(parseInt(e.heightHint,10)),c=S(!0),y=u(()=>e.reveal===!0||o.view.value.indexOf("H")!==-1||n.platform.is.ios&&o.isContainer.value===!0),g=u(()=>{if(e.modelValue!==!0)return 0;if(y.value===!0)return c.value===!0?r.value:0;const t=r.value-o.scroll.value.position;return t>0?t:0}),s=u(()=>e.modelValue!==!0||y.value===!0&&c.value!==!0),T=u(()=>e.modelValue===!0&&s.value===!0&&e.reveal===!0),p=u(()=>"q-header q-layout__section--marginal "+(y.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(s.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),w=u(()=>{const t=o.rows.value.top,h={};return t[0]==="l"&&o.left.space===!0&&(h[n.lang.rtl===!0?"right":"left"]=`${o.left.size}px`),t[2]==="r"&&o.right.space===!0&&(h[n.lang.rtl===!0?"left":"right"]=`${o.right.size}px`),h});function i(t,h){o.update("header",t,h)}function m(t,h){t.value!==h&&(t.value=h)}function P({height:t}){m(r,t),i("size",t)}function H(t){T.value===!0&&m(c,!0),l("focusin",t)}x(()=>e.modelValue,t=>{i("space",t),m(c,!0),o.animate()}),x(g,t=>{i("offset",t)}),x(()=>e.reveal,t=>{t===!1&&m(c,e.modelValue)}),x(c,t=>{o.animate(),l("reveal",t)}),x(o.scroll,t=>{e.reveal===!0&&m(c,t.direction==="up"||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});const Q={};return o.instances.header=Q,e.modelValue===!0&&i("size",r.value),i("space",e.modelValue),i("offset",g.value),W(()=>{o.instances.header===Q&&(o.instances.header=void 0,i("size",0),i("offset",0),i("space",!1))}),()=>{const t=N(v.default,[]);return e.elevated===!0&&t.push(f("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(f(B,{debounce:0,onResize:P})),f("header",{class:p.value,style:w.value,onFocusin:H},t)}}}),re=$({name:"QPageContainer",setup(e,{slots:v}){const{proxy:{$q:l}}=L(),n=M(F,q);if(n===q)return console.error("QPageContainer needs to be child of QLayout"),q;k(U,!0);const o=u(()=>{const r={};return n.header.space===!0&&(r.paddingTop=`${n.header.size}px`),n.right.space===!0&&(r[`padding${l.lang.rtl===!0?"Left":"Right"}`]=`${n.right.size}px`),n.footer.space===!0&&(r.paddingBottom=`${n.footer.size}px`),n.left.space===!0&&(r[`padding${l.lang.rtl===!0?"Right":"Left"}`]=`${n.left.size}px`),r});return()=>f("div",{class:"q-page-container",style:o.value},O(v.default))}}),{passive:_}=I,ee=["both","horizontal","vertical"],te=$({name:"QScrollObserver",props:{axis:{type:String,validator:e=>ee.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:j},emits:["scroll"],setup(e,{emit:v}){const l={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let n=null,o,r;x(()=>e.scrollTarget,()=>{g(),y()});function c(){n?.();const p=Math.max(0,Z(o)),w=G(o),i={top:p-l.position.top,left:w-l.position.left};if(e.axis==="vertical"&&i.top===0||e.axis==="horizontal"&&i.left===0)return;const m=Math.abs(i.top)>=Math.abs(i.left)?i.top<0?"up":"down":i.left<0?"left":"right";l.position={top:p,left:w},l.directionChanged=l.direction!==m,l.delta=i,l.directionChanged===!0&&(l.direction=m,l.inflectionPoint=l.position),v("scroll",{...l})}function y(){o=A(r,e.scrollTarget),o.addEventListener("scroll",s,_),s(!0)}function g(){o!==void 0&&(o.removeEventListener("scroll",s,_),o=void 0)}function s(p){if(p===!0||e.debounce===0||e.debounce==="0")c();else if(n===null){const[w,i]=e.debounce?[setTimeout(c,e.debounce),clearTimeout]:[requestAnimationFrame(c),cancelAnimationFrame];n=()=>{i(w),n=null}}}const{proxy:T}=L();return x(()=>T.$q.lang.rtl,c),K(()=>{r=T.$el.parentNode,y()}),W(()=>{n?.(),g()}),Object.assign(T,{trigger:s,getPosition:()=>l}),D}}),se=$({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:v,emit:l}){const{proxy:{$q:n}}=L(),o=S(null),r=S(n.screen.height),c=S(e.container===!0?0:n.screen.width),y=S({position:0,direction:"down",inflectionPoint:0}),g=S(0),s=S(J.value===!0?0:V()),T=u(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),p=u(()=>e.container===!1?{minHeight:n.screen.height+"px"}:null),w=u(()=>s.value!==0?{[n.lang.rtl===!0?"left":"right"]:`${s.value}px`}:null),i=u(()=>s.value!==0?{[n.lang.rtl===!0?"right":"left"]:0,[n.lang.rtl===!0?"left":"right"]:`-${s.value}px`,width:`calc(100% + ${s.value}px)`}:null);function m(a){if(e.container===!0||document.qScrollPrevented!==!0){const d={position:a.position.top,direction:a.direction,directionChanged:a.directionChanged,inflectionPoint:a.inflectionPoint.top,delta:a.delta.top};y.value=d,e.onScroll!==void 0&&l("scroll",d)}}function P(a){const{height:d,width:z}=a;let b=!1;r.value!==d&&(b=!0,r.value=d,e.onScrollHeight!==void 0&&l("scrollHeight",d),Q()),c.value!==z&&(b=!0,c.value=z),b===!0&&e.onResize!==void 0&&l("resize",a)}function H({height:a}){g.value!==a&&(g.value=a,Q())}function Q(){if(e.container===!0){const a=r.value>g.value?V():0;s.value!==a&&(s.value=a)}}let t=null;const h={instances:{},view:u(()=>e.view),isContainer:u(()=>e.container),rootRef:o,height:r,containerHeight:g,scrollbarWidth:s,totalWidth:u(()=>c.value+s.value),rows:u(()=>{const a=e.view.toLowerCase().split(" ");return{top:a[0].split(""),middle:a[1].split(""),bottom:a[2].split("")}}),header:C({size:0,offset:0,space:!1}),right:C({size:300,offset:0,space:!1}),footer:C({size:0,offset:0,space:!1}),left:C({size:300,offset:0,space:!1}),scroll:y,animate(){t!==null?clearTimeout(t):document.body.classList.add("q-body--layout-animate"),t=setTimeout(()=>{t=null,document.body.classList.remove("q-body--layout-animate")},155)},update(a,d,z){h[a][d]=z}};if(k(F,h),V()>0){let a=function(){b=null,R.classList.remove("hide-scrollbar")},d=function(){if(b===null){if(R.scrollHeight>n.screen.height)return;R.classList.add("hide-scrollbar")}else clearTimeout(b);b=setTimeout(a,300)},z=function(E){b!==null&&E==="remove"&&(clearTimeout(b),a()),window[`${E}EventListener`]("resize",d)},b=null;const R=document.body;x(()=>e.container!==!0?"add":"remove",z),e.container!==!0&&z("add"),X(()=>{z("remove")})}return()=>{const a=Y(v.default,[f(te,{onScroll:m}),f(B,{onResize:P})]),d=f("div",{class:T.value,style:p.value,ref:e.container===!0?void 0:o,tabindex:-1},a);return e.container===!0?f("div",{class:"q-layout-container overflow-hidden",ref:o},[f(B,{onResize:H}),f("div",{class:"absolute-full",style:w.value},[f("div",{class:"scroll",style:i.value},[d])])]):d}}});export{ie as Q,ae as a,le as b,re as c,se as d}; diff --git a/backend/internal/http/static/spa/assets/QLayout-DIjK04DF.js b/backend/internal/http/static/spa/assets/QLayout-DIjK04DF.js deleted file mode 100644 index 42b4806..0000000 --- a/backend/internal/http/static/spa/assets/QLayout-DIjK04DF.js +++ /dev/null @@ -1 +0,0 @@ -import{s as q,y as v,p as d,q as w,v as D,x as P,A as Q,Q as C,F as U,P as k,S as B,M as A,N as $,O as N,z as T,U as I,V as X,W as G,X as H}from"./index-QUdrNkKl.js";import{h as W,c as J,d as Y}from"./render-B4qP-w0Q.js";import{s as Z,g as ee,e as te,f as oe,h as E}from"./use-prevent-scroll-eZQDeoK_.js";const ue=q({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:h}){const o=d(()=>"q-toolbar__title ellipsis"+(e.shrink===!0?" col-shrink":""));return()=>v("div",{class:o.value},W(h.default))}}),ce=q({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:h}){const o=d(()=>"q-toolbar row no-wrap items-center"+(e.inset===!0?" q-toolbar--inset":""));return()=>v("div",{class:o.value,role:"toolbar"},W(h.default))}});function ne(){const e=w(!D.value);return e.value===!1&&P(()=>{e.value=!0}),{isHydrated:e}}const K=typeof ResizeObserver<"u",M=K===!0?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},F=q({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:h}){let o=null,t,i={width:-1,height:-1};function s(r){r===!0||e.debounce===0||e.debounce==="0"?u():o===null&&(o=setTimeout(u,e.debounce))}function u(){if(o!==null&&(clearTimeout(o),o=null),t){const{offsetWidth:r,offsetHeight:l}=t;(r!==i.width||l!==i.height)&&(i={width:r,height:l},h("resize",i))}}const{proxy:g}=Q();if(g.trigger=s,K===!0){let r;const l=b=>{t=g.$el.parentNode,t?(r=new ResizeObserver(s),r.observe(t),u()):b!==!0&&k(()=>{l(!0)})};return P(()=>{l()}),C(()=>{o!==null&&clearTimeout(o),r!==void 0&&(r.disconnect!==void 0?r.disconnect():t&&r.unobserve(t))}),U}else{let r=function(){o!==null&&(clearTimeout(o),o=null),f!==void 0&&(f.removeEventListener!==void 0&&f.removeEventListener("resize",s,B.passive),f=void 0)},l=function(){r(),t?.contentDocument&&(f=t.contentDocument.defaultView,f.addEventListener("resize",s,B.passive),u())};const{isHydrated:b}=ne();let f;return P(()=>{k(()=>{t=g.$el,t&&l()})}),C(r),()=>{if(b.value===!0)return v("object",{class:"q--avoid-card-border",style:M.style,tabindex:-1,type:"text/html",data:M.url,"aria-hidden":"true",onLoad:l})}}}}),de=q({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:h,emit:o}){const{proxy:{$q:t}}=Q(),i=A(N,$);if(i===$)return console.error("QHeader needs to be child of QLayout"),$;const s=w(parseInt(e.heightHint,10)),u=w(!0),g=d(()=>e.reveal===!0||i.view.value.indexOf("H")!==-1||t.platform.is.ios&&i.isContainer.value===!0),r=d(()=>{if(e.modelValue!==!0)return 0;if(g.value===!0)return u.value===!0?s.value:0;const n=s.value-i.scroll.value.position;return n>0?n:0}),l=d(()=>e.modelValue!==!0||g.value===!0&&u.value!==!0),b=d(()=>e.modelValue===!0&&l.value===!0&&e.reveal===!0),f=d(()=>"q-header q-layout__section--marginal "+(g.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(l.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),S=d(()=>{const n=i.rows.value.top,y={};return n[0]==="l"&&i.left.space===!0&&(y[t.lang.rtl===!0?"right":"left"]=`${i.left.size}px`),n[2]==="r"&&i.right.space===!0&&(y[t.lang.rtl===!0?"left":"right"]=`${i.right.size}px`),y});function c(n,y){i.update("header",n,y)}function p(n,y){n.value!==y&&(n.value=y)}function R({height:n}){p(s,n),c("size",n)}function O(n){b.value===!0&&p(u,!0),o("focusin",n)}T(()=>e.modelValue,n=>{c("space",n),p(u,!0),i.animate()}),T(r,n=>{c("offset",n)}),T(()=>e.reveal,n=>{n===!1&&p(u,e.modelValue)}),T(u,n=>{i.animate(),o("reveal",n)}),T(i.scroll,n=>{e.reveal===!0&&p(u,n.direction==="up"||n.position<=e.revealOffset||n.position-n.inflectionPoint<100)});const L={};return i.instances.header=L,e.modelValue===!0&&c("size",s.value),c("space",e.modelValue),c("offset",r.value),C(()=>{i.instances.header===L&&(i.instances.header=void 0,c("size",0),c("offset",0),c("space",!1))}),()=>{const n=J(h.default,[]);return e.elevated===!0&&n.push(v("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),n.push(v(F,{debounce:0,onResize:R})),v("header",{class:f.value,style:S.value,onFocusin:O},n)}}}),fe=q({name:"QPageContainer",setup(e,{slots:h}){const{proxy:{$q:o}}=Q(),t=A(N,$);if(t===$)return console.error("QPageContainer needs to be child of QLayout"),$;I(X,!0);const i=d(()=>{const s={};return t.header.space===!0&&(s.paddingTop=`${t.header.size}px`),t.right.space===!0&&(s[`padding${o.lang.rtl===!0?"Left":"Right"}`]=`${t.right.size}px`),t.footer.space===!0&&(s.paddingBottom=`${t.footer.size}px`),t.left.space===!0&&(s[`padding${o.lang.rtl===!0?"Right":"Left"}`]=`${t.left.size}px`),s});return()=>v("div",{class:"q-page-container",style:i.value},W(h.default))}}),{passive:j}=B,ie=["both","horizontal","vertical"],le=q({name:"QScrollObserver",props:{axis:{type:String,validator:e=>ie.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:Z},emits:["scroll"],setup(e,{emit:h}){const o={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let t=null,i,s;T(()=>e.scrollTarget,()=>{r(),g()});function u(){t?.();const f=Math.max(0,te(i)),S=oe(i),c={top:f-o.position.top,left:S-o.position.left};if(e.axis==="vertical"&&c.top===0||e.axis==="horizontal"&&c.left===0)return;const p=Math.abs(c.top)>=Math.abs(c.left)?c.top<0?"up":"down":c.left<0?"left":"right";o.position={top:f,left:S},o.directionChanged=o.direction!==p,o.delta=c,o.directionChanged===!0&&(o.direction=p,o.inflectionPoint=o.position),h("scroll",{...o})}function g(){i=ee(s,e.scrollTarget),i.addEventListener("scroll",l,j),l(!0)}function r(){i!==void 0&&(i.removeEventListener("scroll",l,j),i=void 0)}function l(f){if(f===!0||e.debounce===0||e.debounce==="0")u();else if(t===null){const[S,c]=e.debounce?[setTimeout(u,e.debounce),clearTimeout]:[requestAnimationFrame(u),cancelAnimationFrame];t=()=>{c(S),t=null}}}const{proxy:b}=Q();return T(()=>b.$q.lang.rtl,u),P(()=>{s=b.$el.parentNode,g()}),C(()=>{t?.(),r()}),Object.assign(b,{trigger:l,getPosition:()=>o}),U}}),ve=q({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:h,emit:o}){const{proxy:{$q:t}}=Q(),i=w(null),s=w(t.screen.height),u=w(e.container===!0?0:t.screen.width),g=w({position:0,direction:"down",inflectionPoint:0}),r=w(0),l=w(D.value===!0?0:E()),b=d(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),f=d(()=>e.container===!1?{minHeight:t.screen.height+"px"}:null),S=d(()=>l.value!==0?{[t.lang.rtl===!0?"left":"right"]:`${l.value}px`}:null),c=d(()=>l.value!==0?{[t.lang.rtl===!0?"right":"left"]:0,[t.lang.rtl===!0?"left":"right"]:`-${l.value}px`,width:`calc(100% + ${l.value}px)`}:null);function p(a){if(e.container===!0||document.qScrollPrevented!==!0){const m={position:a.position.top,direction:a.direction,directionChanged:a.directionChanged,inflectionPoint:a.inflectionPoint.top,delta:a.delta.top};g.value=m,e.onScroll!==void 0&&o("scroll",m)}}function R(a){const{height:m,width:x}=a;let z=!1;s.value!==m&&(z=!0,s.value=m,e.onScrollHeight!==void 0&&o("scrollHeight",m),L()),u.value!==x&&(z=!0,u.value=x),z===!0&&e.onResize!==void 0&&o("resize",a)}function O({height:a}){r.value!==a&&(r.value=a,L())}function L(){if(e.container===!0){const a=s.value>r.value?E():0;l.value!==a&&(l.value=a)}}let n=null;const y={instances:{},view:d(()=>e.view),isContainer:d(()=>e.container),rootRef:i,height:s,containerHeight:r,scrollbarWidth:l,totalWidth:d(()=>u.value+l.value),rows:d(()=>{const a=e.view.toLowerCase().split(" ");return{top:a[0].split(""),middle:a[1].split(""),bottom:a[2].split("")}}),header:H({size:0,offset:0,space:!1}),right:H({size:300,offset:0,space:!1}),footer:H({size:0,offset:0,space:!1}),left:H({size:300,offset:0,space:!1}),scroll:g,animate(){n!==null?clearTimeout(n):document.body.classList.add("q-body--layout-animate"),n=setTimeout(()=>{n=null,document.body.classList.remove("q-body--layout-animate")},155)},update(a,m,x){y[a][m]=x}};if(I(N,y),E()>0){let a=function(){z=null,V.classList.remove("hide-scrollbar")},m=function(){if(z===null){if(V.scrollHeight>t.screen.height)return;V.classList.add("hide-scrollbar")}else clearTimeout(z);z=setTimeout(a,300)},x=function(_){z!==null&&_==="remove"&&(clearTimeout(z),a()),window[`${_}EventListener`]("resize",m)},z=null;const V=document.body;T(()=>e.container!==!0?"add":"remove",x),e.container!==!0&&x("add"),G(()=>{x("remove")})}return()=>{const a=Y(h.default,[v(le,{onScroll:p}),v(F,{onResize:R})]),m=v("div",{class:b.value,style:f.value,ref:e.container===!0?void 0:i,tabindex:-1},a);return e.container===!0?v("div",{class:"q-layout-container overflow-hidden",ref:i},[v(F,{onResize:O}),v("div",{class:"absolute-full",style:S.value},[v("div",{class:"scroll",style:c.value},[m])])]):m}}});export{de as Q,ce as a,ue as b,fe as c,ve as d}; diff --git a/backend/internal/http/static/spa/assets/QPage-DJ7xuyij.js b/backend/internal/http/static/spa/assets/QPage-DJ7xuyij.js new file mode 100644 index 0000000..fc77f9f --- /dev/null +++ b/backend/internal/http/static/spa/assets/QPage-DJ7xuyij.js @@ -0,0 +1 @@ +import{a as g,p,ak as r,al as t,am as h,at as d,n as y,x as f,t as s}from"./index-BMUcF_AE.js";const C=g({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(n,{slots:i}){const{proxy:{$q:o}}=p(),e=r(h,t);if(e===t)return console.error("QPage needs to be a deep child of QLayout"),t;if(r(d,t)===t)return console.error("QPage needs to be child of QPageContainer"),t;const c=s(()=>{const a=(e.header.space===!0?e.header.size:0)+(e.footer.space===!0?e.footer.size:0);if(typeof n.styleFn=="function"){const l=e.isContainer.value===!0?e.containerHeight.value:o.screen.height;return n.styleFn(a,l)}return{minHeight:e.isContainer.value===!0?e.containerHeight.value-a+"px":o.screen.height===0?a!==0?`calc(100vh - ${a}px)`:"100vh":o.screen.height-a+"px"}}),u=s(()=>`q-page${n.padding===!0?" q-layout-padding":""}`);return()=>y("main",{class:u.value,style:c.value},f(i.default))}});export{C as Q}; diff --git a/backend/internal/http/static/spa/assets/QPage-gf8hzrox.js b/backend/internal/http/static/spa/assets/QPage-gf8hzrox.js deleted file mode 100644 index 0a41458..0000000 --- a/backend/internal/http/static/spa/assets/QPage-gf8hzrox.js +++ /dev/null @@ -1 +0,0 @@ -import{s as p,A as g,M as r,N as t,O as h,V as d,y,p as s}from"./index-QUdrNkKl.js";import{h as f}from"./render-B4qP-w0Q.js";const Q=p({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(a,{slots:i}){const{proxy:{$q:o}}=g(),e=r(h,t);if(e===t)return console.error("QPage needs to be a deep child of QLayout"),t;if(r(d,t)===t)return console.error("QPage needs to be child of QPageContainer"),t;const c=s(()=>{const n=(e.header.space===!0?e.header.size:0)+(e.footer.space===!0?e.footer.size:0);if(typeof a.styleFn=="function"){const l=e.isContainer.value===!0?e.containerHeight.value:o.screen.height;return a.styleFn(n,l)}return{minHeight:e.isContainer.value===!0?e.containerHeight.value-n+"px":o.screen.height===0?n!==0?`calc(100vh - ${n}px)`:"100vh":o.screen.height-n+"px"}}),u=s(()=>`q-page${a.padding===!0?" q-layout-padding":""}`);return()=>y("main",{class:u.value,style:c.value},f(i.default))}});export{Q}; diff --git a/backend/internal/http/static/spa/assets/QResizeObserver-UV_Ef03s.js b/backend/internal/http/static/spa/assets/QResizeObserver-UV_Ef03s.js new file mode 100644 index 0000000..fab4ef0 --- /dev/null +++ b/backend/internal/http/static/spa/assets/QResizeObserver-UV_Ef03s.js @@ -0,0 +1 @@ +import{a as p,aj as x,aq as w,n as y,x as k,p as z,t as v,q as E,Z as L,E as f,o as b,ae as O,a6 as m,au as h}from"./index-BMUcF_AE.js";const D=["ul","ol"],Q=p({name:"QList",props:{...x,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:u}){const s=z(),n=w(e,s.proxy.$q),r=v(()=>D.includes(e.tag)?null:"list"),o=v(()=>"q-list"+(e.bordered===!0?" q-list--bordered":"")+(e.dense===!0?" q-list--dense":"")+(e.separator===!0?" q-list--separator":"")+(n.value===!0?" q-list--dark":"")+(e.padding===!0?" q-list--padding":""));return()=>y(e.tag,{class:o.value,role:r.value},k(u.default))}});function B(){const e=E(!L.value);return e.value===!1&&f(()=>{e.value=!0}),{isHydrated:e}}const q=typeof ResizeObserver<"u",g=q===!0?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},R=p({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:u}){let s=null,n,r={width:-1,height:-1};function o(t){t===!0||e.debounce===0||e.debounce==="0"?l():s===null&&(s=setTimeout(l,e.debounce))}function l(){if(s!==null&&(clearTimeout(s),s=null),n){const{offsetWidth:t,offsetHeight:i}=n;(t!==r.width||i!==r.height)&&(r={width:t,height:i},u("resize",r))}}const{proxy:d}=z();if(d.trigger=o,q===!0){let t;const i=c=>{n=d.$el.parentNode,n?(t=new ResizeObserver(o),t.observe(n),l()):c!==!0&&m(()=>{i(!0)})};return f(()=>{i()}),b(()=>{s!==null&&clearTimeout(s),t!==void 0&&(t.disconnect!==void 0?t.disconnect():n&&t.unobserve(n))}),O}else{let t=function(){s!==null&&(clearTimeout(s),s=null),a!==void 0&&(a.removeEventListener!==void 0&&a.removeEventListener("resize",o,h.passive),a=void 0)},i=function(){t(),n?.contentDocument&&(a=n.contentDocument.defaultView,a.addEventListener("resize",o,h.passive),l())};const{isHydrated:c}=B();let a;return f(()=>{m(()=>{n=d.$el,n&&i()})}),b(t),()=>{if(c.value===!0)return y("object",{class:"q--avoid-card-border",style:g.style,tabindex:-1,type:"text/html",data:g.url,"aria-hidden":"true",onLoad:i})}}}});export{Q,R as a}; diff --git a/backend/internal/http/static/spa/assets/QSelect-QjDUAbKc.js b/backend/internal/http/static/spa/assets/QSelect-QjDUAbKc.js deleted file mode 100644 index 68b967b..0000000 --- a/backend/internal/http/static/spa/assets/QSelect-QjDUAbKc.js +++ /dev/null @@ -1 +0,0 @@ -import{u as Mt,b as et,d as Tt,c as zt,e as Zt,a as el,f as ht,h as tl,g as ll}from"./use-key-composition-TTwP9QMZ.js";import{s as $e,A as He,p as x,y as A,L as ae,I as ze,G as gt,P as oe,_ as Ht,z as Y,x as nl,Q as Be,q as O,C as ol,S as Je,D as ul,H as il,T as al,a4 as rl,a5 as sl,a6 as cl,a7 as dl,F as fl,a8 as Me,a9 as vl,aa as ml,J as pe,a1 as hl}from"./index-QUdrNkKl.js";import{u as gl,c as Sl,b as _e,R as yl,f as bl}from"./QBtn-AYMizH8c.js";import{u as Bt,a as Ft}from"./use-dark-BRt0_t6X.js";import{b as wl,a as xl,h as Cl,d as pl}from"./render-B4qP-w0Q.js";import{a as Vl,b as kl,Q as ql}from"./QItem-F5bzVaJB.js";import{c as Al,n as St}from"./format-GjIIeqP4.js";import{h as El,u as Ml,s as Tl,a as zl,b as Hl,g as Bl}from"./use-prevent-scroll-eZQDeoK_.js";import{p as yt,u as Fl,a as Il,b as Ol,d as Ll,r as bt,e as Rl,f as _l,h as Pl,i as Dl,Q as Wl}from"./QDialog-BcbjPBVh.js";import{u as $l}from"./use-timeout-Jkrq6Sig.js";const Kl=$e({name:"QField",inheritAttrs:!1,props:{...et,tag:{type:String,default:"label"}},emits:Mt,setup(){return Tt(zt({tagProp:!0}))}}),jl={xs:8,sm:10,md:14,lg:20,xl:24},Nl=$e({name:"QChip",props:{...Bt,...gl,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:l,emit:o}){const{proxy:{$q:u}}=He(),v=Ft(e,u),i=Sl(e,jl),m=x(()=>e.selected===!0||e.icon!==void 0),h=x(()=>e.selected===!0?e.iconSelected||u.iconSet.chip.selected:e.icon),g=x(()=>e.iconRemove||u.iconSet.chip.remove),y=x(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),s=x(()=>{const b=e.outline===!0&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:"")+(b?` text-${b} q-chip--colored`:"")+(e.disable===!0?" disabled":"")+(e.dense===!0?" q-chip--dense":"")+(e.outline===!0?" q-chip--outline":"")+(e.selected===!0?" q-chip--selected":"")+(y.value===!0?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(e.square===!0?" q-chip--square":"")+(v.value===!0?" q-chip--dark q-dark":"")}),w=x(()=>{const b=e.disable===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},D={...b,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||u.lang.label.remove};return{chip:b,remove:D}});function C(b){b.keyCode===13&&a(b)}function a(b){e.disable||(o("update:selected",!e.selected),o("click",b))}function S(b){(b.keyCode===void 0||b.keyCode===13)&&(ae(b),e.disable===!1&&(o("update:modelValue",!1),o("remove")))}function P(){const b=[];y.value===!0&&b.push(A("div",{class:"q-focus-helper"})),m.value===!0&&b.push(A(_e,{class:"q-chip__icon q-chip__icon--left",name:h.value}));const D=e.label!==void 0?[A("div",{class:"ellipsis"},[e.label])]:void 0;return b.push(A("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},xl(l.default,D))),e.iconRight&&b.push(A(_e,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),e.removable===!0&&b.push(A(_e,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:g.value,...w.value.remove,onClick:S,onKeyup:S})),b}return()=>{if(e.modelValue===!1)return;const b={class:s.value,style:i.value};return y.value===!0&&Object.assign(b,w.value.chip,{onClick:a,onKeyup:C}),wl("div",b,P(),"ripple",e.ripple!==!1&&e.disable!==!0,()=>[[yl,e.ripple]])}}}),Ql={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},Ul={...Ql,contextMenu:Boolean};function Xl({showing:e,avoidEmit:l,configureAnchorEl:o}){const{props:u,proxy:v,emit:i}=He(),m=O(null);let h=null;function g(a){return m.value===null?!1:a===void 0||a.touches===void 0||a.touches.length<=1}const y={};o===void 0&&(Object.assign(y,{hide(a){v.hide(a)},toggle(a){v.toggle(a),a.qAnchorHandled=!0},toggleKey(a){Ht(a,13)===!0&&y.toggle(a)},contextClick(a){v.hide(a),ze(a),oe(()=>{v.show(a),a.qAnchorHandled=!0})},prevent:ze,mobileTouch(a){if(y.mobileCleanup(a),g(a)!==!0)return;v.hide(a),m.value.classList.add("non-selectable");const S=a.target;gt(y,"anchor",[[S,"touchmove","mobileCleanup","passive"],[S,"touchend","mobileCleanup","passive"],[S,"touchcancel","mobileCleanup","passive"],[m.value,"contextmenu","prevent","notPassive"]]),h=setTimeout(()=>{h=null,v.show(a),a.qAnchorHandled=!0},300)},mobileCleanup(a){m.value.classList.remove("non-selectable"),h!==null&&(clearTimeout(h),h=null),e.value===!0&&a!==void 0&&Al()}}),o=function(a=u.contextMenu){if(u.noParentEvent===!0||m.value===null)return;let S;a===!0?v.$q.platform.is.mobile===!0?S=[[m.value,"touchstart","mobileTouch","passive"]]:S=[[m.value,"mousedown","hide","passive"],[m.value,"contextmenu","contextClick","notPassive"]]:S=[[m.value,"click","toggle","passive"],[m.value,"keyup","toggleKey","passive"]],gt(y,"anchor",S)});function s(){ol(y,"anchor")}function w(a){for(m.value=a;m.value.classList.contains("q-anchor--skip");)m.value=m.value.parentNode;o()}function C(){if(u.target===!1||u.target===""||v.$el.parentNode===null)m.value=null;else if(u.target===!0)w(v.$el.parentNode);else{let a=u.target;if(typeof u.target=="string")try{a=document.querySelector(u.target)}catch{a=void 0}a!=null?(m.value=a.$el||a,o()):(m.value=null,console.error(`Anchor: target "${u.target}" not found`))}}return Y(()=>u.contextMenu,a=>{m.value!==null&&(s(),o(a))}),Y(()=>u.target,()=>{m.value!==null&&s(),C()}),Y(()=>u.noParentEvent,a=>{m.value!==null&&(a===!0?s():o())}),nl(()=>{C(),l!==!0&&u.modelValue===!0&&m.value===null&&i("update:modelValue",!1)}),Be(()=>{h!==null&&clearTimeout(h),s()}),{anchorEl:m,canShow:g,anchorEvents:y}}function Yl(e,l){const o=O(null);let u;function v(h,g){const y=`${g!==void 0?"add":"remove"}EventListener`,s=g!==void 0?g:u;h!==window&&h[y]("scroll",s,Je.passive),window[y]("scroll",s,Je.passive),u=g}function i(){o.value!==null&&(v(o.value),o.value=null)}const m=Y(()=>e.noParentEvent,()=>{o.value!==null&&(i(),l())});return Be(m),{localScrollTarget:o,unconfigureScrollTarget:i,changeScrollEvent:v}}const{notPassiveCapture:Pe}=Je,he=[];function De(e){const l=e.target;if(l===void 0||l.nodeType===8||l.classList.contains("no-pointer-events")===!0)return;let o=yt.length-1;for(;o>=0;){const u=yt[o].$;if(u.type.name==="QTooltip"){o--;continue}if(u.type.name!=="QDialog")break;if(u.props.seamless!==!0)return;o--}for(let u=he.length-1;u>=0;u--){const v=he[u];if((v.anchorEl.value===null||v.anchorEl.value.contains(l)===!1)&&(l===document.body||v.innerRef.value!==null&&v.innerRef.value.contains(l)===!1))e.qClickOutside=!0,v.onClickOutside(e);else return}}function Gl(e){he.push(e),he.length===1&&(document.addEventListener("mousedown",De,Pe),document.addEventListener("touchstart",De,Pe))}function wt(e){const l=he.findIndex(o=>o===e);l!==-1&&(he.splice(l,1),he.length===0&&(document.removeEventListener("mousedown",De,Pe),document.removeEventListener("touchstart",De,Pe)))}let xt,Ct;function pt(e){const l=e.split(" ");return l.length!==2?!1:["top","center","bottom"].includes(l[0])!==!0?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):["left","middle","right","start","end"].includes(l[1])!==!0?(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1):!0}function Jl(e){return e?!(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number"):!0}const Ze={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};["left","middle","right"].forEach(e=>{Ze[`${e}#ltr`]=e,Ze[`${e}#rtl`]=e});function Vt(e,l){const o=e.split(" ");return{vertical:o[0],horizontal:Ze[`${o[1]}#${l===!0?"rtl":"ltr"}`]}}function Zl(e,l){let{top:o,left:u,right:v,bottom:i,width:m,height:h}=e.getBoundingClientRect();return l!==void 0&&(o-=l[1],u-=l[0],i+=l[1],v+=l[0],m+=l[0],h+=l[1]),{top:o,bottom:i,height:h,left:u,right:v,width:m,middle:u+(v-u)/2,center:o+(i-o)/2}}function en(e,l,o){let{top:u,left:v}=e.getBoundingClientRect();return u+=l.top,v+=l.left,o!==void 0&&(u+=o[1],v+=o[0]),{top:u,bottom:u+1,height:1,left:v,right:v+1,width:1,middle:v,center:u}}function tn(e,l){return{top:0,center:l/2,bottom:l,left:0,middle:e/2,right:e}}function kt(e,l,o,u){return{top:e[o.vertical]-l[u.vertical],left:e[o.horizontal]-l[u.horizontal]}}function It(e,l=0){if(e.targetEl===null||e.anchorEl===null||l>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{It(e,l+1)},10);return}const{targetEl:o,offset:u,anchorEl:v,anchorOrigin:i,selfOrigin:m,absoluteOffset:h,fit:g,cover:y,maxHeight:s,maxWidth:w}=e;if(ul.is.ios===!0&&window.visualViewport!==void 0){const B=document.body.style,{offsetLeft:_,offsetTop:W}=window.visualViewport;_!==xt&&(B.setProperty("--q-pe-left",_+"px"),xt=_),W!==Ct&&(B.setProperty("--q-pe-top",W+"px"),Ct=W)}const{scrollLeft:C,scrollTop:a}=o,S=h===void 0?Zl(v,y===!0?[0,0]:u):en(v,h,u);Object.assign(o.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:w,maxHeight:s,visibility:"visible"});const{offsetWidth:P,offsetHeight:b}=o,{elWidth:D,elHeight:U}=g===!0||y===!0?{elWidth:Math.max(S.width,P),elHeight:y===!0?Math.max(S.height,b):b}:{elWidth:P,elHeight:b};let M={maxWidth:w,maxHeight:s};(g===!0||y===!0)&&(M.minWidth=S.width+"px",y===!0&&(M.minHeight=S.height+"px")),Object.assign(o.style,M);const E=tn(D,U);let F=kt(S,E,i,m);if(h===void 0||u===void 0)Xe(F,S,E,i,m);else{const{top:B,left:_}=F;Xe(F,S,E,i,m);let W=!1;if(F.top!==B){W=!0;const N=2*u[1];S.center=S.top-=N,S.bottom-=N+2}if(F.left!==_){W=!0;const N=2*u[0];S.middle=S.left-=N,S.right-=N+2}W===!0&&(F=kt(S,E,i,m),Xe(F,S,E,i,m))}M={top:F.top+"px",left:F.left+"px"},F.maxHeight!==void 0&&(M.maxHeight=F.maxHeight+"px",S.height>F.maxHeight&&(M.minHeight=M.maxHeight)),F.maxWidth!==void 0&&(M.maxWidth=F.maxWidth+"px",S.width>F.maxWidth&&(M.minWidth=M.maxWidth)),Object.assign(o.style,M),o.scrollTop!==a&&(o.scrollTop=a),o.scrollLeft!==C&&(o.scrollLeft=C)}function Xe(e,l,o,u,v){const i=o.bottom,m=o.right,h=El(),g=window.innerHeight-h,y=document.body.clientWidth;if(e.top<0||e.top+i>g)if(v.vertical==="center")e.top=l[u.vertical]>g/2?Math.max(0,g-i):0,e.maxHeight=Math.min(i,g);else if(l[u.vertical]>g/2){const s=Math.min(g,u.vertical==="center"?l.center:u.vertical===v.vertical?l.bottom:l.top);e.maxHeight=Math.min(i,s),e.top=Math.max(0,s-i)}else e.top=Math.max(0,u.vertical==="center"?l.center:u.vertical===v.vertical?l.top:l.bottom),e.maxHeight=Math.min(i,g-e.top);if(e.left<0||e.left+m>y)if(e.maxWidth=Math.min(m,y),v.horizontal==="middle")e.left=l[u.horizontal]>y/2?Math.max(0,y-m):0;else if(l[u.horizontal]>y/2){const s=Math.min(y,u.horizontal==="middle"?l.middle:u.horizontal===v.horizontal?l.right:l.left);e.maxWidth=Math.min(m,s),e.left=Math.max(0,s-e.maxWidth)}else e.left=Math.max(0,u.horizontal==="middle"?l.middle:u.horizontal===v.horizontal?l.left:l.right),e.maxWidth=Math.min(m,y-e.left)}const ln=$e({name:"QMenu",inheritAttrs:!1,props:{...Ul,...zl,...Bt,...Fl,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:pt},self:{type:String,validator:pt},offset:{type:Array,validator:Jl},scrollTarget:Tl,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...Ml,"click","escapeKey"],setup(e,{slots:l,emit:o,attrs:u}){let v=null,i,m,h;const g=He(),{proxy:y}=g,{$q:s}=y,w=O(null),C=O(!1),a=x(()=>e.persistent!==!0&&e.noRouteDismiss!==!0),S=Ft(e,s),{registerTick:P,removeTick:b}=Il(),{registerTimeout:D}=$l(),{transitionProps:U,transitionStyle:M}=Pl(e),{localScrollTarget:E,changeScrollEvent:F,unconfigureScrollTarget:B}=Yl(e,V),{anchorEl:_,canShow:W}=Xl({showing:C}),{hide:N}=Hl({showing:C,canShow:W,handleShow:ce,handleHide:n,hideOnRouteChange:a,processOnMount:!0}),{showPortal:J,hidePortal:re,renderPortal:j}=Ol(g,w,L,"menu"),le={anchorEl:_,innerRef:w,onClickOutside(r){if(e.persistent!==!0&&C.value===!0)return N(r),(r.type==="touchstart"||r.target.classList.contains("q-dialog__backdrop"))&&ae(r),!0}},se=x(()=>Vt(e.anchor||(e.cover===!0?"center middle":"bottom start"),s.lang.rtl)),ue=x(()=>e.cover===!0?se.value:Vt(e.self||"top start",s.lang.rtl)),X=x(()=>(e.square===!0?" q-menu--square":"")+(S.value===!0?" q-menu--dark q-dark":"")),ke=x(()=>e.autoClose===!0?{onClick:T}:{}),ie=x(()=>C.value===!0&&e.persistent!==!0);Y(ie,r=>{r===!0?(Ll(q),Gl(le)):(bt(q),wt(le))});function Z(){Zt(()=>{let r=w.value;r&&r.contains(document.activeElement)!==!0&&(r=r.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||r.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||r.querySelector("[autofocus], [data-autofocus]")||r,r.focus({preventScroll:!0}))})}function ce(r){if(v=e.noRefocus===!1?document.activeElement:null,Rl(I),J(),V(),i=void 0,r!==void 0&&(e.touchPosition||e.contextMenu)){const $=il(r);if($.left!==void 0){const{top:ee,left:ge}=_.value.getBoundingClientRect();i={left:$.left-ge,top:$.top-ee}}}m===void 0&&(m=Y(()=>s.screen.width+"|"+s.screen.height+"|"+e.self+"|"+e.anchor+"|"+s.lang.rtl,p)),e.noFocus!==!0&&document.activeElement.blur(),P(()=>{p(),e.noFocus!==!0&&Z()}),D(()=>{s.platform.is.ios===!0&&(h=e.autoClose,w.value.click()),p(),J(!0),o("show",r)},e.transitionDuration)}function n(r){b(),re(),c(!0),v!==null&&(r===void 0||r.qClickOutside!==!0)&&(((r?.type.indexOf("key")===0?v.closest('[tabindex]:not([tabindex^="-"])'):void 0)||v).focus(),v=null),D(()=>{re(!0),o("hide",r)},e.transitionDuration)}function c(r){i=void 0,m!==void 0&&(m(),m=void 0),(r===!0||C.value===!0)&&(_l(I),B(),wt(le),bt(q)),r!==!0&&(v=null)}function V(){(_.value!==null||e.scrollTarget!==void 0)&&(E.value=Bl(_.value,e.scrollTarget),F(E.value,p))}function T(r){h!==!0?(Dl(y,r),o("click",r)):h=!1}function I(r){ie.value===!0&&e.noFocus!==!0&&bl(w.value,r.target)!==!0&&Z()}function q(r){e.noEscDismiss!==!0&&(o("escapeKey"),N(r))}function p(){It({targetEl:w.value,offset:e.offset,anchorEl:_.value,anchorOrigin:se.value,selfOrigin:ue.value,absoluteOffset:i,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function L(){return A(al,U.value,()=>C.value===!0?A("div",{role:"menu",...u,ref:w,tabindex:-1,class:["q-menu q-position-engine scroll"+X.value,u.class],style:[u.style,M.value],...ke.value},Cl(l.default)):null)}return Be(c),Object.assign(y,{focus:Z,updatePosition:p}),j}});let We=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const l=document.createElement("div");Object.assign(l.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(l),e.scrollLeft=-1e3,We=e.scrollLeft>=0,e.remove()}const G=1e3,nn=["start","center","end","start-force","center-force","end-force"],Ot=Array.prototype.filter,on=window.getComputedStyle(document.body).overflowAnchor===void 0?fl:function(e,l){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;const o=e.children||[];Ot.call(o,v=>v.dataset&&v.dataset.qVsAnchor!==void 0).forEach(v=>{delete v.dataset.qVsAnchor});const u=o[l];u?.dataset&&(u.dataset.qVsAnchor="")}))};function Ve(e,l){return e+l}function Ye(e,l,o,u,v,i,m,h){const g=e===window?document.scrollingElement||document.documentElement:e,y=v===!0?"offsetWidth":"offsetHeight",s={scrollStart:0,scrollViewSize:-m-h,scrollMaxSize:0,offsetStart:-m,offsetEnd:-h};if(v===!0?(e===window?(s.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,s.scrollViewSize+=document.documentElement.clientWidth):(s.scrollStart=g.scrollLeft,s.scrollViewSize+=g.clientWidth),s.scrollMaxSize=g.scrollWidth,i===!0&&(s.scrollStart=(We===!0?s.scrollMaxSize-s.scrollViewSize:0)-s.scrollStart)):(e===window?(s.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,s.scrollViewSize+=document.documentElement.clientHeight):(s.scrollStart=g.scrollTop,s.scrollViewSize+=g.clientHeight),s.scrollMaxSize=g.scrollHeight),o!==null)for(let w=o.previousElementSibling;w!==null;w=w.previousElementSibling)w.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetStart+=w[y]);if(u!==null)for(let w=u.nextElementSibling;w!==null;w=w.nextElementSibling)w.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetEnd+=w[y]);if(l!==e){const w=g.getBoundingClientRect(),C=l.getBoundingClientRect();v===!0?(s.offsetStart+=C.left-w.left,s.offsetEnd-=C.width):(s.offsetStart+=C.top-w.top,s.offsetEnd-=C.height),e!==window&&(s.offsetStart+=s.scrollStart),s.offsetEnd+=s.scrollMaxSize-s.offsetStart}return s}function qt(e,l,o,u){l==="end"&&(l=(e===window?document.body:e)[o===!0?"scrollWidth":"scrollHeight"]),e===window?o===!0?(u===!0&&(l=(We===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-l),window.scrollTo(l,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,l):o===!0?(u===!0&&(l=(We===!0?e.scrollWidth-e.offsetWidth:0)-l),e.scrollLeft=l):e.scrollTop=l}function Te(e,l,o,u){if(o>=u)return 0;const v=l.length,i=Math.floor(o/G),m=Math.floor((u-1)/G)+1;let h=e.slice(i,m).reduce(Ve,0);return o%G!==0&&(h-=l.slice(i*G,o).reduce(Ve,0)),u%G!==0&&u!==v&&(h-=l.slice(u,m*G).reduce(Ve,0)),h}const un={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},At={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...un};function an({virtualScrollLength:e,getVirtualScrollTarget:l,getVirtualScrollEl:o,virtualScrollItemSizeComputed:u}){const v=He(),{props:i,emit:m,proxy:h}=v,{$q:g}=h;let y,s,w,C=[],a;const S=O(0),P=O(0),b=O({}),D=O(null),U=O(null),M=O(null),E=O({from:0,to:0}),F=x(()=>i.tableColspan!==void 0?i.tableColspan:100);u===void 0&&(u=x(()=>i.virtualScrollItemSize));const B=x(()=>u.value+";"+i.virtualScrollHorizontal),_=x(()=>B.value+";"+i.virtualScrollSliceRatioBefore+";"+i.virtualScrollSliceRatioAfter);Y(_,()=>{X()}),Y(B,W);function W(){ue(s,!0)}function N(n){ue(n===void 0?s:n)}function J(n,c){const V=l();if(V==null||V.nodeType===8)return;const T=Ye(V,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd);w!==T.scrollViewSize&&X(T.scrollViewSize),j(V,T,Math.min(e.value-1,Math.max(0,parseInt(n,10)||0)),0,nn.indexOf(c)!==-1?c:s!==-1&&n>s?"end":"start")}function re(){const n=l();if(n==null||n.nodeType===8)return;const c=Ye(n,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd),V=e.value-1,T=c.scrollMaxSize-c.offsetStart-c.offsetEnd-P.value;if(y===c.scrollStart)return;if(c.scrollMaxSize<=0){j(n,c,0,0);return}w!==c.scrollViewSize&&X(c.scrollViewSize),le(E.value.from);const I=Math.floor(c.scrollMaxSize-Math.max(c.scrollViewSize,c.offsetEnd)-Math.min(a[V],c.scrollViewSize/2));if(I>0&&Math.ceil(c.scrollStart)>=I){j(n,c,V,c.scrollMaxSize-c.offsetEnd-C.reduce(Ve,0));return}let q=0,p=c.scrollStart-c.offsetStart,L=p;if(p<=T&&p+c.scrollViewSize>=S.value)p-=S.value,q=E.value.from,L=p;else for(let r=0;p>=C[r]&&q0&&q-c.scrollViewSize?(q++,L=p):L=a[q]+p;j(n,c,q,L)}function j(n,c,V,T,I){const q=typeof I=="string"&&I.indexOf("-force")!==-1,p=q===!0?I.replace("-force",""):I,L=p!==void 0?p:"start";let r=Math.max(0,V-b.value[L]),$=r+b.value.total;$>e.value&&($=e.value,r=Math.max(0,$-b.value.total)),y=c.scrollStart;const ee=r!==E.value.from||$!==E.value.to;if(ee===!1&&p===void 0){ie(V);return}const{activeElement:ge}=document,ne=M.value;ee===!0&&ne!==null&&ne!==ge&&ne.contains(ge)===!0&&(ne.addEventListener("focusout",se),setTimeout(()=>{ne?.removeEventListener("focusout",se)})),on(ne,V-r);const Fe=p!==void 0?a.slice(r,V).reduce(Ve,0):0;if(ee===!0){const de=$>=E.value.from&&r<=E.value.to?E.value.to:$;E.value={from:r,to:de},S.value=Te(C,a,0,r),P.value=Te(C,a,$,e.value),requestAnimationFrame(()=>{E.value.to!==$&&y===c.scrollStart&&(E.value={from:E.value.from,to:$},P.value=Te(C,a,$,e.value))})}requestAnimationFrame(()=>{if(y!==c.scrollStart)return;ee===!0&&le(r);const de=a.slice(r,V).reduce(Ve,0),fe=de+c.offsetStart+S.value,Ie=fe+a[V];let qe=fe+T;if(p!==void 0){const Ke=de-Fe,Ae=c.scrollStart+Ke;qe=q!==!0&&Aer.classList&&r.classList.contains("q-virtual-scroll--skip")===!1),T=V.length,I=i.virtualScrollHorizontal===!0?r=>r.getBoundingClientRect().width:r=>r.offsetHeight;let q=n,p,L;for(let r=0;r=T;q--)a[q]=V;const I=Math.floor((e.value-1)/G);C=[];for(let q=0;q<=I;q++){let p=0;const L=Math.min((q+1)*G,e.value);for(let r=q*G;r=0?(le(E.value.from),oe(()=>{J(n)})):Z()}function X(n){if(n===void 0&&typeof window<"u"){const p=l();p!=null&&p.nodeType!==8&&(n=Ye(p,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd).scrollViewSize)}w=n;const c=parseFloat(i.virtualScrollSliceRatioBefore)||0,V=parseFloat(i.virtualScrollSliceRatioAfter)||0,T=1+c+V,I=n===void 0||n<=0?1:Math.ceil(n/u.value),q=Math.max(1,I,Math.ceil((i.virtualScrollSliceSize>0?i.virtualScrollSliceSize:10)/T));b.value={total:Math.ceil(q*T),start:Math.ceil(q*c),center:Math.ceil(q*(.5+c)),end:Math.ceil(q*(1+c)),view:I}}function ke(n,c){const V=i.virtualScrollHorizontal===!0?"width":"height",T={["--q-virtual-scroll-item-"+V]:u.value+"px"};return[n==="tbody"?A(n,{class:"q-virtual-scroll__padding",key:"before",ref:D},[A("tr",[A("td",{style:{[V]:`${S.value}px`,...T},colspan:F.value})])]):A(n,{class:"q-virtual-scroll__padding",key:"before",ref:D,style:{[V]:`${S.value}px`,...T}}),A(n,{class:"q-virtual-scroll__content",key:"content",ref:M,tabindex:-1},c.flat()),n==="tbody"?A(n,{class:"q-virtual-scroll__padding",key:"after",ref:U},[A("tr",[A("td",{style:{[V]:`${P.value}px`,...T},colspan:F.value})])]):A(n,{class:"q-virtual-scroll__padding",key:"after",ref:U,style:{[V]:`${P.value}px`,...T}})]}function ie(n){s!==n&&(i.onVirtualScroll!==void 0&&m("virtualScroll",{index:n,from:E.value.from,to:E.value.to-1,direction:n{X()});let ce=!1;return cl(()=>{ce=!0}),dl(()=>{if(ce!==!0)return;const n=l();y!==void 0&&n!==void 0&&n!==null&&n.nodeType!==8?qt(n,y,i.virtualScrollHorizontal,g.lang.rtl):J(s)}),Be(()=>{Z.cancel()}),Object.assign(h,{scrollTo:J,reset:W,refresh:N}),{virtualScrollSliceRange:E,virtualScrollSliceSizeComputed:b,setVirtualScrollSize:X,onVirtualScrollEvt:Z,localResetVirtualScroll:ue,padVirtualScroll:ke,scrollTo:J,reset:W,refresh:N}}const Et=e=>["add","add-unique","toggle"].includes(e),rn=".*+?^${}()|[]\\",sn=Object.keys(et);function Ge(e,l){if(typeof e=="function")return e;const o=e!==void 0?e:l;return u=>u!==null&&typeof u=="object"&&o in u?u[o]:u}const wn=$e({name:"QSelect",inheritAttrs:!1,props:{...At,...el,...et,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:Et},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:At.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Mt,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:l,emit:o}){const{proxy:u}=He(),{$q:v}=u,i=O(!1),m=O(!1),h=O(-1),g=O(""),y=O(!1),s=O(!1);let w=null,C=null,a,S,P,b=null,D,U,M,E;const F=O(null),B=O(null),_=O(null),W=O(null),N=O(null),J=tl(e),re=ll(ct),j=x(()=>Array.isArray(e.options)?e.options.length:0),le=x(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:se,virtualScrollSliceSizeComputed:ue,localResetVirtualScroll:X,padVirtualScroll:ke,onVirtualScrollEvt:ie,scrollTo:Z,setVirtualScrollSize:ce}=an({virtualScrollLength:j,getVirtualScrollTarget:Pt,getVirtualScrollEl:rt,virtualScrollItemSizeComputed:le}),n=zt(),c=x(()=>{const t=e.mapOptions===!0&&e.multiple!==!0,d=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const f=e.mapOptions===!0&&a!==void 0?a:[],k=d.map(H=>_t(H,f));return e.modelValue===null&&t===!0?k.filter(H=>H!==null):k}return d}),V=x(()=>{const t={};return sn.forEach(d=>{const f=e[d];f!==void 0&&(t[d]=f)}),t}),T=x(()=>e.optionsDark===null?n.isDark.value:e.optionsDark),I=x(()=>ht(c.value)),q=x(()=>{let t="q-field__input q-placeholder col";return e.hideSelected===!0||c.value.length===0?[t,e.inputClass]:(t+=" q-field__input--padding",e.inputClass===void 0?t:[t,e.inputClass])}),p=x(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),L=x(()=>j.value===0),r=x(()=>c.value.map(t=>Q.value(t)).join(", ")),$=x(()=>e.displayValue!==void 0?e.displayValue:r.value),ee=x(()=>e.optionsHtml===!0?()=>!0:t=>t?.html===!0),ge=x(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||c.value.some(ee.value))),ne=x(()=>n.focused.value===!0?e.tabindex:-1),Fe=x(()=>{const t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":i.value===!0?"true":"false","aria-controls":`${n.targetUid.value}_lb`};return h.value>=0&&(t["aria-activedescendant"]=`${n.targetUid.value}_${h.value}`),t}),de=x(()=>({id:`${n.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"})),fe=x(()=>c.value.map((t,d)=>({index:d,opt:t,html:ee.value(t),selected:!0,removeAtIndex:Rt,toggleOption:ve,tabindex:ne.value}))),Ie=x(()=>{if(j.value===0)return[];const{from:t,to:d}=se.value;return e.options.slice(t,d).map((f,k)=>{const H=Se.value(f)===!0,z=Ne(f)===!0,K=t+k,R={clickable:!0,active:z,activeClass:Ae.value,manualFocus:!0,focused:!1,disable:H,tabindex:-1,dense:e.optionsDense,dark:T.value,role:"option","aria-selected":z===!0?"true":"false",id:`${n.targetUid.value}_${K}`,onClick:()=>{ve(f)}};return H!==!0&&(h.value===K&&(R.focused=!0),v.platform.is.desktop===!0&&(R.onMousemove=()=>{i.value===!0&&ye(K)})),{index:K,opt:f,html:ee.value(f),label:Q.value(f),selected:R.active,focused:R.focused,toggleOption:ve,setOptionIndex:ye,itemProps:R}})}),qe=x(()=>e.dropdownIcon!==void 0?e.dropdownIcon:v.iconSet.arrow.dropdown),Ke=x(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Ae=x(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),te=x(()=>Ge(e.optionValue,"value")),Q=x(()=>Ge(e.optionLabel,"label")),Se=x(()=>Ge(e.optionDisable,"disable")),Oe=x(()=>c.value.map(te.value)),Lt=x(()=>{const t={onInput:ct,onChange:re,onKeydown:at,onKeyup:ut,onKeypress:it,onFocus:nt,onClick(d){S===!0&&pe(d)}};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=re,t});Y(c,t=>{a=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&n.innerLoading.value!==!0&&(m.value!==!0&&i.value!==!0||I.value!==!0)&&(P!==!0&&Ce(),(m.value===!0||i.value===!0)&&be(""))},{immediate:!0}),Y(()=>e.fillInput,Ce),Y(i,Qe),Y(j,Jt);function tt(t){return e.emitValue===!0?te.value(t):t}function je(t){if(t!==-1&&t=e.maxValues)return;const k=e.modelValue.slice();o("add",{index:k.length,value:f}),k.push(f),o("update:modelValue",k)}function ve(t,d){if(n.editable.value!==!0||t===void 0||Se.value(t)===!0)return;const f=te.value(t);if(e.multiple!==!0){d!==!0&&(Ee(e.fillInput===!0?Q.value(t):"",!0,!0),me()),B.value?.focus(),(c.value.length===0||Me(te.value(c.value[0]),f)!==!0)&&o("update:modelValue",e.emitValue===!0?f:t);return}if((S!==!0||y.value===!0)&&n.focus(),nt(),c.value.length===0){const z=e.emitValue===!0?f:t;o("add",{index:0,value:z}),o("update:modelValue",e.multiple===!0?[z]:z);return}const k=e.modelValue.slice(),H=Oe.value.findIndex(z=>Me(z,f));if(H!==-1)o("remove",{index:H,value:k.splice(H,1)[0]});else{if(e.maxValues!==void 0&&k.length>=e.maxValues)return;const z=e.emitValue===!0?f:t;o("add",{index:k.length,value:z}),k.push(z)}o("update:modelValue",k)}function ye(t){if(v.platform.is.desktop!==!0)return;const d=t!==-1&&t=0?Q.value(e.options[f]):D,!0))}}function _t(t,d){const f=k=>Me(te.value(k),t);return e.options.find(f)||d.find(f)||t}function Ne(t){const d=te.value(t);return Oe.value.find(f=>Me(f,d))!==void 0}function nt(t){e.useInput===!0&&B.value!==null&&(t===void 0||B.value===t.target&&t.target.value===r.value)&&B.value.select()}function ot(t){Ht(t,27)===!0&&i.value===!0&&(pe(t),me(),Ce()),o("keyup",t)}function ut(t){const{value:d}=t.target;if(t.keyCode!==void 0){ot(t);return}if(t.target.value="",w!==null&&(clearTimeout(w),w=null),C!==null&&(clearTimeout(C),C=null),Ce(),typeof d=="string"&&d.length!==0){const f=d.toLocaleLowerCase(),k=z=>{const K=e.options.find(R=>String(z.value(R)).toLocaleLowerCase()===f);return K===void 0?!1:(c.value.indexOf(K)===-1?ve(K):me(),!0)},H=z=>{k(te)!==!0&&z!==!0&&k(Q)!==!0&&be(d,!0,()=>H(!0))};H()}else n.clearValue(t)}function it(t){o("keypress",t)}function at(t){if(o("keydown",t),hl(t)===!0)return;const d=g.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),f=t.shiftKey!==!0&&e.disableTabSelection!==!0&&e.multiple!==!0&&(h.value!==-1||d===!0);if(t.keyCode===27){ze(t);return}if(t.keyCode===9&&f===!1){we();return}if(t.target===void 0||t.target.id!==n.targetUid.value||n.editable.value!==!0)return;if(t.keyCode===40&&n.innerLoading.value!==!0&&i.value===!1){ae(t),xe();return}if(t.keyCode===8&&(e.useChips===!0||e.clearable===!0)&&e.hideSelected!==!0&&g.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?je(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&o("update:modelValue",null);return}(t.keyCode===35||t.keyCode===36)&&(typeof g.value!="string"||g.value.length===0)&&(ae(t),h.value=-1,Le(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ue.value!==void 0&&(ae(t),h.value=Math.max(-1,Math.min(j.value,h.value+(t.keyCode===33?-1:1)*ue.value.view)),Le(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(ae(t),Le(t.keyCode===38?-1:1,e.multiple));const k=j.value;if((M===void 0||E0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===!1&&t.ctrlKey===!1&&t.metaKey===!1&&(t.keyCode!==32||M.length!==0)){i.value!==!0&&xe(t);const H=t.key.toLocaleLowerCase(),z=M.length===1&&M[0]===H;E=Date.now()+1500,z===!1&&(ae(t),M+=H);const K=new RegExp("^"+M.split("").map(Ue=>rn.indexOf(Ue)!==-1?"\\"+Ue:Ue).join(".*"),"i");let R=h.value;if(z===!0||R<0||K.test(Q.value(e.options[R]))!==!0)do R=St(R+1,-1,k-1);while(R!==h.value&&(Se.value(e.options[R])===!0||K.test(Q.value(e.options[R]))!==!0));h.value!==R&&oe(()=>{ye(R),Z(R),R>=0&&e.useInput===!0&&e.fillInput===!0&&Re(Q.value(e.options[R]),!0)});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||M!=="")&&(t.keyCode!==9||f===!1))){if(t.keyCode!==9&&ae(t),h.value!==-1&&h.value{if(K){if(Et(K)!==!0)return}else K=e.newValueMode;if(Ee("",e.multiple!==!0,!0),z==null)return;(K==="toggle"?ve:lt)(z,K==="add-unique"),e.multiple!==!0&&(B.value?.focus(),me())};if(e.onNewValue!==void 0?o("newValue",g.value,H):H(g.value),e.multiple!==!0)return}i.value===!0?we():n.innerLoading.value!==!0&&xe()}}function rt(){return S===!0?N.value:_.value!==null&&_.value.contentEl!==null?_.value.contentEl:void 0}function Pt(){return rt()}function Dt(){return e.hideSelected===!0?[]:l["selected-item"]!==void 0?fe.value.map(t=>l["selected-item"](t)).slice():l.selected!==void 0?[].concat(l.selected()):e.useChips===!0?fe.value.map((t,d)=>A(Nl,{key:"option-"+d,removable:n.editable.value===!0&&Se.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:ne.value,onRemove(){t.removeAtIndex(d)}},()=>A("span",{class:"ellipsis",[t.html===!0?"innerHTML":"textContent"]:Q.value(t.opt)}))):[A("span",{class:"ellipsis",[ge.value===!0?"innerHTML":"textContent"]:$.value})]}function st(){if(L.value===!0)return l["no-option"]!==void 0?l["no-option"]({inputValue:g.value}):void 0;const t=l.option!==void 0?l.option:f=>A(ql,{key:f.index,...f.itemProps},()=>A(Vl,()=>A(kl,()=>A("span",{[f.html===!0?"innerHTML":"textContent"]:f.label}))));let d=ke("div",Ie.value.map(t));return l["before-options"]!==void 0&&(d=l["before-options"]().concat(d)),pl(l["after-options"],d)}function Wt(t,d){const f=d===!0?{...Fe.value,...n.splitAttrs.attributes.value}:void 0,k={ref:d===!0?B:void 0,key:"i_t",class:q.value,style:e.inputStyle,value:g.value!==void 0?g.value:"",type:"search",...f,id:d===!0?n.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,...Lt.value};return t!==!0&&S===!0&&(Array.isArray(k.class)===!0?k.class=[...k.class,"no-pointer-events"]:k.class+=" no-pointer-events"),A("input",k)}function ct(t){w!==null&&(clearTimeout(w),w=null),C!==null&&(clearTimeout(C),C=null),!(t&&t.target&&t.target.qComposing===!0)&&(Re(t.target.value||""),P=!0,D=g.value,n.focused.value!==!0&&(S!==!0||y.value===!0)&&n.focus(),e.onFilter!==void 0&&(w=setTimeout(()=>{w=null,be(g.value)},e.inputDebounce)))}function Re(t,d){g.value!==t&&(g.value=t,d===!0||e.inputDebounce===0||e.inputDebounce==="0"?o("inputValue",t):C=setTimeout(()=>{C=null,o("inputValue",t)},e.inputDebounce))}function Ee(t,d,f){P=f!==!0,e.useInput===!0&&(Re(t,!0),(d===!0||f!==!0)&&(D=t),d!==!0&&be(t))}function be(t,d,f){if(e.onFilter===void 0||d!==!0&&n.focused.value!==!0)return;n.innerLoading.value===!0?o("filterAbort"):(n.innerLoading.value=!0,s.value=!0),t!==""&&e.multiple!==!0&&c.value.length!==0&&P!==!0&&t===Q.value(c.value[0])&&(t="");const k=setTimeout(()=>{i.value===!0&&(i.value=!1)},10);b!==null&&clearTimeout(b),b=k,o("filter",t,(H,z)=>{(d===!0||n.focused.value===!0)&&b===k&&(clearTimeout(b),typeof H=="function"&&H(),s.value=!1,oe(()=>{n.innerLoading.value=!1,n.editable.value===!0&&(d===!0?i.value===!0&&me():i.value===!0?Qe(!0):i.value=!0),typeof z=="function"&&oe(()=>{z(u)}),typeof f=="function"&&oe(()=>{f(u)})}))},()=>{n.focused.value===!0&&b===k&&(clearTimeout(b),n.innerLoading.value=!1,s.value=!1),i.value===!0&&(i.value=!1)})}function $t(){return A(ln,{ref:_,class:p.value,style:e.popupContentStyle,modelValue:i.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&L.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:T.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:Ke.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...de.value,onScrollPassive:ie,onBeforeShow:ft,onBeforeHide:Kt,onShow:jt},st)}function Kt(t){vt(t),we()}function jt(){ce()}function Nt(t){pe(t),B.value?.focus(),y.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function Qt(t){pe(t),oe(()=>{y.value=!1})}function Ut(){const t=[A(Kl,{class:`col-auto ${n.fieldClass.value}`,...V.value,for:n.targetUid.value,dark:T.value,square:!0,loading:s.value,itemAligned:!1,filled:!0,stackLabel:g.value.length!==0,...n.splitAttrs.listeners.value,onFocus:Nt,onBlur:Qt},{...l,rawControl:()=>n.getControl(!0),before:void 0,after:void 0})];return i.value===!0&&t.push(A("div",{ref:N,class:p.value+" scroll",style:e.popupContentStyle,...de.value,onClick:ze,onScrollPassive:ie},st())),A(Wl,{ref:W,modelValue:m.value,position:e.useInput===!0?"top":void 0,transitionShow:U,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:ft,onBeforeHide:Xt,onHide:Yt,onShow:Gt},()=>A("div",{class:"q-select__dialog"+(T.value===!0?" q-select__dialog--dark q-dark":"")+(y.value===!0?" q-select__dialog--focused":"")},t))}function Xt(t){vt(t),W.value!==null&&W.value.__updateRefocusTarget(n.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),n.focused.value=!1}function Yt(t){me(),n.focused.value===!1&&o("blur",t),Ce()}function Gt(){const t=document.activeElement;(t===null||t.id!==n.targetUid.value)&&B.value!==null&&B.value!==t&&B.value.focus(),ce()}function we(){m.value!==!0&&(h.value=-1,i.value===!0&&(i.value=!1),n.focused.value===!1&&(b!==null&&(clearTimeout(b),b=null),n.innerLoading.value===!0&&(o("filterAbort"),n.innerLoading.value=!1,s.value=!1)))}function xe(t){n.editable.value===!0&&(S===!0?(n.onControlFocusin(t),m.value=!0,oe(()=>{n.focus()})):n.focus(),e.onFilter!==void 0?be(g.value):(L.value!==!0||l["no-option"]!==void 0)&&(i.value=!0))}function me(){m.value=!1,we()}function Ce(){e.useInput===!0&&Ee(e.multiple!==!0&&e.fillInput===!0&&c.value.length!==0&&Q.value(c.value[0])||"",!0,!0)}function Qe(t){let d=-1;if(t===!0){if(c.value.length!==0){const f=te.value(c.value[0]);d=e.options.findIndex(k=>Me(te.value(k),f))}X(d)}ye(d)}function Jt(t,d){i.value===!0&&n.innerLoading.value===!1&&(X(-1,!0),oe(()=>{i.value===!0&&n.innerLoading.value===!1&&(t>d?X():Qe(!0))}))}function dt(){m.value===!1&&_.value!==null&&_.value.updatePosition()}function ft(t){t!==void 0&&pe(t),o("popupShow",t),n.hasPopupOpen=!0,n.onControlFocusin(t)}function vt(t){t!==void 0&&pe(t),o("popupHide",t),n.hasPopupOpen=!1,n.onControlFocusout(t)}function mt(){S=v.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?l["no-option"]!==void 0||e.onFilter!==void 0||L.value===!1:!0),U=v.platform.is.ios===!0&&S===!0&&e.useInput===!0?"fade":e.transitionShow}return vl(mt),ml(dt),mt(),Be(()=>{w!==null&&clearTimeout(w),C!==null&&clearTimeout(C)}),Object.assign(u,{showPopup:xe,hidePopup:me,removeAtIndex:je,add:lt,toggleOption:ve,getOptionIndex:()=>h.value,setOptionIndex:ye,moveOptionSelection:Le,filter:be,updateMenuPosition:dt,updateInputValue:Ee,isOptionSelected:Ne,getEmittingOptionValue:tt,isOptionDisabled:(...t)=>Se.value.apply(null,t)===!0,getOptionValue:(...t)=>te.value.apply(null,t),getOptionLabel:(...t)=>Q.value.apply(null,t)}),Object.assign(n,{innerValue:c,fieldClass:x(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:F,targetRef:B,hasValue:I,showPopup:xe,floatingLabel:x(()=>e.hideSelected!==!0&&I.value===!0||typeof g.value=="number"||g.value.length!==0||ht(e.displayValue)),getControlChild:()=>{if(n.editable.value!==!1&&(m.value===!0||L.value!==!0||l["no-option"]!==void 0))return S===!0?Ut():$t();n.hasPopupOpen===!0&&(n.hasPopupOpen=!1)},controlEvents:{onFocusin(t){n.onControlFocusin(t)},onFocusout(t){n.onControlFocusout(t,()=>{Ce(),we()})},onClick(t){if(ze(t),S!==!0&&i.value===!0){we(),B.value?.focus();return}xe(t)}},getControl:t=>{const d=Dt(),f=t===!0||m.value!==!0||S!==!0;if(e.useInput===!0)d.push(Wt(t,f));else if(n.editable.value===!0){const H=f===!0?Fe.value:void 0;d.push(A("input",{ref:f===!0?B:void 0,key:"d_t",class:"q-select__focus-target",id:f===!0?n.targetUid.value:void 0,value:$.value,readonly:!0,"data-autofocus":t===!0||e.autofocus===!0||void 0,...H,onKeydown:at,onKeyup:ot,onKeypress:it})),f===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length!==0&&d.push(A("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:ut}))}if(J.value!==void 0&&e.disable!==!0&&Oe.value.length!==0){const H=Oe.value.map(z=>A("option",{value:z,selected:!0}));d.push(A("select",{class:"hidden",name:J.value,multiple:e.multiple},H))}const k=e.useInput===!0||f!==!0?void 0:n.splitAttrs.attributes.value;return A("div",{class:"q-field__native row items-center",...k,...n.splitAttrs.listeners.value},d)},getInnerAppend:()=>e.loading!==!0&&s.value!==!0&&e.hideDropdownIcon!==!0?[A(_e,{class:"q-select__dropdown-icon"+(i.value===!0?" rotate-180":""),name:qe.value})]:null}),Tt(n)}});export{wn as Q}; diff --git a/backend/internal/http/static/spa/assets/QSelect-mICoVsXS.js b/backend/internal/http/static/spa/assets/QSelect-mICoVsXS.js new file mode 100644 index 0000000..0543379 --- /dev/null +++ b/backend/internal/http/static/spa/assets/QSelect-mICoVsXS.js @@ -0,0 +1 @@ +import{p as He,ag as ze,k as ht,a6 as oe,aO as Mt,w as Y,E as el,o as Be,q as O,j as tl,au as Ge,aZ as gt,ac as ll,ax as nl,a as $e,u as ol,s as ul,b as il,aj as Tt,e as al,f as rl,g as sl,h as cl,i as dl,a_ as fl,a$ as St,b0 as vl,af as ml,b1 as hl,m as gl,n as A,x as Sl,T as bl,t as x,v as yl,aV as wl,b2 as xl,aq as zt,b3 as Cl,y as ae,b4 as Ht,b5 as et,b6 as Bt,b7 as Ft,aD as Vl,ao as pl,aE as kl,U as Re,b8 as ql,aN as Al,b9 as El,aA as Ml,aC as Tl,aB as zl,ae as Hl,ba as Bl,bb as Me,bc as Fl,bd as Il,be as bt,bf as Ol,ah as Ve,aP as Ll,aa as _l,az as Rl,bg as Pl}from"./index-BMUcF_AE.js";import{a as Dl,b as Wl,Q as $l}from"./QItem-49cALKGJ.js";import{c as Kl,n as yt}from"./format-4vRgyZVr.js";const jl={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},Nl={...jl,contextMenu:Boolean};function Ql({showing:e,avoidEmit:l,configureAnchorEl:o}){const{props:u,proxy:v,emit:i}=He(),m=O(null);let h=null;function g(a){return m.value===null?!1:a===void 0||a.touches===void 0||a.touches.length<=1}const b={};o===void 0&&(Object.assign(b,{hide(a){v.hide(a)},toggle(a){v.toggle(a),a.qAnchorHandled=!0},toggleKey(a){Mt(a,13)===!0&&b.toggle(a)},contextClick(a){v.hide(a),ze(a),oe(()=>{v.show(a),a.qAnchorHandled=!0})},prevent:ze,mobileTouch(a){if(b.mobileCleanup(a),g(a)!==!0)return;v.hide(a),m.value.classList.add("non-selectable");const S=a.target;ht(b,"anchor",[[S,"touchmove","mobileCleanup","passive"],[S,"touchend","mobileCleanup","passive"],[S,"touchcancel","mobileCleanup","passive"],[m.value,"contextmenu","prevent","notPassive"]]),h=setTimeout(()=>{h=null,v.show(a),a.qAnchorHandled=!0},300)},mobileCleanup(a){m.value.classList.remove("non-selectable"),h!==null&&(clearTimeout(h),h=null),e.value===!0&&a!==void 0&&Kl()}}),o=function(a=u.contextMenu){if(u.noParentEvent===!0||m.value===null)return;let S;a===!0?v.$q.platform.is.mobile===!0?S=[[m.value,"touchstart","mobileTouch","passive"]]:S=[[m.value,"mousedown","hide","passive"],[m.value,"contextmenu","contextClick","notPassive"]]:S=[[m.value,"click","toggle","passive"],[m.value,"keyup","toggleKey","passive"]],ht(b,"anchor",S)});function s(){tl(b,"anchor")}function w(a){for(m.value=a;m.value.classList.contains("q-anchor--skip");)m.value=m.value.parentNode;o()}function C(){if(u.target===!1||u.target===""||v.$el.parentNode===null)m.value=null;else if(u.target===!0)w(v.$el.parentNode);else{let a=u.target;if(typeof u.target=="string")try{a=document.querySelector(u.target)}catch{a=void 0}a!=null?(m.value=a.$el||a,o()):(m.value=null,console.error(`Anchor: target "${u.target}" not found`))}}return Y(()=>u.contextMenu,a=>{m.value!==null&&(s(),o(a))}),Y(()=>u.target,()=>{m.value!==null&&s(),C()}),Y(()=>u.noParentEvent,a=>{m.value!==null&&(a===!0?s():o())}),el(()=>{C(),l!==!0&&u.modelValue===!0&&m.value===null&&i("update:modelValue",!1)}),Be(()=>{h!==null&&clearTimeout(h),s()}),{anchorEl:m,canShow:g,anchorEvents:b}}function Ul(e,l){const o=O(null);let u;function v(h,g){const b=`${g!==void 0?"add":"remove"}EventListener`,s=g!==void 0?g:u;h!==window&&h[b]("scroll",s,Ge.passive),window[b]("scroll",s,Ge.passive),u=g}function i(){o.value!==null&&(v(o.value),o.value=null)}const m=Y(()=>e.noParentEvent,()=>{o.value!==null&&(i(),l())});return Be(m),{localScrollTarget:o,unconfigureScrollTarget:i,changeScrollEvent:v}}const{notPassiveCapture:Pe}=Ge,he=[];function De(e){const l=e.target;if(l===void 0||l.nodeType===8||l.classList.contains("no-pointer-events")===!0)return;let o=gt.length-1;for(;o>=0;){const u=gt[o].$;if(u.type.name==="QTooltip"){o--;continue}if(u.type.name!=="QDialog")break;if(u.props.seamless!==!0)return;o--}for(let u=he.length-1;u>=0;u--){const v=he[u];if((v.anchorEl.value===null||v.anchorEl.value.contains(l)===!1)&&(l===document.body||v.innerRef.value!==null&&v.innerRef.value.contains(l)===!1))e.qClickOutside=!0,v.onClickOutside(e);else return}}function Xl(e){he.push(e),he.length===1&&(document.addEventListener("mousedown",De,Pe),document.addEventListener("touchstart",De,Pe))}function wt(e){const l=he.findIndex(o=>o===e);l!==-1&&(he.splice(l,1),he.length===0&&(document.removeEventListener("mousedown",De,Pe),document.removeEventListener("touchstart",De,Pe)))}let xt,Ct;function Vt(e){const l=e.split(" ");return l.length!==2?!1:["top","center","bottom"].includes(l[0])!==!0?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):["left","middle","right","start","end"].includes(l[1])!==!0?(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1):!0}function Yl(e){return e?!(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number"):!0}const Je={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};["left","middle","right"].forEach(e=>{Je[`${e}#ltr`]=e,Je[`${e}#rtl`]=e});function pt(e,l){const o=e.split(" ");return{vertical:o[0],horizontal:Je[`${o[1]}#${l===!0?"rtl":"ltr"}`]}}function Zl(e,l){let{top:o,left:u,right:v,bottom:i,width:m,height:h}=e.getBoundingClientRect();return l!==void 0&&(o-=l[1],u-=l[0],i+=l[1],v+=l[0],m+=l[0],h+=l[1]),{top:o,bottom:i,height:h,left:u,right:v,width:m,middle:u+(v-u)/2,center:o+(i-o)/2}}function Gl(e,l,o){let{top:u,left:v}=e.getBoundingClientRect();return u+=l.top,v+=l.left,o!==void 0&&(u+=o[1],v+=o[0]),{top:u,bottom:u+1,height:1,left:v,right:v+1,width:1,middle:v,center:u}}function Jl(e,l){return{top:0,center:l/2,bottom:l,left:0,middle:e/2,right:e}}function kt(e,l,o,u){return{top:e[o.vertical]-l[u.vertical],left:e[o.horizontal]-l[u.horizontal]}}function It(e,l=0){if(e.targetEl===null||e.anchorEl===null||l>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{It(e,l+1)},10);return}const{targetEl:o,offset:u,anchorEl:v,anchorOrigin:i,selfOrigin:m,absoluteOffset:h,fit:g,cover:b,maxHeight:s,maxWidth:w}=e;if(ll.is.ios===!0&&window.visualViewport!==void 0){const B=document.body.style,{offsetLeft:R,offsetTop:W}=window.visualViewport;R!==xt&&(B.setProperty("--q-pe-left",R+"px"),xt=R),W!==Ct&&(B.setProperty("--q-pe-top",W+"px"),Ct=W)}const{scrollLeft:C,scrollTop:a}=o,S=h===void 0?Zl(v,b===!0?[0,0]:u):Gl(v,h,u);Object.assign(o.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:w,maxHeight:s,visibility:"visible"});const{offsetWidth:P,offsetHeight:y}=o,{elWidth:D,elHeight:U}=g===!0||b===!0?{elWidth:Math.max(S.width,P),elHeight:b===!0?Math.max(S.height,y):y}:{elWidth:P,elHeight:y};let M={maxWidth:w,maxHeight:s};(g===!0||b===!0)&&(M.minWidth=S.width+"px",b===!0&&(M.minHeight=S.height+"px")),Object.assign(o.style,M);const E=Jl(D,U);let F=kt(S,E,i,m);if(h===void 0||u===void 0)Xe(F,S,E,i,m);else{const{top:B,left:R}=F;Xe(F,S,E,i,m);let W=!1;if(F.top!==B){W=!0;const N=2*u[1];S.center=S.top-=N,S.bottom-=N+2}if(F.left!==R){W=!0;const N=2*u[0];S.middle=S.left-=N,S.right-=N+2}W===!0&&(F=kt(S,E,i,m),Xe(F,S,E,i,m))}M={top:F.top+"px",left:F.left+"px"},F.maxHeight!==void 0&&(M.maxHeight=F.maxHeight+"px",S.height>F.maxHeight&&(M.minHeight=M.maxHeight)),F.maxWidth!==void 0&&(M.maxWidth=F.maxWidth+"px",S.width>F.maxWidth&&(M.minWidth=M.maxWidth)),Object.assign(o.style,M),o.scrollTop!==a&&(o.scrollTop=a),o.scrollLeft!==C&&(o.scrollLeft=C)}function Xe(e,l,o,u,v){const i=o.bottom,m=o.right,h=nl(),g=window.innerHeight-h,b=document.body.clientWidth;if(e.top<0||e.top+i>g)if(v.vertical==="center")e.top=l[u.vertical]>g/2?Math.max(0,g-i):0,e.maxHeight=Math.min(i,g);else if(l[u.vertical]>g/2){const s=Math.min(g,u.vertical==="center"?l.center:u.vertical===v.vertical?l.bottom:l.top);e.maxHeight=Math.min(i,s),e.top=Math.max(0,s-i)}else e.top=Math.max(0,u.vertical==="center"?l.center:u.vertical===v.vertical?l.top:l.bottom),e.maxHeight=Math.min(i,g-e.top);if(e.left<0||e.left+m>b)if(e.maxWidth=Math.min(m,b),v.horizontal==="middle")e.left=l[u.horizontal]>b/2?Math.max(0,b-m):0;else if(l[u.horizontal]>b/2){const s=Math.min(b,u.horizontal==="middle"?l.middle:u.horizontal===v.horizontal?l.right:l.left);e.maxWidth=Math.min(m,s),e.left=Math.max(0,s-e.maxWidth)}else e.left=Math.max(0,u.horizontal==="middle"?l.middle:u.horizontal===v.horizontal?l.left:l.right),e.maxWidth=Math.min(m,b-e.left)}const en=$e({name:"QMenu",inheritAttrs:!1,props:{...Nl,...al,...Tt,...il,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:Vt},self:{type:String,validator:Vt},offset:{type:Array,validator:Yl},scrollTarget:ul,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...ol,"click","escapeKey"],setup(e,{slots:l,emit:o,attrs:u}){let v=null,i,m,h;const g=He(),{proxy:b}=g,{$q:s}=b,w=O(null),C=O(!1),a=x(()=>e.persistent!==!0&&e.noRouteDismiss!==!0),S=zt(e,s),{registerTick:P,removeTick:y}=rl(),{registerTimeout:D}=sl(),{transitionProps:U,transitionStyle:M}=yl(e),{localScrollTarget:E,changeScrollEvent:F,unconfigureScrollTarget:B}=Ul(e,p),{anchorEl:R,canShow:W}=Ql({showing:C}),{hide:N}=cl({showing:C,canShow:W,handleShow:ce,handleHide:n,hideOnRouteChange:a,processOnMount:!0}),{showPortal:G,hidePortal:re,renderPortal:j}=dl(g,w,L,"menu"),le={anchorEl:R,innerRef:w,onClickOutside(r){if(e.persistent!==!0&&C.value===!0)return N(r),(r.type==="touchstart"||r.target.classList.contains("q-dialog__backdrop"))&&ae(r),!0}},se=x(()=>pt(e.anchor||(e.cover===!0?"center middle":"bottom start"),s.lang.rtl)),ue=x(()=>e.cover===!0?se.value:pt(e.self||"top start",s.lang.rtl)),X=x(()=>(e.square===!0?" q-menu--square":"")+(S.value===!0?" q-menu--dark q-dark":"")),ke=x(()=>e.autoClose===!0?{onClick:T}:{}),ie=x(()=>C.value===!0&&e.persistent!==!0);Y(ie,r=>{r===!0?(fl(q),Xl(le)):(St(q),wt(le))});function J(){wl(()=>{let r=w.value;r&&r.contains(document.activeElement)!==!0&&(r=r.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||r.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||r.querySelector("[autofocus], [data-autofocus]")||r,r.focus({preventScroll:!0}))})}function ce(r){if(v=e.noRefocus===!1?document.activeElement:null,vl(I),G(),p(),i=void 0,r!==void 0&&(e.touchPosition||e.contextMenu)){const $=ml(r);if($.left!==void 0){const{top:ee,left:ge}=R.value.getBoundingClientRect();i={left:$.left-ge,top:$.top-ee}}}m===void 0&&(m=Y(()=>s.screen.width+"|"+s.screen.height+"|"+e.self+"|"+e.anchor+"|"+s.lang.rtl,V)),e.noFocus!==!0&&document.activeElement.blur(),P(()=>{V(),e.noFocus!==!0&&J()}),D(()=>{s.platform.is.ios===!0&&(h=e.autoClose,w.value.click()),V(),G(!0),o("show",r)},e.transitionDuration)}function n(r){y(),re(),c(!0),v!==null&&(r===void 0||r.qClickOutside!==!0)&&(((r?.type.indexOf("key")===0?v.closest('[tabindex]:not([tabindex^="-"])'):void 0)||v).focus(),v=null),D(()=>{re(!0),o("hide",r)},e.transitionDuration)}function c(r){i=void 0,m!==void 0&&(m(),m=void 0),(r===!0||C.value===!0)&&(hl(I),B(),wt(le),St(q)),r!==!0&&(v=null)}function p(){(R.value!==null||e.scrollTarget!==void 0)&&(E.value=gl(R.value,e.scrollTarget),F(E.value,V))}function T(r){h!==!0?(xl(b,r),o("click",r)):h=!1}function I(r){ie.value===!0&&e.noFocus!==!0&&Cl(w.value,r.target)!==!0&&J()}function q(r){e.noEscDismiss!==!0&&(o("escapeKey"),N(r))}function V(){It({targetEl:w.value,offset:e.offset,anchorEl:R.value,anchorOrigin:se.value,selfOrigin:ue.value,absoluteOffset:i,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function L(){return A(bl,U.value,()=>C.value===!0?A("div",{role:"menu",...u,ref:w,tabindex:-1,class:["q-menu q-position-engine scroll"+X.value,u.class],style:[u.style,M.value],...ke.value},Sl(l.default)):null)}return Be(c),Object.assign(b,{focus:J,updatePosition:V}),j}}),tn=$e({name:"QField",inheritAttrs:!1,props:{...et,tag:{type:String,default:"label"}},emits:Ht,setup(){return Bt(Ft({tagProp:!0}))}}),ln={xs:8,sm:10,md:14,lg:20,xl:24},nn=$e({name:"QChip",props:{...Tt,...Vl,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:l,emit:o}){const{proxy:{$q:u}}=He(),v=zt(e,u),i=kl(e,ln),m=x(()=>e.selected===!0||e.icon!==void 0),h=x(()=>e.selected===!0?e.iconSelected||u.iconSet.chip.selected:e.icon),g=x(()=>e.iconRemove||u.iconSet.chip.remove),b=x(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),s=x(()=>{const y=e.outline===!0&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:"")+(y?` text-${y} q-chip--colored`:"")+(e.disable===!0?" disabled":"")+(e.dense===!0?" q-chip--dense":"")+(e.outline===!0?" q-chip--outline":"")+(e.selected===!0?" q-chip--selected":"")+(b.value===!0?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(e.square===!0?" q-chip--square":"")+(v.value===!0?" q-chip--dark q-dark":"")}),w=x(()=>{const y=e.disable===!0?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0},D={...y,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||u.lang.label.remove};return{chip:y,remove:D}});function C(y){y.keyCode===13&&a(y)}function a(y){e.disable||(o("update:selected",!e.selected),o("click",y))}function S(y){(y.keyCode===void 0||y.keyCode===13)&&(ae(y),e.disable===!1&&(o("update:modelValue",!1),o("remove")))}function P(){const y=[];b.value===!0&&y.push(A("div",{class:"q-focus-helper"})),m.value===!0&&y.push(A(Re,{class:"q-chip__icon q-chip__icon--left",name:h.value}));const D=e.label!==void 0?[A("div",{class:"ellipsis"},[e.label])]:void 0;return y.push(A("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},ql(l.default,D))),e.iconRight&&y.push(A(Re,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),e.removable===!0&&y.push(A(Re,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:g.value,...w.value.remove,onClick:S,onKeyup:S})),y}return()=>{if(e.modelValue===!1)return;const y={class:s.value,style:i.value};return b.value===!0&&Object.assign(y,w.value.chip,{onClick:a,onKeyup:C}),pl("div",y,P(),"ripple",e.ripple!==!1&&e.disable!==!0,()=>[[Al,e.ripple]])}}});let We=!1;{const e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});const l=document.createElement("div");Object.assign(l.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(l),e.scrollLeft=-1e3,We=e.scrollLeft>=0,e.remove()}const Z=1e3,on=["start","center","end","start-force","center-force","end-force"],Ot=Array.prototype.filter,un=window.getComputedStyle(document.body).overflowAnchor===void 0?Hl:function(e,l){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;const o=e.children||[];Ot.call(o,v=>v.dataset&&v.dataset.qVsAnchor!==void 0).forEach(v=>{delete v.dataset.qVsAnchor});const u=o[l];u?.dataset&&(u.dataset.qVsAnchor="")}))};function pe(e,l){return e+l}function Ye(e,l,o,u,v,i,m,h){const g=e===window?document.scrollingElement||document.documentElement:e,b=v===!0?"offsetWidth":"offsetHeight",s={scrollStart:0,scrollViewSize:-m-h,scrollMaxSize:0,offsetStart:-m,offsetEnd:-h};if(v===!0?(e===window?(s.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,s.scrollViewSize+=document.documentElement.clientWidth):(s.scrollStart=g.scrollLeft,s.scrollViewSize+=g.clientWidth),s.scrollMaxSize=g.scrollWidth,i===!0&&(s.scrollStart=(We===!0?s.scrollMaxSize-s.scrollViewSize:0)-s.scrollStart)):(e===window?(s.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,s.scrollViewSize+=document.documentElement.clientHeight):(s.scrollStart=g.scrollTop,s.scrollViewSize+=g.clientHeight),s.scrollMaxSize=g.scrollHeight),o!==null)for(let w=o.previousElementSibling;w!==null;w=w.previousElementSibling)w.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetStart+=w[b]);if(u!==null)for(let w=u.nextElementSibling;w!==null;w=w.nextElementSibling)w.classList.contains("q-virtual-scroll--skip")===!1&&(s.offsetEnd+=w[b]);if(l!==e){const w=g.getBoundingClientRect(),C=l.getBoundingClientRect();v===!0?(s.offsetStart+=C.left-w.left,s.offsetEnd-=C.width):(s.offsetStart+=C.top-w.top,s.offsetEnd-=C.height),e!==window&&(s.offsetStart+=s.scrollStart),s.offsetEnd+=s.scrollMaxSize-s.offsetStart}return s}function qt(e,l,o,u){l==="end"&&(l=(e===window?document.body:e)[o===!0?"scrollWidth":"scrollHeight"]),e===window?o===!0?(u===!0&&(l=(We===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-l),window.scrollTo(l,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,l):o===!0?(u===!0&&(l=(We===!0?e.scrollWidth-e.offsetWidth:0)-l),e.scrollLeft=l):e.scrollTop=l}function Te(e,l,o,u){if(o>=u)return 0;const v=l.length,i=Math.floor(o/Z),m=Math.floor((u-1)/Z)+1;let h=e.slice(i,m).reduce(pe,0);return o%Z!==0&&(h-=l.slice(i*Z,o).reduce(pe,0)),u%Z!==0&&u!==v&&(h-=l.slice(u,m*Z).reduce(pe,0)),h}const Lt={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},vn=Object.keys(Lt),At={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Lt};function an({virtualScrollLength:e,getVirtualScrollTarget:l,getVirtualScrollEl:o,virtualScrollItemSizeComputed:u}){const v=He(),{props:i,emit:m,proxy:h}=v,{$q:g}=h;let b,s,w,C=[],a;const S=O(0),P=O(0),y=O({}),D=O(null),U=O(null),M=O(null),E=O({from:0,to:0}),F=x(()=>i.tableColspan!==void 0?i.tableColspan:100);u===void 0&&(u=x(()=>i.virtualScrollItemSize));const B=x(()=>u.value+";"+i.virtualScrollHorizontal),R=x(()=>B.value+";"+i.virtualScrollSliceRatioBefore+";"+i.virtualScrollSliceRatioAfter);Y(R,()=>{X()}),Y(B,W);function W(){ue(s,!0)}function N(n){ue(n===void 0?s:n)}function G(n,c){const p=l();if(p==null||p.nodeType===8)return;const T=Ye(p,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd);w!==T.scrollViewSize&&X(T.scrollViewSize),j(p,T,Math.min(e.value-1,Math.max(0,parseInt(n,10)||0)),0,on.indexOf(c)!==-1?c:s!==-1&&n>s?"end":"start")}function re(){const n=l();if(n==null||n.nodeType===8)return;const c=Ye(n,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd),p=e.value-1,T=c.scrollMaxSize-c.offsetStart-c.offsetEnd-P.value;if(b===c.scrollStart)return;if(c.scrollMaxSize<=0){j(n,c,0,0);return}w!==c.scrollViewSize&&X(c.scrollViewSize),le(E.value.from);const I=Math.floor(c.scrollMaxSize-Math.max(c.scrollViewSize,c.offsetEnd)-Math.min(a[p],c.scrollViewSize/2));if(I>0&&Math.ceil(c.scrollStart)>=I){j(n,c,p,c.scrollMaxSize-c.offsetEnd-C.reduce(pe,0));return}let q=0,V=c.scrollStart-c.offsetStart,L=V;if(V<=T&&V+c.scrollViewSize>=S.value)V-=S.value,q=E.value.from,L=V;else for(let r=0;V>=C[r]&&q0&&q-c.scrollViewSize?(q++,L=V):L=a[q]+V;j(n,c,q,L)}function j(n,c,p,T,I){const q=typeof I=="string"&&I.indexOf("-force")!==-1,V=q===!0?I.replace("-force",""):I,L=V!==void 0?V:"start";let r=Math.max(0,p-y.value[L]),$=r+y.value.total;$>e.value&&($=e.value,r=Math.max(0,$-y.value.total)),b=c.scrollStart;const ee=r!==E.value.from||$!==E.value.to;if(ee===!1&&V===void 0){ie(p);return}const{activeElement:ge}=document,ne=M.value;ee===!0&&ne!==null&&ne!==ge&&ne.contains(ge)===!0&&(ne.addEventListener("focusout",se),setTimeout(()=>{ne?.removeEventListener("focusout",se)})),un(ne,p-r);const Fe=V!==void 0?a.slice(r,p).reduce(pe,0):0;if(ee===!0){const de=$>=E.value.from&&r<=E.value.to?E.value.to:$;E.value={from:r,to:de},S.value=Te(C,a,0,r),P.value=Te(C,a,$,e.value),requestAnimationFrame(()=>{E.value.to!==$&&b===c.scrollStart&&(E.value={from:E.value.from,to:$},P.value=Te(C,a,$,e.value))})}requestAnimationFrame(()=>{if(b!==c.scrollStart)return;ee===!0&&le(r);const de=a.slice(r,p).reduce(pe,0),fe=de+c.offsetStart+S.value,Ie=fe+a[p];let qe=fe+T;if(V!==void 0){const Ke=de-Fe,Ae=c.scrollStart+Ke;qe=q!==!0&&Aer.classList&&r.classList.contains("q-virtual-scroll--skip")===!1),T=p.length,I=i.virtualScrollHorizontal===!0?r=>r.getBoundingClientRect().width:r=>r.offsetHeight;let q=n,V,L;for(let r=0;r=T;q--)a[q]=p;const I=Math.floor((e.value-1)/Z);C=[];for(let q=0;q<=I;q++){let V=0;const L=Math.min((q+1)*Z,e.value);for(let r=q*Z;r=0?(le(E.value.from),oe(()=>{G(n)})):J()}function X(n){if(n===void 0&&typeof window<"u"){const V=l();V!=null&&V.nodeType!==8&&(n=Ye(V,o(),D.value,U.value,i.virtualScrollHorizontal,g.lang.rtl,i.virtualScrollStickySizeStart,i.virtualScrollStickySizeEnd).scrollViewSize)}w=n;const c=parseFloat(i.virtualScrollSliceRatioBefore)||0,p=parseFloat(i.virtualScrollSliceRatioAfter)||0,T=1+c+p,I=n===void 0||n<=0?1:Math.ceil(n/u.value),q=Math.max(1,I,Math.ceil((i.virtualScrollSliceSize>0?i.virtualScrollSliceSize:10)/T));y.value={total:Math.ceil(q*T),start:Math.ceil(q*c),center:Math.ceil(q*(.5+c)),end:Math.ceil(q*(1+c)),view:I}}function ke(n,c){const p=i.virtualScrollHorizontal===!0?"width":"height",T={["--q-virtual-scroll-item-"+p]:u.value+"px"};return[n==="tbody"?A(n,{class:"q-virtual-scroll__padding",key:"before",ref:D},[A("tr",[A("td",{style:{[p]:`${S.value}px`,...T},colspan:F.value})])]):A(n,{class:"q-virtual-scroll__padding",key:"before",ref:D,style:{[p]:`${S.value}px`,...T}}),A(n,{class:"q-virtual-scroll__content",key:"content",ref:M,tabindex:-1},c.flat()),n==="tbody"?A(n,{class:"q-virtual-scroll__padding",key:"after",ref:U},[A("tr",[A("td",{style:{[p]:`${P.value}px`,...T},colspan:F.value})])]):A(n,{class:"q-virtual-scroll__padding",key:"after",ref:U,style:{[p]:`${P.value}px`,...T}})]}function ie(n){s!==n&&(i.onVirtualScroll!==void 0&&m("virtualScroll",{index:n,from:E.value.from,to:E.value.to-1,direction:n{X()});let ce=!1;return Tl(()=>{ce=!0}),zl(()=>{if(ce!==!0)return;const n=l();b!==void 0&&n!==void 0&&n!==null&&n.nodeType!==8?qt(n,b,i.virtualScrollHorizontal,g.lang.rtl):G(s)}),Be(()=>{J.cancel()}),Object.assign(h,{scrollTo:G,reset:W,refresh:N}),{virtualScrollSliceRange:E,virtualScrollSliceSizeComputed:y,setVirtualScrollSize:X,onVirtualScrollEvt:J,localResetVirtualScroll:ue,padVirtualScroll:ke,scrollTo:G,reset:W,refresh:N}}const Et=e=>["add","add-unique","toggle"].includes(e),rn=".*+?^${}()|[]\\",sn=Object.keys(et);function Ze(e,l){if(typeof e=="function")return e;const o=e!==void 0?e:l;return u=>u!==null&&typeof u=="object"&&o in u?u[o]:u}const mn=$e({name:"QSelect",inheritAttrs:!1,props:{...At,...Bl,...et,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:Et},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:At.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Ht,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:l,emit:o}){const{proxy:u}=He(),{$q:v}=u,i=O(!1),m=O(!1),h=O(-1),g=O(""),b=O(!1),s=O(!1);let w=null,C=null,a,S,P,y=null,D,U,M,E;const F=O(null),B=O(null),R=O(null),W=O(null),N=O(null),G=Ol(e),re=Pl(ct),j=x(()=>Array.isArray(e.options)?e.options.length:0),le=x(()=>e.virtualScrollItemSize===void 0?e.optionsDense===!0?24:48:e.virtualScrollItemSize),{virtualScrollSliceRange:se,virtualScrollSliceSizeComputed:ue,localResetVirtualScroll:X,padVirtualScroll:ke,onVirtualScrollEvt:ie,scrollTo:J,setVirtualScrollSize:ce}=an({virtualScrollLength:j,getVirtualScrollTarget:Dt,getVirtualScrollEl:rt,virtualScrollItemSizeComputed:le}),n=Ft(),c=x(()=>{const t=e.mapOptions===!0&&e.multiple!==!0,d=e.modelValue!==void 0&&(e.modelValue!==null||t===!0)?e.multiple===!0&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue]:[];if(e.mapOptions===!0&&Array.isArray(e.options)===!0){const f=e.mapOptions===!0&&a!==void 0?a:[],k=d.map(H=>Pt(H,f));return e.modelValue===null&&t===!0?k.filter(H=>H!==null):k}return d}),p=x(()=>{const t={};return sn.forEach(d=>{const f=e[d];f!==void 0&&(t[d]=f)}),t}),T=x(()=>e.optionsDark===null?n.isDark.value:e.optionsDark),I=x(()=>bt(c.value)),q=x(()=>{let t="q-field__input q-placeholder col";return e.hideSelected===!0||c.value.length===0?[t,e.inputClass]:(t+=" q-field__input--padding",e.inputClass===void 0?t:[t,e.inputClass])}),V=x(()=>(e.virtualScrollHorizontal===!0?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:"")),L=x(()=>j.value===0),r=x(()=>c.value.map(t=>Q.value(t)).join(", ")),$=x(()=>e.displayValue!==void 0?e.displayValue:r.value),ee=x(()=>e.optionsHtml===!0?()=>!0:t=>t?.html===!0),ge=x(()=>e.displayValueHtml===!0||e.displayValue===void 0&&(e.optionsHtml===!0||c.value.some(ee.value))),ne=x(()=>n.focused.value===!0?e.tabindex:-1),Fe=x(()=>{const t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":e.readonly===!0?"true":"false","aria-autocomplete":e.useInput===!0?"list":"none","aria-expanded":i.value===!0?"true":"false","aria-controls":`${n.targetUid.value}_lb`};return h.value>=0&&(t["aria-activedescendant"]=`${n.targetUid.value}_${h.value}`),t}),de=x(()=>({id:`${n.targetUid.value}_lb`,role:"listbox","aria-multiselectable":e.multiple===!0?"true":"false"})),fe=x(()=>c.value.map((t,d)=>({index:d,opt:t,html:ee.value(t),selected:!0,removeAtIndex:Rt,toggleOption:ve,tabindex:ne.value}))),Ie=x(()=>{if(j.value===0)return[];const{from:t,to:d}=se.value;return e.options.slice(t,d).map((f,k)=>{const H=Se.value(f)===!0,z=Ne(f)===!0,K=t+k,_={clickable:!0,active:z,activeClass:Ae.value,manualFocus:!0,focused:!1,disable:H,tabindex:-1,dense:e.optionsDense,dark:T.value,role:"option","aria-selected":z===!0?"true":"false",id:`${n.targetUid.value}_${K}`,onClick:()=>{ve(f)}};return H!==!0&&(h.value===K&&(_.focused=!0),v.platform.is.desktop===!0&&(_.onMousemove=()=>{i.value===!0&&be(K)})),{index:K,opt:f,html:ee.value(f),label:Q.value(f),selected:_.active,focused:_.focused,toggleOption:ve,setOptionIndex:be,itemProps:_}})}),qe=x(()=>e.dropdownIcon!==void 0?e.dropdownIcon:v.iconSet.arrow.dropdown),Ke=x(()=>e.optionsCover===!1&&e.outlined!==!0&&e.standout!==!0&&e.borderless!==!0&&e.rounded!==!0),Ae=x(()=>e.optionsSelectedClass!==void 0?e.optionsSelectedClass:e.color!==void 0?`text-${e.color}`:""),te=x(()=>Ze(e.optionValue,"value")),Q=x(()=>Ze(e.optionLabel,"label")),Se=x(()=>Ze(e.optionDisable,"disable")),Oe=x(()=>c.value.map(te.value)),_t=x(()=>{const t={onInput:ct,onChange:re,onKeydown:at,onKeyup:ut,onKeypress:it,onFocus:nt,onClick(d){S===!0&&Ve(d)}};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=re,t});Y(c,t=>{a=t,e.useInput===!0&&e.fillInput===!0&&e.multiple!==!0&&n.innerLoading.value!==!0&&(m.value!==!0&&i.value!==!0||I.value!==!0)&&(P!==!0&&Ce(),(m.value===!0||i.value===!0)&&ye(""))},{immediate:!0}),Y(()=>e.fillInput,Ce),Y(i,Qe),Y(j,Jt);function tt(t){return e.emitValue===!0?te.value(t):t}function je(t){if(t!==-1&&t=e.maxValues)return;const k=e.modelValue.slice();o("add",{index:k.length,value:f}),k.push(f),o("update:modelValue",k)}function ve(t,d){if(n.editable.value!==!0||t===void 0||Se.value(t)===!0)return;const f=te.value(t);if(e.multiple!==!0){d!==!0&&(Ee(e.fillInput===!0?Q.value(t):"",!0,!0),me()),B.value?.focus(),(c.value.length===0||Me(te.value(c.value[0]),f)!==!0)&&o("update:modelValue",e.emitValue===!0?f:t);return}if((S!==!0||b.value===!0)&&n.focus(),nt(),c.value.length===0){const z=e.emitValue===!0?f:t;o("add",{index:0,value:z}),o("update:modelValue",e.multiple===!0?[z]:z);return}const k=e.modelValue.slice(),H=Oe.value.findIndex(z=>Me(z,f));if(H!==-1)o("remove",{index:H,value:k.splice(H,1)[0]});else{if(e.maxValues!==void 0&&k.length>=e.maxValues)return;const z=e.emitValue===!0?f:t;o("add",{index:k.length,value:z}),k.push(z)}o("update:modelValue",k)}function be(t){if(v.platform.is.desktop!==!0)return;const d=t!==-1&&t=0?Q.value(e.options[f]):D,!0))}}function Pt(t,d){const f=k=>Me(te.value(k),t);return e.options.find(f)||d.find(f)||t}function Ne(t){const d=te.value(t);return Oe.value.find(f=>Me(f,d))!==void 0}function nt(t){e.useInput===!0&&B.value!==null&&(t===void 0||B.value===t.target&&t.target.value===r.value)&&B.value.select()}function ot(t){Mt(t,27)===!0&&i.value===!0&&(Ve(t),me(),Ce()),o("keyup",t)}function ut(t){const{value:d}=t.target;if(t.keyCode!==void 0){ot(t);return}if(t.target.value="",w!==null&&(clearTimeout(w),w=null),C!==null&&(clearTimeout(C),C=null),Ce(),typeof d=="string"&&d.length!==0){const f=d.toLocaleLowerCase(),k=z=>{const K=e.options.find(_=>String(z.value(_)).toLocaleLowerCase()===f);return K===void 0?!1:(c.value.indexOf(K)===-1?ve(K):me(),!0)},H=z=>{k(te)!==!0&&z!==!0&&k(Q)!==!0&&ye(d,!0,()=>H(!0))};H()}else n.clearValue(t)}function it(t){o("keypress",t)}function at(t){if(o("keydown",t),Ll(t)===!0)return;const d=g.value.length!==0&&(e.newValueMode!==void 0||e.onNewValue!==void 0),f=t.shiftKey!==!0&&e.disableTabSelection!==!0&&e.multiple!==!0&&(h.value!==-1||d===!0);if(t.keyCode===27){ze(t);return}if(t.keyCode===9&&f===!1){we();return}if(t.target===void 0||t.target.id!==n.targetUid.value||n.editable.value!==!0)return;if(t.keyCode===40&&n.innerLoading.value!==!0&&i.value===!1){ae(t),xe();return}if(t.keyCode===8&&(e.useChips===!0||e.clearable===!0)&&e.hideSelected!==!0&&g.value.length===0){e.multiple===!0&&Array.isArray(e.modelValue)===!0?je(e.modelValue.length-1):e.multiple!==!0&&e.modelValue!==null&&o("update:modelValue",null);return}(t.keyCode===35||t.keyCode===36)&&(typeof g.value!="string"||g.value.length===0)&&(ae(t),h.value=-1,Le(t.keyCode===36?1:-1,e.multiple)),(t.keyCode===33||t.keyCode===34)&&ue.value!==void 0&&(ae(t),h.value=Math.max(-1,Math.min(j.value,h.value+(t.keyCode===33?-1:1)*ue.value.view)),Le(t.keyCode===33?1:-1,e.multiple)),(t.keyCode===38||t.keyCode===40)&&(ae(t),Le(t.keyCode===38?-1:1,e.multiple));const k=j.value;if((M===void 0||E0&&e.useInput!==!0&&t.key!==void 0&&t.key.length===1&&t.altKey===!1&&t.ctrlKey===!1&&t.metaKey===!1&&(t.keyCode!==32||M.length!==0)){i.value!==!0&&xe(t);const H=t.key.toLocaleLowerCase(),z=M.length===1&&M[0]===H;E=Date.now()+1500,z===!1&&(ae(t),M+=H);const K=new RegExp("^"+M.split("").map(Ue=>rn.indexOf(Ue)!==-1?"\\"+Ue:Ue).join(".*"),"i");let _=h.value;if(z===!0||_<0||K.test(Q.value(e.options[_]))!==!0)do _=yt(_+1,-1,k-1);while(_!==h.value&&(Se.value(e.options[_])===!0||K.test(Q.value(e.options[_]))!==!0));h.value!==_&&oe(()=>{be(_),J(_),_>=0&&e.useInput===!0&&e.fillInput===!0&&_e(Q.value(e.options[_]),!0)});return}if(!(t.keyCode!==13&&(t.keyCode!==32||e.useInput===!0||M!=="")&&(t.keyCode!==9||f===!1))){if(t.keyCode!==9&&ae(t),h.value!==-1&&h.value{if(K){if(Et(K)!==!0)return}else K=e.newValueMode;if(Ee("",e.multiple!==!0,!0),z==null)return;(K==="toggle"?ve:lt)(z,K==="add-unique"),e.multiple!==!0&&(B.value?.focus(),me())};if(e.onNewValue!==void 0?o("newValue",g.value,H):H(g.value),e.multiple!==!0)return}i.value===!0?we():n.innerLoading.value!==!0&&xe()}}function rt(){return S===!0?N.value:R.value!==null&&R.value.contentEl!==null?R.value.contentEl:void 0}function Dt(){return rt()}function Wt(){return e.hideSelected===!0?[]:l["selected-item"]!==void 0?fe.value.map(t=>l["selected-item"](t)).slice():l.selected!==void 0?[].concat(l.selected()):e.useChips===!0?fe.value.map((t,d)=>A(nn,{key:"option-"+d,removable:n.editable.value===!0&&Se.value(t.opt)!==!0,dense:!0,textColor:e.color,tabindex:ne.value,onRemove(){t.removeAtIndex(d)}},()=>A("span",{class:"ellipsis",[t.html===!0?"innerHTML":"textContent"]:Q.value(t.opt)}))):[A("span",{class:"ellipsis",[ge.value===!0?"innerHTML":"textContent"]:$.value})]}function st(){if(L.value===!0)return l["no-option"]!==void 0?l["no-option"]({inputValue:g.value}):void 0;const t=l.option!==void 0?l.option:f=>A($l,{key:f.index,...f.itemProps},()=>A(Dl,()=>A(Wl,()=>A("span",{[f.html===!0?"innerHTML":"textContent"]:f.label}))));let d=ke("div",Ie.value.map(t));return l["before-options"]!==void 0&&(d=l["before-options"]().concat(d)),Rl(l["after-options"],d)}function $t(t,d){const f=d===!0?{...Fe.value,...n.splitAttrs.attributes.value}:void 0,k={ref:d===!0?B:void 0,key:"i_t",class:q.value,style:e.inputStyle,value:g.value!==void 0?g.value:"",type:"search",...f,id:d===!0?n.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":t===!0||e.autofocus===!0||void 0,disabled:e.disable===!0,readonly:e.readonly===!0,..._t.value};return t!==!0&&S===!0&&(Array.isArray(k.class)===!0?k.class=[...k.class,"no-pointer-events"]:k.class+=" no-pointer-events"),A("input",k)}function ct(t){w!==null&&(clearTimeout(w),w=null),C!==null&&(clearTimeout(C),C=null),!(t&&t.target&&t.target.qComposing===!0)&&(_e(t.target.value||""),P=!0,D=g.value,n.focused.value!==!0&&(S!==!0||b.value===!0)&&n.focus(),e.onFilter!==void 0&&(w=setTimeout(()=>{w=null,ye(g.value)},e.inputDebounce)))}function _e(t,d){g.value!==t&&(g.value=t,d===!0||e.inputDebounce===0||e.inputDebounce==="0"?o("inputValue",t):C=setTimeout(()=>{C=null,o("inputValue",t)},e.inputDebounce))}function Ee(t,d,f){P=f!==!0,e.useInput===!0&&(_e(t,!0),(d===!0||f!==!0)&&(D=t),d!==!0&&ye(t))}function ye(t,d,f){if(e.onFilter===void 0||d!==!0&&n.focused.value!==!0)return;n.innerLoading.value===!0?o("filterAbort"):(n.innerLoading.value=!0,s.value=!0),t!==""&&e.multiple!==!0&&c.value.length!==0&&P!==!0&&t===Q.value(c.value[0])&&(t="");const k=setTimeout(()=>{i.value===!0&&(i.value=!1)},10);y!==null&&clearTimeout(y),y=k,o("filter",t,(H,z)=>{(d===!0||n.focused.value===!0)&&y===k&&(clearTimeout(y),typeof H=="function"&&H(),s.value=!1,oe(()=>{n.innerLoading.value=!1,n.editable.value===!0&&(d===!0?i.value===!0&&me():i.value===!0?Qe(!0):i.value=!0),typeof z=="function"&&oe(()=>{z(u)}),typeof f=="function"&&oe(()=>{f(u)})}))},()=>{n.focused.value===!0&&y===k&&(clearTimeout(y),n.innerLoading.value=!1,s.value=!1),i.value===!0&&(i.value=!1)})}function Kt(){return A(en,{ref:R,class:V.value,style:e.popupContentStyle,modelValue:i.value,fit:e.menuShrink!==!0,cover:e.optionsCover===!0&&L.value!==!0&&e.useInput!==!0,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:T.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:Ke.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...de.value,onScrollPassive:ie,onBeforeShow:ft,onBeforeHide:jt,onShow:Nt},st)}function jt(t){vt(t),we()}function Nt(){ce()}function Qt(t){Ve(t),B.value?.focus(),b.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function Ut(t){Ve(t),oe(()=>{b.value=!1})}function Xt(){const t=[A(tn,{class:`col-auto ${n.fieldClass.value}`,...p.value,for:n.targetUid.value,dark:T.value,square:!0,loading:s.value,itemAligned:!1,filled:!0,stackLabel:g.value.length!==0,...n.splitAttrs.listeners.value,onFocus:Qt,onBlur:Ut},{...l,rawControl:()=>n.getControl(!0),before:void 0,after:void 0})];return i.value===!0&&t.push(A("div",{ref:N,class:V.value+" scroll",style:e.popupContentStyle,...de.value,onClick:ze,onScrollPassive:ie},st())),A(_l,{ref:W,modelValue:m.value,position:e.useInput===!0?"top":void 0,transitionShow:U,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:ft,onBeforeHide:Yt,onHide:Zt,onShow:Gt},()=>A("div",{class:"q-select__dialog"+(T.value===!0?" q-select__dialog--dark q-dark":"")+(b.value===!0?" q-select__dialog--focused":"")},t))}function Yt(t){vt(t),W.value!==null&&W.value.__updateRefocusTarget(n.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),n.focused.value=!1}function Zt(t){me(),n.focused.value===!1&&o("blur",t),Ce()}function Gt(){const t=document.activeElement;(t===null||t.id!==n.targetUid.value)&&B.value!==null&&B.value!==t&&B.value.focus(),ce()}function we(){m.value!==!0&&(h.value=-1,i.value===!0&&(i.value=!1),n.focused.value===!1&&(y!==null&&(clearTimeout(y),y=null),n.innerLoading.value===!0&&(o("filterAbort"),n.innerLoading.value=!1,s.value=!1)))}function xe(t){n.editable.value===!0&&(S===!0?(n.onControlFocusin(t),m.value=!0,oe(()=>{n.focus()})):n.focus(),e.onFilter!==void 0?ye(g.value):(L.value!==!0||l["no-option"]!==void 0)&&(i.value=!0))}function me(){m.value=!1,we()}function Ce(){e.useInput===!0&&Ee(e.multiple!==!0&&e.fillInput===!0&&c.value.length!==0&&Q.value(c.value[0])||"",!0,!0)}function Qe(t){let d=-1;if(t===!0){if(c.value.length!==0){const f=te.value(c.value[0]);d=e.options.findIndex(k=>Me(te.value(k),f))}X(d)}be(d)}function Jt(t,d){i.value===!0&&n.innerLoading.value===!1&&(X(-1,!0),oe(()=>{i.value===!0&&n.innerLoading.value===!1&&(t>d?X():Qe(!0))}))}function dt(){m.value===!1&&R.value!==null&&R.value.updatePosition()}function ft(t){t!==void 0&&Ve(t),o("popupShow",t),n.hasPopupOpen=!0,n.onControlFocusin(t)}function vt(t){t!==void 0&&Ve(t),o("popupHide",t),n.hasPopupOpen=!1,n.onControlFocusout(t)}function mt(){S=v.platform.is.mobile!==!0&&e.behavior!=="dialog"?!1:e.behavior!=="menu"&&(e.useInput===!0?l["no-option"]!==void 0||e.onFilter!==void 0||L.value===!1:!0),U=v.platform.is.ios===!0&&S===!0&&e.useInput===!0?"fade":e.transitionShow}return Fl(mt),Il(dt),mt(),Be(()=>{w!==null&&clearTimeout(w),C!==null&&clearTimeout(C)}),Object.assign(u,{showPopup:xe,hidePopup:me,removeAtIndex:je,add:lt,toggleOption:ve,getOptionIndex:()=>h.value,setOptionIndex:be,moveOptionSelection:Le,filter:ye,updateMenuPosition:dt,updateInputValue:Ee,isOptionSelected:Ne,getEmittingOptionValue:tt,isOptionDisabled:(...t)=>Se.value.apply(null,t)===!0,getOptionValue:(...t)=>te.value.apply(null,t),getOptionLabel:(...t)=>Q.value.apply(null,t)}),Object.assign(n,{innerValue:c,fieldClass:x(()=>`q-select q-field--auto-height q-select--with${e.useInput!==!0?"out":""}-input q-select--with${e.useChips!==!0?"out":""}-chips q-select--${e.multiple===!0?"multiple":"single"}`),inputRef:F,targetRef:B,hasValue:I,showPopup:xe,floatingLabel:x(()=>e.hideSelected!==!0&&I.value===!0||typeof g.value=="number"||g.value.length!==0||bt(e.displayValue)),getControlChild:()=>{if(n.editable.value!==!1&&(m.value===!0||L.value!==!0||l["no-option"]!==void 0))return S===!0?Xt():Kt();n.hasPopupOpen===!0&&(n.hasPopupOpen=!1)},controlEvents:{onFocusin(t){n.onControlFocusin(t)},onFocusout(t){n.onControlFocusout(t,()=>{Ce(),we()})},onClick(t){if(ze(t),S!==!0&&i.value===!0){we(),B.value?.focus();return}xe(t)}},getControl:t=>{const d=Wt(),f=t===!0||m.value!==!0||S!==!0;if(e.useInput===!0)d.push($t(t,f));else if(n.editable.value===!0){const H=f===!0?Fe.value:void 0;d.push(A("input",{ref:f===!0?B:void 0,key:"d_t",class:"q-select__focus-target",id:f===!0?n.targetUid.value:void 0,value:$.value,readonly:!0,"data-autofocus":t===!0||e.autofocus===!0||void 0,...H,onKeydown:at,onKeyup:ot,onKeypress:it})),f===!0&&typeof e.autocomplete=="string"&&e.autocomplete.length!==0&&d.push(A("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:ut}))}if(G.value!==void 0&&e.disable!==!0&&Oe.value.length!==0){const H=Oe.value.map(z=>A("option",{value:z,selected:!0}));d.push(A("select",{class:"hidden",name:G.value,multiple:e.multiple},H))}const k=e.useInput===!0||f!==!0?void 0:n.splitAttrs.attributes.value;return A("div",{class:"q-field__native row items-center",...k,...n.splitAttrs.listeners.value},d)},getInnerAppend:()=>e.loading!==!0&&s.value!==!0&&e.hideDropdownIcon!==!0?[A(Re,{class:"q-select__dropdown-icon"+(i.value===!0?" rotate-180":""),name:qe.value})]:null}),Bt(n)}});export{en as Q,Vt as a,Ul as b,Ql as c,Xl as d,mn as e,At as f,an as g,vn as h,We as i,pt as p,wt as r,It as s,jl as u,Yl as v}; diff --git a/backend/internal/http/static/spa/assets/RecoverPasswordPage-DrvyyIKj.css b/backend/internal/http/static/spa/assets/RecoverPasswordPage-DrvyyIKj.css new file mode 100644 index 0000000..5d1032f --- /dev/null +++ b/backend/internal/http/static/spa/assets/RecoverPasswordPage-DrvyyIKj.css @@ -0,0 +1 @@ +.auth-page[data-v-d3af4c7f]{background:linear-gradient(180deg,#f7fafc,#e9f0f7)}.auth-shell[data-v-d3af4c7f]{max-width:520px;margin:0 auto;padding:40px 20px}.auth-card[data-v-d3af4c7f]{border-radius:24px}.auth-form[data-v-d3af4c7f]{display:grid;gap:14px}.auth-links[data-v-d3af4c7f]{display:flex;justify-content:flex-end}.success-state[data-v-d3af4c7f]{display:grid;justify-items:center;gap:12px;text-align:center;padding:12px 0} diff --git a/backend/internal/http/static/spa/assets/RecoverPasswordPage-Dui6oeR1.js b/backend/internal/http/static/spa/assets/RecoverPasswordPage-Dui6oeR1.js new file mode 100644 index 0000000..3ac3bcf --- /dev/null +++ b/backend/internal/http/static/spa/assets/RecoverPasswordPage-Dui6oeR1.js @@ -0,0 +1 @@ +import{z as y,F as x,G as r,H as u,I as o,N as s,J as a,a0 as Q,a1 as d,R as c,a3 as w,a4 as k,Q as p,P as b,U as V,L as P,V as C,q as m}from"./index-BMUcF_AE.js";import{Q as I}from"./QForm-BGdu5I02.js";import{Q as h}from"./QPage-DJ7xuyij.js";import{u as z}from"./use-quasar-5x8FEK03.js";import{f as B}from"./api-RGUeM09o.js";import{_ as E}from"./_plugin-vue_export-helper-DlAUqK2U.js";const N={class:"auth-shell"},R={key:1,class:"success-state"},S=y({__name:"RecoverPasswordPage",setup(q){const f=z(),l=m(!1),i=m(""),n=m(!1);async function v(){l.value=!0;try{const t=await B({email:i.value.trim()});if(t.error)throw new Error(t.error);n.value=!0}catch(t){f.notify({type:"negative",message:t instanceof Error?t.message:String(t)})}finally{l.value=!1}}return(t,e)=>{const _=x("router-link");return r(),u(h,{class:"auth-page"},{default:o(()=>[s("div",N,[a(Q,{flat:"",bordered:"",class:"auth-card"},{default:o(()=>[a(d,null,{default:o(()=>[...e[1]||(e[1]=[s("div",{class:"text-overline text-primary"},"Recupero",-1),s("div",{class:"text-h4"},"Recover password",-1),s("div",{class:"text-body2 text-grey-7"},"Invia la mail di recupero password.",-1)])]),_:1}),a(c),a(d,null,{default:o(()=>[n.value?(r(),b("div",R,[a(V,{name:"mark_email_read",size:"56px",color:"positive"}),e[2]||(e[2]=s("div",{class:"text-h6"},"Email inviata",-1)),e[3]||(e[3]=s("div",{class:"text-body2 text-grey-7"}," Se l'indirizzo esiste, riceverai un messaggio con le istruzioni per reimpostare la password. ",-1)),a(p,{color:"primary",label:"Home",to:"/"})])):(r(),u(I,{key:0,class:"auth-form",onSubmit:w(v,["prevent"])},{default:o(()=>[a(k,{modelValue:i.value,"onUpdate:modelValue":e[0]||(e[0]=g=>i.value=g),outlined:"",type:"email",label:"Email",autocomplete:"email"},null,8,["modelValue"]),a(p,{color:"primary",label:"Invia email",type:"submit",loading:l.value},null,8,["loading"])]),_:1}))]),_:1}),a(c),n.value?C("",!0):(r(),u(d,{key:0,class:"auth-links"},{default:o(()=>[a(_,{to:"/login"},{default:o(()=>[...e[4]||(e[4]=[P("Torna al login",-1)])]),_:1})]),_:1}))]),_:1})])]),_:1})}}}),L=E(S,[["__scopeId","data-v-d3af4c7f"]]);export{L as default}; diff --git a/backend/internal/http/static/spa/assets/ResetPasswordPage-BpPnz33U.js b/backend/internal/http/static/spa/assets/ResetPasswordPage-BpPnz33U.js new file mode 100644 index 0000000..2ca24a2 --- /dev/null +++ b/backend/internal/http/static/spa/assets/ResetPasswordPage-BpPnz33U.js @@ -0,0 +1 @@ +import{z as x,C as I,q as t,G as f,H as h,I as n,N as m,J as s,a0 as A,a1 as w,R as B,a4 as g,U as y,P as k,M as _,V as b,a2 as N,Q as S,t as T}from"./index-BMUcF_AE.js";import{Q as U}from"./QPage-DJ7xuyij.js";import{a as q}from"./api-RGUeM09o.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"page-shell"},E={key:0,class:"msg msg-error"},F={key:1,class:"msg msg-success"},H=x({__name:"ResetPasswordPage",setup($){const V=I(),u=t(P()),r=t(""),d=t(""),p=t(!1),c=t(!1),v=t(!1),o=t(""),i=t(""),C=T(()=>u.value.trim().length>0?"Token caricato da URL, puoi comunque modificarlo.":"Inserisci il token ricevuto via email.");function P(){const e=V.query.token;return typeof e=="string"?e:Array.isArray(e)&&e.length>0?String(e[0]):""}function Q(){return o.value="",i.value="",u.value.trim()?r.value?r.value.length<8?(o.value="La password deve avere almeno 8 caratteri.",!1):r.value!==d.value?(o.value="Le password non coincidono.",!1):!0:(o.value="Inserisci una nuova password.",!1):(o.value="Token mancante.",!1)}async function R(){if(Q()){p.value=!0,o.value="",i.value="";try{const e=await q({token:u.value.trim(),password:r.value});if(e.error){o.value=e.error;return}i.value=e.data?.message||"Password aggiornata con successo.",r.value="",d.value=""}catch(e){o.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}}return(e,a)=>(f(),h(U,{class:"reset-password-page"},{default:n(()=>[m("div",M,[s(A,{flat:"",bordered:"",class:"reset-card"},{default:n(()=>[s(w,{class:"card-head"},{default:n(()=>[...a[5]||(a[5]=[m("p",{class:"eyebrow"},"Account security",-1),m("h1",null,"Reset Password",-1),m("p",{class:"subtitle"},"Imposta una nuova password usando il token ricevuto via email.",-1)])]),_:1}),s(B),s(w,{class:"card-body"},{default:n(()=>[s(g,{modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=l=>u.value=l),label:"Token",outlined:"",autogrow:"",type:"textarea",hint:C.value},null,8,["modelValue","hint"]),s(g,{modelValue:r.value,"onUpdate:modelValue":a[2]||(a[2]=l=>r.value=l),label:"Nuova password",outlined:"",type:c.value?"text":"password"},{append:n(()=>[s(y,{name:c.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:a[1]||(a[1]=l=>c.value=!c.value)},null,8,["name"])]),_:1},8,["modelValue","type"]),s(g,{modelValue:d.value,"onUpdate:modelValue":a[4]||(a[4]=l=>d.value=l),label:"Conferma password",outlined:"",type:v.value?"text":"password"},{append:n(()=>[s(y,{name:v.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:a[3]||(a[3]=l=>v.value=!v.value)},null,8,["name"])]),_:1},8,["modelValue","type"]),o.value?(f(),k("div",E,_(o.value),1)):b("",!0),i.value?(f(),k("div",F,_(i.value),1)):b("",!0)]),_:1}),s(N,{align:"right",class:"card-actions"},{default:n(()=>[s(S,{color:"primary",icon:"lock_reset",label:"Aggiorna password",loading:p.value,onClick:R},null,8,["loading"])]),_:1})]),_:1})])]),_:1}))}}),j=L(H,[["__scopeId","data-v-7f13b293"]]);export{j as default}; diff --git a/backend/internal/http/static/spa/assets/ResetPasswordPage-DM3gheQo.js b/backend/internal/http/static/spa/assets/ResetPasswordPage-DM3gheQo.js deleted file mode 100644 index cc7cff8..0000000 --- a/backend/internal/http/static/spa/assets/ResetPasswordPage-DM3gheQo.js +++ /dev/null @@ -1 +0,0 @@ -import{Q as R,a as w}from"./QCard-D_vcm7k9.js";import{Q as h,r as I}from"./api-rhge6pbe.js";import{Q as f}from"./QInput-CEazYqyH.js";import{b as y,Q as A}from"./QBtn-AYMizH8c.js";import{Q as B}from"./QCardActions-DlFyQG4S.js";import{Q as S}from"./QPage-gf8hzrox.js";import{a as T,Y as N,q as t,o as g,e as U,w as n,h as m,f as s,k,t as _,Z as b,p as q}from"./index-QUdrNkKl.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./render-B4qP-w0Q.js";import"./use-dark-BRt0_t6X.js";import"./use-key-composition-TTwP9QMZ.js";const E={class:"page-shell"},F={key:0,class:"msg msg-error"},M={key:1,class:"msg msg-success"},$=T({__name:"ResetPasswordPage",setup(D){const Q=N(),u=t(C()),r=t(""),d=t(""),p=t(!1),c=t(!1),v=t(!1),o=t(""),i=t(""),V=q(()=>u.value.trim().length>0?"Token caricato da URL, puoi comunque modificarlo.":"Inserisci il token ricevuto via email.");function C(){const e=Q.query.token;return typeof e=="string"?e:Array.isArray(e)&&e.length>0?String(e[0]):""}function P(){return o.value="",i.value="",u.value.trim()?r.value?r.value.length<8?(o.value="La password deve avere almeno 8 caratteri.",!1):r.value!==d.value?(o.value="Le password non coincidono.",!1):!0:(o.value="Inserisci una nuova password.",!1):(o.value="Token mancante.",!1)}async function x(){if(P()){p.value=!0,o.value="",i.value="";try{const e=await I({token:u.value.trim(),password:r.value});if(e.error){o.value=e.error;return}i.value=e.data?.message||"Password aggiornata con successo.",r.value="",d.value=""}catch(e){o.value=e instanceof Error?e.message:String(e)}finally{p.value=!1}}}return(e,a)=>(g(),U(S,{class:"reset-password-page"},{default:n(()=>[m("div",E,[s(R,{flat:"",bordered:"",class:"reset-card"},{default:n(()=>[s(w,{class:"card-head"},{default:n(()=>[...a[5]||(a[5]=[m("p",{class:"eyebrow"},"Account security",-1),m("h1",null,"Reset Password",-1),m("p",{class:"subtitle"},"Imposta una nuova password usando il token ricevuto via email.",-1)])]),_:1}),s(h),s(w,{class:"card-body"},{default:n(()=>[s(f,{modelValue:u.value,"onUpdate:modelValue":a[0]||(a[0]=l=>u.value=l),label:"Token",outlined:"",autogrow:"",type:"textarea",hint:V.value},null,8,["modelValue","hint"]),s(f,{modelValue:r.value,"onUpdate:modelValue":a[2]||(a[2]=l=>r.value=l),label:"Nuova password",outlined:"",type:c.value?"text":"password"},{append:n(()=>[s(y,{name:c.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:a[1]||(a[1]=l=>c.value=!c.value)},null,8,["name"])]),_:1},8,["modelValue","type"]),s(f,{modelValue:d.value,"onUpdate:modelValue":a[4]||(a[4]=l=>d.value=l),label:"Conferma password",outlined:"",type:v.value?"text":"password"},{append:n(()=>[s(y,{name:v.value?"visibility_off":"visibility",class:"cursor-pointer",onClick:a[3]||(a[3]=l=>v.value=!v.value)},null,8,["name"])]),_:1},8,["modelValue","type"]),o.value?(g(),k("div",F,_(o.value),1)):b("",!0),i.value?(g(),k("div",M,_(i.value),1)):b("",!0)]),_:1}),s(B,{align:"right",class:"card-actions"},{default:n(()=>[s(A,{color:"primary",icon:"lock_reset",label:"Aggiorna password",loading:p.value,onClick:x},null,8,["loading"])]),_:1})]),_:1})])]),_:1}))}}),ee=L($,[["__scopeId","data-v-7f13b293"]]);export{ee as default}; diff --git a/backend/internal/http/static/spa/assets/SignupPage-BdSQ-zc-.css b/backend/internal/http/static/spa/assets/SignupPage-BdSQ-zc-.css new file mode 100644 index 0000000..6640f90 --- /dev/null +++ b/backend/internal/http/static/spa/assets/SignupPage-BdSQ-zc-.css @@ -0,0 +1 @@ +.auth-page[data-v-72d36ea8]{background:linear-gradient(180deg,#f7fafc,#e9f0f7)}.auth-shell[data-v-72d36ea8]{max-width:520px;margin:0 auto;padding:40px 20px}.auth-shell-wide[data-v-72d36ea8]{max-width:760px}.auth-card[data-v-72d36ea8]{border-radius:24px}.auth-form[data-v-72d36ea8]{display:grid;gap:14px}.auth-actions[data-v-72d36ea8]{display:flex;justify-content:flex-end}.success-state[data-v-72d36ea8]{display:grid;justify-items:center;gap:12px;text-align:center;padding:12px 0}.success-actions[data-v-72d36ea8]{display:flex;gap:12px} diff --git a/backend/internal/http/static/spa/assets/SignupPage-CoU7NmmQ.js b/backend/internal/http/static/spa/assets/SignupPage-CoU7NmmQ.js new file mode 100644 index 0000000..ae9bfe3 --- /dev/null +++ b/backend/internal/http/static/spa/assets/SignupPage-CoU7NmmQ.js @@ -0,0 +1 @@ +import{z as N,E as V,w as b,a6 as x,G as d,H as g,I as i,N as l,J as t,a0 as Q,a1 as w,R as C,a3 as P,a4 as n,a7 as _,Q as p,P as k,U as S,q as c,a5 as U}from"./index-BMUcF_AE.js";import{Q as z}from"./QForm-BGdu5I02.js";import{Q as E}from"./QPage-DJ7xuyij.js";import{u as R}from"./use-quasar-5x8FEK03.js";import{E as h,r as B}from"./api-RGUeM09o.js";import{_ as I}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={class:"auth-shell auth-shell-wide"},F={class:"auth-actions"},L={key:1,class:"success-state"},$={class:"success-actions"},q=N({__name:"SignupPage",setup(H){const r=R(),m=c(!1),u=c(!1),f=c(),e=U({firstName:"",lastName:"",email:"",password:"",confirmPassword:"",acceptTerms:!1});V(async()=>{await y()}),b(u,async o=>{o||await y()});async function v(){if(!e.firstName.trim()||!e.lastName.trim()||!e.email.trim()){r.notify({type:"negative",message:"Compila tutti i campi obbligatori."});return}if(e.password.length<8){r.notify({type:"negative",message:"La password deve contenere almeno 8 caratteri."});return}if(e.password!==e.confirmPassword){r.notify({type:"negative",message:"Le password non coincidono."});return}if(!e.acceptTerms){r.notify({type:"negative",message:"Devi accettare le condizioni."});return}m.value=!0;try{const o={name:`${e.firstName.trim()} ${e.lastName.trim()}`.trim(),email:e.email.trim(),password:e.password,roles:["user"],status:h.UserStatusPending,types:["internal"],avatar:null,details:{title:"",firstName:e.firstName.trim(),lastName:e.lastName.trim(),address:"",city:"",zipCode:"",country:"",phone:""},preferences:null},a=await B(o);if(a.error)throw new Error(a.error);u.value=!0}catch(o){r.notify({type:"negative",message:o instanceof Error?o.message:String(o)})}finally{m.value=!1}}async function y(){await x(),f.value?.focus?.()}return(o,a)=>(d(),g(E,{class:"auth-page"},{default:i(()=>[l("div",T,[t(Q,{flat:"",bordered:"",class:"auth-card"},{default:i(()=>[t(w,null,{default:i(()=>[...a[6]||(a[6]=[l("div",{class:"text-overline text-primary"},"Registrazione",-1),l("div",{class:"text-h4"},"Sign up",-1),l("div",{class:"text-body2 text-grey-7"},"Crea un nuovo utente.",-1)])]),_:1}),t(C),t(w,null,{default:i(()=>[u.value?(d(),k("div",L,[t(S,{name:"task_alt",size:"56px",color:"positive"}),a[7]||(a[7]=l("div",{class:"text-h6"},"Registrazione completata",-1)),a[8]||(a[8]=l("div",{class:"text-body2 text-grey-7"}," Il tuo account e stato creato con successo. ",-1)),l("div",$,[t(p,{flat:"",color:"primary",label:"Home",to:"/"}),t(p,{color:"primary",label:"Login",to:"/login"})])])):(d(),g(z,{key:0,class:"auth-form",autocomplete:"off",onSubmit:P(v,["prevent"])},{default:i(()=>[t(n,{ref_key:"firstNameRef",ref:f,modelValue:e.firstName,"onUpdate:modelValue":a[0]||(a[0]=s=>e.firstName=s),outlined:"",label:"Nome",autocomplete:"off"},null,8,["modelValue"]),t(n,{modelValue:e.lastName,"onUpdate:modelValue":a[1]||(a[1]=s=>e.lastName=s),outlined:"",label:"Cognome",autocomplete:"off"},null,8,["modelValue"]),t(n,{modelValue:e.email,"onUpdate:modelValue":a[2]||(a[2]=s=>e.email=s),outlined:"",type:"email",label:"Email",autocomplete:"off"},null,8,["modelValue"]),t(n,{modelValue:e.password,"onUpdate:modelValue":a[3]||(a[3]=s=>e.password=s),outlined:"",type:"password",label:"Password",autocomplete:"new-password"},null,8,["modelValue"]),t(n,{modelValue:e.confirmPassword,"onUpdate:modelValue":a[4]||(a[4]=s=>e.confirmPassword=s),outlined:"",type:"password",label:"Ripeti password",autocomplete:"new-password"},null,8,["modelValue"]),t(_,{modelValue:e.acceptTerms,"onUpdate:modelValue":a[5]||(a[5]=s=>e.acceptTerms=s),label:"Accetto le condizioni"},null,8,["modelValue"]),l("div",F,[t(p,{color:"primary",label:"Crea account",type:"submit",loading:m.value},null,8,["loading"])])]),_:1}))]),_:1})]),_:1})])]),_:1}))}}),K=I(q,[["__scopeId","data-v-72d36ea8"]]);export{K as default}; diff --git a/backend/internal/http/static/spa/assets/UsersPage-CyhBpEuA.css b/backend/internal/http/static/spa/assets/UsersPage-CyhBpEuA.css new file mode 100644 index 0000000..47a1218 --- /dev/null +++ b/backend/internal/http/static/spa/assets/UsersPage-CyhBpEuA.css @@ -0,0 +1 @@ +.users-page[data-v-d2d94a40]{background:radial-gradient(circle at top left,rgba(13,71,161,.12),transparent 28%),radial-gradient(circle at right top,rgba(0,150,136,.1),transparent 22%),linear-gradient(180deg,#f6f9fc,#edf2f7)}.users-shell[data-v-d2d94a40]{max-width:1440px;margin:0 auto;padding:28px 18px 42px}.users-header[data-v-d2d94a40]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow[data-v-d2d94a40]{margin:0 0 10px;color:#0d47a1;font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1[data-v-d2d94a40]{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:.95}.subtitle[data-v-d2d94a40]{max-width:720px;margin:12px 0 0;color:#526273;font-size:1rem}.header-actions[data-v-d2d94a40]{display:flex;gap:10px}.users-card[data-v-d2d94a40],.editor-card[data-v-d2d94a40]{border-radius:24px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-card[data-v-d2d94a40]{width:min(96vw,800px);max-width:800px;max-height:90vh;display:flex;flex-direction:column}.toolbar[data-v-d2d94a40]{display:flex;justify-content:flex-end}.toolbar-search[data-v-d2d94a40]{width:min(100%,420px)}.badge-row[data-v-d2d94a40]{display:flex;flex-wrap:wrap;gap:6px}.user-cell[data-v-d2d94a40]{display:flex;align-items:center;gap:12px}.user-avatar-thumb[data-v-d2d94a40]{width:40px;height:40px;border-radius:999px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,#0d47a1,#26a69a);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em}.user-avatar-thumb img[data-v-d2d94a40]{width:100%;height:100%;object-fit:cover}.user-meta[data-v-d2d94a40]{min-width:0}.actions-cell[data-v-d2d94a40]{white-space:nowrap}.user-action-menu[data-v-d2d94a40]{min-width:190px}.editor-header[data-v-d2d94a40]{background:linear-gradient(135deg,#0d47a1,#00897b);color:#fff;position:sticky;top:0;z-index:5;padding-top:20px;padding-right:24px;padding-left:24px}.editor-toolbar[data-v-d2d94a40]{display:block;margin-bottom:16px;padding-right:260px}.editor-headline[data-v-d2d94a40]{min-width:0}.editor-toolbar-actions[data-v-d2d94a40]{position:absolute;top:20px;right:24px;display:inline-flex;align-items:flex-start;gap:10px;z-index:2}.editor-body[data-v-d2d94a40]{padding:24px;overflow:auto}.password-card[data-v-d2d94a40]{border-radius:20px}.password-grid[data-v-d2d94a40]{display:grid;gap:14px}.visually-hidden[data-v-d2d94a40]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.avatar-editor-body[data-v-d2d94a40]{padding:24px;overflow:auto}.avatar-toolbar[data-v-d2d94a40]{display:flex;align-items:center;gap:12px;margin-bottom:18px}.avatar-editor-grid[data-v-d2d94a40]{display:grid;grid-template-columns:minmax(0,1.3fr) 280px;gap:24px;align-items:start}.avatar-file-name[data-v-d2d94a40]{min-width:0;flex:1 1 auto;color:#617487;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-cropper-shell[data-v-d2d94a40],.avatar-preview-shell[data-v-d2d94a40]{border-radius:24px;background:linear-gradient(180deg,#f7fafd,#edf3f9);border:1px solid rgba(13,71,161,.08)}.avatar-cropper-shell[data-v-d2d94a40]{min-height:520px;padding:18px}.avatar-cropper-box[data-v-d2d94a40]{width:100%;height:480px;overflow:hidden;border-radius:20px}.avatar-empty-state[data-v-d2d94a40]{min-height:480px;display:flex;align-items:center;justify-content:center;color:#617487;text-align:center;padding:24px}.avatar-preview-shell[data-v-d2d94a40]{padding:20px;position:sticky;top:112px}.avatar-preview-title[data-v-d2d94a40]{margin-bottom:14px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0d47a1}.avatar-preview-disc[data-v-d2d94a40]{width:220px;height:220px;margin:0 auto;border-radius:999px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#fff,#dce6f1);color:#617487;text-align:center}.avatar-preview-disc img[data-v-d2d94a40]{width:100%;height:100%;object-fit:cover}.form-grid[data-v-d2d94a40]{display:grid;gap:24px}.editor-tabs[data-v-d2d94a40]{border-radius:16px;background:#0d47a10f;padding:6px}.editor-panels[data-v-d2d94a40]{background:transparent}.form-section[data-v-d2d94a40]{display:grid;gap:14px}.form-section h2[data-v-d2d94a40]{margin:0;font-size:1.1rem}.section-heading[data-v-d2d94a40]{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-grid[data-v-d2d94a40]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.section-grid.disabled[data-v-d2d94a40]{opacity:.55}.avatar-inline-card[data-v-d2d94a40]{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(13,71,161,.12);background:linear-gradient(180deg,#f8fbff,#eef4fa)}.avatar-inline-preview[data-v-d2d94a40]{width:72px;height:72px;border-radius:999px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d47a1,#26a69a);color:#fff;font-size:1rem;font-weight:700}.avatar-inline-preview img[data-v-d2d94a40]{width:100%;height:100%;object-fit:cover}.avatar-inline-meta[data-v-d2d94a40]{min-width:0;flex:1 1 auto}.span-2[data-v-d2d94a40]{grid-column:span 2}@media(max-width:900px){.users-header[data-v-d2d94a40]{flex-direction:column;align-items:stretch}.header-actions[data-v-d2d94a40]{justify-content:stretch}.header-actions[data-v-d2d94a40]>*{flex:1 1 auto}.section-grid[data-v-d2d94a40]{grid-template-columns:1fr}.span-2[data-v-d2d94a40]{grid-column:auto}.editor-toolbar[data-v-d2d94a40]{padding-right:0}.editor-toolbar-actions[data-v-d2d94a40]{position:static;margin-bottom:12px}.avatar-toolbar[data-v-d2d94a40]{flex-direction:column;align-items:stretch}.avatar-editor-grid[data-v-d2d94a40]{grid-template-columns:1fr}.avatar-cropper-shell[data-v-d2d94a40]{min-height:420px}.avatar-cropper-box[data-v-d2d94a40],.avatar-empty-state[data-v-d2d94a40]{height:380px;min-height:380px}.avatar-preview-shell[data-v-d2d94a40]{position:static}} diff --git a/backend/internal/http/static/spa/assets/UsersPage-DF9qdeNg.js b/backend/internal/http/static/spa/assets/UsersPage-DF9qdeNg.js new file mode 100644 index 0000000..3ebeeaf --- /dev/null +++ b/backend/internal/http/static/spa/assets/UsersPage-DF9qdeNg.js @@ -0,0 +1,2 @@ +import{a as Ve,n as S,x as $e,p as Le,t as T,ar as zi,U as _e,aj as Xt,aq as Yt,s as $i,w as me,m as Fi,au as Ra,aA as ui,E as Gt,aB as ci,aC as di,o as Vt,q as $,az as Sa,aD as Hi,aE as Wi,aF as Qi,aG as Na,aH as Xi,aI as ca,aJ as qa,a6 as _a,aK as Yi,a7 as Jt,aL as xt,Q as de,R as vt,ak as Gi,al as ea,aM as fi,S as qe,aN as Ki,aO as Zi,aP as Ji,y as Ht,f as ta,g as da,as as er,ab as tr,j as aa,ac as Ct,ad as ia,ae as ar,k as It,af as Aa,ai as ir,T as rr,aQ as nr,aR as or,ao as lr,z as hi,G as re,P as Ee,N as M,Y as sr,aS as fa,aT as Oa,H as ke,I as E,J as y,a0 as St,a1 as je,a4 as ce,L as _t,K as Dt,M as ue,a8 as ur,a9 as cr,aa as Ut,a3 as dr,V as ra,aU as Ze,a2 as Va,a5 as jt}from"./index-BMUcF_AE.js";import{Q as La}from"./QBadge-D07aoSle.js";import{Q as Tt,a as Ne}from"./QItem-49cALKGJ.js";import{Q as vi,a as fr}from"./QResizeObserver-UV_Ef03s.js";import{f as hr,g as vr,e as Wt,h as mi,i as mr,Q as gr}from"./QSelect-mICoVsXS.js";import{g as Ba,s as Ia}from"./touch-BjYP5sR0.js";import{c as pr}from"./format-4vRgyZVr.js";import{Q as br}from"./QForm-BGdu5I02.js";import{Q as wr}from"./QPage-DJ7xuyij.js";import{C as ze}from"./ClosePopup-NcxzGtHY.js";import{u as yr}from"./use-quasar-5x8FEK03.js";import{d as xr,E as Je,g as Cr,u as na,i as Sr,j as _r}from"./api-RGUeM09o.js";import{_ as Dr}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ft=Ve({name:"QTd",props:{props:Object,autoWidth:Boolean,noHover:Boolean},setup(e,{slots:t}){const i=Le(),a=T(()=>"q-td"+(e.autoWidth===!0?" q-table--col-auto-width":"")+(e.noHover===!0?" q-td--no-hover":"")+" ");return()=>{if(e.props===void 0)return S("td",{class:a.value},$e(t.default));const n=i.vnode.key,r=(e.props.colsMap!==void 0?e.props.colsMap[n]:null)||e.props.col;if(r===void 0)return;const{row:o}=e.props;return S("td",{class:a.value+r.__tdClass(o),style:r.__tdStyle(o)},$e(t.default))}}}),Tr=Ve({name:"QTh",props:{props:Object,autoWidth:Boolean},emits:["click"],setup(e,{slots:t,emit:i}){const a=Le(),{proxy:{$q:n}}=a,r=o=>{i("click",o)};return()=>{if(e.props===void 0)return S("th",{class:e.autoWidth===!0?"q-table--col-auto-width":"",onClick:r},$e(t.default));let o,s;const u=a.vnode.key;if(u){if(o=e.props.colsMap[u],o===void 0)return}else o=e.props.col;if(o.sortable===!0){const l=o.align==="right"?"unshift":"push";s=zi(t.default,[]),s[l](S(_e,{class:o.__iconClass,name:n.iconSet.table.arrowUp}))}else s=$e(t.default);const v={class:o.__thClass+(e.autoWidth===!0?" q-table--col-auto-width":""),style:o.headerStyle,onClick:l=>{o.sortable===!0&&e.props.sort(o),r(l)}};return S("th",v,s)}}}),Pr=["horizontal","vertical","cell","none"],kr=Ve({name:"QMarkupTable",props:{...Xt,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:e=>Pr.includes(e)}},setup(e,{slots:t}){const i=Le(),a=Yt(e,i.proxy.$q),n=T(()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(a.value===!0?" q-table--dark q-table__card--dark q-dark":"")+(e.dense===!0?" q-table--dense":"")+(e.flat===!0?" q-table--flat":"")+(e.bordered===!0?" q-table--bordered":"")+(e.square===!0?" q-table--square":"")+(e.wrapCells===!1?" q-table--no-wrap":""));return()=>S("div",{class:n.value},[S("table",{class:"q-table"},$e(t.default))])}});function gi(e,t){return S("div",e,[S("table",{class:"q-table"},t)])}const Mr={list:vi,table:kr},Er=["list","table","__qtable"],Rr=Ve({name:"QVirtualScroll",props:{...hr,type:{type:String,default:"list",validator:e=>Er.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:$i},setup(e,{slots:t,attrs:i}){let a;const n=$(null),r=T(()=>e.itemsSize>=0&&e.itemsFn!==void 0?parseInt(e.itemsSize,10):Array.isArray(e.items)?e.items.length:0),{virtualScrollSliceRange:o,localResetVirtualScroll:s,padVirtualScroll:u,onVirtualScrollEvt:v}=vr({virtualScrollLength:r,getVirtualScrollTarget:x,getVirtualScrollEl:b}),l=T(()=>{if(r.value===0)return[];const B=(P,O)=>({index:o.value.from+O,item:P});return e.itemsFn===void 0?e.items.slice(o.value.from,o.value.to).map(B):e.itemsFn(o.value.from,o.value.to-o.value.from).map(B)}),d=T(()=>"q-virtual-scroll q-virtual-scroll"+(e.virtualScrollHorizontal===!0?"--horizontal":"--vertical")+(e.scrollTarget!==void 0?"":" scroll")),f=T(()=>e.scrollTarget!==void 0?{}:{tabindex:0});me(r,()=>{s()}),me(()=>e.scrollTarget,()=>{C(),_()});function b(){return n.value.$el||n.value}function x(){return a}function _(){a=Fi(b(),e.scrollTarget),a.addEventListener("scroll",v,Ra.passive)}function C(){a!==void 0&&(a.removeEventListener("scroll",v,Ra.passive),a=void 0)}function A(){let B=u(e.type==="list"?"div":"tbody",l.value.map(t.default));return t.before!==void 0&&(B=t.before().concat(B)),Sa(t.after,B)}return ui(()=>{s()}),Gt(()=>{_()}),ci(()=>{_()}),di(()=>{C()}),Vt(()=>{C()}),()=>{if(t.default===void 0){console.error("QVirtualScroll: default scoped slot is required for rendering");return}return e.type==="__qtable"?gi({ref:n,class:"q-table__middle "+d.value},A()):S(Mr[e.type],{...i,ref:n,class:[i.class,d.value],...f.value},A)}}}),Nr={xs:2,sm:4,md:6,lg:10,xl:14};function Ua(e,t,i){return{transform:t===!0?`translateX(${i.lang.rtl===!0?"-":""}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}const qr=Ve({name:"QLinearProgress",props:{...Xt,...Hi,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){const{proxy:i}=Le(),a=Yt(e,i.$q),n=Wi(e,Nr),r=T(()=>e.indeterminate===!0||e.query===!0),o=T(()=>e.reverse!==e.query),s=T(()=>({...n.value!==null?n.value:{},"--q-linear-progress-speed":`${e.animationSpeed}ms`})),u=T(()=>"q-linear-progress"+(e.color!==void 0?` text-${e.color}`:"")+(e.reverse===!0||e.query===!0?" q-linear-progress--reverse":"")+(e.rounded===!0?" rounded-borders":"")),v=T(()=>Ua(e.buffer!==void 0?e.buffer:1,o.value,i.$q)),l=T(()=>`with${e.instantFeedback===!0?"out":""}-transition`),d=T(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${l.value} q-linear-progress__track--${a.value===!0?"dark":"light"}`+(e.trackColor!==void 0?` bg-${e.trackColor}`:"")),f=T(()=>Ua(r.value===!0?1:e.value,o.value,i.$q)),b=T(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${l.value} q-linear-progress__model--${r.value===!0?"in":""}determinate`),x=T(()=>({width:`${e.value*100}%`})),_=T(()=>`q-linear-progress__stripe absolute-${e.reverse===!0?"right":"left"} q-linear-progress__stripe--${l.value}`);return()=>{const C=[S("div",{class:d.value,style:v.value}),S("div",{class:b.value,style:f.value})];return e.stripe===!0&&r.value===!1&&C.push(S("div",{class:_.value,style:x.value})),S("div",{class:u.value,style:s.value,role:"progressbar","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate===!0?void 0:e.value},Sa(t.default,C))}}});let Pt=0;const Ar={fullscreen:Boolean,noRouteFullscreenExit:Boolean},Or=["update:fullscreen","fullscreen"];function Vr(){const e=Le(),{props:t,emit:i,proxy:a}=e;let n,r,o;const s=$(!1);Qi(e)===!0&&me(()=>a.$route.fullPath,()=>{t.noRouteFullscreenExit!==!0&&l()}),me(()=>t.fullscreen,d=>{s.value!==d&&u()}),me(s,d=>{i("update:fullscreen",d),i("fullscreen",d)});function u(){s.value===!0?l():v()}function v(){s.value!==!0&&(s.value=!0,o=a.$el.parentNode,o.replaceChild(r,a.$el),document.body.appendChild(a.$el),Pt++,Pt===1&&document.body.classList.add("q-body--fullscreen-mixin"),n={handler:l},Na.add(n))}function l(){s.value===!0&&(n!==void 0&&(Na.remove(n),n=void 0),o.replaceChild(a.$el,r),s.value=!1,Pt=Math.max(0,Pt-1),Pt===0&&(document.body.classList.remove("q-body--fullscreen-mixin"),a.$el.scrollIntoView!==void 0&&setTimeout(()=>{a.$el.scrollIntoView()})))}return ui(()=>{r=document.createElement("span")}),Gt(()=>{t.fullscreen===!0&&v()}),Vt(l),Object.assign(a,{toggleFullscreen:u,setFullscreen:v,exitFullscreen:l}),{inFullscreen:s,toggleFullscreen:u}}function Lr(e,t){return new Date(e)-new Date(t)}const Br={sortMethod:Function,binaryStateSort:Boolean,columnSortOrder:{type:String,validator:e=>e==="ad"||e==="da",default:"ad"}};function Ir(e,t,i,a){const n=T(()=>{const{sortBy:s}=t.value;return s&&i.value.find(u=>u.name===s)||null}),r=T(()=>e.sortMethod!==void 0?e.sortMethod:(s,u,v)=>{const l=i.value.find(b=>b.name===u);if(l===void 0||l.field===void 0)return s;const d=v===!0?-1:1,f=typeof l.field=="function"?b=>l.field(b):b=>b[l.field];return s.sort((b,x)=>{let _=f(b),C=f(x);return l.rawSort!==void 0?l.rawSort(_,C,b,x)*d:_==null?-1*d:C==null?1*d:l.sort!==void 0?l.sort(_,C,b,x)*d:ca(_)===!0&&ca(C)===!0?(_-C)*d:qa(_)===!0&&qa(C)===!0?Lr(_,C)*d:typeof _=="boolean"&&typeof C=="boolean"?(_-C)*d:([_,C]=[_,C].map(A=>(A+"").toLocaleString().toLowerCase()),_f.name===s);d?.sortOrder&&(u=d.sortOrder)}let{sortBy:v,descending:l}=t.value;v!==s?(v=s,l=u==="da"):e.binaryStateSort===!0?l=!l:l===!0?u==="ad"?v=null:l=!1:u==="ad"?l=!0:v=null,a({sortBy:v,descending:l,page:1})}return{columnToSort:n,computedSortMethod:r,sort:o}}const Ur={filter:[String,Object],filterMethod:Function};function jr(e,t){const i=T(()=>e.filterMethod!==void 0?e.filterMethod:(a,n,r,o)=>{const s=n?n.toLowerCase():"";return a.filter(u=>r.some(v=>{const l=o(v,u)+"";return(l==="undefined"||l==="null"?"":l.toLowerCase()).indexOf(s)!==-1}))});return me(()=>e.filter,()=>{_a(()=>{t({page:1},!0)})},{deep:!0}),{computedFilterMethod:i}}function zr(e,t){for(const i in t)if(t[i]!==e[i])return!1;return!0}function ja(e){return e.page<1&&(e.page=1),e.rowsPerPage!==void 0&&e.rowsPerPage<1&&(e.rowsPerPage=0),e}const $r={pagination:Object,rowsPerPageOptions:{type:Array,default:()=>[5,7,10,15,20,25,50,0]},"onUpdate:pagination":[Function,Array]};function Fr(e,t){const{props:i,emit:a}=e,n=$(Object.assign({sortBy:null,descending:!1,page:1,rowsPerPage:i.rowsPerPageOptions.length!==0?i.rowsPerPageOptions[0]:5},i.pagination)),r=T(()=>{const l=i["onUpdate:pagination"]!==void 0?{...n.value,...i.pagination}:n.value;return ja(l)}),o=T(()=>r.value.rowsNumber!==void 0);function s(l){u({pagination:l,filter:i.filter})}function u(l={}){_a(()=>{a("request",{pagination:l.pagination||r.value,filter:l.filter||i.filter,getCellValue:t})})}function v(l,d){const f=ja({...r.value,...l});if(zr(r.value,f)===!0){o.value===!0&&d===!0&&s(f);return}if(o.value===!0){s(f);return}i.pagination!==void 0&&i["onUpdate:pagination"]!==void 0?a("update:pagination",f):n.value=f}return{innerPagination:n,computedPagination:r,isServerSide:o,requestServerInteraction:u,setPagination:v}}function Hr(e,t,i,a,n,r){const{props:o,emit:s,proxy:{$q:u}}=e,v=T(()=>a.value===!0?i.value.rowsNumber||0:r.value),l=T(()=>{const{page:O,rowsPerPage:q}=i.value;return(O-1)*q}),d=T(()=>{const{page:O,rowsPerPage:q}=i.value;return O*q}),f=T(()=>i.value.page===1),b=T(()=>i.value.rowsPerPage===0?1:Math.max(1,Math.ceil(v.value/i.value.rowsPerPage))),x=T(()=>d.value===0?!0:i.value.page>=b.value),_=T(()=>(o.rowsPerPageOptions.includes(t.value.rowsPerPage)?o.rowsPerPageOptions:[t.value.rowsPerPage].concat(o.rowsPerPageOptions)).map(q=>({label:q===0?u.lang.table.allRows:""+q,value:q})));me(b,(O,q)=>{if(O===q)return;const w=i.value.page;O&&!w?n({page:1}):O1&&n({page:O-1})}function B(){const{page:O,rowsPerPage:q}=i.value;d.value>0&&O*q["single","multiple","none"].includes(e)},selected:{type:Array,default:()=>[]}},Qr=["update:selected","selection"];function Xr(e,t,i,a){const n=T(()=>{const x={};return e.selected.map(a.value).forEach(_=>{x[_]=!0}),x}),r=T(()=>e.selection!=="none"),o=T(()=>e.selection==="single"),s=T(()=>e.selection==="multiple"),u=T(()=>i.value.length!==0&&i.value.every(x=>n.value[a.value(x)]===!0)),v=T(()=>u.value!==!0&&i.value.some(x=>n.value[a.value(x)]===!0)),l=T(()=>e.selected.length);function d(x){return n.value[x]===!0}function f(){t("update:selected",[])}function b(x,_,C,A){t("selection",{rows:_,added:C,keys:x,evt:A});const B=o.value===!0?C===!0?_:[]:C===!0?e.selected.concat(_):e.selected.filter(P=>x.includes(a.value(P))===!1);t("update:selected",B)}return{hasSelectionMode:r,singleSelection:o,multipleSelection:s,allRowsSelected:u,someRowsSelected:v,rowsSelectedNumber:l,isRowSelected:d,clearSelection:f,updateSelection:b}}function za(e){return Array.isArray(e)?e.slice():[]}const Yr={expanded:Array},Gr=["update:expanded"];function Kr(e,t){const i=$(za(e.expanded));me(()=>e.expanded,o=>{i.value=za(o)});function a(o){return i.value.includes(o)}function n(o){e.expanded!==void 0?t("update:expanded",o):i.value=o}function r(o,s){const u=i.value.slice(),v=u.indexOf(o);s===!0?v===-1&&(u.push(o),n(u)):v!==-1&&(u.splice(v,1),n(u))}return{isRowExpanded:a,setExpanded:n,updateExpanded:r}}const Zr={visibleColumns:Array};function Jr(e,t,i){const a=T(()=>{if(e.columns!==void 0)return e.columns;const s=e.rows[0];return s!==void 0?Object.keys(s).map(u=>({name:u,label:u.toUpperCase(),field:u,align:ca(s[u])?"right":"left",sortable:!0})):[]}),n=T(()=>{const{sortBy:s,descending:u}=t.value;return(e.visibleColumns!==void 0?a.value.filter(l=>l.required===!0||e.visibleColumns.includes(l.name)===!0):a.value).map(l=>{const d=l.align||"right",f=`text-${d}`;return{...l,align:d,__iconClass:`q-table__sort-icon q-table__sort-icon--${d}`,__thClass:f+(l.headerClasses!==void 0?" "+l.headerClasses:"")+(l.sortable===!0?" sortable":"")+(l.name===s?` sorted ${u===!0?"sort-desc":""}`:""),__tdStyle:l.style!==void 0?typeof l.style!="function"?()=>l.style:l.style:()=>null,__tdClass:l.classes!==void 0?typeof l.classes!="function"?()=>f+" "+l.classes:b=>f+" "+l.classes(b):()=>f}})}),r=T(()=>{const s={};return n.value.forEach(u=>{s[u.name]=u}),s}),o=T(()=>e.tableColspan!==void 0?e.tableColspan:n.value.length+(i.value===!0?1:0));return{colList:a,computedCols:n,computedColsMap:r,computedColspan:o}}const zt="q-table__bottom row items-center",pi={};mi.forEach(e=>{pi[e]={}});const en=Ve({name:"QTable",props:{rows:{type:Array,required:!0},rowKey:{type:[String,Function],default:"id"},columns:Array,loading:Boolean,iconFirstPage:String,iconPrevPage:String,iconNextPage:String,iconLastPage:String,title:String,hideHeader:Boolean,grid:Boolean,gridHeader:Boolean,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,separator:{type:String,default:"horizontal",validator:e=>["horizontal","vertical","cell","none"].includes(e)},wrapCells:Boolean,virtualScroll:Boolean,virtualScrollTarget:{},...pi,noDataLabel:String,noResultsLabel:String,loadingLabel:String,selectedRowsLabel:Function,rowsPerPageLabel:String,paginationLabel:Function,color:{type:String,default:"grey-8"},titleClass:[String,Array,Object],tableStyle:[String,Array,Object],tableClass:[String,Array,Object],tableHeaderStyle:[String,Array,Object],tableHeaderClass:[String,Array,Object],tableRowStyleFn:Function,tableRowClassFn:Function,cardContainerClass:[String,Array,Object],cardContainerStyle:[String,Array,Object],cardStyle:[String,Array,Object],cardClass:[String,Array,Object],cardStyleFn:Function,cardClassFn:Function,hideBottom:Boolean,hideSelectedBanner:Boolean,hideNoData:Boolean,hidePagination:Boolean,onRowClick:Function,onRowDblclick:Function,onRowContextmenu:Function,...Xt,...Ar,...Zr,...Ur,...$r,...Yr,...Wr,...Br},emits:["request","virtualScroll",...Or,...Gr,...Qr],setup(e,{slots:t,emit:i}){const a=Le(),{proxy:{$q:n}}=a,r=Yt(e,n),{inFullscreen:o,toggleFullscreen:s}=Vr(),u=T(()=>typeof e.rowKey=="function"?e.rowKey:g=>g[e.rowKey]),v=$(null),l=$(null),d=T(()=>e.grid!==!0&&e.virtualScroll===!0),f=T(()=>" q-table__card"+(r.value===!0?" q-table__card--dark q-dark":"")+(e.square===!0?" q-table--square":"")+(e.flat===!0?" q-table--flat":"")+(e.bordered===!0?" q-table--bordered":"")),b=T(()=>`q-table__container q-table--${e.separator}-separator column no-wrap`+(e.grid===!0?" q-table--grid":f.value)+(r.value===!0?" q-table--dark":"")+(e.dense===!0?" q-table--dense":"")+(e.wrapCells===!1?" q-table--no-wrap":"")+(o.value===!0?" fullscreen scroll":"")),x=T(()=>b.value+(e.loading===!0?" q-table--loading":""));me(()=>e.tableStyle+e.tableClass+e.tableHeaderStyle+e.tableHeaderClass+b.value,()=>{d.value===!0&&l.value?.reset()});const{innerPagination:_,computedPagination:C,isServerSide:A,requestServerInteraction:B,setPagination:P}=Fr(a,m),{computedFilterMethod:O}=jr(e,P),{isRowExpanded:q,setExpanded:w,updateExpanded:V}=Kr(e,i),L=T(()=>{let g=e.rows;if(A.value===!0||g.length===0)return g;const{sortBy:k,descending:I}=C.value;return e.filter&&(g=O.value(g,e.filter,te.value,m)),He.value!==null&&(g=Be.value(e.rows===g?g.slice():g,k,I)),g}),ee=T(()=>L.value.length),Y=T(()=>{let g=L.value;if(A.value===!0)return g;const{rowsPerPage:k}=C.value;return k!==0&&(Ie.value===0&&e.rows!==g?g.length>Ue.value&&(g=g.slice(0,Ue.value)):g=g.slice(Ie.value,Ue.value)),g}),{hasSelectionMode:oe,singleSelection:ve,multipleSelection:he,allRowsSelected:N,someRowsSelected:p,rowsSelectedNumber:H,isRowSelected:le,clearSelection:xe,updateSelection:ge}=Xr(e,i,Y,u),{colList:Fe,computedCols:te,computedColsMap:pe,computedColspan:Re}=Jr(e,C,oe),{columnToSort:He,computedSortMethod:Be,sort:be}=Ir(e,C,Fe,P),{firstRowIndex:Ie,lastRowIndex:Ue,isFirstPage:We,isLastPage:Qe,pagesNumber:Ce,computedRowsPerPageOptions:wt,computedRowsNumber:Xe,firstPage:De,prevPage:Ye,nextPage:it,lastPage:Ge}=Hr(a,_,C,A,P,ee),rt=T(()=>Y.value.length===0),ut=T(()=>{const g={};return mi.forEach(k=>{g[k]=e[k]}),g.virtualScrollItemSize===void 0&&(g.virtualScrollItemSize=e.dense===!0?28:48),g});function ct(){d.value===!0&&l.value.reset()}function Ke(){if(e.grid===!0)return Ui();const g=e.hideHeader!==!0?Te:null;if(d.value===!0){const I=t["top-row"],U=t["bottom-row"],F={default:ne=>X(ne.item,t.body,ne.index)};if(I!==void 0){const ne=S("tbody",I({cols:te.value}));F.before=g===null?()=>ne:()=>[g()].concat(ne)}else g!==null&&(F.before=g);return U!==void 0&&(F.after=()=>S("tbody",U({cols:te.value}))),S(Rr,{ref:l,class:e.tableClass,style:e.tableStyle,...ut.value,scrollTarget:e.virtualScrollTarget,items:Y.value,type:"__qtable",tableColspan:Re.value,onVirtualScroll:R},F)}const k=[G()];return g!==null&&k.unshift(g()),gi({class:["q-table__middle scroll",e.tableClass],style:e.tableStyle},k)}function D(g,k){if(l.value!==null){l.value.scrollTo(g,k);return}g=parseInt(g,10);const I=v.value.querySelector(`tbody tr:nth-of-type(${g+1})`);if(I!==null){const U=v.value.querySelector(".q-table__middle.scroll"),F=I.offsetTop-e.virtualScrollStickySizeStart,ne=F{const nt=t[`body-cell-${ie.name}`],Bt=nt!==void 0?nt:ne;return Bt!==void 0?Bt(z({key:U,row:g,pageIndex:I,col:ie})):S("td",{class:ie.__tdClass(g),style:ie.__tdStyle(g)},m(ie,g))});if(oe.value===!0){const ie=t["body-selection"],nt=ie!==void 0?ie(h({key:U,row:g,pageIndex:I})):[S(Jt,{modelValue:F,color:e.color,dark:r.value,dense:e.dense,"onUpdate:modelValue":(Bt,ji)=>{ge([U],[g],Bt,ji)}})];ae.unshift(S("td",{class:"q-table--col-auto-width"},nt))}const Pe={key:U,class:{selected:F}};if(e.onRowClick!==void 0&&(Pe.class["cursor-pointer"]=!0,Pe.onClick=ie=>{i("rowClick",ie,g,I)}),e.onRowDblclick!==void 0&&(Pe.class["cursor-pointer"]=!0,Pe.onDblclick=ie=>{i("rowDblclick",ie,g,I)}),e.onRowContextmenu!==void 0&&(Pe.class["cursor-pointer"]=!0,Pe.onContextmenu=ie=>{i("rowContextmenu",ie,g,I)}),e.tableRowStyleFn!==void 0&&(Pe.style=e.tableRowStyleFn(g)),e.tableRowClassFn!==void 0){const ie=e.tableRowClassFn(g);ie&&(Pe.class[ie]=!0)}return S("tr",Pe,ae)}function G(){const g=t.body,k=t["top-row"],I=t["bottom-row"];let U=Y.value.map((F,ne)=>X(F,g,ne));return k!==void 0&&(U=k({cols:te.value}).concat(U)),I!==void 0&&(U=U.concat(I({cols:te.value}))),S("tbody",U)}function W(g){return c(g),g.cols=g.cols.map(k=>xt({...k},"value",()=>m(k,g.row))),g}function z(g){return c(g),xt(g,"value",()=>m(g.col,g.row)),g}function h(g){return c(g),g}function c(g){Object.assign(g,{cols:te.value,colsMap:pe.value,sort:be,rowIndex:Ie.value+g.pageIndex,color:e.color,dark:r.value,dense:e.dense}),oe.value===!0&&xt(g,"selected",()=>le(g.key),(k,I)=>{ge([g.key],[g.row],k,I)}),xt(g,"expand",()=>q(g.key),k=>{V(g.key,k)})}function m(g,k){const I=typeof g.field=="function"?g.field(k):k[g.field];return g.format!==void 0?g.format(I,k):I}const K=T(()=>({pagination:C.value,pagesNumber:Ce.value,isFirstPage:We.value,isLastPage:Qe.value,firstPage:De,prevPage:Ye,nextPage:it,lastPage:Ge,inFullscreen:o.value,toggleFullscreen:s}));function yt(){const g=t.top,k=t["top-left"],I=t["top-right"],U=t["top-selection"],F=oe.value===!0&&U!==void 0&&H.value>0,ne="q-table__top relative-position row items-center";if(g!==void 0)return S("div",{class:ne},[g(K.value)]);let ae;if(F===!0?ae=U(K.value).slice():(ae=[],k!==void 0?ae.push(S("div",{class:"q-table__control"},[k(K.value)])):e.title&&ae.push(S("div",{class:"q-table__control"},[S("div",{class:["q-table__title",e.titleClass]},e.title)]))),I!==void 0&&(ae.push(S("div",{class:"q-table__separator col"})),ae.push(S("div",{class:"q-table__control"},[I(K.value)]))),ae.length!==0)return S("div",{class:ne},ae)}const dt=T(()=>p.value===!0?null:N.value);function Te(){const g=Oi();return e.loading===!0&&t.loading===void 0&&g.push(S("tr",{class:"q-table__progress"},[S("th",{class:"relative-position",colspan:Re.value},j())])),S("thead",g)}function Oi(){const g=t.header,k=t["header-cell"];if(g!==void 0)return g(Zt({header:!0})).slice();const I=te.value.map(U=>{const F=t[`header-cell-${U.name}`],ne=F!==void 0?F:k,ae=Zt({col:U});return ne!==void 0?ne(ae):S(Tr,{key:U.name,props:ae},()=>U.label)});if(ve.value===!0&&e.grid!==!0)I.unshift(S("th",{class:"q-table--col-auto-width"}," "));else if(he.value===!0){const U=t["header-selection"],F=U!==void 0?U(Zt({})):[S(Jt,{color:e.color,modelValue:dt.value,dark:r.value,dense:e.dense,"onUpdate:modelValue":Ea})];I.unshift(S("th",{class:"q-table--col-auto-width"},F))}return[S("tr",{class:e.tableHeaderClass,style:e.tableHeaderStyle},I)]}function Zt(g){return Object.assign(g,{cols:te.value,sort:be,colsMap:pe.value,color:e.color,dark:r.value,dense:e.dense}),he.value===!0&&xt(g,"selected",()=>dt.value,Ea),g}function Ea(g){p.value===!0&&(g=!1),ge(Y.value.map(u.value),Y.value,g)}const Lt=T(()=>{const g=[e.iconFirstPage||n.iconSet.table.firstPage,e.iconPrevPage||n.iconSet.table.prevPage,e.iconNextPage||n.iconSet.table.nextPage,e.iconLastPage||n.iconSet.table.lastPage];return n.lang.rtl===!0?g.reverse():g});function Vi(){if(e.hideBottom===!0)return;if(rt.value===!0){if(e.hideNoData===!0)return;const I=e.loading===!0?e.loadingLabel||n.lang.table.loading:e.filter?e.noResultsLabel||n.lang.table.noResults:e.noDataLabel||n.lang.table.noData,U=t["no-data"],F=U!==void 0?[U({message:I,icon:n.iconSet.table.warning,filter:e.filter})]:[S(_e,{class:"q-table__bottom-nodata-icon",name:n.iconSet.table.warning}),I];return S("div",{class:zt+" q-table__bottom--nodata"},F)}const g=t.bottom;if(g!==void 0)return S("div",{class:zt},[g(K.value)]);const k=e.hideSelectedBanner!==!0&&oe.value===!0&&H.value>0?[S("div",{class:"q-table__control"},[S("div",[(e.selectedRowsLabel||n.lang.table.selectedRecords)(H.value)])])]:[];if(e.hidePagination!==!0)return S("div",{class:zt+" justify-end"},Bi(k));if(k.length!==0)return S("div",{class:zt},k)}function Li(g){P({page:1,rowsPerPage:g.value})}function Bi(g){let k;const{rowsPerPage:I}=C.value,U=e.paginationLabel||n.lang.table.pagination,F=t.pagination,ne=e.rowsPerPageOptions.length>1;if(g.push(S("div",{class:"q-table__separator col"})),ne===!0&&g.push(S("div",{class:"q-table__control"},[S("span",{class:"q-table__bottom-item"},[e.rowsPerPageLabel||n.lang.table.recordsPerPage]),S(Wt,{class:"q-table__select inline q-table__bottom-item",color:e.color,modelValue:I,options:wt.value,displayValue:I===0?n.lang.table.allRows:I,dark:r.value,borderless:!0,dense:!0,optionsDense:!0,optionsCover:!0,"onUpdate:modelValue":Li})])),F!==void 0)k=F(K.value);else if(k=[S("span",I!==0?{class:"q-table__bottom-item"}:{},[I?U(Ie.value+1,Math.min(Ue.value,Xe.value),Xe.value):U(1,ee.value,Xe.value)])],I!==0&&Ce.value>1){const ae={color:e.color,round:!0,dense:!0,flat:!0};e.dense===!0&&(ae.size="sm"),Ce.value>2&&k.push(S(de,{key:"pgFirst",...ae,icon:Lt.value[0],disable:We.value,"aria-label":n.lang.pagination.first,onClick:De})),k.push(S(de,{key:"pgPrev",...ae,icon:Lt.value[1],disable:We.value,"aria-label":n.lang.pagination.prev,onClick:Ye}),S(de,{key:"pgNext",...ae,icon:Lt.value[2],disable:Qe.value,"aria-label":n.lang.pagination.next,onClick:it})),Ce.value>2&&k.push(S(de,{key:"pgLast",...ae,icon:Lt.value[3],disable:Qe.value,"aria-label":n.lang.pagination.last,onClick:Ge}))}return g.push(S("div",{class:"q-table__control"},k)),g}function Ii(){const g=e.gridHeader===!0?[S("table",{class:"q-table"},[Te()])]:e.loading===!0&&t.loading===void 0?j():void 0;return S("div",{class:"q-table__middle"},g)}function Ui(){const g=t.item!==void 0?t.item:k=>{const I=k.cols.map(F=>S("div",{class:"q-table__grid-item-row"},[S("div",{class:"q-table__grid-item-title"},[F.label]),S("div",{class:"q-table__grid-item-value"},[F.value])]));if(oe.value===!0){const F=t["body-selection"],ne=F!==void 0?F(k):[S(Jt,{modelValue:k.selected,color:e.color,dark:r.value,dense:e.dense,"onUpdate:modelValue":(ae,Pe)=>{ge([k.key],[k.row],ae,Pe)}})];I.unshift(S("div",{class:"q-table__grid-item-row"},ne),S(vt,{dark:r.value}))}const U={class:["q-table__grid-item-card"+f.value,e.cardClass],style:e.cardStyle};if(e.cardStyleFn!==void 0&&(U.style=[U.style,e.cardStyleFn(k.row)]),e.cardClassFn!==void 0){const F=e.cardClassFn(k.row);F&&(U.class[0]+=` ${F}`)}return(e.onRowClick!==void 0||e.onRowDblclick!==void 0||e.onRowContextmenu!==void 0)&&(U.class[0]+=" cursor-pointer",e.onRowClick!==void 0&&(U.onClick=F=>{i("RowClick",F,k.row,k.pageIndex)}),e.onRowDblclick!==void 0&&(U.onDblclick=F=>{i("RowDblclick",F,k.row,k.pageIndex)}),e.onRowContextmenu!==void 0&&(U.onContextmenu=F=>{i("rowContextmenu",F,k.row,k.pageIndex)})),S("div",{class:"q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3"+(k.selected===!0?" q-table__grid-item--selected":"")},[S("div",U,I)])};return S("div",{class:["q-table__grid-content row",e.cardContainerClass],style:e.cardContainerStyle},Y.value.map((k,I)=>g(W({key:u.value(k),row:k,pageIndex:I}))))}return Object.assign(a.proxy,{requestServerInteraction:B,setPagination:P,firstPage:De,prevPage:Ye,nextPage:it,lastPage:Ge,isRowSelected:le,clearSelection:xe,isRowExpanded:q,setExpanded:w,sort:be,resetVirtualScroll:ct,scrollTo:D,getCellValue:m}),Yi(a.proxy,{filteredSortedRows:()=>L.value,computedRows:()=>Y.value,computedRowsNumber:()=>Xe.value}),()=>{const g=[yt()],k={ref:v,class:x.value};return e.grid===!0?g.push(Ii()):Object.assign(k,{class:[k.class,e.cardClass],style:e.cardStyle}),g.push(Ke(),Vi()),e.loading===!0&&t.loading!==void 0&&g.push(t.loading()),S("div",k,g)}}});let tn=0;const an=["click","keydown"],rn={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${tn++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function nn(e,t,i,a){const n=Gi(fi,ea);if(n===ea)return console.error("QTab/QRouteTab component needs to be child of QTabs"),ea;const{proxy:r}=Le(),o=$(null),s=$(null),u=$(null),v=T(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),l=T(()=>n.currentModel.value===e.name),d=T(()=>"q-tab relative-position self-stretch flex flex-center text-center"+(l.value===!0?" q-tab--active"+(n.tabProps.value.activeClass?" "+n.tabProps.value.activeClass:"")+(n.tabProps.value.activeColor?` text-${n.tabProps.value.activeColor}`:"")+(n.tabProps.value.activeBgColor?` bg-${n.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&n.tabProps.value.inlineLabel===!1?" q-tab--full":"")+(e.noCaps===!0||n.tabProps.value.noCaps===!0?" q-tab--no-caps":"")+(e.disable===!0?" disabled":" q-focusable q-hoverable cursor-pointer")),f=T(()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(n.tabProps.value.inlineLabel===!0?"row no-wrap q-tab__content--inline":"column")+(e.contentClass!==void 0?` ${e.contentClass}`:"")),b=T(()=>e.disable===!0||n.hasFocus.value===!0||l.value===!1&&n.hasActiveTab.value===!0?-1:e.tabindex||0);function x(P,O){if(O!==!0&&P?.qAvoidFocus!==!0&&o.value?.focus(),e.disable!==!0){n.updateModel({name:e.name}),i("click",P);return}}function _(P){Zi(P,[13,32])?x(P,!0):Ji(P)!==!0&&P.keyCode>=35&&P.keyCode<=40&&P.altKey!==!0&&P.metaKey!==!0&&n.onKbdNavigate(P.keyCode,r.$el)===!0&&Ht(P),i("keydown",P)}function C(){const P=n.tabProps.value.narrowIndicator,O=[],q=S("div",{ref:u,class:["q-tab__indicator",n.tabProps.value.indicatorClass]});e.icon!==void 0&&O.push(S(_e,{class:"q-tab__icon",name:e.icon})),e.label!==void 0&&O.push(S("div",{class:"q-tab__label"},e.label)),e.alert!==!1&&O.push(e.alertIcon!==void 0?S(_e,{class:"q-tab__alert-icon",color:e.alert!==!0?e.alert:void 0,name:e.alertIcon}):S("div",{class:"q-tab__alert"+(e.alert!==!0?` text-${e.alert}`:"")})),P===!0&&O.push(q);const w=[S("div",{class:"q-focus-helper",tabindex:-1,ref:o}),S("div",{class:f.value},Sa(t.default,O))];return P===!1&&w.push(q),w}const A={name:T(()=>e.name),rootRef:s,tabIndicatorRef:u,routeData:a};Vt(()=>{n.unregisterTab(A)}),Gt(()=>{n.registerTab(A)});function B(P,O){const q={ref:s,class:d.value,tabindex:b.value,role:"tab","aria-selected":l.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:x,onKeydown:_,...O};return qe(S(P,q,C()),[[Ki,v.value]])}return{renderTab:B,$tabs:n}}const oa=Ve({name:"QTab",props:rn,emits:an,setup(e,{slots:t,emit:i}){const{renderTab:a}=nn(e,t,i);return()=>a("div")}});function on(e,t,i){const a=i===!0?["left","right"]:["top","bottom"];return`absolute-${t===!0?a[0]:a[1]}${e?` text-${e}`:""}`}const ln=["left","center","right","justify"],sn=Ve({name:"QTabs",props:{modelValue:[Number,String],align:{type:String,default:"center",validator:e=>ln.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:i}){const{proxy:a}=Le(),{$q:n}=a,{registerTick:r}=ta(),{registerTick:o}=ta(),{registerTick:s}=ta(),{registerTimeout:u,removeTimeout:v}=da(),{registerTimeout:l,removeTimeout:d}=da(),f=$(null),b=$(null),x=$(e.modelValue),_=$(!1),C=$(!0),A=$(!1),B=$(!1),P=[],O=$(0),q=$(!1);let w=null,V=null,L;const ee=T(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:on(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),Y=T(()=>{const D=O.value,R=x.value;for(let j=0;j`q-tabs__content--align-${_.value===!0?"left":B.value===!0?"justify":e.align}`),ve=T(()=>`q-tabs row no-wrap items-center q-tabs--${_.value===!0?"":"not-"}scrollable q-tabs--${e.vertical===!0?"vertical":"horizontal"} q-tabs__arrows--${e.outsideArrows===!0?"outside":"inside"} q-tabs--mobile-with${e.mobileArrows===!0?"":"out"}-arrows`+(e.dense===!0?" q-tabs--dense":"")+(e.shrink===!0?" col-shrink":"")+(e.stretch===!0?" self-stretch":"")),he=T(()=>"q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position "+oe.value+(e.contentClass!==void 0?` ${e.contentClass}`:"")),N=T(()=>e.vertical===!0?{container:"height",content:"offsetHeight",scroll:"scrollHeight"}:{container:"width",content:"offsetWidth",scroll:"scrollWidth"}),p=T(()=>e.vertical!==!0&&n.lang.rtl===!0),H=T(()=>mr===!1&&p.value===!0);me(p,pe),me(()=>e.modelValue,D=>{le({name:D,setCurrent:!0,skipEmit:!0})}),me(()=>e.outsideArrows,xe);function le({name:D,setCurrent:R,skipEmit:j}){x.value!==D&&(j!==!0&&e["onUpdate:modelValue"]!==void 0&&i("update:modelValue",D),(R===!0||e["onUpdate:modelValue"]===void 0)&&(Fe(x.value,D),x.value=D))}function xe(){r(()=>{f.value&&ge({width:f.value.offsetWidth,height:f.value.offsetHeight})})}function ge(D){if(N.value===void 0||b.value===null)return;const R=D[N.value.container],j=Math.min(b.value[N.value.scroll],Array.prototype.reduce.call(b.value.children,(G,W)=>G+(W[N.value.content]||0),0)),X=R>0&&j>R;_.value=X,X===!0&&o(pe),B.value=RG.name.value===D):null,X=R!=null&&R!==""?P.find(G=>G.name.value===R):null;if(Ke===!0)Ke=!1;else if(j&&X){const G=j.tabIndicatorRef.value,W=X.tabIndicatorRef.value;w!==null&&(clearTimeout(w),w=null),G.style.transition="none",G.style.transform="none",W.style.transition="none",W.style.transform="none";const z=G.getBoundingClientRect(),h=W.getBoundingClientRect();W.style.transform=e.vertical===!0?`translate3d(0,${z.top-h.top}px,0) scale3d(1,${h.height?z.height/h.height:1},1)`:`translate3d(${z.left-h.left}px,0,0) scale3d(${h.width?z.width/h.width:1},1,1)`,s(()=>{w=setTimeout(()=>{w=null,W.style.transition="transform .25s cubic-bezier(.4, 0, .2, 1)",W.style.transform="none"},70)})}X&&_.value===!0&&te(X.rootRef.value)}function te(D){const{left:R,width:j,top:X,height:G}=b.value.getBoundingClientRect(),W=D.getBoundingClientRect();let z=e.vertical===!0?W.top-X:W.left-R;if(z<0){b.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.floor(z),pe();return}z+=e.vertical===!0?W.height-G:W.width-j,z>0&&(b.value[e.vertical===!0?"scrollTop":"scrollLeft"]+=Math.ceil(z),pe())}function pe(){const D=b.value;if(D===null)return;const R=D.getBoundingClientRect(),j=e.vertical===!0?D.scrollTop:Math.abs(D.scrollLeft);p.value===!0?(C.value=Math.ceil(j+R.width)0):(C.value=j>0,A.value=e.vertical===!0?Math.ceil(j+R.height){We(D)===!0&&be()},5)}function He(){Re(H.value===!0?Number.MAX_SAFE_INTEGER:0)}function Be(){Re(H.value===!0?0:Number.MAX_SAFE_INTEGER)}function be(){V!==null&&(clearInterval(V),V=null)}function Ie(D,R){const j=Array.prototype.filter.call(b.value.children,h=>h===R||h.matches&&h.matches(".q-tab.q-focusable")===!0),X=j.length;if(X===0)return;if(D===36)return te(j[0]),j[0].focus(),!0;if(D===35)return te(j[X-1]),j[X-1].focus(),!0;const G=D===(e.vertical===!0?38:37),W=D===(e.vertical===!0?40:39),z=G===!0?-1:W===!0?1:void 0;if(z!==void 0){const h=p.value===!0?-1:1,c=j.indexOf(R)+z*h;return c>=0&&cH.value===!0?{get:D=>Math.abs(D.scrollLeft),set:(D,R)=>{D.scrollLeft=-R}}:e.vertical===!0?{get:D=>D.scrollTop,set:(D,R)=>{D.scrollTop=R}}:{get:D=>D.scrollLeft,set:(D,R)=>{D.scrollLeft=R}});function We(D){const R=b.value,{get:j,set:X}=Ue.value;let G=!1,W=j(R);const z=D=D)&&(G=!0,W=D),X(R,W),pe(),G}function Qe(D,R){for(const j in D)if(D[j]!==R[j])return!1;return!0}function Ce(){let D=null,R={matchedLen:0,queryDiff:9999,hrefLen:0};const j=P.filter(z=>z.routeData?.hasRouterLink.value===!0),{hash:X,query:G}=a.$route,W=Object.keys(G).length;for(const z of j){const h=z.routeData.exact.value===!0;if(z.routeData[h===!0?"linkIsExactActive":"linkIsActive"].value!==!0)continue;const{hash:c,query:m,matched:K,href:yt}=z.routeData.resolvedLink.value,dt=Object.keys(m).length;if(h===!0){if(c!==X||dt!==W||Qe(G,m)===!1)continue;D=z.name.value;break}if(c!==""&&c!==X||dt!==0&&Qe(m,G)===!1)continue;const Te={matchedLen:K.length,queryDiff:W-dt,hrefLen:yt.length-c.length};if(Te.matchedLen>R.matchedLen){D=z.name.value,R=Te;continue}else if(Te.matchedLen!==R.matchedLen)continue;if(Te.queryDiffR.hrefLen&&(D=z.name.value,R=Te)}if(D===null&&P.some(z=>z.routeData===void 0&&z.name.value===x.value)===!0){Ke=!1;return}le({name:D,setCurrent:!0})}function wt(D){if(v(),q.value!==!0&&f.value!==null&&D.target&&typeof D.target.closest=="function"){const R=D.target.closest(".q-tab");R&&f.value.contains(R)===!0&&(q.value=!0,_.value===!0&&te(R))}}function Xe(){u(()=>{q.value=!1},30)}function De(){rt.avoidRouteWatcher===!1?l(Ce):d()}function Ye(){if(L===void 0){const D=me(()=>a.$route.fullPath,De);L=()=>{D(),L=void 0}}}function it(D){P.push(D),O.value++,xe(),D.routeData===void 0||a.$route===void 0?l(()=>{if(_.value===!0){const R=x.value,j=R!=null&&R!==""?P.find(X=>X.name.value===R):null;j&&te(j.rootRef.value)}}):(Ye(),D.routeData.hasRouterLink.value===!0&&De())}function Ge(D){P.splice(P.indexOf(D),1),O.value--,xe(),L!==void 0&&D.routeData!==void 0&&(P.every(R=>R.routeData===void 0)===!0&&L(),De())}const rt={currentModel:x,tabProps:ee,hasFocus:q,hasActiveTab:Y,registerTab:it,unregisterTab:Ge,verifyRouteModel:De,updateModel:le,onKbdNavigate:Ie,avoidRouteWatcher:!1};er(fi,rt);function ut(){w!==null&&clearTimeout(w),be(),L?.()}let ct,Ke;return Vt(ut),di(()=>{ct=L!==void 0,ut()}),ci(()=>{ct===!0&&(Ye(),Ke=!0,De()),xe()}),()=>S("div",{ref:f,class:ve.value,role:"tablist",onFocusin:wt,onFocusout:Xe},[S(fr,{onResize:ge}),S("div",{ref:b,class:he.value,onScroll:pe},$e(t.default)),S(_e,{class:"q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon"+(C.value===!0?"":" q-tabs__arrow--faded"),name:e.leftIcon||n.iconSet.tabs[e.vertical===!0?"up":"left"],onMousedownPassive:He,onTouchstartPassive:He,onMouseupPassive:be,onMouseleavePassive:be,onTouchendPassive:be}),S(_e,{class:"q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon"+(A.value===!0?"":" q-tabs__arrow--faded"),name:e.rightIcon||n.iconSet.tabs[e.vertical===!0?"down":"right"],onMousedownPassive:Be,onTouchstartPassive:Be,onMouseupPassive:be,onMouseleavePassive:be,onTouchendPassive:be})])}});function un(e){const t=[.06,6,50];return typeof e=="string"&&e.length&&e.split(":").forEach((i,a)=>{const n=parseFloat(i);n&&(t[a]=n)}),t}const cn=tr({name:"touch-swipe",beforeMount(e,{value:t,arg:i,modifiers:a}){if(a.mouse!==!0&&Ct.has.touch!==!0)return;const n=a.mouseCapture===!0?"Capture":"",r={handler:t,sensitivity:un(i),direction:Ba(a),noop:ar,mouseStart(o){Ia(o,r)&&ir(o)&&(It(r,"temp",[[document,"mousemove","move",`notPassive${n}`],[document,"mouseup","end","notPassiveCapture"]]),r.start(o,!0))},touchStart(o){if(Ia(o,r)){const s=o.target;It(r,"temp",[[s,"touchmove","move","notPassiveCapture"],[s,"touchcancel","end","notPassiveCapture"],[s,"touchend","end","notPassiveCapture"]]),r.start(o)}},start(o,s){Ct.is.firefox===!0&&ia(e,!0);const u=Aa(o);r.event={x:u.left,y:u.top,time:Date.now(),mouse:s===!0,dir:!1}},move(o){if(r.event===void 0)return;if(r.event.dir!==!1){Ht(o);return}const s=Date.now()-r.event.time;if(s===0)return;const u=Aa(o),v=u.left-r.event.x,l=Math.abs(v),d=u.top-r.event.y,f=Math.abs(d);if(r.event.mouse!==!0){if(lr.sensitivity[0]&&(r.event.dir=d<0?"up":"down"),r.direction.horizontal===!0&&l>f&&f<100&&b>r.sensitivity[0]&&(r.event.dir=v<0?"left":"right"),r.direction.up===!0&&lr.sensitivity[0]&&(r.event.dir="up"),r.direction.down===!0&&l0&&l<100&&x>r.sensitivity[0]&&(r.event.dir="down"),r.direction.left===!0&&l>f&&v<0&&f<100&&b>r.sensitivity[0]&&(r.event.dir="left"),r.direction.right===!0&&l>f&&v>0&&f<100&&b>r.sensitivity[0]&&(r.event.dir="right"),r.event.dir!==!1?(Ht(o),r.event.mouse===!0&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),pr(),r.styleCleanup=_=>{r.styleCleanup=void 0,document.body.classList.remove("non-selectable");const C=()=>{document.body.classList.remove("no-pointer-events--children")};_===!0?setTimeout(C,50):C()}),r.handler({evt:o,touch:r.event.mouse!==!0,mouse:r.event.mouse,direction:r.event.dir,duration:s,distance:{x:l,y:f}})):r.end(o)},end(o){r.event!==void 0&&(aa(r,"temp"),Ct.is.firefox===!0&&ia(e,!1),r.styleCleanup?.(!0),o!==void 0&&r.event.dir!==!1&&Ht(o),r.event=void 0)}};if(e.__qtouchswipe=r,a.mouse===!0){const o=a.mouseCapture===!0||a.mousecapture===!0?"Capture":"";It(r,"main",[[e,"mousedown","mouseStart",`passive${o}`]])}Ct.has.touch===!0&&It(r,"main",[[e,"touchstart","touchStart",`passive${a.capture===!0?"Capture":""}`],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){const i=e.__qtouchswipe;i!==void 0&&(t.oldValue!==t.value&&(typeof t.value!="function"&&i.end(),i.handler=t.value),i.direction=Ba(t.modifiers))},beforeUnmount(e){const t=e.__qtouchswipe;t!==void 0&&(aa(t,"main"),aa(t,"temp"),Ct.is.firefox===!0&&ia(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function dn(){let e=Object.create(null);return{getCache:(t,i)=>e[t]===void 0?e[t]=typeof i=="function"?i():i:e[t],setCache(t,i){e[t]=i},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t!==void 0?delete e[t]:e=Object.create(null)}}}const fn={name:{required:!0},disable:Boolean},$a={setup(e,{slots:t}){return()=>S("div",{class:"q-panel scroll",role:"tabpanel"},$e(t.default))}},hn={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},vn=["update:modelValue","beforeTransition","transition"];function mn(){const{props:e,emit:t,proxy:i}=Le(),{getCache:a}=dn(),{registerTimeout:n}=da();let r,o;const s=$(null),u={value:null};function v(N){const p=e.vertical===!0?"up":"left";L((i.$q.lang.rtl===!0?-1:1)*(N.direction===p?1:-1))}const l=T(()=>[[cn,v,void 0,{horizontal:e.vertical!==!0,vertical:e.vertical,mouse:!0}]]),d=T(()=>e.transitionPrev||`slide-${e.vertical===!0?"down":"right"}`),f=T(()=>e.transitionNext||`slide-${e.vertical===!0?"up":"left"}`),b=T(()=>`--q-transition-duration: ${e.transitionDuration}ms`),x=T(()=>typeof e.modelValue=="string"||typeof e.modelValue=="number"?e.modelValue:String(e.modelValue)),_=T(()=>({include:e.keepAliveInclude,exclude:e.keepAliveExclude,max:e.keepAliveMax})),C=T(()=>e.keepAliveInclude!==void 0||e.keepAliveExclude!==void 0);me(()=>e.modelValue,(N,p)=>{const H=O(N)===!0?q(N):-1;o!==!0&&V(H===-1?0:H{t("transition",N,p)},e.transitionDuration))});function A(){L(1)}function B(){L(-1)}function P(N){t("update:modelValue",N)}function O(N){return N!=null&&N!==""}function q(N){return r.findIndex(p=>p.props.name===N&&p.props.disable!==""&&p.props.disable!==!0)}function w(){return r.filter(N=>N.props.disable!==""&&N.props.disable!==!0)}function V(N){const p=N!==0&&e.animated===!0&&u.value!==-1?"q-transition--"+(N===-1?d.value:f.value):null;s.value!==p&&(s.value=p)}function L(N,p=u.value){let H=p+N;for(;H!==-1&&H{o=!1});return}H+=N}e.infinite===!0&&r.length!==0&&p!==-1&&p!==r.length&&L(N,N===-1?r.length:-1)}function ee(){const N=q(e.modelValue);return u.value!==N&&(u.value=N),!0}function Y(){const N=O(e.modelValue)===!0&&ee()&&r[u.value];return e.keepAlive===!0?[S(or,_.value,[S(C.value===!0?a(x.value,()=>({...$a,name:x.value})):$a,{key:x.value,style:b.value},()=>N)])]:[S("div",{class:"q-panel scroll",style:b.value,key:x.value,role:"tabpanel"},[N])]}function oe(){if(r.length!==0)return e.animated===!0?[S(rr,{name:s.value},Y)]:Y()}function ve(N){return r=nr($e(N.default,[])).filter(p=>p.props!==null&&p.props.slot===void 0&&O(p.props.name)===!0),r.length}function he(){return r}return Object.assign(i,{next:A,previous:B,goTo:P}),{panelIndex:u,panelDirectives:l,updatePanelsList:ve,updatePanelIndex:ee,getPanelContent:oe,getEnabledPanels:w,getPanels:he,isValidPanelName:O,keepAliveProps:_,needsUniqueKeepAliveWrapper:C,goToPanelByOffset:L,goToPanel:P,nextPanel:A,previousPanel:B}}const la=Ve({name:"QTabPanel",props:fn,setup(e,{slots:t}){return()=>S("div",{class:"q-tab-panel",role:"tabpanel"},$e(t.default))}}),gn=Ve({name:"QTabPanels",props:{...hn,...Xt},emits:vn,setup(e,{slots:t}){const i=Le(),a=Yt(e,i.proxy.$q),{updatePanelsList:n,getPanelContent:r,panelDirectives:o}=mn(),s=T(()=>"q-tab-panels q-panel-parent"+(a.value===!0?" q-tab-panels--dark q-dark":""));return()=>(n(t),lr("div",{class:s.value},r(),"pan",e.swipeable,()=>o.value))}});function Fa(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),i.push.apply(i,a)}return i}function bi(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,a=new Array(t);i
',An=Number.isNaN||Oe.isNaN;function Q(e){return typeof e=="number"&&!An(e)}var ii=function(t){return t>0&&t<1/0};function sa(e){return typeof e>"u"}function st(e){return ha(e)==="object"&&e!==null}var On=Object.prototype.hasOwnProperty;function mt(e){if(!st(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&On.call(i,"isPrototypeOf")}catch{return!1}}function we(e){return typeof e=="function"}var Vn=Array.prototype.slice;function ki(e){return Array.from?Array.from(e):Vn.call(e)}function se(e,t){return e&&we(t)&&(Array.isArray(e)||Q(e.length)?ki(e).forEach(function(i,a){t.call(e,i,a,e)}):st(e)&&Object.keys(e).forEach(function(i){t.call(e,e[i],i,e)})),e}var J=Object.assign||function(t){for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n0&&a.forEach(function(r){st(r)&&Object.keys(r).forEach(function(o){t[o]=r[o]})}),t},Ln=/\.\d*(?:0|9){12}\d*$/;function pt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Ln.test(e)?Math.round(e*t)/t:e}var Bn=/^width|height|left|top|marginLeft|marginTop$/;function tt(e,t){var i=e.style;se(t,function(a,n){Bn.test(n)&&Q(a)&&(a="".concat(a,"px")),i[n]=a})}function In(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function fe(e,t){if(t){if(Q(e.length)){se(e,function(a){fe(a,t)});return}if(e.classList){e.classList.add(t);return}var i=e.className.trim();i?i.indexOf(t)<0&&(e.className="".concat(i," ").concat(t)):e.className=t}}function Ae(e,t){if(t){if(Q(e.length)){se(e,function(i){Ae(i,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,""))}}function gt(e,t,i){if(t){if(Q(e.length)){se(e,function(a){gt(a,t,i)});return}i?fe(e,t):Ae(e,t)}}var Un=/([a-z\d])([A-Z])/g;function Ma(e){return e.replace(Un,"$1-$2").toLowerCase()}function Ca(e,t){return st(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(Ma(t)))}function Ot(e,t,i){st(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-".concat(Ma(t)),i)}function jn(e,t){if(st(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute("data-".concat(Ma(t)))}var Mi=/\s\s*/,Ei=(function(){var e=!1;if(Kt){var t=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(r){t=r}});Oe.addEventListener("test",i,a),Oe.removeEventListener("test",i,a)}return e})();function Me(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(Mi).forEach(function(r){if(!Ei){var o=e.listeners;o&&o[r]&&o[r][i]&&(n=o[r][i],delete o[r][i],Object.keys(o[r]).length===0&&delete o[r],Object.keys(o).length===0&&delete e.listeners)}e.removeEventListener(r,n,a)})}function Se(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(Mi).forEach(function(r){if(a.once&&!Ei){var o=e.listeners,s=o===void 0?{}:o;n=function(){delete s[r][i],e.removeEventListener(r,n,a);for(var v=arguments.length,l=new Array(v),d=0;dMath.abs(i)&&(i=f)})}),i}function Ft(e,t){var i=e.pageX,a=e.pageY,n={endX:i,endY:a};return t?n:bi({startX:i,startY:a},n)}function Fn(e){var t=0,i=0,a=0;return se(e,function(n){var r=n.startX,o=n.startY;t+=r,i+=o,a+=1}),t/=a,i/=a,{pageX:t,pageY:i}}function at(e){var t=e.aspectRatio,i=e.height,a=e.width,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=ii(a),o=ii(i);if(r&&o){var s=i*t;n==="contain"&&s>a||n==="cover"&&s90?{width:u,height:s}:{width:s,height:u}}function Wn(e,t,i,a){var n=t.aspectRatio,r=t.naturalWidth,o=t.naturalHeight,s=t.rotate,u=s===void 0?0:s,v=t.scaleX,l=v===void 0?1:v,d=t.scaleY,f=d===void 0?1:d,b=i.aspectRatio,x=i.naturalWidth,_=i.naturalHeight,C=a.fillColor,A=C===void 0?"transparent":C,B=a.imageSmoothingEnabled,P=B===void 0?!0:B,O=a.imageSmoothingQuality,q=O===void 0?"low":O,w=a.maxWidth,V=w===void 0?1/0:w,L=a.maxHeight,ee=L===void 0?1/0:L,Y=a.minWidth,oe=Y===void 0?0:Y,ve=a.minHeight,he=ve===void 0?0:ve,N=document.createElement("canvas"),p=N.getContext("2d"),H=at({aspectRatio:b,width:V,height:ee}),le=at({aspectRatio:b,width:oe,height:he},"cover"),xe=Math.min(H.width,Math.max(le.width,x)),ge=Math.min(H.height,Math.max(le.height,_)),Fe=at({aspectRatio:n,width:V,height:ee}),te=at({aspectRatio:n,width:oe,height:he},"cover"),pe=Math.min(Fe.width,Math.max(te.width,r)),Re=Math.min(Fe.height,Math.max(te.height,o)),He=[-pe/2,-Re/2,pe,Re];return N.width=pt(xe),N.height=pt(ge),p.fillStyle=A,p.fillRect(0,0,xe,ge),p.save(),p.translate(xe/2,ge/2),p.rotate(u*Math.PI/180),p.scale(l,f),p.imageSmoothingEnabled=P,p.imageSmoothingQuality=q,p.drawImage.apply(p,[e].concat(yi(He.map(function(Be){return Math.floor(pt(Be))})))),p.restore(),N}var Ni=String.fromCharCode;function Qn(e,t,i){var a="";i+=t;for(var n=t;n0;)i.push(Ni.apply(null,ki(n.subarray(0,a)))),n=n.subarray(a);return"data:".concat(t,";base64,").concat(btoa(i.join("")))}function Kn(e){var t=new DataView(e),i;try{var a,n,r;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,s=2;s+1=8&&(r=v+d)}}}if(r){var f=t.getUint16(r,a),b,x;for(x=0;x=0?r:Ti),height:Math.max(a.offsetHeight,o>=0?o:Pi)};this.containerData=s,tt(n,{width:s.width,height:s.height}),fe(t,ye),Ae(n,ye)},initCanvas:function(){var t=this.containerData,i=this.imageData,a=this.options.viewMode,n=Math.abs(i.rotate)%180===90,r=n?i.naturalHeight:i.naturalWidth,o=n?i.naturalWidth:i.naturalHeight,s=r/o,u=t.width,v=t.height;t.height*s>t.width?a===3?u=t.height*s:v=t.width/s:a===3?v=t.width/s:u=t.height*s;var l={aspectRatio:s,naturalWidth:r,naturalHeight:o,width:u,height:v};this.canvasData=l,this.limited=a===1||a===2,this.limitCanvas(!0,!0),l.width=Math.min(Math.max(l.width,l.minWidth),l.maxWidth),l.height=Math.min(Math.max(l.height,l.minHeight),l.maxHeight),l.left=(t.width-l.width)/2,l.top=(t.height-l.height)/2,l.oldLeft=l.left,l.oldTop=l.top,this.initialCanvasData=J({},l)},limitCanvas:function(t,i){var a=this.options,n=this.containerData,r=this.canvasData,o=this.cropBoxData,s=a.viewMode,u=r.aspectRatio,v=this.cropped&&o;if(t){var l=Number(a.minCanvasWidth)||0,d=Number(a.minCanvasHeight)||0;s>1?(l=Math.max(l,n.width),d=Math.max(d,n.height),s===3&&(d*u>l?l=d*u:d=l/u)):s>0&&(l?l=Math.max(l,v?o.width:0):d?d=Math.max(d,v?o.height:0):v&&(l=o.width,d=o.height,d*u>l?l=d*u:d=l/u));var f=at({aspectRatio:u,width:l,height:d});l=f.width,d=f.height,r.minWidth=l,r.minHeight=d,r.maxWidth=1/0,r.maxHeight=1/0}if(i)if(s>(v?0:1)){var b=n.width-r.width,x=n.height-r.height;r.minLeft=Math.min(0,b),r.minTop=Math.min(0,x),r.maxLeft=Math.max(0,b),r.maxTop=Math.max(0,x),v&&this.limited&&(r.minLeft=Math.min(o.left,o.left+(o.width-r.width)),r.minTop=Math.min(o.top,o.top+(o.height-r.height)),r.maxLeft=o.left,r.maxTop=o.top,s===2&&(r.width>=n.width&&(r.minLeft=Math.min(0,b),r.maxLeft=Math.max(0,b)),r.height>=n.height&&(r.minTop=Math.min(0,x),r.maxTop=Math.max(0,x))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=n.width,r.maxTop=n.height},renderCanvas:function(t,i){var a=this.canvasData,n=this.imageData;if(i){var r=Hn({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),o=r.width,s=r.height,u=a.width*(o/a.naturalWidth),v=a.height*(s/a.naturalHeight);a.left-=(u-a.width)/2,a.top-=(v-a.height)/2,a.width=u,a.height=v,a.aspectRatio=o/s,a.naturalWidth=o,a.naturalHeight=s,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighti.width?r.height=r.width/a:r.width=r.height*a),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*n),r.height=Math.max(r.minHeight,r.height*n),r.left=i.left+(i.width-r.width)/2,r.top=i.top+(i.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=J({},r)},limitCropBox:function(t,i){var a=this.options,n=this.containerData,r=this.canvasData,o=this.cropBoxData,s=this.limited,u=a.aspectRatio;if(t){var v=Number(a.minCropBoxWidth)||0,l=Number(a.minCropBoxHeight)||0,d=s?Math.min(n.width,r.width,r.width+r.left,n.width-r.left):n.width,f=s?Math.min(n.height,r.height,r.height+r.top,n.height-r.top):n.height;v=Math.min(v,n.width),l=Math.min(l,n.height),u&&(v&&l?l*u>v?l=v/u:v=l*u:v?l=v/u:l&&(v=l*u),f*u>d?f=d/u:d=f*u),o.minWidth=Math.min(v,d),o.minHeight=Math.min(l,f),o.maxWidth=d,o.maxHeight=f}i&&(s?(o.minLeft=Math.max(0,r.left),o.minTop=Math.max(0,r.top),o.maxLeft=Math.min(n.width,r.left+r.width)-o.width,o.maxTop=Math.min(n.height,r.top+r.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=n.width-o.width,o.maxTop=n.height-o.height))},renderCropBox:function(){var t=this.options,i=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=i.width&&a.height>=i.height?Ci:Pa),tt(this.cropBox,J({width:a.width,height:a.height},qt({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),bt(this.element,pa,this.getData())}},eo={initPreview:function(){var t=this.element,i=this.crossOrigin,a=this.options.preview,n=i?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",o=document.createElement("img");if(i&&(o.crossOrigin=i),o.src=n,o.alt=r,this.viewBox.appendChild(o),this.viewBoxImage=o,!!a){var s=a;typeof a=="string"?s=t.ownerDocument.querySelectorAll(a):a.querySelector&&(s=[a]),this.previews=s,se(s,function(u){var v=document.createElement("img");Ot(u,$t,{width:u.offsetWidth,height:u.offsetHeight,html:u.innerHTML}),i&&(v.crossOrigin=i),v.src=n,v.alt=r,v.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',u.innerHTML="",u.appendChild(v)})}},resetPreview:function(){se(this.previews,function(t){var i=Ca(t,$t);tt(t,{width:i.width,height:i.height}),t.innerHTML=i.html,jn(t,$t)})},preview:function(){var t=this.imageData,i=this.canvasData,a=this.cropBoxData,n=a.width,r=a.height,o=t.width,s=t.height,u=a.left-i.left-t.left,v=a.top-i.top-t.top;!this.cropped||this.disabled||(tt(this.viewBoxImage,J({width:o,height:s},qt(J({translateX:-u,translateY:-v},t)))),se(this.previews,function(l){var d=Ca(l,$t),f=d.width,b=d.height,x=f,_=b,C=1;n&&(C=f/n,_=r*C),r&&_>b&&(C=b/r,x=n*C,_=b),tt(l,{width:x,height:_}),tt(l.getElementsByTagName("img")[0],J({width:o*C,height:s*C},qt(J({translateX:-u*C,translateY:-v*C},t))))}))}},to={bind:function(){var t=this.element,i=this.options,a=this.cropper;we(i.cropstart)&&Se(t,ya,i.cropstart),we(i.cropmove)&&Se(t,wa,i.cropmove),we(i.cropend)&&Se(t,ba,i.cropend),we(i.crop)&&Se(t,pa,i.crop),we(i.zoom)&&Se(t,xa,i.zoom),Se(a,Ya,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&Se(a,ei,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Se(a,Xa,this.onDblclick=this.dblclick.bind(this)),Se(t.ownerDocument,Ga,this.onCropMove=this.cropMove.bind(this)),Se(t.ownerDocument,Ka,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&Se(window,Ja,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,a=this.cropper;we(i.cropstart)&&Me(t,ya,i.cropstart),we(i.cropmove)&&Me(t,wa,i.cropmove),we(i.cropend)&&Me(t,ba,i.cropend),we(i.crop)&&Me(t,pa,i.crop),we(i.zoom)&&Me(t,xa,i.zoom),Me(a,Ya,this.onCropStart),i.zoomable&&i.zoomOnWheel&&Me(a,ei,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Me(a,Xa,this.onDblclick),Me(t.ownerDocument,Ga,this.onCropMove),Me(t.ownerDocument,Ka,this.onCropEnd),i.responsive&&Me(window,Ja,this.onResize)}},ao={resize:function(){if(!this.disabled){var t=this.options,i=this.container,a=this.containerData,n=i.offsetWidth/a.width,r=i.offsetHeight/a.height,o=Math.abs(n-1)>Math.abs(r-1)?n:r;if(o!==1){var s,u;t.restore&&(s=this.getCanvasData(),u=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(se(s,function(v,l){s[l]=v*o})),this.setCropBoxData(se(u,function(v,l){u[l]=v*o})))}}},dblclick:function(){this.disabled||this.options.dragMode===Di||this.setDragMode(In(this.dragBox,ma)?_i:ka)},wheel:function(t){var i=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){var i=t.buttons,a=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(Q(i)&&i!==1||Q(a)&&a!==0||t.ctrlKey))){var n=this.options,r=this.pointers,o;t.changedTouches?se(t.changedTouches,function(s){r[s.identifier]=Ft(s)}):r[t.pointerId||0]=Ft(t),Object.keys(r).length>1&&n.zoomable&&n.zoomOnTouch?o=Si:o=Ca(t.target,At),Mn.test(o)&&bt(this.element,ya,{originalEvent:t,action:o})!==!1&&(t.preventDefault(),this.action=o,this.cropping=!1,o===xi&&(this.cropping=!0,fe(this.dragBox,Qt)))}},cropMove:function(t){var i=this.action;if(!(this.disabled||!i)){var a=this.pointers;t.preventDefault(),bt(this.element,wa,{originalEvent:t,action:i})!==!1&&(t.changedTouches?se(t.changedTouches,function(n){J(a[n.identifier]||{},Ft(n,!0))}):J(a[t.pointerId||0]||{},Ft(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,a=this.pointers;t.changedTouches?se(t.changedTouches,function(n){delete a[n.identifier]}):delete a[t.pointerId||0],i&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,gt(this.dragBox,Qt,this.cropped&&this.options.modal)),bt(this.element,ba,{originalEvent:t,action:i}))}}},io={change:function(t){var i=this.options,a=this.canvasData,n=this.containerData,r=this.cropBoxData,o=this.pointers,s=this.action,u=i.aspectRatio,v=r.left,l=r.top,d=r.width,f=r.height,b=v+d,x=l+f,_=0,C=0,A=n.width,B=n.height,P=!0,O;!u&&t.shiftKey&&(u=d&&f?d/f:1),this.limited&&(_=r.minLeft,C=r.minTop,A=_+Math.min(n.width,a.width,a.left+a.width),B=C+Math.min(n.height,a.height,a.top+a.height));var q=o[Object.keys(o)[0]],w={x:q.endX-q.startX,y:q.endY-q.startY},V=function(ee){switch(ee){case ot:b+w.x>A&&(w.x=A-b);break;case lt:v+w.x<_&&(w.x=_-v);break;case et:l+w.yB&&(w.y=B-x);break}};switch(s){case Pa:v+=w.x,l+=w.y;break;case ot:if(w.x>=0&&(b>=A||u&&(l<=C||x>=B))){P=!1;break}V(ot),d+=w.x,d<0&&(s=lt,d=-d,v-=d),u&&(f=d/u,l+=(r.height-f)/2);break;case et:if(w.y<=0&&(l<=C||u&&(v<=_||b>=A))){P=!1;break}V(et),f-=w.y,l+=w.y,f<0&&(s=ht,f=-f,l-=f),u&&(d=f*u,v+=(r.width-d)/2);break;case lt:if(w.x<=0&&(v<=_||u&&(l<=C||x>=B))){P=!1;break}V(lt),d-=w.x,v+=w.x,d<0&&(s=ot,d=-d,v-=d),u&&(f=d/u,l+=(r.height-f)/2);break;case ht:if(w.y>=0&&(x>=B||u&&(v<=_||b>=A))){P=!1;break}V(ht),f+=w.y,f<0&&(s=et,f=-f,l-=f),u&&(d=f*u,v+=(r.width-d)/2);break;case kt:if(u){if(w.y<=0&&(l<=C||b>=A)){P=!1;break}V(et),f-=w.y,l+=w.y,d=f*u}else V(et),V(ot),w.x>=0?bC&&(f-=w.y,l+=w.y):(f-=w.y,l+=w.y);d<0&&f<0?(s=Rt,f=-f,d=-d,l-=f,v-=d):d<0?(s=Mt,d=-d,v-=d):f<0&&(s=Et,f=-f,l-=f);break;case Mt:if(u){if(w.y<=0&&(l<=C||v<=_)){P=!1;break}V(et),f-=w.y,l+=w.y,d=f*u,v+=r.width-d}else V(et),V(lt),w.x<=0?v>_?(d-=w.x,v+=w.x):w.y<=0&&l<=C&&(P=!1):(d-=w.x,v+=w.x),w.y<=0?l>C&&(f-=w.y,l+=w.y):(f-=w.y,l+=w.y);d<0&&f<0?(s=Et,f=-f,d=-d,l-=f,v-=d):d<0?(s=kt,d=-d,v-=d):f<0&&(s=Rt,f=-f,l-=f);break;case Rt:if(u){if(w.x<=0&&(v<=_||x>=B)){P=!1;break}V(lt),d-=w.x,v+=w.x,f=d/u}else V(ht),V(lt),w.x<=0?v>_?(d-=w.x,v+=w.x):w.y>=0&&x>=B&&(P=!1):(d-=w.x,v+=w.x),w.y>=0?x=0&&(b>=A||x>=B)){P=!1;break}V(ot),d+=w.x,f=d/u}else V(ht),V(ot),w.x>=0?b=0&&x>=B&&(P=!1):d+=w.x,w.y>=0?x0?s=w.y>0?Et:kt:w.x<0&&(v-=d,s=w.y>0?Rt:Mt),w.y<0&&(l-=f),this.cropped||(Ae(this.cropBox,ye),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}P&&(r.width=d,r.height=f,r.left=v,r.top=l,this.action=s,this.renderCropBox()),se(o,function(L){L.startX=L.endX,L.startY=L.endY})}},ro={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&fe(this.dragBox,Qt),Ae(this.cropBox,ye),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=J({},this.initialImageData),this.canvasData=J({},this.initialCanvasData),this.cropBoxData=J({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(J(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Ae(this.dragBox,Qt),fe(this.cropBox,ye)),this},replace:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,se(this.previews,function(a){a.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Ae(this.cropper,Wa)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,fe(this.cropper,Wa)),this},destroy:function(){var t=this.element;return t[Z]?(t[Z]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=a.left,r=a.top;return this.moveTo(sa(t)?t:n+Number(t),sa(i)?i:r+Number(i))},moveTo:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(Q(t)&&(a.left=t,n=!0),Q(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var a=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(a.width*t/a.naturalWidth,null,i)},zoomTo:function(t,i,a){var n=this.options,r=this.canvasData,o=r.width,s=r.height,u=r.naturalWidth,v=r.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var l=u*t,d=v*t;if(bt(this.element,xa,{ratio:t,oldRatio:o/u,originalEvent:a})===!1)return this;if(a){var f=this.pointers,b=Ri(this.cropper),x=f&&Object.keys(f).length?Fn(f):{pageX:a.pageX,pageY:a.pageY};r.left-=(l-o)*((x.pageX-b.left-r.left)/o),r.top-=(d-s)*((x.pageY-b.top-r.top)/s)}else mt(i)&&Q(i.x)&&Q(i.y)?(r.left-=(l-o)*((i.x-r.left)/o),r.top-=(d-s)*((i.y-r.top)/s)):(r.left-=(l-o)/2,r.top-=(d-s)/2);r.width=l,r.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),Q(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,Q(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(Q(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(Q(t)&&(a.scaleX=t,n=!0),Q(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=this.options,a=this.imageData,n=this.canvasData,r=this.cropBoxData,o;if(this.ready&&this.cropped){o={x:r.left-n.left,y:r.top-n.top,width:r.width,height:r.height};var s=a.width/a.naturalWidth;if(se(o,function(l,d){o[d]=l/s}),t){var u=Math.round(o.y+o.height),v=Math.round(o.x+o.width);o.x=Math.round(o.x),o.y=Math.round(o.y),o.width=v-o.x,o.height=u-o.y}}else o={x:0,y:0,width:0,height:0};return i.rotatable&&(o.rotate=a.rotate||0),i.scalable&&(o.scaleX=a.scaleX||1,o.scaleY=a.scaleY||1),o},setData:function(t){var i=this.options,a=this.imageData,n=this.canvasData,r={};if(this.ready&&!this.disabled&&mt(t)){var o=!1;i.rotatable&&Q(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,o=!0),i.scalable&&(Q(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,o=!0),Q(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var s=a.width/a.naturalWidth;Q(t.x)&&(r.left=t.x*s+n.left),Q(t.y)&&(r.top=t.y*s+n.top),Q(t.width)&&(r.width=t.width*s),Q(t.height)&&(r.height=t.height*s),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?J({},this.containerData):{}},getImageData:function(){return this.sized?J({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&se(["left","top","width","height","naturalWidth","naturalHeight"],function(a){i[a]=t[a]}),i},setCanvasData:function(t){var i=this.canvasData,a=i.aspectRatio;return this.ready&&!this.disabled&&mt(t)&&(Q(t.left)&&(i.left=t.left),Q(t.top)&&(i.top=t.top),Q(t.width)?(i.width=t.width,i.height=t.width/a):Q(t.height)&&(i.height=t.height,i.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,i;return this.ready&&this.cropped&&(i={left:t.left,top:t.top,width:t.width,height:t.height}),i||{}},setCropBoxData:function(t){var i=this.cropBoxData,a=this.options.aspectRatio,n,r;return this.ready&&this.cropped&&!this.disabled&&mt(t)&&(Q(t.left)&&(i.left=t.left),Q(t.top)&&(i.top=t.top),Q(t.width)&&t.width!==i.width&&(n=!0,i.width=t.width),Q(t.height)&&t.height!==i.height&&(r=!0,i.height=t.height),a&&(n?i.height=i.width/a:r&&(i.width=i.height*a)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,a=Wn(this.image,this.imageData,i,t);if(!this.cropped)return a;var n=this.getData(t.rounded),r=n.x,o=n.y,s=n.width,u=n.height,v=a.width/Math.floor(i.naturalWidth);v!==1&&(r*=v,o*=v,s*=v,u*=v);var l=s/u,d=at({aspectRatio:l,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),f=at({aspectRatio:l,width:t.minWidth||0,height:t.minHeight||0},"cover"),b=at({aspectRatio:l,width:t.width||(v!==1?a.width:s),height:t.height||(v!==1?a.height:u)}),x=b.width,_=b.height;x=Math.min(d.width,Math.max(f.width,x)),_=Math.min(d.height,Math.max(f.height,_));var C=document.createElement("canvas"),A=C.getContext("2d");C.width=pt(x),C.height=pt(_),A.fillStyle=t.fillColor||"transparent",A.fillRect(0,0,x,_);var B=t.imageSmoothingEnabled,P=B===void 0?!0:B,O=t.imageSmoothingQuality;A.imageSmoothingEnabled=P,O&&(A.imageSmoothingQuality=O);var q=a.width,w=a.height,V=r,L=o,ee,Y,oe,ve,he,N;V<=-s||V>q?(V=0,ee=0,oe=0,he=0):V<=0?(oe=-V,V=0,ee=Math.min(q,s+V),he=ee):V<=q&&(oe=0,ee=Math.min(s,q-V),he=ee),ee<=0||L<=-u||L>w?(L=0,Y=0,ve=0,N=0):L<=0?(ve=-L,L=0,Y=Math.min(w,u+L),N=Y):L<=w&&(ve=0,Y=Math.min(u,w-L),N=Y);var p=[V,L,ee,Y];if(he>0&&N>0){var H=x/s;p.push(oe*H,ve*H,he*H,N*H)}return A.drawImage.apply(A,[a].concat(yi(p.map(function(le){return Math.floor(pt(le))})))),C},setAspectRatio:function(t){var i=this.options;return!this.disabled&&!sa(t)&&(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var r=t===ka,o=i.movable&&t===_i;t=r||o?t:Di,i.dragMode=t,Ot(a,At,t),gt(a,ma,r),gt(a,ga,o),i.cropBoxMovable||(Ot(n,At,t),gt(n,ma,r),gt(n,ga,o))}return this}},no=Oe.Cropper,qi=(function(){function e(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(bn(this,e),!t||!Nn.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=J({},ai,mt(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return wn(e,[{key:"init",value:function(){var i=this.element,a=i.tagName.toLowerCase(),n;if(!i[Z]){if(i[Z]=this,a==="img"){if(this.isImg=!0,n=i.getAttribute("src")||"",this.originalUrl=n,!n)return;n=i.src}else a==="canvas"&&window.HTMLCanvasElement&&(n=i.toDataURL());this.load(n)}}},{key:"load",value:function(i){var a=this;if(i){this.url=i,this.imageData={};var n=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(En.test(i)){Rn.test(i)?this.read(Yn(i)):this.clone();return}var o=new XMLHttpRequest,s=this.clone.bind(this);this.reloading=!0,this.xhr=o,o.onabort=s,o.onerror=s,o.ontimeout=s,o.onprogress=function(){o.getResponseHeader("content-type")!==ti&&o.abort()},o.onload=function(){a.read(o.response)},o.onloadend=function(){a.reloading=!1,a.xhr=null},r.checkCrossOrigin&&ri(i)&&n.crossOrigin&&(i=ni(i)),o.open("GET",i,!0),o.responseType="arraybuffer",o.withCredentials=n.crossOrigin==="use-credentials",o.send()}}},{key:"read",value:function(i){var a=this.options,n=this.imageData,r=Kn(i),o=0,s=1,u=1;if(r>1){this.url=Gn(i,ti);var v=Zn(r);o=v.rotate,s=v.scaleX,u=v.scaleY}a.rotatable&&(n.rotate=o),a.scalable&&(n.scaleX=s,n.scaleY=u),this.clone()}},{key:"clone",value:function(){var i=this.element,a=this.url,n=i.crossOrigin,r=a;this.options.checkCrossOrigin&&ri(a)&&(n||(n="anonymous"),r=ni(a)),this.crossOrigin=n,this.crossOriginUrl=r;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=r||a,o.alt=i.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),fe(o,Qa),i.parentNode.insertBefore(o,i.nextSibling)}},{key:"start",value:function(){var i=this,a=this.image;a.onload=null,a.onerror=null,this.sizing=!0;var n=Oe.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(Oe.navigator.userAgent),r=function(v,l){J(i.imageData,{naturalWidth:v,naturalHeight:l,aspectRatio:v/l}),i.initialImageData=J({},i.imageData),i.sizing=!1,i.sized=!0,i.build()};if(a.naturalWidth&&!n){r(a.naturalWidth,a.naturalHeight);return}var o=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){r(o.width,o.height),n||s.removeChild(o)},o.src=a.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",s.appendChild(o))}},{key:"stop",value:function(){var i=this.image;i.onload=null,i.onerror=null,i.parentNode.removeChild(i),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var i=this.element,a=this.options,n=this.image,r=i.parentNode,o=document.createElement("div");o.innerHTML=qn;var s=o.querySelector(".".concat(Z,"-container")),u=s.querySelector(".".concat(Z,"-canvas")),v=s.querySelector(".".concat(Z,"-drag-box")),l=s.querySelector(".".concat(Z,"-crop-box")),d=l.querySelector(".".concat(Z,"-face"));this.container=r,this.cropper=s,this.canvas=u,this.dragBox=v,this.cropBox=l,this.viewBox=s.querySelector(".".concat(Z,"-view-box")),this.face=d,u.appendChild(n),fe(i,ye),r.insertBefore(s,i.nextSibling),Ae(n,Qa),this.initPreview(),this.bind(),a.initialAspectRatio=Math.max(0,a.initialAspectRatio)||NaN,a.aspectRatio=Math.max(0,a.aspectRatio)||NaN,a.viewMode=Math.max(0,Math.min(3,Math.round(a.viewMode)))||0,fe(l,ye),a.guides||fe(l.getElementsByClassName("".concat(Z,"-dashed")),ye),a.center||fe(l.getElementsByClassName("".concat(Z,"-center")),ye),a.background&&fe(s,"".concat(Z,"-bg")),a.highlight||fe(d,Dn),a.cropBoxMovable&&(fe(d,ga),Ot(d,At,Pa)),a.cropBoxResizable||(fe(l.getElementsByClassName("".concat(Z,"-line")),ye),fe(l.getElementsByClassName("".concat(Z,"-point")),ye)),this.render(),this.ready=!0,this.setDragMode(a.dragMode),a.autoCrop&&this.crop(),this.setData(a.data),we(a.ready)&&Se(i,Za,a.ready,{once:!0}),bt(i,Za)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var i=this.cropper.parentNode;i&&i.removeChild(this.cropper),Ae(this.element,ye)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=no,e}},{key:"setDefaults",value:function(i){J(ai,mt(i)&&i)}}])})();J(qi.prototype,Jn,eo,to,ao,io,ro);const Ai=e=>Object.prototype.toString.call(e).slice(8,-1)==="Object",oo={"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"]},lo=(()=>{let e={};for(let[t,i]of Object.entries(oo))for(let a of i){let n=a.startsWith("*")?a.slice(1):a;n in e||(e[n]=t)}return e})(),Nt="image/png",so=e=>{try{if(e.startsWith("data")&&e.includes("base64")){let t=e.split(",")[0].match(/data:(.*);base64/);return t?t[1].trim():Nt}return e.startsWith("blob:")?Nt:lo[e.split("?")[0].split(".").pop()?.toLowerCase()??""]??Nt}catch{return Nt}},oi=({mode:e,dataURI:t})=>e==="round"?Nt:so(t),li=e=>{let t=document.createElement("canvas"),i=t.getContext("2d");if(!i)return t;let{width:a,height:n}=e;return t.width=a,t.height=n,i.imageSmoothingEnabled=!0,i.drawImage(e,0,0,a,n),i.globalCompositeOperation="destination-in",i.beginPath(),i.arc(a/2,n/2,Math.min(a,n)/2,0,2*Math.PI,!0),i.fill(),t},si=(e,t={})=>{if(!Ai(e))return t;let{mode:i,width:a,height:n}=e;switch(i){case"fixedSize":case"round":t.width=a,t.height=n;break}return t},uo=["src"],co=hi({name:"VuePictureCropper",__name:"index",props:{img:{},boxStyle:{default:()=>({})},options:{default:()=>({})},presetMode:{default:()=>({})}},setup(e,{expose:t}){let i=e,a=Oa(null),n=Oa(null),r=$(""),o=(f={})=>{if(!a.value)return"";f=si(i.presetMode,f);try{let b=a.value.getCroppedCanvas(f);return i.presetMode.mode==="round"&&(b=li(b)),b.toDataURL(r.value)}catch{return""}},s=(f={})=>a.value?(f=si(i.presetMode,f),new Promise(b=>{try{let x=a.value.getCroppedCanvas(f);i.presetMode.mode==="round"&&(x=li(x)),x.toBlob(_=>b(_),r.value)}catch{b(null)}})):Promise.resolve(null),u=async(f={})=>{let{fileName:b}=f,x=r.value.replace(/image\//,""),_=b?`${b}.${x}`:`cropped-${Date.now()}.${x}`,C=await s(f);return C?new File([C],_,{type:r.value}):null},v=()=>{a.value&&(a.value.getDataURL=o,a.value.getBlob=s,a.value.getFile=u)},l=()=>{if(!Ai(i.presetMode)||!a.value)return;let{mode:f,width:b,height:x}=i.presetMode;(f==="fixedSize"||f==="round")&&a.value.setCropBoxData({width:b,height:x})},d=async()=>{if(await _a(),n.value)try{a.value=new qi(n.value,i.options),v(),r.value=oi({mode:i.presetMode.mode,dataURI:i.img}),n.value.addEventListener("ready",l)}catch(f){console.error(f)}};return me(()=>i.img,f=>{if(!f){a.value?.destroy(),a.value=null;return}if(!a.value){d();return}try{a.value.replace(i.img),r.value=oi({mode:i.presetMode.mode,dataURI:i.img}),v()}catch(b){console.error(b)}},{immediate:!0}),Vt(()=>{n.value?.removeEventListener("ready",l),a.value?.destroy(),a.value=null}),t({cropper:a}),(f,b)=>(re(),Ee("div",{class:fa(["vpc-root",e.presetMode.mode==="round"&&"vpc-round-mode"]),style:sr(e.boxStyle)},[M("img",{ref_key:"imgElement",ref:n,class:"vpc-img",src:e.img},null,8,uo)],6))}});var fo=co;const ho={class:"users-shell"},vo={class:"users-header"},mo={class:"header-actions"},go={class:"user-cell"},po={class:"user-avatar-thumb"},bo=["src","alt"],wo={key:1},yo={class:"user-meta"},xo={class:"text-weight-medium"},Co={class:"text-caption text-grey-7"},So={class:"badge-row"},_o={class:"text-caption text-grey-7"},Do={class:"text-caption text-grey-7"},To={class:"editor-toolbar"},Po={class:"editor-headline"},ko={class:"text-overline"},Mo={class:"text-h5"},Eo={class:"text-caption"},Ro={class:"editor-toolbar-actions"},No={class:"form-section"},qo={class:"section-grid"},Ao={key:1,class:"avatar-inline-card span-2"},Oo={class:"avatar-inline-preview"},Vo=["src","alt"],Lo={key:1},Bo={class:"avatar-inline-meta"},Io={class:"text-caption text-grey-7"},Uo={class:"form-section"},jo={class:"section-heading"},zo={class:"form-section"},$o={class:"section-heading"},Fo={class:"text-h6"},Ho={class:"text-h6"},Wo={class:"text-caption"},Qo={class:"text-body2 text-grey-7"},Xo={class:"editor-toolbar"},Yo={class:"editor-headline"},Go={class:"text-h5"},Ko={class:"editor-toolbar-actions"},Zo={class:"avatar-toolbar"},Jo={class:"avatar-file-name"},el={class:"avatar-editor-grid"},tl={class:"avatar-cropper-shell"},al={key:0,class:"avatar-cropper-box"},il={key:1,class:"avatar-empty-state"},rl={class:"avatar-preview-shell"},nl={class:"avatar-preview-disc"},ol=["src"],ll={key:1},sl=hi({__name:"UsersPage",setup(e){const t=yr(),i=$(!1),a=$(!1),n=$(!1),r=$(!1),o=$(!1),s=$(!1),u=$("create"),v=$("account"),l=$(""),d=$([]),f=$(!0),b=$(!0),x=$(""),_=$(""),C=jt({uuid:"",email:"",status:""}),A=$(!1),B=jt({uuid:"",email:""}),P=$(null),O=$(null),q=$(""),w=$(""),V=$(null),L=$({sortBy:"name",descending:!1,page:1,rowsPerPage:10,rowsNumber:0}),ee=Object.values(Je),Y=["admin","manager","user"],oe=["internal","external"],ve={width:"100%",height:"100%",backgroundColor:"#f3f7fb",margin:"0 auto"},he={mode:"round",width:320,height:320},N=[{name:"name",label:"Utente",field:"name",align:"left",sortable:!0},{name:"status",label:"Status",field:"status",align:"left",sortable:!0},{name:"roles",label:"Roles",field:h=>h.roles.join(", "),align:"left"},{name:"details",label:"Details",field:h=>Ue(h),align:"left"},{name:"preferences",label:"Preferences",field:h=>h.preferences?.language??"",align:"left"},{name:"actions",label:"",field:"uuid",align:"right"}],p=jt(xe()),H=jt({password:"",confirmPassword:""}),le=T(()=>({name:p.name.trim(),email:p.email.trim(),password:u.value==="create"?p.password:"",status:p.status,roles:te(p.roles),types:te(p.types),avatar:pe(p.avatar),details:f.value?Re(p.details):null,preferences:b.value?He(p.preferences):null}));Gt(async()=>{await Ce()});function xe(){return{uuid:"",name:"",email:"",password:"",status:Je.UserStatusPending,roles:["user"],types:["internal"],avatar:"",details:{title:"",firstName:"",lastName:"",address:"",city:"",zipCode:"",country:"",phone:""},preferences:{useIdle:!1,idleTimeout:0,useIdlePassword:!1,idlePin:"",useDirectLogin:!1,useQuadcodeLogin:!1,sendNoticesMail:!1,language:"it"}}}function ge(h){const c=h?Fe(h):xe();Object.assign(p,c),f.value=!!h?.details||!h,b.value=!!h?.preferences||!h}function Fe(h){return{uuid:h.uuid,name:h.name,email:h.email,password:"",status:h.status,roles:[...h.roles],types:[...h.types],avatar:h.avatar??"",details:{title:h.details?.title??"",firstName:h.details?.firstName??"",lastName:h.details?.lastName??"",address:h.details?.address??"",city:h.details?.city??"",zipCode:h.details?.zipCode??"",country:h.details?.country??"",phone:h.details?.phone??""},preferences:{useIdle:h.preferences?.useIdle??!1,idleTimeout:h.preferences?.idleTimeout??0,useIdlePassword:h.preferences?.useIdlePassword??!1,idlePin:h.preferences?.idlePin??"",useDirectLogin:h.preferences?.useDirectLogin??!1,useQuadcodeLogin:h.preferences?.useQuadcodeLogin??!1,sendNoticesMail:h.preferences?.sendNoticesMail??!1,language:h.preferences?.language??"it"}}}function te(h){return h.map(c=>c.trim()).filter(Boolean)}function pe(h){const c=h.trim();return c===""?null:c}function Re(h){const c={title:h.title.trim(),firstName:h.firstName.trim(),lastName:h.lastName.trim(),address:h.address.trim(),city:h.city.trim(),zipCode:h.zipCode.trim(),country:h.country.trim(),phone:h.phone.trim()};return Object.values(c).some(Boolean)?c:null}function He(h){const c={useIdle:h.useIdle,idleTimeout:Number(h.idleTimeout)||0,useIdlePassword:h.useIdlePassword,idlePin:h.idlePin.trim(),useDirectLogin:h.useDirectLogin,useQuadcodeLogin:h.useQuadcodeLogin,sendNoticesMail:h.sendNoticesMail,language:h.language.trim()};return c.useIdle||c.idleTimeout>0||c.useIdlePassword||c.idlePin!==""||c.useDirectLogin||c.useQuadcodeLogin||c.sendNoticesMail||c.language!==""?c:null}function Be(){w.value=V.value?.cropper?.getDataURL?.({width:220,height:220,rounded:!0})||q.value}const be={viewMode:1,dragMode:"move",aspectRatio:1,autoCropArea:.9,background:!1,movable:!0,zoomable:!0,scalable:!1,guides:!1,ready:()=>{Be()},crop:()=>{Be()}};function Ie(h,c=""){return{name:h.name,email:h.email,password:c,status:h.status,roles:[...h.roles],types:[...h.types],avatar:h.avatar??null,details:h.details?{title:h.details.title,firstName:h.details.firstName,lastName:h.details.lastName,address:h.details.address,city:h.details.city,zipCode:h.details.zipCode,country:h.details.country,phone:h.details.phone}:null,preferences:h.preferences?{useIdle:h.preferences.useIdle,idleTimeout:h.preferences.idleTimeout,useIdlePassword:h.preferences.useIdlePassword,idlePin:h.preferences.idlePin,useDirectLogin:h.preferences.useDirectLogin,useQuadcodeLogin:h.preferences.useQuadcodeLogin,sendNoticesMail:h.preferences.sendNoticesMail,language:h.preferences.language}:null}}function Ue(h){const c=[h.details?.title,h.details?.firstName,h.details?.lastName].filter(Boolean);return c.length>0?c.join(" "):"Nessun dettaglio"}function We(h){const m=(h.name.trim()||h.email.trim()).split(/\s+/).filter(Boolean),K=m[0]??"",yt=m[1]??"";return m.length===0?"?":m.length===1?K.slice(0,2).toUpperCase():`${K.charAt(0)}${yt.charAt(0)}`.toUpperCase()}function Qe(h){switch(h){case Je.UserStatusActive:return"positive";case Je.UserStatusDisabled:return"negative";default:return"warning"}}async function Ce(){i.value=!0;try{const h={page:Number(L.value?.page)||1,pageSize:Number(L.value?.rowsPerPage)||10},c=await xr(h);if(c.error)throw new Error(c.error);d.value=Array.isArray(c.data?.items)?c.data.items:[],L.value={...L.value,page:c.data?.page??h.page,rowsPerPage:c.data?.pageSize??h.pageSize,rowsNumber:d.value.length{q.value=typeof K.result=="string"?K.result:"",w.value=q.value},K.readAsDataURL(m)}function R(){V.value?.cropper?.reset?.()}async function j(){if(!q.value){t.notify({type:"negative",message:"Seleziona un’immagine prima di salvare."});return}a.value=!0;try{const h=await W(B.uuid),c=V.value?.cropper?.getDataURL?.({width:256,height:256,rounded:!0})||q.value,m=await na(h.uuid,{...Ie(h),avatar:c});if(m.error)throw new Error(m.error);w.value=c,s.value=!1,t.notify({type:"positive",message:`Avatar aggiornato per ${m.data.email}.`}),await Ce()}catch(h){z(h)}finally{a.value=!1}}function X(h){C.uuid=h.uuid,C.email=h.email,C.status=h.status,A.value=h.status===Je.UserStatusDisabled,o.value=!0}async function G(){a.value=!0;try{const h={action:A.value?"block":"unblock"},c=await Sr(C.uuid,h);if(c.error)throw new Error(c.error);o.value=!1,t.notify({type:"positive",message:A.value?`Utente ${c.data.email} bloccato.`:`Utente ${c.data.email} sbloccato.`}),await Ce()}catch(h){z(h)}finally{a.value=!1}}async function W(h){const c=await _r(h);if(c.error)throw new Error(c.error);return c.data}function z(h){t.notify({type:"negative",message:h instanceof Error?h.message:String(h)})}return(h,c)=>(re(),ke(wr,{class:"users-page"},{default:E(()=>[M("div",ho,[M("header",vo,[c[37]||(c[37]=M("div",null,[M("p",{class:"eyebrow"},"Admin"),M("h1",null,"Users"),M("p",{class:"subtitle"}," Gestione completa degli utenti con profilo, dettagli anagrafici e preferenze. ")],-1)),M("div",mo,[y(de,{flat:"",color:"primary",icon:"refresh",label:"Aggiorna",loading:i.value,onClick:Ce},null,8,["loading"]),y(de,{color:"primary",icon:"person_add",label:"Nuovo utente",onClick:Xe})])]),y(St,{flat:"",bordered:"",class:"users-card"},{default:E(()=>[y(je,{class:"toolbar"},{default:E(()=>[y(ce,{modelValue:l.value,"onUpdate:modelValue":c[0]||(c[0]=m=>l.value=m),outlined:"",dense:"",clearable:"",debounce:"200",placeholder:"Cerca per nome, email, ruoli, lingua",class:"toolbar-search"},{prepend:E(()=>[y(_e,{name:"search"})]),_:1},8,["modelValue"])]),_:1}),y(vt),y(en,{flat:"",rows:d.value,columns:N,"row-key":"uuid",loading:i.value,filter:l.value,pagination:L.value,"onUpdate:pagination":c[1]||(c[1]=m=>L.value=m),"rows-per-page-options":[10,20,50,100],onRequest:wt,"binary-state-sort":"","wrap-cells":""},{"body-cell-name":E(m=>[y(ft,{props:m},{default:E(()=>[M("div",go,[M("div",po,[m.row.avatar?(re(),Ee("img",{key:0,src:m.row.avatar,alt:m.row.name},null,8,bo)):(re(),Ee("span",wo,ue(We(m.row)),1))]),M("div",yo,[M("div",xo,ue(m.row.name),1),M("div",Co,ue(m.row.email),1)])])]),_:2},1032,["props"])]),"body-cell-status":E(m=>[y(ft,{props:m},{default:E(()=>[y(La,{color:Qe(m.row.status),"text-color":"white",label:m.row.status},null,8,["color","label"])]),_:2},1032,["props"])]),"body-cell-roles":E(m=>[y(ft,{props:m},{default:E(()=>[M("div",So,[(re(!0),Ee(ur,null,cr(m.row.roles,K=>(re(),ke(La,{key:`${m.row.uuid}-${K}`,color:"blue-8","text-color":"white",label:K},null,8,["label"]))),128))])]),_:2},1032,["props"])]),"body-cell-details":E(m=>[y(ft,{props:m},{default:E(()=>[M("div",null,ue(Ue(m.row)),1),M("div",_o,ue(m.row.details?.city||"Nessuna citta"),1)]),_:2},1032,["props"])]),"body-cell-preferences":E(m=>[y(ft,{props:m},{default:E(()=>[M("div",null,ue(m.row.preferences?.language||"n/a"),1),M("div",Do," Idle: "+ue(m.row.preferences?.useIdle?"on":"off"),1)]),_:2},1032,["props"])]),"body-cell-actions":E(m=>[y(ft,{props:m,class:"actions-cell"},{default:E(()=>[y(de,{flat:"",round:"",dense:"",icon:"more_vert",color:"grey-8"},{default:E(()=>[y(gr,{anchor:"bottom right",self:"top right"},{default:E(()=>[y(vi,{dense:"",class:"user-action-menu"},{default:E(()=>[qe((re(),ke(Tt,{clickable:"",onClick:K=>Ye(m.row.uuid)},{default:E(()=>[y(Ne,{avatar:""},{default:E(()=>[y(_e,{name:"visibility"})]),_:1}),y(Ne,null,{default:E(()=>[...c[38]||(c[38]=[_t("Show",-1)])]),_:1})]),_:1},8,["onClick"])),[[ze]]),qe((re(),ke(Tt,{clickable:"",onClick:K=>De(m.row.uuid)},{default:E(()=>[y(Ne,{avatar:""},{default:E(()=>[y(_e,{name:"edit"})]),_:1}),y(Ne,null,{default:E(()=>[...c[39]||(c[39]=[_t("Edit",-1)])]),_:1})]),_:1},8,["onClick"])),[[ze]]),qe((re(),ke(Tt,{clickable:"",onClick:K=>Ge(m.row.uuid)},{default:E(()=>[y(Ne,{avatar:""},{default:E(()=>[y(_e,{name:"add_a_photo"})]),_:1}),y(Ne,null,{default:E(()=>[...c[40]||(c[40]=[_t("Edit avatar",-1)])]),_:1})]),_:1},8,["onClick"])),[[ze]]),qe((re(),ke(Tt,{clickable:"",onClick:K=>it(m.row.uuid)},{default:E(()=>[y(Ne,{avatar:""},{default:E(()=>[y(_e,{name:"password"})]),_:1}),y(Ne,null,{default:E(()=>[...c[41]||(c[41]=[_t("Change password",-1)])]),_:1})]),_:1},8,["onClick"])),[[ze]]),qe((re(),ke(Tt,{clickable:"",onClick:K=>X(m.row)},{default:E(()=>[y(Ne,{avatar:""},{default:E(()=>[y(_e,{name:m.row.status===Dt(Je).UserStatusDisabled?"lock_open":"block",color:m.row.status===Dt(Je).UserStatusDisabled?"positive":"negative"},null,8,["name","color"])]),_:2},1024),y(Ne,null,{default:E(()=>[_t(ue(m.row.status===Dt(Je).UserStatusDisabled?"Unblock user":"Block user"),1)]),_:2},1024)]),_:2},1032,["onClick"])),[[ze]])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1032,["props"])]),"no-data":E(()=>[...c[42]||(c[42]=[M("div",{class:"full-width row flex-center q-pa-lg text-grey-7"}," Nessun utente disponibile. ",-1)])]),_:1},8,["rows","loading","filter","pagination"])]),_:1})]),y(Ut,{modelValue:n.value,"onUpdate:modelValue":c[30]||(c[30]=m=>n.value=m)},{default:E(()=>[y(St,{class:"editor-card modal-card"},{default:E(()=>[y(br,{class:"form-grid",onSubmit:dr(ut,["prevent"])},{default:E(()=>[y(je,{class:"editor-header"},{default:E(()=>[M("div",To,[M("div",Po,[M("div",ko,ue(u.value==="create"?"Nuovo utente":u.value==="edit"?"Modifica utente":"Dettaglio utente"),1),M("div",Mo,ue(p.name||"Profilo utente"),1),M("div",Eo,ue(p.email||"Compila i dati di base"),1)])]),M("div",Ro,[qe(y(de,{flat:"",color:"white",label:"Chiudi"},null,512),[[ze]]),u.value!=="view"?(re(),ke(de,{key:0,color:"white","text-color":"primary",unelevated:"",loading:a.value,label:u.value==="create"?"Crea utente":"Salva modifiche",type:"submit"},null,8,["loading","label"])):ra("",!0)]),y(sn,{modelValue:v.value,"onUpdate:modelValue":c[2]||(c[2]=m=>v.value=m),dense:"",align:"left","inline-label":"","active-color":"primary","indicator-color":"primary",class:"editor-tabs"},{default:E(()=>[y(oa,{name:"account",icon:"person",label:"Account"}),y(oa,{name:"details",icon:"badge",label:"Details"}),y(oa,{name:"preferences",icon:"tune",label:"Preferences"})]),_:1},8,["modelValue"])]),_:1}),y(vt),y(je,{class:"editor-body"},{default:E(()=>[y(gn,{modelValue:v.value,"onUpdate:modelValue":c[29]||(c[29]=m=>v.value=m),animated:"",class:"editor-panels"},{default:E(()=>[y(la,{name:"account"},{default:E(()=>[M("section",No,[c[44]||(c[44]=M("h2",null,"Account",-1)),M("div",qo,[y(ce,{modelValue:p.name,"onUpdate:modelValue":c[3]||(c[3]=m=>p.name=m),outlined:"",label:"Nome",readonly:u.value==="view"},null,8,["modelValue","readonly"]),y(ce,{modelValue:p.email,"onUpdate:modelValue":c[4]||(c[4]=m=>p.email=m),outlined:"",label:"Email",type:"email",readonly:u.value==="view"},null,8,["modelValue","readonly"]),u.value==="create"?(re(),ke(ce,{key:0,modelValue:p.password,"onUpdate:modelValue":c[5]||(c[5]=m=>p.password=m),outlined:"",label:"Password",type:"password",hint:"Minimo 8 caratteri"},null,8,["modelValue"])):ra("",!0),u.value!=="create"?(re(),Ee("div",Ao,[M("div",Oo,[p.avatar?(re(),Ee("img",{key:0,src:p.avatar,alt:p.name},null,8,Vo)):(re(),Ee("span",Lo,ue(We(p)),1))]),M("div",Bo,[c[43]||(c[43]=M("div",{class:"text-subtitle2"},"Avatar",-1)),M("div",Io,ue(p.avatar?"Avatar profilo impostato":"Nessun avatar impostato"),1)]),u.value==="edit"?(re(),ke(de,{key:0,flat:"",color:"primary",icon:"add_a_photo",label:"Modifica",onClick:c[6]||(c[6]=m=>Ge(p.uuid))})):ra("",!0)])):(re(),ke(ce,{key:2,modelValue:p.avatar,"onUpdate:modelValue":c[7]||(c[7]=m=>p.avatar=m),outlined:"",label:"Avatar URL"},null,8,["modelValue"])),y(Wt,{modelValue:p.status,"onUpdate:modelValue":c[8]||(c[8]=m=>p.status=m),outlined:"",label:"Status",options:Dt(ee),readonly:u.value==="view"},null,8,["modelValue","options","readonly"]),y(Wt,{modelValue:p.roles,"onUpdate:modelValue":c[9]||(c[9]=m=>p.roles=m),outlined:"",multiple:"","use-input":"","use-chips":"","new-value-mode":"add-unique",label:"Roles",options:Y,readonly:u.value==="view"},null,8,["modelValue","readonly"]),y(Wt,{modelValue:p.types,"onUpdate:modelValue":c[10]||(c[10]=m=>p.types=m),outlined:"",multiple:"","use-input":"","use-chips":"","new-value-mode":"add-unique",label:"Types",options:oe,readonly:u.value==="view"},null,8,["modelValue","readonly"])])])]),_:1}),y(la,{name:"details"},{default:E(()=>[M("section",Uo,[M("div",jo,[c[45]||(c[45]=M("h2",null,"Details",-1)),y(Ze,{modelValue:f.value,"onUpdate:modelValue":c[11]||(c[11]=m=>f.value=m),label:"Abilita details",disable:u.value==="view"},null,8,["modelValue","disable"])]),M("div",{class:fa(["section-grid",{disabled:!f.value}])},[y(ce,{modelValue:p.details.title,"onUpdate:modelValue":c[12]||(c[12]=m=>p.details.title=m),outlined:"",label:"Title",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.firstName,"onUpdate:modelValue":c[13]||(c[13]=m=>p.details.firstName=m),outlined:"",label:"First name",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.lastName,"onUpdate:modelValue":c[14]||(c[14]=m=>p.details.lastName=m),outlined:"",label:"Last name",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.phone,"onUpdate:modelValue":c[15]||(c[15]=m=>p.details.phone=m),outlined:"",label:"Phone",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.address,"onUpdate:modelValue":c[16]||(c[16]=m=>p.details.address=m),outlined:"",label:"Address",class:"span-2",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.city,"onUpdate:modelValue":c[17]||(c[17]=m=>p.details.city=m),outlined:"",label:"City",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.zipCode,"onUpdate:modelValue":c[18]||(c[18]=m=>p.details.zipCode=m),outlined:"",label:"Zip code",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.details.country,"onUpdate:modelValue":c[19]||(c[19]=m=>p.details.country=m),outlined:"",label:"Country",disable:!f.value||u.value==="view"},null,8,["modelValue","disable"])],2)])]),_:1}),y(la,{name:"preferences"},{default:E(()=>[M("section",zo,[M("div",$o,[c[46]||(c[46]=M("h2",null,"Preferences",-1)),y(Ze,{modelValue:b.value,"onUpdate:modelValue":c[20]||(c[20]=m=>b.value=m),label:"Abilita preferences",disable:u.value==="view"},null,8,["modelValue","disable"])]),M("div",{class:fa(["section-grid",{disabled:!b.value}])},[y(ce,{modelValue:p.preferences.language,"onUpdate:modelValue":c[21]||(c[21]=m=>p.preferences.language=m),outlined:"",label:"Language",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.preferences.idleTimeout,"onUpdate:modelValue":c[22]||(c[22]=m=>p.preferences.idleTimeout=m),modelModifiers:{number:!0},outlined:"",type:"number",label:"Idle timeout",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(ce,{modelValue:p.preferences.idlePin,"onUpdate:modelValue":c[23]||(c[23]=m=>p.preferences.idlePin=m),outlined:"",label:"Idle pin",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(Ze,{modelValue:p.preferences.useIdle,"onUpdate:modelValue":c[24]||(c[24]=m=>p.preferences.useIdle=m),label:"Use idle",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(Ze,{modelValue:p.preferences.useIdlePassword,"onUpdate:modelValue":c[25]||(c[25]=m=>p.preferences.useIdlePassword=m),label:"Use idle password",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(Ze,{modelValue:p.preferences.useDirectLogin,"onUpdate:modelValue":c[26]||(c[26]=m=>p.preferences.useDirectLogin=m),label:"Use direct login",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(Ze,{modelValue:p.preferences.useQuadcodeLogin,"onUpdate:modelValue":c[27]||(c[27]=m=>p.preferences.useQuadcodeLogin=m),label:"Use quadcode login",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"]),y(Ze,{modelValue:p.preferences.sendNoticesMail,"onUpdate:modelValue":c[28]||(c[28]=m=>p.preferences.sendNoticesMail=m),label:"Send notices mail",disable:!b.value||u.value==="view"},null,8,["modelValue","disable"])],2)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),y(Ut,{modelValue:r.value,"onUpdate:modelValue":c[33]||(c[33]=m=>r.value=m)},{default:E(()=>[y(St,{class:"password-card modal-card"},{default:E(()=>[y(je,null,{default:E(()=>[c[47]||(c[47]=M("div",{class:"text-overline text-primary"},"Change password",-1)),M("div",Fo,ue(_.value||"User"),1)]),_:1}),y(vt),y(je,{class:"password-grid"},{default:E(()=>[y(ce,{modelValue:H.password,"onUpdate:modelValue":c[31]||(c[31]=m=>H.password=m),outlined:"",type:"password",label:"New password",hint:"Minimo 8 caratteri"},null,8,["modelValue"]),y(ce,{modelValue:H.confirmPassword,"onUpdate:modelValue":c[32]||(c[32]=m=>H.confirmPassword=m),outlined:"",type:"password",label:"Confirm password"},null,8,["modelValue"])]),_:1}),y(Va,{align:"right"},{default:E(()=>[qe(y(de,{flat:"",color:"grey-7",label:"Chiudi"},null,512),[[ze]]),y(de,{color:"primary",label:"Salva password",loading:a.value,onClick:ct},null,8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),y(Ut,{modelValue:o.value,"onUpdate:modelValue":c[35]||(c[35]=m=>o.value=m)},{default:E(()=>[y(St,{class:"password-card modal-card"},{default:E(()=>[y(je,null,{default:E(()=>[c[48]||(c[48]=M("div",{class:"text-overline text-primary"},"User access",-1)),M("div",Ho,ue(C.email||"User"),1),M("div",Wo," Stato attuale: "+ue(C.status||"n/a"),1)]),_:1}),y(vt),y(je,{class:"password-grid"},{default:E(()=>[y(Ze,{modelValue:A.value,"onUpdate:modelValue":c[34]||(c[34]=m=>A.value=m),"checked-icon":"block","unchecked-icon":"lock_open",color:"negative",label:A.value?"Utente bloccato":"Utente attivo"},null,8,["modelValue","label"]),M("div",Qo,ue(A.value?"L’utente non potra piu accedere finche non verra sbloccato.":"L’utente potra accedere normalmente."),1)]),_:1}),y(Va,{align:"right"},{default:E(()=>[qe(y(de,{flat:"",color:"grey-7",label:"Chiudi"},null,512),[[ze]]),y(de,{color:"primary",loading:a.value,label:A.value?"Salva blocco":"Salva sblocco",onClick:G},null,8,["loading","label"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),y(Ut,{modelValue:s.value,"onUpdate:modelValue":c[36]||(c[36]=m=>s.value=m)},{default:E(()=>[y(St,{class:"editor-card modal-card"},{default:E(()=>[y(je,{class:"editor-header"},{default:E(()=>[M("div",Xo,[M("div",Yo,[c[49]||(c[49]=M("div",{class:"text-overline"},"Avatar editor",-1)),M("div",Go,ue(B.email||"User avatar"),1),c[50]||(c[50]=M("div",{class:"text-caption"},"Ritaglio circolare per il profilo utente",-1))])]),M("div",Ko,[qe(y(de,{flat:"",color:"white",label:"Chiudi"},null,512),[[ze]]),y(de,{color:"white","text-color":"primary",unelevated:"",disable:!q.value,loading:a.value,label:"Salva avatar",onClick:j},null,8,["disable","loading"])])]),_:1}),y(vt),y(je,{class:"avatar-editor-body"},{default:E(()=>[M("div",Zo,[M("input",{ref_key:"avatarFileInputRef",ref:O,class:"visually-hidden",type:"file",accept:"image/*",onChange:D},null,544),y(de,{color:"primary",icon:"upload",label:"Carica immagine",onClick:Ke}),M("div",Jo,ue(P.value?.name||"Nessun file selezionato"),1),y(de,{flat:"",color:"primary",icon:"restart_alt",label:"Reset crop",disable:!q.value,onClick:R},null,8,["disable"])]),M("div",el,[M("div",tl,[q.value?(re(),Ee("div",al,[y(Dt(fo),{ref_key:"avatarCropperRef",ref:V,img:q.value,"box-style":ve,options:be,"preset-mode":he},null,8,["img"])])):(re(),Ee("div",il," Seleziona un’immagine per modificare l’avatar. "))]),M("div",rl,[c[51]||(c[51]=M("div",{class:"avatar-preview-title"},"Anteprima",-1)),M("div",nl,[w.value?(re(),Ee("img",{key:0,src:w.value,alt:"Avatar preview"},null,8,ol)):(re(),Ee("span",ll,"No avatar"))])])])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Cl=Dr(sl,[["__scopeId","data-v-d2d94a40"]]);export{Cl as default}; diff --git a/backend/internal/http/static/spa/assets/api-RGUeM09o.js b/backend/internal/http/static/spa/assets/api-RGUeM09o.js new file mode 100644 index 0000000..aa957bf --- /dev/null +++ b/backend/internal/http/static/spa/assets/api-RGUeM09o.js @@ -0,0 +1 @@ +function f(r){return typeof r=="object"&&r!==null&&Object.prototype.hasOwnProperty.call(r,"data")&&Object.prototype.hasOwnProperty.call(r,"error")}function w(r){return r instanceof DOMException&&r.name==="AbortError"?new Error("api.error.timeouterror"):r instanceof TypeError&&r.message==="Failed to fetch"?new Error("api.error.connectionerror"):r instanceof Error?r:new Error(String(r))}class d{apiUrl;localStorage;constructor(t){this.apiUrl=t,this.localStorage=window.localStorage}async request(t,e,s,o=7e3,i=!1){const u={"Cache-Control":"no-cache"};if(i||(u["Content-Type"]="application/json"),this.localStorage){const n=this.localStorage.getItem("Auth-Token");n&&(u["Auth-Token"]=n)}const h=new AbortController,y=setTimeout(()=>h.abort(),o),l={method:t,cache:"no-store",mode:"cors",credentials:"include",headers:u,signal:h.signal};i?l.body=s:s!=null&&(l.body=JSON.stringify(s));try{const n=await fetch(e,l);if(!n.ok)throw new Error("api.error."+n.statusText);if(this.localStorage){const p=n.headers.get("Auth-Token");p&&this.localStorage.setItem("Auth-Token",p)}const c=await n.json();if(!f(c))throw new Error("api.error.wrongdatatype");if(c.error)throw new Error(c.error);return c}catch(n){throw w(n)}finally{clearTimeout(y)}}processResult(t){return typeof t.data!="object"?{data:t.data,error:null}:(t.data||(t.data={}),{data:t.data,error:null})}processError(t){const e=w(t);return e.message==="api.error.timeouterror"?(Object.defineProperty(e,"__api_error__",{value:e.message,writable:!1}),{data:null,error:e.message}):e.message==="api.error.connectionerror"?(Object.defineProperty(e,"__api_error__",{value:e.message,writable:!1}),{data:null,error:e.message}):{data:null,error:e.message}}async POST(t,e,s){try{const o=t.includes("/upload/"),i=await this.request("POST",this.apiUrl+t,e,s,o);return this.processResult(i)}catch(o){return this.processError(o)}}async GET(t,e){try{const s=await this.request("GET",this.apiUrl+t,null,e);return this.processResult(s)}catch(s){return this.processError(s)}}async PUT(t,e,s){try{const o=await this.request("PUT",this.apiUrl+t,e,s);return this.processResult(o)}catch(o){return this.processError(o)}}async DELETE(t,e){try{const s=await this.request("DELETE",this.apiUrl+t,null,e);return this.processResult(s)}catch(s){return this.processError(s)}}async UPLOAD(t,e,s){try{const o=await this.request("POST",this.apiUrl+t,e,s,!0);return this.processResult(o)}catch(o){return this.processError(o)}}}const a=new d("http://localhost:3000"),g={UserStatusPending:"pending",UserStatusActive:"active",UserStatusDisabled:"disabled"},E=async()=>await a.GET("/maildebug"),T=async r=>await a.POST("/admin/users",r),m=async(r,t)=>await a.PUT(`/admin/users/${r}/block`,t),S=async r=>await a.POST("/auth/register",r),P=async()=>await a.GET("/metrics"),U=async r=>await a.POST("/auth/login",r),b=async r=>await a.POST("/auth/refresh",r),O=async r=>await a.POST("/auth/password/forgot",r),j=async r=>await a.POST("/auth/password/reset",r),A=async()=>await a.GET("/health"),_=async()=>await a.GET("/auth/me"),R=async r=>await a.GET(`/users/${r}`),k=async r=>await a.POST("/users",r),q=async(r,t)=>await a.PUT(`/users/${r}`,t);export{g as E,j as a,P as b,b as c,T as d,E as e,O as f,k as g,A as h,m as i,R as j,U as l,_ as m,S as r,q as u}; diff --git a/backend/internal/http/static/spa/assets/api-rhge6pbe.js b/backend/internal/http/static/spa/assets/api-rhge6pbe.js deleted file mode 100644 index 5a6e749..0000000 --- a/backend/internal/http/static/spa/assets/api-rhge6pbe.js +++ /dev/null @@ -1 +0,0 @@ -import{u as w,a as y}from"./use-dark-BRt0_t6X.js";import{s as T,y as S,A as E,p as h}from"./index-QUdrNkKl.js";const b={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},f={xs:2,sm:4,md:8,lg:16,xl:24},A=T({name:"QSeparator",props:{...w,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(r){const t=E(),e=y(r,t.proxy.$q),a=h(()=>r.vertical===!0?"vertical":"horizontal"),s=h(()=>` q-separator--${a.value}`),i=h(()=>r.inset!==!1?`${s.value}-${b[r.inset]}`:""),l=h(()=>`q-separator${s.value}${i.value}`+(r.color!==void 0?` bg-${r.color}`:"")+(e.value===!0?" q-separator--dark":"")),m=h(()=>{const c={};if(r.size!==void 0&&(c[r.vertical===!0?"width":"height"]=r.size),r.spaced!==!1){const u=r.spaced===!0?`${f.md}px`:r.spaced in f?`${f[r.spaced]}px`:r.spaced,o=r.vertical===!0?["Left","Right"]:["Top","Bottom"];c[`margin${o[0]}`]=c[`margin${o[1]}`]=u}return c});return()=>S("hr",{class:l.value,style:m.value,"aria-orientation":a.value})}});function v(r){return typeof r=="object"&&r!==null&&Object.prototype.hasOwnProperty.call(r,"data")&&Object.prototype.hasOwnProperty.call(r,"error")}function g(r){return r instanceof DOMException&&r.name==="AbortError"?new Error("api.error.timeouterror"):r instanceof TypeError&&r.message==="Failed to fetch"?new Error("api.error.connectionerror"):r instanceof Error?r:new Error(String(r))}class O{apiUrl;localStorage;constructor(t){this.apiUrl=t,this.localStorage=window.localStorage}async request(t,e,a,s=7e3,i=!1){const l={"Cache-Control":"no-cache"};if(i||(l["Content-Type"]="application/json"),this.localStorage){const o=this.localStorage.getItem("Auth-Token");o&&(l["Auth-Token"]=o)}const m=new AbortController,c=setTimeout(()=>m.abort(),s),u={method:t,cache:"no-store",mode:"cors",credentials:"include",headers:l,signal:m.signal};i?u.body=a:a!=null&&(u.body=JSON.stringify(a));try{const o=await fetch(e,u);if(!o.ok)throw new Error("api.error."+o.statusText);if(this.localStorage){const d=o.headers.get("Auth-Token");d&&this.localStorage.setItem("Auth-Token",d)}const p=await o.json();if(!v(p))throw new Error("api.error.wrongdatatype");if(p.error)throw new Error(p.error);return p}catch(o){throw g(o)}finally{clearTimeout(c)}}processResult(t){return typeof t.data!="object"?{data:t.data,error:null}:(t.data||(t.data={}),{data:t.data,error:null})}processError(t){const e=g(t);return e.message==="api.error.timeouterror"?(Object.defineProperty(e,"__api_error__",{value:e.message,writable:!1}),{data:null,error:e.message}):e.message==="api.error.connectionerror"?(Object.defineProperty(e,"__api_error__",{value:e.message,writable:!1}),{data:null,error:e.message}):{data:null,error:e.message}}async POST(t,e,a){try{const s=t.includes("/upload/"),i=await this.request("POST",this.apiUrl+t,e,a,s);return this.processResult(i)}catch(s){return this.processError(s)}}async GET(t,e){try{const a=await this.request("GET",this.apiUrl+t,null,e);return this.processResult(a)}catch(a){return this.processError(a)}}async UPLOAD(t,e,a){try{const s=await this.request("POST",this.apiUrl+t,e,a,!0);return this.processResult(s)}catch(s){return this.processError(s)}}}const n=new O("http://localhost:3000"),_=async()=>await n.GET("/maildebug"),j=async r=>await n.POST("/admin/users",r),k=async r=>await n.POST("/auth/register",r),q=async()=>await n.GET("/metrics"),x=async r=>await n.POST("/auth/login",r),C=async r=>await n.POST("/auth/refresh",r),z=async r=>await n.POST("/auth/password/forgot",r),D=async r=>await n.POST("/auth/password/reset",r),R=async()=>await n.GET("/health"),U=async()=>await n.GET("/auth/me");export{A as Q,C as a,j as b,U as c,k as d,_ as e,z as f,R as h,x as l,q as m,D as r}; diff --git a/backend/internal/http/static/spa/assets/format-GjIIeqP4.js b/backend/internal/http/static/spa/assets/format-4vRgyZVr.js similarity index 86% rename from backend/internal/http/static/spa/assets/format-GjIIeqP4.js rename to backend/internal/http/static/spa/assets/format-4vRgyZVr.js index 7f9aa36..db89a6e 100644 --- a/backend/internal/http/static/spa/assets/format-GjIIeqP4.js +++ b/backend/internal/http/static/spa/assets/format-4vRgyZVr.js @@ -1 +1 @@ -import{ab as l}from"./index-QUdrNkKl.js";function r(){if(window.getSelection!==void 0){const t=window.getSelection();t.empty!==void 0?t.empty():t.removeAllRanges!==void 0&&(t.removeAllRanges(),l.is.mobile!==!0&&t.addRange(document.createRange()))}else document.selection!==void 0&&document.selection.empty()}function a(t,e,o){return o<=e?e:Math.min(o,Math.max(e,t))}function s(t,e,o){if(o<=e)return e;const i=o-e+1;let n=e+(t-e)%i;return n{const s=o({locale:c(n()),messages:l});e.use(s)});export{d as default}; diff --git a/backend/internal/http/static/spa/assets/i18n-K6-k8nVn.js b/backend/internal/http/static/spa/assets/i18n-K6-k8nVn.js new file mode 100644 index 0000000..ee01bcd --- /dev/null +++ b/backend/internal/http/static/spa/assets/i18n-K6-k8nVn.js @@ -0,0 +1 @@ +import{d as n,c as o,r as t,l as a}from"./index-BMUcF_AE.js";const s={app:{title:"Quasar App",menu:"Menue",links:"Links",home:"Startseite",devSection:"Entwicklungsbereich"},language:{it:"Italienisch",en:"Englisch",en_us:"Englisch USA",de:"Deutsch",de_ch:"Deutsch CH",fr:"Franzoesisch",fr_ch:"Franzoesisch CH"},home:{welcome:"Willkommen!",cardTitle:"Unser sich verandernder Planet",cardSubtitle:"von John Doe",imageTitle:"Titel",imageSubhead:"Untertitel",action1:"Aktion 1",action2:"Aktion 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"API Endpoints Tester",mailDebug:"Mail Debug"},error:{notFound:"Hoppla. Hier gibt es nichts...",goHome:"Zur Startseite"},common:{failed:"Aktion fehlgeschlagen",success:"Aktion erfolgreich"}},c={app:{title:"Quasar App",menu:"Menue",links:"Links",home:"Startseite",devSection:"Entwicklungsbereich"},language:{it:"Italienisch",en:"Englisch",en_us:"Englisch USA",de:"Deutsch",de_ch:"Deutsch CH",fr:"Franzoesisch",fr_ch:"Franzoesisch CH"},home:{welcome:"Willkommen!",cardTitle:"Unser sich verandernder Planet",cardSubtitle:"von John Doe",imageTitle:"Titel",imageSubhead:"Untertitel",action1:"Aktion 1",action2:"Aktion 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"API Endpoints Tester",mailDebug:"Mail Debug"},error:{notFound:"Hoppla. Hier gibt es nichts...",goHome:"Zur Startseite"},common:{failed:"Aktion fehlgeschlagen",success:"Aktion erfolgreich"}},l={app:{title:"Quasar App",menu:"Menu",links:"Links",home:"Home",devSection:"Development section"},language:{it:"Italiano",en:"English",en_us:"English USA",de:"Deutsch",de_ch:"Deutsch CH",fr:"Francais",fr_ch:"Francais CH"},home:{welcome:"Welcome!",cardTitle:"Our Changing Planet",cardSubtitle:"by John Doe",imageTitle:"Title",imageSubhead:"Subhead",action1:"Action 1",action2:"Action 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"API Endpoints Tester",mailDebug:"Mail Debug"},error:{notFound:"Oops. Nothing here...",goHome:"Go Home"},common:{failed:"Action failed",success:"Action was successful"}},r={app:{title:"Quasar App",menu:"Menu",links:"Links",home:"Home",devSection:"Development section"},language:{it:"Italian",en:"English",en_us:"English USA",de:"German",de_ch:"German CH",fr:"French",fr_ch:"French CH"},home:{welcome:"Welcome!",cardTitle:"Our Changing Planet",cardSubtitle:"by John Doe",imageTitle:"Title",imageSubhead:"Subhead",action1:"Action 1",action2:"Action 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"API Endpoints Tester",mailDebug:"Mail Debug"},error:{notFound:"Oops. Nothing here...",goHome:"Go Home"},common:{failed:"Action failed",success:"Action was successful"}},u={app:{title:"Quasar App",menu:"Menu",links:"Liens",home:"Accueil",devSection:"Section developpement"},language:{it:"Italien",en:"Anglais",en_us:"Anglais USA",de:"Allemand",de_ch:"Allemand CH",fr:"Francais",fr_ch:"Francais CH"},home:{welcome:"Bienvenue !",cardTitle:"Notre planete en mutation",cardSubtitle:"par John Doe",imageTitle:"Titre",imageSubhead:"Sous-titre",action1:"Action 1",action2:"Action 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"Testeur API Endpoints",mailDebug:"Debug Mail"},error:{notFound:"Oups. Rien ici...",goHome:"Retour accueil"},common:{failed:"Action echouee",success:"Action reussie"}},d={app:{title:"Quasar App",menu:"Menu",links:"Liens",home:"Accueil",devSection:"Section developpement"},language:{it:"Italien",en:"Anglais",en_us:"Anglais USA",de:"Allemand",de_ch:"Allemand CH",fr:"Francais",fr_ch:"Francais CH"},home:{welcome:"Bienvenue !",cardTitle:"Notre planete en mutation",cardSubtitle:"par John Doe",imageTitle:"Titre",imageSubhead:"Sous-titre",action1:"Action 1",action2:"Action 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"Testeur API Endpoints",mailDebug:"Debug Mail"},error:{notFound:"Oups. Rien ici...",goHome:"Retour accueil"},common:{failed:"Action echouee",success:"Action reussie"}},m={app:{title:"Quasar App",menu:"Menu",links:"Link",home:"Home",devSection:"Sezione sviluppo"},language:{it:"Italiano",en:"English",en_us:"English USA",de:"Deutsch",de_ch:"Deutsch CH",fr:"Francais",fr_ch:"Francais CH"},home:{welcome:"Benvenuto!",cardTitle:"Il nostro pianeta che cambia",cardSubtitle:"di John Doe",imageTitle:"Titolo",imageSubhead:"Sottotitolo",action1:"Azione 1",action2:"Azione 2",lorem:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."},dev:{apiEndpointsTester:"Tester API Endpoints",mailDebug:"Debug Mail"},error:{notFound:"Ops. Non c e nulla qui...",goHome:"Torna alla Home"},common:{failed:"Azione fallita",success:"Azione completata con successo"}},g={it:m,en:l,en_us:r,de:s,de_ch:c,fr:u,fr_ch:d},h=n(({app:e})=>{const i=o({locale:t(a()),messages:g});e.use(i)});export{h as default}; diff --git a/backend/internal/http/static/spa/assets/index-BMUcF_AE.js b/backend/internal/http/static/spa/assets/index-BMUcF_AE.js new file mode 100644 index 0000000..601ea0c --- /dev/null +++ b/backend/internal/http/static/spa/assets/index-BMUcF_AE.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainLayout-C9btjnC2.js","assets/QLayout-BFNq0ssN.js","assets/QResizeObserver-UV_Ef03s.js","assets/QSelect-mICoVsXS.js","assets/QItem-49cALKGJ.js","assets/format-4vRgyZVr.js","assets/ClosePopup-NcxzGtHY.js","assets/api-RGUeM09o.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/MainLayout-MHe9H4jA.css","assets/IndexPage-BC1EqBtT.js","assets/QPage-DJ7xuyij.js","assets/IndexPage-CcU-Hr5w.css","assets/LoginPage-BjWca3X3.js","assets/QForm-BGdu5I02.js","assets/use-quasar-5x8FEK03.js","assets/LoginPage-BZ9IbcZT.css","assets/SignupPage-CoU7NmmQ.js","assets/SignupPage-BdSQ-zc-.css","assets/RecoverPasswordPage-Dui6oeR1.js","assets/RecoverPasswordPage-DrvyyIKj.css","assets/DevLayout-BYv1RTOK.js","assets/QDrawer-DWoubt_0.js","assets/touch-BjYP5sR0.js","assets/IndexPage-Q1bjj-ji.js","assets/ResetPasswordPage-BpPnz33U.js","assets/ResetPasswordPage-DMBJffyk.css","assets/ApiEndpointsPage-CUzTZYTh.js","assets/QBadge-D07aoSle.js","assets/ApiEndpointsPage-gOL3JcKs.css","assets/MailDebugPage-Vohpu_Xd.js","assets/MailDebugPage-_Fae84OI.css","assets/AdminLayout-bKViRb62.js","assets/IndexPage-Bw2_3ZOE.js","assets/IndexPage-JYcDosFI.css","assets/UsersPage-DF9qdeNg.js","assets/UsersPage-CyhBpEuA.css"])))=>i.map(i=>d[i]); +const Dd=(function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"})(),$d=function(e){return"/"+e},Sl={},Qe=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){let a=function(u){return Promise.all(u.map(c=>Promise.resolve(c).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");o=a(n.map(u=>{if(u=$d(u),u in Sl)return;Sl[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Dd,c||(d.as="script"),d.crossOrigin="",d.href=u,l&&d.setAttribute("nonce",l),document.head.appendChild(d),c)return new Promise((g,y)=>{d.addEventListener("load",g),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return o.then(i=>{for(const l of i||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})};function Bi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ce={},lr=[],jt=()=>{},Vu=()=>!1,Xo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ji=e=>e.startsWith("onUpdate:"),Me=Object.assign,Ui=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Fd=Object.prototype.hasOwnProperty,_e=(e,t)=>Fd.call(e,t),se=Array.isArray,ar=e=>vr(e)==="[object Map]",Bu=e=>vr(e)==="[object Set]",kl=e=>vr(e)==="[object Date]",qd=e=>vr(e)==="[object RegExp]",ae=e=>typeof e=="function",xe=e=>typeof e=="string",Kt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",ju=e=>(be(e)||ae(e))&&ae(e.then)&&ae(e.catch),Uu=Object.prototype.toString,vr=e=>Uu.call(e),Vd=e=>vr(e).slice(8,-1),Hu=e=>vr(e)==="[object Object]",Jo=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Lr=Bi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Zo=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Bd=/-\w/g,tt=Zo(e=>e.replace(Bd,t=>t.slice(1).toUpperCase())),jd=/\B([A-Z])/g,Hn=Zo(e=>e.replace(jd,"-$1").toLowerCase()),es=Zo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ys=Zo(e=>e?`on${es(e)}`:""),Bt=(e,t)=>!Object.is(e,t),Pr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ud=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Hd=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let xl;const ts=()=>xl||(xl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ns(e){if(se(e)){const t={};for(let n=0;n{if(n){const r=n.split(Kd);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function rs(e){let t="";if(xe(e))t=e;else if(se(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Jd=e=>xe(e)?e:e==null?"":se(e)||be(e)&&(e.toString===Uu||!ae(e.toString))?Gu(e)?Jd(e.value):JSON.stringify(e,zu,2):String(e),zu=(e,t)=>Gu(t)?zu(e,t.value):ar(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Es(r,s)+" =>"]=o,n),{})}:Bu(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Es(n))}:Kt(t)?Es(t):be(t)&&!se(t)&&!Hu(t)?String(t):t,Es=(e,t="")=>{var n;return Kt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let He;class Qu{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=He,!t&&He&&(this.index=(He.scopes||(He.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(He=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Nr){let t=Nr;for(Nr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ir;){let t=Ir;for(Ir=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function ec(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function tc(e){let t,n=e.depsTail,r=n;for(;r;){const o=r.prevDep;r.version===-1?(r===n&&(n=o),zi(r),eh(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=o}e.deps=t,e.depsTail=n}function ni(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(nc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function nc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Br)||(e.globalVersion=Br,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ni(e))))return;e.flags|=2;const t=e.dep,n=Se,r=At;Se=e,At=!0;try{ec(e);const o=e.fn(e._value);(t.version===0||Bt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Se=n,At=r,tc(e),e.flags&=-3}}function zi(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 s=n.computed.deps;s;s=s.nextDep)zi(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function eh(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let At=!0;const rc=[];function ln(){rc.push(At),At=!1}function an(){const e=rc.pop();At=e===void 0?!0:e}function Tl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Se;Se=void 0;try{t()}finally{Se=n}}}let Br=0;class th{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qi{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Se||!At||Se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Se)n=this.activeLink=new th(Se,this),Se.deps?(n.prevDep=Se.depsTail,Se.depsTail.nextDep=n,Se.depsTail=n):Se.deps=Se.depsTail=n,oc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Se.depsTail,n.nextDep=void 0,Se.depsTail.nextDep=n,Se.depsTail=n,Se.deps===n&&(Se.deps=r)}return n}trigger(t){this.version++,Br++,this.notify(t)}notify(t){Ki();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Gi()}}}function oc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)oc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Io=new WeakMap,qn=Symbol(""),ri=Symbol(""),jr=Symbol("");function We(e,t,n){if(At&&Se){let r=Io.get(e);r||Io.set(e,r=new Map);let o=r.get(n);o||(r.set(n,o=new Qi),o.map=r,o.key=n),o.track()}}function en(e,t,n,r,o,s){const i=Io.get(e);if(!i){Br++;return}const l=a=>{a&&a.trigger()};if(Ki(),t==="clear")i.forEach(l);else{const a=se(e),u=a&&Jo(n);if(a&&n==="length"){const c=Number(r);i.forEach((f,d)=>{(d==="length"||d===jr||!Kt(d)&&d>=c)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(jr)),t){case"add":a?u&&l(i.get("length")):(l(i.get(qn)),ar(e)&&l(i.get(ri)));break;case"delete":a||(l(i.get(qn)),ar(e)&&l(i.get(ri)));break;case"set":ar(e)&&l(i.get(qn));break}}Gi()}function nh(e,t){const n=Io.get(e);return n&&n.get(t)}function Jn(e){const t=ue(e);return t===e?t:(We(t,"iterate",jr),mt(e)?t:t.map(Rt))}function os(e){return We(e=ue(e),"iterate",jr),e}function qt(e,t){return un(e)?cr(on(e)?Rt(t):t):Rt(t)}const rh={__proto__:null,[Symbol.iterator](){return Cs(this,Symbol.iterator,e=>qt(this,e))},concat(...e){return Jn(this).concat(...e.map(t=>se(t)?Jn(t):t))},entries(){return Cs(this,"entries",e=>(e[1]=qt(this,e[1]),e))},every(e,t){return zt(this,"every",e,t,void 0,arguments)},filter(e,t){return zt(this,"filter",e,t,n=>n.map(r=>qt(this,r)),arguments)},find(e,t){return zt(this,"find",e,t,n=>qt(this,n),arguments)},findIndex(e,t){return zt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zt(this,"findLast",e,t,n=>qt(this,n),arguments)},findLastIndex(e,t){return zt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ss(this,"includes",e)},indexOf(...e){return Ss(this,"indexOf",e)},join(e){return Jn(this).join(e)},lastIndexOf(...e){return Ss(this,"lastIndexOf",e)},map(e,t){return zt(this,"map",e,t,void 0,arguments)},pop(){return br(this,"pop")},push(...e){return br(this,"push",e)},reduce(e,...t){return Al(this,"reduce",e,t)},reduceRight(e,...t){return Al(this,"reduceRight",e,t)},shift(){return br(this,"shift")},some(e,t){return zt(this,"some",e,t,void 0,arguments)},splice(...e){return br(this,"splice",e)},toReversed(){return Jn(this).toReversed()},toSorted(e){return Jn(this).toSorted(e)},toSpliced(...e){return Jn(this).toSpliced(...e)},unshift(...e){return br(this,"unshift",e)},values(){return Cs(this,"values",e=>qt(this,e))}};function Cs(e,t,n){const r=os(e),o=r[t]();return r!==e&&!mt(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.done||(s.value=n(s.value)),s}),o}const oh=Array.prototype;function zt(e,t,n,r,o,s){const i=os(e),l=i!==e&&!mt(e),a=i[t];if(a!==oh[t]){const f=a.apply(e,s);return l?Rt(f):f}let u=n;i!==e&&(l?u=function(f,d){return n.call(this,qt(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=a.call(i,u,r);return l&&o?o(c):c}function Al(e,t,n,r){const o=os(e),s=o!==e&&!mt(e);let i=n,l=!1;o!==e&&(s?(l=r.length===0,i=function(u,c,f){return l&&(l=!1,u=qt(e,u)),n.call(this,u,qt(e,c),f,e)}):n.length>3&&(i=function(u,c,f){return n.call(this,u,c,f,e)}));const a=o[t](i,...r);return l?qt(e,a):a}function Ss(e,t,n){const r=ue(e);We(r,"iterate",jr);const o=r[t](...n);return(o===-1||o===!1)&&ss(n[0])?(n[0]=ue(n[0]),r[t](...n)):o}function br(e,t,n=[]){ln(),Ki();const r=ue(e)[t].apply(e,n);return Gi(),an(),r}const sh=Bi("__proto__,__v_isRef,__isVue"),sc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Kt));function ih(e){Kt(e)||(e=String(e));const t=ue(this);return We(t,"has",e),t.hasOwnProperty(e)}class ic{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?ph:cc:s?uc:ac).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=se(t);if(!o){let a;if(i&&(a=rh[n]))return a;if(n==="hasOwnProperty")return ih}const l=Reflect.get(t,n,Ae(t)?t:r);if((Kt(n)?sc.has(n):sh(n))||(o||We(t,"get",n),s))return l;if(Ae(l)){const a=i&&Jo(n)?l:l.value;return o&&be(a)?si(a):a}return be(l)?o?si(l):Wn(l):l}}class lc extends ic{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];const i=se(t)&&Jo(n);if(!this._isShallow){const u=un(s);if(!mt(r)&&!un(r)&&(s=ue(s),r=ue(r)),!i&&Ae(s)&&!Ae(r))return u||(s.value=r),!0}const l=i?Number(n)e,ao=e=>Reflect.getPrototypeOf(e);function fh(e,t,n){return function(...r){const o=this.__v_raw,s=ue(o),i=ar(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...r),c=n?oi:t?cr:Rt;return!t&&We(s,"iterate",a?ri:qn),Me(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:l?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function uo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function dh(e,t){const n={get(o){const s=this.__v_raw,i=ue(s),l=ue(o);e||(Bt(o,l)&&We(i,"get",o),We(i,"get",l));const{has:a}=ao(i),u=t?oi:e?cr:Rt;if(a.call(i,o))return u(s.get(o));if(a.call(i,l))return u(s.get(l));s!==i&&s.get(o)},get size(){const o=this.__v_raw;return!e&&We(ue(o),"iterate",qn),o.size},has(o){const s=this.__v_raw,i=ue(s),l=ue(o);return e||(Bt(o,l)&&We(i,"has",o),We(i,"has",l)),o===l?s.has(o):s.has(o)||s.has(l)},forEach(o,s){const i=this,l=i.__v_raw,a=ue(l),u=t?oi:e?cr:Rt;return!e&&We(a,"iterate",qn),l.forEach((c,f)=>o.call(s,u(c),u(f),i))}};return Me(n,e?{add:uo("add"),set:uo("set"),delete:uo("delete"),clear:uo("clear")}:{add(o){const s=ue(this),i=ao(s),l=ue(o),a=!t&&!mt(o)&&!un(o)?l:o;return i.has.call(s,a)||Bt(o,a)&&i.has.call(s,o)||Bt(l,a)&&i.has.call(s,l)||(s.add(a),en(s,"add",a,a)),this},set(o,s){!t&&!mt(s)&&!un(s)&&(s=ue(s));const i=ue(this),{has:l,get:a}=ao(i);let u=l.call(i,o);u||(o=ue(o),u=l.call(i,o));const c=a.call(i,o);return i.set(o,s),u?Bt(s,c)&&en(i,"set",o,s):en(i,"add",o,s),this},delete(o){const s=ue(this),{has:i,get:l}=ao(s);let a=i.call(s,o);a||(o=ue(o),a=i.call(s,o)),l&&l.call(s,o);const u=s.delete(o);return a&&en(s,"delete",o,void 0),u},clear(){const o=ue(this),s=o.size!==0,i=o.clear();return s&&en(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=fh(o,e,t)}),n}function Yi(e,t){const n=dh(e,t);return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(_e(n,o)&&o in r?n:r,o,s)}const hh={get:Yi(!1,!1)},mh={get:Yi(!1,!0)},gh={get:Yi(!0,!1)};const ac=new WeakMap,uc=new WeakMap,cc=new WeakMap,ph=new WeakMap;function vh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _h(e){return e.__v_skip||!Object.isExtensible(e)?0:vh(Vd(e))}function Wn(e){return un(e)?e:Xi(e,!1,ah,hh,ac)}function fc(e){return Xi(e,!1,ch,mh,uc)}function si(e){return Xi(e,!0,uh,gh,cc)}function Xi(e,t,n,r,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=_h(e);if(s===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,s===2?r:n);return o.set(e,l),l}function on(e){return un(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function un(e){return!!(e&&e.__v_isReadonly)}function mt(e){return!!(e&&e.__v_isShallow)}function ss(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function Kn(e){return!_e(e,"__v_skip")&&Object.isExtensible(e)&&Wu(e,"__v_skip",!0),e}const Rt=e=>be(e)?Wn(e):e,cr=e=>be(e)?si(e):e;function Ae(e){return e?e.__v_isRef===!0:!1}function me(e){return hc(e,!1)}function dc(e){return hc(e,!0)}function hc(e,t){return Ae(e)?e:new bh(e,t)}class bh{constructor(t,n){this.dep=new Qi,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:Rt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||mt(t)||un(t);t=r?t:ue(t),Bt(t,n)&&(this._rawValue=t,this._value=r?t:Rt(t),this.dep.trigger())}}function Cn(e){return Ae(e)?e.value:e}const yh={get:(e,t,n)=>t==="__v_raw"?e:Cn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ae(o)&&!Ae(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function mc(e){return on(e)?e:new Proxy(e,yh)}function Eh(e){const t=se(e)?new Array(e.length):{};for(const n in e)t[n]=Ch(e,n);return t}class wh{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=ue(t);let o=!0,s=t;if(!se(t)||!Jo(String(n)))do o=!ss(s)||mt(s);while(o&&(s=s.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=Cn(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ae(this._raw[this._key])){const n=this._object[this._key];if(Ae(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return nh(this._raw,this._key)}}function Ch(e,t,n){return new wh(e,t,n)}class Sh{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Qi(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Br-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return Zu(this,!0),!0}get value(){const t=this.dep.track();return nc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function kh(e,t,n=!1){let r,o;return ae(e)?r=e:(r=e.get,o=e.set),new Sh(r,o,n)}const co={},No=new WeakMap;let Nn;function xh(e,t=!1,n=Nn){if(n){let r=No.get(n);r||No.set(n,r=[]),r.push(e)}}function Th(e,t,n=Ce){const{immediate:r,deep:o,once:s,scheduler:i,augmentJob:l,call:a}=n,u=v=>o?v:mt(v)||o===!1||o===0?tn(v,1):tn(v);let c,f,d,g,y=!1,C=!1;if(Ae(e)?(f=()=>e.value,y=mt(e)):on(e)?(f=()=>u(e),y=!0):se(e)?(C=!0,y=e.some(v=>on(v)||mt(v)),f=()=>e.map(v=>{if(Ae(v))return v.value;if(on(v))return u(v);if(ae(v))return a?a(v,2):v()})):ae(e)?t?f=a?()=>a(e,2):e:f=()=>{if(d){ln();try{d()}finally{an()}}const v=Nn;Nn=c;try{return a?a(e,3,[g]):e(g)}finally{Nn=v}}:f=jt,t&&o){const v=f,A=o===!0?1/0:o;f=()=>tn(v(),A)}const S=Yu(),_=()=>{c.stop(),S&&S.active&&Ui(S.effects,c)};if(s&&t){const v=t;t=(...A)=>{v(...A),_()}}let h=C?new Array(e.length).fill(co):co;const E=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const A=c.run();if(o||y||(C?A.some((P,R)=>Bt(P,h[R])):Bt(A,h))){d&&d();const P=Nn;Nn=c;try{const R=[A,h===co?void 0:C&&h[0]===co?[]:h,g];h=A,a?a(t,3,R):t(...R)}finally{Nn=P}}}else c.run()};return l&&l(E),c=new Xu(f),c.scheduler=i?()=>i(E,!1):E,g=v=>xh(v,!1,c),d=c.onStop=()=>{const v=No.get(c);if(v){if(a)a(v,4);else for(const A of v)A();No.delete(c)}},t?r?E(!0):h=c.run():i?i(E.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}function tn(e,t=1/0,n){if(t<=0||!be(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ae(e))tn(e.value,t,n);else if(se(e))for(let r=0;r{tn(r,t,n)});else if(Hu(e)){for(const r in e)tn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&tn(e[r],t,n)}return e}function no(e,t,n,r){try{return r?e(...r):e()}catch(o){is(o,t,n)}}function Ot(e,t,n,r){if(ae(e)){const o=no(e,t,n,r);return o&&ju(o)&&o.catch(s=>{is(s,t,n)}),o}if(se(e)){const o=[];for(let s=0;s>>1,o=Je[r],s=Ur(o);s=Ur(n)?Je.push(e):Je.splice(Rh(t),0,e),e.flags|=1,pc()}}function pc(){Mo||(Mo=gc.then(_c))}function Oh(e){se(e)?ur.push(...e):vn&&e.id===-1?vn.splice(or+1,0,e):e.flags&1||(ur.push(e),e.flags|=1),pc()}function Rl(e,t,n=$t+1){for(;nUr(n)-Ur(r));if(ur.length=0,vn){vn.push(...t);return}for(vn=t,or=0;ore.id==null?e.flags&2?-1:1/0:e.id;function _c(e){try{for($t=0;$t{r._d&&Bo(-1);const s=Do(t);let i;try{i=e(...o)}finally{Do(s),r._d&&Bo(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function yc(e,t){if(ft===null)return e;const n=ds(ft),r=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&ae(t)?t.call(r&&r.proxy):t}}function Ph(){return!!(ke()||Bn)}const Ih=Symbol.for("v-scx"),Nh=()=>it(Ih);function ge(e,t,n){return Ec(e,t,n)}function Ec(e,t,n=Ce){const{immediate:r,deep:o,flush:s,once:i}=n,l=Me({},n),a=t&&r||!t&&s!=="post";let u;if(Gr){if(s==="sync"){const g=Nh();u=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=jt,g.resume=jt,g.pause=jt,g}}const c=Ge;l.call=(g,y,C)=>Ot(g,c,y,C);let f=!1;s==="post"?l.scheduler=g=>{Ne(g,c&&c.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(g,y)=>{y?g():Ji(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,c&&(g.id=c.uid,g.i=c))};const d=Th(e,t,l);return Gr&&(u?u.push(d):a&&d()),d}function Mh(e,t,n){const r=this.proxy,o=xe(e)?e.includes(".")?wc(r,e):()=>r[e]:e.bind(r,r);let s;ae(t)?s=t:(s=t.handler,n=t);const i=oo(this),l=Ec(o,s.bind(r),n);return i(),l}function wc(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;oe.__isTeleport,Mr=e=>e&&(e.disabled||e.disabled===""),Ol=e=>e&&(e.defer||e.defer===""),Ll=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ii=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},kc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,o,s,i,l,a,u){const{mc:c,pc:f,pbc:d,o:{insert:g,querySelector:y,createText:C,createComment:S}}=u,_=Mr(t.props);let{shapeFlag:h,children:E,dynamicChildren:v}=t;if(e==null){const A=t.el=C(""),P=t.anchor=C("");g(A,n,r),g(P,n,r);const R=(F,I)=>{h&16&&c(E,F,I,o,s,i,l,a)},H=()=>{const F=t.target=ii(t.props,y),I=li(F,t,C,g);F&&(i!=="svg"&&Ll(F)?i="svg":i!=="mathml"&&Pl(F)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(F),_||(R(F,I),ko(t,!1)))};_&&(R(n,P),ko(t,!0)),Ol(t.props)?(t.el.__isMounted=!1,Ne(()=>{H(),delete t.el.__isMounted},s)):H()}else{if(Ol(t.props)&&e.el.__isMounted===!1){Ne(()=>{kc.process(e,t,n,r,o,s,i,l,a,u)},s);return}t.el=e.el,t.targetStart=e.targetStart;const A=t.anchor=e.anchor,P=t.target=e.target,R=t.targetAnchor=e.targetAnchor,H=Mr(e.props),F=H?n:P,I=H?A:R;if(i==="svg"||Ll(P)?i="svg":(i==="mathml"||Pl(P))&&(i="mathml"),v?(d(e.dynamicChildren,v,F,o,s,i,l),rl(e,t,!0)):a||f(e,t,F,I,o,s,i,l,!1),_)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):fo(t,n,A,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const N=t.target=ii(t.props,y);N&&fo(t,N,null,u,0)}else H&&fo(t,P,R,u,1);ko(t,_)}},remove(e,t,n,{um:r,o:{remove:o}},s){const{shapeFlag:i,children:l,anchor:a,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(o(u),o(c)),s&&o(a),i&16){const g=s||!Mr(d);for(let y=0;y{e.isMounted=!0}),Et(()=>{e.isUnmounting=!0}),e}const pt=[Function,Array],Tc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:pt,onEnter:pt,onAfterEnter:pt,onEnterCancelled:pt,onBeforeLeave:pt,onLeave:pt,onAfterLeave:pt,onLeaveCancelled:pt,onBeforeAppear:pt,onAppear:pt,onAfterAppear:pt,onAppearCancelled:pt},Ac=e=>{const t=e.subTree;return t.component?Ac(t.component):t},Fh={name:"BaseTransition",props:Tc,setup(e,{slots:t}){const n=ke(),r=xc();return()=>{const o=t.default&&Zi(t.default(),!0);if(!o||!o.length)return;const s=Rc(o),i=ue(e),{mode:l}=i;if(r.isLeaving)return ks(s);const a=Il(s);if(!a)return ks(s);let u=Hr(a,i,r,n,f=>u=f);a.type!==Ke&&Sn(a,u);let c=n.subTree&&Il(n.subTree);if(c&&c.type!==Ke&&!yn(c,a)&&Ac(n).type!==Ke){let f=Hr(c,i,r,n);if(Sn(c,f),l==="out-in"&&a.type!==Ke)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},ks(s);l==="in-out"&&a.type!==Ke?f.delayLeave=(d,g,y)=>{const C=Oc(r,c);C[String(c.key)]=c,d[Ft]=()=>{g(),d[Ft]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{y(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return s}}};function Rc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ke){t=n;break}}return t}const qh=Fh;function Oc(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 Hr(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:g,onAfterLeave:y,onLeaveCancelled:C,onBeforeAppear:S,onAppear:_,onAfterAppear:h,onAppearCancelled:E}=t,v=String(e.key),A=Oc(n,e),P=(F,I)=>{F&&Ot(F,r,9,I)},R=(F,I)=>{const N=I[1];P(F,I),se(F)?F.every(x=>x.length<=1)&&N():F.length<=1&&N()},H={mode:i,persisted:l,beforeEnter(F){let I=a;if(!n.isMounted)if(s)I=S||a;else return;F[Ft]&&F[Ft](!0);const N=A[v];N&&yn(e,N)&&N.el[Ft]&&N.el[Ft](),P(I,[F])},enter(F){if(A[v]===e)return;let I=u,N=c,x=f;if(!n.isMounted)if(s)I=_||u,N=h||c,x=E||f;else return;let B=!1;F[yr]=Y=>{B||(B=!0,Y?P(x,[F]):P(N,[F]),H.delayedLeave&&H.delayedLeave(),F[yr]=void 0)};const q=F[yr].bind(null,!1);I?R(I,[F,q]):q()},leave(F,I){const N=String(e.key);if(F[yr]&&F[yr](!0),n.isUnmounting)return I();P(d,[F]);let x=!1;F[Ft]=q=>{x||(x=!0,I(),q?P(C,[F]):P(y,[F]),F[Ft]=void 0,A[N]===e&&delete A[N])};const B=F[Ft].bind(null,!1);A[N]=e,g?R(g,[F,B]):B()},clone(F){const I=Hr(F,t,n,r,o);return o&&o(I),I}};return H}function ks(e){if(ls(e))return e=cn(e),e.children=null,e}function Il(e){if(!ls(e))return Sc(e.type)&&e.children?Rc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ae(n.default))return n.default()}}function Sn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Sn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zi(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;sDr(C,t&&(se(t)?t[S]:t),n,r,o));return}if(Vn(r)&&!o){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Dr(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?ds(r.component):r.el,i=o?null:s,{i:l,r:a}=e,u=t&&t.r,c=l.refs===Ce?l.refs={}:l.refs,f=l.setupState,d=ue(f),g=f===Ce?Vu:C=>Nl(c,C)?!1:_e(d,C),y=(C,S)=>!(S&&Nl(c,S));if(u!=null&&u!==a){if(Ml(t),xe(u))c[u]=null,g(u)&&(f[u]=null);else if(Ae(u)){const C=t;y(u,C.k)&&(u.value=null),C.k&&(c[C.k]=null)}}if(ae(a))no(a,l,12,[i,c]);else{const C=xe(a),S=Ae(a);if(C||S){const _=()=>{if(e.f){const h=C?g(a)?f[a]:c[a]:y()||!e.k?a.value:c[e.k];if(o)se(h)&&Ui(h,s);else if(se(h))h.includes(s)||h.push(s);else if(C)c[a]=[s],g(a)&&(f[a]=c[a]);else{const E=[s];y(a,e.k)&&(a.value=E),e.k&&(c[e.k]=E)}}else C?(c[a]=i,g(a)&&(f[a]=i)):S&&(y(a,e.k)&&(a.value=i),e.k&&(c[e.k]=i))};if(i){const h=()=>{_(),$o.delete(e)};h.id=-1,$o.set(e,h),Ne(h,n)}else Ml(e),_()}}}function Ml(e){const t=$o.get(e);t&&(t.flags|=8,$o.delete(e))}ts().requestIdleCallback;ts().cancelIdleCallback;const Vn=e=>!!e.type.__asyncLoader,ls=e=>e.type.__isKeepAlive,Vh={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=ke(),r=n.ctx;if(!r.renderer)return()=>{const h=t.default&&t.default();return h&&h.length===1?h[0]:h};const o=new Map,s=new Set;let i=null;const l=n.suspense,{renderer:{p:a,m:u,um:c,o:{createElement:f}}}=r,d=f("div");r.activate=(h,E,v,A,P)=>{const R=h.component;u(h,E,v,0,l),a(R.vnode,h,E,v,R,l,A,h.slotScopeIds,P),Ne(()=>{R.isDeactivated=!1,R.a&&Pr(R.a);const H=h.props&&h.props.onVnodeMounted;H&&_t(H,R.parent,h)},l)},r.deactivate=h=>{const E=h.component;qo(E.m),qo(E.a),u(h,d,null,1,l),Ne(()=>{E.da&&Pr(E.da);const v=h.props&&h.props.onVnodeUnmounted;v&&_t(v,E.parent,h),E.isDeactivated=!0},l)};function g(h){xs(h),c(h,n,l,!0)}function y(h){o.forEach((E,v)=>{const A=hi(Vn(E)?E.type.__asyncResolved||{}:E.type);A&&!h(A)&&C(v)})}function C(h){const E=o.get(h);E&&(!i||!yn(E,i))?g(E):i&&xs(i),o.delete(h),s.delete(h)}ge(()=>[e.include,e.exclude],([h,E])=>{h&&y(v=>Tr(h,v)),E&&y(v=>!Tr(E,v))},{flush:"post",deep:!0});let S=null;const _=()=>{S!=null&&(Vo(n.subTree.type)?Ne(()=>{o.set(S,ho(n.subTree))},n.subTree.suspense):o.set(S,ho(n.subTree)))};return Gt(_),el(_),Et(()=>{o.forEach(h=>{const{subTree:E,suspense:v}=n,A=ho(E);if(h.type===A.type&&h.key===A.key){xs(A);const P=A.component.da;P&&Ne(P,v);return}g(h)})}),()=>{if(S=null,!t.default)return i=null;const h=t.default(),E=h[0];if(h.length>1)return i=null,h;if(!Kr(E)||!(E.shapeFlag&4)&&!(E.shapeFlag&128))return i=null,E;let v=ho(E);if(v.type===Ke)return i=null,v;const A=v.type,P=hi(Vn(v)?v.type.__asyncResolved||{}:A),{include:R,exclude:H,max:F}=e;if(R&&(!P||!Tr(R,P))||H&&P&&Tr(H,P))return v.shapeFlag&=-257,i=v,E;const I=v.key==null?A:v.key,N=o.get(I);return v.el&&(v=cn(v),E.shapeFlag&128&&(E.ssContent=v)),S=I,N?(v.el=N.el,v.component=N.component,v.transition&&Sn(v,v.transition),v.shapeFlag|=512,s.delete(I),s.add(I)):(s.add(I),F&&s.size>parseInt(F,10)&&C(s.values().next().value)),v.shapeFlag|=256,i=v,Vo(E.type)?E:v}}},c0=Vh;function Tr(e,t){return se(e)?e.some(n=>Tr(n,t)):xe(e)?e.split(",").includes(t):qd(e)?(e.lastIndex=0,e.test(t)):!1}function Pc(e,t){Ic(e,"a",t)}function as(e,t){Ic(e,"da",t)}function Ic(e,t,n=Ge){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(us(t,r,n),n){let o=n.parent;for(;o&&o.parent;)ls(o.parent.vnode)&&Bh(r,t,n,o),o=o.parent}}function Bh(e,t,n,r){const o=us(t,e,r,!0);cs(()=>{Ui(r[t],o)},n)}function xs(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ho(e){return e.shapeFlag&128?e.ssContent:e}function us(e,t,n=Ge,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ln();const l=oo(n),a=Ot(t,n,e,i);return l(),an(),a});return r?o.unshift(s):o.push(s),s}}const dn=e=>(t,n=Ge)=>{(!Gr||e==="sp")&&us(e,(...r)=>t(...r),n)},jh=dn("bm"),Gt=dn("m"),Nc=dn("bu"),el=dn("u"),Et=dn("bum"),cs=dn("um"),Uh=dn("sp"),Hh=dn("rtg"),Wh=dn("rtc");function Kh(e,t=Ge){us("ec",e,t)}const Gh="components";function zh(e,t){return Yh(Gh,e,!0,t)||e}const Qh=Symbol.for("v-ndc");function Yh(e,t,n=!0,r=!1){const o=ft||Ge;if(o){const s=o.type;{const l=hi(s,!1);if(l&&(l===t||l===tt(t)||l===es(tt(t))))return s}const i=Dl(o[e]||s[e],t)||Dl(o.appContext[e],t);return!i&&r?s:i}}function Dl(e,t){return e&&(e[t]||e[tt(t)]||e[es(tt(t))])}function f0(e,t,n,r){let o;const s=n&&n[r],i=se(e);if(i||xe(e)){const l=i&&on(e);let a=!1,u=!1;l&&(a=!mt(e),u=un(e),e=os(e)),o=new Array(e.length);for(let c=0,f=e.length;ct(l,a,void 0,s&&s[a]));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,u=l.length;ae?tf(e)?ds(e):ai(e.parent):null,$r=Me(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=>ai(e.parent),$root:e=>ai(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Dc(e),$forceUpdate:e=>e.f||(e.f=()=>{Ji(e.update)}),$nextTick:e=>e.n||(e.n=rt.bind(e.proxy)),$watch:e=>Mh.bind(e)}),Ts=(e,t)=>e!==Ce&&!e.__isScriptSetup&&_e(e,t),Xh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Ts(r,t))return i[t]=1,r[t];if(o!==Ce&&_e(o,t))return i[t]=2,o[t];if(_e(s,t))return i[t]=3,s[t];if(n!==Ce&&_e(n,t))return i[t]=4,n[t];ui&&(i[t]=0)}}const u=$r[t];let c,f;if(u)return t==="$attrs"&&We(e.attrs,"get",""),u(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==Ce&&_e(n,t))return i[t]=4,n[t];if(f=a.config.globalProperties,_e(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return Ts(o,t)?(o[t]=n,!0):r!==Ce&&_e(r,t)?(r[t]=n,!0):_e(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,props:s,type:i}},l){let a;return!!(n[l]||e!==Ce&&l[0]!=="$"&&_e(e,l)||Ts(t,l)||_e(s,l)||_e(r,l)||_e($r,l)||_e(o.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:_e(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function $l(e){return se(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ui=!0;function Jh(e){const t=Dc(e),n=e.proxy,r=e.ctx;ui=!1,t.beforeCreate&&Fl(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:g,updated:y,activated:C,deactivated:S,beforeDestroy:_,beforeUnmount:h,destroyed:E,unmounted:v,render:A,renderTracked:P,renderTriggered:R,errorCaptured:H,serverPrefetch:F,expose:I,inheritAttrs:N,components:x,directives:B,filters:q}=t;if(u&&Zh(u,r,null),i)for(const Q in i){const j=i[Q];ae(j)&&(r[Q]=j.bind(n))}if(o){const Q=o.call(n,n);be(Q)&&(e.data=Wn(Q))}if(ui=!0,s)for(const Q in s){const j=s[Q],re=ae(j)?j.bind(n,n):ae(j.get)?j.get.bind(n,n):jt,ye=!ae(j)&&ae(j.set)?j.set.bind(n):jt,le=$({get:re,set:ye});Object.defineProperty(r,Q,{enumerable:!0,configurable:!0,get:()=>le.value,set:z=>le.value=z})}if(l)for(const Q in l)Mc(l[Q],r,n,Q);if(a){const Q=ae(a)?a.call(n):a;Reflect.ownKeys(Q).forEach(j=>{So(j,Q[j])})}c&&Fl(c,e,"c");function ee(Q,j){se(j)?j.forEach(re=>Q(re.bind(n))):j&&Q(j.bind(n))}if(ee(jh,f),ee(Gt,d),ee(Nc,g),ee(el,y),ee(Pc,C),ee(as,S),ee(Kh,H),ee(Wh,P),ee(Hh,R),ee(Et,h),ee(cs,v),ee(Uh,F),se(I))if(I.length){const Q=e.exposed||(e.exposed={});I.forEach(j=>{Object.defineProperty(Q,j,{get:()=>n[j],set:re=>n[j]=re,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===jt&&(e.render=A),N!=null&&(e.inheritAttrs=N),x&&(e.components=x),B&&(e.directives=B),F&&Lc(e)}function Zh(e,t,n=jt){se(e)&&(e=ci(e));for(const r in e){const o=e[r];let s;be(o)?"default"in o?s=it(o.from||r,o.default,!0):s=it(o.from||r):s=it(o),Ae(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Fl(e,t,n){Ot(se(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Mc(e,t,n,r){let o=r.includes(".")?wc(n,r):()=>n[r];if(xe(e)){const s=t[e];ae(s)&&ge(o,s)}else if(ae(e))ge(o,e.bind(n));else if(be(e))if(se(e))e.forEach(s=>Mc(s,t,n,r));else{const s=ae(e.handler)?e.handler.bind(n):t[e.handler];ae(s)&&ge(o,s,e)}}function Dc(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(u=>Fo(a,u,i,!0)),Fo(a,t,i)),be(t)&&s.set(t,a),a}function Fo(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Fo(e,s,n,!0),o&&o.forEach(i=>Fo(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=em[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const em={data:ql,props:Vl,emits:Vl,methods:Ar,computed:Ar,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Ar,directives:Ar,watch:nm,provide:ql,inject:tm};function ql(e,t){return t?e?function(){return Me(ae(e)?e.call(this,this):e,ae(t)?t.call(this,this):t)}:t:e}function tm(e,t){return Ar(ci(e),ci(t))}function ci(e){if(se(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${tt(t)}Modifiers`]||e[`${Hn(t)}Modifiers`];function im(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const s=t.startsWith("update:"),i=s&&sm(r,t.slice(7));i&&(i.trim&&(o=n.map(c=>xe(c)?c.trim():c)),i.number&&(o=n.map(Ud)));let l,a=r[l=ys(t)]||r[l=ys(tt(t))];!a&&s&&(a=r[l=ys(Hn(t))]),a&&Ot(a,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ot(u,e,6,o)}}const lm=new WeakMap;function Fc(e,t,n=!1){const r=n?lm:t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!ae(e)){const a=u=>{const c=Fc(u,t,!0);c&&(l=!0,Me(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(be(e)&&r.set(e,null),null):(se(s)?s.forEach(a=>i[a]=null):Me(i,s),be(e)&&r.set(e,i),i)}function fs(e,t){return!e||!Xo(t)?!1:(t=t.slice(2).replace(/Once$/,""),_e(e,t[0].toLowerCase()+t.slice(1))||_e(e,Hn(t))||_e(e,t))}function Bl(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:u,renderCache:c,props:f,data:d,setupState:g,ctx:y,inheritAttrs:C}=e,S=Do(e);let _,h;try{if(n.shapeFlag&4){const v=o||r,A=v;_=Vt(u.call(A,v,c,f,g,d,y)),h=l}else{const v=t;_=Vt(v.length>1?v(f,{attrs:l,slots:i,emit:a}):v(f,null)),h=t.props?l:am(l)}}catch(v){Fr.length=0,is(v,e,1),_=Ze(Ke)}let E=_;if(h&&C!==!1){const v=Object.keys(h),{shapeFlag:A}=E;v.length&&A&7&&(s&&v.some(ji)&&(h=um(h,s)),E=cn(E,h,!1,!0))}return n.dirs&&(E=cn(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&Sn(E,n.transition),_=E,Do(S),_}const am=e=>{let t;for(const n in e)(n==="class"||n==="style"||Xo(n))&&((t||(t={}))[n]=e[n]);return t},um=(e,t)=>{const n={};for(const r in e)(!ji(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cm(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?jl(r,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let f=0;fObject.create(Vc),jc=e=>Object.getPrototypeOf(e)===Vc;function dm(e,t,n,r=!1){const o={},s=Bc();e.propsDefaults=Object.create(null),Uc(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:fc(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function hm(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=ue(o),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[d,g]=Hc(f,t,!0);Me(i,d),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!s&&!a)return be(e)&&r.set(e,lr),lr;if(se(s))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",nl=e=>se(e)?e.map(Vt):[Vt(e)],gm=(e,t,n)=>{if(t._n)return t;const r=Lh((...o)=>nl(t(...o)),n);return r._c=!1,r},Wc=(e,t,n)=>{const r=e._ctx;for(const o in e){if(tl(o))continue;const s=e[o];if(ae(s))t[o]=gm(o,s,r);else if(s!=null){const i=nl(s);t[o]=()=>i}}},Kc=(e,t)=>{const n=nl(t);e.slots.default=()=>n},Gc=(e,t,n)=>{for(const r in t)(n||!tl(r))&&(e[r]=t[r])},pm=(e,t,n)=>{const r=e.slots=Bc();if(e.vnode.shapeFlag&32){const o=t._;o?(Gc(r,t,n),n&&Wu(r,"_",o,!0)):Wc(t,r)}else t&&Kc(e,t)},vm=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Ce;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:Gc(o,t,n):(s=!t.$stable,Wc(t,o)),i=t}else t&&(Kc(e,t),i={default:1});if(s)for(const l in o)!tl(l)&&i[l]==null&&delete o[l]},Ne=wm;function _m(e){return bm(e)}function bm(e,t){const n=ts();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:g=jt,insertStaticContent:y}=e,C=(b,w,O,U=null,K=null,W=null,m=void 0,p=null,k=!!w.dynamicChildren)=>{if(b===w)return;b&&!yn(b,w)&&(U=M(b),z(b,K,W,!0),b=null),w.patchFlag===-2&&(k=!1,w.dynamicChildren=null);const{type:L,ref:Z,shapeFlag:G}=w;switch(L){case ro:S(b,w,O,U);break;case Ke:_(b,w,O,U);break;case Rs:b==null&&h(w,O,U,m);break;case ut:x(b,w,O,U,K,W,m,p,k);break;default:G&1?A(b,w,O,U,K,W,m,p,k):G&6?B(b,w,O,U,K,W,m,p,k):(G&64||G&128)&&L.process(b,w,O,U,K,W,m,p,k,ne)}Z!=null&&K?Dr(Z,b&&b.ref,W,w||b,!w):Z==null&&b&&b.ref!=null&&Dr(b.ref,null,W,b,!0)},S=(b,w,O,U)=>{if(b==null)r(w.el=l(w.children),O,U);else{const K=w.el=b.el;w.children!==b.children&&u(K,w.children)}},_=(b,w,O,U)=>{b==null?r(w.el=a(w.children||""),O,U):w.el=b.el},h=(b,w,O,U)=>{[b.el,b.anchor]=y(b.children,w,O,U,b.el,b.anchor)},E=({el:b,anchor:w},O,U)=>{let K;for(;b&&b!==w;)K=d(b),r(b,O,U),b=K;r(w,O,U)},v=({el:b,anchor:w})=>{let O;for(;b&&b!==w;)O=d(b),o(b),b=O;o(w)},A=(b,w,O,U,K,W,m,p,k)=>{if(w.type==="svg"?m="svg":w.type==="math"&&(m="mathml"),b==null)P(w,O,U,K,W,m,p,k);else{const L=b.el&&b.el._isVueCE?b.el:null;try{L&&L._beginPatch(),F(b,w,K,W,m,p,k)}finally{L&&L._endPatch()}}},P=(b,w,O,U,K,W,m,p)=>{let k,L;const{props:Z,shapeFlag:G,transition:T,dirs:D}=b;if(k=b.el=i(b.type,W,Z&&Z.is,Z),G&8?c(k,b.children):G&16&&H(b.children,k,null,U,K,As(b,W),m,p),D&&Rn(b,null,U,"created"),R(k,b,b.scopeId,m,U),Z){for(const ie in Z)ie!=="value"&&!Lr(ie)&&s(k,ie,null,Z[ie],W,U);"value"in Z&&s(k,"value",null,Z.value,W),(L=Z.onVnodeBeforeMount)&&_t(L,U,b)}D&&Rn(b,null,U,"beforeMount");const te=ym(K,T);te&&T.beforeEnter(k),r(k,w,O),((L=Z&&Z.onVnodeMounted)||te||D)&&Ne(()=>{L&&_t(L,U,b),te&&T.enter(k),D&&Rn(b,null,U,"mounted")},K)},R=(b,w,O,U,K)=>{if(O&&g(b,O),U)for(let W=0;W{for(let L=k;L{const p=w.el=b.el;let{patchFlag:k,dynamicChildren:L,dirs:Z}=w;k|=b.patchFlag&16;const G=b.props||Ce,T=w.props||Ce;let D;if(O&&On(O,!1),(D=T.onVnodeBeforeUpdate)&&_t(D,O,w,b),Z&&Rn(w,b,O,"beforeUpdate"),O&&On(O,!0),(G.innerHTML&&T.innerHTML==null||G.textContent&&T.textContent==null)&&c(p,""),L?I(b.dynamicChildren,L,p,O,U,As(w,K),W):m||j(b,w,p,null,O,U,As(w,K),W,!1),k>0){if(k&16)N(p,G,T,O,K);else if(k&2&&G.class!==T.class&&s(p,"class",null,T.class,K),k&4&&s(p,"style",G.style,T.style,K),k&8){const te=w.dynamicProps;for(let ie=0;ie{D&&_t(D,O,w,b),Z&&Rn(w,b,O,"updated")},U)},I=(b,w,O,U,K,W,m)=>{for(let p=0;p{if(w!==O){if(w!==Ce)for(const W in w)!Lr(W)&&!(W in O)&&s(b,W,w[W],null,K,U);for(const W in O){if(Lr(W))continue;const m=O[W],p=w[W];m!==p&&W!=="value"&&s(b,W,p,m,K,U)}"value"in O&&s(b,"value",w.value,O.value,K)}},x=(b,w,O,U,K,W,m,p,k)=>{const L=w.el=b?b.el:l(""),Z=w.anchor=b?b.anchor:l("");let{patchFlag:G,dynamicChildren:T,slotScopeIds:D}=w;D&&(p=p?p.concat(D):D),b==null?(r(L,O,U),r(Z,O,U),H(w.children||[],O,Z,K,W,m,p,k)):G>0&&G&64&&T&&b.dynamicChildren&&b.dynamicChildren.length===T.length?(I(b.dynamicChildren,T,O,K,W,m,p),(w.key!=null||K&&w===K.subTree)&&rl(b,w,!0)):j(b,w,O,Z,K,W,m,p,k)},B=(b,w,O,U,K,W,m,p,k)=>{w.slotScopeIds=p,b==null?w.shapeFlag&512?K.ctx.activate(w,O,U,m,k):q(w,O,U,K,W,m,k):Y(b,w,k)},q=(b,w,O,U,K,W,m)=>{const p=b.component=Om(b,U,K);if(ls(b)&&(p.ctx.renderer=ne),Lm(p,!1,m),p.asyncDep){if(K&&K.registerDep(p,ee,m),!b.el){const k=p.subTree=Ze(Ke);_(null,k,w,O),b.placeholder=k.el}}else ee(p,b,w,O,K,W,m)},Y=(b,w,O)=>{const U=w.component=b.component;if(cm(b,w,O))if(U.asyncDep&&!U.asyncResolved){Q(U,w,O);return}else U.next=w,U.update();else w.el=b.el,U.vnode=w},ee=(b,w,O,U,K,W,m)=>{const p=()=>{if(b.isMounted){let{next:G,bu:T,u:D,parent:te,vnode:ie}=b;{const wt=zc(b);if(wt){G&&(G.el=ie.el,Q(b,G,m)),wt.asyncDep.then(()=>{Ne(()=>{b.isUnmounted||L()},K)});return}}let he=G,Re;On(b,!1),G?(G.el=ie.el,Q(b,G,m)):G=ie,T&&Pr(T),(Re=G.props&&G.props.onVnodeBeforeUpdate)&&_t(Re,te,G,ie),On(b,!0);const we=Bl(b),gt=b.subTree;b.subTree=we,C(gt,we,f(gt.el),M(gt),b,K,W),G.el=we.el,he===null&&fm(b,we.el),D&&Ne(D,K),(Re=G.props&&G.props.onVnodeUpdated)&&Ne(()=>_t(Re,te,G,ie),K)}else{let G;const{el:T,props:D}=w,{bm:te,m:ie,parent:he,root:Re,type:we}=b,gt=Vn(w);On(b,!1),te&&Pr(te),!gt&&(G=D&&D.onVnodeBeforeMount)&&_t(G,he,w),On(b,!0);{Re.ce&&Re.ce._hasShadowRoot()&&Re.ce._injectChildStyle(we,b.parent?b.parent.type:void 0);const wt=b.subTree=Bl(b);C(null,wt,O,U,b,K,W),w.el=wt.el}if(ie&&Ne(ie,K),!gt&&(G=D&&D.onVnodeMounted)){const wt=w;Ne(()=>_t(G,he,wt),K)}(w.shapeFlag&256||he&&Vn(he.vnode)&&he.vnode.shapeFlag&256)&&b.a&&Ne(b.a,K),b.isMounted=!0,w=O=U=null}};b.scope.on();const k=b.effect=new Xu(p);b.scope.off();const L=b.update=k.run.bind(k),Z=b.job=k.runIfDirty.bind(k);Z.i=b,Z.id=b.uid,k.scheduler=()=>Ji(Z),On(b,!0),L()},Q=(b,w,O)=>{w.component=b;const U=b.vnode.props;b.vnode=w,b.next=null,hm(b,w.props,U,O),vm(b,w.children,O),ln(),Rl(b),an()},j=(b,w,O,U,K,W,m,p,k=!1)=>{const L=b&&b.children,Z=b?b.shapeFlag:0,G=w.children,{patchFlag:T,shapeFlag:D}=w;if(T>0){if(T&128){ye(L,G,O,U,K,W,m,p,k);return}else if(T&256){re(L,G,O,U,K,W,m,p,k);return}}D&8?(Z&16&&oe(L,K,W),G!==L&&c(O,G)):Z&16?D&16?ye(L,G,O,U,K,W,m,p,k):oe(L,K,W,!0):(Z&8&&c(O,""),D&16&&H(G,O,U,K,W,m,p,k))},re=(b,w,O,U,K,W,m,p,k)=>{b=b||lr,w=w||lr;const L=b.length,Z=w.length,G=Math.min(L,Z);let T;for(T=0;TZ?oe(b,K,W,!0,!1,G):H(w,O,U,K,W,m,p,k,G)},ye=(b,w,O,U,K,W,m,p,k)=>{let L=0;const Z=w.length;let G=b.length-1,T=Z-1;for(;L<=G&&L<=T;){const D=b[L],te=w[L]=k?Zt(w[L]):Vt(w[L]);if(yn(D,te))C(D,te,O,null,K,W,m,p,k);else break;L++}for(;L<=G&&L<=T;){const D=b[G],te=w[T]=k?Zt(w[T]):Vt(w[T]);if(yn(D,te))C(D,te,O,null,K,W,m,p,k);else break;G--,T--}if(L>G){if(L<=T){const D=T+1,te=DT)for(;L<=G;)z(b[L],K,W,!0),L++;else{const D=L,te=L,ie=new Map;for(L=te;L<=T;L++){const at=w[L]=k?Zt(w[L]):Vt(w[L]);at.key!=null&&ie.set(at.key,L)}let he,Re=0;const we=T-te+1;let gt=!1,wt=0;const _r=new Array(we);for(L=0;L=we){z(at,K,W,!0);continue}let It;if(at.key!=null)It=ie.get(at.key);else for(he=te;he<=T;he++)if(_r[he-te]===0&&yn(at,w[he])){It=he;break}It===void 0?z(at,K,W,!0):(_r[It-te]=L+1,It>=wt?wt=It:gt=!0,C(at,w[It],O,null,K,W,m,p,k),Re++)}const El=gt?Em(_r):lr;for(he=El.length-1,L=we-1;L>=0;L--){const at=te+L,It=w[at],wl=w[at+1],Cl=at+1{const{el:W,type:m,transition:p,children:k,shapeFlag:L}=b;if(L&6){le(b.component.subTree,w,O,U);return}if(L&128){b.suspense.move(w,O,U);return}if(L&64){m.move(b,w,O,ne);return}if(m===ut){r(W,w,O);for(let G=0;Gp.enter(W),K);else{const{leave:G,delayLeave:T,afterLeave:D}=p,te=()=>{b.ctx.isUnmounted?o(W):r(W,w,O)},ie=()=>{W._isLeaving&&W[Ft](!0),G(W,()=>{te(),D&&D()})};T?T(W,te,ie):ie()}else r(W,w,O)},z=(b,w,O,U=!1,K=!1)=>{const{type:W,props:m,ref:p,children:k,dynamicChildren:L,shapeFlag:Z,patchFlag:G,dirs:T,cacheIndex:D}=b;if(G===-2&&(K=!1),p!=null&&(ln(),Dr(p,null,O,b,!0),an()),D!=null&&(w.renderCache[D]=void 0),Z&256){w.ctx.deactivate(b);return}const te=Z&1&&T,ie=!Vn(b);let he;if(ie&&(he=m&&m.onVnodeBeforeUnmount)&&_t(he,w,b),Z&6)Te(b.component,O,U);else{if(Z&128){b.suspense.unmount(O,U);return}te&&Rn(b,null,w,"beforeUnmount"),Z&64?b.type.remove(b,w,O,ne,U):L&&!L.hasOnce&&(W!==ut||G>0&&G&64)?oe(L,w,O,!1,!0):(W===ut&&G&384||!K&&Z&16)&&oe(k,w,O),U&&fe(b)}(ie&&(he=m&&m.onVnodeUnmounted)||te)&&Ne(()=>{he&&_t(he,w,b),te&&Rn(b,null,w,"unmounted")},O)},fe=b=>{const{type:w,el:O,anchor:U,transition:K}=b;if(w===ut){Ee(O,U);return}if(w===Rs){v(b);return}const W=()=>{o(O),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(b.shapeFlag&1&&K&&!K.persisted){const{leave:m,delayLeave:p}=K,k=()=>m(O,W);p?p(b.el,W,k):k()}else W()},Ee=(b,w)=>{let O;for(;b!==w;)O=d(b),o(b),b=O;o(w)},Te=(b,w,O)=>{const{bum:U,scope:K,job:W,subTree:m,um:p,m:k,a:L}=b;qo(k),qo(L),U&&Pr(U),K.stop(),W&&(W.flags|=8,z(m,b,w,O)),p&&Ne(p,w),Ne(()=>{b.isUnmounted=!0},w)},oe=(b,w,O,U=!1,K=!1,W=0)=>{for(let m=W;m{if(b.shapeFlag&6)return M(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const w=d(b.anchor||b.el),O=w&&w[Cc];return O?d(O):w};let X=!1;const J=(b,w,O)=>{let U;b==null?w._vnode&&(z(w._vnode,null,null,!0),U=w._vnode.component):C(w._vnode||null,b,w,null,null,null,O),w._vnode=b,X||(X=!0,Rl(U),vc(),X=!1)},ne={p:C,um:z,m:le,r:fe,mt:q,mc:H,pc:j,pbc:I,n:M,o:e};return{render:J,hydrate:void 0,createApp:om(J)}}function As({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function On({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ym(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function rl(e,t,n=!1){const r=e.children,o=t.children;if(se(r)&&se(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function zc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zc(t)}function qo(e){if(e)for(let t=0;te.__isSuspense;function wm(e,t){t&&t.pendingBranch?se(e)?t.effects.push(...e):t.effects.push(e):Oh(e)}const ut=Symbol.for("v-fgt"),ro=Symbol.for("v-txt"),Ke=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),Fr=[];let dt=null;function Yc(e=!1){Fr.push(dt=e?null:[])}function Cm(){Fr.pop(),dt=Fr[Fr.length-1]||null}let Wr=1;function Bo(e,t=!1){Wr+=e,e<0&&dt&&t&&(dt.hasOnce=!0)}function Xc(e){return e.dynamicChildren=Wr>0?dt||lr:null,Cm(),Wr>0&&dt&&dt.push(e),e}function d0(e,t,n,r,o,s){return Xc(ef(e,t,n,r,o,s,!0))}function Jc(e,t,n,r,o){return Xc(Ze(e,t,n,r,o,!0))}function Kr(e){return e?e.__v_isVNode===!0:!1}function yn(e,t){return e.type===t.type&&e.key===t.key}const Zc=({key:e})=>e??null,xo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Ae(e)||ae(e)?{i:ft,r:e,k:t,f:!!n}:e:null);function ef(e,t=null,n=null,r=0,o=null,s=e===ut?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Zc(t),ref:t&&xo(t),scopeId:bc,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:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ft};return l?(ol(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),Wr>0&&!i&&dt&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&dt.push(a),a}const Ze=Sm;function Sm(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Qh)&&(e=Ke),Kr(e)){const l=cn(e,t,!0);return n&&ol(l,n),Wr>0&&!s&&dt&&(l.shapeFlag&6?dt[dt.indexOf(e)]=l:dt.push(l)),l.patchFlag=-2,l}if(Mm(e)&&(e=e.__vccOpts),t){t=km(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=rs(l)),be(a)&&(ss(a)&&!se(a)&&(a=Me({},a)),t.style=ns(a))}const i=xe(e)?1:Vo(e)?128:Sc(e)?64:be(e)?4:ae(e)?2:0;return ef(e,t,n,r,o,i,s,!0)}function km(e){return e?ss(e)||jc(e)?Me({},e):e:null}function cn(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,u=t?Tm(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Zc(u),ref:t&&t.ref?n&&s?se(s)?s.concat(xo(t)):[s,xo(t)]:xo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ut?i===-1?16:i|16:i,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&&Sn(c,a.clone(c)),c}function xm(e=" ",t=0){return Ze(ro,null,e,t)}function h0(e="",t=!1){return t?(Yc(),Jc(Ke,null,e)):Ze(Ke,null,e)}function Vt(e){return e==null||typeof e=="boolean"?Ze(Ke):se(e)?Ze(ut,null,e.slice()):Kr(e)?Zt(e):Ze(ro,null,String(e))}function Zt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:cn(e)}function ol(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(se(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ol(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!jc(t)?t._ctx=ft:o===3&&ft&&(ft.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ae(t)?(t={default:t,_ctx:ft},n=32):(t=String(t),r&64?(n=16,t=[xm(t)]):n=8);e.children=t,e.shapeFlag|=n}function Tm(...e){const t={};for(let n=0;nGe||ft;let jo,di;{const e=ts(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};jo=t("__VUE_INSTANCE_SETTERS__",n=>Ge=n),di=t("__VUE_SSR_SETTERS__",n=>Gr=n)}const oo=e=>{const t=Ge;return jo(e),e.scope.on(),()=>{e.scope.off(),jo(t)}},Hl=()=>{Ge&&Ge.scope.off(),jo(null)};function tf(e){return e.vnode.shapeFlag&4}let Gr=!1;function Lm(e,t=!1,n=!1){t&&di(t);const{props:r,children:o}=e.vnode,s=tf(e);dm(e,r,s,t),pm(e,o,n||t);const i=s?Pm(e,t):void 0;return t&&di(!1),i}function Pm(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Xh);const{setup:r}=n;if(r){ln();const o=e.setupContext=r.length>1?Nm(e):null,s=oo(e),i=no(r,e,0,[e.props,o]),l=ju(i);if(an(),s(),(l||e.sp)&&!Vn(e)&&Lc(e),l){if(i.then(Hl,Hl),t)return i.then(a=>{Wl(e,a)}).catch(a=>{is(a,e,0)});e.asyncDep=i}else Wl(e,i)}else nf(e)}function Wl(e,t,n){ae(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=mc(t)),nf(e)}function nf(e,t,n){const r=e.type;e.render||(e.render=r.render||jt);{const o=oo(e);ln();try{Jh(e)}finally{an(),o()}}}const Im={get(e,t){return We(e,"get",""),e[t]}};function Nm(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Im),slots:e.slots,emit:e.emit,expose:t}}function ds(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mc(Kn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $r)return $r[n](e)},has(t,n){return n in t||n in $r}})):e.proxy}function hi(e,t=!0){return ae(e)?e.displayName||e.name:e.name||t&&e.__name}function Mm(e){return ae(e)&&"__vccOpts"in e}const $=(e,t)=>kh(e,t,Gr);function V(e,t,n){try{Bo(-1);const r=arguments.length;return r===2?be(t)&&!se(t)?Kr(t)?Ze(e,null,[t]):Ze(e,t):Ze(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Kr(n)&&(n=[n]),Ze(e,t,n))}finally{Bo(1)}}const Dm="3.5.30";let mi;const Kl=typeof window<"u"&&window.trustedTypes;if(Kl)try{mi=Kl.createPolicy("vue",{createHTML:e=>e})}catch{}const rf=mi?e=>mi.createHTML(e):e=>e,$m="http://www.w3.org/2000/svg",Fm="http://www.w3.org/1998/Math/MathML",Xt=typeof document<"u"?document:null,Gl=Xt&&Xt.createElement("template"),qm={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==="svg"?Xt.createElementNS($m,e):t==="mathml"?Xt.createElementNS(Fm,e):n?Xt.createElement(e,{is:n}):Xt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Xt.createTextNode(e),createComment:e=>Xt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xt.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))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Gl.innerHTML=rf(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Gl.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},hn="transition",Er="animation",fr=Symbol("_vtc"),of={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},sf=Me({},Tc,of),Vm=e=>(e.displayName="Transition",e.props=sf,e),zr=Vm((e,{slots:t})=>V(qh,lf(e),t)),Ln=(e,t=[])=>{se(e)?e.forEach(n=>n(...t)):e&&e(...t)},zl=e=>e?se(e)?e.some(t=>t.length>1):e.length>1:!1;function lf(e){const t={};for(const x in e)x in of||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,y=Bm(o),C=y&&y[0],S=y&&y[1],{onBeforeEnter:_,onEnter:h,onEnterCancelled:E,onLeave:v,onLeaveCancelled:A,onBeforeAppear:P=_,onAppear:R=h,onAppearCancelled:H=E}=t,F=(x,B,q,Y)=>{x._enterCancelled=Y,gn(x,B?c:l),gn(x,B?u:i),q&&q()},I=(x,B)=>{x._isLeaving=!1,gn(x,f),gn(x,g),gn(x,d),B&&B()},N=x=>(B,q)=>{const Y=x?R:h,ee=()=>F(B,x,q);Ln(Y,[B,ee]),Ql(()=>{gn(B,x?a:s),Dt(B,x?c:l),zl(Y)||Yl(B,r,C,ee)})};return Me(t,{onBeforeEnter(x){Ln(_,[x]),Dt(x,s),Dt(x,i)},onBeforeAppear(x){Ln(P,[x]),Dt(x,a),Dt(x,u)},onEnter:N(!1),onAppear:N(!0),onLeave(x,B){x._isLeaving=!0;const q=()=>I(x,B);Dt(x,f),x._enterCancelled?(Dt(x,d),gi(x)):(gi(x),Dt(x,d)),Ql(()=>{x._isLeaving&&(gn(x,f),Dt(x,g),zl(v)||Yl(x,r,S,q))}),Ln(v,[x,q])},onEnterCancelled(x){F(x,!1,void 0,!0),Ln(E,[x])},onAppearCancelled(x){F(x,!0,void 0,!0),Ln(H,[x])},onLeaveCancelled(x){I(x),Ln(A,[x])}})}function Bm(e){if(e==null)return null;if(be(e))return[Os(e.enter),Os(e.leave)];{const t=Os(e);return[t,t]}}function Os(e){return Hd(e)}function Dt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[fr]||(e[fr]=new Set)).add(t)}function gn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[fr];n&&(n.delete(t),n.size||(e[fr]=void 0))}function Ql(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let jm=0;function Yl(e,t,n,r){const o=e._endId=++jm,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=af(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,d),s()},d=g=>{g.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[y]||"").split(", "),o=r(`${hn}Delay`),s=r(`${hn}Duration`),i=Xl(o,s),l=r(`${Er}Delay`),a=r(`${Er}Duration`),u=Xl(l,a);let c=null,f=0,d=0;t===hn?i>0&&(c=hn,f=i,d=s.length):t===Er?u>0&&(c=Er,f=u,d=a.length):(f=Math.max(i,u),c=f>0?i>u?hn:Er:null,d=c?c===hn?s.length:a.length:0);const g=c===hn&&/\b(?:transform|all)(?:,|$)/.test(r(`${hn}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:g}}function Xl(e,t){for(;e.lengthJl(n)+Jl(e[r])))}function Jl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function gi(e){return(e?e.ownerDocument:document).body.offsetHeight}function Um(e,t,n){const r=e[fr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Zl=Symbol("_vod"),Hm=Symbol("_vsh"),Wm=Symbol(""),Km=/(?:^|;)\s*display\s*:/;function Gm(e,t,n){const r=e.style,o=xe(n);let s=!1;if(n&&!o){if(t)if(xe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&To(r,l,"")}else for(const i in t)n[i]==null&&To(r,i,"");for(const i in n)i==="display"&&(s=!0),To(r,i,n[i])}else if(o){if(t!==n){const i=r[Wm];i&&(n+=";"+i),r.cssText=n,s=Km.test(n)}}else t&&e.removeAttribute("style");Zl in e&&(e[Zl]=s?r.display:"",e[Hm]&&(r.display="none"))}const ea=/\s*!important$/;function To(e,t,n){if(se(n))n.forEach(r=>To(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=zm(e,t);ea.test(n)?e.setProperty(Hn(r),n.replace(ea,""),"important"):e[r]=n}}const ta=["Webkit","Moz","ms"],Ls={};function zm(e,t){const n=Ls[t];if(n)return n;let r=tt(t);if(r!=="filter"&&r in e)return Ls[t]=r;r=es(r);for(let o=0;oPs||(Zm.then(()=>Ps=0),Ps=Date.now());function tg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Ot(ng(r,n.value),t,5,[r])};return n.value=e,n.attached=eg(),n}function ng(e,t){if(se(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const la=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rg=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Um(e,r,i):t==="style"?Gm(e,n,r):Xo(t)?ji(t)||Xm(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):og(e,t,r,i))?(oa(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ra(e,t,r,i,s,t!=="value")):e._isVueCE&&(sg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!xe(r)))?oa(e,tt(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ra(e,t,r,i))};function og(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&la(t)&&ae(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return la(t)&&xe(n)?!1:t in e}function sg(e,t){const n=e._def.props;if(!n)return!1;const r=tt(t);return Array.isArray(n)?n.some(o=>tt(o)===r):Object.keys(n).some(o=>tt(o)===r)}const uf=new WeakMap,cf=new WeakMap,Uo=Symbol("_moveCb"),aa=Symbol("_enterCb"),ig=e=>(delete e.props.mode,e),lg=ig({name:"TransitionGroup",props:Me({},sf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ke(),r=xc();let o,s;return el(()=>{if(!o.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!dg(o[0].el,n.vnode.el,i)){o=[];return}o.forEach(ug),o.forEach(cg);const l=o.filter(fg);gi(n.vnode.el),l.forEach(a=>{const u=a.el,c=u.style;Dt(u,i),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[Uo]=d=>{d&&d.target!==u||(!d||d.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",f),u[Uo]=null,gn(u,i))};u.addEventListener("transitionend",f)}),o=[]}),()=>{const i=ue(e),l=lf(i);let a=i.tag||ut;if(o=[],s)for(let u=0;u{l.split(/\s+/).forEach(a=>a&&r.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(r);const{hasTransform:i}=af(r);return s.removeChild(r),i}const hg=["ctrl","shift","alt","meta"],mg={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>hg.some(n=>e[`${n}Key`]&&!t.includes(n))},m0=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((o,...s)=>{for(let i=0;i{const t=pg().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=_g(r);if(!o)return;const s=t._component;!ae(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,vg(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function vg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function _g(e){return xe(e)?document.querySelector(e):e}function zn(e,t,n,r){return Object.defineProperty(e,t,{get:n,set:r,enumerable:!0}),e}function g0(e,t){for(const n in t)zn(e,n,t[n]);return e}const kn=me(!1);let pi;function bg(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[4]||n[2]||"0",platform:t[0]||""}}function yg(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const hf="ontouchstart"in window||window.navigator.maxTouchPoints>0;function Eg(e){const t=e.toLowerCase(),n=yg(t),r=bg(t,n),o={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};r.browser&&(o[r.browser]=!0,o.version=r.version,o.versionNumber=parseInt(r.version,10)),r.platform&&(o[r.platform]=!0);const s=o.android||o.ios||o.bb||o.blackberry||o.ipad||o.iphone||o.ipod||o.kindle||o.playbook||o.silk||o["windows phone"];if(s===!0||t.indexOf("mobile")!==-1?o.mobile=!0:o.desktop=!0,o["windows phone"]&&(o.winphone=!0,delete o["windows phone"]),o.edga||o.edgios||o.edg?(o.edge=!0,r.browser="edge"):o.crios?(o.chrome=!0,r.browser="chrome"):o.fxios&&(o.firefox=!0,r.browser="firefox"),(o.ipod||o.ipad||o.iphone)&&(o.ios=!0),o.vivaldi&&(r.browser="vivaldi",o.vivaldi=!0),(o.chrome||o.opr||o.safari||o.vivaldi||o.mobile===!0&&o.ios!==!0&&s!==!0)&&(o.webkit=!0),o.opr&&(r.browser="opera",o.opera=!0),o.safari&&(o.blackberry||o.bb?(r.browser="blackberry",o.blackberry=!0):o.playbook?(r.browser="playbook",o.playbook=!0):o.android?(r.browser="android",o.android=!0):o.kindle?(r.browser="kindle",o.kindle=!0):o.silk&&(r.browser="silk",o.silk=!0)),o.name=r.browser,o.platform=r.platform,t.indexOf("electron")!==-1)o.electron=!0;else if(document.location.href.indexOf("-extension://")!==-1)o.bex=!0;else{if(window.Capacitor!==void 0?(o.capacitor=!0,o.nativeMobile=!0,o.nativeMobileWrapper="capacitor"):(window._cordovaNative!==void 0||window.cordova!==void 0)&&(o.cordova=!0,o.nativeMobile=!0,o.nativeMobileWrapper="cordova"),kn.value===!0&&(pi={is:{...o}}),hf===!0&&o.mac===!0&&(o.desktop===!0&&o.safari===!0||o.nativeMobile===!0&&o.android!==!0&&o.ios!==!0&&o.ipad!==!0)){delete o.mac,delete o.desktop;const i=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(o,{mobile:!0,ios:!0,platform:i,[i]:!0})}o.mobile!==!0&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete o.desktop,o.mobile=!0)}return o}const ca=navigator.userAgent||navigator.vendor||window.opera,wg={has:{touch:!1,webStorage:!1},within:{iframe:!1}},$e={userAgent:ca,is:Eg(ca),has:{touch:hf},within:{iframe:window.self!==window.top}},vi={install(e){const{$q:t}=e;kn.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,$e),kn.value=!1}),t.platform=Wn(this)):t.platform=this}};{let e;zn($e.has,"webStorage",()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(vi,$e),kn.value===!0&&(Object.assign(vi,pi,wg),pi=null)}function Be(e){return Kn(Gn(e))}function Cg(e){return Kn(e)}const so=(e,t)=>{const n=Wn(e);for(const r in e)zn(t,r,()=>n[r],o=>{n[r]=o});return t},nt={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(nt,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function Qr(){}function p0(e){return e.button===0}function Sg(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function kg(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;for(;n;){if(t.push(n),n.tagName==="HTML")return t.push(document),t.push(window),t;n=n.parentElement}}function Ho(e){e.stopPropagation()}function En(e){e.cancelable!==!1&&e.preventDefault()}function bt(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function v0(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;const n=t===!0?r=>{r.__dragPrevented=!0,r.addEventListener("dragstart",En,nt.notPassiveCapture)}:r=>{delete r.__dragPrevented,r.removeEventListener("dragstart",En,nt.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function xg(e,t,n){const r=`__q_${t}_evt`;e[r]=e[r]!==void 0?e[r].concat(n):n,n.forEach(o=>{o[0].addEventListener(o[1],e[o[2]],nt[o[3]])})}function Tg(e,t){const n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(r=>{r[0].removeEventListener(r[1],e[r[2]],nt[r[3]])}),e[n]=void 0)}function mf(e,t=250,n){let r=null;function o(){const s=arguments,i=()=>{r=null,e.apply(this,s)};r!==null&&clearTimeout(r),r=setTimeout(i,t)}return o.cancel=()=>{r!==null&&clearTimeout(r)},o}const Is=["sm","md","lg","xl"],{passive:fa}=nt,Ag=so({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:Qr,setDebounce:Qr,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed===!0){e.config.screen!==void 0&&(e.config.screen.bodyClasses===!1?document.body.classList.remove(`screen--${this.name}`):this.__update(!0));return}const{visualViewport:n}=window,r=n||window,o=document.scrollingElement||document.documentElement,s=n===void 0||$e.is.mobile===!0?()=>[Math.max(window.innerWidth,o.clientWidth),Math.max(window.innerHeight,o.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-o.clientWidth,n.height*n.scale+window.innerHeight-o.clientHeight],i=e.config.screen?.bodyClasses===!0;this.__update=f=>{const[d,g]=s();if(g!==this.height&&(this.height=g),d!==this.width)this.width=d;else if(f!==!0)return;let y=this.sizes;this.gt.xs=d>=y.sm,this.gt.sm=d>=y.md,this.gt.md=d>=y.lg,this.gt.lg=d>=y.xl,this.lt.sm=d{Is.forEach(d=>{f[d]!==void 0&&(a[d]=f[d])})},this.setDebounce=f=>{u=f};const c=()=>{const f=getComputedStyle(document.body);f.getPropertyValue("--q-size-sm")&&Is.forEach(d=>{this.sizes[d]=parseInt(f.getPropertyValue(`--q-size-${d}`),10)}),this.setSizes=d=>{Is.forEach(g=>{d[g]&&(this.sizes[g]=d[g])}),this.__update(!0)},this.setDebounce=d=>{l!==void 0&&r.removeEventListener("resize",l,fa),l=d>0?mf(this.__update,d):this.__update,r.addEventListener("resize",l,fa)},this.setDebounce(u),Object.keys(a).length!==0?(this.setSizes(a),a=void 0):this.__update(),i===!0&&this.name==="xs"&&document.body.classList.add("screen--xs")};kn.value===!0?t.push(c):c()}}),je=so({isActive:!1,mode:!1},{__media:void 0,set(e){je.mode=e,e==="auto"?(je.__media===void 0&&(je.__media=window.matchMedia("(prefers-color-scheme: dark)"),je.__updateMedia=()=>{je.set("auto")},je.__media.addListener(je.__updateMedia)),e=je.__media.matches):je.__media!==void 0&&(je.__media.removeListener(je.__updateMedia),je.__media=void 0),je.isActive=e===!0,document.body.classList.remove(`body--${e===!0?"light":"dark"}`),document.body.classList.add(`body--${e===!0?"dark":"light"}`)},toggle(){je.set(je.isActive===!1)},install({$q:e,ssrContext:t}){const n=e.config.dark;e.dark=this,this.__installed!==!0&&this.set(n!==void 0?n:!1)}});function Rg(e,t,n=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(typeof t!="string")throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}let gf=!1;function Og(e){gf=e.isComposing===!0}function pf(e){return gf===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function Yr(e,t){return pf(e)===!0?!1:[].concat(t).includes(e.keyCode)}function vf(e){if(e.ios===!0)return"ios";if(e.android===!0)return"android"}function Lg({is:e,has:t,within:n},r){const o=[e.desktop===!0?"desktop":"mobile",`${t.touch===!1?"no-":""}touch`];if(e.mobile===!0){const s=vf(e);s!==void 0&&o.push("platform-"+s)}if(e.nativeMobile===!0){const s=e.nativeMobileWrapper;o.push(s),o.push("native-mobile"),e.ios===!0&&(r[s]===void 0||r[s].iosStatusBarPadding!==!1)&&o.push("q-ios-padding")}else e.electron===!0?o.push("electron"):e.bex===!0&&o.push("bex");return n.iframe===!0&&o.push("within-iframe"),o}function Pg(){const{is:e}=$e,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(e.nativeMobile!==!0&&e.electron!==!0&&e.bex!==!0){if(e.desktop===!0)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(e.mobile===!0){n.delete("desktop"),n.add("mobile"),n.delete("platform-ios"),n.delete("platform-android");const o=vf(e);o!==void 0&&n.add(`platform-${o}`)}}$e.has.touch===!0&&(n.delete("no-touch"),n.add("touch")),$e.within.iframe===!0&&n.add("within-iframe");const r=Array.from(n).join(" ");t!==r&&(document.body.className=r)}function Ig(e){for(const t in e)Rg(t,e[t])}const Ng={install(e){if(this.__installed!==!0){if(kn.value===!0)Pg();else{const{$q:t}=e;t.config.brand!==void 0&&Ig(t.config.brand);const n=Lg($e,t.config);document.body.classList.add.apply(document.body.classList,n)}$e.is.ios===!0&&document.body.addEventListener("touchstart",Qr),window.addEventListener("keydown",Og,!0)}}},_f=()=>!0;function Mg(e){return typeof e=="string"&&e!==""&&e!=="/"&&e!=="#/"}function Dg(e){return e.startsWith("#")===!0&&(e=e.substring(1)),e.startsWith("/")===!1&&(e="/"+e),e.endsWith("/")===!0&&(e=e.substring(0,e.length-1)),"#"+e}function $g(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit==="*")return _f;const t=["#/"];return Array.isArray(e.backButtonExit)===!0&&t.push(...e.backButtonExit.filter(Mg).map(Dg)),()=>t.includes(window.location.hash)}const _i={__history:[],add:Qr,remove:Qr,install({$q:e}){if(this.__installed===!0)return;const{cordova:t,capacitor:n}=$e.is;if(t!==!0&&n!==!0)return;const r=e.config[t===!0?"cordova":"capacitor"];if(r?.backButton===!1||n===!0&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=i=>{i.condition===void 0&&(i.condition=_f),this.__history.push(i)},this.remove=i=>{const l=this.__history.indexOf(i);l>=0&&this.__history.splice(l,1)};const o=$g(Object.assign({backButtonExit:!0},r)),s=()=>{if(this.__history.length){const i=this.__history[this.__history.length-1];i.condition()===!0&&(this.__history.pop(),i.handler())}else o()===!0?navigator.app.exitApp():window.history.back()};t===!0?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",s,!1)}):window.Capacitor.Plugins.App.addListener("backButton",s)}},da={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days",prevMonth:"Previous month",nextMonth:"Next month",prevYear:"Previous year",nextYear:"Next year",today:"Today",prevRangeYears:e=>`Previous ${e} years`,nextRangeYears:e=>`Next ${e} years`},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>e===1?"1 record selected.":(e===0?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},pagination:{first:"First page",prev:"Previous page",next:"Next page",last:"Last page"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function ha(){const e=Array.isArray(navigator.languages)===!0&&navigator.languages.length!==0?navigator.languages[0]:navigator.language;if(typeof e=="string")return e.split(/[-_]/).map((t,n)=>n===0?t.toLowerCase():n>1||t.length<4?t.toUpperCase():t[0].toUpperCase()+t.slice(1).toLowerCase()).join("-")}const _n=so({__qLang:{}},{getLocale:ha,set(e=da,t){const n={...e,rtl:e.rtl===!0,getLocale:ha};{if(n.set=_n.set,_n.__langConfig===void 0||_n.__langConfig.noHtmlAttrs!==!0){const r=document.documentElement;r.setAttribute("dir",n.rtl===!0?"rtl":"ltr"),r.setAttribute("lang",n.isoName)}Object.assign(_n.__qLang,n)}},install({$q:e,lang:t,ssrContext:n}){e.lang=_n.__qLang,_n.__langConfig=e.config.lang,this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qLang,{get(){return Reflect.get(...arguments)},ownKeys(r){return Reflect.ownKeys(r).filter(o=>o!=="set"&&o!=="getLocale")}}),this.set(t||da))}}),Fg={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},Wo=so({iconMapFn:null,__qIconSet:{}},{set(e,t){const n={...e};n.set=Wo.set,Object.assign(Wo.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,zn(e,"iconMapFn",()=>this.iconMapFn,r=>{this.iconMapFn=r}),this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get(){return Reflect.get(...arguments)},ownKeys(r){return Reflect.ownKeys(r).filter(o=>o!=="set")}}),this.set(t||Fg))}}),qg="_q_",_0="_q_l_",b0="_q_pc_",Vg="_q_fo_",y0="_q_tabs_";function E0(){}const Ko={};let bf=!1;function Bg(){bf=!0}function Ns(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,r;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(Ns(e[r],t[r])!==!0)return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let s=e.entries();for(r=s.next();r.done!==!0;){if(t.has(r.value[0])!==!0)return!1;r=s.next()}for(s=e.entries(),r=s.next();r.done!==!0;){if(Ns(r.value[1],t.get(r.value[0]))!==!0)return!1;r=s.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;const s=e.entries();for(r=s.next();r.done!==!0;){if(t.has(r.value[0])!==!0)return!1;r=s.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const o=Object.keys(e).filter(s=>e[s]!==void 0);if(n=o.length,n!==Object.keys(t).filter(s=>t[s]!==void 0).length)return!1;for(r=n;r--!==0;){const s=o[r];if(Ns(e[s],t[s])!==!0)return!1}return!0}return e!==e&&t!==t}function ct(e){return e!==null&&typeof e=="object"&&Array.isArray(e)!==!0}function w0(e){return Object.prototype.toString.call(e)==="[object Date]"}function C0(e){return typeof e=="number"&&isFinite(e)}const ma=[vi,Ng,je,Ag,_i,_n,Wo];function sl(e,t){const n=df(e);n.config.globalProperties=t.config.globalProperties;const{reload:r,...o}=t._context;return Object.assign(n._context,o),n}function ga(e,t){t.forEach(n=>{n.install(e),n.__installed=!0})}function jg(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(qg,n.$q),ga(n,ma),t.components!==void 0&&Object.values(t.components).forEach(r=>{ct(r)===!0&&r.name!==void 0&&e.component(r.name,r)}),t.directives!==void 0&&Object.values(t.directives).forEach(r=>{ct(r)===!0&&r.name!==void 0&&e.directive(r.name,r)}),t.plugins!==void 0&&ga(n,Object.values(t.plugins).filter(r=>typeof r.install=="function"&&ma.includes(r)===!1)),kn.value===!0&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(r=>{r()}),n.$q.onSSRHydrated=()=>{}})}const Ug=function(e,t={}){const n={version:"2.18.6"};bf===!1?(t.config!==void 0&&Object.assign(Ko,t.config),n.config={...Ko},Bg()):n.config=t.config||{},jg(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},Hg={name:"Quasar",version:"2.18.6",install:Ug,lang:_n,iconSet:Wo};function Wg(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Kg=(e,t,n)=>Gg({l:e,k:t,s:n}),Gg=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),et=e=>typeof e=="number"&&isFinite(e),yf=e=>ll(e)==="[object Date]",pa=e=>ll(e)==="[object RegExp]",il=e=>Pe(e)&&Object.keys(e).length===0,Qn=Object.assign,zg=Object.create,lt=(e=null)=>zg(e);function va(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function _a(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Qg(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,o,s)=>`${o}="${_a(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,o,s)=>`${o}='${_a(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const Yg=Object.prototype.hasOwnProperty;function wn(e,t){return Yg.call(e,t)}const Ut=Array.isArray,qe=e=>typeof e=="function",ce=e=>typeof e=="string",ot=e=>typeof e=="boolean",ze=e=>e!==null&&typeof e=="object",Xg=e=>ze(e)&&qe(e.then)&&qe(e.catch),Ef=Object.prototype.toString,ll=e=>Ef.call(e),Pe=e=>ll(e)==="[object Object]",Jg=e=>e==null?"":Ut(e)||Pe(e)&&e.toString===Ef?JSON.stringify(e,null,2):String(e);function al(e,t=""){return e.reduce((n,r,o)=>o===0?n+r:n+t+r,"")}function Zg(e,t,n){return{line:e,column:t,offset:n}}function bi(e,t,n){return{start:e,end:t}}const ve={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},ep=17;function hs(e,t,n={}){const{domain:r,messages:o,args:s}=n,i=e,l=new SyntaxError(String(i));return l.code=e,t&&(l.location=t),l.domain=r,l}function tp(e){throw e}const Nt=" ",np="\r",Ue=` +`,rp="\u2028",op="\u2029";function sp(e){const t=e;let n=0,r=1,o=1,s=0;const i=R=>t[R]===np&&t[R+1]===Ue,l=R=>t[R]===Ue,a=R=>t[R]===op,u=R=>t[R]===rp,c=R=>i(R)||l(R)||a(R)||u(R),f=()=>n,d=()=>r,g=()=>o,y=()=>s,C=R=>i(R)||a(R)||u(R)?Ue:t[R],S=()=>C(n),_=()=>C(n+s);function h(){return s=0,c(n)&&(r++,o=0),i(n)&&n++,n++,o++,t[n]}function E(){return i(n+s)&&s++,s++,t[n+s]}function v(){n=0,r=1,o=1,s=0}function A(R=0){s=R}function P(){const R=n+s;for(;R!==n;)h();s=0}return{index:f,line:d,column:g,peekOffset:y,charAt:C,currentChar:S,currentPeek:_,next:h,peek:E,reset:v,resetPeek:A,skipToPeek:P}}const Qt=void 0,ip=".",ba="'",lp="tokenizer";function ap(e,t={}){const n=t.location!==!1,r=sp(e),o=()=>r.index(),s=()=>Zg(r.line(),r.column(),r.index()),i=s(),l=o(),a={currentType:13,offset:l,startLoc:i,endLoc:i,lastType:13,lastOffset:l,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},u=()=>a,{onError:c}=t;function f(m,p,k,...L){const Z=u();if(p.column+=k,p.offset+=k,c){const G=n?bi(Z.startLoc,p):null,T=hs(m,G,{domain:lp,args:L});c(T)}}function d(m,p,k){m.endLoc=s(),m.currentType=p;const L={type:p};return n&&(L.loc=bi(m.startLoc,m.endLoc)),k!=null&&(L.value=k),L}const g=m=>d(m,13);function y(m,p){return m.currentChar()===p?(m.next(),p):(f(ve.EXPECTED_TOKEN,s(),0,p),"")}function C(m){let p="";for(;m.currentPeek()===Nt||m.currentPeek()===Ue;)p+=m.currentPeek(),m.peek();return p}function S(m){const p=C(m);return m.skipToPeek(),p}function _(m){if(m===Qt)return!1;const p=m.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function h(m){if(m===Qt)return!1;const p=m.charCodeAt(0);return p>=48&&p<=57}function E(m,p){const{currentType:k}=p;if(k!==2)return!1;C(m);const L=_(m.currentPeek());return m.resetPeek(),L}function v(m,p){const{currentType:k}=p;if(k!==2)return!1;C(m);const L=m.currentPeek()==="-"?m.peek():m.currentPeek(),Z=h(L);return m.resetPeek(),Z}function A(m,p){const{currentType:k}=p;if(k!==2)return!1;C(m);const L=m.currentPeek()===ba;return m.resetPeek(),L}function P(m,p){const{currentType:k}=p;if(k!==7)return!1;C(m);const L=m.currentPeek()===".";return m.resetPeek(),L}function R(m,p){const{currentType:k}=p;if(k!==8)return!1;C(m);const L=_(m.currentPeek());return m.resetPeek(),L}function H(m,p){const{currentType:k}=p;if(!(k===7||k===11))return!1;C(m);const L=m.currentPeek()===":";return m.resetPeek(),L}function F(m,p){const{currentType:k}=p;if(k!==9)return!1;const L=()=>{const G=m.currentPeek();return G==="{"?_(m.peek()):G==="@"||G==="|"||G===":"||G==="."||G===Nt||!G?!1:G===Ue?(m.peek(),L()):N(m,!1)},Z=L();return m.resetPeek(),Z}function I(m){C(m);const p=m.currentPeek()==="|";return m.resetPeek(),p}function N(m,p=!0){const k=(Z=!1,G="")=>{const T=m.currentPeek();return T==="{"||T==="@"||!T?Z:T==="|"?!(G===Nt||G===Ue):T===Nt?(m.peek(),k(!0,Nt)):T===Ue?(m.peek(),k(!0,Ue)):!0},L=k();return p&&m.resetPeek(),L}function x(m,p){const k=m.currentChar();return k===Qt?Qt:p(k)?(m.next(),k):null}function B(m){const p=m.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function q(m){return x(m,B)}function Y(m){const p=m.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function ee(m){return x(m,Y)}function Q(m){const p=m.charCodeAt(0);return p>=48&&p<=57}function j(m){return x(m,Q)}function re(m){const p=m.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function ye(m){return x(m,re)}function le(m){let p="",k="";for(;p=j(m);)k+=p;return k}function z(m){let p="";for(;;){const k=m.currentChar();if(k==="\\"){const L=m.peek();L==="{"||L==="}"||L==="@"||L==="|"||L==="\\"?(p+=k+L,m.next(),m.next()):(m.resetPeek(),p+=k,m.next())}else{if(k==="{"||k==="}"||k==="@"||k==="|"||!k)break;if(k===Nt||k===Ue)if(N(m))p+=k,m.next();else{if(I(m))break;p+=k,m.next()}else p+=k,m.next()}}return p}function fe(m){S(m);let p="",k="";for(;p=ee(m);)k+=p;const L=m.currentChar();if(L&&L!=="}"&&L!==Qt&&L!==Nt&&L!==Ue&&L!==" "){const Z=ne(m);return f(ve.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,k+Z),k+Z}return m.currentChar()===Qt&&f(ve.UNTERMINATED_CLOSING_BRACE,s(),0),k}function Ee(m){S(m);let p="";return m.currentChar()==="-"?(m.next(),p+=`-${le(m)}`):p+=le(m),m.currentChar()===Qt&&f(ve.UNTERMINATED_CLOSING_BRACE,s(),0),p}function Te(m){return m!==ba&&m!==Ue}function oe(m){S(m),y(m,"'");let p="",k="";for(;p=x(m,Te);)p==="\\"?k+=M(m):k+=p;const L=m.currentChar();return L===Ue||L===Qt?(f(ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),L===Ue&&(m.next(),y(m,"'")),k):(y(m,"'"),k)}function M(m){const p=m.currentChar();switch(p){case"\\":case"'":return m.next(),`\\${p}`;case"u":return X(m,p,4);case"U":return X(m,p,6);default:return f(ve.UNKNOWN_ESCAPE_SEQUENCE,s(),0,p),""}}function X(m,p,k){y(m,p);let L="";for(let Z=0;Z{const L=m.currentChar();return L==="{"||L==="@"||L==="|"||L==="("||L===")"||!L||L===Nt?k:(k+=L,m.next(),p(k))};return p("")}function w(m){S(m);const p=y(m,"|");return S(m),p}function O(m,p){let k=null;switch(m.currentChar()){case"{":return p.braceNest>=1&&f(ve.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),m.next(),k=d(p,2,"{"),S(m),p.braceNest++,k;case"}":return p.braceNest>0&&p.currentType===2&&f(ve.EMPTY_PLACEHOLDER,s(),0),m.next(),k=d(p,3,"}"),p.braceNest--,p.braceNest>0&&S(m),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),k;case"@":return p.braceNest>0&&f(ve.UNTERMINATED_CLOSING_BRACE,s(),0),k=U(m,p)||g(p),p.braceNest=0,k;default:{let Z=!0,G=!0,T=!0;if(I(m))return p.braceNest>0&&f(ve.UNTERMINATED_CLOSING_BRACE,s(),0),k=d(p,1,w(m)),p.braceNest=0,p.inLinked=!1,k;if(p.braceNest>0&&(p.currentType===4||p.currentType===5||p.currentType===6))return f(ve.UNTERMINATED_CLOSING_BRACE,s(),0),p.braceNest=0,K(m,p);if(Z=E(m,p))return k=d(p,4,fe(m)),S(m),k;if(G=v(m,p))return k=d(p,5,Ee(m)),S(m),k;if(T=A(m,p))return k=d(p,6,oe(m)),S(m),k;if(!Z&&!G&&!T)return k=d(p,12,ne(m)),f(ve.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,k.value),S(m),k;break}}return k}function U(m,p){const{currentType:k}=p;let L=null;const Z=m.currentChar();switch((k===7||k===8||k===11||k===9)&&(Z===Ue||Z===Nt)&&f(ve.INVALID_LINKED_FORMAT,s(),0),Z){case"@":return m.next(),L=d(p,7,"@"),p.inLinked=!0,L;case".":return S(m),m.next(),d(p,8,".");case":":return S(m),m.next(),d(p,9,":");default:return I(m)?(L=d(p,1,w(m)),p.braceNest=0,p.inLinked=!1,L):P(m,p)||H(m,p)?(S(m),U(m,p)):R(m,p)?(S(m),d(p,11,de(m))):F(m,p)?(S(m),Z==="{"?O(m,p)||L:d(p,10,b(m))):(k===7&&f(ve.INVALID_LINKED_FORMAT,s(),0),p.braceNest=0,p.inLinked=!1,K(m,p))}}function K(m,p){let k={type:13};if(p.braceNest>0)return O(m,p)||g(p);if(p.inLinked)return U(m,p)||g(p);switch(m.currentChar()){case"{":return O(m,p)||g(p);case"}":return f(ve.UNBALANCED_CLOSING_BRACE,s(),0),m.next(),d(p,3,"}");case"@":return U(m,p)||g(p);default:{if(I(m))return k=d(p,1,w(m)),p.braceNest=0,p.inLinked=!1,k;if(N(m))return d(p,0,z(m));break}}return k}function W(){const{currentType:m,offset:p,startLoc:k,endLoc:L}=a;return a.lastType=m,a.lastOffset=p,a.lastStartLoc=k,a.lastEndLoc=L,a.offset=o(),a.startLoc=s(),r.currentChar()===Qt?d(a,13):K(r,a)}return{nextToken:W,currentOffset:o,currentPosition:s,context:u}}const up="parser",cp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,fp=/\\([\\@{}|])/g;function dp(e,t){return t}function hp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function mp(e={}){const t=e.location!==!1,{onError:n}=e;function r(_,h,E,v,...A){const P=_.currentPosition();if(P.offset+=v,P.column+=v,n){const R=t?bi(E,P):null,H=hs(h,R,{domain:up,args:A});n(H)}}function o(_,h,E){const v={type:_};return t&&(v.start=h,v.end=h,v.loc={start:E,end:E}),v}function s(_,h,E,v){t&&(_.end=h,_.loc&&(_.loc.end=E))}function i(_,h){const E=_.context(),v=o(3,E.offset,E.startLoc);return v.value=h.replace(fp,dp),s(v,_.currentOffset(),_.currentPosition()),v}function l(_,h){const E=_.context(),{lastOffset:v,lastStartLoc:A}=E,P=o(5,v,A);return P.index=parseInt(h,10),_.nextToken(),s(P,_.currentOffset(),_.currentPosition()),P}function a(_,h){const E=_.context(),{lastOffset:v,lastStartLoc:A}=E,P=o(4,v,A);return P.key=h,_.nextToken(),s(P,_.currentOffset(),_.currentPosition()),P}function u(_,h){const E=_.context(),{lastOffset:v,lastStartLoc:A}=E,P=o(9,v,A);return P.value=h.replace(cp,hp),_.nextToken(),s(P,_.currentOffset(),_.currentPosition()),P}function c(_){const h=_.nextToken(),E=_.context(),{lastOffset:v,lastStartLoc:A}=E,P=o(8,v,A);return h.type!==11?(r(_,ve.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),P.value="",s(P,v,A),{nextConsumeToken:h,node:P}):(h.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Mt(h)),P.value=h.value||"",s(P,_.currentOffset(),_.currentPosition()),{node:P})}function f(_,h){const E=_.context(),v=o(7,E.offset,E.startLoc);return v.value=h,s(v,_.currentOffset(),_.currentPosition()),v}function d(_){const h=_.context(),E=o(6,h.offset,h.startLoc);let v=_.nextToken();if(v.type===8){const A=c(_);E.modifier=A.node,v=A.nextConsumeToken||_.nextToken()}switch(v.type!==9&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(v)),v=_.nextToken(),v.type===2&&(v=_.nextToken()),v.type){case 10:v.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(v)),E.key=f(_,v.value||"");break;case 4:v.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(v)),E.key=a(_,v.value||"");break;case 5:v.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(v)),E.key=l(_,v.value||"");break;case 6:v.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(v)),E.key=u(_,v.value||"");break;default:{r(_,ve.UNEXPECTED_EMPTY_LINKED_KEY,h.lastStartLoc,0);const A=_.context(),P=o(7,A.offset,A.startLoc);return P.value="",s(P,A.offset,A.startLoc),E.key=P,s(E,A.offset,A.startLoc),{nextConsumeToken:v,node:E}}}return s(E,_.currentOffset(),_.currentPosition()),{node:E}}function g(_){const h=_.context(),E=h.currentType===1?_.currentOffset():h.offset,v=h.currentType===1?h.endLoc:h.startLoc,A=o(2,E,v);A.items=[];let P=null;do{const F=P||_.nextToken();switch(P=null,F.type){case 0:F.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(F)),A.items.push(i(_,F.value||""));break;case 5:F.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(F)),A.items.push(l(_,F.value||""));break;case 4:F.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(F)),A.items.push(a(_,F.value||""));break;case 6:F.value==null&&r(_,ve.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Mt(F)),A.items.push(u(_,F.value||""));break;case 7:{const I=d(_);A.items.push(I.node),P=I.nextConsumeToken||null;break}}}while(h.currentType!==13&&h.currentType!==1);const R=h.currentType===1?h.lastOffset:_.currentOffset(),H=h.currentType===1?h.lastEndLoc:_.currentPosition();return s(A,R,H),A}function y(_,h,E,v){const A=_.context();let P=v.items.length===0;const R=o(1,h,E);R.cases=[],R.cases.push(v);do{const H=g(_);P||(P=H.items.length===0),R.cases.push(H)}while(A.currentType!==13);return P&&r(_,ve.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),s(R,_.currentOffset(),_.currentPosition()),R}function C(_){const h=_.context(),{offset:E,startLoc:v}=h,A=g(_);return h.currentType===13?A:y(_,E,v,A)}function S(_){const h=ap(_,Qn({},e)),E=h.context(),v=o(0,E.offset,E.startLoc);return t&&v.loc&&(v.loc.source=_),v.body=C(h),e.onCacheKey&&(v.cacheKey=e.onCacheKey(_)),E.currentType!==13&&r(h,ve.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,_[E.offset]||""),s(v,h.currentOffset(),h.currentPosition()),v}return{parse:S}}function Mt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function gp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function ya(e,t){for(let n=0;nEa(n)),e}function Ea(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function a(C,S){i.code+=C}function u(C,S=!0){const _=S?r:"";a(o?_+" ".repeat(C):_)}function c(C=!0){const S=++i.indentLevel;C&&u(S)}function f(C=!0){const S=--i.indentLevel;C&&u(S)}function d(){u(i.indentLevel)}return{context:l,push:a,indent:c,deindent:f,newline:d,helper:C=>`_${C}`,needIndent:()=>i.needIndent}}function bp(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),dr(e,t.key),t.modifier?(e.push(", "),dr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function yp(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const o=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(r());const o=t.cases.length;for(let s=0;s{const n=ce(t.mode)?t.mode:"normal",r=ce(t.filename)?t.filename:"message.intl";t.sourceMap;const o=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],l=_p(e,{filename:r,breakLineCode:o,needIndent:s});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),i.length>0&&(l.push(`const { ${al(i.map(c=>`${c}: _${c}`),", ")} } = ctx`),l.newline()),l.push("return "),dr(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:a,map:u}=l.context();return{ast:e,code:a,map:u?u.toJSON():void 0}};function Sp(e,t={}){const n=Qn({},t),r=!!n.jit,o=!!n.minify,s=n.optimize==null?!0:n.optimize,l=mp(n).parse(e);return r?(s&&vp(l),o&&sr(l),{ast:l,code:""}):(pp(l,n),Cp(l,n))}function Ht(e){return ze(e)&&cl(e)===0&&(wn(e,"b")||wn(e,"body"))}const wf=["b","body"];function kp(e){return xn(e,wf)}const Cf=["c","cases"];function xp(e){return xn(e,Cf,[])}const Sf=["s","static"];function Tp(e){return xn(e,Sf)}const kf=["i","items"];function Ap(e){return xn(e,kf,[])}const xf=["t","type"];function cl(e){return xn(e,xf)}const Tf=["v","value"];function mo(e,t){const n=xn(e,Tf);if(n!=null)return n;throw Xr(t)}const Af=["m","modifier"];function Rp(e){return xn(e,Af)}const Rf=["k","key"];function Op(e){const t=xn(e,Rf);if(t)return t;throw Xr(6)}function xn(e,t,n){for(let r=0;rLp(n,e)}function Lp(e,t){const n=kp(t);if(n==null)throw Xr(0);if(cl(n)===1){const s=xp(n);return e.plural(s.reduce((i,l)=>[...i,wa(e,l)],[]))}else return wa(e,n)}function wa(e,t){const n=Tp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=Ap(t).reduce((o,s)=>[...o,yi(e,s)],[]);return e.normalize(r)}}function yi(e,t){const n=cl(t);switch(n){case 3:return mo(t,n);case 9:return mo(t,n);case 4:{const r=t;if(wn(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(wn(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw Xr(n)}case 5:{const r=t;if(wn(r,"i")&&et(r.i))return e.interpolate(e.list(r.i));if(wn(r,"index")&&et(r.index))return e.interpolate(e.list(r.index));throw Xr(n)}case 6:{const r=t,o=Rp(r),s=Op(r);return e.linked(yi(e,s),o?yi(e,o):void 0,e.type)}case 7:return mo(t,n);case 8:return mo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Pp=e=>e;let go=lt();function Ip(e,t={}){let n=!1;const r=t.onError||tp;return t.onError=o=>{n=!0,r(o)},{...Sp(e,t),detectError:n}}function Np(e,t){if(ce(e)){ot(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Pp)(e),o=go[r];if(o)return o;const{ast:s,detectError:i}=Ip(e,{...t,location:!1,jit:!0}),l=Ms(s);return i?l:go[r]=l}else{const n=e.cacheKey;if(n){const r=go[n];return r||(go[n]=Ms(e))}else return Ms(e)}}const nn={INVALID_ARGUMENT:ep,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},Mp=24;function rn(e){return hs(e,null,void 0)}function fl(e,t){return t.locale!=null?Ca(t.locale):Ca(e.locale)}let Ds;function Ca(e){if(ce(e))return e;if(qe(e)){if(e.resolvedOnce&&Ds!=null)return Ds;if(e.constructor.name==="Function"){const t=e();if(Xg(t))throw rn(nn.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ds=t}else throw rn(nn.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw rn(nn.NOT_SUPPORT_LOCALE_TYPE)}function Dp(e,t,n){return[...new Set([n,...Ut(t)?t:ze(t)?Object.keys(t):ce(t)?[t]:[n]])]}function Ei(e,t,n){const r=ce(n)?n:Go,o=e;o.__localeChainCache||(o.__localeChainCache=new Map);let s=o.__localeChainCache.get(r);if(!s){s=[];let i=[n];for(;Ut(i);)i=Sa(s,i,t);const l=Ut(t)||!Pe(t)?t:t.default?t.default:null;i=ce(l)?[l]:l,Ut(i)&&Sa(s,i,!1),o.__localeChainCache.set(r,s)}return s}function Sa(e,t,n){let r=!0;for(let o=0;o{i===void 0?i=l:i+=l},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),o++},d[3]=()=>{if(o>0)o--,r=4,d[0]();else{if(o=0,i===void 0||(i=Up(i),i===!1))return!1;d[1]()}};function g(){const y=e[n+1];if(r===5&&y==="'"||r===6&&y==='"')return n++,l="\\"+y,d[0](),!0}for(;r!==null;)if(n++,s=e[n],!(s==="\\"&&g())){if(a=jp(s),f=Tn[r],u=f[a]||f.l||8,u===8||(r=u[0],u[1]!==void 0&&(c=d[u[1]],c&&(l=s,c()===!1))))return;if(r===7)return t}}const ka=new Map;function Wp(e,t){return ze(e)?e[t]:null}function Kp(e,t){if(!ze(e))return null;let n=ka.get(t);if(n||(n=Hp(t),n&&ka.set(t,n)),!n)return null;const r=n.length;let o=e,s=0;for(;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function zp(){return{upper:(e,t)=>t==="text"&&ce(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ce(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ce(e)?xa(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?xa(e.children):e}}let Lf;function Qp(e){Lf=e}let Pf;function Yp(e){Pf=e}let If;function Xp(e){If=e}let Nf=null;const Ta=e=>{Nf=e},Jp=()=>Nf;let Aa=0;function Zp(e={}){const t=qe(e.onWarn)?e.onWarn:Wg,n=ce(e.version)?e.version:Gp,r=ce(e.locale)||qe(e.locale)?e.locale:Go,o=qe(r)?Go:r,s=Ut(e.fallbackLocale)||Pe(e.fallbackLocale)||ce(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:o,i=Pe(e.messages)?e.messages:$s(o),l=Pe(e.datetimeFormats)?e.datetimeFormats:$s(o),a=Pe(e.numberFormats)?e.numberFormats:$s(o),u=Qn(lt(),e.modifiers,zp()),c=e.pluralRules||lt(),f=qe(e.missing)?e.missing:null,d=ot(e.missingWarn)||pa(e.missingWarn)?e.missingWarn:!0,g=ot(e.fallbackWarn)||pa(e.fallbackWarn)?e.fallbackWarn:!0,y=!!e.fallbackFormat,C=!!e.unresolving,S=qe(e.postTranslation)?e.postTranslation:null,_=Pe(e.processor)?e.processor:null,h=ot(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter,v=qe(e.messageCompiler)?e.messageCompiler:Lf,A=qe(e.messageResolver)?e.messageResolver:Pf||Wp,P=qe(e.localeFallbacker)?e.localeFallbacker:If||Dp,R=ze(e.fallbackContext)?e.fallbackContext:void 0,H=e,F=ze(H.__datetimeFormatters)?H.__datetimeFormatters:new Map,I=ze(H.__numberFormatters)?H.__numberFormatters:new Map,N=ze(H.__meta)?H.__meta:{};Aa++;const x={version:n,cid:Aa,locale:r,fallbackLocale:s,messages:i,modifiers:u,pluralRules:c,missing:f,missingWarn:d,fallbackWarn:g,fallbackFormat:y,unresolving:C,postTranslation:S,processor:_,warnHtmlMessage:h,escapeParameter:E,messageCompiler:v,messageResolver:A,localeFallbacker:P,fallbackContext:R,onWarn:t,__meta:N};return x.datetimeFormats=l,x.numberFormats=a,x.__datetimeFormatters=F,x.__numberFormatters=I,x}const $s=e=>({[e]:lt()});function dl(e,t,n,r,o){const{missing:s,onWarn:i}=e;if(s!==null){const l=s(e,n,t,o);return ce(l)?l:t}else return t}function wr(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function ev(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function tv(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Mf.includes(a)?i[a]=n[a]:s[a]=n[a]}),ce(r)?s.locale=r:Pe(r)&&(i=r),Pe(o)&&(i=o),[s.key||"",l,s,i]}function Oa(e,t,n){const r=e;for(const o in n){const s=`${t}__${o}`;r.__datetimeFormatters.has(s)&&r.__datetimeFormatters.delete(s)}}function La(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:o,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:l}=e;if(!et(t[0]))return zo;const[a,u,c,f]=Ci(...t),d=ot(c.missingWarn)?c.missingWarn:e.missingWarn;ot(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const g=!!c.part,y=fl(e,c),C=i(e,o,y);if(!ce(a)||a==="")return new Intl.NumberFormat(y.replace(/!/g,""),f).format(u);let S={},_,h=null;const E="number format";for(let P=0;P{Df.includes(a)?i[a]=n[a]:s[a]=n[a]}),ce(r)?s.locale=r:Pe(r)&&(i=r),Pe(o)&&(i=o),[s.key||"",l,s,i]}function Pa(e,t,n){const r=e;for(const o in n){const s=`${t}__${o}`;r.__numberFormatters.has(s)&&r.__numberFormatters.delete(s)}}const nv=e=>e,rv=e=>"",ov="text",sv=e=>e.length===0?"":al(e),iv=Jg;function Fs(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function lv(e){const t=et(e.pluralIndex)?e.pluralIndex:-1;return et(e.named?.count)?e.named.count:et(e.named?.n)?e.named.n:t}function av(e={}){const t=e.locale,n=lv(e),r=ce(t)&&qe(e.pluralRules?.[t])?e.pluralRules[t]:Fs,o=r===Fs?void 0:Fs,s=_=>_[r(n,_.length,o)],i=e.list||[],l=_=>i[_],a=e.named||lt();et(e.pluralIndex)&&(a.count||=e.pluralIndex,a.n||=e.pluralIndex);const u=_=>a[_];function c(_,h){const E=qe(e.messages)?e.messages(_,!!h):ze(e.messages)?e.messages[_]:!1;return E||(e.parent?e.parent.message(_):rv)}const f=_=>e.modifiers?e.modifiers[_]:nv,d=qe(e.processor?.normalize)?e.processor.normalize:sv,g=qe(e.processor?.interpolate)?e.processor.interpolate:iv,y=ce(e.processor?.type)?e.processor.type:ov,S={list:l,named:u,plural:s,linked:(_,...h)=>{const[E,v]=h;let A="text",P="";h.length===1?ze(E)?(P=E.modifier||P,A=E.type||A):ce(E)&&(P=E||P):h.length===2&&(ce(E)&&(P=E||P),ce(v)&&(A=v||A));const R=c(_,!0)(S),H=R===""||R===void 0?_:R,F=A==="vnode"&&Ut(H)&&P?H[0]:H;return P?f(P)(F,A):F},message:c,type:y,interpolate:g,normalize:d,values:Qn(lt(),i,a)};return S}const Ia=()=>"",sn=e=>qe(e);function Na(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:o,messageCompiler:s,fallbackLocale:i,messages:l}=e,[a,u]=Si(...t),c=ot(u.missingWarn)?u.missingWarn:e.missingWarn,f=ot(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=ot(u.escapeParameter)?u.escapeParameter:e.escapeParameter,g=!!u.resolvedMessage,y=ce(u.default)||ot(u.default)?ot(u.default)?s?a:()=>a:u.default:n?s?a:()=>a:null,C=n||y!=null&&(ce(y)||qe(y)),S=fl(e,u);d&&uv(u);let[_,h,E]=g?[a,S,l[S]||lt()]:$f(e,a,S,i,f,c),v=_,A=a;if(!g&&!(ce(v)||Ht(v)||sn(v))&&C&&(v=y,A=v),!g&&(!(ce(v)||Ht(v)||sn(v))||!ce(h)))return o?ms:a;let P=!1;const R=()=>{P=!0},H=sn(v)?v:Ff(e,a,h,v,A,R);if(P)return v;const F=dv(e,h,E,u),I=av(F),N=cv(e,H,I);let x=r?r(N,a):N;return d&&ce(x)&&(x=Qg(x)),x}function uv(e){Ut(e.list)?e.list=e.list.map(t=>ce(t)?va(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{ce(e.named[t])&&(e.named[t]=va(e.named[t]))})}function $f(e,t,n,r,o,s){const{messages:i,onWarn:l,messageResolver:a,localeFallbacker:u}=e,c=u(e,r,n);let f=lt(),d,g=null;const y="translate";for(let C=0;Cr);return u.locale=n,u.key=t,u}const a=i(r,fv(e,n,o,r,l,s));return a.locale=n,a.key=t,a.source=r,a}function cv(e,t,n){return t(n)}function Si(...e){const[t,n,r]=e,o=lt();if(!ce(t)&&!et(t)&&!sn(t)&&!Ht(t))throw rn(nn.INVALID_ARGUMENT);const s=et(t)?String(t):(sn(t),t);return et(n)?o.plural=n:ce(n)?o.default=n:Pe(n)&&!il(n)?o.named=n:Ut(n)&&(o.list=n),et(r)?o.plural=r:ce(r)?o.default=r:Pe(r)&&Qn(o,r),[s,o]}function fv(e,t,n,r,o,s){return{locale:t,key:n,warnHtmlMessage:o,onError:i=>{throw s&&s(i),i},onCacheKey:i=>Kg(t,n,i)}}function dv(e,t,n,r){const{modifiers:o,pluralRules:s,messageResolver:i,fallbackLocale:l,fallbackWarn:a,missingWarn:u,fallbackContext:c}=e,d={locale:t,modifiers:o,pluralRules:s,messages:(g,y)=>{let C=i(n,g);if(C==null&&(c||y)){const[,,S]=$f(c||e,g,t,l,a,u);C=i(S,g)}if(ce(C)||Ht(C)){let S=!1;const h=Ff(e,g,t,C,g,()=>{S=!0});return S?Ia:h}else return sn(C)?C:Ia}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),et(r.plural)&&(d.pluralIndex=r.plural),d}const Qo=typeof window<"u",An=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Jr=e=>typeof e=="number"&&isFinite(e),Ma=e=>qf(e)==="[object RegExp]",hv=e=>xt(e)&&Object.keys(e).length===0,Wt=Object.assign,mv=Object.create,ht=(e=null)=>mv(e),gv=Object.prototype.hasOwnProperty;function Yo(e,t){return gv.call(e,t)}const kt=Array.isArray,po=e=>typeof e=="function",Le=e=>typeof e=="string",Jt=e=>typeof e=="boolean",st=e=>e!==null&&typeof e=="object",pv=Object.prototype.toString,qf=e=>pv.call(e),xt=e=>qf(e)==="[object Object]",vo=e=>!st(e)||kt(e);function Ao(e,t){if(vo(e)||vo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:o}=n.pop();Object.keys(r).forEach(s=>{s!=="__proto__"&&(st(r[s])&&!st(o[s])&&(o[s]=Array.isArray(r[s])?[]:ht()),vo(o[s])||vo(r[s])?o[s]=r[s]:n.push({src:r[s],des:o[s]}))})}}const vv="11.3.0",yt={UNEXPECTED_RETURN_TYPE:Mp,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function Lt(e,...t){return hs(e,null,void 0)}const ki=An("__translateVNode"),xi=An("__datetimeParts"),Ti=An("__numberParts"),_v=An("__setPluralRules"),bv=An("__injectWithOption"),Ai=An("__dispose");function Zr(e){if(!st(e)||Ht(e))return e;for(const t in e)if(Yo(e,t))if(!t.includes("."))st(e[t])&&Zr(e[t]);else{const n=t.split("."),r=n.length-1;let o=e,s=!1;for(let i=0;i{if("locale"in l&&"resource"in l){const{locale:a,resource:u}=l;a?(i[a]=i[a]||ht(),Ao(u,i[a])):Ao(u,i)}else Le(l)&&Ao(JSON.parse(l),i)}),o==null&&s)for(const l in i)Yo(i,l)&&Zr(i[l]);return i}function yv(e){return e.type}function Ev(e,t,n){let r=st(t.messages)?t.messages:ht();"__i18nGlobal"in n&&(r=Vf(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const o=Object.keys(r);o.length&&o.forEach(s=>{e.mergeLocaleMessage(s,r[s])});{if(st(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(st(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Da(e){return Ze(ro,null,e,0)}function Bf(){return ke()}const $a=()=>[],wv=()=>!1;let Fa=0;function qa(e){return((t,n,r,o)=>e(n,r,Bf()||void 0,o))}function jf(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,o=e.flatJson,s=Qo?me:dc;let i=Jt(e.inheritLocale)?e.inheritLocale:!0;const l=s(t&&i?t.locale.value:Le(e.locale)?e.locale:Go),a=s(t&&i?t.fallbackLocale.value:Le(e.fallbackLocale)||kt(e.fallbackLocale)||xt(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),u=s(Vf(l.value,e)),c=s(xt(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),f=s(xt(e.numberFormats)?e.numberFormats:{[l.value]:{}});let d=t?t.missingWarn:Jt(e.missingWarn)||Ma(e.missingWarn)?e.missingWarn:!0,g=t?t.fallbackWarn:Jt(e.fallbackWarn)||Ma(e.fallbackWarn)?e.fallbackWarn:!0,y=t?t.fallbackRoot:Jt(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,S=po(e.missing)?e.missing:null,_=po(e.missing)?qa(e.missing):null,h=po(e.postTranslation)?e.postTranslation:null,E=t?t.warnHtmlMessage:Jt(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter;const A=t?t.modifiers:xt(e.modifiers)?e.modifiers:{};let P=e.pluralRules||t&&t.pluralRules,R;R=(()=>{r&&Ta(null);const T={version:vv,locale:l.value,fallbackLocale:a.value,messages:u.value,modifiers:A,pluralRules:P,missing:_===null?void 0:_,missingWarn:d,fallbackWarn:g,fallbackFormat:C,unresolving:!0,postTranslation:h===null?void 0:h,warnHtmlMessage:E,escapeParameter:v,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=c.value,T.numberFormats=f.value,T.__datetimeFormatters=xt(R)?R.__datetimeFormatters:void 0,T.__numberFormatters=xt(R)?R.__numberFormatters:void 0;const D=Zp(T);return r&&Ta(D),D})(),wr(R,l.value,a.value);function F(){return[l.value,a.value,u.value,c.value,f.value]}const I=$({get:()=>l.value,set:T=>{R.locale=T,l.value=T}}),N=$({get:()=>a.value,set:T=>{R.fallbackLocale=T,a.value=T,wr(R,l.value,T)}}),x=$(()=>u.value),B=$(()=>c.value),q=$(()=>f.value);function Y(){return po(h)?h:null}function ee(T){h=T,R.postTranslation=T}function Q(){return S}function j(T){T!==null&&(_=qa(T)),S=T,R.missing=_}const re=(T,D,te,ie,he,Re)=>{F();let we;try{r||(R.fallbackContext=t?Jp():void 0),we=T(R)}finally{r||(R.fallbackContext=void 0)}if(te!=="translate exists"&&Jr(we)&&we===ms||te==="translate exists"&&!we){const[gt,wt]=D();return t&&y?ie(t):he(gt)}else{if(Re(we))return we;throw Lt(yt.UNEXPECTED_RETURN_TYPE)}};function ye(...T){return re(D=>Reflect.apply(Na,null,[D,...T]),()=>Si(...T),"translate",D=>Reflect.apply(D.t,D,[...T]),D=>D,D=>Le(D))}function le(...T){const[D,te,ie]=T;if(ie&&!st(ie))throw Lt(yt.INVALID_ARGUMENT);return ye(D,te,Wt({resolvedMessage:!0},ie||{}))}function z(...T){return re(D=>Reflect.apply(Ra,null,[D,...T]),()=>wi(...T),"datetime format",D=>Reflect.apply(D.d,D,[...T]),()=>zo,D=>Le(D)||kt(D))}function fe(...T){return re(D=>Reflect.apply(La,null,[D,...T]),()=>Ci(...T),"number format",D=>Reflect.apply(D.n,D,[...T]),()=>zo,D=>Le(D)||kt(D))}function Ee(T){return T.map(D=>Le(D)||Jr(D)||Jt(D)?Da(String(D)):D)}const oe={normalize:Ee,interpolate:T=>T,type:"vnode"};function M(...T){return re(D=>{let te;const ie=D;try{ie.processor=oe,te=Reflect.apply(Na,null,[ie,...T])}finally{ie.processor=null}return te},()=>Si(...T),"translate",D=>D[ki](...T),D=>[Da(D)],D=>kt(D))}function X(...T){return re(D=>Reflect.apply(La,null,[D,...T]),()=>Ci(...T),"number format",D=>D[Ti](...T),$a,D=>Le(D)||kt(D))}function J(...T){return re(D=>Reflect.apply(Ra,null,[D,...T]),()=>wi(...T),"datetime format",D=>D[xi](...T),$a,D=>Le(D)||kt(D))}function ne(T){P=T,R.pluralRules=P}function de(T,D){return re(()=>{if(!T)return!1;const te=Le(D)?D:l.value,ie=Le(D)?[te]:Ei(R,a.value,te);for(let he=0;he[T],"translate exists",te=>Reflect.apply(te.te,te,[T,D]),wv,te=>Jt(te))}function b(T){let D=null;const te=Ei(R,a.value,l.value);for(let ie=0;ie{i&&(l.value=T,R.locale=T,wr(R,l.value,a.value))}),ge(t.fallbackLocale,T=>{i&&(a.value=T,R.fallbackLocale=T,wr(R,l.value,a.value))}));const G={id:Fa,locale:I,fallbackLocale:N,get inheritLocale(){return i},set inheritLocale(T){i=T,T&&t&&(l.value=t.locale.value,a.value=t.fallbackLocale.value,wr(R,l.value,a.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:x,get modifiers(){return A},get pluralRules(){return P||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(T){d=T,R.missingWarn=d},get fallbackWarn(){return g},set fallbackWarn(T){g=T,R.fallbackWarn=g},get fallbackRoot(){return y},set fallbackRoot(T){y=T},get fallbackFormat(){return C},set fallbackFormat(T){C=T,R.fallbackFormat=C},get warnHtmlMessage(){return E},set warnHtmlMessage(T){E=T,R.warnHtmlMessage=T},get escapeParameter(){return v},set escapeParameter(T){v=T,R.escapeParameter=T},t:ye,getLocaleMessage:O,setLocaleMessage:U,mergeLocaleMessage:K,getPostTranslationHandler:Y,setPostTranslationHandler:ee,getMissingHandler:Q,setMissingHandler:j,[_v]:ne};return G.datetimeFormats=B,G.numberFormats=q,G.rt=le,G.te=de,G.tm=w,G.d=z,G.n=fe,G.getDateTimeFormat=W,G.setDateTimeFormat=m,G.mergeDateTimeFormat=p,G.getNumberFormat=k,G.setNumberFormat=L,G.mergeNumberFormat=Z,G[bv]=n,G[ki]=M,G[xi]=J,G[Ti]=X,G}const hl={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Cv({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,o)=>[...r,...o.type===ut?o.children:[o]],[]):t.reduce((n,r)=>{const o=e[r];return o&&(n[r]=o()),n},ht())}function Uf(){return ut}const Sv=Gn({name:"i18n-t",props:Wt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Jr(e)||!isNaN(e)}},hl),setup(e,t){const{slots:n,attrs:r}=t,o=e.i18n||gs({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f[0]!=="_"),i=ht();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=Le(e.plural)?+e.plural:e.plural);const l=Cv(t,s),a=o[ki](e.keypath,l,i),u=Wt(ht(),r),c=Le(e.tag)||st(e.tag)?e.tag:Uf();return V(c,u,a)}}}),Va=Sv;function kv(e){return kt(e)&&!Le(e[0])}function Hf(e,t,n,r){const{slots:o,attrs:s}=t;return()=>{const i={part:!0};let l=ht();e.locale&&(i.locale=e.locale),Le(e.format)?i.key=e.format:st(e.format)&&(Le(e.format.key)&&(i.key=e.format.key),l=Object.keys(e.format).reduce((d,g)=>n.includes(g)?Wt(ht(),d,{[g]:e.format[g]}):d,ht()));const a=r(e.value,i,l);let u=[i.key];kt(a)?u=a.map((d,g)=>{const y=o[d.type],C=y?y({[d.type]:d.value,index:g,parts:a}):[d.value];return kv(C)&&(C[0].key=`${d.type}-${g}`),C}):Le(a)&&(u=[a]);const c=Wt(ht(),s),f=Le(e.tag)||st(e.tag)?e.tag:Uf();return V(f,c,u)}}const xv=Gn({name:"i18n-n",props:Wt({value:{type:Number,required:!0},format:{type:[String,Object]}},hl),setup(e,t){const n=e.i18n||gs({useScope:e.scope,__useComponent:!0});return Hf(e,t,Df,(...r)=>n[Ti](...r))}}),Ba=xv;function Tv(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function Av(e){const t=i=>{const{instance:l,value:a}=i;if(!l||!l.$)throw Lt(yt.UNEXPECTED_ERROR);const u=Tv(e,l.$),c=ja(a);return[Reflect.apply(u.t,u,[...Ua(c)]),u]};return{created:(i,l)=>{const[a,u]=t(l);Qo&&(i.__i18nWatcher=ge(u.locale,()=>{l.instance&&l.instance.$forceUpdate()})),i.__composer=u,i.textContent=a},unmounted:i=>{Qo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:l})=>{if(i.__composer){const a=i.__composer,u=ja(l);i.textContent=Reflect.apply(a.t,a,[...Ua(u)])}},getSSRProps:i=>{const[l]=t(i);return{textContent:l}}}}function ja(e){if(Le(e))return{path:e};if(xt(e)){if(!("path"in e))throw Lt(yt.REQUIRED_VALUE,"path");return e}else throw Lt(yt.INVALID_VALUE)}function Ua(e){const{path:t,locale:n,args:r,choice:o,plural:s}=e,i={},l=r||{};return Le(n)&&(i.locale=n),Jr(o)&&(i.plural=o),Jr(s)&&(i.plural=s),[t,l,i]}function Rv(e,t,...n){const r=xt(n[0])?n[0]:{};(!Jt(r.globalInstall)||r.globalInstall)&&([Va.name,"I18nT"].forEach(s=>e.component(s,Va)),[Ba.name,"I18nN"].forEach(s=>e.component(s,Ba)),[Wa.name,"I18nD"].forEach(s=>e.component(s,Wa))),e.directive("t",Av(t))}const Ov=An("global-vue-i18n");function S0(e={}){const t=Jt(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,o]=Lv(e),s=An("");function i(c){return n.get(c)||null}function l(c,f){n.set(c,f)}function a(c){n.delete(c)}const u={get mode(){return"composition"},async install(c,...f){if(c.__VUE_I18N_SYMBOL__=s,c.provide(c.__VUE_I18N_SYMBOL__,u),xt(f[0])){const y=f[0];u.__composerExtend=y.__composerExtend,u.__vueI18nExtend=y.__vueI18nExtend}let d=null;t&&(d=qv(c,u.global)),Rv(c,u,...f);const g=c.unmount;c.unmount=()=>{d&&d(),u.dispose(),g()}},get global(){return o},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:l,__deleteInstance:a};return u}function gs(e={}){const t=Bf();if(t==null)throw Lt(yt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Lt(yt.NOT_INSTALLED);const n=Pv(t),r=Nv(n),o=yv(t),s=Iv(e,o);if(s==="global")return Ev(r,e,o),r;if(s==="parent"){let a=Mv(n,t,e.__useComponent);return a==null&&(a=r),a}const i=n;let l=i.__getInstance(t);if(l==null){const a=Wt({},e);"__i18n"in o&&(a.__i18n=o.__i18n),r&&(a.__root=r),l=jf(a),i.__composerExtend&&(l[Ai]=i.__composerExtend(l)),$v(i,t,l),i.__setInstance(t,l)}return l}function Lv(e,t){const n=Wi(),r=n.run(()=>jf(e));if(r==null)throw Lt(yt.UNEXPECTED_ERROR);return[n,r]}function Pv(e){const t=it(e.isCE?Ov:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Lt(e.isCE?yt.NOT_INSTALLED_WITH_PROVIDE:yt.UNEXPECTED_ERROR);return t}function Iv(e,t){return hv(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Nv(e){return e.mode==="composition"?e.global:e.global.__composer}function Mv(e,t,n=!1){let r=null;const o=t.root;let s=Dv(t,n);for(;s!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(s)),r!=null||o===s)break;s=s.parent}return r}function Dv(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function $v(e,t,n){Gt(()=>{},t),cs(()=>{const r=n;e.__deleteInstance(t);const o=r[Ai];o&&(o(),delete r[Ai])},t)}const Fv=["locale","fallbackLocale","availableLocales"],Ha=["t","rt","d","n","tm","te"];function qv(e,t){const n=Object.create(null);return Fv.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s)throw Lt(yt.UNEXPECTED_ERROR);const i=Ae(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,o,i)}),e.config.globalProperties.$i18n=n,Ha.forEach(o=>{const s=Object.getOwnPropertyDescriptor(t,o);if(!s||!s.value)throw Lt(yt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${o}`,s)}),()=>{delete e.config.globalProperties.$i18n,Ha.forEach(o=>{delete e.config.globalProperties[`$${o}`]})}}const Vv=Gn({name:"i18n-d",props:Wt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},hl),setup(e,t){const n=e.i18n||gs({useScope:e.scope,__useComponent:!0});return Hf(e,t,Mf,(...r)=>n[xi](...r))}}),Wa=Vv;Qp(Np);Yp(Kp);Xp(Ei);let Wf;const ps=e=>Wf=e,Kf=Symbol();function Ri(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var qr;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(qr||(qr={}));function Bv(){const e=Wi(!0),t=e.run(()=>me({}));let n=[],r=[];const o=Kn({install(s){ps(o),o._a=s,s.provide(Kf,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return this._a?n.push(s):r.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const Gf=()=>{};function Ka(e,t,n,r=Gf){e.add(t);const o=()=>{e.delete(t)&&r()};return!n&&Yu()&&Zd(o),o}function Zn(e,...t){e.forEach(n=>{n(...t)})}const jv=e=>e(),Ga=Symbol(),qs=Symbol();function Oi(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];Ri(o)&&Ri(r)&&e.hasOwnProperty(n)&&!Ae(r)&&!on(r)?e[n]=Oi(o,r):e[n]=r}return e}const Uv=Symbol();function Hv(e){return!Ri(e)||!Object.prototype.hasOwnProperty.call(e,Uv)}const{assign:pn}=Object;function Wv(e){return!!(Ae(e)&&e.effect)}function Kv(e,t,n,r){const{state:o,actions:s,getters:i}=t,l=n.state.value[e];let a;function u(){l||(n.state.value[e]=o?o():{});const c=Eh(n.state.value[e]);return pn(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=Kn($(()=>{ps(n);const g=n._s.get(e);return i[d].call(g,g)})),f),{}))}return a=zf(e,u,t,n,r,!0),a}function zf(e,t,n={},r,o,s){let i;const l=pn({actions:{}},n),a={deep:!0};let u,c,f=new Set,d=new Set,g;const y=r.state.value[e];!s&&!y&&(r.state.value[e]={});let C;function S(H){let F;u=c=!1,typeof H=="function"?(H(r.state.value[e]),F={type:qr.patchFunction,storeId:e,events:g}):(Oi(r.state.value[e],H),F={type:qr.patchObject,payload:H,storeId:e,events:g});const I=C=Symbol();rt().then(()=>{C===I&&(u=!0)}),c=!0,Zn(f,F,r.state.value[e])}const _=s?function(){const{state:F}=n,I=F?F():{};this.$patch(N=>{pn(N,I)})}:Gf;function h(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const E=(H,F="")=>{if(Ga in H)return H[qs]=F,H;const I=function(){ps(r);const N=Array.from(arguments),x=new Set,B=new Set;function q(Q){x.add(Q)}function Y(Q){B.add(Q)}Zn(d,{args:N,name:I[qs],store:A,after:q,onError:Y});let ee;try{ee=H.apply(this&&this.$id===e?this:A,N)}catch(Q){throw Zn(B,Q),Q}return ee instanceof Promise?ee.then(Q=>(Zn(x,Q),Q)).catch(Q=>(Zn(B,Q),Promise.reject(Q))):(Zn(x,ee),ee)};return I[Ga]=!0,I[qs]=F,I},v={_p:r,$id:e,$onAction:Ka.bind(null,d),$patch:S,$reset:_,$subscribe(H,F={}){const I=Ka(f,H,F.detached,()=>N()),N=i.run(()=>ge(()=>r.state.value[e],x=>{(F.flush==="sync"?c:u)&&H({storeId:e,type:qr.direct,events:g},x)},pn({},a,F)));return I},$dispose:h},A=Wn(v);r._s.set(e,A);const R=(r._a&&r._a.runWithContext||jv)(()=>r._e.run(()=>(i=Wi()).run(()=>t({action:E}))));for(const H in R){const F=R[H];if(Ae(F)&&!Wv(F)||on(F))s||(y&&Hv(F)&&(Ae(F)?F.value=y[H]:Oi(F,y[H])),r.state.value[e][H]=F);else if(typeof F=="function"){const I=E(F,H);R[H]=I,l.actions[H]=F}}return pn(A,R),pn(ue(A),R),Object.defineProperty(A,"$state",{get:()=>r.state.value[e],set:H=>{S(F=>{pn(F,H)})}}),r._p.forEach(H=>{pn(A,i.run(()=>H({store:A,app:r._a,pinia:r,options:l})))}),y&&s&&n.hydrate&&n.hydrate(A.$state,y),u=!0,c=!0,A}function Gv(e,t,n){let r;const o=typeof t=="function";r=o?n:t;function s(i,l){const a=Ph();return i=i||(a?it(Kf,null):null),i&&ps(i),i=Wf,i._s.has(e)||(o?zf(e,t,r,i):Kv(e,r,i)),i._s.get(e)}return s.$id=e,s}const zv=["it","en","en_us","de","de_ch","fr","fr_ch"],za="it",Qf="preferences.language";function Qv(e){return zv.includes(e)}function Yv(){if(typeof localStorage>"u")return za;const e=localStorage.getItem(Qf);return e&&Qv(e)?e:za}function Xv(e){switch(e){case"it":case"en":case"en_us":case"de":case"de_ch":case"fr":case"fr_ch":return e}}const Jv=Gv("preferences",{state:()=>({language:Yv()}),actions:{setLanguage(e){this.language=e,typeof localStorage<"u"&&localStorage.setItem(Qf,e)}}}),Zv=Gn({__name:"App",setup(e){const{locale:t}=gs(),n=Jv();return ge(()=>n.language,r=>{t.value=Xv(r)},{immediate:!0}),(r,o)=>{const s=zh("router-view");return Yc(),Jc(s)}}}),ml=e=>e,k0=ml,e_=ml,t_=ml,Vs=t_(()=>Bv());const ir=typeof document<"u";function Yf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function n_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Yf(e.default)}const pe=Object.assign;function Bs(e,t){const n={};for(const r in t){const o=t[r];n[r]=Pt(o)?o.map(e):e(o)}return n}const Vr=()=>{},Pt=Array.isArray;function Qa(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}let Oe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Xf=Symbol("");Oe.MATCHER_NOT_FOUND+"",Oe.NAVIGATION_GUARD_REDIRECT+"",Oe.NAVIGATION_ABORTED+"",Oe.NAVIGATION_CANCELLED+"",Oe.NAVIGATION_DUPLICATED+"";function hr(e,t){return pe(new Error,{type:e,[Xf]:!0},t)}function Yt(e,t){return e instanceof Error&&Xf in e&&(t==null||!!(e.type&t))}const r_=["params","query","hash"];function o_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of r_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}const s_=Symbol(""),Ya=Symbol(""),vs=Symbol(""),gl=Symbol(""),Li=Symbol("");function x0(){return it(vs)}function T0(e){return it(gl)}const Jf=/#/g,i_=/&/g,l_=/\//g,a_=/=/g,u_=/\?/g,Zf=/\+/g,c_=/%5B/g,f_=/%5D/g,ed=/%5E/g,d_=/%60/g,td=/%7B/g,h_=/%7C/g,nd=/%7D/g,m_=/%20/g;function pl(e){return e==null?"":encodeURI(""+e).replace(h_,"|").replace(c_,"[").replace(f_,"]")}function g_(e){return pl(e).replace(td,"{").replace(nd,"}").replace(ed,"^")}function Pi(e){return pl(e).replace(Zf,"%2B").replace(m_,"+").replace(Jf,"%23").replace(i_,"%26").replace(d_,"`").replace(td,"{").replace(nd,"}").replace(ed,"^")}function p_(e){return Pi(e).replace(a_,"%3D")}function v_(e){return pl(e).replace(Jf,"%23").replace(u_,"%3F")}function __(e){return v_(e).replace(l_,"%2F")}function eo(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const b_=/\/$/,y_=e=>e.replace(b_,"");function js(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(r=t.slice(0,a),s=t.slice(a,l>0?l:t.length),o=e(s.slice(1))),l>=0&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=S_(r??t,n),{fullPath:r+s+i,path:r,query:o,hash:eo(i)}}function E_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Xa(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function w_(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&mr(t.matched[r],n.matched[o])&&rd(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function mr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function rd(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!C_(e[n],t[n]))return!1;return!0}function C_(e,t){return Pt(e)?Ja(e,t):Pt(t)?Ja(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Ja(e,t){return Pt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function S_(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=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const mn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ii=(function(e){return e.pop="pop",e.push="push",e})({}),Us=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function k_(e){if(!e)if(ir){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),y_(e)}const x_=/^[^#]+#/;function T_(e,t){return e.replace(x_,"#")+t}function A_(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 _s=()=>({left:window.scrollX,top:window.scrollY});function R_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=A_(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Za(e,t){return(history.state?history.state.position-t:-1)+e}const Ni=new Map;function O_(e,t){Ni.set(e,t)}function L_(e){const t=Ni.get(e);return Ni.delete(e),t}function P_(e){return typeof e=="string"||e&&typeof e=="object"}function od(e){return typeof e=="string"||typeof e=="symbol"}function I_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ro&&Pi(o)):[r&&Pi(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function N_(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Pt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}function Cr(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function bn(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=d=>{d===!1?a(hr(Oe.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?a(d):P_(d)?a(hr(Oe.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[o]===i&&typeof d=="function"&&i.push(d),l())},c=s(()=>e.call(r&&r.instances[o],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>a(d))})}function Hs(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(Yf(a)){const u=(a.__vccOpts||a)[t];u&&s.push(bn(u,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=n_(c)?c.default:c;i.mods[l]=c,i.components[l]=f;const d=(f.__vccOpts||f)[t];return d&&bn(d,n,r,i,l,o)()}))}}return s}function M_(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;imr(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>mr(u,a))||o.push(a))}return[n,r,o]}let D_=()=>location.protocol+"//"+location.host;function sd(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let i=o.includes(e.slice(s))?e.slice(s).length:1,l=o.slice(i);return l[0]!=="/"&&(l="/"+l),Xa(l,"")}return Xa(n,e)+r+o}function $_(e,t,n,r){let o=[],s=[],i=null;const l=({state:d})=>{const g=sd(e,location),y=n.value,C=t.value;let S=0;if(d){if(n.value=g,t.value=d,i&&i===y){i=null;return}S=C?d.position-C.position:0}else r(g);o.forEach(_=>{_(n.value,y,{delta:S,type:Ii.pop,direction:S?S>0?Us.forward:Us.back:Us.unknown})})};function a(){i=n.value}function u(d){o.push(d);const g=()=>{const y=o.indexOf(d);y>-1&&o.splice(y,1)};return s.push(g),g}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(pe({},d.state,{scroll:_s()}),"")}}function f(){for(const d of s)d();s=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:u,destroy:f}}function tu(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?_s():null}}function F_(e){const{history:t,location:n}=window,r={value:sd(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:D_()+e+a;try{t[c?"replaceState":"pushState"](u,"",d),o.value=u}catch(g){console.error(g),n[c?"replace":"assign"](d)}}function i(a,u){s(a,pe({},t.state,tu(o.value.back,a,o.value.forward,!0),u,{position:o.value.position}),!0),r.value=a}function l(a,u){const c=pe({},o.value,t.state,{forward:a,scroll:_s()});s(c.current,c,!0),s(a,pe({},tu(r.value,a,null),{position:c.position+1},u),!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function q_(e){e=k_(e);const t=F_(e),n=$_(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=pe({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}let Mn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var De=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(De||{});const V_={type:Mn.Static,value:""},B_=/[a-zA-Z0-9_]/;function j_(e){if(!e)return[[]];if(e==="/")return[[V_]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=De.Static,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",c="";function f(){u&&(n===De.Static?s.push({type:Mn.Static,value:u}):n===De.Param||n===De.ParamRegExp||n===De.ParamRegExpEnd?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:Mn.Param,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;lt.length?t.length===1&&t[0]===Xe.Static+Xe.Segment?1:-1:0}function id(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const G_={strict:!1,end:!0,sensitive:!1};function z_(e,t,n){const r=W_(j_(e.path),n),o=pe(r,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Q_(e,t){const n=[],r=new Map;t=Qa(G_,t);function o(f){return r.get(f)}function s(f,d,g){const y=!g,C=su(f);C.aliasOf=g&&g.record;const S=Qa(t,f),_=[C];if("alias"in f){const v=typeof f.alias=="string"?[f.alias]:f.alias;for(const A of v)_.push(su(pe({},C,{components:g?g.record.components:C.components,path:A,aliasOf:g?g.record:C})))}let h,E;for(const v of _){const{path:A}=v;if(d&&A[0]!=="/"){const P=d.record.path,R=P[P.length-1]==="/"?"":"/";v.path=d.record.path+(A&&R+A)}if(h=z_(v,d,S),g?g.alias.push(h):(E=E||h,E!==h&&E.alias.push(h),y&&f.name&&!iu(h)&&i(f.name)),ld(h)&&a(h),C.children){const P=C.children;for(let R=0;R{i(E)}:Vr}function i(f){if(od(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function a(f){const d=J_(f,n);n.splice(d,0,f),f.record.name&&!iu(f)&&r.set(f.record.name,f)}function u(f,d){let g,y={},C,S;if("name"in f&&f.name){if(g=r.get(f.name),!g)throw hr(Oe.MATCHER_NOT_FOUND,{location:f});S=g.record.name,y=pe(ou(d.params,g.keys.filter(E=>!E.optional).concat(g.parent?g.parent.keys.filter(E=>E.optional):[]).map(E=>E.name)),f.params&&ou(f.params,g.keys.map(E=>E.name))),C=g.stringify(y)}else if(f.path!=null)C=f.path,g=n.find(E=>E.re.test(C)),g&&(y=g.parse(C),S=g.record.name);else{if(g=d.name?r.get(d.name):n.find(E=>E.re.test(d.path)),!g)throw hr(Oe.MATCHER_NOT_FOUND,{location:f,currentLocation:d});S=g.record.name,y=pe({},d.params,f.params),C=g.stringify(y)}const _=[];let h=g;for(;h;)_.unshift(h.record),h=h.parent;return{name:S,path:C,params:y,matched:_,meta:X_(_)}}e.forEach(f=>s(f));function c(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function ou(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function su(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Y_(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 Y_(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function iu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function X_(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function J_(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;id(e,t[s])<0?r=s:n=s+1}const o=Z_(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function Z_(e){let t=e;for(;t=t.parent;)if(ld(t)&&id(e,t)===0)return t}function ld({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function lu(e){const t=it(vs),n=it(gl),r=$(()=>{const a=Cn(e.to);return t.resolve(a)}),o=$(()=>{const{matched:a}=r.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(mr.bind(null,c));if(d>-1)return d;const g=au(a[u-2]);return u>1&&au(c)===g&&f[f.length-1].path!==g?f.findIndex(mr.bind(null,a[u-2])):d}),s=$(()=>o.value>-1&&ob(n.params,r.value.params)),i=$(()=>o.value>-1&&o.value===n.matched.length-1&&rd(n.params,r.value.params));function l(a={}){if(rb(a)){const u=t[Cn(e.replace)?"replace":"push"](Cn(e.to)).catch(Vr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:$(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}function eb(e){return e.length===1?e[0]:e}const tb=Gn({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:lu,setup(e,{slots:t}){const n=Wn(lu(e)),{options:r}=it(vs),o=$(()=>({[uu(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[uu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&eb(t.default(n));return e.custom?s:V("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),nb=tb;function rb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ob(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Pt(o)||o.length!==r.length||r.some((s,i)=>s.valueOf()!==o[i].valueOf()))return!1}return!0}function au(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const uu=(e,t,n)=>e??t??n,sb=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=it(Li),o=$(()=>e.route||r.value),s=it(Ya,0),i=$(()=>{let u=Cn(s);const{matched:c}=o.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=$(()=>o.value.matched[i.value]);So(Ya,$(()=>i.value+1)),So(s_,l),So(Li,o);const a=me();return ge(()=>[a.value,l.value,e.name],([u,c,f],[d,g,y])=>{c&&(c.instances[f]=u,g&&g!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=g.leaveGuards),c.updateGuards.size||(c.updateGuards=g.updateGuards))),u&&c&&(!g||!mr(c,g)||!d)&&(c.enterCallbacks[f]||[]).forEach(C=>C(u))},{flush:"post"}),()=>{const u=o.value,c=e.name,f=l.value,d=f&&f.components[c];if(!d)return cu(n.default,{Component:d,route:u});const g=f.props[c],y=g?g===!0?u.params:typeof g=="function"?g(u):g:null,S=V(d,pe({},y,t,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return cu(n.default,{Component:S,route:u})||S}}});function cu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ib=sb;function lb(e){const t=Q_(e.routes,e),n=e.parseQuery||I_,r=e.stringifyQuery||eu,o=e.history,s=Cr(),i=Cr(),l=Cr(),a=dc(mn);let u=mn;ir&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Bs.bind(null,M=>""+M),f=Bs.bind(null,__),d=Bs.bind(null,eo);function g(M,X){let J,ne;return od(M)?(J=t.getRecordMatcher(M),ne=X):ne=M,t.addRoute(ne,J)}function y(M){const X=t.getRecordMatcher(M);X&&t.removeRoute(X)}function C(){return t.getRoutes().map(M=>M.record)}function S(M){return!!t.getRecordMatcher(M)}function _(M,X){if(X=pe({},X||a.value),typeof M=="string"){const O=js(n,M,X.path),U=t.resolve({path:O.path},X),K=o.createHref(O.fullPath);return pe(O,U,{params:d(U.params),hash:eo(O.hash),redirectedFrom:void 0,href:K})}let J;if(M.path!=null)J=pe({},M,{path:js(n,M.path,X.path).path});else{const O=pe({},M.params);for(const U in O)O[U]==null&&delete O[U];J=pe({},M,{params:f(O)}),X.params=f(X.params)}const ne=t.resolve(J,X),de=M.hash||"";ne.params=c(d(ne.params));const b=E_(r,pe({},M,{hash:g_(de),path:ne.path})),w=o.createHref(b);return pe({fullPath:b,hash:de,query:r===eu?N_(M.query):M.query||{}},ne,{redirectedFrom:void 0,href:w})}function h(M){return typeof M=="string"?js(n,M,a.value.path):pe({},M)}function E(M,X){if(u!==M)return hr(Oe.NAVIGATION_CANCELLED,{from:X,to:M})}function v(M){return R(M)}function A(M){return v(pe(h(M),{replace:!0}))}function P(M,X){const J=M.matched[M.matched.length-1];if(J&&J.redirect){const{redirect:ne}=J;let de=typeof ne=="function"?ne(M,X):ne;return typeof de=="string"&&(de=de.includes("?")||de.includes("#")?de=h(de):{path:de},de.params={}),pe({query:M.query,hash:M.hash,params:de.path!=null?{}:M.params},de)}}function R(M,X){const J=u=_(M),ne=a.value,de=M.state,b=M.force,w=M.replace===!0,O=P(J,ne);if(O)return R(pe(h(O),{state:typeof O=="object"?pe({},de,O.state):de,force:b,replace:w}),X||J);const U=J;U.redirectedFrom=X;let K;return!b&&w_(r,ne,J)&&(K=hr(Oe.NAVIGATION_DUPLICATED,{to:U,from:ne}),le(ne,ne,!0,!1)),(K?Promise.resolve(K):I(U,ne)).catch(W=>Yt(W)?Yt(W,Oe.NAVIGATION_GUARD_REDIRECT)?W:ye(W):j(W,U,ne)).then(W=>{if(W){if(Yt(W,Oe.NAVIGATION_GUARD_REDIRECT))return R(pe({replace:w},h(W.to),{state:typeof W.to=="object"?pe({},de,W.to.state):de,force:b}),X||U)}else W=x(U,ne,!0,w,de);return N(U,ne,W),W})}function H(M,X){const J=E(M,X);return J?Promise.reject(J):Promise.resolve()}function F(M){const X=Ee.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(M):M()}function I(M,X){let J;const[ne,de,b]=M_(M,X);J=Hs(ne.reverse(),"beforeRouteLeave",M,X);for(const O of ne)O.leaveGuards.forEach(U=>{J.push(bn(U,M,X))});const w=H.bind(null,M,X);return J.push(w),oe(J).then(()=>{J=[];for(const O of s.list())J.push(bn(O,M,X));return J.push(w),oe(J)}).then(()=>{J=Hs(de,"beforeRouteUpdate",M,X);for(const O of de)O.updateGuards.forEach(U=>{J.push(bn(U,M,X))});return J.push(w),oe(J)}).then(()=>{J=[];for(const O of b)if(O.beforeEnter)if(Pt(O.beforeEnter))for(const U of O.beforeEnter)J.push(bn(U,M,X));else J.push(bn(O.beforeEnter,M,X));return J.push(w),oe(J)}).then(()=>(M.matched.forEach(O=>O.enterCallbacks={}),J=Hs(b,"beforeRouteEnter",M,X,F),J.push(w),oe(J))).then(()=>{J=[];for(const O of i.list())J.push(bn(O,M,X));return J.push(w),oe(J)}).catch(O=>Yt(O,Oe.NAVIGATION_CANCELLED)?O:Promise.reject(O))}function N(M,X,J){l.list().forEach(ne=>F(()=>ne(M,X,J)))}function x(M,X,J,ne,de){const b=E(M,X);if(b)return b;const w=X===mn,O=ir?history.state:{};J&&(ne||w?o.replace(M.fullPath,pe({scroll:w&&O&&O.scroll},de)):o.push(M.fullPath,de)),a.value=M,le(M,X,J,w),ye()}let B;function q(){B||(B=o.listen((M,X,J)=>{if(!Te.listening)return;const ne=_(M),de=P(ne,Te.currentRoute.value);if(de){R(pe(de,{replace:!0,force:!0}),ne).catch(Vr);return}u=ne;const b=a.value;ir&&O_(Za(b.fullPath,J.delta),_s()),I(ne,b).catch(w=>Yt(w,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_CANCELLED)?w:Yt(w,Oe.NAVIGATION_GUARD_REDIRECT)?(R(pe(h(w.to),{force:!0}),ne).then(O=>{Yt(O,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_DUPLICATED)&&!J.delta&&J.type===Ii.pop&&o.go(-1,!1)}).catch(Vr),Promise.reject()):(J.delta&&o.go(-J.delta,!1),j(w,ne,b))).then(w=>{w=w||x(ne,b,!1),w&&(J.delta&&!Yt(w,Oe.NAVIGATION_CANCELLED)?o.go(-J.delta,!1):J.type===Ii.pop&&Yt(w,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),N(ne,b,w)}).catch(Vr)}))}let Y=Cr(),ee=Cr(),Q;function j(M,X,J){ye(M);const ne=ee.list();return ne.length?ne.forEach(de=>de(M,X,J)):console.error(M),Promise.reject(M)}function re(){return Q&&a.value!==mn?Promise.resolve():new Promise((M,X)=>{Y.add([M,X])})}function ye(M){return Q||(Q=!M,q(),Y.list().forEach(([X,J])=>M?J(M):X()),Y.reset()),M}function le(M,X,J,ne){const{scrollBehavior:de}=e;if(!ir||!de)return Promise.resolve();const b=!J&&L_(Za(M.fullPath,0))||(ne||!J)&&history.state&&history.state.scroll||null;return rt().then(()=>de(M,X,b)).then(w=>w&&R_(w)).catch(w=>j(w,M,X))}const z=M=>o.go(M);let fe;const Ee=new Set,Te={currentRoute:a,listening:!0,addRoute:g,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:S,getRoutes:C,resolve:_,options:e,push:v,replace:A,go:z,back:()=>z(-1),forward:()=>z(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:ee.add,isReady:re,install(M){M.component("RouterLink",nb),M.component("RouterView",ib),M.config.globalProperties.$router=Te,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>Cn(a)}),ir&&!fe&&a.value===mn&&(fe=!0,v(o.location).catch(ne=>{}));const X={};for(const ne in mn)Object.defineProperty(X,ne,{get:()=>a.value[ne],enumerable:!0});M.provide(vs,Te),M.provide(gl,fc(X)),M.provide(Li,a);const J=M.unmount;Ee.add(M),M.unmount=function(){Ee.delete(M),Ee.size<1&&(u=mn,B&&B(),B=null,a.value=mn,fe=!1,Q=!1),J()}}};function oe(M){return M.reduce((X,J)=>X.then(()=>F(J)),Promise.resolve())}return Te}const ab=[{path:"/",component:()=>Qe(()=>import("./MainLayout-C9btjnC2.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),children:[{path:"",component:()=>Qe(()=>import("./IndexPage-BC1EqBtT.js"),__vite__mapDeps([10,4,11,8,12]))},{path:"login",component:()=>Qe(()=>import("./LoginPage-BjWca3X3.js"),__vite__mapDeps([13,14,11,15,7,8,16]))},{path:"signup",component:()=>Qe(()=>import("./SignupPage-CoU7NmmQ.js"),__vite__mapDeps([17,14,11,15,7,8,18]))},{path:"recoverpassword",component:()=>Qe(()=>import("./RecoverPasswordPage-Dui6oeR1.js"),__vite__mapDeps([19,14,11,15,7,8,20]))}]},{path:"/dev",component:()=>Qe(()=>import("./DevLayout-BYv1RTOK.js"),__vite__mapDeps([21,1,2,4,22,23,5])),children:[{path:"",component:()=>Qe(()=>import("./IndexPage-Q1bjj-ji.js"),__vite__mapDeps([24,11]))},{path:"reset-password",component:()=>Qe(()=>import("./ResetPasswordPage-BpPnz33U.js"),__vite__mapDeps([25,11,7,8,26]))},{path:"api/endpoints",component:()=>Qe(()=>import("./ApiEndpointsPage-CUzTZYTh.js"),__vite__mapDeps([27,28,11,6,7,8,29]))},{path:"api/mail-debug",component:()=>Qe(()=>import("./MailDebugPage-Vohpu_Xd.js"),__vite__mapDeps([30,3,4,5,11,15,7,8,31]))}]},{path:"/admin",component:()=>Qe(()=>import("./AdminLayout-bKViRb62.js"),__vite__mapDeps([32,1,2,4,22,23,5])),children:[{path:"",component:()=>Qe(()=>import("./IndexPage-Bw2_3ZOE.js"),__vite__mapDeps([33,11,8,34]))},{path:"users",component:()=>Qe(()=>import("./UsersPage-DF9qdeNg.js"),__vite__mapDeps([35,28,4,2,3,5,23,14,11,6,15,7,8,36]))}]},{path:"/:catchAll(.*)*",component:()=>Qe(()=>import("./ErrorNotFound-BakKVHVR.js"),[])}],Ws=e_(function(){return lb({scrollBehavior:()=>({left:0,top:0}),routes:ab,history:q_("/")})});async function ub(e,t){const n=e(Zv);n.use(Hg,t);const r=typeof Vs=="function"?await Vs({}):Vs;n.use(r);const o=Kn(typeof Ws=="function"?await Ws({store:r}):Ws);return r.use(({store:s})=>{s.router=o}),{app:n,store:r,router:o}}const Mi={xs:18,sm:24,md:32,lg:38,xl:46},io={size:String};function lo(e,t=Mi){return $(()=>e.size!==void 0?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null)}function Tt(e,t){return e!==void 0&&e()||t}function A0(e,t){if(e!==void 0){const n=e();if(n!=null)return n.slice()}return t}function Dn(e,t){return e!==void 0?t.concat(e()):t}function cb(e,t){return e===void 0?t:t!==void 0?t.concat(e()):e()}function R0(e,t,n,r,o,s){t.key=r+o;const i=V(e,t,n);return o===!0?yc(i,s()):i}const fu="0 0 24 24",Ks=e=>e,Gs=e=>`ionicons ${e}`,ad={"mdi-":e=>`mdi ${e}`,"icon-":Ks,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":Gs,"ion-ios":Gs,"ion-logo":Gs,"iconfont ":Ks,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`,"i-":Ks},ud={o_:"-outlined",r_:"-round",s_:"-sharp"},cd={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},fb=new RegExp("^("+Object.keys(ad).join("|")+")"),db=new RegExp("^("+Object.keys(ud).join("|")+")"),du=new RegExp("^("+Object.keys(cd).join("|")+")"),hb=/^[Mm]\s?[-+]?\.?\d/,mb=/^img:/,gb=/^svguse:/,pb=/^ion-/,vb=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,fn=Be({name:"QIcon",props:{...io,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=ke(),r=lo(e),o=$(()=>"q-icon"+(e.left===!0?" on-left":"")+(e.right===!0?" on-right":"")+(e.color!==void 0?` text-${e.color}`:"")),s=$(()=>{let i,l=e.name;if(l==="none"||!l)return{none:!0};if(n.iconMapFn!==null){const c=n.iconMapFn(l);if(c!==void 0)if(c.icon!==void 0){if(l=c.icon,l==="none"||!l)return{none:!0}}else return{cls:c.cls,content:c.content!==void 0?c.content:" "}}if(hb.test(l)===!0){const[c,f=fu]=l.split("|");return{svg:!0,viewBox:f,nodes:c.split("&&").map(d=>{const[g,y,C]=d.split("@@");return V("path",{style:y,d:g,transform:C})})}}if(mb.test(l)===!0)return{img:!0,src:l.substring(4)};if(gb.test(l)===!0){const[c,f=fu]=l.split("|");return{svguse:!0,src:c.substring(7),viewBox:f}}let a=" ";const u=l.match(fb);if(u!==null)i=ad[u[1]](l);else if(vb.test(l)===!0)i=l;else if(pb.test(l)===!0)i=`ionicons ion-${n.platform.is.ios===!0?"ios":"md"}${l.substring(3)}`;else if(du.test(l)===!0){i="notranslate material-symbols";const c=l.match(du);c!==null&&(l=l.substring(6),i+=cd[c[1]]),a=l}else{i="notranslate material-icons";const c=l.match(db);c!==null&&(l=l.substring(2),i+=ud[c[1]]),a=l}return{cls:i,content:a}});return()=>{const i={class:o.value,style:r.value,"aria-hidden":"true"};return s.value.none===!0?V(e.tag,i,Tt(t.default)):s.value.img===!0?V(e.tag,i,Dn(t.default,[V("img",{src:s.value.src})])):s.value.svg===!0?V(e.tag,i,Dn(t.default,[V("svg",{viewBox:s.value.viewBox||"0 0 24 24"},s.value.nodes)])):s.value.svguse===!0?V(e.tag,i,Dn(t.default,[V("svg",{viewBox:s.value.viewBox},[V("use",{"xlink:href":s.value.src})])])):(s.value.cls!==void 0&&(i.class+=" "+s.value.cls),V(e.tag,i,Dn(t.default,[s.value.content])))}}}),_b=Be({name:"QAvatar",props:{...io,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){const n=lo(e),r=$(()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(e.square===!0?" q-avatar--square":e.rounded===!0?" rounded-borders":"")),o=$(()=>e.fontSize?{fontSize:e.fontSize}:null);return()=>{const s=e.icon!==void 0?[V(fn,{name:e.icon})]:void 0;return V("div",{class:r.value,style:n.value},[V("div",{class:"q-avatar__content row flex-center overflow-hidden",style:o.value},cb(t.default,s))])}}}),bb={size:{type:[String,Number],default:"1em"},color:String};function yb(e){return{cSize:$(()=>e.size in Mi?`${Mi[e.size]}px`:e.size),classes:$(()=>"q-spinner"+(e.color?` text-${e.color}`:""))}}const gr=Be({name:"QSpinner",props:{...bb,thickness:{type:Number,default:5}},setup(e){const{cSize:t,classes:n}=yb(e);return()=>V("svg",{class:n.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[V("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function Di(e,t){const n=e.style;for(const r in t)n[r]=t[r]}function Eb(e){if(e==null)return;if(typeof e=="string")try{return document.querySelector(e)||void 0}catch{return}const t=Cn(e);if(t)return t.$el||t}function wb(e,t){if(e==null||e.contains(t)===!0)return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}function Cb(e,t=250){let n=!1,r;return function(){return n===!1&&(n=!0,setTimeout(()=>{n=!1},t),r=e.apply(this,arguments)),r}}function hu(e,t,n,r){n.modifiers.stop===!0&&Ho(e);const o=n.modifiers.color;let s=n.modifiers.center;s=s===!0||r===!0;const i=document.createElement("span"),l=document.createElement("span"),a=Sg(e),{left:u,top:c,width:f,height:d}=t.getBoundingClientRect(),g=Math.sqrt(f*f+d*d),y=g/2,C=`${(f-g)/2}px`,S=s?C:`${a.left-u-y}px`,_=`${(d-g)/2}px`,h=s?_:`${a.top-c-y}px`;l.className="q-ripple__inner",Di(l,{height:`${g}px`,width:`${g}px`,transform:`translate3d(${S},${h},0) scale3d(.2,.2,1)`,opacity:0}),i.className=`q-ripple${o?" text-"+o:""}`,i.setAttribute("dir","ltr"),i.appendChild(l),t.appendChild(i);const E=()=>{i.remove(),clearTimeout(v)};n.abort.push(E);let v=setTimeout(()=>{l.classList.add("q-ripple__inner--enter"),l.style.transform=`translate3d(${C},${_},0) scale3d(1,1,1)`,l.style.opacity=.2,v=setTimeout(()=>{l.classList.remove("q-ripple__inner--enter"),l.classList.add("q-ripple__inner--leave"),l.style.opacity=0,v=setTimeout(()=>{i.remove(),n.abort.splice(n.abort.indexOf(E),1)},275)},250)},50)}function mu(e,{modifiers:t,value:n,arg:r}){const o=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:o.early===!0,stop:o.stop===!0,center:o.center===!0,color:o.color||r,keyCodes:[].concat(o.keyCodes||13)}}const Sb=Cg({name:"ripple",beforeMount(e,t){const n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;const r={cfg:n,enabled:t.value!==!1,modifiers:{},abort:[],start(o){r.enabled===!0&&o.qSkipRipple!==!0&&o.type===(r.modifiers.early===!0?"pointerdown":"click")&&hu(o,e,r,o.qKeyEvent===!0)},keystart:Cb(o=>{r.enabled===!0&&o.qSkipRipple!==!0&&Yr(o,r.modifiers.keyCodes)===!0&&o.type===`key${r.modifiers.early===!0?"down":"up"}`&&hu(o,e,r,!0)},300)};mu(r,t),e.__qripple=r,xg(r,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){const n=e.__qripple;n!==void 0&&(n.enabled=t.value!==!1,n.enabled===!0&&Object(t.value)===t.value&&mu(n,t))}},beforeUnmount(e){const t=e.__qripple;t!==void 0&&(t.abort.forEach(n=>{n()}),Tg(t,"main"),delete e._qripple)}}),fd={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},kb=Object.keys(fd),dd={align:{type:String,validator:e=>kb.includes(e)}};function hd(e){return $(()=>{const t=e.align===void 0?e.vertical===!0?"stretch":"left":e.align;return`${e.vertical===!0?"items":"justify"}-${fd[t]}`})}function Ro(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function md(e,t){typeof t.type=="symbol"?Array.isArray(t.children)===!0&&t.children.forEach(n=>{md(e,n)}):e.add(t)}function O0(e){const t=new Set;return e.forEach(n=>{md(t,n)}),Array.from(t)}function gd(e){return e.appContext.config.globalProperties.$router!==void 0}function pd(e){return e.isUnmounted===!0||e.isDeactivated===!0}function gu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}function pu(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xb(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(Array.isArray(o)===!1||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function vu(e,t){return Array.isArray(t)===!0?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Tb(e,t){return Array.isArray(e)===!0?vu(e,t):Array.isArray(t)===!0?vu(t,e):e===t}function Ab(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(Tb(e[n],t[n])===!1)return!1;return!0}const vd={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},L0={...vd,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"}};function Rb({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){const n=ke(),{props:r,proxy:o,emit:s}=n,i=gd(n),l=$(()=>r.disable!==!0&&r.href!==void 0),a=$(t===!0?()=>i===!0&&r.disable!==!0&&l.value!==!0&&r.to!==void 0&&r.to!==null&&r.to!=="":()=>i===!0&&l.value!==!0&&r.to!==void 0&&r.to!==null&&r.to!==""),u=$(()=>a.value===!0?h(r.to):null),c=$(()=>u.value!==null),f=$(()=>l.value===!0||c.value===!0),d=$(()=>r.type==="a"||f.value===!0?"a":r.tag||e||"div"),g=$(()=>l.value===!0?{href:r.href,target:r.target}:c.value===!0?{href:u.value.href,target:r.target}:{}),y=$(()=>{if(c.value===!1)return-1;const{matched:A}=u.value,{length:P}=A,R=A[P-1];if(R===void 0)return-1;const H=o.$route.matched;if(H.length===0)return-1;const F=H.findIndex(pu.bind(null,R));if(F!==-1)return F;const I=gu(A[P-2]);return P>1&&gu(R)===I&&H[H.length-1].path!==I?H.findIndex(pu.bind(null,A[P-2])):F}),C=$(()=>c.value===!0&&y.value!==-1&&xb(o.$route.params,u.value.params)),S=$(()=>C.value===!0&&y.value===o.$route.matched.length-1&&Ab(o.$route.params,u.value.params)),_=$(()=>c.value===!0?S.value===!0?` ${r.exactActiveClass} ${r.activeClass}`:r.exact===!0?"":C.value===!0?` ${r.activeClass}`:"":"");function h(A){try{return o.$router.resolve(A)}catch{}return null}function E(A,{returnRouterError:P,to:R=r.to,replace:H=r.replace}={}){if(r.disable===!0)return A.preventDefault(),Promise.resolve(!1);if(A.metaKey||A.altKey||A.ctrlKey||A.shiftKey||A.button!==void 0&&A.button!==0||r.target==="_blank")return Promise.resolve(!1);A.preventDefault();const F=o.$router[H===!0?"replace":"push"](R);return P===!0?F:F.then(()=>{}).catch(()=>{})}function v(A){if(c.value===!0){const P=R=>E(A,R);s("click",A,P),A.defaultPrevented!==!0&&P()}else s("click",A)}return{hasRouterLink:c,hasHrefLink:l,hasLink:f,linkTag:d,resolvedLink:u,linkIsActive:C,linkIsExactActive:S,linkClass:_,linkAttrs:g,getLink:h,navigateToRouterLink:E,navigateOnClick:v}}const _u={none:0,xs:4,sm:8,md:16,lg:24,xl:32},Ob={xs:8,sm:10,md:14,lg:20,xl:24},Lb=["button","submit","reset"],Pb=/[^\s]\/[^\s]/,Ib=["flat","outline","push","unelevated"];function Nb(e,t){return e.flat===!0?"flat":e.outline===!0?"outline":e.push===!0?"push":e.unelevated===!0?"unelevated":t}const Mb={...io,...vd,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...Ib.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...dd.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Db={...Mb,round:Boolean};function $b(e){const t=lo(e,Ob),n=hd(e),{hasRouterLink:r,hasLink:o,linkTag:s,linkAttrs:i,navigateOnClick:l}=Rb({fallbackTag:"button"}),a=$(()=>{const S=e.fab===!1&&e.fabMini===!1?t.value:{};return e.padding!==void 0?Object.assign({},S,{padding:e.padding.split(/\s+/).map(_=>_ in _u?_u[_]+"px":_).join(" "),minWidth:"0",minHeight:"0"}):S}),u=$(()=>e.rounded===!0||e.fab===!0||e.fabMini===!0),c=$(()=>e.disable!==!0&&e.loading!==!0),f=$(()=>c.value===!0?e.tabindex||0:-1),d=$(()=>Nb(e,"standard")),g=$(()=>{const S={tabindex:f.value};return o.value===!0?Object.assign(S,i.value):Lb.includes(e.type)===!0&&(S.type=e.type),s.value==="a"?(e.disable===!0?S["aria-disabled"]="true":S.href===void 0&&(S.role="button"),r.value!==!0&&Pb.test(e.type)===!0&&(S.type=e.type)):e.disable===!0&&(S.disabled="",S["aria-disabled"]="true"),e.loading===!0&&e.percentage!==void 0&&Object.assign(S,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),S}),y=$(()=>{let S;e.color!==void 0?e.flat===!0||e.outline===!0?S=`text-${e.textColor||e.color}`:S=`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(S=`text-${e.textColor}`);const _=e.round===!0?"round":`rectangle${u.value===!0?" q-btn--rounded":e.square===!0?" q-btn--square":""}`;return`q-btn--${d.value} q-btn--${_}`+(S!==void 0?" "+S:"")+(c.value===!0?" q-btn--actionable q-focusable q-hoverable":e.disable===!0?" disabled":"")+(e.fab===!0?" q-btn--fab":e.fabMini===!0?" q-btn--fab-mini":"")+(e.noCaps===!0?" q-btn--no-uppercase":"")+(e.dense===!0?" q-btn--dense":"")+(e.stretch===!0?" no-border-radius self-stretch":"")+(e.glossy===!0?" glossy":"")+(e.square?" q-btn--square":"")}),C=$(()=>n.value+(e.stack===!0?" column":" row")+(e.noWrap===!0?" no-wrap text-no-wrap":"")+(e.loading===!0?" q-btn__content--hidden":""));return{classes:y,style:a,innerClasses:C,attributes:g,hasLink:o,linkTag:s,navigateOnClick:l,isActionable:c}}const{passiveCapture:vt}=nt;let er=null,tr=null,nr=null;const $i=Be({name:"QBtn",props:{...Db,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:n}){const{proxy:r}=ke(),{classes:o,style:s,innerClasses:i,attributes:l,hasLink:a,linkTag:u,navigateOnClick:c,isActionable:f}=$b(e),d=me(null),g=me(null);let y=null,C,S=null;const _=$(()=>e.label!==void 0&&e.label!==null&&e.label!==""),h=$(()=>e.disable===!0||e.ripple===!1?!1:{keyCodes:a.value===!0?[13,32]:[13],...e.ripple===!0?{}:e.ripple}),E=$(()=>({center:e.round})),v=$(()=>{const q=Math.max(0,Math.min(100,e.percentage));return q>0?{transition:"transform 0.6s",transform:`translateX(${q-100}%)`}:{}}),A=$(()=>{if(e.loading===!0)return{onMousedown:B,onTouchstart:B,onClick:B,onKeydown:B,onKeyup:B};if(f.value===!0){const q={onClick:R,onKeydown:H,onMousedown:I};if(r.$q.platform.has.touch===!0){const Y=e.onTouchstart!==void 0?"":"Passive";q[`onTouchstart${Y}`]=F}return q}return{onClick:bt}}),P=$(()=>({ref:d,class:"q-btn q-btn-item non-selectable no-outline "+o.value,style:s.value,...l.value,...A.value}));function R(q){if(d.value!==null){if(q!==void 0){if(q.defaultPrevented===!0)return;const Y=document.activeElement;if(e.type==="submit"&&Y!==document.body&&d.value.contains(Y)===!1&&Y.contains(d.value)===!1){q.qAvoidFocus!==!0&&d.value.focus();const ee=()=>{document.removeEventListener("keydown",bt,!0),document.removeEventListener("keyup",ee,vt),d.value?.removeEventListener("blur",ee,vt)};document.addEventListener("keydown",bt,!0),document.addEventListener("keyup",ee,vt),d.value.addEventListener("blur",ee,vt)}}c(q)}}function H(q){d.value!==null&&(n("keydown",q),Yr(q,[13,32])===!0&&tr!==d.value&&(tr!==null&&x(),q.defaultPrevented!==!0&&(q.qAvoidFocus!==!0&&d.value.focus(),tr=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("keyup",N,!0),d.value.addEventListener("blur",N,vt)),bt(q)))}function F(q){d.value!==null&&(n("touchstart",q),q.defaultPrevented!==!0&&(er!==d.value&&(er!==null&&x(),er=d.value,y=q.target,y.addEventListener("touchcancel",N,vt),y.addEventListener("touchend",N,vt)),C=!0,S!==null&&clearTimeout(S),S=setTimeout(()=>{S=null,C=!1},200)))}function I(q){d.value!==null&&(q.qSkipRipple=C===!0,n("mousedown",q),q.defaultPrevented!==!0&&nr!==d.value&&(nr!==null&&x(),nr=d.value,d.value.classList.add("q-btn--active"),document.addEventListener("mouseup",N,vt)))}function N(q){if(d.value!==null&&!(q?.type==="blur"&&document.activeElement===d.value)){if(q?.type==="keyup"){if(tr===d.value&&Yr(q,[13,32])===!0){const Y=new MouseEvent("click",q);Y.qKeyEvent=!0,q.defaultPrevented===!0&&En(Y),q.cancelBubble===!0&&Ho(Y),d.value.dispatchEvent(Y),bt(q),q.qKeyEvent=!0}n("keyup",q)}x()}}function x(q){const Y=g.value;q!==!0&&(er===d.value||nr===d.value)&&Y!==null&&Y!==document.activeElement&&(Y.setAttribute("tabindex",-1),Y.focus()),er===d.value&&(y!==null&&(y.removeEventListener("touchcancel",N,vt),y.removeEventListener("touchend",N,vt)),er=y=null),nr===d.value&&(document.removeEventListener("mouseup",N,vt),nr=null),tr===d.value&&(document.removeEventListener("keyup",N,!0),d.value?.removeEventListener("blur",N,vt),tr=null),d.value?.classList.remove("q-btn--active")}function B(q){bt(q),q.qSkipRipple=!0}return Et(()=>{x(!0)}),Object.assign(r,{click:q=>{f.value===!0&&R(q)}}),()=>{let q=[];e.icon!==void 0&&q.push(V(fn,{name:e.icon,left:e.stack!==!0&&_.value===!0,role:"img"})),_.value===!0&&q.push(V("span",{class:"block"},[e.label])),q=Dn(t.default,q),e.iconRight!==void 0&&e.round===!1&&q.push(V(fn,{name:e.iconRight,right:e.stack!==!0&&_.value===!0,role:"img"}));const Y=[V("span",{class:"q-focus-helper",ref:g})];return e.loading===!0&&e.percentage!==void 0&&Y.push(V("span",{class:"q-btn__progress absolute-full overflow-hidden"+(e.darkPercentage===!0?" q-btn__progress--dark":"")},[V("span",{class:"q-btn__progress-indicator fit block",style:v.value})])),Y.push(V("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+i.value},q)),e.loading!==null&&Y.push(V(zr,{name:"q-transition--fade"},()=>e.loading===!0?[V("span",{key:"loading",class:"absolute-full flex flex-center"},t.loading!==void 0?t.loading():[V(gr)])]:null)),yc(V(u.value,P.value,Y),[[Sb,h.value,void 0,E.value]])}}});let Fb=1,qb=document.body;function bs(e,t){const n=document.createElement("div");if(n.id=t!==void 0?`q-portal--${t}--${Fb++}`:e,Ko.globalNodes!==void 0){const r=Ko.globalNodes.class;r!==void 0&&(n.className=r)}return qb.appendChild(n),n}function vl(e){e.remove()}let Vb=0;const Oo={},Lo={},St={},_d={},Bb=/^\s*$/,bd=[],jb=[void 0,null,!0,!1,""],_l=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],Ub=["top-left","top-right","bottom-left","bottom-right"],Rr={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function yd(e,t,n){if(!e)return Sr("parameter required");let r;const o={textColor:"white"};if(e.ignoreDefaults!==!0&&Object.assign(o,Oo),ct(e)===!1&&(o.type&&Object.assign(o,Rr[o.type]),e={message:e}),Object.assign(o,Rr[e.type||o.type],e),typeof o.icon=="function"&&(o.icon=o.icon(t)),o.spinner?(o.spinner===!0&&(o.spinner=gr),o.spinner=Kn(o.spinner)):o.spinner=!1,o.meta={hasMedia:!!(o.spinner!==!1||o.icon||o.avatar),hasText:bu(o.message)||bu(o.caption)},o.position){if(_l.includes(o.position)===!1)return Sr("wrong position",e)}else o.position="bottom";if(jb.includes(o.timeout)===!0)o.timeout=5e3;else{const a=Number(o.timeout);if(isNaN(a)||a<0)return Sr("wrong timeout",e);o.timeout=Number.isFinite(a)?a:0}o.timeout===0?o.progress=!1:o.progress===!0&&(o.meta.progressClass="q-notification__progress"+(o.progressClass?` ${o.progressClass}`:""),o.meta.progressStyle={animationDuration:`${o.timeout+1e3}ms`});const s=(Array.isArray(e.actions)===!0?e.actions:[]).concat(e.ignoreDefaults!==!0&&Array.isArray(Oo.actions)===!0?Oo.actions:[]).concat(Array.isArray(Rr[e.type]?.actions)===!0?Rr[e.type].actions:[]),{closeBtn:i}=o;if(i&&s.push({label:typeof i=="string"?i:t.lang.label.close}),o.actions=s.map(({handler:a,noDismiss:u,...c})=>({flat:!0,...c,onClick:typeof a=="function"?()=>{a(),u!==!0&&l()}:()=>{l()}})),o.multiLine===void 0&&(o.multiLine=o.actions.length>1),Object.assign(o.meta,{class:`q-notification row items-stretch q-notification--${o.multiLine===!0?"multi-line":"standard"}`+(o.color!==void 0?` bg-${o.color}`:"")+(o.textColor!==void 0?` text-${o.textColor}`:"")+(o.classes!==void 0?` ${o.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(o.multiLine===!0?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(o.multiLine===!0?"":" col"),leftClass:o.meta.hasText===!0?"additional":"single",attrs:{role:"alert",...o.attrs}}),o.group===!1?(o.group=void 0,o.meta.group=void 0):((o.group===void 0||o.group===!0)&&(o.group=[o.message,o.caption,o.multiline].concat(o.actions.map(a=>`${a.label}*${a.icon}`)).join("|")),o.meta.group=o.group+"|"+o.position),o.actions.length===0?o.actions=void 0:o.meta.actionsClass="q-notification__actions row items-center "+(o.multiLine===!0?"justify-end":"col-auto")+(o.meta.hasMedia===!0?" q-notification__actions--with-media":""),n!==void 0){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),o.meta.uid=n.notif.meta.uid;const a=St[o.position].value.indexOf(n.notif);St[o.position].value[a]=o}else{const a=Lo[o.meta.group];if(a===void 0){if(o.meta.uid=Vb++,o.meta.badge=1,["left","right","center"].indexOf(o.position)!==-1)St[o.position].value.splice(Math.floor(St[o.position].value.length/2),0,o);else{const u=o.position.indexOf("top")!==-1?"unshift":"push";St[o.position].value[u](o)}o.group!==void 0&&(Lo[o.meta.group]=o)}else{if(a.meta.timer&&(clearTimeout(a.meta.timer),a.meta.timer=void 0),o.badgePosition!==void 0){if(Ub.includes(o.badgePosition)===!1)return Sr("wrong badgePosition",e)}else o.badgePosition=`top-${o.position.indexOf("left")!==-1?"right":"left"}`;o.meta.uid=a.meta.uid,o.meta.badge=a.meta.badge+1,o.meta.badgeClass=`q-notification__badge q-notification__badge--${o.badgePosition}`+(o.badgeColor!==void 0?` bg-${o.badgeColor}`:"")+(o.badgeTextColor!==void 0?` text-${o.badgeTextColor}`:"")+(o.badgeClass?` ${o.badgeClass}`:"");const u=St[o.position].value.indexOf(a);St[o.position].value[u]=Lo[o.meta.group]=o}}const l=()=>{Hb(o),r=void 0};if(o.timeout>0&&(o.meta.timer=setTimeout(()=>{o.meta.timer=void 0,l()},o.timeout+1e3)),o.group!==void 0)return a=>{a!==void 0?Sr("trying to update a grouped one which is forbidden",e):l()};if(r={dismiss:l,config:e,notif:o},n!==void 0){Object.assign(n,r);return}return a=>{if(r!==void 0)if(a===void 0)r.dismiss();else{const u=Object.assign({},r.config,a,{group:!1,position:o.position});yd(u,t,r)}}}function Hb(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);const t=St[e.position].value.indexOf(e);if(t!==-1){e.group!==void 0&&delete Lo[e.meta.group];const n=bd[""+e.meta.uid];if(n){const{width:r,height:o}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=r,n.style.height=o}St[e.position].value.splice(t,1),typeof e.onDismiss=="function"&&e.onDismiss()}}function bu(e){return e!=null&&Bb.test(e)!==!0}function Sr(e,t){return console.error(`Notify: ${e}`,t),!1}function Wb(){return Be({name:"QNotifications",devtools:{hide:!0},setup(){return()=>V("div",{class:"q-notifications"},_l.map(e=>V(ag,{key:e,class:_d[e],tag:"div",name:`q-notification--${e}`},()=>St[e].value.map(t=>{const n=t.meta,r=[];if(n.hasMedia===!0&&(t.spinner!==!1?r.push(V(t.spinner,{class:"q-notification__spinner q-notification__spinner--"+n.leftClass,color:t.spinnerColor,size:t.spinnerSize})):t.icon?r.push(V(fn,{class:"q-notification__icon q-notification__icon--"+n.leftClass,name:t.icon,color:t.iconColor,size:t.iconSize,role:"img"})):t.avatar&&r.push(V(_b,{class:"q-notification__avatar q-notification__avatar--"+n.leftClass},()=>V("img",{src:t.avatar,"aria-hidden":"true"})))),n.hasText===!0){let s;const i={class:"q-notification__message col"};if(t.html===!0)i.innerHTML=t.caption?`
${t.message}
${t.caption}
`:t.message;else{const l=[t.message];s=t.caption?[V("div",l),V("div",{class:"q-notification__caption"},[t.caption])]:l}r.push(V("div",i,s))}const o=[V("div",{class:n.contentClass},r)];return t.progress===!0&&o.push(V("div",{key:`${n.uid}|p|${n.badge}`,class:n.progressClass,style:n.progressStyle})),t.actions!==void 0&&o.push(V("div",{class:n.actionsClass},t.actions.map(s=>V($i,s)))),n.badge>1&&o.push(V("div",{key:`${n.uid}|${n.badge}`,class:t.meta.badgeClass,style:t.badgeStyle},[n.badge])),V("div",{ref:s=>{bd[""+n.uid]=s},key:n.uid,class:n.class,...n.attrs},[V("div",{class:n.wrapperClass},o)])}))))}})}const Kb={setDefaults(e){ct(e)===!0&&Object.assign(Oo,e)},registerType(e,t){ct(t)===!0&&(Rr[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=n=>yd(n,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,e.config.notify!==void 0&&this.setDefaults(e.config.notify),this.__installed!==!0){_l.forEach(r=>{St[r]=me([]);const o=["left","center","right"].includes(r)===!0?"center":r.indexOf("top")!==-1?"top":"bottom",s=r.indexOf("left")!==-1?"start":r.indexOf("right")!==-1?"end":"center",i=["left","right"].includes(r)?`items-${r==="left"?"start":"end"} justify-center`:r==="center"?"flex-center":`items-${s}`;_d[r]=`q-notifications__list q-notifications__list--${o} fixed column no-wrap ${i}`});const n=bs("q-notify");sl(Wb(),t).mount(n)}}};function Gb(e,t,n){let r;function o(){r!==void 0&&(_i.remove(r),r=void 0)}return Et(()=>{e.value===!0&&o()}),{removeFromHistory:o,addToHistory(){r={condition:()=>n.value===!0,handler:t},_i.add(r)}}}function zb(){let e=null;const t=ke();function n(){e!==null&&(clearTimeout(e),e=null)}return as(n),Et(n),{removeTimeout:n,registerTimeout(r,o){n(),pd(t)===!1&&(e=setTimeout(()=>{e=null,r()},o))}}}function Qb(){let e;const t=ke();function n(){e=void 0}return as(n),Et(n),{removeTick:n,registerTick(r){e=r,rt(()=>{e===r&&(pd(t)===!1&&e(),e=void 0)})}}}const Yb={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},Xb=["beforeShow","show","beforeHide","hide"];function Jb({showing:e,canShow:t,hideOnRouteChange:n,handleShow:r,handleHide:o,processOnMount:s}){const i=ke(),{props:l,emit:a,proxy:u}=i;let c;function f(h){e.value===!0?y(h):d(h)}function d(h){if(l.disable===!0||h?.qAnchorHandled===!0||t!==void 0&&t(h)!==!0)return;const E=l["onUpdate:modelValue"]!==void 0;E===!0&&(a("update:modelValue",!0),c=h,rt(()=>{c===h&&(c=void 0)})),(l.modelValue===null||E===!1)&&g(h)}function g(h){e.value!==!0&&(e.value=!0,a("beforeShow",h),r!==void 0?r(h):a("show",h))}function y(h){if(l.disable===!0)return;const E=l["onUpdate:modelValue"]!==void 0;E===!0&&(a("update:modelValue",!1),c=h,rt(()=>{c===h&&(c=void 0)})),(l.modelValue===null||E===!1)&&C(h)}function C(h){e.value!==!1&&(e.value=!1,a("beforeHide",h),o!==void 0?o(h):a("hide",h))}function S(h){l.disable===!0&&h===!0?l["onUpdate:modelValue"]!==void 0&&a("update:modelValue",!1):h===!0!==e.value&&(h===!0?g:C)(c)}ge(()=>l.modelValue,S),n!==void 0&&gd(i)===!0&&ge(()=>u.$route.fullPath,()=>{n.value===!0&&e.value===!0&&y()}),s===!0&&Gt(()=>{S(l.modelValue)});const _={show:d,hide:y,toggle:f};return Object.assign(u,_),_}const Zb={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function ey(e,t=()=>{},n=()=>{}){return{transitionProps:$(()=>{const r=`q-transition--${e.transitionShow||t()}`,o=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${r}-enter-from`,enterActiveClass:`${r}-enter-active`,enterToClass:`${r}-enter-to`,leaveFromClass:`${o}-leave-from`,leaveActiveClass:`${o}-leave-active`,leaveToClass:`${o}-leave-to`}}),transitionStyle:$(()=>`--q-transition-duration: ${e.transitionDuration}ms`)}}let $n=[],to=[];function Ed(e){to=to.filter(t=>t!==e)}function ty(e){Ed(e),to.push(e)}function yu(e){Ed(e),to.length===0&&$n.length!==0&&($n[$n.length-1](),$n=[])}function bl(e){to.length===0?e():$n.push(e)}function ny(e){$n=$n.filter(t=>t!==e)}const Po=[];function P0(e){return Po.find(t=>t.contentEl!==null&&t.contentEl.contains(e))}function ry(e,t){do{if(e.$options.name==="QMenu"){if(e.hide(t),e.$props.separateClosePopup===!0)return Ro(e)}else if(e.__qPortal===!0){const n=Ro(e);return n?.$options.name==="QPopupProxy"?(e.hide(t),n):e}e=Ro(e)}while(e!=null)}function I0(e,t,n){for(;n!==0&&e!==void 0&&e!==null;){if(e.__qPortal===!0){if(n--,e.$options.name==="QMenu"){e=ry(e,t);continue}e.hide(t)}e=Ro(e)}}const oy=Be({name:"QPortal",setup(e,{slots:t}){return()=>t.default()}});function sy(e){for(e=e.parent;e!=null;){if(e.type.name==="QGlobalDialog")return!0;if(e.type.name==="QDialog"||e.type.name==="QMenu")return!1;e=e.parent}return!1}function iy(e,t,n,r){const o=me(!1),s=me(!1);let i=null;const l={},a=r==="dialog"&&sy(e);function u(f){if(f===!0){yu(l),s.value=!0;return}s.value=!1,o.value===!1&&(a===!1&&i===null&&(i=bs(!1,r)),o.value=!0,Po.push(e.proxy),ty(l))}function c(f){if(s.value=!1,f!==!0)return;yu(l),o.value=!1;const d=Po.indexOf(e.proxy);d!==-1&&Po.splice(d,1),i!==null&&(vl(i),i=null)}return cs(()=>{c(!0)}),e.proxy.__qPortal=!0,zn(e.proxy,"contentEl",()=>t.value),{showPortal:u,hidePortal:c,portalIsActive:o,portalIsAccessible:s,renderPortal:()=>a===!0?n():o.value===!0?[V($h,{to:i},V(oy,n))]:void 0}}const N0=[Element,String],ly=[null,document,document.body,document.scrollingElement,document.documentElement];function M0(e,t){let n=Eb(t);if(n===void 0){if(e==null)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return ly.includes(n)?window:n}function ay(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function uy(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}let _o;function D0(){if(_o!==void 0)return _o;const e=document.createElement("p"),t=document.createElement("div");Di(e,{width:"100%",height:"200px"}),Di(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);const n=e.offsetWidth;t.style.overflow="scroll";let r=e.offsetWidth;return n===r&&(r=t.clientWidth),t.remove(),_o=n-r,_o}function cy(e,t=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"]))}let kr=0,zs,Qs,Or,Ys=!1,Eu,wu,Cu,Pn=null;function fy(e){dy(e)&&bt(e)}function dy(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const t=kg(e),n=e.shiftKey&&!e.deltaX,r=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),o=n||r?e.deltaY:e.deltaX;for(let s=0;s0&&i.scrollTop+i.clientHeight===i.scrollHeight:o<0&&i.scrollLeft===0?!0:o>0&&i.scrollLeft+i.clientWidth===i.scrollWidth}return!0}function Su(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function bo(e){Ys!==!0&&(Ys=!0,requestAnimationFrame(()=>{Ys=!1;const{height:t}=e.target,{clientHeight:n,scrollTop:r}=document.scrollingElement;(Or===void 0||t!==window.innerHeight)&&(Or=n-t,document.scrollingElement.scrollTop=r),r>Or&&(document.scrollingElement.scrollTop-=Math.ceil((r-Or)/8))}))}function ku(e){const t=document.body,n=window.visualViewport!==void 0;if(e==="add"){const{overflowY:r,overflowX:o}=window.getComputedStyle(t);zs=uy(window),Qs=ay(window),Eu=t.style.left,wu=t.style.top,Cu=window.location.href,t.style.left=`-${zs}px`,t.style.top=`-${Qs}px`,o!=="hidden"&&(o==="scroll"||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),r!=="hidden"&&(r==="scroll"||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,$e.is.ios===!0&&(n===!0?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",bo,nt.passiveCapture),window.visualViewport.addEventListener("scroll",bo,nt.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",Su,nt.passiveCapture))}$e.is.desktop===!0&&$e.is.mac===!0&&window[`${e}EventListener`]("wheel",fy,nt.notPassive),e==="remove"&&($e.is.ios===!0&&(n===!0?(window.visualViewport.removeEventListener("resize",bo,nt.passiveCapture),window.visualViewport.removeEventListener("scroll",bo,nt.passiveCapture)):window.removeEventListener("scroll",Su,nt.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=Eu,t.style.top=wu,window.location.href===Cu&&window.scrollTo(zs,Qs),Or=void 0)}function Fi(e){let t="add";if(e===!0){if(kr++,Pn!==null){clearTimeout(Pn),Pn=null;return}if(kr>1)return}else{if(kr===0||(kr--,kr>0))return;if(t="remove",$e.is.ios===!0&&$e.is.nativeMobile===!0){Pn!==null&&clearTimeout(Pn),Pn=setTimeout(()=>{ku(t),Pn=null},100);return}}ku(t)}function hy(){let e;return{preventBodyScroll(t){t!==e&&(e!==void 0||t===!0)&&(e=t,Fi(t))}}}const jn=[];let pr;function my(e){pr=e.keyCode===27}function gy(){pr===!0&&(pr=!1)}function py(e){pr===!0&&(pr=!1,Yr(e,27)===!0&&jn[jn.length-1](e))}function wd(e){window[e]("keydown",my),window[e]("blur",gy),window[e]("keyup",py),pr=!1}function vy(e){$e.is.desktop===!0&&(jn.push(e),jn.length===1&&wd("addEventListener"))}function xu(e){const t=jn.indexOf(e);t!==-1&&(jn.splice(t,1),jn.length===0&&wd("removeEventListener"))}const Un=[];function Cd(e){Un[Un.length-1](e)}function _y(e){$e.is.desktop===!0&&(Un.push(e),Un.length===1&&document.body.addEventListener("focusin",Cd))}function Tu(e){const t=Un.indexOf(e);t!==-1&&(Un.splice(t,1),Un.length===0&&document.body.removeEventListener("focusin",Cd))}let yo=0;const by={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},Au={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},yy=Be({name:"QDialog",inheritAttrs:!1,props:{...Yb,...Zb,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:"standard",validator:e=>["standard","top","bottom","left","right"].includes(e)}},emits:[...Xb,"shake","click","escapeKey"],setup(e,{slots:t,emit:n,attrs:r}){const o=ke(),s=me(null),i=me(!1),l=me(!1);let a=null,u=null,c,f;const d=$(()=>e.persistent!==!0&&e.noRouteDismiss!==!0&&e.seamless!==!0),{preventBodyScroll:g}=hy(),{registerTimeout:y}=zb(),{registerTick:C,removeTick:S}=Qb(),{transitionProps:_,transitionStyle:h}=ey(e,()=>Au[e.position][0],()=>Au[e.position][1]),E=$(()=>h.value+(e.backdropFilter!==void 0?`;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`:"")),{showPortal:v,hidePortal:A,portalIsAccessible:P,renderPortal:R}=iy(o,s,Te,"dialog"),{hide:H}=Jb({showing:i,hideOnRouteChange:d,handleShow:Y,handleHide:ee,processOnMount:!0}),{addToHistory:F,removeFromHistory:I}=Gb(i,H,d),N=$(()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized===!0?"maximized":"minimized"} q-dialog__inner--${e.position} ${by[e.position]}`+(l.value===!0?" q-dialog__inner--animating":"")+(e.fullWidth===!0?" q-dialog__inner--fullwidth":"")+(e.fullHeight===!0?" q-dialog__inner--fullheight":"")+(e.square===!0?" q-dialog__inner--square":"")),x=$(()=>i.value===!0&&e.seamless!==!0),B=$(()=>e.autoClose===!0?{onClick:z}:{}),q=$(()=>[`q-dialog fullscreen no-pointer-events q-dialog--${x.value===!0?"modal":"seamless"}`,r.class]);ge(()=>e.maximized,oe=>{i.value===!0&&le(oe)}),ge(x,oe=>{g(oe),oe===!0?(_y(Ee),vy(re)):(Tu(Ee),xu(re))});function Y(oe){F(),u=e.noRefocus===!1&&document.activeElement!==null?document.activeElement:null,le(e.maximized),v(),l.value=!0,e.noFocus!==!0?(document.activeElement?.blur(),C(Q)):S(),y(()=>{if(o.proxy.$q.platform.is.ios===!0){if(e.seamless!==!0&&document.activeElement){const{top:M,bottom:X}=document.activeElement.getBoundingClientRect(),{innerHeight:J}=window,ne=window.visualViewport!==void 0?window.visualViewport.height:J;M>0&&X>ne/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-ne,X>=J?1/0:Math.ceil(document.scrollingElement.scrollTop+X-ne/2))),document.activeElement.scrollIntoView()}f=!0,s.value.click(),f=!1}v(!0),l.value=!1,n("show",oe)},e.transitionDuration)}function ee(oe){S(),I(),ye(!0),l.value=!0,A(),u!==null&&(((oe?.type.indexOf("key")===0?u.closest('[tabindex]:not([tabindex^="-"])'):void 0)||u).focus(),u=null),y(()=>{A(!0),l.value=!1,n("hide",oe)},e.transitionDuration)}function Q(oe){bl(()=>{let M=s.value;if(M!==null){if(oe!==void 0){const X=M.querySelector(oe);if(X!==null){X.focus({preventScroll:!0});return}}M.contains(document.activeElement)!==!0&&(M=M.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||M.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||M.querySelector("[autofocus], [data-autofocus]")||M,M.focus({preventScroll:!0}))}})}function j(oe){oe&&typeof oe.focus=="function"?oe.focus({preventScroll:!0}):Q(),n("shake");const M=s.value;M!==null&&(M.classList.remove("q-animate--scale"),M.classList.add("q-animate--scale"),a!==null&&clearTimeout(a),a=setTimeout(()=>{a=null,s.value!==null&&(M.classList.remove("q-animate--scale"),Q())},170))}function re(){e.seamless!==!0&&(e.persistent===!0||e.noEscDismiss===!0?e.maximized!==!0&&e.noShake!==!0&&j():(n("escapeKey"),H()))}function ye(oe){a!==null&&(clearTimeout(a),a=null),(oe===!0||i.value===!0)&&(le(!1),e.seamless!==!0&&(g(!1),Tu(Ee),xu(re))),oe!==!0&&(u=null)}function le(oe){oe===!0?c!==!0&&(yo<1&&document.body.classList.add("q-body--dialog"),yo++,c=!0):c===!0&&(yo<2&&document.body.classList.remove("q-body--dialog"),yo--,c=!1)}function z(oe){f!==!0&&(H(oe),n("click",oe))}function fe(oe){e.persistent!==!0&&e.noBackdropDismiss!==!0?H(oe):e.noShake!==!0&&j()}function Ee(oe){e.allowFocusOutside!==!0&&P.value===!0&&wb(s.value,oe.target)!==!0&&Q('[tabindex]:not([tabindex="-1"])')}Object.assign(o.proxy,{focus:Q,shake:j,__updateRefocusTarget(oe){u=oe||null}}),Et(ye);function Te(){return V("div",{role:"dialog","aria-modal":x.value===!0?"true":"false",...r,class:q.value},[V(zr,{name:"q-transition--fade",appear:!0},()=>x.value===!0?V("div",{class:"q-dialog__backdrop fixed-full",style:E.value,"aria-hidden":"true",tabindex:-1,onClick:fe}):null),V(zr,_.value,()=>i.value===!0?V("div",{ref:s,class:N.value,style:h.value,tabindex:-1,...B.value},Tt(t.default)):null)])}return R}}),Yn={dark:{type:Boolean,default:null}};function Xn(e,t){return $(()=>e.dark===null?t.dark.isActive:e.dark)}const Ey=Be({name:"QCard",props:{...Yn,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){const{proxy:{$q:n}}=ke(),r=Xn(e,n),o=$(()=>"q-card"+(r.value===!0?" q-card--dark q-dark":"")+(e.bordered===!0?" q-card--bordered":"")+(e.square===!0?" q-card--square no-border-radius":"")+(e.flat===!0?" q-card--flat no-shadow":""));return()=>V(e.tag,{class:o.value},Tt(t.default))}}),xr=Be({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){const n=$(()=>`q-card__section q-card__section--${e.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>V(e.tag,{class:n.value},Tt(t.default))}}),wy=Be({name:"QCardActions",props:{...dd,vertical:Boolean},setup(e,{slots:t}){const n=hd(e),r=$(()=>`q-card__actions ${n.value} q-card__actions--${e.vertical===!0?"vert column":"horiz row"}`);return()=>V("div",{class:r.value},Tt(t.default))}}),Cy={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},Xs={xs:2,sm:4,md:8,lg:16,xl:24},Ru=Be({name:"QSeparator",props:{...Yn,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){const t=ke(),n=Xn(e,t.proxy.$q),r=$(()=>e.vertical===!0?"vertical":"horizontal"),o=$(()=>` q-separator--${r.value}`),s=$(()=>e.inset!==!1?`${o.value}-${Cy[e.inset]}`:""),i=$(()=>`q-separator${o.value}${s.value}`+(e.color!==void 0?` bg-${e.color}`:"")+(n.value===!0?" q-separator--dark":"")),l=$(()=>{const a={};if(e.size!==void 0&&(a[e.vertical===!0?"width":"height"]=e.size),e.spaced!==!1){const u=e.spaced===!0?`${Xs.md}px`:e.spaced in Xs?`${Xs[e.spaced]}px`:e.spaced,c=e.vertical===!0?["Left","Right"]:["Top","Bottom"];a[`margin${c[0]}`]=a[`margin${c[1]}`]=u}return a});return()=>V("hr",{class:i.value,style:l.value,"aria-orientation":r.value})}});let Js,Eo=0;const Ve=new Array(256);for(let e=0;e<256;e++)Ve[e]=(e+256).toString(16).substring(1);const Sy=(()=>{const e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return t=>{const n=new Uint8Array(t);return e.getRandomValues(n),n}}return t=>{const n=[];for(let r=t;r>0;r--)n.push(Math.floor(Math.random()*256));return n}})(),Ou=4096;function qi(){(Js===void 0||Eo+16>Ou)&&(Eo=0,Js=Sy(Ou));const e=Array.prototype.slice.call(Js,Eo,Eo+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,Ve[e[0]]+Ve[e[1]]+Ve[e[2]]+Ve[e[3]]+"-"+Ve[e[4]]+Ve[e[5]]+"-"+Ve[e[6]]+Ve[e[7]]+"-"+Ve[e[8]]+Ve[e[9]]+"-"+Ve[e[10]]+Ve[e[11]]+Ve[e[12]]+Ve[e[13]]+Ve[e[14]]+Ve[e[15]]}function ky(e){return e??null}function Lu(e,t){return e??(t===!0?`f_${qi()}`:null)}function xy({getValue:e,required:t=!0}={}){if(kn.value===!0){const n=me(e!==void 0?ky(e()):null);return t===!0&&n.value===null&&Gt(()=>{n.value=`f_${qi()}`}),e!==void 0&&ge(e,r=>{n.value=Lu(r,t)}),n}return e!==void 0?$(()=>Lu(e(),t)):me(`f_${qi()}`)}const Pu=/^on[A-Z]/;function Ty(){const{attrs:e,vnode:t}=ke(),n={listeners:me({}),attributes:me({})};function r(){const o={},s={};for(const i in e)i!=="class"&&i!=="style"&&Pu.test(i)===!1&&(o[i]=e[i]);for(const i in t.props)Pu.test(i)===!0&&(s[i]=t.props[i]);n.attributes.value=o,n.listeners.value=s}return Nc(r),r(),n}function Ay({validate:e,resetValidation:t,requiresQForm:n}){const r=it(Vg,!1);if(r!==!1){const{props:o,proxy:s}=ke();Object.assign(s,{validate:e,resetValidation:t}),ge(()=>o.disable,i=>{i===!0?(typeof t=="function"&&t(),r.unbindComponent(s)):r.bindComponent(s)}),Gt(()=>{o.disable!==!0&&r.bindComponent(s)}),Et(()=>{o.disable!==!0&&r.unbindComponent(s)})}else n===!0&&console.error("Parent QForm not found on useFormChild()!")}const Iu=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,Nu=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,Mu=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,wo=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,Co=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,Zs={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>Iu.test(e),hexaColor:e=>Nu.test(e),hexOrHexaColor:e=>Mu.test(e),rgbColor:e=>wo.test(e),rgbaColor:e=>Co.test(e),rgbOrRgbaColor:e=>wo.test(e)||Co.test(e),hexOrRgbColor:e=>Iu.test(e)||wo.test(e),hexaOrRgbaColor:e=>Nu.test(e)||Co.test(e),anyColor:e=>Mu.test(e)||wo.test(e)||Co.test(e)},Ry=[!0,!1,"ondemand"],Oy={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],default:!1,validator:e=>Ry.includes(e)}};function Ly(e,t){const{props:n,proxy:r}=ke(),o=me(!1),s=me(null),i=me(!1);Ay({validate:C,resetValidation:y});let l=0,a;const u=$(()=>n.rules!==void 0&&n.rules!==null&&n.rules.length!==0),c=$(()=>n.disable!==!0&&u.value===!0&&t.value===!1),f=$(()=>n.error===!0||o.value===!0),d=$(()=>typeof n.errorMessage=="string"&&n.errorMessage.length!==0?n.errorMessage:s.value);ge(()=>n.modelValue,()=>{i.value=!0,c.value===!0&&n.lazyRules===!1&&S()});function g(){n.lazyRules!=="ondemand"&&c.value===!0&&i.value===!0&&S()}ge(()=>n.reactiveRules,_=>{_===!0?a===void 0&&(a=ge(()=>n.rules,g,{immediate:!0,deep:!0})):a!==void 0&&(a(),a=void 0)},{immediate:!0}),ge(()=>n.lazyRules,g),ge(e,_=>{_===!0?i.value=!0:c.value===!0&&n.lazyRules!=="ondemand"&&S()});function y(){l++,t.value=!1,i.value=!1,o.value=!1,s.value=null,S.cancel()}function C(_=n.modelValue){if(n.disable===!0||u.value===!1)return!0;const h=++l,E=t.value!==!0?()=>{i.value=!0}:()=>{},v=(P,R)=>{P===!0&&E(),o.value=P,s.value=R||null,t.value=!1},A=[];for(let P=0;P{if(P===void 0||Array.isArray(P)===!1||P.length===0)return h===l&&v(!1),!0;const R=P.find(H=>H===!1||typeof H=="string");return h===l&&v(R!==void 0,R),R===void 0},P=>(h===l&&(console.error(P),v(!0)),!1)))}const S=mf(C,0);return Et(()=>{a?.(),S.cancel()}),Object.assign(r,{resetValidation:y,validate:C}),zn(r,"hasError",()=>f.value),{isDirtyModel:i,hasRules:u,hasError:f,errorMessage:d,validate:C,resetValidation:y}}function Vi(e){return e!=null&&(""+e).length!==0}const Py={...Yn,...Oy,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String},Iy={...Py,maxlength:[Number,String]},Ny=["update:modelValue","clear","focus","blur"];function My({requiredForAttr:e=!0,tagProp:t,changeEvent:n=!1}={}){const{props:r,proxy:o}=ke(),s=Xn(r,o.$q),i=xy({required:e,getValue:()=>r.for});return{requiredForAttr:e,changeEvent:n,tag:t===!0?$(()=>r.tag):{value:"label"},isDark:s,editable:$(()=>r.disable!==!0&&r.readonly!==!0),innerLoading:me(!1),focused:me(!1),hasPopupOpen:!1,splitAttrs:Ty(),targetUid:i,rootRef:me(null),targetRef:me(null),controlRef:me(null)}}function Dy(e){const{props:t,emit:n,slots:r,attrs:o,proxy:s}=ke(),{$q:i}=s;let l=null;e.hasValue===void 0&&(e.hasValue=$(()=>Vi(t.modelValue))),e.emitValue===void 0&&(e.emitValue=j=>{n("update:modelValue",j)}),e.controlEvents===void 0&&(e.controlEvents={onFocusin:F,onFocusout:I}),Object.assign(e,{clearValue:N,onControlFocusin:F,onControlFocusout:I,focus:R}),e.computedCounter===void 0&&(e.computedCounter=$(()=>{if(t.counter!==!1){const j=typeof t.modelValue=="string"||typeof t.modelValue=="number"?(""+t.modelValue).length:Array.isArray(t.modelValue)===!0?t.modelValue.length:0,re=t.maxlength!==void 0?t.maxlength:t.maxValues;return j+(re!==void 0?" / "+re:"")}}));const{isDirtyModel:a,hasRules:u,hasError:c,errorMessage:f,resetValidation:d}=Ly(e.focused,e.innerLoading),g=e.floatingLabel!==void 0?$(()=>t.stackLabel===!0||e.focused.value===!0||e.floatingLabel.value===!0):$(()=>t.stackLabel===!0||e.focused.value===!0||e.hasValue.value===!0),y=$(()=>t.bottomSlots===!0||t.hint!==void 0||u.value===!0||t.counter===!0||t.error!==null),C=$(()=>t.filled===!0?"filled":t.outlined===!0?"outlined":t.borderless===!0?"borderless":t.standout?"standout":"standard"),S=$(()=>`q-field row no-wrap items-start q-field--${C.value}`+(e.fieldClass!==void 0?` ${e.fieldClass.value}`:"")+(t.rounded===!0?" q-field--rounded":"")+(t.square===!0?" q-field--square":"")+(g.value===!0?" q-field--float":"")+(h.value===!0?" q-field--labeled":"")+(t.dense===!0?" q-field--dense":"")+(t.itemAligned===!0?" q-field--item-aligned q-item-type":"")+(e.isDark.value===!0?" q-field--dark":"")+(e.getControl===void 0?" q-field--auto-height":"")+(e.focused.value===!0?" q-field--focused":"")+(c.value===!0?" q-field--error":"")+(c.value===!0||e.focused.value===!0?" q-field--highlighted":"")+(t.hideBottomSpace!==!0&&y.value===!0?" q-field--with-bottom":"")+(t.disable===!0?" q-field--disabled":t.readonly===!0?" q-field--readonly":"")),_=$(()=>"q-field__control relative-position row no-wrap"+(t.bgColor!==void 0?` bg-${t.bgColor}`:"")+(c.value===!0?" text-negative":typeof t.standout=="string"&&t.standout.length!==0&&e.focused.value===!0?` ${t.standout}`:t.color!==void 0?` text-${t.color}`:"")),h=$(()=>t.labelSlot===!0||t.label!==void 0),E=$(()=>"q-field__label no-pointer-events absolute ellipsis"+(t.labelColor!==void 0&&c.value!==!0?` text-${t.labelColor}`:"")),v=$(()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:g.value,modelValue:t.modelValue,emitValue:e.emitValue})),A=$(()=>{const j={};return e.targetUid.value&&(j.for=e.targetUid.value),t.disable===!0&&(j["aria-disabled"]="true"),j});function P(){const j=document.activeElement;let re=e.targetRef?.value;re&&(j===null||j.id!==e.targetUid.value)&&(re.hasAttribute("tabindex")===!0||(re=re.querySelector("[tabindex]")),re!==j&&re?.focus({preventScroll:!0}))}function R(){bl(P)}function H(){ny(P);const j=document.activeElement;j!==null&&e.rootRef.value.contains(j)&&j.blur()}function F(j){l!==null&&(clearTimeout(l),l=null),e.editable.value===!0&&e.focused.value===!1&&(e.focused.value=!0,n("focus",j))}function I(j,re){l!==null&&clearTimeout(l),l=setTimeout(()=>{l=null,!(document.hasFocus()===!0&&(e.hasPopupOpen===!0||e.controlRef===void 0||e.controlRef.value===null||e.controlRef.value.contains(document.activeElement)!==!1))&&(e.focused.value===!0&&(e.focused.value=!1,n("blur",j)),re?.())})}function N(j){bt(j),i.platform.is.mobile!==!0?(e.targetRef?.value||e.rootRef.value).focus():e.rootRef.value.contains(document.activeElement)===!0&&document.activeElement.blur(),t.type==="file"&&(e.inputRef.value.value=null),n("update:modelValue",null),e.changeEvent===!0&&n("change",null),n("clear",t.modelValue),rt(()=>{const re=a.value;d(),a.value=re})}function x(j){[13,32].includes(j.keyCode)&&N(j)}function B(){const j=[];return r.prepend!==void 0&&j.push(V("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:En},r.prepend())),j.push(V("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},q())),c.value===!0&&t.noErrorIcon===!1&&j.push(ee("error",[V(fn,{name:i.iconSet.field.error,color:"negative"})])),t.loading===!0||e.innerLoading.value===!0?j.push(ee("inner-loading-append",r.loading!==void 0?r.loading():[V(gr,{color:t.color})])):t.clearable===!0&&e.hasValue.value===!0&&e.editable.value===!0&&j.push(ee("inner-clearable-append",[V(fn,{class:"q-field__focusable-action",name:t.clearIcon||i.iconSet.field.clear,tabindex:0,role:"button","aria-hidden":"false","aria-label":i.lang.label.clear,onKeyup:x,onClick:N})])),r.append!==void 0&&j.push(V("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:En},r.append())),e.getInnerAppend!==void 0&&j.push(ee("inner-append",e.getInnerAppend())),e.getControlChild!==void 0&&j.push(e.getControlChild()),j}function q(){const j=[];return t.prefix!==void 0&&t.prefix!==null&&j.push(V("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),e.getShadowControl!==void 0&&e.hasShadow.value===!0&&j.push(e.getShadowControl()),h.value===!0&&j.push(V("div",{class:E.value},Tt(r.label,t.label))),e.getControl!==void 0?j.push(e.getControl()):r.rawControl!==void 0?j.push(r.rawControl()):r.control!==void 0&&j.push(V("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0},r.control(v.value))),t.suffix!==void 0&&t.suffix!==null&&j.push(V("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),j.concat(Tt(r.default))}function Y(){let j,re;c.value===!0?f.value!==null?(j=[V("div",{role:"alert"},f.value)],re=`q--slot-error-${f.value}`):(j=Tt(r.error),re="q--slot-error"):(t.hideHint!==!0||e.focused.value===!0)&&(t.hint!==void 0?(j=[V("div",t.hint)],re=`q--slot-hint-${t.hint}`):(j=Tt(r.hint),re="q--slot-hint"));const ye=t.counter===!0||r.counter!==void 0;if(t.hideBottomSpace===!0&&ye===!1&&j===void 0)return;const le=V("div",{key:re,class:"q-field__messages col"},j);return V("div",{class:"q-field__bottom row items-start q-field__bottom--"+(t.hideBottomSpace!==!0?"animated":"stale"),onClick:En},[t.hideBottomSpace===!0?le:V(zr,{name:"q-transition--field-message"},()=>le),ye===!0?V("div",{class:"q-field__counter"},r.counter!==void 0?r.counter():e.computedCounter.value):null])}function ee(j,re){return re===null?null:V("div",{key:j,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},re)}let Q=!1;return as(()=>{Q=!0}),Pc(()=>{Q===!0&&t.autofocus===!0&&s.focus()}),t.autofocus===!0&&Gt(()=>{s.focus()}),Et(()=>{l!==null&&clearTimeout(l)}),Object.assign(s,{focus:R,blur:H}),function(){const re=e.getControl===void 0&&r.control===void 0?{...e.splitAttrs.attributes.value,"data-autofocus":t.autofocus===!0||void 0,...A.value}:A.value;return V(e.tag.value,{ref:e.rootRef,class:[S.value,o.class],style:o.style,...re},[r.before!==void 0?V("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:En},r.before()):null,V("div",{class:"q-field__inner relative-position col self-stretch"},[V("div",{ref:e.controlRef,class:_.value,tabindex:-1,...e.controlEvents},B()),y.value===!0?Y():null]),r.after!==void 0?V("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:En},r.after()):null])}}const Du={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},{tokenMap:$u,tokenKeys:$y}=Sd({"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}});function Sd(e){const t=Object.keys(e),n={};return t.forEach(r=>{const o=e[r];n[r]={...o,regex:new RegExp(o.pattern)}}),{tokenMap:n,tokenKeys:t}}function kd(e){return new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+e.join("")+"])|(.)","g")}const Fu=/[.*+?^${}()|[\]\\]/g,Fy=kd($y),Ie="",qy={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean,maskTokens:Object};function Vy(e,t,n,r){let o,s,i,l,a,u;const c=$(()=>{if(e.maskTokens===void 0||e.maskTokens===null)return{tokenMap:$u,tokenRegexMask:Fy};const{tokenMap:I}=Sd(e.maskTokens),N={...$u,...I};return{tokenMap:N,tokenRegexMask:kd(Object.keys(N))}}),f=me(null),d=me(y());function g(){return e.autogrow===!0||["textarea","text","search","url","tel","password"].includes(e.type)}ge(()=>e.type+e.autogrow,S),ge(()=>e.mask,I=>{if(I!==void 0)_(d.value,!0);else{const N=H(d.value);S(),e.modelValue!==N&&t("update:modelValue",N)}}),ge(()=>e.fillMask+e.reverseFillMask,()=>{f.value===!0&&_(d.value,!0)}),ge(()=>e.unmaskedValue,()=>{f.value===!0&&_(d.value)});function y(){if(S(),f.value===!0){const I=P(H(e.modelValue));return e.fillMask!==!1?F(I):I}return e.modelValue}function C(I){if(I0;q--)N+=Ie;x=x.slice(0,B)+N+x.slice(B)}return x}function S(){if(f.value=e.mask!==void 0&&e.mask.length!==0&&g(),f.value===!1){l=void 0,o="",s="";return}const I=Du[e.mask]===void 0?e.mask:Du[e.mask],N=typeof e.fillMask=="string"&&e.fillMask.length!==0?e.fillMask.slice(0,1):"_",x=N.replace(Fu,"\\$&"),B=[],q=[],Y=[];let ee=e.reverseFillMask===!0,Q="",j="";I.replace(c.value.tokenRegexMask,(z,fe,Ee,Te,oe)=>{if(Te!==void 0){const M=c.value.tokenMap[Te];Y.push(M),j=M.negate,ee===!0&&(q.push("(?:"+j+"+)?("+M.pattern+"+)?(?:"+j+"+)?("+M.pattern+"+)?"),ee=!1),q.push("(?:"+j+"+)?("+M.pattern+")?")}else if(Ee!==void 0)Q="\\"+(Ee==="\\"?"":Ee),Y.push(Ee),B.push("([^"+Q+"]+)?"+Q+"?");else{const M=fe!==void 0?fe:oe;Q=M==="\\"?"\\\\\\\\":M.replace(Fu,"\\\\$&"),Y.push(M),B.push("([^"+Q+"]+)?"+Q+"?")}});const re=new RegExp("^"+B.join("")+"("+(Q===""?".":"[^"+Q+"]")+"+)?"+(Q===""?"":"["+Q+"]*")+"$"),ye=q.length-1,le=q.map((z,fe)=>fe===0&&e.reverseFillMask===!0?new RegExp("^"+x+"*"+z):fe===ye?new RegExp("^"+z+"("+(j===""?".":j)+"+)?"+(e.reverseFillMask===!0?"$":x+"*")):new RegExp("^"+z));i=Y,l=z=>{const fe=re.exec(e.reverseFillMask===!0?z:z.slice(0,Y.length+1));fe!==null&&(z=fe.slice(1).join(""));const Ee=[],Te=le.length;for(let oe=0,M=z;oetypeof z=="string"?z:Ie).join(""),s=o.split(Ie).join(N)}function _(I,N,x){const B=r.value,q=B.selectionEnd,Y=B.value.length-q,ee=H(I);N===!0&&S();const Q=P(ee,N),j=e.fillMask!==!1?F(Q):Q,re=d.value!==j;B.value!==j&&(B.value=j),re===!0&&(d.value=j),document.activeElement===B&&rt(()=>{if(j===s){const le=e.reverseFillMask===!0?s.length:0;B.setSelectionRange(le,le,"forward");return}if(x==="insertFromPaste"&&e.reverseFillMask!==!0){const le=B.selectionEnd;let z=q-1;for(let fe=a;fe<=z&&feQ.length?1:0:Math.max(0,j.length-(j===s?0:Math.min(Q.length,Y)+1))+1:q;B.setSelectionRange(le,le,"forward");return}if(e.reverseFillMask===!0)if(re===!0){const le=Math.max(0,j.length-(j===s?0:Math.min(Q.length,Y+1)));le===1&&q===1?B.setSelectionRange(le,le,"forward"):E.rightReverse(B,le)}else{const le=j.length-Y;B.setSelectionRange(le,le,"backward")}else if(re===!0){const le=Math.max(0,o.indexOf(Ie),Math.min(Q.length,q)-1);E.right(B,le)}else{const le=q-1;E.right(B,le)}});const ye=e.unmaskedValue===!0?H(j):j;String(e.modelValue)!==ye&&(e.modelValue!==null||ye!=="")&&n(ye,!0)}function h(I,N,x){const B=P(H(I.value));N=Math.max(0,o.indexOf(Ie),Math.min(B.length,N)),a=N,I.setSelectionRange(N,x,"forward")}const E={left(I,N){const x=o.slice(N-1).indexOf(Ie)===-1;let B=Math.max(0,N-1);for(;B>=0;B--)if(o[B]===Ie){N=B,x===!0&&N++;break}if(B<0&&o[N]!==void 0&&o[N]!==Ie)return E.right(I,0);N>=0&&I.setSelectionRange(N,N,"backward")},right(I,N){const x=I.value.length;let B=Math.min(x,N+1);for(;B<=x;B++)if(o[B]===Ie){N=B;break}else o[B-1]===Ie&&(N=B);if(B>x&&o[N-1]!==void 0&&o[N-1]!==Ie)return E.left(I,x);I.setSelectionRange(N,N,"forward")},leftReverse(I,N){const x=C(I.value.length);let B=Math.max(0,N-1);for(;B>=0;B--)if(x[B-1]===Ie){N=B;break}else if(x[B]===Ie&&(N=B,B===0))break;if(B<0&&x[N]!==void 0&&x[N]!==Ie)return E.rightReverse(I,0);N>=0&&I.setSelectionRange(N,N,"backward")},rightReverse(I,N){const x=I.value.length,B=C(x),q=B.slice(0,N+1).indexOf(Ie)===-1;let Y=Math.min(x,N+1);for(;Y<=x;Y++)if(B[Y-1]===Ie){N=Y,N>0&&q===!0&&N--;break}if(Y>x&&B[N-1]!==void 0&&B[N-1]!==Ie)return E.leftReverse(I,x);I.setSelectionRange(N,N,"forward")}};function v(I){t("click",I),u=void 0}function A(I){if(t("keydown",I),pf(I)===!0||I.altKey===!0)return;const N=r.value,x=N.selectionStart,B=N.selectionEnd;if(I.shiftKey||(u=void 0),I.keyCode===37||I.keyCode===39){I.shiftKey&&u===void 0&&(u=N.selectionDirection==="forward"?x:B);const q=E[(I.keyCode===39?"right":"left")+(e.reverseFillMask===!0?"Reverse":"")];if(I.preventDefault(),q(N,u===x?B:x),I.shiftKey){const Y=N.selectionStart;N.setSelectionRange(Math.min(u,Y),Math.max(u,Y),"forward")}}else I.keyCode===8&&e.reverseFillMask!==!0&&x===B?(E.left(N,x),N.setSelectionRange(N.selectionStart,B,"backward")):I.keyCode===46&&e.reverseFillMask===!0&&x===B&&(E.rightReverse(N,B),N.setSelectionRange(x,N.selectionEnd,"forward"))}function P(I,N){if(I==null||I==="")return"";if(e.reverseFillMask===!0)return R(I,N);const x=i;let B=0,q="";for(let Y=0;Y=0&&q!==-1;ee--){const Q=x[ee];let j=I[q];if(typeof Q=="string")Y=Q+Y,N===!0&&j===Q&&q--;else if(j!==void 0&&Q.regex.test(j))do Y=(Q.transform!==void 0?Q.transform(j):j)+Y,q--,j=I[q];while(B===ee&&j!==void 0&&Q.regex.test(j));else return Y}return Y}function H(I){return typeof I!="string"||l===void 0?typeof I=="number"?l(""+I):I:l(I)}function F(I){return s.length-I.length<=0?I:e.reverseFillMask===!0&&I.length!==0?s.slice(0,-I.length)+I:I+s.slice(I.length)}return{innerValue:d,hasMask:f,moveCursorForPaste:h,updateMaskValue:_,onMaskedKeydown:A,onMaskedClick:v}}const yl={name:String};function xd(e={}){return(t,n,r)=>{t[n](V("input",{class:"hidden"+(r||""),...e.value}))}}function By(e){return $(()=>e.name||e.for)}function jy(e,t){function n(){const r=e.modelValue;try{const o="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(r)===r&&("length"in r?Array.from(r):[r]).forEach(s=>{o.items.add(s)}),{files:o.files}}catch{return{files:void 0}}}return $(()=>{if(e.type==="file")return n()})}const Uy=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,Hy=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,Wy=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,Ky=/[a-z0-9_ -]$/i;function Gy(e){return function(n){if(n.type==="compositionend"||n.type==="change"){if(n.target.qComposing!==!0)return;n.target.qComposing=!1,e(n)}else n.type==="compositionupdate"&&n.target.qComposing!==!0&&typeof n.data=="string"&&($e.is.firefox===!0?Ky.test(n.data)===!1:Uy.test(n.data)===!0||Hy.test(n.data)===!0||Wy.test(n.data)===!0)===!0&&(n.target.qComposing=!0)}}const zy=Be({name:"QInput",inheritAttrs:!1,props:{...Iy,...qy,...yl,modelValue:[String,Number,FileList],shadowText:String,type:{type:String,default:"text"},debounce:[String,Number],autogrow:Boolean,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Ny,"paste","change","keydown","click","animationend"],setup(e,{emit:t,attrs:n}){const{proxy:r}=ke(),{$q:o}=r,s={};let i=NaN,l,a,u=null,c;const f=me(null),d=By(e),{innerValue:g,hasMask:y,moveCursorForPaste:C,updateMaskValue:S,onMaskedKeydown:_,onMaskedClick:h}=Vy(e,t,ee,f),E=jy(e),v=$(()=>Vi(g.value)),A=Gy(q),P=My({changeEvent:!0}),R=$(()=>e.type==="textarea"||e.autogrow===!0),H=$(()=>R.value===!0||["text","search","url","tel","password"].includes(e.type)),F=$(()=>{const z={...P.splitAttrs.listeners.value,onInput:q,onPaste:B,onChange:j,onBlur:re,onFocus:Ho};return z.onCompositionstart=z.onCompositionupdate=z.onCompositionend=A,y.value===!0&&(z.onKeydown=_,z.onClick=h),e.autogrow===!0&&(z.onAnimationend=Y),z}),I=$(()=>{const z={tabindex:0,"data-autofocus":e.autofocus===!0||void 0,rows:e.type==="textarea"?6:void 0,"aria-label":e.label,name:d.value,...P.splitAttrs.attributes.value,id:P.targetUid.value,maxlength:e.maxlength,disabled:e.disable===!0,readonly:e.readonly===!0};return R.value===!1&&(z.type=e.type),e.autogrow===!0&&(z.rows=1),z});ge(()=>e.type,()=>{f.value&&(f.value.value=e.modelValue)}),ge(()=>e.modelValue,z=>{if(y.value===!0){if(a===!0&&(a=!1,String(z)===i))return;S(z)}else g.value!==z&&(g.value=z,e.type==="number"&&s.hasOwnProperty("value")===!0&&(l===!0?l=!1:delete s.value));e.autogrow===!0&&rt(Q)}),ge(()=>e.autogrow,z=>{z===!0?rt(Q):f.value!==null&&n.rows>0&&(f.value.style.height="auto")}),ge(()=>e.dense,()=>{e.autogrow===!0&&rt(Q)});function N(){bl(()=>{const z=document.activeElement;f.value!==null&&f.value!==z&&(z===null||z.id!==P.targetUid.value)&&f.value.focus({preventScroll:!0})})}function x(){f.value?.select()}function B(z){if(y.value===!0&&e.reverseFillMask!==!0){const fe=z.target;C(fe,fe.selectionStart,fe.selectionEnd)}t("paste",z)}function q(z){if(!z||!z.target)return;if(e.type==="file"){t("update:modelValue",z.target.files);return}const fe=z.target.value;if(z.target.qComposing===!0){s.value=fe;return}if(y.value===!0)S(fe,!1,z.inputType);else if(ee(fe),H.value===!0&&z.target===document.activeElement){const{selectionStart:Ee,selectionEnd:Te}=z.target;Ee!==void 0&&Te!==void 0&&rt(()=>{z.target===document.activeElement&&fe.indexOf(z.target.value)===0&&z.target.setSelectionRange(Ee,Te)})}e.autogrow===!0&&Q()}function Y(z){t("animationend",z),Q()}function ee(z,fe){c=()=>{u=null,e.type!=="number"&&s.hasOwnProperty("value")===!0&&delete s.value,e.modelValue!==z&&i!==z&&(i=z,fe===!0&&(a=!0),t("update:modelValue",z),rt(()=>{i===z&&(i=NaN)})),c=void 0},e.type==="number"&&(l=!0,s.value=z),e.debounce!==void 0?(u!==null&&clearTimeout(u),s.value=z,u=setTimeout(c,e.debounce)):c()}function Q(){requestAnimationFrame(()=>{const z=f.value;if(z!==null){const fe=z.parentNode.style,{scrollTop:Ee}=z,{overflowY:Te,maxHeight:oe}=o.platform.is.firefox===!0?{}:window.getComputedStyle(z),M=Te!==void 0&&Te!=="scroll";M===!0&&(z.style.overflowY="hidden"),fe.marginBottom=z.scrollHeight-1+"px",z.style.height="1px",z.style.height=z.scrollHeight+"px",M===!0&&(z.style.overflowY=parseInt(oe,10){f.value!==null&&(f.value.value=g.value!==void 0?g.value:"")})}function ye(){return s.hasOwnProperty("value")===!0?s.value:g.value!==void 0?g.value:""}Et(()=>{re()}),Gt(()=>{e.autogrow===!0&&Q()}),Object.assign(P,{innerValue:g,fieldClass:$(()=>`q-${R.value===!0?"textarea":"input"}`+(e.autogrow===!0?" q-textarea--autogrow":"")),hasShadow:$(()=>e.type!=="file"&&typeof e.shadowText=="string"&&e.shadowText.length!==0),inputRef:f,emitValue:ee,hasValue:v,floatingLabel:$(()=>v.value===!0&&(e.type!=="number"||isNaN(g.value)===!1)||Vi(e.displayValue)),getControl:()=>V(R.value===!0?"textarea":"input",{ref:f,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...I.value,...F.value,...e.type!=="file"?{value:ye()}:E.value}),getShadowControl:()=>V("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(R.value===!0?"":" text-no-wrap")},[V("span",{class:"invisible"},ye()),V("span",e.shadowText)])});const le=Dy(P);return Object.assign(r,{focus:N,select:x,getNativeElement:()=>f.value}),zn(r,"nativeEl",()=>f.value),le}});function Td(e,t){const n=me(null),r=$(()=>e.disable===!0?null:V("span",{ref:n,class:"no-outline",tabindex:-1}));function o(s){const i=t.value;s?.qAvoidFocus!==!0&&(s?.type.indexOf("key")===0?document.activeElement!==i&&i?.contains(document.activeElement)===!0&&i.focus():n.value!==null&&(s===void 0||i?.contains(s.target)===!0)&&n.value.focus())}return{refocusTargetEl:r,refocusTarget:o}}const Ad={xs:30,sm:35,md:40,lg:50,xl:60},Qy=()=>V("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[V("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),V("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]),Yy=Be({name:"QRadio",props:{...Yn,...io,...yl,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:n}){const{proxy:r}=ke(),o=Xn(e,r.$q),s=lo(e,Ad),i=me(null),{refocusTargetEl:l,refocusTarget:a}=Td(e,i),u=$(()=>ue(e.modelValue)===ue(e.val)),c=$(()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(e.disable===!0?" disabled":"")+(o.value===!0?" q-radio--dark":"")+(e.dense===!0?" q-radio--dense":"")+(e.leftLabel===!0?" reverse":"")),f=$(()=>{const v=e.color!==void 0&&(e.keepColor===!0||u.value===!0)?` text-${e.color}`:"";return`q-radio__inner relative-position q-radio__inner--${u.value===!0?"truthy":"falsy"}${v}`}),d=$(()=>(u.value===!0?e.checkedIcon:e.uncheckedIcon)||null),g=$(()=>e.disable===!0?-1:e.tabindex||0),y=$(()=>{const v={type:"radio"};return e.name!==void 0&&Object.assign(v,{".checked":u.value===!0,"^checked":u.value===!0?"checked":void 0,name:e.name,value:e.val}),v}),C=xd(y);function S(v){v!==void 0&&(bt(v),a(v)),e.disable!==!0&&u.value!==!0&&n("update:modelValue",e.val,v)}function _(v){(v.keyCode===13||v.keyCode===32)&&bt(v)}function h(v){(v.keyCode===13||v.keyCode===32)&&S(v)}Object.assign(r,{set:S});const E=Qy();return()=>{const v=d.value!==null?[V("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[V(fn,{class:"q-radio__icon",name:d.value})])]:[E];e.disable!==!0&&C(v,"unshift"," q-radio__native q-ma-none q-pa-none");const A=[V("div",{class:f.value,style:s.value,"aria-hidden":"true"},v)];l.value!==null&&A.push(l.value);const P=e.label!==void 0?Dn(t.default,[e.label]):Tt(t.default);return P!==void 0&&A.push(V("div",{class:"q-radio__label q-anchor--skip"},P)),V("div",{ref:i,class:c.value,tabindex:g.value,role:"radio","aria-label":e.label,"aria-checked":u.value===!0?"true":"false","aria-disabled":e.disable===!0?"true":void 0,onClick:S,onKeydown:_,onKeyup:h},A)}}}),Rd={...Yn,...io,...yl,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>e==="tf"||e==="ft"},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},Od=["update:modelValue"];function Ld(e,t){const{props:n,slots:r,emit:o,proxy:s}=ke(),{$q:i}=s,l=Xn(n,i),a=me(null),{refocusTargetEl:u,refocusTarget:c}=Td(n,a),f=lo(n,Ad),d=$(()=>n.val!==void 0&&Array.isArray(n.modelValue)),g=$(()=>{const x=ue(n.val);return d.value===!0?n.modelValue.findIndex(B=>ue(B)===x):-1}),y=$(()=>d.value===!0?g.value!==-1:ue(n.modelValue)===ue(n.trueValue)),C=$(()=>d.value===!0?g.value===-1:ue(n.modelValue)===ue(n.falseValue)),S=$(()=>y.value===!1&&C.value===!1),_=$(()=>n.disable===!0?-1:n.tabindex||0),h=$(()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(n.disable===!0?" disabled":"")+(l.value===!0?` q-${e}--dark`:"")+(n.dense===!0?` q-${e}--dense`:"")+(n.leftLabel===!0?" reverse":"")),E=$(()=>{const x=y.value===!0?"truthy":C.value===!0?"falsy":"indet",B=n.color!==void 0&&(n.keepColor===!0||(e==="toggle"?y.value===!0:C.value!==!0))?` text-${n.color}`:"";return`q-${e}__inner relative-position non-selectable q-${e}__inner--${x}${B}`}),v=$(()=>{const x={type:"checkbox"};return n.name!==void 0&&Object.assign(x,{".checked":y.value,"^checked":y.value===!0?"checked":void 0,name:n.name,value:d.value===!0?n.val:n.trueValue}),x}),A=xd(v),P=$(()=>{const x={tabindex:_.value,role:e==="toggle"?"switch":"checkbox","aria-label":n.label,"aria-checked":S.value===!0?"mixed":y.value===!0?"true":"false"};return n.disable===!0&&(x["aria-disabled"]="true"),x});function R(x){x!==void 0&&(bt(x),c(x)),n.disable!==!0&&o("update:modelValue",H(),x)}function H(){if(d.value===!0){if(y.value===!0){const x=n.modelValue.slice();return x.splice(g.value,1),x}return n.modelValue.concat([n.val])}if(y.value===!0){if(n.toggleOrder!=="ft"||n.toggleIndeterminate===!1)return n.falseValue}else if(C.value===!0){if(n.toggleOrder==="ft"||n.toggleIndeterminate===!1)return n.trueValue}else return n.toggleOrder!=="ft"?n.trueValue:n.falseValue;return n.indeterminateValue}function F(x){(x.keyCode===13||x.keyCode===32)&&bt(x)}function I(x){(x.keyCode===13||x.keyCode===32)&&R(x)}const N=t(y,S);return Object.assign(s,{toggle:R}),()=>{const x=N();n.disable!==!0&&A(x,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);const B=[V("div",{class:E.value,style:f.value,"aria-hidden":"true"},x)];u.value!==null&&B.push(u.value);const q=n.label!==void 0?Dn(r.default,[n.label]):Tt(r.default);return q!==void 0&&B.push(V("div",{class:`q-${e}__label q-anchor--skip`},q)),V("div",{ref:a,class:h.value,...P.value,onClick:R,onKeydown:F,onKeyup:I},B)}}const Xy=()=>V("div",{key:"svg",class:"q-checkbox__bg absolute"},[V("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[V("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),V("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]),Jy=Be({name:"QCheckbox",props:Rd,emits:Od,setup(e){const t=Xy();function n(r,o){const s=$(()=>(r.value===!0?e.checkedIcon:o.value===!0?e.indeterminateIcon:e.uncheckedIcon)||null);return()=>s.value!==null?[V("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[V(fn,{class:"q-checkbox__icon",name:s.value})])]:[t]}return Ld("checkbox",n)}}),Zy=Be({name:"QToggle",props:{...Rd,icon:String,iconColor:String},emits:Od,setup(e){function t(n,r){const o=$(()=>(n.value===!0?e.checkedIcon:r.value===!0?e.indeterminateIcon:e.uncheckedIcon)||e.icon),s=$(()=>n.value===!0?e.iconColor:null);return()=>[V("div",{class:"q-toggle__track"}),V("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},o.value!==void 0?[V(fn,{name:o.value,color:s.value})]:void 0)]}return Ld("toggle",t)}}),Pd={radio:Yy,checkbox:Jy,toggle:Zy},e0=Object.keys(Pd);function ei(e,t){if(typeof e=="function")return e;const n=e!==void 0?e:t;return r=>r[n]}const t0=Be({name:"QOptionGroup",props:{...Yn,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(ct),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:"radio",validator:e=>e0.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:n}){const{proxy:{$q:r}}=ke(),o=Array.isArray(e.modelValue);e.type==="radio"?o===!0&&console.error("q-option-group: model should not be array"):o===!1&&console.error("q-option-group: model should be array in your case");const s=Xn(e,r),i=$(()=>Pd[e.type]),l=$(()=>ei(e.optionValue,"value")),a=$(()=>ei(e.optionLabel,"label")),u=$(()=>ei(e.optionDisable,"disable")),c=$(()=>e.options.map(y=>({val:l.value(y),name:y.name===void 0?e.name:y.name,disable:e.disable||u.value(y),leftLabel:y.leftLabel===void 0?e.leftLabel:y.leftLabel,color:y.color===void 0?e.color:y.color,checkedIcon:y.checkedIcon,uncheckedIcon:y.uncheckedIcon,dark:y.dark===void 0?s.value:y.dark,size:y.size===void 0?e.size:y.size,dense:e.dense,keepColor:y.keepColor===void 0?e.keepColor:y.keepColor}))),f=$(()=>"q-option-group q-gutter-x-sm"+(e.inline===!0?" q-option-group--inline":"")),d=$(()=>{const y={role:"group"};return e.type==="radio"&&(y.role="radiogroup",e.disable===!0&&(y["aria-disabled"]="true")),y});function g(y){t("update:modelValue",y)}return()=>V("div",{class:f.value,...d.value},e.options.map((y,C)=>{const S=n["label-"+C]!==void 0?()=>n["label-"+C](y):n.label!==void 0?()=>n.label(y):void 0;return V("div",[V(i.value,{label:S===void 0?a.value(y):null,modelValue:e.modelValue,"onUpdate:modelValue":g,...c.value[C]},S)])}))}}),n0=Be({name:"DialogPluginComponent",props:{...Yn,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){const{proxy:n}=ke(),{$q:r}=n,o=Xn(e,r),s=me(null),i=me(e.prompt!==void 0?e.prompt.model:e.options!==void 0?e.options.model:void 0),l=$(()=>"q-dialog-plugin"+(o.value===!0?" q-dialog-plugin--dark q-dark":"")+(e.progress!==!1?" q-dialog-plugin--progress":"")),a=$(()=>e.color||(o.value===!0?"amber":"primary")),u=$(()=>e.progress===!1?null:ct(e.progress)===!0?{component:e.progress.spinner||gr,props:{color:e.progress.color||a.value}}:{component:gr,props:{color:a.value}}),c=$(()=>e.prompt!==void 0||e.options!==void 0),f=$(()=>{if(c.value!==!0)return{};const{model:q,isValid:Y,items:ee,...Q}=e.prompt!==void 0?e.prompt:e.options;return Q}),d=$(()=>ct(e.ok)===!0||e.ok===!0?r.lang.label.ok:e.ok),g=$(()=>ct(e.cancel)===!0||e.cancel===!0?r.lang.label.cancel:e.cancel),y=$(()=>e.prompt!==void 0?e.prompt.isValid!==void 0&&e.prompt.isValid(i.value)!==!0:e.options!==void 0?e.options.isValid!==void 0&&e.options.isValid(i.value)!==!0:!1),C=$(()=>({color:a.value,label:d.value,ripple:!1,disable:y.value,...ct(e.ok)===!0?e.ok:{flat:!0},"data-autofocus":e.focus==="ok"&&c.value!==!0||void 0,onClick:E})),S=$(()=>({color:a.value,label:g.value,ripple:!1,...ct(e.cancel)===!0?e.cancel:{flat:!0},"data-autofocus":e.focus==="cancel"&&c.value!==!0||void 0,onClick:v}));ge(()=>e.prompt&&e.prompt.model,P),ge(()=>e.options&&e.options.model,P);function _(){s.value.show()}function h(){s.value.hide()}function E(){t("ok",ue(i.value)),h()}function v(){h()}function A(){t("hide")}function P(q){i.value=q}function R(q){y.value!==!0&&e.prompt.type!=="textarea"&&Yr(q,13)===!0&&E()}function H(q,Y){return e.html===!0?V(xr,{class:q,innerHTML:Y}):V(xr,{class:q},()=>Y)}function F(){return[V(zy,{color:a.value,dense:!0,autofocus:!0,dark:o.value,...f.value,modelValue:i.value,"onUpdate:modelValue":P,onKeyup:R})]}function I(){return[V(t0,{color:a.value,options:e.options.items,dark:o.value,...f.value,modelValue:i.value,"onUpdate:modelValue":P})]}function N(){const q=[];return e.cancel&&q.push(V($i,S.value)),e.ok&&q.push(V($i,C.value)),V(wy,{class:e.stackButtons===!0?"items-end":"",vertical:e.stackButtons,align:"right"},()=>q)}function x(){const q=[];return e.title&&q.push(H("q-dialog__title",e.title)),e.progress!==!1&&q.push(V(xr,{class:"q-dialog__progress"},()=>V(u.value.component,u.value.props))),e.message&&q.push(H("q-dialog__message",e.message)),e.prompt!==void 0?q.push(V(xr,{class:"scroll q-dialog-plugin__form"},F)):e.options!==void 0&&q.push(V(Ru,{dark:o.value}),V(xr,{class:"scroll q-dialog-plugin__form"},I),V(Ru,{dark:o.value})),(e.ok||e.cancel)&&q.push(N()),q}function B(){return[V(Ey,{class:[l.value,e.cardClass],style:e.cardStyle,dark:o.value},x)]}return Object.assign(n,{show:_,hide:h}),()=>V(yy,{ref:s,onHide:A},B)}});function Id(e,t){for(const n in t)n!=="spinner"&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},Id(e[n],t[n])):e[n]=t[n]}function r0(e,t,n){return r=>{let o,s;const i=r.component!==void 0;if(i===!0){const{component:h,componentProps:E}=r;o=typeof h=="string"?n.component(h):h,s=E||{}}else{const{class:h,style:E,...v}=r;o=e,s=v,h!==void 0&&(v.cardClass=h),E!==void 0&&(v.cardStyle=E)}let l,a=!1;const u=me(null),c=bs(!1,"dialog"),f=h=>{if(u.value?.[h]!==void 0){u.value[h]();return}const E=l.$.subTree;if(E?.component){if(E.component.proxy&&E.component.proxy[h]){E.component.proxy[h]();return}if(E.component.subTree&&E.component.subTree.component&&E.component.subTree.component.proxy&&E.component.subTree.component.proxy[h]){E.component.subTree.component.proxy[h]();return}}console.error("[Quasar] Incorrectly defined Dialog component")},d=[],g=[],y={onOk(h){return d.push(h),y},onCancel(h){return g.push(h),y},onDismiss(h){return d.push(h),g.push(h),y},hide(){return f("hide"),y},update(h){if(l!==null){if(i===!0)Object.assign(s,h);else{const{class:E,style:v,...A}=h;E!==void 0&&(A.cardClass=E),v!==void 0&&(A.cardStyle=v),Id(s,A)}l.$forceUpdate()}return y}},C=h=>{a=!0,d.forEach(E=>{E(h)})},S=()=>{_.unmount(c),vl(c),_=null,l=null,a!==!0&&g.forEach(h=>{h()})};let _=sl({name:"QGlobalDialog",setup:()=>()=>V(o,{...s,ref:u,onOk:C,onHide:S,onVnodeMounted(...h){typeof s.onVnodeMounted=="function"&&s.onVnodeMounted(...h),rt(()=>f("show"))}})},n);return l=_.mount(c),y}}const o0={install({$q:e,parentApp:t}){e.dialog=this.create=r0(n0,!0,t)}};let rr,ti,qu=0,In=null,Fe={},Fn={};const Nd={group:"__default_quasar_group__",delay:0,message:!1,html:!1,spinnerSize:80,spinnerColor:"",messageColor:"",backgroundColor:"",boxClass:"",spinner:gr,customClass:""},Md={...Nd};function s0(e){if(e?.group!==void 0&&Fn[e.group]!==void 0)return Object.assign(Fn[e.group],e);const t=ct(e)===!0&&e.ignoreDefaults===!0?{...Nd,...e}:{...Md,...e};return Fn[t.group]=t,t}const Ct=so({isActive:!1},{show(e){Fe=s0(e);const{group:t}=Fe;return Ct.isActive=!0,rr!==void 0?(Fe.uid=qu,ti.$forceUpdate()):(Fe.uid=++qu,In!==null&&clearTimeout(In),In=setTimeout(()=>{In=null;const n=bs("q-loading");rr=sl({name:"QLoading",setup(){Gt(()=>{Fi(!0)});function r(){Ct.isActive!==!0&&rr!==void 0&&(Fi(!1),rr.unmount(n),vl(n),rr=void 0,ti=void 0)}function o(){if(Ct.isActive!==!0)return null;const s=[V(Fe.spinner,{class:"q-loading__spinner",color:Fe.spinnerColor,size:Fe.spinnerSize})];return Fe.message&&s.push(V("div",{class:"q-loading__message"+(Fe.messageColor?` text-${Fe.messageColor}`:""),[Fe.html===!0?"innerHTML":"textContent"]:Fe.message})),V("div",{class:"q-loading fullscreen flex flex-center z-max "+Fe.customClass.trim(),key:Fe.uid},[V("div",{class:"q-loading__backdrop"+(Fe.backgroundColor?` bg-${Fe.backgroundColor}`:"")}),V("div",{class:"q-loading__box column items-center "+Fe.boxClass},s)])}return()=>V(zr,{name:"q-transition--fade",appear:!0,onAfterLeave:r},o)}},Ct.__parentApp),ti=rr.mount(n)},Fe.delay)),n=>{if(n===void 0||Object(n)!==n){Ct.hide(t);return}Ct.show({...n,group:t})}},hide(e){if(Ct.isActive===!0){if(e===void 0)Fn={};else{if(Fn[e]===void 0)return;{delete Fn[e];const t=Object.keys(Fn);if(t.length!==0){const n=t[t.length-1];Ct.show({group:n});return}}}In!==null&&(clearTimeout(In),In=null),Ct.isActive=!1}},setDefaults(e){ct(e)===!0&&Object.assign(Md,e)},install({$q:e,parentApp:t}){e.loading=this,Ct.__parentApp=t,e.config.loading!==void 0&&this.setDefaults(e.config.loading)}}),i0={config:{},plugins:{Notify:Kb,Dialog:o0,Loading:Ct}},l0="/";async function a0({app:e,router:t,store:n},r){let o=!1;const s=a=>{try{return t.resolve(a).href}catch{}return Object(a)===a?null:a},i=a=>{if(o=!0,typeof a=="string"&&/^https?:\/\//.test(a)){window.location.href=a;return}const u=s(a);u!==null&&(window.location.href=u)},l=window.location.href.replace(window.location.origin,"");for(let a=0;o===!1&&a{const[t,n]=Promise.allSettled!==void 0?["allSettled",r=>r.map(o=>{if(o.status==="rejected"){console.error("[Quasar] boot error:",o.reason);return}return o.value.default})]:["all",r=>r.map(o=>o.default)];return Promise[t]([Qe(()=>import("./i18n-K6-k8nVn.js"),[])]).then(r=>{const o=n(r).filter(s=>typeof s=="function");a0(e,o)})});export{pd as $,gs as A,x0 as B,T0 as C,Jv as D,Gt as E,zh as F,Yc as G,Jc as H,Lh as I,Ze as J,Cn as K,xm as L,Jd as M,ef as N,_b as O,d0 as P,$i as Q,Ru as R,yc as S,zr as T,fn as U,h0 as V,u0 as W,km as X,ns as Y,kn as Z,gr as _,Be as a,xu as a$,Ey as a0,xr as a1,wy as a2,m0 as a3,zy as a4,Wn as a5,rt as a6,Jy as a7,ut as a8,f0 as a9,jh as aA,Pc as aB,as as aC,io as aD,lo as aE,gd as aF,_i as aG,ct as aH,C0 as aI,w0 as aJ,g0 as aK,zn as aL,y0 as aM,Sb as aN,Yr as aO,pf as aP,O0 as aQ,c0 as aR,rs as aS,dc as aT,Zy as aU,bl as aV,Vg as aW,P0 as aX,I0 as aY,Po as aZ,vy as a_,yy as aa,Cg as ab,$e as ac,v0 as ad,Qr as ae,Sg as af,En as ag,Ho as ah,p0 as ai,Yn as aj,it as ak,E0 as al,_0 as am,Gb as an,R0 as ao,hy as ap,Xn as aq,A0 as ar,So as as,b0 as at,nt as au,ay as av,uy as aw,D0 as ax,cs as ay,Dn as az,Zb as b,_y as b0,Tu as b1,ry as b2,wb as b3,Ny as b4,Iy as b5,Dy as b6,My as b7,cb as b8,mf as b9,yl as ba,Ns as bb,Nc as bc,el as bd,Vi as be,By as bf,Gy as bg,qg as bh,vi as bi,L0 as bj,Rb as bk,S0 as c,k0 as d,Yb as e,Qb as f,zb as g,Jb as h,iy as i,Tg as j,xg as k,Yv as l,M0 as m,V as n,Et as o,ke as p,me as q,Xv as r,N0 as s,$ as t,Xb as u,ey as v,ge as w,Tt as x,bt as y,Gn as z}; diff --git a/backend/internal/http/static/spa/assets/index-BQveqNql.css b/backend/internal/http/static/spa/assets/index-CxY4d-3p.css similarity index 97% rename from backend/internal/http/static/spa/assets/index-BQveqNql.css rename to backend/internal/http/static/spa/assets/index-CxY4d-3p.css index 476cb14..9351d67 100644 --- a/backend/internal/http/static/spa/assets/index-BQveqNql.css +++ b/backend/internal/http/static/spa/assets/index-CxY4d-3p.css @@ -1 +1 @@ -@charset "UTF-8";@font-face{font-family:Roboto;font-style:normal;font-weight:100;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:900;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff) format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2) format("woff2"),url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}html,body,#q-app{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}html,body{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:before,.q-icon:after{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>svg,.q-icon>img{width:100%;height:100%}.q-icon>div{box-sizing:border-box}.q-icon,.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp{-webkit-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel{height:100%;width:100%}.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar__content,.q-avatar img:not(.q-icon):not(.q-img__image){border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:1;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-auto{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-banner--dense .q-banner__actions.col-auto{padding-left:8px}.q-bar{background:#0003}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-icon:first-child,.q-bar>.q-btn:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:#ffffff26}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard:active:before,.q-btn--actionable.q-btn--standard.q-btn--active:before{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:active,.q-btn--push.q-btn--actionable.q-btn--active{transform:translateY(2px)}.q-btn--push.q-btn--actionable:active:before,.q-btn--push.q-btn--actionable.q-btn--active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translate(-100%);background:#ffffff40}.q-btn__progress--dark .q-btn__progress-indicator{background:#0003}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid rgba(255,255,255,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-item,.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container){width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle{position:relative}.q-card{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative}.q-card>div:not(.q--avoid-card-border),.q-card>img:not(.q--avoid-card-border){border-radius:0}.q-card>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-child(1 of:not(.q--avoid-card-border)){border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(.q--avoid-card-border){border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:not(.q--avoid-card-border),.q-card__section--horiz>img:not(.q--avoid-card-border){border-radius:0}.q-card__section--horiz>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-child(1 of:not(.q--avoid-card-border)){border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(.q--avoid-card-border){border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-item+.q-btn-item,.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-item+.q-btn-item,.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel__slide,.q-carousel .q-carousel--padding{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__prev-arrow--horizontal,.q-carousel__next-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__prev-arrow--vertical,.q-carousel__next-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--top,.q-carousel__navigation--bottom{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail:hover,.q-carousel .q-carousel__thumbnail--active{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-top:60px}.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-bottom:60px}.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-left:60px}.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-name{font-size:small}.q-message-label{margin:24px 0;text-align:center;font-size:small}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none;font-size:small}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-checkbox__inner--truthy,.q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox__inner--truthy .q-checkbox__bg,.q-checkbox__inner--indet .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:#ffffffb3}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--truthy,.q-checkbox--dark .q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleZ(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:#000000de;font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip--outline .q-avatar{margin-left:calc(-.45em - 1px)}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:#0000008a;font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:hover,.q-chip__icon--remove:focus{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(to top,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(to bottom,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(to right,#fff,#fff0)}.q-color-picker__spectrum-black{background:linear-gradient(to top,#000,#0000)}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,#fff0,#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px #0003}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid rgba(255,255,255,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:hover,.q-date__header-link:focus{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item>div,.q-date__calendar-item button{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range:before,.q-date__range-from:before,.q-date__range-to:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range:nth-child(7n-6):before,.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range:nth-child(7n):before,.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from:after,.q-date__edit-range-from-to:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-to:after,.q-date__edit-range-from-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__years-item,.q-date__months-item{flex:0 0 33.3333%}.q-date.disabled .q-date__header,.q-date.disabled .q-date__content,.q-date--readonly .q-date__header,.q-date--readonly .q-date__content{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f;border-color:#ffffff47}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--top,.q-dialog__inner--bottom{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--right,.q-dialog__inner--left{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:#0006}body.platform-ios .q-dialog__inner--minimized>div,body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media(max-width:599.98px){.q-dialog__inner--top,.q-dialog__inner--bottom{padding-left:0;padding-right:0}.q-dialog__inner--top>div,.q-dialog__inner--bottom>div{width:100%!important}}@media(min-width:600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:#0000001f}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:#0000001f}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:#ffffff47}.q-editor--dark .q-editor__content hr{background:#ffffff47}.q-editor--dark .q-editor__toolbar{border-color:#ffffff47}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:#ffffff47}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item:first-child>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done: 1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__icon,.q-fab__active-icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-top.q-fab__label--internal-hidden,.q-fab__label--internal-bottom.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translate(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translate(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--up,.q-fab__actions--down{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--up,.q-fab--align-left>.q-fab__actions--down{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--up,.q-fab--align-right>.q-fab__actions--down{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:#0000008a;font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:#0000008a;padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:before,.q-field__control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__native,.q-field__prefix,.q-field__suffix,.q-field__input{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:#000000de;outline:0;padding:6px 0}.q-field__native,.q-field__input{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;user-select:auto}.q-field__native:-webkit-autofill,.q-field__input:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__native:invalid,.q-field__input:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--readonly .q-placeholder,.q-field--disabled .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__native,.q-field--readonly.q-field--labeled .q-field__input{cursor:default}.q-field--readonly.q-field--float .q-field__native,.q-field--readonly.q-field--float .q-field__input{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:#0009;font-size:16px;line-height:1.25;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-40%) scale(.75)}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:#0000000d;border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:#0000001f}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:#ffffff1a}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__native:-webkit-autofill,.q-field--outlined .q-field__input:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleZ(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:#fff9}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix,.q-field--dark .q-field__input{color:#fff}.q-field--dark:not(.q-field--highlighted) .q-field__label,.q-field--dark .q-field__marginal,.q-field--dark .q-field__bottom{color:#ffffffb3}.q-field--standout .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:#00000012;opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#000}.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control{background:#ffffff12}.q-field--standout.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:#ffffff3d}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__native::placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field--with-bottom{padding-bottom:19px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:hover,.q-field__focusable-action:focus{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-from,.q-transition--field-message-leave-active{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form{position:relative}.q-img{position:relative;width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:#00000078}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:#fff9;border-radius:inherit}.q-inner-loading--dark{background:#0006}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}body.mobile .q-textarea .q-field__native,.q-textarea.disabled .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-item__section--thumbnail:first-child,.q-item>.q-focus-helper+.q-item__section--thumbnail{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:#000000b3}.q-item__label--caption{color:#0000008a}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-separator--spaced+.q-item__label--header,.q-list--padding .q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-list--dense>.q-item,.q-item--dense{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:#ffffff47}.q-list--dark,.q-item--dark{color:#fff;border-color:#ffffff47}.q-list--dark .q-item__section--side:not(.q-item__section--avatar),.q-item--dark .q-item__section--side:not(.q-item__section--avatar){color:#ffffffb3}.q-list--dark .q-item__label--header,.q-item--dark .q-item__label--header{color:#ffffffa3}.q-list--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-item--dark .q-item__label--caption{color:#fffc}.q-item{position:relative}.q-item.q-router-link--active,.q-item--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px #0003,0 0 10px #0000003d}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-header,.q-footer{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translate(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translate(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini .q-mini-drawer-hide,.q-drawer--mini .q-expansion-item__content{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--standard .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-hide{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;user-select:none}.q-layout,.q-header,.q-footer,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:nth-child(1),body.q-ios-padding .q-layout--standard .q-header>.q-tabs:nth-child(1) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:nth-last-child(1 of:not(.q-layout__shadow)) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media(max-width:599.98px){.q-layout-padding{padding:8px}}@media(min-width:600px)and (max-width:1439.98px){.q-layout-padding{padding:16px}}@media(min-width:1440px){.q-layout-padding{padding:24px}}body.body--dark .q-header,body.body--dark .q-footer,body.body--dark .q-drawer{border-color:#ffffff47}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px #fff3,0 0 10px #ffffff3d}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed: .3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleZ(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:before,.q-linear-progress__model--query:after{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleZ(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:#00000042}.q-linear-progress__track--dark{background:#fff9}.q-linear-progress__stripe{background-image:linear-gradient(45deg,#ffffff26 25%,#fff0 25% 50%,#ffffff26 50% 75%,#fff0 75%,#fff0)!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scale3d(.35,1,1)}60%{transform:translate3d(100%,0,0) scale3d(.9,1,1)}to{transform:translate3d(100%,0,0) scale3d(.9,1,1)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleZ(1)}60%{transform:translate3d(107%,0,0) scale3d(.01,1,1)}to{transform:translate3d(107%,0,0) scale3d(.01,1,1)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;max-height:65vh;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-outer-spin-button,.q-pagination input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent: -2px;--q-pagination-gutter-child: 2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px #0000004d}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleZ(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:#ffffffb3}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleZ(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in,color .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__focus-target,.q-select__autocomplete-input{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:#0000001f;margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:#ffffff47}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed: 1.5s;background:#0000001f;border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:" "}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-circle,.q-skeleton--type-QAvatar{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QSlider,.q-skeleton--type-QRange{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-wave,.q-skeleton--anim-blink,.q-skeleton--anim-pop{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-wave:after,.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:#ffffffb3;animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:#ffffff0d}.q-skeleton--dark.q-skeleton--bordered{border:1px solid rgba(255,255,255,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0)}.q-skeleton--dark.q-skeleton--anim-blink:after{background:#fff3}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.q-slide-item{position:relative;background:#fff}.q-slide-item__left,.q-slide-item__right,.q-slide-item__top,.q-slide-item__bottom{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon,.q-slide-item__bottom .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:#0000001a;border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:#0000001a;border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor;border-radius:inherit;width:100%;height:100%}.q-slider__markers{color:#0000004d;border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(to right,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(to bottom,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translate(-50%)}.q-slider__marker-labels--h-rtl{transform:translate(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translate(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translate(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__thumb,.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__thumb,.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin{opacity:1}.q-slider--dark .q-slider__track,.q-slider--dark .q-slider__inner{background:#ffffff1a}.q-slider--dark .q-slider__markers{color:#ffffff4d}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate3d(0,0,1,0)}25%{transform:rotate3d(0,0,1,90deg)}50%{transform:rotate3d(0,0,1,180deg)}75%{transform:rotate3d(0,0,1,270deg)}to{transform:rotate3d(0,0,1,359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:#0000001f;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:#ffffff47}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__before,.q-splitter__after{overflow:auto}.q-stepper{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:1.285714;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:1.16667}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:#00000038}.q-stepper__tab--disabled .q-stepper__label{color:#00000052}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:before,.q-stepper__header--alternative-labels .q-stepper__label:after{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translate(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translate(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:before,.q-stepper--horizontal .q-stepper__line:after{position:absolute;top:50%;height:1px;width:100vw;background:#0000001f}.q-stepper--horizontal .q-stepper__label:after,.q-stepper--horizontal .q-stepper__dot:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:before,.q-stepper--vertical .q-stepper__dot:after{content:"";position:absolute;left:50%;width:1px;height:99999px;background:#0000001f}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark.q-stepper--bordered,.q-stepper--dark .q-stepper__header--border{border-color:#ffffff47}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after{background:#ffffff47}.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled{color:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:#ffffff8a}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table thead tr,.q-table tbody td{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table th,.q-table td{padding:7px 16px;background-color:inherit}.q-table thead,.q-table td,.q-table th{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__top,.q-table__card .q-table__bottom{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--left,.q-table__sort-icon--center{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table__card--dark,.q-table--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap th,.q-table--no-wrap td{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--horizontal-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--cell-separator tbody tr:not(:last-child)>td{border-bottom-width:1px}.q-table--vertical-separator td,.q-table--vertical-separator th,.q-table--cell-separator td,.q-table--cell-separator th{border-left-width:1px}.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th,.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child,.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child{border-left:0}.q-table--vertical-separator .q-table__top,.q-table--cell-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table th,.q-table--dense .q-table td{padding:4px 8px}.q-table--dense .q-table thead tr,.q-table--dense .q-table tbody tr,.q-table--dense .q-table tbody td{height:28px}.q-table--dense .q-table th:first-child,.q-table--dense .q-table td:first-child{padding-left:16px}.q-table--dense .q-table th:last-child,.q-table--dense .q-table td:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom:not(.q-table__bottom--nodata){border-top:1px solid rgba(0,0,0,.12)}.q-table thead,.q-table tr,.q-table th,.q-table td{border-color:#0000001f}.q-table tbody td{position:relative}.q-table tbody td:before,.q-table tbody td:after{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:#00000008}.q-table tbody td:after{background:#0000000f}.q-table tbody tr.selected td:after{content:""}body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table__card--dark,.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark thead,.q-table--dark tr,.q-table--dark th,.q-table--dark td{border-color:#ffffff47}.q-table--dark tbody td:before{background:#ffffff12}.q-table--dark tbody td:after{background:#ffffff1a}.q-table--dark.q-table--vertical-separator .q-table__top,.q-table--dark.q-table--cell-separator .q-table__top{border-color:#ffffff47}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:hover,.q-time__link:focus{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:#0000001f}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before,.q-time__clock-pointer:after{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0%;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0%}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time.disabled .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time--readonly .q-time__content{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:before,.q-timeline__dot:after{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>svg,.q-timeline__dot .q-icon>img{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__title,.q-timeline--dense--left .q-timeline__subtitle{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__subtitle,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__content{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__content{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__content{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px;max-width:95vw;max-height:65vh}@media(max-width:599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>div,.q-tree__node--disabled>i,.q-tree__node--disabled>.disabled{opacity:.6!important}.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node-body:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate3d(0,0,1,180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-uploader{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";border-top-left-radius:inherit;border-top-right-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:#fff9}.q-uploader__overlay{font-size:36px;color:#000;background-color:#fff9}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(to bottom,#000000b3 20%,#fff0)}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:1.285714;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:1.5}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-uploader--dark .q-uploader__file{border-color:#ffffff47}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:#ffffff4d}.q-uploader--dark .q-uploader__overlay{color:#fff}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video iframe,.q-video object,.q-video embed{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive iframe,.q-video--responsive object,.q-video--responsive embed{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 100%) var(--q-virtual-scroll-item-height, 50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__padding,.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(to left,#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 50px) var(--q-virtual-scroll-item-height, 100%)}.q-ripple{position:absolute;top:0;left:0;width:100%;height:100%;color:inherit;border-radius:inherit;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.q-ripple__inner{position:absolute;top:0;left:0;opacity:0;color:inherit;border-radius:50%;background:currentColor;pointer-events:none;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--invisible,.q-morph--internal{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img,.q-bottom-sheet--grid .q-bottom-sheet__empty-icon{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media(min-width:600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--bottom{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--top-left,.q-notification__badge--bottom-left{left:-22px}.q-notification__badge--top-right,.q-notification__badge--bottom-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--top-left-leave-active,.q-notification--top-leave-active,.q-notification--top-right-leave-active,.q-notification--left-leave-active,.q-notification--center-leave-active,.q-notification--right-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--top-leave-active,.q-notification--center-leave-active{top:0}.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media(min-width:600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration: .3s;--animate-delay: .3s;--animate-repeat: 1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary: #1976d2;--q-secondary: #26a69a;--q-accent: #9c27b0;--q-positive: #21ba45;--q-negative: #c10015;--q-info: #31ccec;--q-warning: #f2c037;--q-dark: #1d1d1d;--q-dark-page: #121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:#0000001f!important}.bg-separator{background:#0000001f!important}.text-dark-separator{color:#ffffff47!important}.bg-dark-separator{background:#ffffff47!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#a0f!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ff0!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.shadow-up-1{box-shadow:0 -1px 3px #0003,0 -1px 1px #00000024,0 -2px 1px -1px #0000001f}.shadow-2{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.shadow-up-2{box-shadow:0 -1px 5px #0003,0 -2px 2px #00000024,0 -3px 1px -2px #0000001f}.shadow-3{box-shadow:0 1px 8px #0003,0 3px 4px #00000024,0 3px 3px -2px #0000001f}.shadow-up-3{box-shadow:0 -1px 8px #0003,0 -3px 4px #00000024,0 -3px 3px -2px #0000001f}.shadow-4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.shadow-up-4{box-shadow:0 -2px 4px -1px #0003,0 -4px 5px #00000024,0 -1px 10px #0000001f}.shadow-5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.shadow-up-5{box-shadow:0 -3px 5px -1px #0003,0 -5px 8px #00000024,0 -1px 14px #0000001f}.shadow-6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.shadow-up-6{box-shadow:0 -3px 5px -1px #0003,0 -6px 10px #00000024,0 -1px 18px #0000001f}.shadow-7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.shadow-up-7{box-shadow:0 -4px 5px -2px #0003,0 -7px 10px 1px #00000024,0 -2px 16px 1px #0000001f}.shadow-8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.shadow-up-8{box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.shadow-9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.shadow-up-9{box-shadow:0 -5px 6px -3px #0003,0 -9px 12px 1px #00000024,0 -3px 16px 2px #0000001f}.shadow-10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.shadow-up-10{box-shadow:0 -6px 6px -3px #0003,0 -10px 14px 1px #00000024,0 -4px 18px 3px #0000001f}.shadow-11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.shadow-up-11{box-shadow:0 -6px 7px -4px #0003,0 -11px 15px 1px #00000024,0 -4px 20px 3px #0000001f}.shadow-12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.shadow-up-12{box-shadow:0 -7px 8px -4px #0003,0 -12px 17px 2px #00000024,0 -5px 22px 4px #0000001f}.shadow-13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.shadow-up-13{box-shadow:0 -7px 8px -4px #0003,0 -13px 19px 2px #00000024,0 -5px 24px 4px #0000001f}.shadow-14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.shadow-up-14{box-shadow:0 -7px 9px -4px #0003,0 -14px 21px 2px #00000024,0 -5px 26px 4px #0000001f}.shadow-15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.shadow-up-15{box-shadow:0 -8px 9px -5px #0003,0 -15px 22px 2px #00000024,0 -6px 28px 5px #0000001f}.shadow-16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.shadow-up-16{box-shadow:0 -8px 10px -5px #0003,0 -16px 24px 2px #00000024,0 -6px 30px 5px #0000001f}.shadow-17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.shadow-up-17{box-shadow:0 -8px 11px -5px #0003,0 -17px 26px 2px #00000024,0 -6px 32px 5px #0000001f}.shadow-18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.shadow-up-18{box-shadow:0 -9px 11px -5px #0003,0 -18px 28px 2px #00000024,0 -7px 34px 6px #0000001f}.shadow-19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.shadow-up-19{box-shadow:0 -9px 12px -6px #0003,0 -19px 29px 2px #00000024,0 -7px 36px 6px #0000001f}.shadow-20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.shadow-up-20{box-shadow:0 -10px 13px -6px #0003,0 -20px 31px 3px #00000024,0 -8px 38px 7px #0000001f}.shadow-21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.shadow-up-21{box-shadow:0 -10px 13px -6px #0003,0 -21px 33px 3px #00000024,0 -8px 40px 7px #0000001f}.shadow-22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.shadow-up-22{box-shadow:0 -10px 14px -6px #0003,0 -22px 35px 3px #00000024,0 -8px 42px 7px #0000001f}.shadow-23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.shadow-up-23{box-shadow:0 -11px 14px -7px #0003,0 -23px 36px 3px #00000024,0 -9px 44px 8px #0000001f}.shadow-24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.shadow-up-24{box-shadow:0 -11px 15px -7px #0003,0 -24px 38px 3px #00000024,0 -9px 46px 8px #0000001f}.inset-shadow{box-shadow:0 7px 9px -7px #000000b3 inset}.inset-shadow-down{box-shadow:0 -7px 9px -7px #000000b3 inset}body.body--dark .shadow-1{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px #fff3,0 -1px 1px #ffffff24,0 -2px 1px -1px #ffffff1f}body.body--dark .shadow-2{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px #fff3,0 -2px 2px #ffffff24,0 -3px 1px -2px #ffffff1f}body.body--dark .shadow-3{box-shadow:0 1px 8px #fff3,0 3px 4px #ffffff24,0 3px 3px -2px #ffffff1f}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px #fff3,0 -3px 4px #ffffff24,0 -3px 3px -2px #ffffff1f}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px #fff3,0 4px 5px #ffffff24,0 1px 10px #ffffff1f}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px #fff3,0 -4px 5px #ffffff24,0 -1px 10px #ffffff1f}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px #fff3,0 5px 8px #ffffff24,0 1px 14px #ffffff1f}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px #fff3,0 -5px 8px #ffffff24,0 -1px 14px #ffffff1f}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px #fff3,0 6px 10px #ffffff24,0 1px 18px #ffffff1f}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px #fff3,0 -6px 10px #ffffff24,0 -1px 18px #ffffff1f}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px #fff3,0 7px 10px 1px #ffffff24,0 2px 16px 1px #ffffff1f}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px #fff3,0 -7px 10px 1px #ffffff24,0 -2px 16px 1px #ffffff1f}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px #fff3,0 8px 10px 1px #ffffff24,0 3px 14px 2px #ffffff1f}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px #fff3,0 -8px 10px 1px #ffffff24,0 -3px 14px 2px #ffffff1f}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px #fff3,0 9px 12px 1px #ffffff24,0 3px 16px 2px #ffffff1f}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px #fff3,0 -9px 12px 1px #ffffff24,0 -3px 16px 2px #ffffff1f}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px #fff3,0 10px 14px 1px #ffffff24,0 4px 18px 3px #ffffff1f}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px #fff3,0 -10px 14px 1px #ffffff24,0 -4px 18px 3px #ffffff1f}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px #fff3,0 11px 15px 1px #ffffff24,0 4px 20px 3px #ffffff1f}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px #fff3,0 -11px 15px 1px #ffffff24,0 -4px 20px 3px #ffffff1f}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px #fff3,0 12px 17px 2px #ffffff24,0 5px 22px 4px #ffffff1f}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px #fff3,0 -12px 17px 2px #ffffff24,0 -5px 22px 4px #ffffff1f}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px #fff3,0 13px 19px 2px #ffffff24,0 5px 24px 4px #ffffff1f}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px #fff3,0 -13px 19px 2px #ffffff24,0 -5px 24px 4px #ffffff1f}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px #fff3,0 14px 21px 2px #ffffff24,0 5px 26px 4px #ffffff1f}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px #fff3,0 -14px 21px 2px #ffffff24,0 -5px 26px 4px #ffffff1f}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px #fff3,0 15px 22px 2px #ffffff24,0 6px 28px 5px #ffffff1f}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px #fff3,0 -15px 22px 2px #ffffff24,0 -6px 28px 5px #ffffff1f}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px #fff3,0 16px 24px 2px #ffffff24,0 6px 30px 5px #ffffff1f}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px #fff3,0 -16px 24px 2px #ffffff24,0 -6px 30px 5px #ffffff1f}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px #fff3,0 17px 26px 2px #ffffff24,0 6px 32px 5px #ffffff1f}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px #fff3,0 -17px 26px 2px #ffffff24,0 -6px 32px 5px #ffffff1f}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px #fff3,0 18px 28px 2px #ffffff24,0 7px 34px 6px #ffffff1f}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px #fff3,0 -18px 28px 2px #ffffff24,0 -7px 34px 6px #ffffff1f}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px #fff3,0 19px 29px 2px #ffffff24,0 7px 36px 6px #ffffff1f}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px #fff3,0 -19px 29px 2px #ffffff24,0 -7px 36px 6px #ffffff1f}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px #fff3,0 20px 31px 3px #ffffff24,0 8px 38px 7px #ffffff1f}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px #fff3,0 -20px 31px 3px #ffffff24,0 -8px 38px 7px #ffffff1f}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px #fff3,0 21px 33px 3px #ffffff24,0 8px 40px 7px #ffffff1f}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px #fff3,0 -21px 33px 3px #ffffff24,0 -8px 40px 7px #ffffff1f}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px #fff3,0 22px 35px 3px #ffffff24,0 8px 42px 7px #ffffff1f}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px #fff3,0 -22px 35px 3px #ffffff24,0 -8px 42px 7px #ffffff1f}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px #fff3,0 23px 36px 3px #ffffff24,0 9px 44px 8px #ffffff1f}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px #fff3,0 -23px 36px 3px #ffffff24,0 -9px 44px 8px #ffffff1f}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px #fff3,0 24px 38px 3px #ffffff24,0 9px 46px 8px #ffffff1f}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px #fff3,0 -24px 38px 3px #ffffff24,0 -9px 46px 8px #ffffff1f}body.body--dark .inset-shadow{box-shadow:0 7px 9px -7px #ffffffb3 inset}body.body--dark .inset-shadow-down{box-shadow:0 -7px 9px -7px #ffffffb3 inset}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.row,.column,.flex{display:flex;flex-wrap:wrap}.row.inline,.column.inline,.flex.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center,.flex-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,.flex-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-x-none,.q-gutter-none{margin-left:0}.q-gutter-x-none>*,.q-gutter-none>*{margin-left:0}.q-gutter-y-none,.q-gutter-none{margin-top:0}.q-gutter-y-none>*,.q-gutter-none>*{margin-top:0}.q-col-gutter-x-none,.q-col-gutter-none{margin-left:0}.q-col-gutter-x-none>*,.q-col-gutter-none>*{padding-left:0}.q-col-gutter-y-none,.q-col-gutter-none{margin-top:0}.q-col-gutter-y-none>*,.q-col-gutter-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-y-xs,.q-gutter-xs{margin-top:-4px}.q-gutter-y-xs>*,.q-gutter-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-y-xs,.q-col-gutter-xs{margin-top:-4px}.q-col-gutter-y-xs>*,.q-col-gutter-xs>*{padding-top:4px}.q-gutter-x-sm,.q-gutter-sm{margin-left:-8px}.q-gutter-x-sm>*,.q-gutter-sm>*{margin-left:8px}.q-gutter-y-sm,.q-gutter-sm{margin-top:-8px}.q-gutter-y-sm>*,.q-gutter-sm>*{margin-top:8px}.q-col-gutter-x-sm,.q-col-gutter-sm{margin-left:-8px}.q-col-gutter-x-sm>*,.q-col-gutter-sm>*{padding-left:8px}.q-col-gutter-y-sm,.q-col-gutter-sm{margin-top:-8px}.q-col-gutter-y-sm>*,.q-col-gutter-sm>*{padding-top:8px}.q-gutter-x-md,.q-gutter-md{margin-left:-16px}.q-gutter-x-md>*,.q-gutter-md>*{margin-left:16px}.q-gutter-y-md,.q-gutter-md{margin-top:-16px}.q-gutter-y-md>*,.q-gutter-md>*{margin-top:16px}.q-col-gutter-x-md,.q-col-gutter-md{margin-left:-16px}.q-col-gutter-x-md>*,.q-col-gutter-md>*{padding-left:16px}.q-col-gutter-y-md,.q-col-gutter-md{margin-top:-16px}.q-col-gutter-y-md>*,.q-col-gutter-md>*{padding-top:16px}.q-gutter-x-lg,.q-gutter-lg{margin-left:-24px}.q-gutter-x-lg>*,.q-gutter-lg>*{margin-left:24px}.q-gutter-y-lg,.q-gutter-lg{margin-top:-24px}.q-gutter-y-lg>*,.q-gutter-lg>*{margin-top:24px}.q-col-gutter-x-lg,.q-col-gutter-lg{margin-left:-24px}.q-col-gutter-x-lg>*,.q-col-gutter-lg>*{padding-left:24px}.q-col-gutter-y-lg,.q-col-gutter-lg{margin-top:-24px}.q-col-gutter-y-lg>*,.q-col-gutter-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-y-xl,.q-gutter-xl{margin-top:-48px}.q-gutter-y-xl>*,.q-gutter-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-y-xl,.q-col-gutter-xl{margin-top:-48px}.q-col-gutter-y-xl>*,.q-col-gutter-xl>*{padding-top:48px}@media(min-width:0){.row>.col,.flex>.col,.row>.col-auto,.flex>.col-auto,.row>.col-grow,.flex>.col-grow,.row>.col-shrink,.flex>.col-shrink,.row>.col-xs,.flex>.col-xs,.row>.col-xs-auto,.row>.col-12,.row>.col-xs-12,.row>.col-11,.row>.col-xs-11,.row>.col-10,.row>.col-xs-10,.row>.col-9,.row>.col-xs-9,.row>.col-8,.row>.col-xs-8,.row>.col-7,.row>.col-xs-7,.row>.col-6,.row>.col-xs-6,.row>.col-5,.row>.col-xs-5,.row>.col-4,.row>.col-xs-4,.row>.col-3,.row>.col-xs-3,.row>.col-2,.row>.col-xs-2,.row>.col-1,.row>.col-xs-1,.row>.col-0,.row>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.row>.col-xs-grow,.flex>.col-xs-grow,.row>.col-xs-shrink,.flex>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.flex>.col,.column>.col-auto,.flex>.col-auto,.column>.col-grow,.flex>.col-grow,.column>.col-shrink,.flex>.col-shrink,.column>.col-xs,.flex>.col-xs,.column>.col-xs-auto,.column>.col-12,.column>.col-xs-12,.column>.col-11,.column>.col-xs-11,.column>.col-10,.column>.col-xs-10,.column>.col-9,.column>.col-xs-9,.column>.col-8,.column>.col-xs-8,.column>.col-7,.column>.col-xs-7,.column>.col-6,.column>.col-xs-6,.column>.col-5,.column>.col-xs-5,.column>.col-4,.column>.col-xs-4,.column>.col-3,.column>.col-xs-3,.column>.col-2,.column>.col-xs-2,.column>.col-1,.column>.col-xs-1,.column>.col-0,.column>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.column>.col-xs-grow,.flex>.col-xs-grow,.column>.col-xs-shrink,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-auto,.col-xs-auto,.col-12,.col-xs-12,.col-11,.col-xs-11,.col-10,.col-xs-10,.col-9,.col-xs-9,.col-8,.col-xs-8,.col-7,.col-xs-7,.col-6,.col-xs-6,.col-5,.col-xs-5,.col-4,.col-xs-4,.col-3,.col-xs-3,.col-2,.col-xs-2,.col-1,.col-xs-1,.col-0,.col-xs-0{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0%}.row>.offset-0,.row>.offset-xs-0{margin-left:0%}.column>.col-0,.column>.col-xs-0{height:0%;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media(min-width:600px){.row>.col-sm,.flex>.col-sm,.row>.col-sm-auto,.row>.col-sm-12,.row>.col-sm-11,.row>.col-sm-10,.row>.col-sm-9,.row>.col-sm-8,.row>.col-sm-7,.row>.col-sm-6,.row>.col-sm-5,.row>.col-sm-4,.row>.col-sm-3,.row>.col-sm-2,.row>.col-sm-1,.row>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.row>.col-sm-grow,.flex>.col-sm-grow,.row>.col-sm-shrink,.flex>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.flex>.col-sm,.column>.col-sm-auto,.column>.col-sm-12,.column>.col-sm-11,.column>.col-sm-10,.column>.col-sm-9,.column>.col-sm-8,.column>.col-sm-7,.column>.col-sm-6,.column>.col-sm-5,.column>.col-sm-4,.column>.col-sm-3,.column>.col-sm-2,.column>.col-sm-1,.column>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.column>.col-sm-grow,.flex>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col-sm-0{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0%}.row>.offset-sm-0{margin-left:0%}.column>.col-sm-0{height:0%;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media(min-width:1024px){.row>.col-md,.flex>.col-md,.row>.col-md-auto,.row>.col-md-12,.row>.col-md-11,.row>.col-md-10,.row>.col-md-9,.row>.col-md-8,.row>.col-md-7,.row>.col-md-6,.row>.col-md-5,.row>.col-md-4,.row>.col-md-3,.row>.col-md-2,.row>.col-md-1,.row>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.row>.col-md-grow,.flex>.col-md-grow,.row>.col-md-shrink,.flex>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.flex>.col-md,.column>.col-md-auto,.column>.col-md-12,.column>.col-md-11,.column>.col-md-10,.column>.col-md-9,.column>.col-md-8,.column>.col-md-7,.column>.col-md-6,.column>.col-md-5,.column>.col-md-4,.column>.col-md-3,.column>.col-md-2,.column>.col-md-1,.column>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.column>.col-md-grow,.flex>.col-md-grow,.column>.col-md-shrink,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-md-0{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0%}.row>.offset-md-0{margin-left:0%}.column>.col-md-0{height:0%;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media(min-width:1440px){.row>.col-lg,.flex>.col-lg,.row>.col-lg-auto,.row>.col-lg-12,.row>.col-lg-11,.row>.col-lg-10,.row>.col-lg-9,.row>.col-lg-8,.row>.col-lg-7,.row>.col-lg-6,.row>.col-lg-5,.row>.col-lg-4,.row>.col-lg-3,.row>.col-lg-2,.row>.col-lg-1,.row>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.row>.col-lg-grow,.flex>.col-lg-grow,.row>.col-lg-shrink,.flex>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.flex>.col-lg,.column>.col-lg-auto,.column>.col-lg-12,.column>.col-lg-11,.column>.col-lg-10,.column>.col-lg-9,.column>.col-lg-8,.column>.col-lg-7,.column>.col-lg-6,.column>.col-lg-5,.column>.col-lg-4,.column>.col-lg-3,.column>.col-lg-2,.column>.col-lg-1,.column>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.column>.col-lg-grow,.flex>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-lg-0{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0%}.row>.offset-lg-0{margin-left:0%}.column>.col-lg-0{height:0%;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media(min-width:1920px){.row>.col-xl,.flex>.col-xl,.row>.col-xl-auto,.row>.col-xl-12,.row>.col-xl-11,.row>.col-xl-10,.row>.col-xl-9,.row>.col-xl-8,.row>.col-xl-7,.row>.col-xl-6,.row>.col-xl-5,.row>.col-xl-4,.row>.col-xl-3,.row>.col-xl-2,.row>.col-xl-1,.row>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.row>.col-xl-grow,.flex>.col-xl-grow,.row>.col-xl-shrink,.flex>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.flex>.col-xl,.column>.col-xl-auto,.column>.col-xl-12,.column>.col-xl-11,.column>.col-xl-10,.column>.col-xl-9,.column>.col-xl-8,.column>.col-xl-7,.column>.col-xl-6,.column>.col-xl-5,.column>.col-xl-4,.column>.col-xl-3,.column>.col-xl-2,.column>.col-xl-1,.column>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.column>.col-xl-grow,.flex>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-xl-0{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0%}.row>.offset-xl-0{margin-left:0%}.column>.col-xl-0{height:0%;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-outer-spin-button,.q-no-input-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-full,.fullscreen,.fixed-center,.fixed-bottom,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fixed-bottom-left,.fixed-bottom-right{position:fixed}.absolute,.absolute-full,.absolute-center,.absolute-bottom,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right,.absolute-bottom-left,.absolute-bottom-right{position:absolute}.fixed-top,.absolute-top{top:0;left:0;right:0}.fixed-right,.absolute-right{top:0;right:0;bottom:0}.fixed-bottom,.absolute-bottom{right:0;bottom:0;left:0}.fixed-left,.absolute-left{top:0;bottom:0;left:0}.fixed-top-left,.absolute-top-left{top:0;left:0}.fixed-top-right,.absolute-top-right{top:0;right:0}.fixed-bottom-left,.absolute-bottom-left{bottom:0;left:0}.fixed-bottom-right,.absolute-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fullscreen,.fixed-full{top:0;right:0;bottom:0;left:0}.fixed-center,.absolute-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top, 0)!important;margin-left:var(--q-pe-left, 0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs: 0;--q-size-sm: 600px;--q-size-md: 1024px;--q-size-lg: 1440px;--q-size-xl: 1920px}.fit{width:100%!important;height:100%!important}.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto{margin-right:auto}.q-mx-auto{margin-left:auto;margin-right:auto}.q-touch{-webkit-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration: .3s}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active{--q-transition-duration: .3s;--q-transition-easing: cubic-bezier(.215,.61,.355,1)}.q-transition--slide-right-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-leave-active,.q-transition--fade-leave-active,.q-transition--scale-leave-active,.q-transition--rotate-leave-active,.q-transition--flip-leave-active{position:absolute}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-right-leave-to,.q-transition--slide-left-enter-from{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-up-leave-to,.q-transition--slide-down-enter-from{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translate(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate3d(0,0,1,90deg)}.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active,.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from,.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from{transform:perspective(400px) rotate3d(1,1,0,0)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-right-leave-to,.q-transition--flip-left-enter-from{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-up-leave-to,.q-transition--flip-down-enter-from{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:#0006!important}.light-dimmed:after{background:#fff9!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body:not(.desktop) .desktop-only,body.desktop .desktop-hide{display:none!important}body:not(.mobile) .mobile-only,body.mobile .mobile-hide{display:none!important}body:not(.native-mobile) .native-mobile-only,body.native-mobile .native-mobile-hide{display:none!important}body:not(.cordova) .cordova-only,body.cordova .cordova-hide{display:none!important}body:not(.capacitor) .capacitor-only,body.capacitor .capacitor-hide{display:none!important}body:not(.electron) .electron-only,body.electron .electron-hide{display:none!important}body:not(.touch) .touch-only,body.touch .touch-hide{display:none!important}body:not(.within-iframe) .within-iframe-only,body.within-iframe .within-iframe-hide{display:none!important}body:not(.platform-ios) .platform-ios-only,body.platform-ios .platform-ios-hide{display:none!important}body:not(.platform-android) .platform-android-only,body.platform-android .platform-android-hide{display:none!important}@media all and (orientation:portrait){.orientation-landscape{display:none!important}}@media all and (orientation:landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media(max-width:599.98px){.xs-hide,.gt-xs,.sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:600px)and (max-width:1023.98px){.sm-hide,.xs,.lt-sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1024px)and (max-width:1439.98px){.md-hide,.xs,.lt-sm,.sm,.lt-md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1440px)and (max-width:1919.98px){.lg-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.gt-lg,.xl{display:none!important}}@media(min-width:1920px){.xl-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.lg,.lt-xl{display:none!important}}.q-focus-helper,.q-focusable,.q-manual-focusable,.q-hoverable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before,body.desktop .q-focus-helper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)} +@charset "UTF-8";@font-face{font-family:Roboto;font-style:normal;font-weight:100;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbFmUiAw-yBxCyPWP.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabVmUiAw-CNa4tw4G.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAw-3fZ6d7DD.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bVmUiAw-CHKg1YId.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjalmUiAw-BepdiOnY.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:900;font-stretch:normal;src:url(/assets/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtalmUiAw-4ZhHFPot.woff) format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-D-x-0Q06.woff2) format("woff2"),url(/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}*,*:before,*:after{box-sizing:inherit;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}html,body,#q-app{width:100%;direction:ltr}body.platform-ios.within-iframe,body.platform-ios.within-iframe #q-app{width:100px;min-width:100%}html,body{margin:0;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}img{border-style:none}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;font-family:inherit;margin:0}optgroup{font-weight:700}button,input,select{overflow:visible;text-transform:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.q-icon{line-height:1;width:1em;height:1em;flex-shrink:0;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;text-align:center;position:relative;box-sizing:content-box;fill:currentColor}.q-icon:before,.q-icon:after{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center}.q-icon>svg,.q-icon>img{width:100%;height:100%}.q-icon>div{box-sizing:border-box}.q-icon,.material-icons,.material-icons-outlined,.material-icons-round,.material-icons-sharp,.material-symbols-outlined,.material-symbols-rounded,.material-symbols-sharp{-webkit-user-select:none;user-select:none;cursor:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.q-panel{height:100%;width:100%}.q-panel>div{height:100%;width:100%}.q-panel-parent{overflow:hidden;position:relative}.q-loading-bar{position:fixed;z-index:9998;transition:transform .5s cubic-bezier(0,0,.2,1),opacity .5s;background:#f44336}.q-loading-bar--top{left:0;right:0;top:0;width:100%}.q-loading-bar--bottom{left:0;right:0;bottom:0;width:100%}.q-loading-bar--right{top:0;bottom:0;right:0;height:100%}.q-loading-bar--left{top:0;bottom:0;left:0;height:100%}.q-avatar{position:relative;vertical-align:middle;display:inline-block;border-radius:50%;font-size:48px;height:1em;width:1em}.q-avatar__content{font-size:.5em;line-height:.5em}.q-avatar__content,.q-avatar img:not(.q-icon):not(.q-img__image){border-radius:inherit;height:inherit;width:inherit}.q-avatar--square{border-radius:0}.q-badge{background-color:var(--q-primary);color:#fff;padding:2px 6px;border-radius:4px;font-size:12px;line-height:1;min-height:12px;font-weight:400;vertical-align:baseline}.q-badge--single-line{white-space:nowrap}.q-badge--multi-line{word-break:break-all;word-wrap:break-word}.q-badge--floating{position:absolute;top:-4px;right:-3px;cursor:inherit}.q-badge--transparent{opacity:.8}.q-badge--outline{background-color:transparent;border:1px solid currentColor}.q-badge--rounded{border-radius:1em}.q-banner{min-height:54px;padding:8px 16px;background:#fff}.q-banner--top-padding{padding-top:14px}.q-banner__avatar{min-width:1px!important}.q-banner__avatar>.q-avatar{font-size:46px}.q-banner__avatar>.q-icon{font-size:40px}.q-banner__avatar:not(:empty)+.q-banner__content{padding-left:16px}.q-banner__actions.col-auto{padding-left:16px}.q-banner__actions.col-all .q-btn-item{margin:4px 0 0 4px}.q-banner--dense{min-height:32px;padding:8px}.q-banner--dense.q-banner--top-padding{padding-top:12px}.q-banner--dense .q-banner__avatar>.q-avatar,.q-banner--dense .q-banner__avatar>.q-icon{font-size:28px}.q-banner--dense .q-banner__avatar:not(:empty)+.q-banner__content{padding-left:8px}.q-banner--dense .q-banner__actions.col-auto{padding-left:8px}.q-bar{background:#0003}.q-bar>.q-icon{margin-left:2px}.q-bar>div,.q-bar>div+.q-icon{margin-left:8px}.q-bar>.q-btn{margin-left:2px}.q-bar>.q-icon:first-child,.q-bar>.q-btn:first-child,.q-bar>div:first-child{margin-left:0}.q-bar--standard{padding:0 12px;height:32px;font-size:18px}.q-bar--standard>div{font-size:16px}.q-bar--standard .q-btn{font-size:11px}.q-bar--dense{padding:0 8px;height:24px;font-size:14px}.q-bar--dense .q-btn{font-size:8px}.q-bar--dark{background:#ffffff26}.q-breadcrumbs__el{color:inherit}.q-breadcrumbs__el-icon{font-size:125%}.q-breadcrumbs__el-icon--with-label{margin-right:8px}[dir=rtl] .q-breadcrumbs__separator .q-icon{transform:scaleX(-1)}.q-btn{display:inline-flex;flex-direction:column;align-items:stretch;position:relative;outline:0;border:0;vertical-align:middle;font-size:14px;line-height:1.715em;text-decoration:none;color:inherit;background:transparent;font-weight:500;text-transform:uppercase;text-align:center;width:auto;height:auto;cursor:default;padding:4px 16px;min-height:2.572em}.q-btn .q-icon,.q-btn .q-spinner{font-size:1.715em}.q-btn.disabled{opacity:.7!important}.q-btn:before{content:"";display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:inherit;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-btn--actionable{cursor:pointer}.q-btn--actionable.q-btn--standard:before{transition:box-shadow .3s cubic-bezier(.25,.8,.5,1)}.q-btn--actionable.q-btn--standard:active:before,.q-btn--actionable.q-btn--standard.q-btn--active:before{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.q-btn--no-uppercase{text-transform:none}.q-btn--rectangle{border-radius:3px}.q-btn--outline{background:transparent!important}.q-btn--outline:before{border:1px solid currentColor}.q-btn--push{border-radius:7px}.q-btn--push:before{border-bottom:3px solid rgba(0,0,0,.15)}.q-btn--push.q-btn--actionable{transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:before{transition:border-width .3s cubic-bezier(.25,.8,.5,1)}.q-btn--push.q-btn--actionable:active,.q-btn--push.q-btn--actionable.q-btn--active{transform:translateY(2px)}.q-btn--push.q-btn--actionable:active:before,.q-btn--push.q-btn--actionable.q-btn--active:before{border-bottom-width:0}.q-btn--rounded{border-radius:28px}.q-btn--round{border-radius:50%;padding:0;min-width:3em;min-height:3em}.q-btn--square{border-radius:0}.q-btn--flat:before,.q-btn--outline:before,.q-btn--unelevated:before{box-shadow:none}.q-btn--dense{padding:.285em;min-height:2em}.q-btn--dense.q-btn--round{padding:0;min-height:2.4em;min-width:2.4em}.q-btn--dense .on-left{margin-right:6px}.q-btn--dense .on-right{margin-left:6px}.q-btn--fab .q-icon,.q-btn--fab-mini .q-icon{font-size:24px}.q-btn--fab{padding:16px;min-height:56px;min-width:56px}.q-btn--fab .q-icon{margin:auto}.q-btn--fab-mini{padding:8px;min-height:40px;min-width:40px}.q-btn__content{transition:opacity .3s;z-index:0}.q-btn__content--hidden{opacity:0;pointer-events:none}.q-btn__progress{border-radius:inherit;z-index:0}.q-btn__progress-indicator{z-index:-1;transform:translate(-100%);background:#ffffff40}.q-btn__progress--dark .q-btn__progress-indicator{background:#0003}.q-btn--flat .q-btn__progress-indicator,.q-btn--outline .q-btn__progress-indicator{opacity:.2;background:currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container{padding:0 4px}.q-btn-dropdown--split .q-btn-dropdown__arrow-container.q-btn--outline{border-left:1px solid currentColor}.q-btn-dropdown--split .q-btn-dropdown__arrow-container:not(.q-btn--outline){border-left:1px solid rgba(255,255,255,.3)}.q-btn-dropdown--simple *+.q-btn-dropdown__arrow{margin-left:8px}.q-btn-dropdown__arrow{transition:transform .28s}.q-btn-dropdown--current{flex-grow:1}.q-btn-group{border-radius:3px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;vertical-align:middle}.q-btn-group>.q-btn-item{border-radius:inherit;align-self:stretch}.q-btn-group>.q-btn-item:before{box-shadow:none}.q-btn-group>.q-btn-item .q-badge--floating{right:0}.q-btn-group>.q-btn-group{box-shadow:none}.q-btn-group>.q-btn-group:first-child>.q-btn:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-btn-group>.q-btn-group:last-child>.q-btn:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-btn-group>.q-btn-group:not(:first-child)>.q-btn:first-child:before{border-left:0}.q-btn-group>.q-btn-group:not(:last-child)>.q-btn:last-child:before{border-right:0}.q-btn-group>.q-btn-item:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.q-btn-group>.q-btn-item:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.q-btn-group>.q-btn-item.q-btn--standard:before{z-index:-1}.q-btn-group--push{border-radius:7px}.q-btn-group--push>.q-btn--push.q-btn--actionable{transform:none}.q-btn-group--push>.q-btn--push.q-btn--actionable .q-btn__content{transition:margin-top .3s cubic-bezier(.25,.8,.5,1),margin-bottom .3s cubic-bezier(.25,.8,.5,1)}.q-btn-group--push>.q-btn--push.q-btn--actionable:active .q-btn__content,.q-btn-group--push>.q-btn--push.q-btn--actionable.q-btn--active .q-btn__content{margin-top:2px;margin-bottom:-2px}.q-btn-group--rounded{border-radius:28px}.q-btn-group--square{border-radius:0}.q-btn-group--flat,.q-btn-group--outline,.q-btn-group--unelevated{box-shadow:none}.q-btn-group--outline>.q-separator{display:none}.q-btn-group--outline>.q-btn-item+.q-btn-item:before{border-left:0}.q-btn-group--outline>.q-btn-item:not(:last-child):before{border-right:0}.q-btn-group--stretch{align-self:stretch;border-radius:0}.q-btn-group--glossy>.q-btn-item{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-btn-group--spread>.q-btn-group{display:flex!important}.q-btn-group--spread>.q-btn-item,.q-btn-group--spread>.q-btn-group>.q-btn-item:not(.q-btn-dropdown__arrow-container){width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-btn-toggle{position:relative}.q-card{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative}.q-card>div:not(.q--avoid-card-border),.q-card>img:not(.q--avoid-card-border){border-radius:0}.q-card>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-child(1 of:not(.q--avoid-card-border)){border-top:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-card>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-bottom:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-card>div:not(.q--avoid-card-border){border-left:0;border-right:0;box-shadow:none}.q-card--bordered{border:1px solid rgba(0,0,0,.12)}.q-card--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-card__section{position:relative}.q-card__section--vert{padding:16px}.q-card__section--horiz>div:not(.q--avoid-card-border),.q-card__section--horiz>img:not(.q--avoid-card-border){border-radius:0}.q-card__section--horiz>div:nth-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-child(1 of:not(.q--avoid-card-border)){border-top-left-radius:inherit;border-bottom-left-radius:inherit}.q-card__section--horiz>div:nth-last-child(1 of:not(.q--avoid-card-border)),.q-card__section--horiz>img:nth-last-child(1 of:not(.q--avoid-card-border)){border-top-right-radius:inherit;border-bottom-right-radius:inherit}.q-card__section--horiz>div:not(.q--avoid-card-border){border-top:0;border-bottom:0;box-shadow:none}.q-card__actions{padding:8px;align-items:center}.q-card__actions .q-btn--rectangle{padding:0 8px}.q-card__actions--horiz>.q-btn-item+.q-btn-item,.q-card__actions--horiz>.q-btn-group+.q-btn-item,.q-card__actions--horiz>.q-btn-item+.q-btn-group{margin-left:8px}.q-card__actions--vert>.q-btn-item.q-btn--round{align-self:center}.q-card__actions--vert>.q-btn-item+.q-btn-item,.q-card__actions--vert>.q-btn-group+.q-btn-item,.q-card__actions--vert>.q-btn-item+.q-btn-group{margin-top:4px}.q-card__actions--vert>.q-btn-group>.q-btn-item{flex-grow:1}.q-card>img{display:block;width:100%;max-width:100%;border:0}.q-carousel{background-color:#fff;height:400px}.q-carousel__slide{min-height:100%;background-size:cover;background-position:50%}.q-carousel__slide,.q-carousel .q-carousel--padding{padding:16px}.q-carousel__slides-container{height:100%}.q-carousel__control{color:#fff}.q-carousel__arrow{pointer-events:none}.q-carousel__arrow .q-icon{font-size:28px}.q-carousel__arrow .q-btn{pointer-events:all}.q-carousel__prev-arrow--horizontal,.q-carousel__next-arrow--horizontal{top:16px;bottom:16px}.q-carousel__prev-arrow--horizontal{left:16px}.q-carousel__next-arrow--horizontal{right:16px}.q-carousel__prev-arrow--vertical,.q-carousel__next-arrow--vertical{left:16px;right:16px}.q-carousel__prev-arrow--vertical{top:16px}.q-carousel__next-arrow--vertical{bottom:16px}.q-carousel__navigation--top,.q-carousel__navigation--bottom{left:16px;right:16px;overflow-x:auto;overflow-y:hidden}.q-carousel__navigation--top{top:16px}.q-carousel__navigation--bottom{bottom:16px}.q-carousel__navigation--left,.q-carousel__navigation--right{top:16px;bottom:16px;overflow-x:hidden;overflow-y:auto}.q-carousel__navigation--left>.q-carousel__navigation-inner,.q-carousel__navigation--right>.q-carousel__navigation-inner{flex-direction:column}.q-carousel__navigation--left{left:16px}.q-carousel__navigation--right{right:16px}.q-carousel__navigation-inner{flex:1 1 auto}.q-carousel__navigation .q-btn{margin:6px 4px;padding:5px}.q-carousel__navigation-icon--inactive{opacity:.7}.q-carousel .q-carousel__thumbnail{margin:2px;height:50px;width:auto;display:inline-block;cursor:pointer;border:1px solid transparent;border-radius:4px;vertical-align:middle;opacity:.7;transition:opacity .3s}.q-carousel .q-carousel__thumbnail:hover,.q-carousel .q-carousel__thumbnail--active{opacity:1}.q-carousel .q-carousel__thumbnail--active{border-color:currentColor;cursor:default}.q-carousel--navigation-top.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-top .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-top:60px}.q-carousel--navigation-bottom.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-bottom .q-carousel--padding,.q-carousel--arrows-vertical.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-vertical .q-carousel--padding{padding-bottom:60px}.q-carousel--navigation-left.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-left .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-left:60px}.q-carousel--navigation-right.q-carousel--with-padding .q-carousel__slide,.q-carousel--navigation-right .q-carousel--padding,.q-carousel--arrows-horizontal.q-carousel--with-padding .q-carousel__slide,.q-carousel--arrows-horizontal .q-carousel--padding{padding-right:60px}.q-carousel.fullscreen{height:100%}.q-message-name{font-size:small}.q-message-label{margin:24px 0;text-align:center;font-size:small}.q-message-stamp{color:inherit;margin-top:4px;opacity:.6;display:none;font-size:small}.q-message-avatar{border-radius:50%;width:48px;height:48px;min-width:48px}.q-message{margin-bottom:8px}.q-message:first-child .q-message-label{margin-top:0}.q-message-avatar--received{margin-right:8px}.q-message-text--received{color:#81c784;border-radius:4px 4px 4px 0}.q-message-text--received:last-child:before{right:100%;border-right:0 solid transparent;border-left:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--received{color:#000}.q-message-name--sent{text-align:right}.q-message-avatar--sent{margin-left:8px}.q-message-container--sent{flex-direction:row-reverse}.q-message-text--sent{color:#e0e0e0;border-radius:4px 4px 0}.q-message-text--sent:last-child:before{left:100%;border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid currentColor}.q-message-text-content--sent{color:#000}.q-message-text{background:currentColor;padding:8px;line-height:1.2;word-break:break-word;position:relative}.q-message-text+.q-message-text{margin-top:3px}.q-message-text:last-child{min-height:48px}.q-message-text:last-child .q-message-stamp{display:block}.q-message-text:last-child:before{content:"";position:absolute;bottom:0;width:0;height:0}.q-checkbox{vertical-align:middle}.q-checkbox__native{width:1px;height:1px}.q-checkbox__bg,.q-checkbox__icon-container{-webkit-user-select:none;user-select:none}.q-checkbox__bg{top:25%;left:25%;width:50%;height:50%;border:2px solid currentColor;border-radius:2px;transition:background .22s cubic-bezier(0,0,.2,1) 0ms;-webkit-print-color-adjust:exact}.q-checkbox__icon{color:currentColor;font-size:.5em}.q-checkbox__svg{color:#fff}.q-checkbox__truthy{stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.78334;stroke-dasharray:29.78334}.q-checkbox__indet{fill:currentColor;transform-origin:50% 50%;transform:rotate(-280deg) scale(0)}.q-checkbox__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-checkbox__inner--truthy,.q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox__inner--truthy .q-checkbox__bg,.q-checkbox__inner--indet .q-checkbox__bg{background:currentColor}.q-checkbox__inner--truthy path{stroke-dashoffset:0;transition:stroke-dashoffset .18s cubic-bezier(.4,0,.6,1) 0ms}.q-checkbox__inner--indet .q-checkbox__indet{transform:rotate(0) scale(1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-checkbox.disabled{opacity:.75!important}.q-checkbox--dark .q-checkbox__inner{color:#ffffffb3}.q-checkbox--dark .q-checkbox__inner:before{opacity:.32!important}.q-checkbox--dark .q-checkbox__inner--truthy,.q-checkbox--dark .q-checkbox__inner--indet{color:var(--q-primary)}.q-checkbox--dense .q-checkbox__inner{width:.5em;min-width:.5em;height:.5em}.q-checkbox--dense .q-checkbox__bg{left:5%;top:5%;width:90%;height:90%}.q-checkbox--dense .q-checkbox__label{padding-left:.5em}.q-checkbox--dense.reverse .q-checkbox__label{padding-left:0;padding-right:.5em}body.desktop .q-checkbox:not(.disabled) .q-checkbox__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-checkbox:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox:not(.disabled):hover .q-checkbox__inner:before{transform:scaleZ(1)}body.desktop .q-checkbox--dense:not(.disabled):focus .q-checkbox__inner:before,body.desktop .q-checkbox--dense:not(.disabled):hover .q-checkbox__inner:before{transform:scale3d(1.4,1.4,1)}.q-chip{vertical-align:middle;border-radius:16px;outline:0;position:relative;height:2em;max-width:100%;margin:4px;background:#e0e0e0;color:#000000de;font-size:14px;padding:.5em .9em}.q-chip--colored .q-chip__icon,.q-chip--dark .q-chip__icon{color:inherit}.q-chip .q-avatar{font-size:2em;margin-left:-.45em;margin-right:.2em;border-radius:16px}.q-chip--outline{background:transparent!important;border:1px solid currentColor}.q-chip--outline .q-avatar{margin-left:calc(-.45em - 1px)}.q-chip--selected .q-avatar{display:none}.q-chip__icon{color:#0000008a;font-size:1.5em;margin:-.2em}.q-chip__icon--left{margin-right:.2em}.q-chip__icon--right{margin-left:.2em}.q-chip__icon--remove{margin-left:.1em;margin-right:-.5em;opacity:.6;outline:0}.q-chip__icon--remove:hover,.q-chip__icon--remove:focus{opacity:1}.q-chip__content{white-space:nowrap}.q-chip--dense{border-radius:12px;padding:0 .4em;height:1.5em}.q-chip--dense .q-avatar{font-size:1.5em;margin-left:-.27em;margin-right:.1em;border-radius:12px}.q-chip--dense .q-chip__icon{font-size:1.25em}.q-chip--dense .q-chip__icon--left{margin-right:.195em}.q-chip--dense .q-chip__icon--remove{margin-right:-.25em}.q-chip--square{border-radius:4px}.q-chip--square .q-avatar{border-radius:3px 0 0 3px}body.desktop .q-chip--clickable:focus{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}body.desktop.body--dark .q-chip--clickable:focus{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}.q-circular-progress{display:inline-block;position:relative;vertical-align:middle;width:1em;height:1em;line-height:1}.q-circular-progress.q-focusable{border-radius:50%}.q-circular-progress__svg{width:100%;height:100%}.q-circular-progress__text{font-size:.25em}.q-circular-progress--indeterminate .q-circular-progress__svg{transform-origin:50% 50%;animation:q-spin 2s linear infinite}.q-circular-progress--indeterminate .q-circular-progress__circle{stroke-dasharray:1 400;stroke-dashoffset:0;animation:q-circular-progress-circle 1.5s ease-in-out infinite}@keyframes q-circular-progress-circle{0%{stroke-dasharray:1,400;stroke-dashoffset:0}50%{stroke-dasharray:400,400;stroke-dashoffset:-100}to{stroke-dasharray:400,400;stroke-dashoffset:-300}}.q-color-picker{overflow:hidden;background:#fff;max-width:350px;vertical-align:top;min-width:180px;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-color-picker .q-tab{padding:0!important}.q-color-picker--bordered{border:1px solid rgba(0,0,0,.12)}.q-color-picker__header-tabs{height:32px}.q-color-picker__header input{line-height:24px;border:0}.q-color-picker__header .q-tab{min-height:32px!important;height:32px!important}.q-color-picker__header .q-tab--inactive{background:linear-gradient(to top,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__error-icon{bottom:2px;right:2px;font-size:24px;opacity:0;transition:opacity .3s ease-in}.q-color-picker__header-content{position:relative;background:#fff}.q-color-picker__header-content--light{color:#000}.q-color-picker__header-content--dark{color:#fff}.q-color-picker__header-content--dark .q-tab--inactive:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3}.q-color-picker__header-banner{height:36px}.q-color-picker__header-bg{background:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==)!important}.q-color-picker__footer{height:36px}.q-color-picker__footer .q-tab{min-height:36px!important;height:36px!important}.q-color-picker__footer .q-tab--inactive{background:linear-gradient(to bottom,#0000004d,#00000026 25%,#0000001a)}.q-color-picker__spectrum{width:100%;height:100%}.q-color-picker__spectrum-tab{padding:0!important}.q-color-picker__spectrum-white{background:linear-gradient(to right,#fff,#fff0)}.q-color-picker__spectrum-black{background:linear-gradient(to top,#000,#0000)}.q-color-picker__spectrum-circle{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006;border-radius:50%;transform:translate(-5px,-5px)}.q-color-picker__hue .q-slider__track{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)!important;opacity:1}.q-color-picker__alpha .q-slider__track-container{padding-top:0}.q-color-picker__alpha .q-slider__track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,#fff0,#757575)}.q-color-picker__sliders{padding:0 16px}.q-color-picker__sliders .q-slider__thumb{color:#424242}.q-color-picker__sliders .q-slider__thumb path{stroke-width:2px;fill:transparent}.q-color-picker__sliders .q-slider--active path{stroke-width:3px}.q-color-picker__tune-tab .q-slider{margin-left:18px;margin-right:18px}.q-color-picker__tune-tab input{font-size:11px;border:1px solid #e0e0e0;border-radius:4px;width:3.5em}.q-color-picker__palette-tab{padding:0!important}.q-color-picker__palette-rows--editable .q-color-picker__cube{cursor:pointer}.q-color-picker__cube{padding-bottom:10%;width:10%!important}.q-color-picker input{color:inherit;background:transparent;outline:0;text-align:center}.q-color-picker .q-tabs{overflow:hidden}.q-color-picker .q-tab--active{box-shadow:0 0 14px 3px #0003}.q-color-picker .q-tab--active .q-focus-helper,.q-color-picker .q-tab__indicator{display:none}.q-color-picker .q-tab-panels{background:inherit}.q-color-picker--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-color-picker--dark .q-color-picker__tune-tab input{border:1px solid rgba(255,255,255,.3)}.q-color-picker--dark .q-slider__thumb{color:#fafafa}.q-date{display:inline-flex;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;width:290px;min-width:290px;max-width:100%}.q-date--bordered{border:1px solid rgba(0,0,0,.12)}.q-date__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px}.q-date__actions{padding:0 16px 16px}.q-date__content,.q-date__main{outline:0}.q-date__content .q-btn{font-weight:400}.q-date__header-link{opacity:.64;outline:0;transition:opacity .3s ease-out}.q-date__header-link--active,.q-date__header-link:hover,.q-date__header-link:focus{opacity:1}.q-date__header-subtitle{font-size:14px;line-height:1.75;letter-spacing:.00938em}.q-date__header-title-label{font-size:24px;line-height:1.2;letter-spacing:.00735em}.q-date__view{height:100%;width:100%;min-height:290px;padding:16px}.q-date__navigation{height:12.5%}.q-date__navigation>div:first-child{width:8%;min-width:24px;justify-content:flex-end}.q-date__navigation>div:last-child{width:8%;min-width:24px;justify-content:flex-start}.q-date__calendar-weekdays{height:12.5%}.q-date__calendar-weekdays>div{opacity:.38;font-size:12px}.q-date__calendar-item{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:14.285%!important;height:12.5%!important;position:relative;padding:1px}.q-date__calendar-item:after{content:"";position:absolute;pointer-events:none;top:1px;right:0;bottom:1px;left:0;border-style:dashed;border-color:transparent;border-width:1px}.q-date__calendar-item>div,.q-date__calendar-item button{width:30px;height:30px;border-radius:50%}.q-date__calendar-item>div{line-height:30px;text-align:center}.q-date__calendar-item>button{line-height:22px}.q-date__calendar-item--out{opacity:.18}.q-date__calendar-item--fill{visibility:hidden}.q-date__range:before,.q-date__range-from:before,.q-date__range-to:before{content:"";background-color:currentColor;position:absolute;top:1px;bottom:1px;left:0;right:0;opacity:.3}.q-date__range:nth-child(7n-6):before,.q-date__range-from:nth-child(7n-6):before,.q-date__range-to:nth-child(7n-6):before{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__range:nth-child(7n):before,.q-date__range-from:nth-child(7n):before,.q-date__range-to:nth-child(7n):before{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__range-from:before{left:50%}.q-date__range-to:before{right:50%}.q-date__edit-range:after{border-color:currentColor transparent}.q-date__edit-range:nth-child(7n-6):after{border-top-left-radius:0;border-bottom-left-radius:0}.q-date__edit-range:nth-child(7n):after{border-top-right-radius:0;border-bottom-right-radius:0}.q-date__edit-range-from:after,.q-date__edit-range-from-to:after{left:4px;border-left-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-left-radius:28px;border-bottom-left-radius:28px}.q-date__edit-range-to:after,.q-date__edit-range-from-to:after{right:4px;border-right-color:currentColor;border-top-color:currentColor;border-bottom-color:currentColor;border-top-right-radius:28px;border-bottom-right-radius:28px}.q-date__calendar-days-container{height:75%;min-height:192px}.q-date__calendar-days>div{height:16.66%!important}.q-date__event{position:absolute;bottom:2px;left:50%;height:5px;width:8px;border-radius:5px;background-color:var(--q-secondary);transform:translate3d(-50%,0,0)}.q-date__today{box-shadow:0 0 1px 0 currentColor}.q-date__years-content{padding:0 8px}.q-date__years-item,.q-date__months-item{flex:0 0 33.3333%}.q-date.disabled .q-date__header,.q-date.disabled .q-date__content,.q-date--readonly .q-date__header,.q-date--readonly .q-date__content{pointer-events:none}.q-date--readonly .q-date__navigation{display:none}.q-date--portrait{flex-direction:column}.q-date--portrait-standard .q-date__content{height:calc(100% - 86px)}.q-date--portrait-standard .q-date__header{border-top-right-radius:inherit;height:86px}.q-date--portrait-standard .q-date__header-title{align-items:center;height:30px}.q-date--portrait-minimal .q-date__content{height:100%}.q-date--landscape{flex-direction:row;align-items:stretch;min-width:420px}.q-date--landscape>div{display:flex;flex-direction:column}.q-date--landscape .q-date__content{height:100%}.q-date--landscape-standard{min-width:420px}.q-date--landscape-standard .q-date__header{border-bottom-left-radius:inherit;min-width:110px;width:110px}.q-date--landscape-standard .q-date__header-title{flex-direction:column}.q-date--landscape-standard .q-date__header-today{margin-top:12px;margin-left:-8px}.q-date--landscape-minimal{width:310px}.q-date--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f;border-color:#ffffff47}.q-dialog__title{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0125em}.q-dialog__progress{font-size:4rem}.q-dialog__inner{outline:0}.q-dialog__inner>div{pointer-events:all;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position;border-radius:4px}.q-dialog__inner--square>div{border-radius:0!important}.q-dialog__inner>.q-card>.q-card__actions .q-btn--rectangle{min-width:64px}.q-dialog__inner--minimized{padding:24px}.q-dialog__inner--minimized>div{max-height:calc(100vh - 48px)}.q-dialog__inner--maximized>div{height:100%;width:100%;max-height:100vh;max-width:100vw;border-radius:0!important;top:0!important;left:0!important}.q-dialog__inner--top,.q-dialog__inner--bottom{padding-top:0!important;padding-bottom:0!important}.q-dialog__inner--right,.q-dialog__inner--left{padding-right:0!important;padding-left:0!important}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--top:not(.q-dialog__inner--animating)>div{border-top-right-radius:0}.q-dialog__inner--left:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-left-radius:0}.q-dialog__inner--right:not(.q-dialog__inner--animating)>div,.q-dialog__inner--bottom:not(.q-dialog__inner--animating)>div{border-bottom-right-radius:0}.q-dialog__inner--fullwidth>div{width:100%!important;max-width:100%!important}.q-dialog__inner--fullheight>div{height:100%!important;max-height:100%!important}.q-dialog__backdrop{z-index:-1;pointer-events:all;outline:0;background:#0006}body.platform-ios .q-dialog__inner--minimized>div,body.platform-android:not(.native-mobile) .q-dialog__inner--minimized>div{max-height:calc(100vh - 108px)}body.q-ios-padding .q-dialog__inner{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}body.q-ios-padding .q-dialog__inner>div{max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}@media(max-width:599.98px){.q-dialog__inner--top,.q-dialog__inner--bottom{padding-left:0;padding-right:0}.q-dialog__inner--top>div,.q-dialog__inner--bottom>div{width:100%!important}}@media(min-width:600px){.q-dialog__inner--minimized>div{max-width:560px}}.q-body--dialog{overflow:hidden}.q-editor{border:1px solid rgba(0,0,0,.12);border-radius:4px;background-color:#fff}.q-editor.disabled{border-style:dashed}.q-editor>div:first-child,.q-editor__toolbars-container,.q-editor__toolbars-container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-editor__content{outline:0;padding:10px;min-height:10em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:auto;max-width:100%}.q-editor__content pre{white-space:pre-wrap}.q-editor__content hr{border:0;outline:0;margin:1px;height:1px;background:#0000001f}.q-editor__content:empty:not(:focus):before{content:attr(placeholder);opacity:.7}.q-editor__toolbar{border-bottom:1px solid rgba(0,0,0,.12);min-height:32px}.q-editor__toolbars-container{max-width:100%}.q-editor .q-btn{margin:4px}.q-editor__toolbar-group{position:relative;margin:0 4px}.q-editor__toolbar-group+.q-editor__toolbar-group:before{content:"";position:absolute;left:-4px;top:4px;bottom:4px;width:1px;background:#0000001f}.q-editor__link-input{color:inherit;text-decoration:none;text-transform:none;border:none;border-radius:0;background:none;outline:0}.q-editor--flat,.q-editor--flat .q-editor__toolbar{border:0}.q-editor--dense .q-editor__toolbar-group{display:flex;align-items:center;flex-wrap:nowrap}.q-editor--dark{border-color:#ffffff47}.q-editor--dark .q-editor__content hr{background:#ffffff47}.q-editor--dark .q-editor__toolbar{border-color:#ffffff47}.q-editor--dark .q-editor__toolbar-group+.q-editor__toolbar-group:before{background:#ffffff47}.q-expansion-item__border{opacity:0}.q-expansion-item__toggle-icon{position:relative;transition:transform .3s}.q-expansion-item__toggle-icon--rotated{transform:rotate(180deg)}.q-expansion-item__toggle-focus{width:1em!important;height:1em!important;position:relative!important}.q-expansion-item__toggle-focus+.q-expansion-item__toggle-icon{margin-top:-1em}.q-expansion-item--standard.q-expansion-item--expanded>div>.q-expansion-item__border{opacity:1}.q-expansion-item--popup{transition:padding .5s}.q-expansion-item--popup>.q-expansion-item__container{border:1px solid rgba(0,0,0,.12)}.q-expansion-item--popup>.q-expansion-item__container>.q-separator{display:none}.q-expansion-item--popup.q-expansion-item--collapsed{padding:0 15px}.q-expansion-item--popup.q-expansion-item--expanded{padding:15px 0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--expanded{padding-top:0}.q-expansion-item--popup.q-expansion-item--collapsed:not(:first-child)>.q-expansion-item__container{border-top-width:0}.q-expansion-item--popup.q-expansion-item--expanded+.q-expansion-item--popup.q-expansion-item--collapsed>.q-expansion-item__container{border-top-width:1px}.q-expansion-item__content>.q-card{box-shadow:none;border-radius:0}.q-expansion-item:first-child>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item:last-child>div>.q-expansion-item__border--bottom{opacity:0}.q-expansion-item--expanded+.q-expansion-item--expanded>div>.q-expansion-item__border--top{opacity:0}.q-expansion-item--expanded .q-textarea--autogrow textarea{animation:q-expansion-done 0s}@keyframes q-expansion-done{0%{--q-exp-done: 1}}.z-fab{z-index:990}.q-fab{position:relative;vertical-align:middle}.q-fab>.q-btn{width:100%}.q-fab--form-rounded{border-radius:28px}.q-fab--form-square{border-radius:4px}.q-fab__icon,.q-fab__active-icon{transition:opacity .4s,transform .4s}.q-fab__icon{opacity:1;transform:rotate(0)}.q-fab__active-icon{opacity:0;transform:rotate(-180deg)}.q-fab__label--external{position:absolute;padding:0 8px;transition:opacity .18s cubic-bezier(.65,.815,.735,.395)}.q-fab__label--external-hidden{opacity:0;pointer-events:none}.q-fab__label--external-left{top:50%;left:-12px;transform:translate(-100%,-50%)}.q-fab__label--external-right{top:50%;right:-12px;transform:translate(100%,-50%)}.q-fab__label--external-bottom{bottom:-12px;left:50%;transform:translate(-50%,100%)}.q-fab__label--external-top{top:-12px;left:50%;transform:translate(-50%,-100%)}.q-fab__label--internal{padding:0;transition:font-size .12s cubic-bezier(.65,.815,.735,.395),max-height .12s cubic-bezier(.65,.815,.735,.395),opacity .07s cubic-bezier(.65,.815,.735,.395);max-height:30px}.q-fab__label--internal-hidden{font-size:0;opacity:0}.q-fab__label--internal-top{padding-bottom:.12em}.q-fab__label--internal-bottom{padding-top:.12em}.q-fab__label--internal-top.q-fab__label--internal-hidden,.q-fab__label--internal-bottom.q-fab__label--internal-hidden{max-height:0}.q-fab__label--internal-left{padding-left:.285em;padding-right:.571em}.q-fab__label--internal-right{padding-right:.285em;padding-left:.571em}.q-fab__icon-holder{min-width:24px;min-height:24px;position:relative}.q-fab__icon-holder--opened .q-fab__icon{transform:rotate(180deg);opacity:0}.q-fab__icon-holder--opened .q-fab__active-icon{transform:rotate(0);opacity:1}.q-fab__actions{position:absolute;opacity:0;transition:transform .18s ease-in,opacity .18s ease-in;pointer-events:none;align-items:center;justify-content:center;align-self:center;padding:3px}.q-fab__actions .q-btn{margin:5px}.q-fab__actions--right{transform-origin:0 50%;transform:scale(.4) translate(-62px);height:56px;left:100%;margin-left:9px}.q-fab__actions--left{transform-origin:100% 50%;transform:scale(.4) translate(62px);height:56px;right:100%;margin-right:9px;flex-direction:row-reverse}.q-fab__actions--up{transform-origin:50% 100%;transform:scale(.4) translateY(62px);width:56px;bottom:100%;margin-bottom:9px;flex-direction:column-reverse}.q-fab__actions--down{transform-origin:50% 0;transform:scale(.4) translateY(-62px);width:56px;top:100%;margin-top:9px;flex-direction:column}.q-fab__actions--up,.q-fab__actions--down{left:50%;margin-left:-28px}.q-fab__actions--opened{opacity:1;transform:scale(1) translate(.1px);pointer-events:all}.q-fab--align-left>.q-fab__actions--up,.q-fab--align-left>.q-fab__actions--down{align-items:flex-start;left:28px}.q-fab--align-right>.q-fab__actions--up,.q-fab--align-right>.q-fab__actions--down{align-items:flex-end;left:auto;right:0}.q-field{font-size:14px}.q-field ::-ms-clear,.q-field ::-ms-reveal{display:none}.q-field--with-bottom{padding-bottom:20px}.q-field__marginal{height:56px;color:#0000008a;font-size:24px}.q-field__marginal>*+*{margin-left:2px}.q-field__marginal .q-avatar{font-size:32px}.q-field__before,.q-field__prepend{padding-right:12px}.q-field__after,.q-field__append{padding-left:12px}.q-field__after:empty,.q-field__append:empty{display:none}.q-field__append+.q-field__append{padding-left:2px}.q-field__inner{text-align:left}.q-field__bottom{font-size:12px;min-height:20px;line-height:1;color:#0000008a;padding:8px 12px 0;backface-visibility:hidden}.q-field__bottom--animated{transform:translateY(100%);position:absolute;left:0;right:0;bottom:0}.q-field__messages{line-height:1}.q-field__messages>div{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word}.q-field__messages>div+div{margin-top:4px}.q-field__counter{padding-left:8px;line-height:1}.q-field--item-aligned{padding:8px 16px}.q-field--item-aligned .q-field__before{min-width:56px}.q-field__control-container{height:inherit}.q-field__control{color:var(--q-primary);height:56px;max-width:100%;outline:none}.q-field__control:before,.q-field__control:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.q-field__control:before{border-radius:inherit}.q-field__shadow{top:8px;opacity:0;overflow:hidden;white-space:pre-wrap;transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native::placeholder{transition:opacity .36s cubic-bezier(.4,0,.2,1)}.q-field__shadow+.q-field__native:focus::placeholder{opacity:0}.q-field__native,.q-field__prefix,.q-field__suffix,.q-field__input{font-weight:400;line-height:28px;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;border:none;border-radius:0;background:none;color:#000000de;outline:0;padding:6px 0}.q-field__native,.q-field__input{width:100%;min-width:0;outline:0!important;-webkit-user-select:auto;user-select:auto}.q-field__native:-webkit-autofill,.q-field__input:-webkit-autofill{-webkit-animation-name:q-autofill;-webkit-animation-fill-mode:both}.q-field__native:invalid,.q-field__input:invalid{box-shadow:none}.q-field__native[type=file]{line-height:1em}.q-field__input{padding:0;height:0;min-height:24px;line-height:24px}.q-field__prefix,.q-field__suffix{transition:opacity .36s cubic-bezier(.4,0,.2,1);white-space:nowrap}.q-field__prefix{padding-right:4px}.q-field__suffix{padding-left:4px}.q-field--readonly .q-placeholder,.q-field--disabled .q-placeholder{opacity:1!important}.q-field--readonly.q-field--labeled .q-field__native,.q-field--readonly.q-field--labeled .q-field__input{cursor:default}.q-field--readonly.q-field--float .q-field__native,.q-field--readonly.q-field--float .q-field__input{cursor:text}.q-field--disabled .q-field__inner{cursor:not-allowed}.q-field--disabled .q-field__control{pointer-events:none}.q-field--disabled .q-field__control>div{opacity:.6!important}.q-field--disabled .q-field__control>div,.q-field--disabled .q-field__control>div *{outline:0!important}.q-field__label{left:0;top:18px;max-width:100%;color:#0009;font-size:16px;line-height:1.25;font-weight:400;letter-spacing:.00937em;text-decoration:inherit;text-transform:inherit;transform-origin:left top;transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .324s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-40%) scale(.75)}.q-field--float .q-field__label{max-width:133%;transform:translateY(-40%) scale(.75);transition:transform .36s cubic-bezier(.4,0,.2,1),max-width .396s cubic-bezier(.4,0,.2,1)}.q-field--highlighted .q-field__label{color:currentColor}.q-field--highlighted .q-field__shadow{opacity:.5}.q-field--filled .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px 4px 0 0}.q-field--filled .q-field__control:before{background:#0000000d;border-bottom:1px solid rgba(0,0,0,.42);opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--filled .q-field__control:hover:before{opacity:1}.q-field--filled .q-field__control:after{height:2px;top:auto;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--filled.q-field--rounded .q-field__control{border-radius:28px 28px 0 0}.q-field--filled.q-field--highlighted .q-field__control:before{opacity:1;background:#0000001f}.q-field--filled.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--filled.q-field--dark .q-field__control,.q-field--filled.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--filled.q-field--dark.q-field--highlighted .q-field__control:before{background:#ffffff1a}.q-field--filled.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border-bottom-style:dashed}.q-field--outlined .q-field__control{border-radius:4px;padding:0 12px}.q-field--outlined .q-field__control:before{border:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__control:hover:before{border-color:#000}.q-field--outlined .q-field__control:after{height:inherit;border-radius:inherit;border:2px solid transparent;transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--outlined .q-field__native:-webkit-autofill,.q-field--outlined .q-field__input:-webkit-autofill{margin-top:1px;margin-bottom:1px}.q-field--outlined.q-field--rounded .q-field__control{border-radius:28px}.q-field--outlined.q-field--highlighted .q-field__control:hover:before{border-color:transparent}.q-field--outlined.q-field--highlighted .q-field__control:after{border-color:currentColor;border-width:2px;transform:scaleZ(1)}.q-field--outlined.q-field--readonly .q-field__control:before{border-style:dashed}.q-field--standard .q-field__control:before{border-bottom:1px solid rgba(0,0,0,.24);transition:border-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standard .q-field__control:hover:before{border-color:#000}.q-field--standard .q-field__control:after{height:2px;top:auto;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;transform-origin:center bottom;transform:scale3d(0,1,1);background:currentColor;transition:transform .36s cubic-bezier(.4,0,.2,1)}.q-field--standard.q-field--highlighted .q-field__control:after{transform:scaleZ(1)}.q-field--standard.q-field--readonly .q-field__control:before{border-bottom-style:dashed}.q-field--dark .q-field__control:before{border-color:#fff9}.q-field--dark .q-field__control:hover:before{border-color:#fff}.q-field--dark .q-field__native,.q-field--dark .q-field__prefix,.q-field--dark .q-field__suffix,.q-field--dark .q-field__input{color:#fff}.q-field--dark:not(.q-field--highlighted) .q-field__label,.q-field--dark .q-field__marginal,.q-field--dark .q-field__bottom{color:#ffffffb3}.q-field--standout .q-field__control{padding:0 12px;background:#0000000d;border-radius:4px;transition:box-shadow .36s cubic-bezier(.4,0,.2,1),background-color .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:before{background:#00000012;opacity:0;transition:opacity .36s cubic-bezier(.4,0,.2,1),background .36s cubic-bezier(.4,0,.2,1)}.q-field--standout .q-field__control:hover:before{opacity:1}.q-field--standout.q-field--rounded .q-field__control{border-radius:28px}.q-field--standout.q-field--highlighted .q-field__control{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#000}.q-field--standout.q-field--highlighted .q-field__native,.q-field--standout.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--highlighted .q-field__append,.q-field--standout.q-field--highlighted .q-field__input{color:#fff}.q-field--standout.q-field--readonly .q-field__control:before{opacity:1;background:transparent;border:1px dashed rgba(0,0,0,.24)}.q-field--standout.q-field--dark .q-field__control{background:#ffffff12}.q-field--standout.q-field--dark .q-field__control:before{background:#ffffff12}.q-field--standout.q-field--dark.q-field--highlighted .q-field__control{background:#fff}.q-field--standout.q-field--dark.q-field--highlighted .q-field__native,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prefix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__suffix,.q-field--standout.q-field--dark.q-field--highlighted .q-field__prepend,.q-field--standout.q-field--dark.q-field--highlighted .q-field__append,.q-field--standout.q-field--dark.q-field--highlighted .q-field__input{color:#000}.q-field--standout.q-field--dark.q-field--readonly .q-field__control:before{border-color:#ffffff3d}.q-field--labeled .q-field__native,.q-field--labeled .q-field__prefix,.q-field--labeled .q-field__suffix{line-height:24px;padding-top:24px;padding-bottom:8px}.q-field--labeled .q-field__shadow{top:0}.q-field--labeled:not(.q-field--float) .q-field__prefix,.q-field--labeled:not(.q-field--float) .q-field__suffix{opacity:0}.q-field--labeled:not(.q-field--float) .q-field__native::placeholder,.q-field--labeled:not(.q-field--float) .q-field__input::placeholder{color:transparent}.q-field--labeled.q-field--dense .q-field__native,.q-field--labeled.q-field--dense .q-field__prefix,.q-field--labeled.q-field--dense .q-field__suffix{padding-top:14px;padding-bottom:2px}.q-field--dense .q-field--with-bottom{padding-bottom:19px}.q-field--dense .q-field__shadow{top:0}.q-field--dense .q-field__control,.q-field--dense .q-field__marginal{height:40px}.q-field--dense .q-field__bottom{font-size:11px}.q-field--dense .q-field__label{font-size:14px;top:10px}.q-field--dense .q-field__before,.q-field--dense .q-field__prepend{padding-right:6px}.q-field--dense .q-field__after,.q-field--dense .q-field__append{padding-left:6px}.q-field--dense .q-field__append+.q-field__append{padding-left:2px}.q-field--dense .q-field__marginal .q-avatar{font-size:24px}.q-field--dense.q-field--float .q-field__label{transform:translateY(-30%) scale(.75)}.q-field--dense .q-field__label:has(+:is(.q-field__native,.q-field__input):is(:-webkit-autofill,[type=color],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])){transform:translateY(-30%) scale(.75)}.q-field--borderless .q-field__bottom,.q-field--borderless.q-field--dense .q-field__control,.q-field--standard .q-field__bottom,.q-field--standard.q-field--dense .q-field__control{padding-left:0;padding-right:0}.q-field--error .q-field__label{animation:q-field-label .36s}.q-field--error .q-field__bottom{color:var(--q-negative)}.q-field__focusable-action{opacity:.6;cursor:pointer;outline:0!important;border:0;color:inherit;background:transparent;padding:0}.q-field__focusable-action:hover,.q-field__focusable-action:focus{opacity:1}.q-field--auto-height .q-field__control{height:auto}.q-field--auto-height .q-field__control,.q-field--auto-height .q-field__native{min-height:56px}.q-field--auto-height .q-field__native{align-items:center}.q-field--auto-height .q-field__control-container{padding-top:0}.q-field--auto-height .q-field__native,.q-field--auto-height .q-field__prefix,.q-field--auto-height .q-field__suffix{line-height:18px}.q-field--auto-height.q-field--labeled .q-field__control-container{padding-top:24px}.q-field--auto-height.q-field--labeled .q-field__shadow{top:24px}.q-field--auto-height.q-field--labeled .q-field__native,.q-field--auto-height.q-field--labeled .q-field__prefix,.q-field--auto-height.q-field--labeled .q-field__suffix{padding-top:0}.q-field--auto-height.q-field--labeled .q-field__native{min-height:24px}.q-field--auto-height.q-field--dense .q-field__control,.q-field--auto-height.q-field--dense .q-field__native{min-height:40px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-field--auto-height.q-field--dense.q-field--labeled .q-field__native{min-height:24px}.q-field--square .q-field__control{border-radius:0!important}.q-transition--field-message-enter-active,.q-transition--field-message-leave-active{transition:transform .6s cubic-bezier(.86,0,.07,1),opacity .6s cubic-bezier(.86,0,.07,1)}.q-transition--field-message-enter-from,.q-transition--field-message-leave-to{opacity:0;transform:translateY(-10px)}.q-transition--field-message-leave-from,.q-transition--field-message-leave-active{position:absolute}@keyframes q-field-label{40%{margin-left:2px}60%,80%{margin-left:-2px}70%,90%{margin-left:2px}}@keyframes q-autofill{to{background:transparent;color:inherit}}.q-file .q-field__native{word-break:break-all;overflow:hidden}.q-file .q-field__input{opacity:0!important}.q-file .q-field__input::-webkit-file-upload-button{cursor:pointer}.q-file__filler{visibility:hidden;width:100%;border:none;padding:0}.q-file__dnd{outline:1px dashed currentColor;outline-offset:-4px}.q-form{position:relative}.q-img{position:relative;width:100%;display:inline-block;vertical-align:middle;overflow:hidden}.q-img__loading .q-spinner{font-size:50px}.q-img__container{border-radius:inherit;font-size:0}.q-img__image{border-radius:inherit;width:100%;height:100%;opacity:0}.q-img__image--with-transition{transition:opacity .28s ease-in}.q-img__image--loaded{opacity:1}.q-img__content{border-radius:inherit;pointer-events:none}.q-img__content>div{pointer-events:all;position:absolute;padding:16px;color:#fff;background:#00000078}.q-img--no-menu .q-img__image,.q-img--no-menu .q-img__placeholder{pointer-events:none}.q-inner-loading{background:#fff9;border-radius:inherit}.q-inner-loading--dark{background:#0006}.q-inner-loading__label{margin-top:8px}.q-textarea .q-field__control{min-height:56px;height:auto}.q-textarea .q-field__control-container{padding-top:2px;padding-bottom:2px}.q-textarea .q-field__shadow{top:2px;bottom:2px}.q-textarea .q-field__native,.q-textarea .q-field__prefix,.q-textarea .q-field__suffix{line-height:18px}.q-textarea .q-field__native{resize:vertical;padding-top:17px;min-height:52px}.q-textarea.q-field--labeled .q-field__control-container{padding-top:26px}.q-textarea.q-field--labeled .q-field__shadow{top:26px}.q-textarea.q-field--labeled .q-field__native,.q-textarea.q-field--labeled .q-field__prefix,.q-textarea.q-field--labeled .q-field__suffix{padding-top:0}.q-textarea.q-field--labeled .q-field__native{min-height:26px;padding-top:1px}.q-textarea--autogrow .q-field__native{resize:none}.q-textarea.q-field--dense .q-field__control,.q-textarea.q-field--dense .q-field__native{min-height:36px}.q-textarea.q-field--dense .q-field__native{padding-top:9px}.q-textarea.q-field--dense.q-field--labeled .q-field__control-container{padding-top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__shadow{top:14px}.q-textarea.q-field--dense.q-field--labeled .q-field__native{min-height:24px;padding-top:3px}.q-textarea.q-field--dense.q-field--labeled .q-field__prefix,.q-textarea.q-field--dense.q-field--labeled .q-field__suffix{padding-top:2px}body.mobile .q-textarea .q-field__native,.q-textarea.disabled .q-field__native{resize:none}.q-intersection{position:relative}.q-item{min-height:48px;padding:8px 16px;color:inherit;transition:color .3s,background-color .3s}.q-item__section--side{color:#757575;align-items:flex-start;padding-right:16px;width:auto;min-width:0;max-width:100%}.q-item__section--side>.q-icon{font-size:24px}.q-item__section--side>.q-avatar{font-size:40px}.q-item__section--avatar{color:inherit;min-width:56px}.q-item__section--thumbnail img{width:100px;height:56px}.q-item__section--nowrap{white-space:nowrap}.q-item>.q-item__section--thumbnail:first-child,.q-item>.q-focus-helper+.q-item__section--thumbnail{margin-left:-16px}.q-item>.q-item__section--thumbnail:last-of-type{margin-right:-16px}.q-item__label{line-height:1.2em!important;max-width:100%}.q-item__label--overline{color:#000000b3}.q-item__label--caption{color:#0000008a}.q-item__label--header{color:#757575;padding:16px;font-size:.875rem;line-height:1.25rem;letter-spacing:.01786em}.q-separator--spaced+.q-item__label--header,.q-list--padding .q-item__label--header{padding-top:8px}.q-item__label+.q-item__label{margin-top:4px}.q-item__section--main{width:auto;min-width:0;max-width:100%;flex:10000 1 0%}.q-item__section--main+.q-item__section--main{margin-left:8px}.q-item__section--main~.q-item__section--side{align-items:flex-end;padding-right:0;padding-left:16px}.q-item__section--main.q-item__section--thumbnail{margin-left:0;margin-right:-16px}.q-list--bordered{border:1px solid rgba(0,0,0,.12)}.q-list--separator>.q-item-type+.q-item-type,.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top:1px solid rgba(0,0,0,.12)}.q-list--padding{padding:8px 0}.q-list--dense>.q-item,.q-item--dense{min-height:32px;padding:2px 16px}.q-list--dark.q-list--separator>.q-item-type+.q-item-type,.q-list--dark.q-list--separator>.q-virtual-scroll__content>.q-item-type+.q-item-type{border-top-color:#ffffff47}.q-list--dark,.q-item--dark{color:#fff;border-color:#ffffff47}.q-list--dark .q-item__section--side:not(.q-item__section--avatar),.q-item--dark .q-item__section--side:not(.q-item__section--avatar){color:#ffffffb3}.q-list--dark .q-item__label--header,.q-item--dark .q-item__label--header{color:#ffffffa3}.q-list--dark .q-item__label--overline,.q-list--dark .q-item__label--caption,.q-item--dark .q-item__label--overline,.q-item--dark .q-item__label--caption{color:#fffc}.q-item{position:relative}.q-item.q-router-link--active,.q-item--active{color:var(--q-primary)}.q-knob{font-size:48px}.q-knob--editable{cursor:pointer;outline:0}.q-knob--editable:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:none;transition:box-shadow .24s ease-in-out}.q-knob--editable:focus:before{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}body.body--dark .q-knob--editable:focus:before{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-layout{width:100%;outline:0}.q-layout-container{position:relative;width:100%;height:100%}.q-layout-container .q-layout{min-height:100%}.q-layout-container>div{transform:translateZ(0)}.q-layout-container>div>div{min-height:0;max-height:100%}.q-layout__shadow{width:100%}.q-layout__shadow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px 2px #0003,0 0 10px #0000003d}.q-layout__section--marginal{background-color:var(--q-primary);color:#fff}.q-header--hidden{transform:translateY(-110%)}.q-header--bordered{border-bottom:1px solid rgba(0,0,0,.12)}.q-header .q-layout__shadow{bottom:-10px}.q-header .q-layout__shadow:after{bottom:10px}.q-footer--hidden{transform:translateY(110%)}.q-footer--bordered{border-top:1px solid rgba(0,0,0,.12)}.q-footer .q-layout__shadow{top:-10px}.q-footer .q-layout__shadow:after{top:10px}.q-header,.q-footer{z-index:2000}.q-drawer{position:absolute;top:0;bottom:0;background:#fff;z-index:1000}.q-drawer--on-top{z-index:3000}.q-drawer--left{left:0;transform:translate(-100%)}.q-drawer--left.q-drawer--bordered{border-right:1px solid rgba(0,0,0,.12)}.q-drawer--left .q-layout__shadow{left:10px;right:-10px}.q-drawer--left .q-layout__shadow:after{right:10px}.q-drawer--right{right:0;transform:translate(100%)}.q-drawer--right.q-drawer--bordered{border-left:1px solid rgba(0,0,0,.12)}.q-drawer--right .q-layout__shadow{left:-10px}.q-drawer--right .q-layout__shadow:after{left:10px}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini{padding:0!important}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section{text-align:center;justify-content:center;padding-left:0;padding-right:0;min-width:0}.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__label,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--main,.q-drawer-container:not(.q-drawer--mini-animate) .q-drawer--mini .q-item__section--side~.q-item__section--side{display:none}.q-drawer--mini .q-mini-drawer-hide,.q-drawer--mini .q-expansion-item__content{display:none}.q-drawer--mini-animate .q-drawer__content{overflow-x:hidden!important;white-space:nowrap}.q-drawer--standard .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-only,.q-drawer--mobile .q-mini-drawer-hide{display:none}.q-drawer__backdrop{z-index:2999!important;will-change:background-color}.q-drawer__opener{z-index:2001;height:100%;width:15px;-webkit-user-select:none;user-select:none}.q-layout,.q-header,.q-footer,.q-page{position:relative}.q-page-sticky--shrink{pointer-events:none}.q-page-sticky--shrink>div{display:inline-block;pointer-events:auto}body.q-ios-padding .q-layout--standard .q-header>.q-toolbar:nth-child(1),body.q-ios-padding .q-layout--standard .q-header>.q-tabs:nth-child(1) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-top:20px;min-height:70px;padding-top:env(safe-area-inset-top);min-height:calc(env(safe-area-inset-top) + 50px)}body.q-ios-padding .q-layout--standard .q-footer>.q-toolbar:last-child,body.q-ios-padding .q-layout--standard .q-footer>.q-tabs:nth-last-child(1 of:not(.q-layout__shadow)) .q-tabs__content,body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content{padding-bottom:env(safe-area-inset-bottom);min-height:calc(env(safe-area-inset-bottom) + 50px)}.q-body--layout-animate .q-drawer__backdrop{transition:background-color .12s!important}.q-body--layout-animate .q-drawer{transition:transform .12s,width .12s,top .12s,bottom .12s!important}.q-body--layout-animate .q-layout__section--marginal{transition:transform .12s,left .12s,right .12s!important}.q-body--layout-animate .q-page-container{transition:padding-top .12s,padding-right .12s,padding-bottom .12s,padding-left .12s!important}.q-body--layout-animate .q-page-sticky{transition:transform .12s,left .12s,right .12s,top .12s,bottom .12s!important}body:not(.q-body--layout-animate) .q-layout--prevent-focus{visibility:hidden}.q-body--drawer-toggle{overflow-x:hidden!important}@media(max-width:599.98px){.q-layout-padding{padding:8px}}@media(min-width:600px)and (max-width:1439.98px){.q-layout-padding{padding:16px}}@media(min-width:1440px){.q-layout-padding{padding:24px}}body.body--dark .q-header,body.body--dark .q-footer,body.body--dark .q-drawer{border-color:#ffffff47}body.body--dark .q-layout__shadow:after{box-shadow:0 0 10px 2px #fff3,0 0 10px #ffffff3d}body.platform-ios .q-layout--containerized{position:unset!important}.q-linear-progress{--q-linear-progress-speed: .3s;position:relative;width:100%;overflow:hidden;font-size:4px;height:1em;color:var(--q-primary);transform:scaleZ(1)}.q-linear-progress__model,.q-linear-progress__track{transform-origin:0 0}.q-linear-progress__model--with-transition,.q-linear-progress__track--with-transition{transition:transform var(--q-linear-progress-speed)}.q-linear-progress--reverse .q-linear-progress__model,.q-linear-progress--reverse .q-linear-progress__track{transform-origin:0 100%}.q-linear-progress__model--determinate{background:currentColor}.q-linear-progress__model--indeterminate,.q-linear-progress__model--query{transition:none}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:before,.q-linear-progress__model--query:after{background:currentColor;content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}.q-linear-progress__model--indeterminate:before,.q-linear-progress__model--query:before{animation:q-linear-progress--indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.q-linear-progress__model--indeterminate:after,.q-linear-progress__model--query:after{transform:translate3d(-101%,0,0) scaleZ(1);animation:q-linear-progress--indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation-delay:1.15s}.q-linear-progress__track{opacity:.4}.q-linear-progress__track--light{background:#00000042}.q-linear-progress__track--dark{background:#fff9}.q-linear-progress__stripe{background-image:linear-gradient(45deg,#ffffff26 25%,#fff0 25% 50%,#ffffff26 50% 75%,#fff0 75%,#fff0)!important;background-size:40px 40px!important}.q-linear-progress__stripe--with-transition{transition:width var(--q-linear-progress-speed)}@keyframes q-linear-progress--indeterminate{0%{transform:translate3d(-35%,0,0) scale3d(.35,1,1)}60%{transform:translate3d(100%,0,0) scale3d(.9,1,1)}to{transform:translate3d(100%,0,0) scale3d(.9,1,1)}}@keyframes q-linear-progress--indeterminate-short{0%{transform:translate3d(-101%,0,0) scaleZ(1)}60%{transform:translate3d(107%,0,0) scale3d(.01,1,1)}to{transform:translate3d(107%,0,0) scale3d(.01,1,1)}}.q-menu{position:fixed!important;display:inline-block;max-width:95vw;max-height:65vh;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;background:#fff;border-radius:4px;overflow-y:auto;overflow-x:hidden;outline:0;z-index:6000}.q-menu--square{border-radius:0}.q-menu--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-option-group--inline>div{display:inline-block}.q-pagination input{text-align:center;-moz-appearance:textfield}.q-pagination input::-webkit-outer-spin-button,.q-pagination input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-pagination__content{--q-pagination-gutter-parent: -2px;--q-pagination-gutter-child: 2px;margin-top:var(--q-pagination-gutter-parent);margin-left:var(--q-pagination-gutter-parent)}.q-pagination__content>.q-btn,.q-pagination__content>.q-input,.q-pagination__middle>.q-btn{margin-top:var(--q-pagination-gutter-child);margin-left:var(--q-pagination-gutter-child)}.q-parallax{position:relative;width:100%;overflow:hidden;border-radius:inherit}.q-parallax__media>img,.q-parallax__media>video{position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;will-change:transform;display:none}.q-popup-edit{padding:8px 16px}.q-popup-edit__buttons{margin-top:8px}.q-popup-edit__buttons .q-btn+.q-btn{margin-left:8px}.q-pull-to-refresh{position:relative}.q-pull-to-refresh__puller{border-radius:50%;width:40px;height:40px;color:var(--q-primary);background:#fff;box-shadow:0 0 4px #0000004d}.q-pull-to-refresh__puller--animating{transition:transform .3s,opacity .3s}.q-radio{vertical-align:middle}.q-radio__native{width:1px;height:1px}.q-radio__bg,.q-radio__icon-container{-webkit-user-select:none;user-select:none}.q-radio__bg{top:25%;left:25%;width:50%;height:50%;-webkit-print-color-adjust:exact}.q-radio__bg path{fill:currentColor}.q-radio__icon{color:currentColor;font-size:.5em}.q-radio__check{transform-origin:50% 50%;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}.q-radio__inner{font-size:40px;width:1em;min-width:1em;height:1em;outline:0;border-radius:50%;color:#0000008a}.q-radio__inner--truthy{color:var(--q-primary)}.q-radio__inner--truthy .q-radio__check{transform:scaleZ(1)}.q-radio.disabled{opacity:.75!important}.q-radio--dark .q-radio__inner{color:#ffffffb3}.q-radio--dark .q-radio__inner:before{opacity:.32!important}.q-radio--dark .q-radio__inner--truthy{color:var(--q-primary)}.q-radio--dense .q-radio__inner{width:.5em;min-width:.5em;height:.5em}.q-radio--dense .q-radio__bg{left:0;top:0;width:100%;height:100%}.q-radio--dense .q-radio__label{padding-left:.5em}.q-radio--dense.reverse .q-radio__label{padding-left:0;padding-right:.5em}body.desktop .q-radio:not(.disabled) .q-radio__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1) 0ms}body.desktop .q-radio:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio:not(.disabled):hover .q-radio__inner:before{transform:scaleZ(1)}body.desktop .q-radio--dense:not(.disabled):focus .q-radio__inner:before,body.desktop .q-radio--dense:not(.disabled):hover .q-radio__inner:before{transform:scale3d(1.5,1.5,1)}.q-rating{color:#ffeb3b;vertical-align:middle}.q-rating__icon-container{height:1em;outline:0}.q-rating__icon-container+.q-rating__icon-container{margin-left:2px}.q-rating__icon{color:currentColor;text-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;opacity:.4;transition:transform .2s ease-in,opacity .2s ease-in,color .2s ease-in}.q-rating__icon--hovered{transform:scale(1.3)}.q-rating__icon--active{opacity:1}.q-rating__icon--exselected{opacity:.7}.q-rating--no-dimming .q-rating__icon{opacity:1}.q-rating--editable .q-rating__icon-container{cursor:pointer}.q-responsive{position:relative;max-width:100%;max-height:100%}.q-responsive__filler{width:inherit;max-width:inherit;height:inherit;max-height:inherit}.q-responsive__content{border-radius:inherit}.q-responsive__content>*{width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important}.q-scrollarea{position:relative;contain:strict}.q-scrollarea__bar,.q-scrollarea__thumb{opacity:.2;transition:opacity .3s;will-change:opacity;cursor:grab}.q-scrollarea__bar--v,.q-scrollarea__thumb--v{right:0;width:10px}.q-scrollarea__bar--h,.q-scrollarea__thumb--h{bottom:0;height:10px}.q-scrollarea__bar--invisible,.q-scrollarea__thumb--invisible{opacity:0!important;pointer-events:none}.q-scrollarea__thumb{background:#000;border-radius:3px}.q-scrollarea__thumb:hover{opacity:.3}.q-scrollarea__thumb:active{opacity:.5}.q-scrollarea__content{min-height:100%;min-width:100%}.q-scrollarea--dark .q-scrollarea__thumb{background:#fff}.q-select--without-input .q-field__control{cursor:pointer}.q-select--with-input .q-field__control{cursor:text}.q-select .q-field__input{min-width:50px!important;cursor:text}.q-select .q-field__input--padding{padding-left:4px}.q-select__focus-target,.q-select__autocomplete-input{position:absolute;outline:0!important;width:1px;height:1px;padding:0;border:0;opacity:0}.q-select__dropdown-icon{cursor:pointer;transition:transform .28s}.q-select.q-field--readonly .q-field__control,.q-select.q-field--readonly .q-select__dropdown-icon{cursor:default}.q-select__dialog{width:90vw!important;max-width:90vw!important;max-height:calc(100vh - 70px)!important;background:#fff;display:flex;flex-direction:column}.q-select__dialog>.scroll{position:relative;background:inherit}body.mobile:not(.native-mobile) .q-select__dialog{max-height:calc(100vh - 108px)!important}body.platform-android.native-mobile .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 24px)!important}body.platform-android:not(.native-mobile) .q-dialog__inner--top .q-select__dialog{max-height:calc(100vh - 80px)!important}body.platform-ios.native-mobile .q-dialog__inner--top>div{border-radius:4px}body.platform-ios.native-mobile .q-dialog__inner--top .q-select__dialog--focused{max-height:47vh!important}body.platform-ios:not(.native-mobile) .q-dialog__inner--top .q-select__dialog--focused{max-height:50vh!important}.q-separator{border:0;background:#0000001f;margin:0;transition:background .3s,opacity .3s;flex-shrink:0}.q-separator--dark{background:#ffffff47}.q-separator--horizontal{display:block;height:1px}.q-separator--horizontal-inset{margin-left:16px;margin-right:16px}.q-separator--horizontal-item-inset{margin-left:72px;margin-right:0}.q-separator--horizontal-item-thumbnail-inset{margin-left:116px;margin-right:0}.q-separator--vertical{width:1px;height:auto;align-self:stretch}.q-separator--vertical-inset{margin-top:8px;margin-bottom:8px}.q-skeleton{--q-skeleton-speed: 1.5s;background:#0000001f;border-radius:4px;box-sizing:border-box}.q-skeleton--anim{cursor:wait}.q-skeleton:before{content:" "}.q-skeleton--type-text{transform:scaleY(.5)}.q-skeleton--type-circle,.q-skeleton--type-QAvatar{height:48px;width:48px;border-radius:50%}.q-skeleton--type-QBtn{width:90px;height:36px}.q-skeleton--type-QBadge{width:70px;height:16px}.q-skeleton--type-QChip{width:90px;height:28px;border-radius:16px}.q-skeleton--type-QToolbar{height:50px}.q-skeleton--type-QCheckbox,.q-skeleton--type-QRadio{width:40px;height:40px;border-radius:50%}.q-skeleton--type-QToggle{width:56px;height:40px;border-radius:7px}.q-skeleton--type-QSlider,.q-skeleton--type-QRange{height:40px}.q-skeleton--type-QInput{height:56px}.q-skeleton--bordered{border:1px solid rgba(0,0,0,.05)}.q-skeleton--square{border-radius:0}.q-skeleton--anim-fade{animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-pulse{animation:q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-x{animation:q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-pulse-y{animation:q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite}.q-skeleton--anim-wave,.q-skeleton--anim-blink,.q-skeleton--anim-pop{position:relative;overflow:hidden;z-index:1}.q-skeleton--anim-wave:after,.q-skeleton--anim-blink:after,.q-skeleton--anim-pop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.q-skeleton--anim-blink:after{background:#ffffffb3;animation:q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff80,#fff0);animation:q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite}.q-skeleton--dark{background:#ffffff0d}.q-skeleton--dark.q-skeleton--bordered{border:1px solid rgba(255,255,255,.25)}.q-skeleton--dark.q-skeleton--anim-wave:after{background:linear-gradient(90deg,#fff0,#ffffff1a,#fff0)}.q-skeleton--dark.q-skeleton--anim-blink:after{background:#fff3}@keyframes q-skeleton--fade{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes q-skeleton--pulse{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes q-skeleton--pulse-x{0%{transform:scaleX(1)}50%{transform:scaleX(.75)}to{transform:scaleX(1)}}@keyframes q-skeleton--pulse-y{0%{transform:scaleY(1)}50%{transform:scaleY(.75)}to{transform:scaleY(1)}}@keyframes q-skeleton--wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.q-slide-item{position:relative;background:#fff}.q-slide-item__left,.q-slide-item__right,.q-slide-item__top,.q-slide-item__bottom{visibility:hidden;font-size:14px;color:#fff}.q-slide-item__left .q-icon,.q-slide-item__right .q-icon,.q-slide-item__top .q-icon,.q-slide-item__bottom .q-icon{font-size:1.714em}.q-slide-item__left{background:#4caf50;padding:8px 16px}.q-slide-item__left>div{transform-origin:left center}.q-slide-item__right{background:#ff9800;padding:8px 16px}.q-slide-item__right>div{transform-origin:right center}.q-slide-item__top{background:#2196f3;padding:16px 8px}.q-slide-item__top>div{transform-origin:top center}.q-slide-item__bottom{background:#9c27b0;padding:16px 8px}.q-slide-item__bottom>div{transform-origin:bottom center}.q-slide-item__content{background:inherit;transition:transform .2s ease-in;-webkit-user-select:none;user-select:none;cursor:pointer}.q-slider{position:relative}.q-slider--h{width:100%}.q-slider--v{height:200px}.q-slider--editable .q-slider__track-container{cursor:grab}.q-slider__track-container{outline:0}.q-slider__track-container--h{width:100%;padding:12px 0}.q-slider__track-container--h .q-slider__selection{will-change:width,left}.q-slider__track-container--v{height:100%;padding:0 12px}.q-slider__track-container--v .q-slider__selection{will-change:height,top}.q-slider__track{color:var(--q-primary);background:#0000001a;border-radius:4px;width:inherit;height:inherit}.q-slider__inner{background:#0000001a;border-radius:inherit;width:100%;height:100%}.q-slider__selection{background:currentColor;border-radius:inherit;width:100%;height:100%}.q-slider__markers{color:#0000004d;border-radius:inherit;width:100%;height:100%}.q-slider__markers:after{content:"";position:absolute;background:currentColor}.q-slider__markers--h{background-image:repeating-linear-gradient(to right,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--h:after{height:100%;width:2px;top:0;right:0}.q-slider__markers--v{background-image:repeating-linear-gradient(to bottom,currentColor,currentColor 2px,rgba(255,255,255,0) 0,rgba(255,255,255,0))}.q-slider__markers--v:after{width:100%;height:2px;left:0;bottom:0}.q-slider__marker-labels-container{position:relative;width:100%;height:100%;min-height:24px;min-width:24px}.q-slider__marker-labels{position:absolute}.q-slider__marker-labels--h-standard{top:0}.q-slider__marker-labels--h-switched{bottom:0}.q-slider__marker-labels--h-ltr{transform:translate(-50%)}.q-slider__marker-labels--h-rtl{transform:translate(50%)}.q-slider__marker-labels--v-standard{left:4px}.q-slider__marker-labels--v-switched{right:4px}.q-slider__marker-labels--v-ltr{transform:translateY(-50%)}.q-slider__marker-labels--v-rtl{transform:translateY(50%)}.q-slider__thumb{z-index:1;outline:0;color:var(--q-primary);transition:transform .18s ease-out,fill .18s ease-out,stroke .18s ease-out}.q-slider__thumb.q-slider--focus{opacity:1!important}.q-slider__thumb--h{top:50%;will-change:left}.q-slider__thumb--h-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--h-rtl{transform:scale(1) translate(50%,-50%)}.q-slider__thumb--v{left:50%;will-change:top}.q-slider__thumb--v-ltr{transform:scale(1) translate(-50%,-50%)}.q-slider__thumb--v-rtl{transform:scale(1) translate(-50%,50%)}.q-slider__thumb-shape{top:0;left:0;stroke-width:3.5;stroke:currentColor;transition:transform .28s}.q-slider__thumb-shape path{stroke:currentColor;fill:currentColor}.q-slider__focus-ring{border-radius:50%;opacity:0;transition:transform .26667s ease-out,opacity .26667s ease-out,background-color .26667s ease-out;transition-delay:.14s}.q-slider__pin{opacity:0;white-space:nowrap;transition:opacity .28s ease-out;transition-delay:.14s}.q-slider__pin:before{content:"";width:0;height:0;position:absolute}.q-slider__pin--h:before{border-left:6px solid transparent;border-right:6px solid transparent;left:50%;transform:translate(-50%)}.q-slider__pin--h-standard{bottom:100%}.q-slider__pin--h-standard:before{bottom:2px;border-top:6px solid currentColor}.q-slider__pin--h-switched{top:100%}.q-slider__pin--h-switched:before{top:2px;border-bottom:6px solid currentColor}.q-slider__pin--v{top:0}.q-slider__pin--v:before{top:50%;transform:translateY(-50%);border-top:6px solid transparent;border-bottom:6px solid transparent}.q-slider__pin--v-standard{left:100%}.q-slider__pin--v-standard:before{left:2px;border-right:6px solid currentColor}.q-slider__pin--v-switched{right:100%}.q-slider__pin--v-switched:before{right:2px;border-left:6px solid currentColor}.q-slider__label{z-index:1;white-space:nowrap;position:absolute}.q-slider__label--h{left:50%;transform:translate(-50%)}.q-slider__label--h-standard{bottom:7px}.q-slider__label--h-switched{top:7px}.q-slider__label--v{top:50%;transform:translateY(-50%)}.q-slider__label--v-standard{left:7px}.q-slider__label--v-switched{right:7px}.q-slider__text-container{min-height:25px;padding:2px 8px;border-radius:4px;background:currentColor;position:relative;text-align:center}.q-slider__text{color:#fff;font-size:12px}.q-slider--no-value .q-slider__thumb,.q-slider--no-value .q-slider__inner,.q-slider--no-value .q-slider__selection{opacity:0}.q-slider--focus .q-slider__focus-ring,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__focus-ring{background:currentColor;transform:scale3d(1.55,1.55,1);opacity:.25}.q-slider--focus .q-slider__thumb,.q-slider--focus .q-slider__inner,.q-slider--focus .q-slider__selection,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__thumb,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__inner,body.desktop .q-slider.q-slider--editable .q-slider__track-container:hover .q-slider__selection{opacity:1}.q-slider--inactive .q-slider__thumb--h{transition:left .28s,right .28s}.q-slider--inactive .q-slider__thumb--v{transition:top .28s,bottom .28s}.q-slider--inactive .q-slider__selection{transition:width .28s,left .28s,right .28s,height .28s,top .28s,bottom .28s}.q-slider--inactive .q-slider__text-container{transition:transform .28s}.q-slider--active{cursor:grabbing}.q-slider--active .q-slider__thumb-shape{transform:scale(1.5)}.q-slider--active .q-slider__focus-ring,.q-slider--active.q-slider--label .q-slider__thumb-shape{transform:scale(0)!important}body.desktop .q-slider.q-slider--enabled .q-slider__track-container:hover .q-slider__pin,.q-slider--label.q-slider--active .q-slider__pin,.q-slider--label .q-slider--focus .q-slider__pin,.q-slider--label.q-slider--label-always .q-slider__pin{opacity:1}.q-slider--dark .q-slider__track,.q-slider--dark .q-slider__inner{background:#ffffff1a}.q-slider--dark .q-slider__markers{color:#ffffff4d}.q-slider--dense .q-slider__track-container--h{padding:6px 0}.q-slider--dense .q-slider__track-container--v{padding:0 6px}.q-space{flex-grow:1!important}.q-spinner{vertical-align:middle}.q-spinner-mat{animation:q-spin 2s linear infinite;transform-origin:center center}.q-spinner-mat .path{stroke-dasharray:1,200;stroke-dashoffset:0;animation:q-mat-dash 1.5s ease-in-out infinite}@keyframes q-spin{0%{transform:rotate3d(0,0,1,0)}25%{transform:rotate3d(0,0,1,90deg)}50%{transform:rotate3d(0,0,1,180deg)}75%{transform:rotate3d(0,0,1,270deg)}to{transform:rotate3d(0,0,1,359deg)}}@keyframes q-mat-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.q-splitter__panel{position:relative;z-index:0}.q-splitter__panel>.q-splitter{width:100%;height:100%}.q-splitter__separator{background-color:#0000001f;-webkit-user-select:none;user-select:none;position:relative;z-index:1}.q-splitter__separator-area>*{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.q-splitter--dark .q-splitter__separator{background-color:#ffffff47}.q-splitter--vertical>.q-splitter__panel{height:100%}.q-splitter--vertical.q-splitter--active{cursor:col-resize}.q-splitter--vertical>.q-splitter__separator{width:1px}.q-splitter--vertical>.q-splitter__separator>div{left:-6px;right:-6px}.q-splitter--vertical.q-splitter--workable>.q-splitter__separator{cursor:col-resize}.q-splitter--horizontal>.q-splitter__panel{width:100%}.q-splitter--horizontal.q-splitter--active{cursor:row-resize}.q-splitter--horizontal>.q-splitter__separator{height:1px}.q-splitter--horizontal>.q-splitter__separator>div{top:-6px;bottom:-6px}.q-splitter--horizontal.q-splitter--workable>.q-splitter__separator{cursor:row-resize}.q-splitter__before,.q-splitter__after{overflow:auto}.q-stepper{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff}.q-stepper__title{font-size:14px;line-height:1.285714;letter-spacing:.1px}.q-stepper__caption{font-size:12px;line-height:1.16667}.q-stepper__dot{contain:layout;margin-right:8px;font-size:14px;width:24px;min-width:24px;height:24px;border-radius:50%;background:currentColor}.q-stepper__dot span{color:#fff}.q-stepper__tab{padding:8px 24px;font-size:14px;color:#9e9e9e;flex-direction:row}.q-stepper--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-stepper--dark .q-stepper__dot span{color:#000}.q-stepper__tab--navigation{-webkit-user-select:none;user-select:none;cursor:pointer}.q-stepper__tab--active,.q-stepper__tab--done{color:var(--q-primary)}.q-stepper__tab--active .q-stepper__dot,.q-stepper__tab--active .q-stepper__label,.q-stepper__tab--done .q-stepper__dot,.q-stepper__tab--done .q-stepper__label{text-shadow:0 0 0 currentColor}.q-stepper__tab--disabled .q-stepper__dot{background:#00000038}.q-stepper__tab--disabled .q-stepper__label{color:#00000052}.q-stepper__tab--error{color:var(--q-negative)}.q-stepper__tab--error-with-icon .q-stepper__dot{background:transparent!important}.q-stepper__tab--error-with-icon .q-stepper__dot span{color:currentColor;font-size:24px}.q-stepper__header{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-stepper__header--border{border-bottom:1px solid rgba(0,0,0,.12)}.q-stepper__header--standard-labels .q-stepper__tab{min-height:72px;justify-content:center}.q-stepper__header--standard-labels .q-stepper__tab:first-child{justify-content:flex-start}.q-stepper__header--standard-labels .q-stepper__tab:last-child{justify-content:flex-end}.q-stepper__header--standard-labels .q-stepper__tab:only-child{justify-content:center}.q-stepper__header--standard-labels .q-stepper__dot:after{display:none}.q-stepper__header--alternative-labels .q-stepper__tab{min-height:104px;padding:24px 32px;flex-direction:column;justify-content:flex-start}.q-stepper__header--alternative-labels .q-stepper__dot{margin-right:0}.q-stepper__header--alternative-labels .q-stepper__label{margin-top:8px;text-align:center}.q-stepper__header--alternative-labels .q-stepper__label:before,.q-stepper__header--alternative-labels .q-stepper__label:after{display:none}.q-stepper__header--contracted,.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab{min-height:72px}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:first-child{align-items:flex-start}.q-stepper__header--contracted.q-stepper__header--alternative-labels .q-stepper__tab:last-child{align-items:flex-end}.q-stepper__header--contracted .q-stepper__tab{padding:24px 0}.q-stepper__header--contracted .q-stepper__tab:first-child .q-stepper__dot{transform:translate(24px)}.q-stepper__header--contracted .q-stepper__tab:last-child .q-stepper__dot{transform:translate(-24px)}.q-stepper__header--contracted .q-stepper__tab:not(:last-child) .q-stepper__dot:after{display:block!important}.q-stepper__header--contracted .q-stepper__dot{margin:0}.q-stepper__header--contracted .q-stepper__label{display:none}.q-stepper__nav{padding-top:24px}.q-stepper--flat{box-shadow:none}.q-stepper--bordered{border:1px solid rgba(0,0,0,.12)}.q-stepper--horizontal .q-stepper__step-inner{padding:24px}.q-stepper--horizontal .q-stepper__tab:first-child{border-top-left-radius:inherit}.q-stepper--horizontal .q-stepper__tab:last-child{border-top-right-radius:inherit}.q-stepper--horizontal .q-stepper__tab:first-child .q-stepper__dot:before,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__label:after,.q-stepper--horizontal .q-stepper__tab:last-child .q-stepper__dot:after{display:none}.q-stepper--horizontal .q-stepper__tab{overflow:hidden}.q-stepper--horizontal .q-stepper__line{contain:layout}.q-stepper--horizontal .q-stepper__line:before,.q-stepper--horizontal .q-stepper__line:after{position:absolute;top:50%;height:1px;width:100vw;background:#0000001f}.q-stepper--horizontal .q-stepper__label:after,.q-stepper--horizontal .q-stepper__dot:after{content:"";left:100%;margin-left:8px}.q-stepper--horizontal .q-stepper__dot:before{content:"";right:100%;margin-right:8px}.q-stepper--horizontal>.q-stepper__nav{padding:0 24px 24px}.q-stepper--vertical{padding:16px 0}.q-stepper--vertical .q-stepper__tab{padding:12px 24px}.q-stepper--vertical .q-stepper__title{line-height:18px}.q-stepper--vertical .q-stepper__step-inner{padding:0 24px 32px 60px}.q-stepper--vertical>.q-stepper__nav{padding:24px 24px 0}.q-stepper--vertical .q-stepper__step{overflow:hidden}.q-stepper--vertical .q-stepper__dot{margin-right:12px}.q-stepper--vertical .q-stepper__dot:before,.q-stepper--vertical .q-stepper__dot:after{content:"";position:absolute;left:50%;width:1px;height:99999px;background:#0000001f}.q-stepper--vertical .q-stepper__dot:before{bottom:100%;margin-bottom:8px}.q-stepper--vertical .q-stepper__dot:after{top:100%;margin-top:8px}.q-stepper--vertical .q-stepper__step:first-child .q-stepper__dot:before,.q-stepper--vertical .q-stepper__step:last-child .q-stepper__dot:after{display:none}.q-stepper--vertical .q-stepper__step:last-child .q-stepper__step-inner{padding-bottom:8px}.q-stepper--dark.q-stepper--bordered,.q-stepper--dark .q-stepper__header--border{border-color:#ffffff47}.q-stepper--dark.q-stepper--horizontal .q-stepper__line:before,.q-stepper--dark.q-stepper--horizontal .q-stepper__line:after{background:#ffffff47}.q-stepper--dark.q-stepper--vertical .q-stepper__dot:before,.q-stepper--dark.q-stepper--vertical .q-stepper__dot:after{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled{color:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__dot{background:#ffffff47}.q-stepper--dark .q-stepper__tab--disabled .q-stepper__label{color:#ffffff8a}.q-tab-panels{background:#fff}.q-tab-panel{padding:16px}.q-markup-table{overflow:auto;background:#fff}.q-table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0}.q-table thead tr,.q-table tbody td{height:48px}.q-table th{font-weight:500;font-size:12px;-webkit-user-select:none;user-select:none}.q-table th.sortable{cursor:pointer}.q-table th.sortable:hover .q-table__sort-icon{opacity:.64}.q-table th.sorted .q-table__sort-icon{opacity:.86!important}.q-table th.sort-desc .q-table__sort-icon{transform:rotate(180deg)}.q-table th,.q-table td{padding:7px 16px;background-color:inherit}.q-table thead,.q-table td,.q-table th{border-style:solid;border-width:0}.q-table tbody td{font-size:13px}.q-table__card{color:#000;background-color:#fff;border-radius:4px;box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.q-table__card .q-table__middle{flex:1 1 auto}.q-table__card .q-table__top,.q-table__card .q-table__bottom{flex:0 0 auto}.q-table__container{position:relative}.q-table__container>div:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.q-table__container>div:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.q-table__container>.q-inner-loading{border-radius:inherit!important}.q-table__top{padding:12px 16px}.q-table__top .q-table__control{flex-wrap:wrap}.q-table__title{font-size:20px;letter-spacing:.005em;font-weight:400}.q-table__separator{min-width:8px!important}.q-table__progress{height:0!important}.q-table__progress th{padding:0!important;border:0!important}.q-table__progress .q-linear-progress{position:absolute;bottom:0}.q-table__middle{max-width:100%}.q-table__bottom{min-height:50px;padding:4px 14px 4px 16px;font-size:12px}.q-table__bottom .q-table__control{min-height:24px}.q-table__bottom-nodata-icon{font-size:200%;margin-right:8px}.q-table__bottom-item{margin-right:16px}.q-table__control{display:flex;align-items:center}.q-table__sort-icon{transition:transform .3s cubic-bezier(.25,.8,.5,1);opacity:0;font-size:120%}.q-table__sort-icon--left,.q-table__sort-icon--center{margin-left:4px}.q-table__sort-icon--right{margin-right:4px}.q-table--col-auto-width{width:1px}.q-table__card--dark,.q-table--dark{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-table--flat{box-shadow:none}.q-table--bordered{border:1px solid rgba(0,0,0,.12)}.q-table--square{border-radius:0}.q-table__linear-progress{height:2px}.q-table--no-wrap th,.q-table--no-wrap td{white-space:nowrap}.q-table--grid{box-shadow:none;border-radius:4px}.q-table--grid .q-table__top{padding-bottom:4px}.q-table--grid .q-table__middle{min-height:2px;margin-bottom:4px}.q-table--grid .q-table__middle thead,.q-table--grid .q-table__middle thead th{border:0!important}.q-table--grid .q-table__linear-progress{bottom:0}.q-table--grid .q-table__bottom{border-top:0}.q-table--grid .q-table__grid-content{flex:1 1 auto}.q-table--grid.fullscreen{background:inherit}.q-table__grid-item-card{vertical-align:top;padding:12px}.q-table__grid-item-card .q-separator{margin:12px 0}.q-table__grid-item-row+.q-table__grid-item-row{margin-top:8px}.q-table__grid-item-title{opacity:.54;font-weight:500;font-size:12px}.q-table__grid-item-value{font-size:13px}.q-table__grid-item{padding:4px;transition:transform .3s cubic-bezier(.25,.8,.5,1)}.q-table__grid-item--selected{transform:scale(.95)}.q-table--horizontal-separator thead th,.q-table--horizontal-separator tbody tr:not(:last-child)>td,.q-table--cell-separator thead th,.q-table--cell-separator tbody tr:not(:last-child)>td{border-bottom-width:1px}.q-table--vertical-separator td,.q-table--vertical-separator th,.q-table--cell-separator td,.q-table--cell-separator th{border-left-width:1px}.q-table--vertical-separator thead tr:last-child th,.q-table--vertical-separator.q-table--loading tr:nth-last-child(2) th,.q-table--cell-separator thead tr:last-child th,.q-table--cell-separator.q-table--loading tr:nth-last-child(2) th{border-bottom-width:1px}.q-table--vertical-separator td:first-child,.q-table--vertical-separator th:first-child,.q-table--cell-separator td:first-child,.q-table--cell-separator th:first-child{border-left:0}.q-table--vertical-separator .q-table__top,.q-table--cell-separator .q-table__top{border-bottom:1px solid rgba(0,0,0,.12)}.q-table--dense .q-table__top{padding:6px 16px}.q-table--dense .q-table__bottom{min-height:33px}.q-table--dense .q-table__sort-icon{font-size:110%}.q-table--dense .q-table th,.q-table--dense .q-table td{padding:4px 8px}.q-table--dense .q-table thead tr,.q-table--dense .q-table tbody tr,.q-table--dense .q-table tbody td{height:28px}.q-table--dense .q-table th:first-child,.q-table--dense .q-table td:first-child{padding-left:16px}.q-table--dense .q-table th:last-child,.q-table--dense .q-table td:last-child{padding-right:16px}.q-table--dense .q-table__bottom-item{margin-right:8px}.q-table--dense .q-table__select .q-field__control,.q-table--dense .q-table__select .q-field__native{min-height:24px;padding:0}.q-table--dense .q-table__select .q-field__marginal{height:24px}.q-table__bottom:not(.q-table__bottom--nodata){border-top:1px solid rgba(0,0,0,.12)}.q-table thead,.q-table tr,.q-table th,.q-table td{border-color:#0000001f}.q-table tbody td{position:relative}.q-table tbody td:before,.q-table tbody td:after{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.q-table tbody td:before{background:#00000008}.q-table tbody td:after{background:#0000000f}.q-table tbody tr.selected td:after{content:""}body.desktop .q-table>tbody>tr:not(.q-tr--no-hover):hover>td:not(.q-td--no-hover):before{content:""}.q-table__card--dark,.q-table--dark,.q-table--dark .q-table__bottom,.q-table--dark thead,.q-table--dark tr,.q-table--dark th,.q-table--dark td{border-color:#ffffff47}.q-table--dark tbody td:before{background:#ffffff12}.q-table--dark tbody td:after{background:#ffffff1a}.q-table--dark.q-table--vertical-separator .q-table__top,.q-table--dark.q-table--cell-separator .q-table__top{border-color:#ffffff47}.q-tab{padding:0 16px;min-height:48px;transition:color .3s,background-color .3s;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none}.q-tab--full{min-height:72px}.q-tab--no-caps{text-transform:none}.q-tab__content{height:inherit;padding:4px 0;min-width:40px}.q-tab__content--inline .q-tab__icon+.q-tab__label{padding-left:8px}.q-tab__content .q-chip--floating{top:0;right:-16px}.q-tab__icon{width:24px;height:24px;font-size:24px}.q-tab__label{font-size:14px;line-height:1.715em;font-weight:500}.q-tab .q-badge{top:3px;right:-12px}.q-tab__alert,.q-tab__alert-icon{position:absolute}.q-tab__alert{top:7px;right:-9px;height:10px;width:10px;border-radius:50%;background:currentColor}.q-tab__alert-icon{top:2px;right:-12px;font-size:18px}.q-tab__indicator{opacity:0;height:2px;background:currentColor}.q-tab--active .q-tab__indicator{opacity:1;transform-origin:left}.q-tab--inactive{opacity:.85}.q-tabs{position:relative;transition:color .3s,background-color .3s}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--horizontal{padding-left:36px;padding-right:36px}.q-tabs--scrollable.q-tabs__arrows--outside.q-tabs--vertical{padding-top:36px;padding-bottom:36px}.q-tabs--scrollable.q-tabs__arrows--outside .q-tabs__arrow--faded{opacity:.3;pointer-events:none}.q-tabs--scrollable.q-tabs__arrows--inside .q-tabs__arrow--faded{display:none}.q-tabs--not-scrollable.q-tabs__arrows--outside,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows.q-tabs__arrows--outside{padding-left:0;padding-right:0}.q-tabs--not-scrollable .q-tabs__arrow,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__arrow{display:none}.q-tabs--not-scrollable .q-tabs__content,body.mobile .q-tabs--scrollable.q-tabs--mobile-without-arrows .q-tabs__content{border-radius:inherit}.q-tabs__arrow{cursor:pointer;font-size:32px;min-width:36px;text-shadow:0 0 3px #fff,0 0 1px #fff,0 0 1px #000;transition:opacity .3s}.q-tabs__content{overflow:hidden;flex:1 1 auto}.q-tabs__content--align-center{justify-content:center}.q-tabs__content--align-right{justify-content:flex-end}.q-tabs__content--align-justify .q-tab{flex:1 1 auto}.q-tabs__offset{display:none}.q-tabs--horizontal .q-tabs__arrow{height:100%}.q-tabs--horizontal .q-tabs__arrow--left{top:0;left:0;bottom:0}.q-tabs--horizontal .q-tabs__arrow--right{top:0;right:0;bottom:0}.q-tabs--vertical,.q-tabs--vertical .q-tabs__content{display:block!important;height:100%}.q-tabs--vertical .q-tabs__arrow{width:100%;height:36px;text-align:center}.q-tabs--vertical .q-tabs__arrow--left{top:0;left:0;right:0}.q-tabs--vertical .q-tabs__arrow--right{left:0;right:0;bottom:0}.q-tabs--vertical .q-tab{padding:0 8px}.q-tabs--vertical .q-tab__indicator{height:unset;width:2px}.q-tabs--vertical.q-tabs--not-scrollable .q-tabs__content{height:100%}.q-tabs--vertical.q-tabs--dense .q-tab__content{min-width:24px}.q-tabs--dense .q-tab{min-height:36px}.q-tabs--dense .q-tab--full{min-height:52px}.q-time{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;background:#fff;outline:0;width:290px;min-width:290px;max-width:100%}.q-time--bordered{border:1px solid rgba(0,0,0,.12)}.q-time__header{border-top-left-radius:inherit;color:#fff;background-color:var(--q-primary);padding:16px;font-weight:300}.q-time__actions{padding:0 16px 16px}.q-time__header-label{font-size:28px;line-height:1;letter-spacing:-.00833em}.q-time__header-label>div+div{margin-left:4px}.q-time__link{opacity:.56;outline:0;transition:opacity .3s ease-out}.q-time__link--active,.q-time__link:hover,.q-time__link:focus{opacity:1}.q-time__header-ampm{font-size:16px;letter-spacing:.1em}.q-time__content{padding:16px}.q-time__content:before{content:"";display:block;padding-bottom:100%}.q-time__container-parent{padding:16px}.q-time__container-child{border-radius:50%;background:#0000001f}.q-time__clock{padding:24px;width:100%;height:100%;max-width:100%;max-height:100%;font-size:14px}.q-time__clock-circle{position:relative}.q-time__clock-center{height:6px;width:6px;margin:auto;border-radius:50%;min-height:0;background:currentColor}.q-time__clock-pointer{width:2px;height:50%;transform-origin:0 0;min-height:0;position:absolute;left:50%;right:0;bottom:0;color:var(--q-primary);background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before,.q-time__clock-pointer:after{content:"";position:absolute;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%)}.q-time__clock-pointer:before{bottom:-4px;width:8px;height:8px}.q-time__clock-pointer:after{top:-3px;height:6px;width:6px}.q-time__clock-position{position:absolute;min-height:32px;width:32px;height:32px;font-size:12px;line-height:32px;margin:0;padding:0;transform:translate(-50%,-50%);border-radius:50%}.q-time__clock-position--disable{opacity:.4}.q-time__clock-position--active{background-color:var(--q-primary);color:#fff}.q-time__clock-pos-0{top:0%;left:50%}.q-time__clock-pos-1{top:6.7%;left:75%}.q-time__clock-pos-2{top:25%;left:93.3%}.q-time__clock-pos-3{top:50%;left:100%}.q-time__clock-pos-4{top:75%;left:93.3%}.q-time__clock-pos-5{top:93.3%;left:75%}.q-time__clock-pos-6{top:100%;left:50%}.q-time__clock-pos-7{top:93.3%;left:25%}.q-time__clock-pos-8{top:75%;left:6.7%}.q-time__clock-pos-9{top:50%;left:0%}.q-time__clock-pos-10{top:25%;left:6.7%}.q-time__clock-pos-11{top:6.7%;left:25%}.q-time__clock-pos-12{top:15%;left:50%}.q-time__clock-pos-13{top:19.69%;left:67.5%}.q-time__clock-pos-14{top:32.5%;left:80.31%}.q-time__clock-pos-15{top:50%;left:85%}.q-time__clock-pos-16{top:67.5%;left:80.31%}.q-time__clock-pos-17{top:80.31%;left:67.5%}.q-time__clock-pos-18{top:85%;left:50%}.q-time__clock-pos-19{top:80.31%;left:32.5%}.q-time__clock-pos-20{top:67.5%;left:19.69%}.q-time__clock-pos-21{top:50%;left:15%}.q-time__clock-pos-22{top:32.5%;left:19.69%}.q-time__clock-pos-23{top:19.69%;left:32.5%}.q-time__now-button{background-color:var(--q-primary);color:#fff;top:12px;right:12px}.q-time.disabled .q-time__header-ampm,.q-time.disabled .q-time__content,.q-time--readonly .q-time__header-ampm,.q-time--readonly .q-time__content{pointer-events:none}.q-time--portrait{display:inline-flex;flex-direction:column}.q-time--portrait .q-time__header{border-top-right-radius:inherit;min-height:86px}.q-time--portrait .q-time__header-ampm{margin-left:12px}.q-time--portrait.q-time--bordered .q-time__content{margin:1px 0}.q-time--landscape{display:inline-flex;align-items:stretch;min-width:420px}.q-time--landscape>div{display:flex;flex-direction:column;justify-content:center}.q-time--landscape .q-time__header{border-bottom-left-radius:inherit;min-width:156px}.q-time--landscape .q-time__header-ampm{margin-top:12px}.q-time--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-timeline{padding:0;width:100%;list-style:none}.q-timeline h6{line-height:inherit}.q-timeline--dark{color:#fff}.q-timeline--dark .q-timeline__subtitle{opacity:.7}.q-timeline__content{padding-bottom:24px}.q-timeline__title{margin-top:0;margin-bottom:16px}.q-timeline__subtitle{font-size:12px;margin-bottom:8px;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-weight:700}.q-timeline__dot{position:absolute;top:0;bottom:0;width:15px}.q-timeline__dot:before,.q-timeline__dot:after{content:"";background:currentColor;display:block;position:absolute}.q-timeline__dot:before{border:3px solid transparent;border-radius:100%;height:15px;width:15px;top:4px;left:0;transition:background .3s ease-in-out,border .3s ease-in-out}.q-timeline__dot:after{width:3px;opacity:.4;top:24px;bottom:0;left:6px}.q-timeline__dot .q-icon{position:absolute;top:0;left:0;right:0;font-size:16px;height:38px;line-height:38px;width:100%;color:#fff}.q-timeline__dot .q-icon>svg,.q-timeline__dot .q-icon>img{width:1em;height:1em}.q-timeline__dot-img{position:absolute;top:4px;left:0;right:0;height:31px;width:31px;background:currentColor;border-radius:50%}.q-timeline__heading{position:relative}.q-timeline__heading:first-child .q-timeline__heading-title{padding-top:0}.q-timeline__heading:last-child .q-timeline__heading-title{padding-bottom:0}.q-timeline__heading-title{padding:32px 0;margin:0}.q-timeline__entry{position:relative;line-height:22px}.q-timeline__entry:last-child{padding-bottom:0!important}.q-timeline__entry:last-child .q-timeline__dot:after{content:none}.q-timeline__entry--icon .q-timeline__dot{width:31px}.q-timeline__entry--icon .q-timeline__dot:before{height:31px;width:31px}.q-timeline__entry--icon .q-timeline__dot:after{top:41px;left:14px}.q-timeline__entry--icon .q-timeline__subtitle{padding-top:8px}.q-timeline--dense--right .q-timeline__entry{padding-left:40px}.q-timeline--dense--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--dense--right .q-timeline__dot{left:0}.q-timeline--dense--left .q-timeline__heading{text-align:right}.q-timeline--dense--left .q-timeline__entry{padding-right:40px}.q-timeline--dense--left .q-timeline__entry--icon .q-timeline__dot{right:-8px}.q-timeline--dense--left .q-timeline__content,.q-timeline--dense--left .q-timeline__title,.q-timeline--dense--left .q-timeline__subtitle{text-align:right}.q-timeline--dense--left .q-timeline__dot{right:0}.q-timeline--comfortable{display:table}.q-timeline--comfortable .q-timeline__heading{display:table-row;font-size:200%}.q-timeline--comfortable .q-timeline__heading>div{display:table-cell}.q-timeline--comfortable .q-timeline__entry{display:table-row;padding:0}.q-timeline--comfortable .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--comfortable .q-timeline__subtitle,.q-timeline--comfortable .q-timeline__dot,.q-timeline--comfortable .q-timeline__content{display:table-cell;vertical-align:top}.q-timeline--comfortable .q-timeline__subtitle{width:35%}.q-timeline--comfortable .q-timeline__dot{position:relative;min-width:31px}.q-timeline--comfortable--right .q-timeline__heading .q-timeline__heading-title{margin-left:-50px}.q-timeline--comfortable--right .q-timeline__subtitle{text-align:right;padding-right:30px}.q-timeline--comfortable--right .q-timeline__content{padding-left:30px}.q-timeline--comfortable--right .q-timeline__entry--icon .q-timeline__dot{left:-8px}.q-timeline--comfortable--left .q-timeline__heading{text-align:right}.q-timeline--comfortable--left .q-timeline__heading .q-timeline__heading-title{margin-right:-50px}.q-timeline--comfortable--left .q-timeline__subtitle{padding-left:30px}.q-timeline--comfortable--left .q-timeline__content{padding-right:30px}.q-timeline--comfortable--left .q-timeline__content,.q-timeline--comfortable--left .q-timeline__title{text-align:right}.q-timeline--comfortable--left .q-timeline__entry--icon .q-timeline__dot{right:0}.q-timeline--comfortable--left .q-timeline__dot{right:-8px}.q-timeline--loose .q-timeline__heading-title{text-align:center;margin-left:0}.q-timeline--loose .q-timeline__entry,.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__dot,.q-timeline--loose .q-timeline__content{display:block;margin:0;padding:0}.q-timeline--loose .q-timeline__dot{position:absolute;left:50%;margin-left:-7.15px}.q-timeline--loose .q-timeline__entry{padding-bottom:24px;overflow:hidden}.q-timeline--loose .q-timeline__entry--icon .q-timeline__dot{margin-left:-15px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__subtitle{line-height:38px}.q-timeline--loose .q-timeline__entry--icon .q-timeline__content{padding-top:8px}.q-timeline--loose .q-timeline__entry--left .q-timeline__content,.q-timeline--loose .q-timeline__entry--right .q-timeline__subtitle{float:left;padding-right:30px;text-align:right}.q-timeline--loose .q-timeline__entry--left .q-timeline__subtitle,.q-timeline--loose .q-timeline__entry--right .q-timeline__content{float:right;text-align:left;padding-left:30px}.q-timeline--loose .q-timeline__subtitle,.q-timeline--loose .q-timeline__content{width:50%}.q-toggle{vertical-align:middle}.q-toggle__native{width:1px;height:1px}.q-toggle__track{height:.35em;border-radius:.175em;opacity:.38;background:currentColor}.q-toggle__thumb{top:.25em;left:.25em;width:.5em;height:.5em;transition:left .22s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;z-index:0}.q-toggle__thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#fff;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.q-toggle__thumb .q-icon{font-size:.3em;min-width:1em;color:#000;opacity:.54;z-index:1}.q-toggle__inner{font-size:40px;width:1.4em;min-width:1.4em;height:1em;padding:.325em .3em;-webkit-print-color-adjust:exact}.q-toggle__inner--indet .q-toggle__thumb{left:.45em}.q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle__inner--truthy .q-toggle__track{opacity:.54}.q-toggle__inner--truthy .q-toggle__thumb{left:.65em}.q-toggle__inner--truthy .q-toggle__thumb:after{background-color:currentColor}.q-toggle__inner--truthy .q-toggle__thumb .q-icon{color:#fff;opacity:1}.q-toggle.disabled{opacity:.75!important}.q-toggle--dark .q-toggle__inner{color:#fff}.q-toggle--dark .q-toggle__inner--truthy{color:var(--q-primary)}.q-toggle--dark .q-toggle__thumb:after{box-shadow:none}.q-toggle--dark .q-toggle__thumb:before{opacity:.32!important}.q-toggle--dense .q-toggle__inner{width:.8em;min-width:.8em;height:.5em;padding:.07625em 0}.q-toggle--dense .q-toggle__thumb{top:0;left:0}.q-toggle--dense .q-toggle__inner--indet .q-toggle__thumb{left:.15em}.q-toggle--dense .q-toggle__inner--truthy .q-toggle__thumb{left:.3em}.q-toggle--dense .q-toggle__label{padding-left:.5em}.q-toggle--dense.reverse .q-toggle__label{padding-left:0;padding-right:.5em}body.desktop .q-toggle:not(.disabled) .q-toggle__thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:currentColor;opacity:.12;transform:scale3d(0,0,1);transition:transform .22s cubic-bezier(0,0,.2,1)}body.desktop .q-toggle:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(2,2,1)}body.desktop .q-toggle--dense:not(.disabled):focus .q-toggle__thumb:before,body.desktop .q-toggle--dense:not(.disabled):hover .q-toggle__thumb:before{transform:scale3d(1.5,1.5,1)}.q-toolbar{position:relative;padding:0 12px;min-height:50px;width:100%}.q-toolbar--inset{padding-left:58px}.q-toolbar .q-avatar{font-size:38px}.q-toolbar__title{flex:1 1 0%;min-width:1px;max-width:100%;font-size:21px;font-weight:400;letter-spacing:.01em;padding:0 12px}.q-toolbar__title:first-child{padding-left:0}.q-toolbar__title:last-child{padding-right:0}.q-tooltip--style{font-size:10px;color:#fafafa;background:#757575;border-radius:4px;text-transform:none;font-weight:400}.q-tooltip{z-index:9000;position:fixed!important;overflow-y:auto;overflow-x:hidden;padding:6px 10px;max-width:95vw;max-height:65vh}@media(max-width:599.98px){.q-tooltip{font-size:14px;padding:8px 16px}}.q-tree{position:relative;color:#9e9e9e}.q-tree__node{padding:0 0 3px 22px}.q-tree__node:after{content:"";position:absolute;top:-3px;bottom:0;width:2px;right:auto;left:-13px;border-left:1px solid currentColor}.q-tree__node:last-child:after{display:none}.q-tree__node--disabled{pointer-events:none}.q-tree__node--disabled .disabled{opacity:1!important}.q-tree__node--disabled>div,.q-tree__node--disabled>i,.q-tree__node--disabled>.disabled{opacity:.6!important}.q-tree__node--disabled>div .q-tree__node--disabled>div,.q-tree__node--disabled>div .q-tree__node--disabled>i,.q-tree__node--disabled>div .q-tree__node--disabled>.disabled,.q-tree__node--disabled>i .q-tree__node--disabled>div,.q-tree__node--disabled>i .q-tree__node--disabled>i,.q-tree__node--disabled>i .q-tree__node--disabled>.disabled,.q-tree__node--disabled>.disabled .q-tree__node--disabled>div,.q-tree__node--disabled>.disabled .q-tree__node--disabled>i,.q-tree__node--disabled>.disabled .q-tree__node--disabled>.disabled{opacity:1!important}.q-tree__node-header:before{content:"";position:absolute;top:-3px;bottom:50%;width:31px;left:-35px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}.q-tree__children{padding-left:25px}.q-tree__node-body{padding:5px 0 8px 5px}.q-tree__node--parent{padding-left:2px}.q-tree__node--parent>.q-tree__node-header:before{width:15px;left:-15px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:5px 0 8px 27px}.q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{content:"";position:absolute;top:0;width:2px;height:100%;right:auto;left:12px;border-left:1px solid currentColor;bottom:50px}.q-tree__node--link{cursor:pointer}.q-tree__node-header{padding:4px;margin-top:3px;border-radius:4px;outline:0}.q-tree__node-header-content{color:#000;transition:color .3s}.q-tree__node--selected .q-tree__node-header-content{color:#9e9e9e}.q-tree__icon,.q-tree__node-header-content .q-icon{font-size:21px}.q-tree__img{height:42px;border-radius:2px}.q-tree__avatar,.q-tree__node-header-content .q-avatar{font-size:28px;border-radius:50%;width:28px;height:28px}.q-tree__arrow,.q-tree__spinner{font-size:16px;margin-right:4px}.q-tree__arrow{transition:transform .3s}.q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-tree__tickbox{margin-right:4px}.q-tree>.q-tree__node{padding:0}.q-tree>.q-tree__node:after,.q-tree>.q-tree__node>.q-tree__node-header:before{display:none}.q-tree>.q-tree__node--child>.q-tree__node-header{padding-left:24px}.q-tree--dark .q-tree__node-header-content{color:#fff}.q-tree--no-connectors .q-tree__node:after,.q-tree--no-connectors .q-tree__node-header:before,.q-tree--no-connectors .q-tree__node-body:after{display:none!important}.q-tree--dense>.q-tree__node--child>.q-tree__node-header{padding-left:1px}.q-tree--dense .q-tree__arrow,.q-tree--dense .q-tree__spinner{margin-right:1px}.q-tree--dense .q-tree__img{height:32px}.q-tree--dense .q-tree__tickbox{margin-right:3px}.q-tree--dense .q-tree__node{padding:0}.q-tree--dense .q-tree__node:after{top:0;left:-8px}.q-tree--dense .q-tree__node-header{margin-top:0;padding:1px}.q-tree--dense .q-tree__node-header:before{top:0;left:-8px;width:8px}.q-tree--dense .q-tree__node--child{padding-left:17px}.q-tree--dense .q-tree__node--child>.q-tree__node-header:before{left:-25px;width:21px}.q-tree--dense .q-tree__node-body{padding:0 0 2px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body{padding:0 0 2px 20px}.q-tree--dense .q-tree__node--parent>.q-tree__node-collapsible>.q-tree__node-body:after{left:8px}.q-tree--dense .q-tree__children{padding-left:16px}[dir=rtl] .q-tree__arrow{transform:rotate3d(0,0,1,180deg)}[dir=rtl] .q-tree__arrow--rotate{transform:rotate3d(0,0,1,90deg)}.q-uploader{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;vertical-align:top;background:#fff;position:relative;width:320px;max-height:320px}.q-uploader--bordered{border:1px solid rgba(0,0,0,.12)}.q-uploader__input{opacity:0;width:100%;height:100%;cursor:pointer!important;z-index:1}.q-uploader__input::-webkit-file-upload-button{cursor:pointer}.q-uploader__file:before{content:"";border-top-left-radius:inherit;border-top-right-radius:inherit;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:currentColor;opacity:.04}.q-uploader__header{position:relative;border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:var(--q-primary);color:#fff;width:100%}.q-uploader__spinner{font-size:24px;margin-right:4px}.q-uploader__header-content{padding:8px}.q-uploader__dnd{outline:1px dashed currentColor;outline-offset:-4px;background:#fff9}.q-uploader__overlay{font-size:36px;color:#000;background-color:#fff9}.q-uploader__list{position:relative;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;padding:8px;min-height:60px;flex:1 1 auto}.q-uploader__file{border-radius:4px 4px 0 0;border:1px solid rgba(0,0,0,.12)}.q-uploader__file .q-circular-progress{font-size:24px}.q-uploader__file--img{color:#fff;height:200px;min-width:200px;background-position:50% 50%;background-repeat:no-repeat}.q-uploader__file--img:before{content:none}.q-uploader__file--img .q-circular-progress{color:#fff}.q-uploader__file--img .q-uploader__file-header{padding-bottom:24px;background:linear-gradient(to bottom,#000000b3 20%,#fff0)}.q-uploader__file+.q-uploader__file{margin-top:8px}.q-uploader__file-header{position:relative;padding:4px 8px;border-top-left-radius:inherit;border-top-right-radius:inherit}.q-uploader__file-header-content{padding-right:8px}.q-uploader__file-status{font-size:24px;margin-right:4px}.q-uploader__title{font-size:14px;font-weight:700;line-height:1.285714;word-break:break-word}.q-uploader__subtitle{font-size:12px;line-height:1.5}.q-uploader--disable .q-uploader__header,.q-uploader--disable .q-uploader__list{pointer-events:none}.q-uploader--dark{border-color:#ffffff47;box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}.q-uploader--dark .q-uploader__file{border-color:#ffffff47}.q-uploader--dark .q-uploader__dnd,.q-uploader--dark .q-uploader__overlay{background:#ffffff4d}.q-uploader--dark .q-uploader__overlay{color:#fff}.q-video{position:relative;overflow:hidden;border-radius:inherit}.q-video iframe,.q-video object,.q-video embed{width:100%;height:100%}.q-video--responsive{height:0}.q-video--responsive iframe,.q-video--responsive object,.q-video--responsive embed{position:absolute;top:0;left:0}.q-virtual-scroll:focus{outline:0}.q-virtual-scroll__content{outline:none;contain:content}.q-virtual-scroll__content>*{overflow-anchor:none}.q-virtual-scroll__content>[data-q-vs-anchor]{overflow-anchor:auto}.q-virtual-scroll__padding{background:linear-gradient(#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 100%) var(--q-virtual-scroll-item-height, 50px)}.q-table .q-virtual-scroll__padding tr{height:0!important}.q-table .q-virtual-scroll__padding td{padding:0!important}.q-virtual-scroll--horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch}.q-virtual-scroll--horizontal .q-virtual-scroll__content{display:flex;flex-direction:row;flex-wrap:nowrap}.q-virtual-scroll--horizontal .q-virtual-scroll__padding,.q-virtual-scroll--horizontal .q-virtual-scroll__content,.q-virtual-scroll--horizontal .q-virtual-scroll__content>*{flex:0 0 auto}.q-virtual-scroll--horizontal .q-virtual-scroll__padding{background:linear-gradient(to left,#fff0,#fff0 20%,#80808008 20%,#80808014,#80808008 80%,#fff0 80%,#fff0);background-size:var(--q-virtual-scroll-item-width, 50px) var(--q-virtual-scroll-item-height, 100%)}.q-ripple{position:absolute;top:0;left:0;width:100%;height:100%;color:inherit;border-radius:inherit;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.q-ripple__inner{position:absolute;top:0;left:0;opacity:0;color:inherit;border-radius:50%;background:currentColor;pointer-events:none;will-change:transform,opacity}.q-ripple__inner--enter{transition:transform .225s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1)}.q-ripple__inner--leave{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.q-morph--invisible,.q-morph--internal{opacity:0!important;pointer-events:none!important;position:fixed!important;right:200vw!important;bottom:200vh!important}.q-bottom-sheet{padding-bottom:8px}.q-bottom-sheet__avatar{border-radius:50%}.q-bottom-sheet--list{width:400px}.q-bottom-sheet--list .q-icon,.q-bottom-sheet--list img{font-size:24px;width:24px;height:24px}.q-bottom-sheet--grid{width:700px}.q-bottom-sheet--grid .q-bottom-sheet__item{padding:8px;text-align:center;min-width:100px}.q-bottom-sheet--grid .q-icon,.q-bottom-sheet--grid img,.q-bottom-sheet--grid .q-bottom-sheet__empty-icon{font-size:48px;width:48px;height:48px;margin-bottom:8px}.q-bottom-sheet--grid .q-separator{margin:12px 0}.q-bottom-sheet__item{flex:0 0 33.3333%}@media(min-width:600px){.q-bottom-sheet__item{flex:0 0 25%}}.q-dialog-plugin{width:400px}.q-dialog-plugin__form{max-height:50vh}.q-dialog-plugin .q-card__section+.q-card__section{padding-top:0}.q-dialog-plugin--progress{text-align:center}.q-loading{color:#000;position:fixed!important}.q-loading__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.5;z-index:-1;background-color:#000;transition:background-color .28s}.q-loading__box{border-radius:4px;padding:18px;color:#fff;max-width:450px}.q-loading__message{margin:40px 20px 0;text-align:center}.q-notifications__list{z-index:9500;pointer-events:none;left:0;right:0;margin-bottom:10px;position:relative}.q-notifications__list--center{top:0;bottom:0}.q-notifications__list--top{top:0}.q-notifications__list--bottom{bottom:0}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--top{top:20px;top:env(safe-area-inset-top)}body.q-ios-padding .q-notifications__list--center,body.q-ios-padding .q-notifications__list--bottom{bottom:env(safe-area-inset-bottom)}.q-notification{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f;border-radius:4px;pointer-events:all;display:inline-flex;margin:10px 10px 0;transition:transform 1s,opacity 1s;z-index:9500;flex-shrink:0;max-width:95vw;background:#323232;color:#fff;font-size:14px}.q-notification__icon{font-size:24px;flex:0 0 1em}.q-notification__icon--additional{margin-right:16px}.q-notification__avatar{font-size:32px}.q-notification__avatar--additional{margin-right:8px}.q-notification__spinner{font-size:32px}.q-notification__spinner--additional{margin-right:8px}.q-notification__message{padding:8px 0}.q-notification__caption{font-size:.9em;opacity:.7}.q-notification__actions{color:var(--q-primary)}.q-notification__badge{animation:q-notif-badge .42s;padding:4px 8px;position:absolute;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;background-color:var(--q-negative);color:#fff;border-radius:4px;font-size:12px;line-height:12px}.q-notification__badge--top-left,.q-notification__badge--top-right{top:-6px}.q-notification__badge--bottom-left,.q-notification__badge--bottom-right{bottom:-6px}.q-notification__badge--top-left,.q-notification__badge--bottom-left{left:-22px}.q-notification__badge--top-right,.q-notification__badge--bottom-right{right:-22px}.q-notification__progress{z-index:-1;position:absolute;height:3px;bottom:0;left:-10px;right:-10px;animation:q-notif-progress linear;background:currentColor;opacity:.3;border-radius:4px 4px 0 0;transform-origin:0 50%;transform:scaleX(0)}.q-notification--standard{padding:0 16px;min-height:48px}.q-notification--standard .q-notification__actions{padding:6px 0 6px 8px;margin-right:-8px}.q-notification--multi-line{min-height:68px;padding:8px 16px}.q-notification--multi-line .q-notification__badge--top-left,.q-notification--multi-line .q-notification__badge--top-right{top:-15px}.q-notification--multi-line .q-notification__badge--bottom-left,.q-notification--multi-line .q-notification__badge--bottom-right{bottom:-15px}.q-notification--multi-line .q-notification__progress{bottom:-8px}.q-notification--multi-line .q-notification__actions{padding:0}.q-notification--multi-line .q-notification__actions--with-media{padding-left:25px}.q-notification--top-left-enter-from,.q-notification--top-left-leave-to,.q-notification--top-enter-from,.q-notification--top-leave-to,.q-notification--top-right-enter-from,.q-notification--top-right-leave-to{opacity:0;transform:translateY(-50px);z-index:9499}.q-notification--left-enter-from,.q-notification--left-leave-to,.q-notification--center-enter-from,.q-notification--center-leave-to,.q-notification--right-enter-from,.q-notification--right-leave-to{opacity:0;transform:rotateX(90deg);z-index:9499}.q-notification--bottom-left-enter-from,.q-notification--bottom-left-leave-to,.q-notification--bottom-enter-from,.q-notification--bottom-leave-to,.q-notification--bottom-right-enter-from,.q-notification--bottom-right-leave-to{opacity:0;transform:translateY(50px);z-index:9499}.q-notification--top-left-leave-active,.q-notification--top-leave-active,.q-notification--top-right-leave-active,.q-notification--left-leave-active,.q-notification--center-leave-active,.q-notification--right-leave-active,.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{position:absolute;z-index:9499;margin-left:0;margin-right:0}.q-notification--top-leave-active,.q-notification--center-leave-active{top:0}.q-notification--bottom-left-leave-active,.q-notification--bottom-leave-active,.q-notification--bottom-right-leave-active{bottom:0}@media(min-width:600px){.q-notification{max-width:65vw}}@keyframes q-notif-badge{15%{transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}}@keyframes q-notif-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}:root{--animate-duration: .3s;--animate-delay: .3s;--animate-repeat: 1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animated{animation-duration:1ms!important;transition-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}.q-animate--scale{animation:q-scale .15s;animation-timing-function:cubic-bezier(.25,.8,.25,1)}@keyframes q-scale{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.q-animate--fade{animation:q-fade .2s}@keyframes q-fade{0%{opacity:0}to{opacity:1}}:root{--q-primary: #1976d2;--q-secondary: #26a69a;--q-accent: #9c27b0;--q-positive: #21ba45;--q-negative: #c10015;--q-info: #31ccec;--q-warning: #f2c037;--q-dark: #1d1d1d;--q-dark-page: #121212}.text-dark{color:var(--q-dark)!important}.bg-dark{background:var(--q-dark)!important}.text-primary{color:var(--q-primary)!important}.bg-primary{background:var(--q-primary)!important}.text-secondary{color:var(--q-secondary)!important}.bg-secondary{background:var(--q-secondary)!important}.text-accent{color:var(--q-accent)!important}.bg-accent{background:var(--q-accent)!important}.text-positive{color:var(--q-positive)!important}.bg-positive{background:var(--q-positive)!important}.text-negative{color:var(--q-negative)!important}.bg-negative{background:var(--q-negative)!important}.text-info{color:var(--q-info)!important}.bg-info{background:var(--q-info)!important}.text-warning{color:var(--q-warning)!important}.bg-warning{background:var(--q-warning)!important}.text-white{color:#fff!important}.bg-white{background:#fff!important}.text-black{color:#000!important}.bg-black{background:#000!important}.text-transparent{color:transparent!important}.bg-transparent{background:transparent!important}.text-separator{color:#0000001f!important}.bg-separator{background:#0000001f!important}.text-dark-separator{color:#ffffff47!important}.bg-dark-separator{background:#ffffff47!important}.text-red{color:#f44336!important}.text-red-1{color:#ffebee!important}.text-red-2{color:#ffcdd2!important}.text-red-3{color:#ef9a9a!important}.text-red-4{color:#e57373!important}.text-red-5{color:#ef5350!important}.text-red-6{color:#f44336!important}.text-red-7{color:#e53935!important}.text-red-8{color:#d32f2f!important}.text-red-9{color:#c62828!important}.text-red-10{color:#b71c1c!important}.text-red-11{color:#ff8a80!important}.text-red-12{color:#ff5252!important}.text-red-13{color:#ff1744!important}.text-red-14{color:#d50000!important}.text-pink{color:#e91e63!important}.text-pink-1{color:#fce4ec!important}.text-pink-2{color:#f8bbd0!important}.text-pink-3{color:#f48fb1!important}.text-pink-4{color:#f06292!important}.text-pink-5{color:#ec407a!important}.text-pink-6{color:#e91e63!important}.text-pink-7{color:#d81b60!important}.text-pink-8{color:#c2185b!important}.text-pink-9{color:#ad1457!important}.text-pink-10{color:#880e4f!important}.text-pink-11{color:#ff80ab!important}.text-pink-12{color:#ff4081!important}.text-pink-13{color:#f50057!important}.text-pink-14{color:#c51162!important}.text-purple{color:#9c27b0!important}.text-purple-1{color:#f3e5f5!important}.text-purple-2{color:#e1bee7!important}.text-purple-3{color:#ce93d8!important}.text-purple-4{color:#ba68c8!important}.text-purple-5{color:#ab47bc!important}.text-purple-6{color:#9c27b0!important}.text-purple-7{color:#8e24aa!important}.text-purple-8{color:#7b1fa2!important}.text-purple-9{color:#6a1b9a!important}.text-purple-10{color:#4a148c!important}.text-purple-11{color:#ea80fc!important}.text-purple-12{color:#e040fb!important}.text-purple-13{color:#d500f9!important}.text-purple-14{color:#a0f!important}.text-deep-purple{color:#673ab7!important}.text-deep-purple-1{color:#ede7f6!important}.text-deep-purple-2{color:#d1c4e9!important}.text-deep-purple-3{color:#b39ddb!important}.text-deep-purple-4{color:#9575cd!important}.text-deep-purple-5{color:#7e57c2!important}.text-deep-purple-6{color:#673ab7!important}.text-deep-purple-7{color:#5e35b1!important}.text-deep-purple-8{color:#512da8!important}.text-deep-purple-9{color:#4527a0!important}.text-deep-purple-10{color:#311b92!important}.text-deep-purple-11{color:#b388ff!important}.text-deep-purple-12{color:#7c4dff!important}.text-deep-purple-13{color:#651fff!important}.text-deep-purple-14{color:#6200ea!important}.text-indigo{color:#3f51b5!important}.text-indigo-1{color:#e8eaf6!important}.text-indigo-2{color:#c5cae9!important}.text-indigo-3{color:#9fa8da!important}.text-indigo-4{color:#7986cb!important}.text-indigo-5{color:#5c6bc0!important}.text-indigo-6{color:#3f51b5!important}.text-indigo-7{color:#3949ab!important}.text-indigo-8{color:#303f9f!important}.text-indigo-9{color:#283593!important}.text-indigo-10{color:#1a237e!important}.text-indigo-11{color:#8c9eff!important}.text-indigo-12{color:#536dfe!important}.text-indigo-13{color:#3d5afe!important}.text-indigo-14{color:#304ffe!important}.text-blue{color:#2196f3!important}.text-blue-1{color:#e3f2fd!important}.text-blue-2{color:#bbdefb!important}.text-blue-3{color:#90caf9!important}.text-blue-4{color:#64b5f6!important}.text-blue-5{color:#42a5f5!important}.text-blue-6{color:#2196f3!important}.text-blue-7{color:#1e88e5!important}.text-blue-8{color:#1976d2!important}.text-blue-9{color:#1565c0!important}.text-blue-10{color:#0d47a1!important}.text-blue-11{color:#82b1ff!important}.text-blue-12{color:#448aff!important}.text-blue-13{color:#2979ff!important}.text-blue-14{color:#2962ff!important}.text-light-blue{color:#03a9f4!important}.text-light-blue-1{color:#e1f5fe!important}.text-light-blue-2{color:#b3e5fc!important}.text-light-blue-3{color:#81d4fa!important}.text-light-blue-4{color:#4fc3f7!important}.text-light-blue-5{color:#29b6f6!important}.text-light-blue-6{color:#03a9f4!important}.text-light-blue-7{color:#039be5!important}.text-light-blue-8{color:#0288d1!important}.text-light-blue-9{color:#0277bd!important}.text-light-blue-10{color:#01579b!important}.text-light-blue-11{color:#80d8ff!important}.text-light-blue-12{color:#40c4ff!important}.text-light-blue-13{color:#00b0ff!important}.text-light-blue-14{color:#0091ea!important}.text-cyan{color:#00bcd4!important}.text-cyan-1{color:#e0f7fa!important}.text-cyan-2{color:#b2ebf2!important}.text-cyan-3{color:#80deea!important}.text-cyan-4{color:#4dd0e1!important}.text-cyan-5{color:#26c6da!important}.text-cyan-6{color:#00bcd4!important}.text-cyan-7{color:#00acc1!important}.text-cyan-8{color:#0097a7!important}.text-cyan-9{color:#00838f!important}.text-cyan-10{color:#006064!important}.text-cyan-11{color:#84ffff!important}.text-cyan-12{color:#18ffff!important}.text-cyan-13{color:#00e5ff!important}.text-cyan-14{color:#00b8d4!important}.text-teal{color:#009688!important}.text-teal-1{color:#e0f2f1!important}.text-teal-2{color:#b2dfdb!important}.text-teal-3{color:#80cbc4!important}.text-teal-4{color:#4db6ac!important}.text-teal-5{color:#26a69a!important}.text-teal-6{color:#009688!important}.text-teal-7{color:#00897b!important}.text-teal-8{color:#00796b!important}.text-teal-9{color:#00695c!important}.text-teal-10{color:#004d40!important}.text-teal-11{color:#a7ffeb!important}.text-teal-12{color:#64ffda!important}.text-teal-13{color:#1de9b6!important}.text-teal-14{color:#00bfa5!important}.text-green{color:#4caf50!important}.text-green-1{color:#e8f5e9!important}.text-green-2{color:#c8e6c9!important}.text-green-3{color:#a5d6a7!important}.text-green-4{color:#81c784!important}.text-green-5{color:#66bb6a!important}.text-green-6{color:#4caf50!important}.text-green-7{color:#43a047!important}.text-green-8{color:#388e3c!important}.text-green-9{color:#2e7d32!important}.text-green-10{color:#1b5e20!important}.text-green-11{color:#b9f6ca!important}.text-green-12{color:#69f0ae!important}.text-green-13{color:#00e676!important}.text-green-14{color:#00c853!important}.text-light-green{color:#8bc34a!important}.text-light-green-1{color:#f1f8e9!important}.text-light-green-2{color:#dcedc8!important}.text-light-green-3{color:#c5e1a5!important}.text-light-green-4{color:#aed581!important}.text-light-green-5{color:#9ccc65!important}.text-light-green-6{color:#8bc34a!important}.text-light-green-7{color:#7cb342!important}.text-light-green-8{color:#689f38!important}.text-light-green-9{color:#558b2f!important}.text-light-green-10{color:#33691e!important}.text-light-green-11{color:#ccff90!important}.text-light-green-12{color:#b2ff59!important}.text-light-green-13{color:#76ff03!important}.text-light-green-14{color:#64dd17!important}.text-lime{color:#cddc39!important}.text-lime-1{color:#f9fbe7!important}.text-lime-2{color:#f0f4c3!important}.text-lime-3{color:#e6ee9c!important}.text-lime-4{color:#dce775!important}.text-lime-5{color:#d4e157!important}.text-lime-6{color:#cddc39!important}.text-lime-7{color:#c0ca33!important}.text-lime-8{color:#afb42b!important}.text-lime-9{color:#9e9d24!important}.text-lime-10{color:#827717!important}.text-lime-11{color:#f4ff81!important}.text-lime-12{color:#eeff41!important}.text-lime-13{color:#c6ff00!important}.text-lime-14{color:#aeea00!important}.text-yellow{color:#ffeb3b!important}.text-yellow-1{color:#fffde7!important}.text-yellow-2{color:#fff9c4!important}.text-yellow-3{color:#fff59d!important}.text-yellow-4{color:#fff176!important}.text-yellow-5{color:#ffee58!important}.text-yellow-6{color:#ffeb3b!important}.text-yellow-7{color:#fdd835!important}.text-yellow-8{color:#fbc02d!important}.text-yellow-9{color:#f9a825!important}.text-yellow-10{color:#f57f17!important}.text-yellow-11{color:#ffff8d!important}.text-yellow-12{color:#ff0!important}.text-yellow-13{color:#ffea00!important}.text-yellow-14{color:#ffd600!important}.text-amber{color:#ffc107!important}.text-amber-1{color:#fff8e1!important}.text-amber-2{color:#ffecb3!important}.text-amber-3{color:#ffe082!important}.text-amber-4{color:#ffd54f!important}.text-amber-5{color:#ffca28!important}.text-amber-6{color:#ffc107!important}.text-amber-7{color:#ffb300!important}.text-amber-8{color:#ffa000!important}.text-amber-9{color:#ff8f00!important}.text-amber-10{color:#ff6f00!important}.text-amber-11{color:#ffe57f!important}.text-amber-12{color:#ffd740!important}.text-amber-13{color:#ffc400!important}.text-amber-14{color:#ffab00!important}.text-orange{color:#ff9800!important}.text-orange-1{color:#fff3e0!important}.text-orange-2{color:#ffe0b2!important}.text-orange-3{color:#ffcc80!important}.text-orange-4{color:#ffb74d!important}.text-orange-5{color:#ffa726!important}.text-orange-6{color:#ff9800!important}.text-orange-7{color:#fb8c00!important}.text-orange-8{color:#f57c00!important}.text-orange-9{color:#ef6c00!important}.text-orange-10{color:#e65100!important}.text-orange-11{color:#ffd180!important}.text-orange-12{color:#ffab40!important}.text-orange-13{color:#ff9100!important}.text-orange-14{color:#ff6d00!important}.text-deep-orange{color:#ff5722!important}.text-deep-orange-1{color:#fbe9e7!important}.text-deep-orange-2{color:#ffccbc!important}.text-deep-orange-3{color:#ffab91!important}.text-deep-orange-4{color:#ff8a65!important}.text-deep-orange-5{color:#ff7043!important}.text-deep-orange-6{color:#ff5722!important}.text-deep-orange-7{color:#f4511e!important}.text-deep-orange-8{color:#e64a19!important}.text-deep-orange-9{color:#d84315!important}.text-deep-orange-10{color:#bf360c!important}.text-deep-orange-11{color:#ff9e80!important}.text-deep-orange-12{color:#ff6e40!important}.text-deep-orange-13{color:#ff3d00!important}.text-deep-orange-14{color:#dd2c00!important}.text-brown{color:#795548!important}.text-brown-1{color:#efebe9!important}.text-brown-2{color:#d7ccc8!important}.text-brown-3{color:#bcaaa4!important}.text-brown-4{color:#a1887f!important}.text-brown-5{color:#8d6e63!important}.text-brown-6{color:#795548!important}.text-brown-7{color:#6d4c41!important}.text-brown-8{color:#5d4037!important}.text-brown-9{color:#4e342e!important}.text-brown-10{color:#3e2723!important}.text-brown-11{color:#d7ccc8!important}.text-brown-12{color:#bcaaa4!important}.text-brown-13{color:#8d6e63!important}.text-brown-14{color:#5d4037!important}.text-grey{color:#9e9e9e!important}.text-grey-1{color:#fafafa!important}.text-grey-2{color:#f5f5f5!important}.text-grey-3{color:#eee!important}.text-grey-4{color:#e0e0e0!important}.text-grey-5{color:#bdbdbd!important}.text-grey-6{color:#9e9e9e!important}.text-grey-7{color:#757575!important}.text-grey-8{color:#616161!important}.text-grey-9{color:#424242!important}.text-grey-10{color:#212121!important}.text-grey-11{color:#f5f5f5!important}.text-grey-12{color:#eee!important}.text-grey-13{color:#bdbdbd!important}.text-grey-14{color:#616161!important}.text-blue-grey{color:#607d8b!important}.text-blue-grey-1{color:#eceff1!important}.text-blue-grey-2{color:#cfd8dc!important}.text-blue-grey-3{color:#b0bec5!important}.text-blue-grey-4{color:#90a4ae!important}.text-blue-grey-5{color:#78909c!important}.text-blue-grey-6{color:#607d8b!important}.text-blue-grey-7{color:#546e7a!important}.text-blue-grey-8{color:#455a64!important}.text-blue-grey-9{color:#37474f!important}.text-blue-grey-10{color:#263238!important}.text-blue-grey-11{color:#cfd8dc!important}.text-blue-grey-12{color:#b0bec5!important}.text-blue-grey-13{color:#78909c!important}.text-blue-grey-14{color:#455a64!important}.bg-red{background:#f44336!important}.bg-red-1{background:#ffebee!important}.bg-red-2{background:#ffcdd2!important}.bg-red-3{background:#ef9a9a!important}.bg-red-4{background:#e57373!important}.bg-red-5{background:#ef5350!important}.bg-red-6{background:#f44336!important}.bg-red-7{background:#e53935!important}.bg-red-8{background:#d32f2f!important}.bg-red-9{background:#c62828!important}.bg-red-10{background:#b71c1c!important}.bg-red-11{background:#ff8a80!important}.bg-red-12{background:#ff5252!important}.bg-red-13{background:#ff1744!important}.bg-red-14{background:#d50000!important}.bg-pink{background:#e91e63!important}.bg-pink-1{background:#fce4ec!important}.bg-pink-2{background:#f8bbd0!important}.bg-pink-3{background:#f48fb1!important}.bg-pink-4{background:#f06292!important}.bg-pink-5{background:#ec407a!important}.bg-pink-6{background:#e91e63!important}.bg-pink-7{background:#d81b60!important}.bg-pink-8{background:#c2185b!important}.bg-pink-9{background:#ad1457!important}.bg-pink-10{background:#880e4f!important}.bg-pink-11{background:#ff80ab!important}.bg-pink-12{background:#ff4081!important}.bg-pink-13{background:#f50057!important}.bg-pink-14{background:#c51162!important}.bg-purple{background:#9c27b0!important}.bg-purple-1{background:#f3e5f5!important}.bg-purple-2{background:#e1bee7!important}.bg-purple-3{background:#ce93d8!important}.bg-purple-4{background:#ba68c8!important}.bg-purple-5{background:#ab47bc!important}.bg-purple-6{background:#9c27b0!important}.bg-purple-7{background:#8e24aa!important}.bg-purple-8{background:#7b1fa2!important}.bg-purple-9{background:#6a1b9a!important}.bg-purple-10{background:#4a148c!important}.bg-purple-11{background:#ea80fc!important}.bg-purple-12{background:#e040fb!important}.bg-purple-13{background:#d500f9!important}.bg-purple-14{background:#a0f!important}.bg-deep-purple{background:#673ab7!important}.bg-deep-purple-1{background:#ede7f6!important}.bg-deep-purple-2{background:#d1c4e9!important}.bg-deep-purple-3{background:#b39ddb!important}.bg-deep-purple-4{background:#9575cd!important}.bg-deep-purple-5{background:#7e57c2!important}.bg-deep-purple-6{background:#673ab7!important}.bg-deep-purple-7{background:#5e35b1!important}.bg-deep-purple-8{background:#512da8!important}.bg-deep-purple-9{background:#4527a0!important}.bg-deep-purple-10{background:#311b92!important}.bg-deep-purple-11{background:#b388ff!important}.bg-deep-purple-12{background:#7c4dff!important}.bg-deep-purple-13{background:#651fff!important}.bg-deep-purple-14{background:#6200ea!important}.bg-indigo{background:#3f51b5!important}.bg-indigo-1{background:#e8eaf6!important}.bg-indigo-2{background:#c5cae9!important}.bg-indigo-3{background:#9fa8da!important}.bg-indigo-4{background:#7986cb!important}.bg-indigo-5{background:#5c6bc0!important}.bg-indigo-6{background:#3f51b5!important}.bg-indigo-7{background:#3949ab!important}.bg-indigo-8{background:#303f9f!important}.bg-indigo-9{background:#283593!important}.bg-indigo-10{background:#1a237e!important}.bg-indigo-11{background:#8c9eff!important}.bg-indigo-12{background:#536dfe!important}.bg-indigo-13{background:#3d5afe!important}.bg-indigo-14{background:#304ffe!important}.bg-blue{background:#2196f3!important}.bg-blue-1{background:#e3f2fd!important}.bg-blue-2{background:#bbdefb!important}.bg-blue-3{background:#90caf9!important}.bg-blue-4{background:#64b5f6!important}.bg-blue-5{background:#42a5f5!important}.bg-blue-6{background:#2196f3!important}.bg-blue-7{background:#1e88e5!important}.bg-blue-8{background:#1976d2!important}.bg-blue-9{background:#1565c0!important}.bg-blue-10{background:#0d47a1!important}.bg-blue-11{background:#82b1ff!important}.bg-blue-12{background:#448aff!important}.bg-blue-13{background:#2979ff!important}.bg-blue-14{background:#2962ff!important}.bg-light-blue{background:#03a9f4!important}.bg-light-blue-1{background:#e1f5fe!important}.bg-light-blue-2{background:#b3e5fc!important}.bg-light-blue-3{background:#81d4fa!important}.bg-light-blue-4{background:#4fc3f7!important}.bg-light-blue-5{background:#29b6f6!important}.bg-light-blue-6{background:#03a9f4!important}.bg-light-blue-7{background:#039be5!important}.bg-light-blue-8{background:#0288d1!important}.bg-light-blue-9{background:#0277bd!important}.bg-light-blue-10{background:#01579b!important}.bg-light-blue-11{background:#80d8ff!important}.bg-light-blue-12{background:#40c4ff!important}.bg-light-blue-13{background:#00b0ff!important}.bg-light-blue-14{background:#0091ea!important}.bg-cyan{background:#00bcd4!important}.bg-cyan-1{background:#e0f7fa!important}.bg-cyan-2{background:#b2ebf2!important}.bg-cyan-3{background:#80deea!important}.bg-cyan-4{background:#4dd0e1!important}.bg-cyan-5{background:#26c6da!important}.bg-cyan-6{background:#00bcd4!important}.bg-cyan-7{background:#00acc1!important}.bg-cyan-8{background:#0097a7!important}.bg-cyan-9{background:#00838f!important}.bg-cyan-10{background:#006064!important}.bg-cyan-11{background:#84ffff!important}.bg-cyan-12{background:#18ffff!important}.bg-cyan-13{background:#00e5ff!important}.bg-cyan-14{background:#00b8d4!important}.bg-teal{background:#009688!important}.bg-teal-1{background:#e0f2f1!important}.bg-teal-2{background:#b2dfdb!important}.bg-teal-3{background:#80cbc4!important}.bg-teal-4{background:#4db6ac!important}.bg-teal-5{background:#26a69a!important}.bg-teal-6{background:#009688!important}.bg-teal-7{background:#00897b!important}.bg-teal-8{background:#00796b!important}.bg-teal-9{background:#00695c!important}.bg-teal-10{background:#004d40!important}.bg-teal-11{background:#a7ffeb!important}.bg-teal-12{background:#64ffda!important}.bg-teal-13{background:#1de9b6!important}.bg-teal-14{background:#00bfa5!important}.bg-green{background:#4caf50!important}.bg-green-1{background:#e8f5e9!important}.bg-green-2{background:#c8e6c9!important}.bg-green-3{background:#a5d6a7!important}.bg-green-4{background:#81c784!important}.bg-green-5{background:#66bb6a!important}.bg-green-6{background:#4caf50!important}.bg-green-7{background:#43a047!important}.bg-green-8{background:#388e3c!important}.bg-green-9{background:#2e7d32!important}.bg-green-10{background:#1b5e20!important}.bg-green-11{background:#b9f6ca!important}.bg-green-12{background:#69f0ae!important}.bg-green-13{background:#00e676!important}.bg-green-14{background:#00c853!important}.bg-light-green{background:#8bc34a!important}.bg-light-green-1{background:#f1f8e9!important}.bg-light-green-2{background:#dcedc8!important}.bg-light-green-3{background:#c5e1a5!important}.bg-light-green-4{background:#aed581!important}.bg-light-green-5{background:#9ccc65!important}.bg-light-green-6{background:#8bc34a!important}.bg-light-green-7{background:#7cb342!important}.bg-light-green-8{background:#689f38!important}.bg-light-green-9{background:#558b2f!important}.bg-light-green-10{background:#33691e!important}.bg-light-green-11{background:#ccff90!important}.bg-light-green-12{background:#b2ff59!important}.bg-light-green-13{background:#76ff03!important}.bg-light-green-14{background:#64dd17!important}.bg-lime{background:#cddc39!important}.bg-lime-1{background:#f9fbe7!important}.bg-lime-2{background:#f0f4c3!important}.bg-lime-3{background:#e6ee9c!important}.bg-lime-4{background:#dce775!important}.bg-lime-5{background:#d4e157!important}.bg-lime-6{background:#cddc39!important}.bg-lime-7{background:#c0ca33!important}.bg-lime-8{background:#afb42b!important}.bg-lime-9{background:#9e9d24!important}.bg-lime-10{background:#827717!important}.bg-lime-11{background:#f4ff81!important}.bg-lime-12{background:#eeff41!important}.bg-lime-13{background:#c6ff00!important}.bg-lime-14{background:#aeea00!important}.bg-yellow{background:#ffeb3b!important}.bg-yellow-1{background:#fffde7!important}.bg-yellow-2{background:#fff9c4!important}.bg-yellow-3{background:#fff59d!important}.bg-yellow-4{background:#fff176!important}.bg-yellow-5{background:#ffee58!important}.bg-yellow-6{background:#ffeb3b!important}.bg-yellow-7{background:#fdd835!important}.bg-yellow-8{background:#fbc02d!important}.bg-yellow-9{background:#f9a825!important}.bg-yellow-10{background:#f57f17!important}.bg-yellow-11{background:#ffff8d!important}.bg-yellow-12{background:#ff0!important}.bg-yellow-13{background:#ffea00!important}.bg-yellow-14{background:#ffd600!important}.bg-amber{background:#ffc107!important}.bg-amber-1{background:#fff8e1!important}.bg-amber-2{background:#ffecb3!important}.bg-amber-3{background:#ffe082!important}.bg-amber-4{background:#ffd54f!important}.bg-amber-5{background:#ffca28!important}.bg-amber-6{background:#ffc107!important}.bg-amber-7{background:#ffb300!important}.bg-amber-8{background:#ffa000!important}.bg-amber-9{background:#ff8f00!important}.bg-amber-10{background:#ff6f00!important}.bg-amber-11{background:#ffe57f!important}.bg-amber-12{background:#ffd740!important}.bg-amber-13{background:#ffc400!important}.bg-amber-14{background:#ffab00!important}.bg-orange{background:#ff9800!important}.bg-orange-1{background:#fff3e0!important}.bg-orange-2{background:#ffe0b2!important}.bg-orange-3{background:#ffcc80!important}.bg-orange-4{background:#ffb74d!important}.bg-orange-5{background:#ffa726!important}.bg-orange-6{background:#ff9800!important}.bg-orange-7{background:#fb8c00!important}.bg-orange-8{background:#f57c00!important}.bg-orange-9{background:#ef6c00!important}.bg-orange-10{background:#e65100!important}.bg-orange-11{background:#ffd180!important}.bg-orange-12{background:#ffab40!important}.bg-orange-13{background:#ff9100!important}.bg-orange-14{background:#ff6d00!important}.bg-deep-orange{background:#ff5722!important}.bg-deep-orange-1{background:#fbe9e7!important}.bg-deep-orange-2{background:#ffccbc!important}.bg-deep-orange-3{background:#ffab91!important}.bg-deep-orange-4{background:#ff8a65!important}.bg-deep-orange-5{background:#ff7043!important}.bg-deep-orange-6{background:#ff5722!important}.bg-deep-orange-7{background:#f4511e!important}.bg-deep-orange-8{background:#e64a19!important}.bg-deep-orange-9{background:#d84315!important}.bg-deep-orange-10{background:#bf360c!important}.bg-deep-orange-11{background:#ff9e80!important}.bg-deep-orange-12{background:#ff6e40!important}.bg-deep-orange-13{background:#ff3d00!important}.bg-deep-orange-14{background:#dd2c00!important}.bg-brown{background:#795548!important}.bg-brown-1{background:#efebe9!important}.bg-brown-2{background:#d7ccc8!important}.bg-brown-3{background:#bcaaa4!important}.bg-brown-4{background:#a1887f!important}.bg-brown-5{background:#8d6e63!important}.bg-brown-6{background:#795548!important}.bg-brown-7{background:#6d4c41!important}.bg-brown-8{background:#5d4037!important}.bg-brown-9{background:#4e342e!important}.bg-brown-10{background:#3e2723!important}.bg-brown-11{background:#d7ccc8!important}.bg-brown-12{background:#bcaaa4!important}.bg-brown-13{background:#8d6e63!important}.bg-brown-14{background:#5d4037!important}.bg-grey{background:#9e9e9e!important}.bg-grey-1{background:#fafafa!important}.bg-grey-2{background:#f5f5f5!important}.bg-grey-3{background:#eee!important}.bg-grey-4{background:#e0e0e0!important}.bg-grey-5{background:#bdbdbd!important}.bg-grey-6{background:#9e9e9e!important}.bg-grey-7{background:#757575!important}.bg-grey-8{background:#616161!important}.bg-grey-9{background:#424242!important}.bg-grey-10{background:#212121!important}.bg-grey-11{background:#f5f5f5!important}.bg-grey-12{background:#eee!important}.bg-grey-13{background:#bdbdbd!important}.bg-grey-14{background:#616161!important}.bg-blue-grey{background:#607d8b!important}.bg-blue-grey-1{background:#eceff1!important}.bg-blue-grey-2{background:#cfd8dc!important}.bg-blue-grey-3{background:#b0bec5!important}.bg-blue-grey-4{background:#90a4ae!important}.bg-blue-grey-5{background:#78909c!important}.bg-blue-grey-6{background:#607d8b!important}.bg-blue-grey-7{background:#546e7a!important}.bg-blue-grey-8{background:#455a64!important}.bg-blue-grey-9{background:#37474f!important}.bg-blue-grey-10{background:#263238!important}.bg-blue-grey-11{background:#cfd8dc!important}.bg-blue-grey-12{background:#b0bec5!important}.bg-blue-grey-13{background:#78909c!important}.bg-blue-grey-14{background:#455a64!important}.shadow-transition{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)!important}.shadow-1{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f}.shadow-up-1{box-shadow:0 -1px 3px #0003,0 -1px 1px #00000024,0 -2px 1px -1px #0000001f}.shadow-2{box-shadow:0 1px 5px #0003,0 2px 2px #00000024,0 3px 1px -2px #0000001f}.shadow-up-2{box-shadow:0 -1px 5px #0003,0 -2px 2px #00000024,0 -3px 1px -2px #0000001f}.shadow-3{box-shadow:0 1px 8px #0003,0 3px 4px #00000024,0 3px 3px -2px #0000001f}.shadow-up-3{box-shadow:0 -1px 8px #0003,0 -3px 4px #00000024,0 -3px 3px -2px #0000001f}.shadow-4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.shadow-up-4{box-shadow:0 -2px 4px -1px #0003,0 -4px 5px #00000024,0 -1px 10px #0000001f}.shadow-5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}.shadow-up-5{box-shadow:0 -3px 5px -1px #0003,0 -5px 8px #00000024,0 -1px 14px #0000001f}.shadow-6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.shadow-up-6{box-shadow:0 -3px 5px -1px #0003,0 -6px 10px #00000024,0 -1px 18px #0000001f}.shadow-7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}.shadow-up-7{box-shadow:0 -4px 5px -2px #0003,0 -7px 10px 1px #00000024,0 -2px 16px 1px #0000001f}.shadow-8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.shadow-up-8{box-shadow:0 -5px 5px -3px #0003,0 -8px 10px 1px #00000024,0 -3px 14px 2px #0000001f}.shadow-9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}.shadow-up-9{box-shadow:0 -5px 6px -3px #0003,0 -9px 12px 1px #00000024,0 -3px 16px 2px #0000001f}.shadow-10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}.shadow-up-10{box-shadow:0 -6px 6px -3px #0003,0 -10px 14px 1px #00000024,0 -4px 18px 3px #0000001f}.shadow-11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}.shadow-up-11{box-shadow:0 -6px 7px -4px #0003,0 -11px 15px 1px #00000024,0 -4px 20px 3px #0000001f}.shadow-12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}.shadow-up-12{box-shadow:0 -7px 8px -4px #0003,0 -12px 17px 2px #00000024,0 -5px 22px 4px #0000001f}.shadow-13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}.shadow-up-13{box-shadow:0 -7px 8px -4px #0003,0 -13px 19px 2px #00000024,0 -5px 24px 4px #0000001f}.shadow-14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}.shadow-up-14{box-shadow:0 -7px 9px -4px #0003,0 -14px 21px 2px #00000024,0 -5px 26px 4px #0000001f}.shadow-15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}.shadow-up-15{box-shadow:0 -8px 9px -5px #0003,0 -15px 22px 2px #00000024,0 -6px 28px 5px #0000001f}.shadow-16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}.shadow-up-16{box-shadow:0 -8px 10px -5px #0003,0 -16px 24px 2px #00000024,0 -6px 30px 5px #0000001f}.shadow-17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}.shadow-up-17{box-shadow:0 -8px 11px -5px #0003,0 -17px 26px 2px #00000024,0 -6px 32px 5px #0000001f}.shadow-18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}.shadow-up-18{box-shadow:0 -9px 11px -5px #0003,0 -18px 28px 2px #00000024,0 -7px 34px 6px #0000001f}.shadow-19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}.shadow-up-19{box-shadow:0 -9px 12px -6px #0003,0 -19px 29px 2px #00000024,0 -7px 36px 6px #0000001f}.shadow-20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}.shadow-up-20{box-shadow:0 -10px 13px -6px #0003,0 -20px 31px 3px #00000024,0 -8px 38px 7px #0000001f}.shadow-21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}.shadow-up-21{box-shadow:0 -10px 13px -6px #0003,0 -21px 33px 3px #00000024,0 -8px 40px 7px #0000001f}.shadow-22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}.shadow-up-22{box-shadow:0 -10px 14px -6px #0003,0 -22px 35px 3px #00000024,0 -8px 42px 7px #0000001f}.shadow-23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}.shadow-up-23{box-shadow:0 -11px 14px -7px #0003,0 -23px 36px 3px #00000024,0 -9px 44px 8px #0000001f}.shadow-24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.shadow-up-24{box-shadow:0 -11px 15px -7px #0003,0 -24px 38px 3px #00000024,0 -9px 46px 8px #0000001f}.inset-shadow{box-shadow:0 7px 9px -7px #000000b3 inset}.inset-shadow-down{box-shadow:0 -7px 9px -7px #000000b3 inset}body.body--dark .shadow-1{box-shadow:0 1px 3px #fff3,0 1px 1px #ffffff24,0 2px 1px -1px #ffffff1f}body.body--dark .shadow-up-1{box-shadow:0 -1px 3px #fff3,0 -1px 1px #ffffff24,0 -2px 1px -1px #ffffff1f}body.body--dark .shadow-2{box-shadow:0 1px 5px #fff3,0 2px 2px #ffffff24,0 3px 1px -2px #ffffff1f}body.body--dark .shadow-up-2{box-shadow:0 -1px 5px #fff3,0 -2px 2px #ffffff24,0 -3px 1px -2px #ffffff1f}body.body--dark .shadow-3{box-shadow:0 1px 8px #fff3,0 3px 4px #ffffff24,0 3px 3px -2px #ffffff1f}body.body--dark .shadow-up-3{box-shadow:0 -1px 8px #fff3,0 -3px 4px #ffffff24,0 -3px 3px -2px #ffffff1f}body.body--dark .shadow-4{box-shadow:0 2px 4px -1px #fff3,0 4px 5px #ffffff24,0 1px 10px #ffffff1f}body.body--dark .shadow-up-4{box-shadow:0 -2px 4px -1px #fff3,0 -4px 5px #ffffff24,0 -1px 10px #ffffff1f}body.body--dark .shadow-5{box-shadow:0 3px 5px -1px #fff3,0 5px 8px #ffffff24,0 1px 14px #ffffff1f}body.body--dark .shadow-up-5{box-shadow:0 -3px 5px -1px #fff3,0 -5px 8px #ffffff24,0 -1px 14px #ffffff1f}body.body--dark .shadow-6{box-shadow:0 3px 5px -1px #fff3,0 6px 10px #ffffff24,0 1px 18px #ffffff1f}body.body--dark .shadow-up-6{box-shadow:0 -3px 5px -1px #fff3,0 -6px 10px #ffffff24,0 -1px 18px #ffffff1f}body.body--dark .shadow-7{box-shadow:0 4px 5px -2px #fff3,0 7px 10px 1px #ffffff24,0 2px 16px 1px #ffffff1f}body.body--dark .shadow-up-7{box-shadow:0 -4px 5px -2px #fff3,0 -7px 10px 1px #ffffff24,0 -2px 16px 1px #ffffff1f}body.body--dark .shadow-8{box-shadow:0 5px 5px -3px #fff3,0 8px 10px 1px #ffffff24,0 3px 14px 2px #ffffff1f}body.body--dark .shadow-up-8{box-shadow:0 -5px 5px -3px #fff3,0 -8px 10px 1px #ffffff24,0 -3px 14px 2px #ffffff1f}body.body--dark .shadow-9{box-shadow:0 5px 6px -3px #fff3,0 9px 12px 1px #ffffff24,0 3px 16px 2px #ffffff1f}body.body--dark .shadow-up-9{box-shadow:0 -5px 6px -3px #fff3,0 -9px 12px 1px #ffffff24,0 -3px 16px 2px #ffffff1f}body.body--dark .shadow-10{box-shadow:0 6px 6px -3px #fff3,0 10px 14px 1px #ffffff24,0 4px 18px 3px #ffffff1f}body.body--dark .shadow-up-10{box-shadow:0 -6px 6px -3px #fff3,0 -10px 14px 1px #ffffff24,0 -4px 18px 3px #ffffff1f}body.body--dark .shadow-11{box-shadow:0 6px 7px -4px #fff3,0 11px 15px 1px #ffffff24,0 4px 20px 3px #ffffff1f}body.body--dark .shadow-up-11{box-shadow:0 -6px 7px -4px #fff3,0 -11px 15px 1px #ffffff24,0 -4px 20px 3px #ffffff1f}body.body--dark .shadow-12{box-shadow:0 7px 8px -4px #fff3,0 12px 17px 2px #ffffff24,0 5px 22px 4px #ffffff1f}body.body--dark .shadow-up-12{box-shadow:0 -7px 8px -4px #fff3,0 -12px 17px 2px #ffffff24,0 -5px 22px 4px #ffffff1f}body.body--dark .shadow-13{box-shadow:0 7px 8px -4px #fff3,0 13px 19px 2px #ffffff24,0 5px 24px 4px #ffffff1f}body.body--dark .shadow-up-13{box-shadow:0 -7px 8px -4px #fff3,0 -13px 19px 2px #ffffff24,0 -5px 24px 4px #ffffff1f}body.body--dark .shadow-14{box-shadow:0 7px 9px -4px #fff3,0 14px 21px 2px #ffffff24,0 5px 26px 4px #ffffff1f}body.body--dark .shadow-up-14{box-shadow:0 -7px 9px -4px #fff3,0 -14px 21px 2px #ffffff24,0 -5px 26px 4px #ffffff1f}body.body--dark .shadow-15{box-shadow:0 8px 9px -5px #fff3,0 15px 22px 2px #ffffff24,0 6px 28px 5px #ffffff1f}body.body--dark .shadow-up-15{box-shadow:0 -8px 9px -5px #fff3,0 -15px 22px 2px #ffffff24,0 -6px 28px 5px #ffffff1f}body.body--dark .shadow-16{box-shadow:0 8px 10px -5px #fff3,0 16px 24px 2px #ffffff24,0 6px 30px 5px #ffffff1f}body.body--dark .shadow-up-16{box-shadow:0 -8px 10px -5px #fff3,0 -16px 24px 2px #ffffff24,0 -6px 30px 5px #ffffff1f}body.body--dark .shadow-17{box-shadow:0 8px 11px -5px #fff3,0 17px 26px 2px #ffffff24,0 6px 32px 5px #ffffff1f}body.body--dark .shadow-up-17{box-shadow:0 -8px 11px -5px #fff3,0 -17px 26px 2px #ffffff24,0 -6px 32px 5px #ffffff1f}body.body--dark .shadow-18{box-shadow:0 9px 11px -5px #fff3,0 18px 28px 2px #ffffff24,0 7px 34px 6px #ffffff1f}body.body--dark .shadow-up-18{box-shadow:0 -9px 11px -5px #fff3,0 -18px 28px 2px #ffffff24,0 -7px 34px 6px #ffffff1f}body.body--dark .shadow-19{box-shadow:0 9px 12px -6px #fff3,0 19px 29px 2px #ffffff24,0 7px 36px 6px #ffffff1f}body.body--dark .shadow-up-19{box-shadow:0 -9px 12px -6px #fff3,0 -19px 29px 2px #ffffff24,0 -7px 36px 6px #ffffff1f}body.body--dark .shadow-20{box-shadow:0 10px 13px -6px #fff3,0 20px 31px 3px #ffffff24,0 8px 38px 7px #ffffff1f}body.body--dark .shadow-up-20{box-shadow:0 -10px 13px -6px #fff3,0 -20px 31px 3px #ffffff24,0 -8px 38px 7px #ffffff1f}body.body--dark .shadow-21{box-shadow:0 10px 13px -6px #fff3,0 21px 33px 3px #ffffff24,0 8px 40px 7px #ffffff1f}body.body--dark .shadow-up-21{box-shadow:0 -10px 13px -6px #fff3,0 -21px 33px 3px #ffffff24,0 -8px 40px 7px #ffffff1f}body.body--dark .shadow-22{box-shadow:0 10px 14px -6px #fff3,0 22px 35px 3px #ffffff24,0 8px 42px 7px #ffffff1f}body.body--dark .shadow-up-22{box-shadow:0 -10px 14px -6px #fff3,0 -22px 35px 3px #ffffff24,0 -8px 42px 7px #ffffff1f}body.body--dark .shadow-23{box-shadow:0 11px 14px -7px #fff3,0 23px 36px 3px #ffffff24,0 9px 44px 8px #ffffff1f}body.body--dark .shadow-up-23{box-shadow:0 -11px 14px -7px #fff3,0 -23px 36px 3px #ffffff24,0 -9px 44px 8px #ffffff1f}body.body--dark .shadow-24{box-shadow:0 11px 15px -7px #fff3,0 24px 38px 3px #ffffff24,0 9px 46px 8px #ffffff1f}body.body--dark .shadow-up-24{box-shadow:0 -11px 15px -7px #fff3,0 -24px 38px 3px #ffffff24,0 -9px 46px 8px #ffffff1f}body.body--dark .inset-shadow{box-shadow:0 7px 9px -7px #ffffffb3 inset}body.body--dark .inset-shadow-down{box-shadow:0 -7px 9px -7px #ffffffb3 inset}.no-shadow,.shadow-0{box-shadow:none!important}.z-marginals{z-index:2000}.z-notify{z-index:9500}.z-fullscreen{z-index:6000}.z-inherit{z-index:inherit!important}.row,.column,.flex{display:flex;flex-wrap:wrap}.row.inline,.column.inline,.flex.inline{display:inline-flex}.row.reverse{flex-direction:row-reverse}.column{flex-direction:column}.column.reverse{flex-direction:column-reverse}.wrap{flex-wrap:wrap}.no-wrap{flex-wrap:nowrap}.reverse-wrap{flex-wrap:wrap-reverse}.order-first{order:-10000}.order-last{order:10000}.order-none{order:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center,.flex-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center,.flex-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-stretch{align-content:stretch}.content-between{align-content:space-between}.content-around{align-content:space-around}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.q-gutter-x-none,.q-gutter-none{margin-left:0}.q-gutter-x-none>*,.q-gutter-none>*{margin-left:0}.q-gutter-y-none,.q-gutter-none{margin-top:0}.q-gutter-y-none>*,.q-gutter-none>*{margin-top:0}.q-col-gutter-x-none,.q-col-gutter-none{margin-left:0}.q-col-gutter-x-none>*,.q-col-gutter-none>*{padding-left:0}.q-col-gutter-y-none,.q-col-gutter-none{margin-top:0}.q-col-gutter-y-none>*,.q-col-gutter-none>*{padding-top:0}.q-gutter-x-xs,.q-gutter-xs{margin-left:-4px}.q-gutter-x-xs>*,.q-gutter-xs>*{margin-left:4px}.q-gutter-y-xs,.q-gutter-xs{margin-top:-4px}.q-gutter-y-xs>*,.q-gutter-xs>*{margin-top:4px}.q-col-gutter-x-xs,.q-col-gutter-xs{margin-left:-4px}.q-col-gutter-x-xs>*,.q-col-gutter-xs>*{padding-left:4px}.q-col-gutter-y-xs,.q-col-gutter-xs{margin-top:-4px}.q-col-gutter-y-xs>*,.q-col-gutter-xs>*{padding-top:4px}.q-gutter-x-sm,.q-gutter-sm{margin-left:-8px}.q-gutter-x-sm>*,.q-gutter-sm>*{margin-left:8px}.q-gutter-y-sm,.q-gutter-sm{margin-top:-8px}.q-gutter-y-sm>*,.q-gutter-sm>*{margin-top:8px}.q-col-gutter-x-sm,.q-col-gutter-sm{margin-left:-8px}.q-col-gutter-x-sm>*,.q-col-gutter-sm>*{padding-left:8px}.q-col-gutter-y-sm,.q-col-gutter-sm{margin-top:-8px}.q-col-gutter-y-sm>*,.q-col-gutter-sm>*{padding-top:8px}.q-gutter-x-md,.q-gutter-md{margin-left:-16px}.q-gutter-x-md>*,.q-gutter-md>*{margin-left:16px}.q-gutter-y-md,.q-gutter-md{margin-top:-16px}.q-gutter-y-md>*,.q-gutter-md>*{margin-top:16px}.q-col-gutter-x-md,.q-col-gutter-md{margin-left:-16px}.q-col-gutter-x-md>*,.q-col-gutter-md>*{padding-left:16px}.q-col-gutter-y-md,.q-col-gutter-md{margin-top:-16px}.q-col-gutter-y-md>*,.q-col-gutter-md>*{padding-top:16px}.q-gutter-x-lg,.q-gutter-lg{margin-left:-24px}.q-gutter-x-lg>*,.q-gutter-lg>*{margin-left:24px}.q-gutter-y-lg,.q-gutter-lg{margin-top:-24px}.q-gutter-y-lg>*,.q-gutter-lg>*{margin-top:24px}.q-col-gutter-x-lg,.q-col-gutter-lg{margin-left:-24px}.q-col-gutter-x-lg>*,.q-col-gutter-lg>*{padding-left:24px}.q-col-gutter-y-lg,.q-col-gutter-lg{margin-top:-24px}.q-col-gutter-y-lg>*,.q-col-gutter-lg>*{padding-top:24px}.q-gutter-x-xl,.q-gutter-xl{margin-left:-48px}.q-gutter-x-xl>*,.q-gutter-xl>*{margin-left:48px}.q-gutter-y-xl,.q-gutter-xl{margin-top:-48px}.q-gutter-y-xl>*,.q-gutter-xl>*{margin-top:48px}.q-col-gutter-x-xl,.q-col-gutter-xl{margin-left:-48px}.q-col-gutter-x-xl>*,.q-col-gutter-xl>*{padding-left:48px}.q-col-gutter-y-xl,.q-col-gutter-xl{margin-top:-48px}.q-col-gutter-y-xl>*,.q-col-gutter-xl>*{padding-top:48px}@media(min-width:0){.row>.col,.flex>.col,.row>.col-auto,.flex>.col-auto,.row>.col-grow,.flex>.col-grow,.row>.col-shrink,.flex>.col-shrink,.row>.col-xs,.flex>.col-xs,.row>.col-xs-auto,.row>.col-12,.row>.col-xs-12,.row>.col-11,.row>.col-xs-11,.row>.col-10,.row>.col-xs-10,.row>.col-9,.row>.col-xs-9,.row>.col-8,.row>.col-xs-8,.row>.col-7,.row>.col-xs-7,.row>.col-6,.row>.col-xs-6,.row>.col-5,.row>.col-xs-5,.row>.col-4,.row>.col-xs-4,.row>.col-3,.row>.col-xs-3,.row>.col-2,.row>.col-xs-2,.row>.col-1,.row>.col-xs-1,.row>.col-0,.row>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.row>.col-xs-grow,.flex>.col-xs-grow,.row>.col-xs-shrink,.flex>.col-xs-shrink{width:auto;min-width:0;max-width:100%}.column>.col,.flex>.col,.column>.col-auto,.flex>.col-auto,.column>.col-grow,.flex>.col-grow,.column>.col-shrink,.flex>.col-shrink,.column>.col-xs,.flex>.col-xs,.column>.col-xs-auto,.column>.col-12,.column>.col-xs-12,.column>.col-11,.column>.col-xs-11,.column>.col-10,.column>.col-xs-10,.column>.col-9,.column>.col-xs-9,.column>.col-8,.column>.col-xs-8,.column>.col-7,.column>.col-xs-7,.column>.col-6,.column>.col-xs-6,.column>.col-5,.column>.col-xs-5,.column>.col-4,.column>.col-xs-4,.column>.col-3,.column>.col-xs-3,.column>.col-2,.column>.col-xs-2,.column>.col-1,.column>.col-xs-1,.column>.col-0,.column>.col-xs-0,.flex>.col-xs-auto,.flex>.col-12,.flex>.col-xs-12,.flex>.col-11,.flex>.col-xs-11,.flex>.col-10,.flex>.col-xs-10,.flex>.col-9,.flex>.col-xs-9,.flex>.col-8,.flex>.col-xs-8,.flex>.col-7,.flex>.col-xs-7,.flex>.col-6,.flex>.col-xs-6,.flex>.col-5,.flex>.col-xs-5,.flex>.col-4,.flex>.col-xs-4,.flex>.col-3,.flex>.col-xs-3,.flex>.col-2,.flex>.col-xs-2,.flex>.col-1,.flex>.col-xs-1,.flex>.col-0,.flex>.col-xs-0,.column>.col-xs-grow,.flex>.col-xs-grow,.column>.col-xs-shrink,.flex>.col-xs-shrink{height:auto;min-height:0;max-height:100%}.col,.col-xs{flex:10000 1 0%}.col-auto,.col-xs-auto,.col-12,.col-xs-12,.col-11,.col-xs-11,.col-10,.col-xs-10,.col-9,.col-xs-9,.col-8,.col-xs-8,.col-7,.col-xs-7,.col-6,.col-xs-6,.col-5,.col-xs-5,.col-4,.col-xs-4,.col-3,.col-xs-3,.col-2,.col-xs-2,.col-1,.col-xs-1,.col-0,.col-xs-0{flex:0 0 auto}.col-grow,.col-xs-grow{flex:1 0 auto}.col-shrink,.col-xs-shrink{flex:0 1 auto}.row>.col-0,.row>.col-xs-0{height:auto;width:0%}.row>.offset-0,.row>.offset-xs-0{margin-left:0%}.column>.col-0,.column>.col-xs-0{height:0%;width:auto}.row>.col-1,.row>.col-xs-1{height:auto;width:8.3333%}.row>.offset-1,.row>.offset-xs-1{margin-left:8.3333%}.column>.col-1,.column>.col-xs-1{height:8.3333%;width:auto}.row>.col-2,.row>.col-xs-2{height:auto;width:16.6667%}.row>.offset-2,.row>.offset-xs-2{margin-left:16.6667%}.column>.col-2,.column>.col-xs-2{height:16.6667%;width:auto}.row>.col-3,.row>.col-xs-3{height:auto;width:25%}.row>.offset-3,.row>.offset-xs-3{margin-left:25%}.column>.col-3,.column>.col-xs-3{height:25%;width:auto}.row>.col-4,.row>.col-xs-4{height:auto;width:33.3333%}.row>.offset-4,.row>.offset-xs-4{margin-left:33.3333%}.column>.col-4,.column>.col-xs-4{height:33.3333%;width:auto}.row>.col-5,.row>.col-xs-5{height:auto;width:41.6667%}.row>.offset-5,.row>.offset-xs-5{margin-left:41.6667%}.column>.col-5,.column>.col-xs-5{height:41.6667%;width:auto}.row>.col-6,.row>.col-xs-6{height:auto;width:50%}.row>.offset-6,.row>.offset-xs-6{margin-left:50%}.column>.col-6,.column>.col-xs-6{height:50%;width:auto}.row>.col-7,.row>.col-xs-7{height:auto;width:58.3333%}.row>.offset-7,.row>.offset-xs-7{margin-left:58.3333%}.column>.col-7,.column>.col-xs-7{height:58.3333%;width:auto}.row>.col-8,.row>.col-xs-8{height:auto;width:66.6667%}.row>.offset-8,.row>.offset-xs-8{margin-left:66.6667%}.column>.col-8,.column>.col-xs-8{height:66.6667%;width:auto}.row>.col-9,.row>.col-xs-9{height:auto;width:75%}.row>.offset-9,.row>.offset-xs-9{margin-left:75%}.column>.col-9,.column>.col-xs-9{height:75%;width:auto}.row>.col-10,.row>.col-xs-10{height:auto;width:83.3333%}.row>.offset-10,.row>.offset-xs-10{margin-left:83.3333%}.column>.col-10,.column>.col-xs-10{height:83.3333%;width:auto}.row>.col-11,.row>.col-xs-11{height:auto;width:91.6667%}.row>.offset-11,.row>.offset-xs-11{margin-left:91.6667%}.column>.col-11,.column>.col-xs-11{height:91.6667%;width:auto}.row>.col-12,.row>.col-xs-12{height:auto;width:100%}.row>.offset-12,.row>.offset-xs-12{margin-left:100%}.column>.col-12,.column>.col-xs-12{height:100%;width:auto}.row>.col-all{height:auto;flex:0 0 100%}}@media(min-width:600px){.row>.col-sm,.flex>.col-sm,.row>.col-sm-auto,.row>.col-sm-12,.row>.col-sm-11,.row>.col-sm-10,.row>.col-sm-9,.row>.col-sm-8,.row>.col-sm-7,.row>.col-sm-6,.row>.col-sm-5,.row>.col-sm-4,.row>.col-sm-3,.row>.col-sm-2,.row>.col-sm-1,.row>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.row>.col-sm-grow,.flex>.col-sm-grow,.row>.col-sm-shrink,.flex>.col-sm-shrink{width:auto;min-width:0;max-width:100%}.column>.col-sm,.flex>.col-sm,.column>.col-sm-auto,.column>.col-sm-12,.column>.col-sm-11,.column>.col-sm-10,.column>.col-sm-9,.column>.col-sm-8,.column>.col-sm-7,.column>.col-sm-6,.column>.col-sm-5,.column>.col-sm-4,.column>.col-sm-3,.column>.col-sm-2,.column>.col-sm-1,.column>.col-sm-0,.flex>.col-sm-auto,.flex>.col-sm-12,.flex>.col-sm-11,.flex>.col-sm-10,.flex>.col-sm-9,.flex>.col-sm-8,.flex>.col-sm-7,.flex>.col-sm-6,.flex>.col-sm-5,.flex>.col-sm-4,.flex>.col-sm-3,.flex>.col-sm-2,.flex>.col-sm-1,.flex>.col-sm-0,.column>.col-sm-grow,.flex>.col-sm-grow,.column>.col-sm-shrink,.flex>.col-sm-shrink{height:auto;min-height:0;max-height:100%}.col-sm{flex:10000 1 0%}.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col-sm-0{flex:0 0 auto}.col-sm-grow{flex:1 0 auto}.col-sm-shrink{flex:0 1 auto}.row>.col-sm-0{height:auto;width:0%}.row>.offset-sm-0{margin-left:0%}.column>.col-sm-0{height:0%;width:auto}.row>.col-sm-1{height:auto;width:8.3333%}.row>.offset-sm-1{margin-left:8.3333%}.column>.col-sm-1{height:8.3333%;width:auto}.row>.col-sm-2{height:auto;width:16.6667%}.row>.offset-sm-2{margin-left:16.6667%}.column>.col-sm-2{height:16.6667%;width:auto}.row>.col-sm-3{height:auto;width:25%}.row>.offset-sm-3{margin-left:25%}.column>.col-sm-3{height:25%;width:auto}.row>.col-sm-4{height:auto;width:33.3333%}.row>.offset-sm-4{margin-left:33.3333%}.column>.col-sm-4{height:33.3333%;width:auto}.row>.col-sm-5{height:auto;width:41.6667%}.row>.offset-sm-5{margin-left:41.6667%}.column>.col-sm-5{height:41.6667%;width:auto}.row>.col-sm-6{height:auto;width:50%}.row>.offset-sm-6{margin-left:50%}.column>.col-sm-6{height:50%;width:auto}.row>.col-sm-7{height:auto;width:58.3333%}.row>.offset-sm-7{margin-left:58.3333%}.column>.col-sm-7{height:58.3333%;width:auto}.row>.col-sm-8{height:auto;width:66.6667%}.row>.offset-sm-8{margin-left:66.6667%}.column>.col-sm-8{height:66.6667%;width:auto}.row>.col-sm-9{height:auto;width:75%}.row>.offset-sm-9{margin-left:75%}.column>.col-sm-9{height:75%;width:auto}.row>.col-sm-10{height:auto;width:83.3333%}.row>.offset-sm-10{margin-left:83.3333%}.column>.col-sm-10{height:83.3333%;width:auto}.row>.col-sm-11{height:auto;width:91.6667%}.row>.offset-sm-11{margin-left:91.6667%}.column>.col-sm-11{height:91.6667%;width:auto}.row>.col-sm-12{height:auto;width:100%}.row>.offset-sm-12{margin-left:100%}.column>.col-sm-12{height:100%;width:auto}}@media(min-width:1024px){.row>.col-md,.flex>.col-md,.row>.col-md-auto,.row>.col-md-12,.row>.col-md-11,.row>.col-md-10,.row>.col-md-9,.row>.col-md-8,.row>.col-md-7,.row>.col-md-6,.row>.col-md-5,.row>.col-md-4,.row>.col-md-3,.row>.col-md-2,.row>.col-md-1,.row>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.row>.col-md-grow,.flex>.col-md-grow,.row>.col-md-shrink,.flex>.col-md-shrink{width:auto;min-width:0;max-width:100%}.column>.col-md,.flex>.col-md,.column>.col-md-auto,.column>.col-md-12,.column>.col-md-11,.column>.col-md-10,.column>.col-md-9,.column>.col-md-8,.column>.col-md-7,.column>.col-md-6,.column>.col-md-5,.column>.col-md-4,.column>.col-md-3,.column>.col-md-2,.column>.col-md-1,.column>.col-md-0,.flex>.col-md-auto,.flex>.col-md-12,.flex>.col-md-11,.flex>.col-md-10,.flex>.col-md-9,.flex>.col-md-8,.flex>.col-md-7,.flex>.col-md-6,.flex>.col-md-5,.flex>.col-md-4,.flex>.col-md-3,.flex>.col-md-2,.flex>.col-md-1,.flex>.col-md-0,.column>.col-md-grow,.flex>.col-md-grow,.column>.col-md-shrink,.flex>.col-md-shrink{height:auto;min-height:0;max-height:100%}.col-md{flex:10000 1 0%}.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-md-0{flex:0 0 auto}.col-md-grow{flex:1 0 auto}.col-md-shrink{flex:0 1 auto}.row>.col-md-0{height:auto;width:0%}.row>.offset-md-0{margin-left:0%}.column>.col-md-0{height:0%;width:auto}.row>.col-md-1{height:auto;width:8.3333%}.row>.offset-md-1{margin-left:8.3333%}.column>.col-md-1{height:8.3333%;width:auto}.row>.col-md-2{height:auto;width:16.6667%}.row>.offset-md-2{margin-left:16.6667%}.column>.col-md-2{height:16.6667%;width:auto}.row>.col-md-3{height:auto;width:25%}.row>.offset-md-3{margin-left:25%}.column>.col-md-3{height:25%;width:auto}.row>.col-md-4{height:auto;width:33.3333%}.row>.offset-md-4{margin-left:33.3333%}.column>.col-md-4{height:33.3333%;width:auto}.row>.col-md-5{height:auto;width:41.6667%}.row>.offset-md-5{margin-left:41.6667%}.column>.col-md-5{height:41.6667%;width:auto}.row>.col-md-6{height:auto;width:50%}.row>.offset-md-6{margin-left:50%}.column>.col-md-6{height:50%;width:auto}.row>.col-md-7{height:auto;width:58.3333%}.row>.offset-md-7{margin-left:58.3333%}.column>.col-md-7{height:58.3333%;width:auto}.row>.col-md-8{height:auto;width:66.6667%}.row>.offset-md-8{margin-left:66.6667%}.column>.col-md-8{height:66.6667%;width:auto}.row>.col-md-9{height:auto;width:75%}.row>.offset-md-9{margin-left:75%}.column>.col-md-9{height:75%;width:auto}.row>.col-md-10{height:auto;width:83.3333%}.row>.offset-md-10{margin-left:83.3333%}.column>.col-md-10{height:83.3333%;width:auto}.row>.col-md-11{height:auto;width:91.6667%}.row>.offset-md-11{margin-left:91.6667%}.column>.col-md-11{height:91.6667%;width:auto}.row>.col-md-12{height:auto;width:100%}.row>.offset-md-12{margin-left:100%}.column>.col-md-12{height:100%;width:auto}}@media(min-width:1440px){.row>.col-lg,.flex>.col-lg,.row>.col-lg-auto,.row>.col-lg-12,.row>.col-lg-11,.row>.col-lg-10,.row>.col-lg-9,.row>.col-lg-8,.row>.col-lg-7,.row>.col-lg-6,.row>.col-lg-5,.row>.col-lg-4,.row>.col-lg-3,.row>.col-lg-2,.row>.col-lg-1,.row>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.row>.col-lg-grow,.flex>.col-lg-grow,.row>.col-lg-shrink,.flex>.col-lg-shrink{width:auto;min-width:0;max-width:100%}.column>.col-lg,.flex>.col-lg,.column>.col-lg-auto,.column>.col-lg-12,.column>.col-lg-11,.column>.col-lg-10,.column>.col-lg-9,.column>.col-lg-8,.column>.col-lg-7,.column>.col-lg-6,.column>.col-lg-5,.column>.col-lg-4,.column>.col-lg-3,.column>.col-lg-2,.column>.col-lg-1,.column>.col-lg-0,.flex>.col-lg-auto,.flex>.col-lg-12,.flex>.col-lg-11,.flex>.col-lg-10,.flex>.col-lg-9,.flex>.col-lg-8,.flex>.col-lg-7,.flex>.col-lg-6,.flex>.col-lg-5,.flex>.col-lg-4,.flex>.col-lg-3,.flex>.col-lg-2,.flex>.col-lg-1,.flex>.col-lg-0,.column>.col-lg-grow,.flex>.col-lg-grow,.column>.col-lg-shrink,.flex>.col-lg-shrink{height:auto;min-height:0;max-height:100%}.col-lg{flex:10000 1 0%}.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-lg-0{flex:0 0 auto}.col-lg-grow{flex:1 0 auto}.col-lg-shrink{flex:0 1 auto}.row>.col-lg-0{height:auto;width:0%}.row>.offset-lg-0{margin-left:0%}.column>.col-lg-0{height:0%;width:auto}.row>.col-lg-1{height:auto;width:8.3333%}.row>.offset-lg-1{margin-left:8.3333%}.column>.col-lg-1{height:8.3333%;width:auto}.row>.col-lg-2{height:auto;width:16.6667%}.row>.offset-lg-2{margin-left:16.6667%}.column>.col-lg-2{height:16.6667%;width:auto}.row>.col-lg-3{height:auto;width:25%}.row>.offset-lg-3{margin-left:25%}.column>.col-lg-3{height:25%;width:auto}.row>.col-lg-4{height:auto;width:33.3333%}.row>.offset-lg-4{margin-left:33.3333%}.column>.col-lg-4{height:33.3333%;width:auto}.row>.col-lg-5{height:auto;width:41.6667%}.row>.offset-lg-5{margin-left:41.6667%}.column>.col-lg-5{height:41.6667%;width:auto}.row>.col-lg-6{height:auto;width:50%}.row>.offset-lg-6{margin-left:50%}.column>.col-lg-6{height:50%;width:auto}.row>.col-lg-7{height:auto;width:58.3333%}.row>.offset-lg-7{margin-left:58.3333%}.column>.col-lg-7{height:58.3333%;width:auto}.row>.col-lg-8{height:auto;width:66.6667%}.row>.offset-lg-8{margin-left:66.6667%}.column>.col-lg-8{height:66.6667%;width:auto}.row>.col-lg-9{height:auto;width:75%}.row>.offset-lg-9{margin-left:75%}.column>.col-lg-9{height:75%;width:auto}.row>.col-lg-10{height:auto;width:83.3333%}.row>.offset-lg-10{margin-left:83.3333%}.column>.col-lg-10{height:83.3333%;width:auto}.row>.col-lg-11{height:auto;width:91.6667%}.row>.offset-lg-11{margin-left:91.6667%}.column>.col-lg-11{height:91.6667%;width:auto}.row>.col-lg-12{height:auto;width:100%}.row>.offset-lg-12{margin-left:100%}.column>.col-lg-12{height:100%;width:auto}}@media(min-width:1920px){.row>.col-xl,.flex>.col-xl,.row>.col-xl-auto,.row>.col-xl-12,.row>.col-xl-11,.row>.col-xl-10,.row>.col-xl-9,.row>.col-xl-8,.row>.col-xl-7,.row>.col-xl-6,.row>.col-xl-5,.row>.col-xl-4,.row>.col-xl-3,.row>.col-xl-2,.row>.col-xl-1,.row>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.row>.col-xl-grow,.flex>.col-xl-grow,.row>.col-xl-shrink,.flex>.col-xl-shrink{width:auto;min-width:0;max-width:100%}.column>.col-xl,.flex>.col-xl,.column>.col-xl-auto,.column>.col-xl-12,.column>.col-xl-11,.column>.col-xl-10,.column>.col-xl-9,.column>.col-xl-8,.column>.col-xl-7,.column>.col-xl-6,.column>.col-xl-5,.column>.col-xl-4,.column>.col-xl-3,.column>.col-xl-2,.column>.col-xl-1,.column>.col-xl-0,.flex>.col-xl-auto,.flex>.col-xl-12,.flex>.col-xl-11,.flex>.col-xl-10,.flex>.col-xl-9,.flex>.col-xl-8,.flex>.col-xl-7,.flex>.col-xl-6,.flex>.col-xl-5,.flex>.col-xl-4,.flex>.col-xl-3,.flex>.col-xl-2,.flex>.col-xl-1,.flex>.col-xl-0,.column>.col-xl-grow,.flex>.col-xl-grow,.column>.col-xl-shrink,.flex>.col-xl-shrink{height:auto;min-height:0;max-height:100%}.col-xl{flex:10000 1 0%}.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-xl-0{flex:0 0 auto}.col-xl-grow{flex:1 0 auto}.col-xl-shrink{flex:0 1 auto}.row>.col-xl-0{height:auto;width:0%}.row>.offset-xl-0{margin-left:0%}.column>.col-xl-0{height:0%;width:auto}.row>.col-xl-1{height:auto;width:8.3333%}.row>.offset-xl-1{margin-left:8.3333%}.column>.col-xl-1{height:8.3333%;width:auto}.row>.col-xl-2{height:auto;width:16.6667%}.row>.offset-xl-2{margin-left:16.6667%}.column>.col-xl-2{height:16.6667%;width:auto}.row>.col-xl-3{height:auto;width:25%}.row>.offset-xl-3{margin-left:25%}.column>.col-xl-3{height:25%;width:auto}.row>.col-xl-4{height:auto;width:33.3333%}.row>.offset-xl-4{margin-left:33.3333%}.column>.col-xl-4{height:33.3333%;width:auto}.row>.col-xl-5{height:auto;width:41.6667%}.row>.offset-xl-5{margin-left:41.6667%}.column>.col-xl-5{height:41.6667%;width:auto}.row>.col-xl-6{height:auto;width:50%}.row>.offset-xl-6{margin-left:50%}.column>.col-xl-6{height:50%;width:auto}.row>.col-xl-7{height:auto;width:58.3333%}.row>.offset-xl-7{margin-left:58.3333%}.column>.col-xl-7{height:58.3333%;width:auto}.row>.col-xl-8{height:auto;width:66.6667%}.row>.offset-xl-8{margin-left:66.6667%}.column>.col-xl-8{height:66.6667%;width:auto}.row>.col-xl-9{height:auto;width:75%}.row>.offset-xl-9{margin-left:75%}.column>.col-xl-9{height:75%;width:auto}.row>.col-xl-10{height:auto;width:83.3333%}.row>.offset-xl-10{margin-left:83.3333%}.column>.col-xl-10{height:83.3333%;width:auto}.row>.col-xl-11{height:auto;width:91.6667%}.row>.offset-xl-11{margin-left:91.6667%}.column>.col-xl-11{height:91.6667%;width:auto}.row>.col-xl-12{height:auto;width:100%}.row>.offset-xl-12{margin-left:100%}.column>.col-xl-12{height:100%;width:auto}}.rounded-borders{border-radius:4px}.border-radius-inherit{border-radius:inherit}.no-transition{transition:none!important}.transition-0{transition:0s!important}.glossy{background-image:linear-gradient(to bottom,#ffffff4d,#fff0 50%,#0000001f 51%,#0000000a)!important}.q-placeholder::placeholder{color:inherit;opacity:.7}.q-body--fullscreen-mixin,.q-body--prevent-scroll{position:fixed!important}.q-body--force-scrollbar-x{overflow-x:scroll}.q-body--force-scrollbar-y{overflow-y:scroll}.q-no-input-spinner{-moz-appearance:textfield!important}.q-no-input-spinner::-webkit-outer-spin-button,.q-no-input-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.q-link{outline:0;text-decoration:none}.q-link--focusable:focus-visible{-webkit-text-decoration:underline dashed currentColor 1px;text-decoration:underline dashed currentColor 1px}body.electron .q-electron-drag{-webkit-user-select:none;-webkit-app-region:drag}body.electron .q-electron-drag .q-btn-item,body.electron .q-electron-drag--exception{-webkit-app-region:no-drag}img.responsive{max-width:100%;height:auto}.non-selectable{-webkit-user-select:none!important;user-select:none!important}.scroll,body.mobile .scroll--mobile{overflow:auto}.scroll,.scroll-x,.scroll-y{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-x{overflow-x:auto}.scroll-y{overflow-y:auto}.no-scroll{overflow:hidden!important}.no-pointer-events,.no-pointer-events--children,.no-pointer-events--children *{pointer-events:none!important}.all-pointer-events{pointer-events:all!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-inherit{cursor:inherit!important}.cursor-none{cursor:none!important}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-135{transform:rotate(135deg)}.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.flip-horizontal{transform:scaleX(-1)}.flip-vertical{transform:scaleY(-1)}.float-left{float:left}.float-right{float:right}.relative-position{position:relative}.fixed,.fixed-full,.fullscreen,.fixed-center,.fixed-bottom,.fixed-left,.fixed-right,.fixed-top,.fixed-top-left,.fixed-top-right,.fixed-bottom-left,.fixed-bottom-right{position:fixed}.absolute,.absolute-full,.absolute-center,.absolute-bottom,.absolute-left,.absolute-right,.absolute-top,.absolute-top-left,.absolute-top-right,.absolute-bottom-left,.absolute-bottom-right{position:absolute}.fixed-top,.absolute-top{top:0;left:0;right:0}.fixed-right,.absolute-right{top:0;right:0;bottom:0}.fixed-bottom,.absolute-bottom{right:0;bottom:0;left:0}.fixed-left,.absolute-left{top:0;bottom:0;left:0}.fixed-top-left,.absolute-top-left{top:0;left:0}.fixed-top-right,.absolute-top-right{top:0;right:0}.fixed-bottom-left,.absolute-bottom-left{bottom:0;left:0}.fixed-bottom-right,.absolute-bottom-right{bottom:0;right:0}.fullscreen{z-index:6000;border-radius:0!important;max-width:100vw;max-height:100vh}body.q-ios-padding .fullscreen{padding-top:20px!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.absolute-full,.fullscreen,.fixed-full{top:0;right:0;bottom:0;left:0}.fixed-center,.absolute-center{top:50%;left:50%;transform:translate(-50%,-50%)}.vertical-top{vertical-align:top!important}.vertical-middle{vertical-align:middle!important}.vertical-bottom{vertical-align:bottom!important}.on-left{margin-right:12px}.on-right{margin-left:12px}.q-position-engine{margin-top:var(--q-pe-top, 0)!important;margin-left:var(--q-pe-left, 0)!important;will-change:auto;visibility:collapse}:root{--q-size-xs: 0;--q-size-sm: 600px;--q-size-md: 1024px;--q-size-lg: 1440px;--q-size-xl: 1920px}.fit{width:100%!important;height:100%!important}.full-height{height:100%!important}.full-width{width:100%!important;margin-left:0!important;margin-right:0!important}.window-height{margin-top:0!important;margin-bottom:0!important;height:100vh!important}.window-width{margin-left:0!important;margin-right:0!important;width:100vw!important}.block{display:block!important}.inline-block{display:inline-block!important}.q-pa-none{padding:0}.q-pl-none{padding-left:0}.q-pr-none{padding-right:0}.q-pt-none{padding-top:0}.q-pb-none{padding-bottom:0}.q-px-none{padding-left:0;padding-right:0}.q-py-none{padding-top:0;padding-bottom:0}.q-ma-none{margin:0}.q-ml-none{margin-left:0}.q-mr-none{margin-right:0}.q-mt-none{margin-top:0}.q-mb-none{margin-bottom:0}.q-mx-none{margin-left:0;margin-right:0}.q-my-none{margin-top:0;margin-bottom:0}.q-pa-xs{padding:4px}.q-pl-xs{padding-left:4px}.q-pr-xs{padding-right:4px}.q-pt-xs{padding-top:4px}.q-pb-xs{padding-bottom:4px}.q-px-xs{padding-left:4px;padding-right:4px}.q-py-xs{padding-top:4px;padding-bottom:4px}.q-ma-xs{margin:4px}.q-ml-xs{margin-left:4px}.q-mr-xs{margin-right:4px}.q-mt-xs{margin-top:4px}.q-mb-xs{margin-bottom:4px}.q-mx-xs{margin-left:4px;margin-right:4px}.q-my-xs{margin-top:4px;margin-bottom:4px}.q-pa-sm{padding:8px}.q-pl-sm{padding-left:8px}.q-pr-sm{padding-right:8px}.q-pt-sm{padding-top:8px}.q-pb-sm{padding-bottom:8px}.q-px-sm{padding-left:8px;padding-right:8px}.q-py-sm{padding-top:8px;padding-bottom:8px}.q-ma-sm{margin:8px}.q-ml-sm{margin-left:8px}.q-mr-sm{margin-right:8px}.q-mt-sm{margin-top:8px}.q-mb-sm{margin-bottom:8px}.q-mx-sm{margin-left:8px;margin-right:8px}.q-my-sm{margin-top:8px;margin-bottom:8px}.q-pa-md{padding:16px}.q-pl-md{padding-left:16px}.q-pr-md{padding-right:16px}.q-pt-md{padding-top:16px}.q-pb-md{padding-bottom:16px}.q-px-md{padding-left:16px;padding-right:16px}.q-py-md{padding-top:16px;padding-bottom:16px}.q-ma-md{margin:16px}.q-ml-md{margin-left:16px}.q-mr-md{margin-right:16px}.q-mt-md{margin-top:16px}.q-mb-md{margin-bottom:16px}.q-mx-md{margin-left:16px;margin-right:16px}.q-my-md{margin-top:16px;margin-bottom:16px}.q-pa-lg{padding:24px}.q-pl-lg{padding-left:24px}.q-pr-lg{padding-right:24px}.q-pt-lg{padding-top:24px}.q-pb-lg{padding-bottom:24px}.q-px-lg{padding-left:24px;padding-right:24px}.q-py-lg{padding-top:24px;padding-bottom:24px}.q-ma-lg{margin:24px}.q-ml-lg{margin-left:24px}.q-mr-lg{margin-right:24px}.q-mt-lg{margin-top:24px}.q-mb-lg{margin-bottom:24px}.q-mx-lg{margin-left:24px;margin-right:24px}.q-my-lg{margin-top:24px;margin-bottom:24px}.q-pa-xl{padding:48px}.q-pl-xl{padding-left:48px}.q-pr-xl{padding-right:48px}.q-pt-xl{padding-top:48px}.q-pb-xl{padding-bottom:48px}.q-px-xl{padding-left:48px;padding-right:48px}.q-py-xl{padding-top:48px;padding-bottom:48px}.q-ma-xl{margin:48px}.q-ml-xl{margin-left:48px}.q-mr-xl{margin-right:48px}.q-mt-xl{margin-top:48px}.q-mb-xl{margin-bottom:48px}.q-mx-xl{margin-left:48px;margin-right:48px}.q-my-xl{margin-top:48px;margin-bottom:48px}.q-mt-auto,.q-my-auto{margin-top:auto}.q-ml-auto{margin-left:auto}.q-mb-auto,.q-my-auto{margin-bottom:auto}.q-mr-auto{margin-right:auto}.q-mx-auto{margin-left:auto;margin-right:auto}.q-touch{-webkit-user-select:none;user-select:none;user-drag:none;-khtml-user-drag:none;-webkit-user-drag:none}.q-touch-x{touch-action:pan-x}.q-touch-y{touch-action:pan-y}:root{--q-transition-duration: .3s}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active,.q-transition--fade-enter-active,.q-transition--fade-leave-active,.q-transition--scale-enter-active,.q-transition--scale-leave-active,.q-transition--rotate-enter-active,.q-transition--rotate-leave-active,.q-transition--flip-enter-active,.q-transition--flip-leave-active{--q-transition-duration: .3s;--q-transition-easing: cubic-bezier(.215,.61,.355,1)}.q-transition--slide-right-leave-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-leave-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-leave-active,.q-transition--fade-leave-active,.q-transition--scale-leave-active,.q-transition--rotate-leave-active,.q-transition--flip-leave-active{position:absolute}.q-transition--slide-right-enter-active,.q-transition--slide-right-leave-active,.q-transition--slide-left-enter-active,.q-transition--slide-left-leave-active,.q-transition--slide-up-enter-active,.q-transition--slide-up-leave-active,.q-transition--slide-down-enter-active,.q-transition--slide-down-leave-active{transition:transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--slide-right-enter-from{transform:translate3d(-100%,0,0)}.q-transition--slide-right-leave-to,.q-transition--slide-left-enter-from{transform:translate3d(100%,0,0)}.q-transition--slide-left-leave-to{transform:translate3d(-100%,0,0)}.q-transition--slide-up-enter-from{transform:translate3d(0,100%,0)}.q-transition--slide-up-leave-to,.q-transition--slide-down-enter-from{transform:translate3d(0,-100%,0)}.q-transition--slide-down-leave-to{transform:translate3d(0,100%,0)}.q-transition--jump-right-enter-active,.q-transition--jump-right-leave-active,.q-transition--jump-left-enter-active,.q-transition--jump-left-leave-active,.q-transition--jump-up-enter-active,.q-transition--jump-up-leave-active,.q-transition--jump-down-enter-active,.q-transition--jump-down-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration)}.q-transition--jump-right-enter-from,.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from,.q-transition--jump-left-leave-to,.q-transition--jump-up-enter-from,.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from,.q-transition--jump-down-leave-to{opacity:0}.q-transition--jump-right-enter-from{transform:translate3d(-15px,0,0)}.q-transition--jump-right-leave-to,.q-transition--jump-left-enter-from{transform:translate3d(15px,0,0)}.q-transition--jump-left-leave-to{transform:translate(-15px)}.q-transition--jump-up-enter-from{transform:translate3d(0,15px,0)}.q-transition--jump-up-leave-to,.q-transition--jump-down-enter-from{transform:translate3d(0,-15px,0)}.q-transition--jump-down-leave-to{transform:translate3d(0,15px,0)}.q-transition--fade-enter-active,.q-transition--fade-leave-active{transition:opacity var(--q-transition-duration) ease-out}.q-transition--fade-enter-from,.q-transition--fade-leave-to{opacity:0}.q-transition--scale-enter-active,.q-transition--scale-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing)}.q-transition--scale-enter-from,.q-transition--scale-leave-to{opacity:0;transform:scale3d(0,0,1)}.q-transition--rotate-enter-active,.q-transition--rotate-leave-active{transition:opacity var(--q-transition-duration),transform var(--q-transition-duration) var(--q-transition-easing);transform-style:preserve-3d}.q-transition--rotate-enter-from,.q-transition--rotate-leave-to{opacity:0;transform:scale3d(0,0,1) rotate3d(0,0,1,90deg)}.q-transition--flip-right-enter-active,.q-transition--flip-right-leave-active,.q-transition--flip-left-enter-active,.q-transition--flip-left-leave-active,.q-transition--flip-up-enter-active,.q-transition--flip-up-leave-active,.q-transition--flip-down-enter-active,.q-transition--flip-down-leave-active{transition:transform var(--q-transition-duration);backface-visibility:hidden}.q-transition--flip-right-enter-to,.q-transition--flip-right-leave-from,.q-transition--flip-left-enter-to,.q-transition--flip-left-leave-from,.q-transition--flip-up-enter-to,.q-transition--flip-up-leave-from,.q-transition--flip-down-enter-to,.q-transition--flip-down-leave-from{transform:perspective(400px) rotate3d(1,1,0,0)}.q-transition--flip-right-enter-from{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-right-leave-to,.q-transition--flip-left-enter-from{transform:perspective(400px) rotateY(180deg)}.q-transition--flip-left-leave-to{transform:perspective(400px) rotateY(-180deg)}.q-transition--flip-up-enter-from{transform:perspective(400px) rotateX(-180deg)}.q-transition--flip-up-leave-to,.q-transition--flip-down-enter-from{transform:perspective(400px) rotateX(180deg)}.q-transition--flip-down-leave-to{transform:perspective(400px) rotateX(-180deg)}body{min-width:100px;min-height:100%;font-family:Roboto,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;line-height:1.5;font-size:14px}h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}p{margin:0 0 16px}.text-h1{font-size:6rem;font-weight:300;line-height:6rem;letter-spacing:-.01562em}.text-h2{font-size:3.75rem;font-weight:300;line-height:3.75rem;letter-spacing:-.00833em}.text-h3{font-size:3rem;font-weight:400;line-height:3.125rem;letter-spacing:normal}.text-h4{font-size:2.125rem;font-weight:400;line-height:2.5rem;letter-spacing:.00735em}.text-h5{font-size:1.5rem;font-weight:400;line-height:2rem;letter-spacing:normal}.text-h6{font-size:1.25rem;font-weight:500;line-height:2rem;letter-spacing:.0125em}.text-subtitle1{font-size:1rem;font-weight:400;line-height:1.75rem;letter-spacing:.00937em}.text-subtitle2{font-size:.875rem;font-weight:500;line-height:1.375rem;letter-spacing:.00714em}.text-body1{font-size:1rem;font-weight:400;line-height:1.5rem;letter-spacing:.03125em}.text-body2{font-size:.875rem;font-weight:400;line-height:1.25rem;letter-spacing:.01786em}.text-overline{font-size:.75rem;font-weight:500;line-height:2rem;letter-spacing:.16667em}.text-caption{font-size:.75rem;font-weight:400;line-height:1.25rem;letter-spacing:.03333em}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.text-italic{font-style:italic}.text-bold{font-weight:700}.text-no-wrap{white-space:nowrap}.text-strike{text-decoration:line-through}.text-weight-thin{font-weight:100}.text-weight-light{font-weight:300}.text-weight-regular{font-weight:400}.text-weight-medium{font-weight:500}.text-weight-bold{font-weight:700}.text-weight-bolder{font-weight:900}small{font-size:80%}big{font-size:170%}sub{bottom:-.25em}sup{top:-.5em}.no-margin{margin:0!important}.no-padding{padding:0!important}.no-border{border:0!important}.no-border-radius{border-radius:0!important}.no-box-shadow{box-shadow:none!important}.no-outline{outline:0!important}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ellipsis-2-lines,.ellipsis-3-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.ellipsis-2-lines{-webkit-line-clamp:2}.ellipsis-3-lines{-webkit-line-clamp:3}.readonly{cursor:default!important}.disabled,.disabled *,[disabled],[disabled] *{outline:0!important;cursor:not-allowed!important}.disabled,[disabled]{opacity:.6!important}.hidden{display:none!important}.invisible,.invisible *{visibility:hidden!important;transition:none!important;animation:none!important}.transparent{background:transparent!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-hidden-y{overflow-y:hidden!important}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.dimmed:after,.light-dimmed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.dimmed:after{background:#0006!important}.light-dimmed:after{background:#fff9!important}.z-top{z-index:7000!important}.z-max{z-index:9998!important}body:not(.desktop) .desktop-only,body.desktop .desktop-hide{display:none!important}body:not(.mobile) .mobile-only,body.mobile .mobile-hide{display:none!important}body:not(.native-mobile) .native-mobile-only,body.native-mobile .native-mobile-hide{display:none!important}body:not(.cordova) .cordova-only,body.cordova .cordova-hide{display:none!important}body:not(.capacitor) .capacitor-only,body.capacitor .capacitor-hide{display:none!important}body:not(.electron) .electron-only,body.electron .electron-hide{display:none!important}body:not(.touch) .touch-only,body.touch .touch-hide{display:none!important}body:not(.within-iframe) .within-iframe-only,body.within-iframe .within-iframe-hide{display:none!important}body:not(.platform-ios) .platform-ios-only,body.platform-ios .platform-ios-hide{display:none!important}body:not(.platform-android) .platform-android-only,body.platform-android .platform-android-hide{display:none!important}@media all and (orientation:portrait){.orientation-landscape{display:none!important}}@media all and (orientation:landscape){.orientation-portrait{display:none!important}}@media screen{.print-only{display:none!important}}@media print{.print-hide{display:none!important}}@media(max-width:599.98px){.xs-hide,.gt-xs,.sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:600px)and (max-width:1023.98px){.sm-hide,.xs,.lt-sm,.gt-sm,.md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1024px)and (max-width:1439.98px){.md-hide,.xs,.lt-sm,.sm,.lt-md,.gt-md,.lg,.gt-lg,.xl{display:none!important}}@media(min-width:1440px)and (max-width:1919.98px){.lg-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.gt-lg,.xl{display:none!important}}@media(min-width:1920px){.xl-hide,.xs,.lt-sm,.sm,.lt-md,.md,.lt-lg,.lg,.lt-xl{display:none!important}}.q-focus-helper,.q-focusable,.q-manual-focusable,.q-hoverable{outline:0}body.desktop .q-focus-helper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;border-radius:inherit;opacity:0;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .4s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before,body.desktop .q-focus-helper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;border-radius:inherit;transition:background-color .3s cubic-bezier(.25,.8,.5,1),opacity .6s cubic-bezier(.25,.8,.5,1)}body.desktop .q-focus-helper:before{background:#000}body.desktop .q-focus-helper:after{background:#fff}body.desktop .q-focus-helper--rounded{border-radius:4px}body.desktop .q-focus-helper--round{border-radius:50%}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper,body.desktop .q-hoverable:hover>.q-focus-helper{background:currentColor;opacity:.15}body.desktop .q-focusable:focus>.q-focus-helper:before,body.desktop .q-manual-focusable--focused>.q-focus-helper:before,body.desktop .q-hoverable:hover>.q-focus-helper:before{opacity:.1}body.desktop .q-focusable:focus>.q-focus-helper:after,body.desktop .q-manual-focusable--focused>.q-focus-helper:after,body.desktop .q-hoverable:hover>.q-focus-helper:after{opacity:.4}body.desktop .q-focusable:focus>.q-focus-helper,body.desktop .q-manual-focusable--focused>.q-focus-helper{opacity:.22}body.body--dark{color:#fff;background:var(--q-dark-page)}.q-dark{color:#fff;background:var(--q-dark)}.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before,.cropper-center:after{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media(min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media(min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media(min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.vpc-root{width:100%;height:100%;margin:0}.vpc-img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}.vpc-round-mode .cropper-view-box,.vpc-round-mode .cropper-face{border-radius:50%}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:#1f2933;box-shadow:0 0 0 1000px transparent inset;background-color:transparent;-webkit-transition:background-color 9999s ease-in-out 0s;transition:background-color 9999s ease-in-out 0s}.q-field__control:has(input:-webkit-autofill),.q-field__control:has(input:-webkit-autofill:hover),.q-field__control:has(input:-webkit-autofill:focus),.q-field__control:has(textarea:-webkit-autofill),.q-field__control:has(textarea:-webkit-autofill:hover),.q-field__control:has(textarea:-webkit-autofill:focus){background-color:light-dark(rgb(232,240,254),rgba(70,90,126,.4))!important;outline:2px solid rgba(25,118,210,.4);outline-offset:0;border-radius:0} diff --git a/backend/internal/http/static/spa/assets/index-QUdrNkKl.js b/backend/internal/http/static/spa/assets/index-QUdrNkKl.js deleted file mode 100644 index bf8aa2c..0000000 --- a/backend/internal/http/static/spa/assets/index-QUdrNkKl.js +++ /dev/null @@ -1,4 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MainLayout-Dnh2wyjy.js","assets/QBtn-AYMizH8c.js","assets/render-B4qP-w0Q.js","assets/QLayout-DIjK04DF.js","assets/use-prevent-scroll-eZQDeoK_.js","assets/QItem-F5bzVaJB.js","assets/use-dark-BRt0_t6X.js","assets/QSelect-QjDUAbKc.js","assets/use-key-composition-TTwP9QMZ.js","assets/format-GjIIeqP4.js","assets/QDialog-BcbjPBVh.js","assets/use-timeout-Jkrq6Sig.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/MainLayout-KRjvhj3p.css","assets/IndexPage-VdxnZT-U.js","assets/QCard-D_vcm7k9.js","assets/QCardActions-DlFyQG4S.js","assets/QPage-gf8hzrox.js","assets/IndexPage-0Ryt20QD.css","assets/DevLayout-NkVPqUIU.js","assets/IndexPage-C3QXgr9t.js","assets/ResetPasswordPage-DM3gheQo.js","assets/api-rhge6pbe.js","assets/QInput-CEazYqyH.js","assets/ResetPasswordPage-DMBJffyk.css","assets/ApiEndpointsPage-DOm_uCJI.js","assets/ApiEndpointsPage-gOL3JcKs.css","assets/MailDebugPage-dW3_TCwt.js","assets/MailDebugPage-_Fae84OI.css","assets/ErrorNotFound-CYezCx4W.js"])))=>i.map(i=>d[i]); -const Jc=(function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"})(),Qc=function(e){return"/"+e},Yo={},It=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");s=a(n.map(c=>{if(c=Qc(c),c in Yo)return;Yo[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Jc,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((_,A)=>{d.addEventListener("load",_),d.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return s.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};function ho(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ue={},An=[],St=()=>{},Ul=()=>!1,Vr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),po=e=>e.startsWith("onUpdate:"),Se=Object.assign,mo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},zc=Object.prototype.hasOwnProperty,le=(e,t)=>zc.call(e,t),q=Array.isArray,Tn=e=>cr(e)==="[object Map]",jl=e=>cr(e)==="[object Set]",Xo=e=>cr(e)==="[object Date]",Q=e=>typeof e=="function",pe=e=>typeof e=="string",Rt=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",Vl=e=>(ae(e)||Q(e))&&Q(e.then)&&Q(e.catch),Hl=Object.prototype.toString,cr=e=>Hl.call(e),Zc=e=>cr(e).slice(8,-1),Wl=e=>cr(e)==="[object Object]",Hr=e=>pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vn=ho(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Wr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},eu=/-\w/g,je=Wr(e=>e.replace(eu,t=>t.slice(1).toUpperCase())),tu=/\B([A-Z])/g,gn=Wr(e=>e.replace(tu,"-$1").toLowerCase()),Br=Wr(e=>e.charAt(0).toUpperCase()+e.slice(1)),cs=Wr(e=>e?`on${Br(e)}`:""),Et=(e,t)=>!Object.is(e,t),us=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},nu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ru=e=>{const t=pe(e)?Number(e):NaN;return isNaN(t)?e:t};let Jo;const Kr=()=>Jo||(Jo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gr(e){if(q(e)){const t={};for(let n=0;n{if(n){const r=n.split(ou);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function qr(e){let t="";if(pe(e))t=e;else if(q(e))for(let n=0;n!!(e&&e.__v_isRef===!0),fu=e=>pe(e)?e:e==null?"":q(e)||ae(e)&&(e.toString===Hl||!Q(e.toString))?Gl(e)?fu(e.value):JSON.stringify(e,ql,2):String(e),ql=(e,t)=>Gl(t)?ql(e,t.value):Tn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[fs(r,o)+" =>"]=s,n),{})}:jl(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fs(n))}:Rt(t)?fs(t):ae(t)&&!q(t)&&!Wl(t)?String(t):t,fs=(e,t="")=>{var n;return Rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Oe;class Yl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Oe,!t&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(Oe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Wn){let t=Wn;for(Wn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Hn;){let t=Hn;for(Hn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Zl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ea(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),vo(r),hu(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ta(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ta(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Qn)||(e.globalVersion=Qn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ds(e))))return;e.flags|=2;const t=e.dep,n=fe,r=ot;fe=e,ot=!0;try{Zl(e);const s=e.fn(e._value);(t.version===0||Et(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{fe=n,ot=r,ea(e),e.flags&=-3}}function vo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)vo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function hu(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ot=!0;const na=[];function Wt(){na.push(ot),ot=!1}function Bt(){const e=na.pop();ot=e===void 0?!0:e}function Qo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=fe;fe=void 0;try{t()}finally{fe=n}}}let Qn=0;class pu{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Eo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!fe||!ot||fe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==fe)n=this.activeLink=new pu(fe,this),fe.deps?(n.prevDep=fe.depsTail,fe.depsTail.nextDep=n,fe.depsTail=n):fe.deps=fe.depsTail=n,ra(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=fe.depsTail,n.nextDep=void 0,fe.depsTail.nextDep=n,fe.depsTail=n,fe.deps===n&&(fe.deps=r)}return n}trigger(t){this.version++,Qn++,this.notify(t)}notify(t){bo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{yo()}}}function ra(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)ra(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Rr=new WeakMap,dn=Symbol(""),Ms=Symbol(""),zn=Symbol("");function Ne(e,t,n){if(ot&&fe){let r=Rr.get(e);r||Rr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Eo),s.map=r,s.key=n),s.track()}}function Mt(e,t,n,r,s,o){const i=Rr.get(e);if(!i){Qn++;return}const l=a=>{a&&a.trigger()};if(bo(),t==="clear")i.forEach(l);else{const a=q(e),c=a&&Hr(n);if(a&&n==="length"){const u=Number(r);i.forEach((f,d)=>{(d==="length"||d===zn||!Rt(d)&&d>=u)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),c&&l(i.get(zn)),t){case"add":a?c&&l(i.get("length")):(l(i.get(dn)),Tn(e)&&l(i.get(Ms)));break;case"delete":a||(l(i.get(dn)),Tn(e)&&l(i.get(Ms)));break;case"set":Tn(e)&&l(i.get(dn));break}}yo()}function mu(e,t){const n=Rr.get(e);return n&&n.get(t)}function vn(e){const t=re(e);return t===e?t:(Ne(t,"iterate",zn),Je(e)?t:t.map(it))}function Yr(e){return Ne(e=re(e),"iterate",zn),e}function yt(e,t){return Kt(e)?Pn(jt(e)?it(t):t):it(t)}const gu={__proto__:null,[Symbol.iterator](){return hs(this,Symbol.iterator,e=>yt(this,e))},concat(...e){return vn(this).concat(...e.map(t=>q(t)?vn(t):t))},entries(){return hs(this,"entries",e=>(e[1]=yt(this,e[1]),e))},every(e,t){return Pt(this,"every",e,t,void 0,arguments)},filter(e,t){return Pt(this,"filter",e,t,n=>n.map(r=>yt(this,r)),arguments)},find(e,t){return Pt(this,"find",e,t,n=>yt(this,n),arguments)},findIndex(e,t){return Pt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Pt(this,"findLast",e,t,n=>yt(this,n),arguments)},findLastIndex(e,t){return Pt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Pt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return vn(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return Pt(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return zo(this,"reduce",e,t)},reduceRight(e,...t){return zo(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return Pt(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return vn(this).toReversed()},toSorted(e){return vn(this).toSorted(e)},toSpliced(...e){return vn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return hs(this,"values",e=>yt(this,e))}};function hs(e,t,n){const r=Yr(e),s=r[t]();return r!==e&&!Je(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const _u=Array.prototype;function Pt(e,t,n,r,s,o){const i=Yr(e),l=i!==e&&!Je(e),a=i[t];if(a!==_u[t]){const f=a.apply(e,o);return l?it(f):f}let c=n;i!==e&&(l?c=function(f,d){return n.call(this,yt(e,f),d,e)}:n.length>2&&(c=function(f,d){return n.call(this,f,d,e)}));const u=a.call(i,c,r);return l&&s?s(u):u}function zo(e,t,n,r){const s=Yr(e),o=s!==e&&!Je(e);let i=n,l=!1;s!==e&&(o?(l=r.length===0,i=function(c,u,f){return l&&(l=!1,c=yt(e,c)),n.call(this,c,yt(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const a=s[t](i,...r);return l?yt(e,a):a}function ps(e,t,n){const r=re(e);Ne(r,"iterate",zn);const s=r[t](...n);return(s===-1||s===!1)&&Xr(n[0])?(n[0]=re(n[0]),r[t](...n)):s}function Dn(e,t,n=[]){Wt(),bo();const r=re(e)[t].apply(e,n);return yo(),Bt(),r}const bu=ho("__proto__,__v_isRef,__isVue"),sa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rt));function yu(e){Rt(e)||(e=String(e));const t=re(this);return Ne(t,"has",e),t.hasOwnProperty(e)}class oa{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Lu:ca:o?aa:la).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=q(t);if(!s){let a;if(i&&(a=gu[n]))return a;if(n==="hasOwnProperty")return yu}const l=Reflect.get(t,n,he(t)?t:r);if((Rt(n)?sa.has(n):bu(n))||(s||Ne(t,"get",n),o))return l;if(he(l)){const a=i&&Hr(n)?l:l.value;return s&&ae(a)?$s(a):a}return ae(l)?s?$s(l):_n(l):l}}class ia extends oa{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=q(t)&&Hr(n);if(!this._isShallow){const c=Kt(o);if(!Je(r)&&!Kt(r)&&(o=re(o),r=re(r)),!i&&he(o)&&!he(r))return c||(o.value=r),!0}const l=i?Number(n)e,pr=e=>Reflect.getPrototypeOf(e);function wu(e,t,n){return function(...r){const s=this.__v_raw,o=re(s),i=Tn(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=s[e](...r),u=n?Fs:t?Pn:it;return!t&&Ne(o,"iterate",a?Ms:dn),Se(Object.create(c),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:l?[u(f[0]),u(f[1])]:u(f),done:d}}})}}function mr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Au(e,t){const n={get(s){const o=this.__v_raw,i=re(o),l=re(s);e||(Et(s,l)&&Ne(i,"get",s),Ne(i,"get",l));const{has:a}=pr(i),c=t?Fs:e?Pn:it;if(a.call(i,s))return c(o.get(s));if(a.call(i,l))return c(o.get(l));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ne(re(s),"iterate",dn),s.size},has(s){const o=this.__v_raw,i=re(o),l=re(s);return e||(Et(s,l)&&Ne(i,"has",s),Ne(i,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const i=this,l=i.__v_raw,a=re(l),c=t?Fs:e?Pn:it;return!e&&Ne(a,"iterate",dn),l.forEach((u,f)=>s.call(o,c(u),c(f),i))}};return Se(n,e?{add:mr("add"),set:mr("set"),delete:mr("delete"),clear:mr("clear")}:{add(s){const o=re(this),i=pr(o),l=re(s),a=!t&&!Je(s)&&!Kt(s)?l:s;return i.has.call(o,a)||Et(s,a)&&i.has.call(o,s)||Et(l,a)&&i.has.call(o,l)||(o.add(a),Mt(o,"add",a,a)),this},set(s,o){!t&&!Je(o)&&!Kt(o)&&(o=re(o));const i=re(this),{has:l,get:a}=pr(i);let c=l.call(i,s);c||(s=re(s),c=l.call(i,s));const u=a.call(i,s);return i.set(s,o),c?Et(o,u)&&Mt(i,"set",s,o):Mt(i,"add",s,o),this},delete(s){const o=re(this),{has:i,get:l}=pr(o);let a=i.call(o,s);a||(s=re(s),a=i.call(o,s)),l&&l.call(o,s);const c=o.delete(s);return a&&Mt(o,"delete",s,void 0),c},clear(){const s=re(this),o=s.size!==0,i=s.clear();return o&&Mt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=wu(s,e,t)}),n}function So(e,t){const n=Au(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(le(n,s)&&s in r?n:r,s,o)}const Tu={get:So(!1,!1)},Ru={get:So(!1,!0)},Pu={get:So(!0,!1)};const la=new WeakMap,aa=new WeakMap,ca=new WeakMap,Lu=new WeakMap;function Ou(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Nu(e){return e.__v_skip||!Object.isExtensible(e)?0:Ou(Zc(e))}function _n(e){return Kt(e)?e:Co(e,!1,Eu,Tu,la)}function ua(e){return Co(e,!1,Cu,Ru,aa)}function $s(e){return Co(e,!0,Su,Pu,ca)}function Co(e,t,n,r,s){if(!ae(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=Nu(e);if(o===0)return e;const i=s.get(e);if(i)return i;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function jt(e){return Kt(e)?jt(e.__v_raw):!!(e&&e.__v_isReactive)}function Kt(e){return!!(e&&e.__v_isReadonly)}function Je(e){return!!(e&&e.__v_isShallow)}function Xr(e){return e?!!e.__v_raw:!1}function re(e){const t=e&&e.__v_raw;return t?re(t):e}function xn(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&Bl(e,"__v_skip",!0),e}const it=e=>ae(e)?_n(e):e,Pn=e=>ae(e)?$s(e):e;function he(e){return e?e.__v_isRef===!0:!1}function Jr(e){return da(e,!1)}function fa(e){return da(e,!0)}function da(e,t){return he(e)?e:new Iu(e,t)}class Iu{constructor(t,n){this.dep=new Eo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:re(t),this._value=n?t:it(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Je(t)||Kt(t);t=r?t:re(t),Et(t,n)&&(this._rawValue=t,this._value=r?t:it(t),this.dep.trigger())}}function hn(e){return he(e)?e.value:e}const xu={get:(e,t,n)=>t==="__v_raw"?e:hn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return he(s)&&!he(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function ha(e){return jt(e)?e:new Proxy(e,xu)}function ku(e){const t=q(e)?new Array(e.length):{};for(const n in e)t[n]=Mu(e,n);return t}class Du{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=re(t);let s=!0,o=t;if(!q(t)||!Hr(String(n)))do s=!Xr(o)||Je(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=hn(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&he(this._raw[this._key])){const n=this._object[this._key];if(he(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return mu(this._raw,this._key)}}function Mu(e,t,n){return new Du(e,t,n)}class Fu{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Eo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Qn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&fe!==this)return zl(this,!0),!0}get value(){const t=this.dep.track();return ta(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function $u(e,t,n=!1){let r,s;return Q(e)?r=e:(r=e.get,s=e.set),new Fu(r,s,n)}const gr={},Pr=new WeakMap;let cn;function Uu(e,t=!1,n=cn){if(n){let r=Pr.get(n);r||Pr.set(n,r=[]),r.push(e)}}function ju(e,t,n=ue){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:l,call:a}=n,c=w=>s?w:Je(w)||s===!1||s===0?Ft(w,1):Ft(w);let u,f,d,_,A=!1,T=!1;if(he(e)?(f=()=>e.value,A=Je(e)):jt(e)?(f=()=>c(e),A=!0):q(e)?(T=!0,A=e.some(w=>jt(w)||Je(w)),f=()=>e.map(w=>{if(he(w))return w.value;if(jt(w))return c(w);if(Q(w))return a?a(w,2):w()})):Q(e)?t?f=a?()=>a(e,2):e:f=()=>{if(d){Wt();try{d()}finally{Bt()}}const w=cn;cn=u;try{return a?a(e,3,[_]):e(_)}finally{cn=w}}:f=St,t&&s){const w=f,I=s===!0?1/0:s;f=()=>Ft(w(),I)}const N=Xl(),b=()=>{u.stop(),N&&N.active&&mo(N.effects,u)};if(o&&t){const w=t;t=(...I)=>{w(...I),b()}}let E=T?new Array(e.length).fill(gr):gr;const R=w=>{if(!(!(u.flags&1)||!u.dirty&&!w))if(t){const I=u.run();if(s||A||(T?I.some(($,L)=>Et($,E[L])):Et(I,E))){d&&d();const $=cn;cn=u;try{const L=[I,E===gr?void 0:T&&E[0]===gr?[]:E,_];E=I,a?a(t,3,L):t(...L)}finally{cn=$}}}else u.run()};return l&&l(R),u=new Jl(f),u.scheduler=i?()=>i(R,!1):R,_=w=>Uu(w,!1,u),d=u.onStop=()=>{const w=Pr.get(u);if(w){if(a)a(w,4);else for(const I of w)I();Pr.delete(u)}},t?r?R(!0):E=u.run():i?i(R.bind(null,!0),!0):u.run(),b.pause=u.pause.bind(u),b.resume=u.resume.bind(u),b.stop=b,b}function Ft(e,t=1/0,n){if(t<=0||!ae(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,he(e))Ft(e.value,t,n);else if(q(e))for(let r=0;r{Ft(r,t,n)});else if(Wl(e)){for(const r in e)Ft(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ft(e[r],t,n)}return e}function ur(e,t,n,r){try{return r?e(...r):e()}catch(s){Qr(s,t,n)}}function lt(e,t,n,r){if(Q(e)){const s=ur(e,t,n,r);return s&&Vl(s)&&s.catch(o=>{Qr(o,t,n)}),s}if(q(e)){const s=[];for(let o=0;o>>1,s=Fe[r],o=Zn(s);o=Zn(n)?Fe.push(e):Fe.splice(Hu(t),0,e),e.flags|=1,ma()}}function ma(){Lr||(Lr=pa.then(_a))}function Wu(e){q(e)?Rn.push(...e):Jt&&e.id===-1?Jt.splice(Sn+1,0,e):e.flags&1||(Rn.push(e),e.flags|=1),ma()}function Zo(e,t,n=_t+1){for(;nZn(n)-Zn(r));if(Rn.length=0,Jt){Jt.push(...t);return}for(Jt=t,Sn=0;Sne.id==null?e.flags&2?-1:1/0:e.id;function _a(e){try{for(_t=0;_t{r._d&&xr(-1);const o=Or(t);let i;try{i=e(...s)}finally{Or(o),r._d&&xr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function wg(e,t){if(qe===null)return e;const n=ns(qe),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&Q(t)?t.call(r&&r.proxy):t}}function Ku(){return!!(ts()||pn)}const Gu=Symbol.for("v-scx"),qu=()=>et(Gu);function Vt(e,t,n){return ya(e,t,n)}function ya(e,t,n=ue){const{immediate:r,deep:s,flush:o,once:i}=n,l=Se({},n),a=t&&r||!t&&o!=="post";let c;if(nr){if(o==="sync"){const _=qu();c=_.__watcherHandles||(_.__watcherHandles=[])}else if(!a){const _=()=>{};return _.stop=St,_.resume=St,_.pause=St,_}}const u=Ie;l.call=(_,A,T)=>lt(_,u,A,T);let f=!1;o==="post"?l.scheduler=_=>{Le(_,u&&u.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(_,A)=>{A?_():Ao(_)}),l.augmentJob=_=>{t&&(_.flags|=4),f&&(_.flags|=2,u&&(_.id=u.uid,_.i=u))};const d=ju(e,t,l);return nr&&(c?c.push(d):a&&d()),d}function Yu(e,t,n){const r=this.proxy,s=pe(e)?e.includes(".")?va(r,e):()=>r[e]:e.bind(r,r);let o;Q(t)?o=t:(o=t.handler,n=t);const i=dr(this),l=ya(s,o.bind(r),n);return i(),l}function va(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,Bn=e=>e&&(e.disabled||e.disabled===""),ei=e=>e&&(e.defer||e.defer===""),ti=e=>typeof SVGElement<"u"&&e instanceof SVGElement,ni=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Us=(e,t)=>{const n=e&&e.to;return pe(n)?t?t(n):null:n},Ca={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,o,i,l,a,c){const{mc:u,pc:f,pbc:d,o:{insert:_,querySelector:A,createText:T,createComment:N}}=c,b=Bn(t.props);let{shapeFlag:E,children:R,dynamicChildren:w}=t;if(e==null){const I=t.el=T(""),$=t.anchor=T("");_(I,n,r),_($,n,r);const L=(M,B)=>{E&16&&u(R,M,B,s,o,i,l,a)},H=()=>{const M=t.target=Us(t.props,A),B=js(M,t,T,_);M&&(i!=="svg"&&ti(M)?i="svg":i!=="mathml"&&ni(M)&&(i="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(M),b||(L(M,B),Cr(t,!1)))};b&&(L(n,$),Cr(t,!0)),ei(t.props)?(t.el.__isMounted=!1,Le(()=>{H(),delete t.el.__isMounted},o)):H()}else{if(ei(t.props)&&e.el.__isMounted===!1){Le(()=>{Ca.process(e,t,n,r,s,o,i,l,a,c)},o);return}t.el=e.el,t.targetStart=e.targetStart;const I=t.anchor=e.anchor,$=t.target=e.target,L=t.targetAnchor=e.targetAnchor,H=Bn(e.props),M=H?n:$,B=H?I:L;if(i==="svg"||ti($)?i="svg":(i==="mathml"||ni($))&&(i="mathml"),w?(d(e.dynamicChildren,w,M,s,o,i,l),Oo(e,t,!0)):a||f(e,t,M,B,s,o,i,l,!1),b)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):_r(t,n,I,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const X=t.target=Us(t.props,A);X&&_r(t,X,null,c,0)}else H&&_r(t,$,L,c,1);Cr(t,b)}},remove(e,t,n,{um:r,o:{remove:s}},o){const{shapeFlag:i,children:l,anchor:a,targetStart:c,targetAnchor:u,target:f,props:d}=e;if(f&&(s(c),s(u)),o&&s(a),i&16){const _=o||!Bn(d);for(let A=0;A{e.isMounted=!0}),Na(()=>{e.isUnmounting=!0}),e}const ze=[Function,Array],wa={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ze,onEnter:ze,onAfterEnter:ze,onEnterCancelled:ze,onBeforeLeave:ze,onLeave:ze,onAfterLeave:ze,onLeaveCancelled:ze,onBeforeAppear:ze,onAppear:ze,onAfterAppear:ze,onAppearCancelled:ze},Aa=e=>{const t=e.subTree;return t.component?Aa(t.component):t},Qu={name:"BaseTransition",props:wa,setup(e,{slots:t}){const n=ts(),r=Ju();return()=>{const s=t.default&&Pa(t.default(),!0);if(!s||!s.length)return;const o=Ta(s),i=re(e),{mode:l}=i;if(r.isLeaving)return ms(o);const a=ri(o);if(!a)return ms(o);let c=Vs(a,i,r,n,f=>c=f);a.type!==$e&&er(a,c);let u=n.subTree&&ri(n.subTree);if(u&&u.type!==$e&&!un(u,a)&&Aa(n).type!==$e){let f=Vs(u,i,r,n);if(er(u,f),l==="out-in"&&a.type!==$e)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,u=void 0},ms(o);l==="in-out"&&a.type!==$e?f.delayLeave=(d,_,A)=>{const T=Ra(r,u);T[String(u.key)]=u,d[bt]=()=>{_(),d[bt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{A(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function Ta(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==$e){t=n;break}}return t}const zu=Qu;function Ra(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 Vs(e,t,n,r,s){const{appear:o,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:_,onAfterLeave:A,onLeaveCancelled:T,onBeforeAppear:N,onAppear:b,onAfterAppear:E,onAppearCancelled:R}=t,w=String(e.key),I=Ra(n,e),$=(M,B)=>{M&<(M,r,9,B)},L=(M,B)=>{const X=B[1];$(M,B),q(M)?M.every(U=>U.length<=1)&&X():M.length<=1&&X()},H={mode:i,persisted:l,beforeEnter(M){let B=a;if(!n.isMounted)if(o)B=N||a;else return;M[bt]&&M[bt](!0);const X=I[w];X&&un(e,X)&&X.el[bt]&&X.el[bt](),$(B,[M])},enter(M){if(I[w]===e)return;let B=c,X=u,U=f;if(!n.isMounted)if(o)B=b||c,X=E||u,U=R||f;else return;let Z=!1;M[Mn]=ye=>{Z||(Z=!0,ye?$(U,[M]):$(X,[M]),H.delayedLeave&&H.delayedLeave(),M[Mn]=void 0)};const de=M[Mn].bind(null,!1);B?L(B,[M,de]):de()},leave(M,B){const X=String(e.key);if(M[Mn]&&M[Mn](!0),n.isUnmounting)return B();$(d,[M]);let U=!1;M[bt]=de=>{U||(U=!0,B(),de?$(T,[M]):$(A,[M]),M[bt]=void 0,I[X]===e&&delete I[X])};const Z=M[bt].bind(null,!1);I[X]=e,_?L(_,[M,Z]):Z()},clone(M){const B=Vs(M,t,n,r,s);return s&&s(B),B}};return H}function ms(e){if(zr(e))return e=en(e),e.children=null,e}function ri(e){if(!zr(e))return Sa(e.type)&&e.children?Ta(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Q(n.default))return n.default()}}function er(e,t){e.shapeFlag&6&&e.component?(e.transition=t,er(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Pa(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oKn(T,t&&(q(t)?t[N]:t),n,r,s));return}if(Gn(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Kn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?ns(r.component):r.el,i=s?null:o,{i:l,r:a}=e,c=t&&t.r,u=l.refs===ue?l.refs={}:l.refs,f=l.setupState,d=re(f),_=f===ue?Ul:T=>si(u,T)?!1:le(d,T),A=(T,N)=>!(N&&si(u,N));if(c!=null&&c!==a){if(oi(t),pe(c))u[c]=null,_(c)&&(f[c]=null);else if(he(c)){const T=t;A(c,T.k)&&(c.value=null),T.k&&(u[T.k]=null)}}if(Q(a))ur(a,l,12,[i,u]);else{const T=pe(a),N=he(a);if(T||N){const b=()=>{if(e.f){const E=T?_(a)?f[a]:u[a]:A()||!e.k?a.value:u[e.k];if(s)q(E)&&mo(E,o);else if(q(E))E.includes(o)||E.push(o);else if(T)u[a]=[o],_(a)&&(f[a]=u[a]);else{const R=[o];A(a,e.k)&&(a.value=R),e.k&&(u[e.k]=R)}}else T?(u[a]=i,_(a)&&(f[a]=i)):N&&(A(a,e.k)&&(a.value=i),e.k&&(u[e.k]=i))};if(i){const E=()=>{b(),Nr.delete(e)};E.id=-1,Nr.set(e,E),Le(E,n)}else oi(e),b()}}}function oi(e){const t=Nr.get(e);t&&(t.flags|=8,Nr.delete(e))}Kr().requestIdleCallback;Kr().cancelIdleCallback;const Gn=e=>!!e.type.__asyncLoader,zr=e=>e.type.__isKeepAlive;function Zu(e,t){Oa(e,"a",t)}function ef(e,t){Oa(e,"da",t)}function Oa(e,t,n=Ie){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Zr(t,r,n),n){let s=n.parent;for(;s&&s.parent;)zr(s.parent.vnode)&&tf(r,t,n,s),s=s.parent}}function tf(e,t,n,r){const s=Zr(t,e,r,!0);Ro(()=>{mo(r[t],s)},n)}function Zr(e,t,n=Ie,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Wt();const l=dr(n),a=lt(t,n,e,i);return l(),Bt(),a});return r?s.unshift(o):s.push(o),o}}const Gt=e=>(t,n=Ie)=>{(!nr||e==="sp")&&Zr(e,(...r)=>t(...r),n)},nf=Gt("bm"),To=Gt("m"),rf=Gt("bu"),sf=Gt("u"),Na=Gt("bum"),Ro=Gt("um"),of=Gt("sp"),lf=Gt("rtg"),af=Gt("rtc");function cf(e,t=Ie){Zr("ec",e,t)}const uf="components";function ff(e,t){return hf(uf,e,!0,t)||e}const df=Symbol.for("v-ndc");function hf(e,t,n=!0,r=!1){const s=qe||Ie;if(s){const o=s.type;{const l=zf(o,!1);if(l&&(l===t||l===je(t)||l===Br(je(t))))return o}const i=ii(s[e]||o[e],t)||ii(s.appContext[e],t);return!i&&r?o:i}}function ii(e,t){return e&&(e[t]||e[je(t)]||e[Br(je(t))])}function Tg(e,t,n,r){let s;const o=n&&n[r],i=q(e);if(i||pe(e)){const l=i&&jt(e);let a=!1,c=!1;l&&(a=!Je(e),c=Kt(e),e=Yr(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(l,a,void 0,o&&o[a]));else{const l=Object.keys(e);s=new Array(l.length);for(let a=0,c=l.length;ae?Za(e)?ns(e):Hs(e.parent):null,qn=Se(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=>Hs(e.parent),$root:e=>Hs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xa(e),$forceUpdate:e=>e.f||(e.f=()=>{Ao(e.update)}),$nextTick:e=>e.n||(e.n=wo.bind(e.proxy)),$watch:e=>Yu.bind(e)}),gs=(e,t)=>e!==ue&&!e.__isScriptSetup&&le(e,t),pf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(gs(r,t))return i[t]=1,r[t];if(s!==ue&&le(s,t))return i[t]=2,s[t];if(le(o,t))return i[t]=3,o[t];if(n!==ue&&le(n,t))return i[t]=4,n[t];Ws&&(i[t]=0)}}const c=qn[t];let u,f;if(c)return t==="$attrs"&&Ne(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==ue&&le(n,t))return i[t]=4,n[t];if(f=a.config.globalProperties,le(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return gs(s,t)?(s[t]=n,!0):r!==ue&&le(r,t)?(r[t]=n,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},l){let a;return!!(n[l]||e!==ue&&l[0]!=="$"&&le(e,l)||gs(t,l)||le(o,l)||le(r,l)||le(qn,l)||le(s.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:le(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function li(e){return q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ws=!0;function mf(e){const t=xa(e),n=e.proxy,r=e.ctx;Ws=!1,t.beforeCreate&&ai(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:_,updated:A,activated:T,deactivated:N,beforeDestroy:b,beforeUnmount:E,destroyed:R,unmounted:w,render:I,renderTracked:$,renderTriggered:L,errorCaptured:H,serverPrefetch:M,expose:B,inheritAttrs:X,components:U,directives:Z,filters:de}=t;if(c&&gf(c,r,null),i)for(const J in i){const ne=i[J];Q(ne)&&(r[J]=ne.bind(n))}if(s){const J=s.call(n,n);ae(J)&&(e.data=_n(J))}if(Ws=!0,o)for(const J in o){const ne=o[J],ve=Q(ne)?ne.bind(n,n):Q(ne.get)?ne.get.bind(n,n):St,Ke=!Q(ne)&&Q(ne.set)?ne.set.bind(n):St,ke=Ae({get:ve,set:Ke});Object.defineProperty(r,J,{enumerable:!0,configurable:!0,get:()=>ke.value,set:Ce=>ke.value=Ce})}if(l)for(const J in l)Ia(l[J],r,n,J);if(a){const J=Q(a)?a.call(n):a;Reflect.ownKeys(J).forEach(ne=>{Sr(ne,J[ne])})}u&&ai(u,e,"c");function se(J,ne){q(ne)?ne.forEach(ve=>J(ve.bind(n))):ne&&J(ne.bind(n))}if(se(nf,f),se(To,d),se(rf,_),se(sf,A),se(Zu,T),se(ef,N),se(cf,H),se(af,$),se(lf,L),se(Na,E),se(Ro,w),se(of,M),q(B))if(B.length){const J=e.exposed||(e.exposed={});B.forEach(ne=>{Object.defineProperty(J,ne,{get:()=>n[ne],set:ve=>n[ne]=ve,enumerable:!0})})}else e.exposed||(e.exposed={});I&&e.render===St&&(e.render=I),X!=null&&(e.inheritAttrs=X),U&&(e.components=U),Z&&(e.directives=Z),M&&La(e)}function gf(e,t,n=St){q(e)&&(e=Bs(e));for(const r in e){const s=e[r];let o;ae(s)?"default"in s?o=et(s.from||r,s.default,!0):o=et(s.from||r):o=et(s),he(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ai(e,t,n){lt(q(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ia(e,t,n,r){let s=r.includes(".")?va(n,r):()=>n[r];if(pe(e)){const o=t[e];Q(o)&&Vt(s,o)}else if(Q(e))Vt(s,e.bind(n));else if(ae(e))if(q(e))e.forEach(o=>Ia(o,t,n,r));else{const o=Q(e.handler)?e.handler.bind(n):t[e.handler];Q(o)&&Vt(s,o,e)}}function xa(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!s.length&&!n&&!r?a=t:(a={},s.length&&s.forEach(c=>Ir(a,c,i,!0)),Ir(a,t,i)),ae(t)&&o.set(t,a),a}function Ir(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Ir(e,o,n,!0),s&&s.forEach(i=>Ir(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=_f[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const _f={data:ci,props:ui,emits:ui,methods:jn,computed:jn,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:jn,directives:jn,watch:yf,provide:ci,inject:bf};function ci(e,t){return t?e?function(){return Se(Q(e)?e.call(this,this):e,Q(t)?t.call(this,this):t)}:t:e}function bf(e,t){return jn(Bs(e),Bs(t))}function Bs(e){if(q(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${gn(t)}Modifiers`];function Cf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ue;let s=n;const o=t.startsWith("update:"),i=o&&Sf(r,t.slice(7));i&&(i.trim&&(s=n.map(u=>pe(u)?u.trim():u)),i.number&&(s=n.map(nu)));let l,a=r[l=cs(t)]||r[l=cs(je(t))];!a&&o&&(a=r[l=cs(gn(t))]),a&<(a,e,6,s);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,lt(c,e,6,s)}}const wf=new WeakMap;function Da(e,t,n=!1){const r=n?wf:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!Q(e)){const a=c=>{const u=Da(c,t,!0);u&&(l=!0,Se(i,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(ae(e)&&r.set(e,null),null):(q(o)?o.forEach(a=>i[a]=null):Se(i,o),ae(e)&&r.set(e,i),i)}function es(e,t){return!e||!Vr(t)?!1:(t=t.slice(2).replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,gn(t))||le(e,t))}function fi(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:a,render:c,renderCache:u,props:f,data:d,setupState:_,ctx:A,inheritAttrs:T}=e,N=Or(e);let b,E;try{if(n.shapeFlag&4){const w=s||r,I=w;b=vt(c.call(I,w,u,f,_,d,A)),E=l}else{const w=t;b=vt(w.length>1?w(f,{attrs:l,slots:i,emit:a}):w(f,null)),E=t.props?l:Af(l)}}catch(w){Yn.length=0,Qr(w,e,1),b=He($e)}let R=b;if(E&&T!==!1){const w=Object.keys(E),{shapeFlag:I}=R;w.length&&I&7&&(o&&w.some(po)&&(E=Tf(E,o)),R=en(R,E,!1,!0))}return n.dirs&&(R=en(R,null,!1,!0),R.dirs=R.dirs?R.dirs.concat(n.dirs):n.dirs),n.transition&&er(R,n.transition),b=R,Or(N),b}const Af=e=>{let t;for(const n in e)(n==="class"||n==="style"||Vr(n))&&((t||(t={}))[n]=e[n]);return t},Tf=(e,t)=>{const n={};for(const r in e)(!po(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Rf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:a}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?di(r,i,c):!!i;if(a&8){const u=t.dynamicProps;for(let f=0;fObject.create(Fa),Ua=e=>Object.getPrototypeOf(e)===Fa;function Lf(e,t,n,r=!1){const s={},o=$a();e.propsDefaults=Object.create(null),ja(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:ua(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Of(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=re(s),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[d,_]=Va(f,t,!0);Se(i,d),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return ae(e)&&r.set(e,An),An;if(q(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Lo=e=>q(e)?e.map(vt):[vt(e)],If=(e,t,n)=>{if(t._n)return t;const r=Bu((...s)=>Lo(t(...s)),n);return r._c=!1,r},Ha=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Po(s))continue;const o=e[s];if(Q(o))t[s]=If(s,o,r);else if(o!=null){const i=Lo(o);t[s]=()=>i}}},Wa=(e,t)=>{const n=Lo(t);e.slots.default=()=>n},Ba=(e,t,n)=>{for(const r in t)(n||!Po(r))&&(e[r]=t[r])},xf=(e,t,n)=>{const r=e.slots=$a();if(e.vnode.shapeFlag&32){const s=t._;s?(Ba(r,t,n),n&&Bl(r,"_",s,!0)):Ha(t,r)}else t&&Wa(e,t)},kf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ue;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Ba(s,t,n):(o=!t.$stable,Ha(t,s)),i=t}else t&&(Wa(e,t),i={default:1});if(o)for(const l in s)!Po(l)&&i[l]==null&&delete s[l]},Le=Uf;function Df(e){return Mf(e)}function Mf(e,t){const n=Kr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:_=St,insertStaticContent:A}=e,T=(m,g,S,O=null,D=null,x=null,h=void 0,p=null,y=!!g.dynamicChildren)=>{if(m===g)return;m&&!un(m,g)&&(O=k(m),Ce(m,D,x,!0),m=null),g.patchFlag===-2&&(y=!1,g.dynamicChildren=null);const{type:C,ref:V,shapeFlag:F}=g;switch(C){case fr:N(m,g,S,O);break;case $e:b(m,g,S,O);break;case bs:m==null&&E(g,S,O,h);break;case Ze:U(m,g,S,O,D,x,h,p,y);break;default:F&1?I(m,g,S,O,D,x,h,p,y):F&6?Z(m,g,S,O,D,x,h,p,y):(F&64||F&128)&&C.process(m,g,S,O,D,x,h,p,y,G)}V!=null&&D?Kn(V,m&&m.ref,x,g||m,!g):V==null&&m&&m.ref!=null&&Kn(m.ref,null,x,m,!0)},N=(m,g,S,O)=>{if(m==null)r(g.el=l(g.children),S,O);else{const D=g.el=m.el;g.children!==m.children&&c(D,g.children)}},b=(m,g,S,O)=>{m==null?r(g.el=a(g.children||""),S,O):g.el=m.el},E=(m,g,S,O)=>{[m.el,m.anchor]=A(m.children,g,S,O,m.el,m.anchor)},R=({el:m,anchor:g},S,O)=>{let D;for(;m&&m!==g;)D=d(m),r(m,S,O),m=D;r(g,S,O)},w=({el:m,anchor:g})=>{let S;for(;m&&m!==g;)S=d(m),s(m),m=S;s(g)},I=(m,g,S,O,D,x,h,p,y)=>{if(g.type==="svg"?h="svg":g.type==="math"&&(h="mathml"),m==null)$(g,S,O,D,x,h,p,y);else{const C=m.el&&m.el._isVueCE?m.el:null;try{C&&C._beginPatch(),M(m,g,D,x,h,p,y)}finally{C&&C._endPatch()}}},$=(m,g,S,O,D,x,h,p)=>{let y,C;const{props:V,shapeFlag:F,transition:v,dirs:P}=m;if(y=m.el=i(m.type,x,V&&V.is,V),F&8?u(y,m.children):F&16&&H(m.children,y,null,O,D,_s(m,x),h,p),P&&sn(m,null,O,"created"),L(y,m,m.scopeId,h,O),V){for(const Y in V)Y!=="value"&&!Vn(Y)&&o(y,Y,null,V[Y],x,O);"value"in V&&o(y,"value",null,V.value,x),(C=V.onVnodeBeforeMount)&&pt(C,O,m)}P&&sn(m,null,O,"beforeMount");const K=Ff(D,v);K&&v.beforeEnter(y),r(y,g,S),((C=V&&V.onVnodeMounted)||K||P)&&Le(()=>{C&&pt(C,O,m),K&&v.enter(y),P&&sn(m,null,O,"mounted")},D)},L=(m,g,S,O,D)=>{if(S&&_(m,S),O)for(let x=0;x{for(let C=y;C{const p=g.el=m.el;let{patchFlag:y,dynamicChildren:C,dirs:V}=g;y|=m.patchFlag&16;const F=m.props||ue,v=g.props||ue;let P;if(S&&on(S,!1),(P=v.onVnodeBeforeUpdate)&&pt(P,S,g,m),V&&sn(g,m,S,"beforeUpdate"),S&&on(S,!0),(F.innerHTML&&v.innerHTML==null||F.textContent&&v.textContent==null)&&u(p,""),C?B(m.dynamicChildren,C,p,S,O,_s(g,D),x):h||ne(m,g,p,null,S,O,_s(g,D),x,!1),y>0){if(y&16)X(p,F,v,S,D);else if(y&2&&F.class!==v.class&&o(p,"class",null,v.class,D),y&4&&o(p,"style",F.style,v.style,D),y&8){const K=g.dynamicProps;for(let Y=0;Y{P&&pt(P,S,g,m),V&&sn(g,m,S,"updated")},O)},B=(m,g,S,O,D,x,h)=>{for(let p=0;p{if(g!==S){if(g!==ue)for(const x in g)!Vn(x)&&!(x in S)&&o(m,x,g[x],null,D,O);for(const x in S){if(Vn(x))continue;const h=S[x],p=g[x];h!==p&&x!=="value"&&o(m,x,p,h,D,O)}"value"in S&&o(m,"value",g.value,S.value,D)}},U=(m,g,S,O,D,x,h,p,y)=>{const C=g.el=m?m.el:l(""),V=g.anchor=m?m.anchor:l("");let{patchFlag:F,dynamicChildren:v,slotScopeIds:P}=g;P&&(p=p?p.concat(P):P),m==null?(r(C,S,O),r(V,S,O),H(g.children||[],S,V,D,x,h,p,y)):F>0&&F&64&&v&&m.dynamicChildren&&m.dynamicChildren.length===v.length?(B(m.dynamicChildren,v,S,D,x,h,p),(g.key!=null||D&&g===D.subTree)&&Oo(m,g,!0)):ne(m,g,S,V,D,x,h,p,y)},Z=(m,g,S,O,D,x,h,p,y)=>{g.slotScopeIds=p,m==null?g.shapeFlag&512?D.ctx.activate(g,S,O,h,y):de(g,S,O,D,x,h,y):ye(m,g,y)},de=(m,g,S,O,D,x,h)=>{const p=m.component=qf(m,O,D);if(zr(m)&&(p.ctx.renderer=G),Yf(p,!1,h),p.asyncDep){if(D&&D.registerDep(p,se,h),!m.el){const y=p.subTree=He($e);b(null,y,g,S),m.placeholder=y.el}}else se(p,m,g,S,D,x,h)},ye=(m,g,S)=>{const O=g.component=m.component;if(Rf(m,g,S))if(O.asyncDep&&!O.asyncResolved){J(O,g,S);return}else O.next=g,O.update();else g.el=m.el,O.vnode=g},se=(m,g,S,O,D,x,h)=>{const p=()=>{if(m.isMounted){let{next:F,bu:v,u:P,parent:K,vnode:Y}=m;{const nt=Ka(m);if(nt){F&&(F.el=Y.el,J(m,F,h)),nt.asyncDep.then(()=>{Le(()=>{m.isUnmounted||C()},D)});return}}let te=F,me;on(m,!1),F?(F.el=Y.el,J(m,F,h)):F=Y,v&&us(v),(me=F.props&&F.props.onVnodeBeforeUpdate)&&pt(me,K,F,Y),on(m,!0);const ce=fi(m),Qe=m.subTree;m.subTree=ce,T(Qe,ce,f(Qe.el),k(Qe),m,D,x),F.el=ce.el,te===null&&Pf(m,ce.el),P&&Le(P,D),(me=F.props&&F.props.onVnodeUpdated)&&Le(()=>pt(me,K,F,Y),D)}else{let F;const{el:v,props:P}=g,{bm:K,m:Y,parent:te,root:me,type:ce}=m,Qe=Gn(g);on(m,!1),K&&us(K),!Qe&&(F=P&&P.onVnodeBeforeMount)&&pt(F,te,g),on(m,!0);{me.ce&&me.ce._hasShadowRoot()&&me.ce._injectChildStyle(ce,m.parent?m.parent.type:void 0);const nt=m.subTree=fi(m);T(null,nt,S,O,m,D,x),g.el=nt.el}if(Y&&Le(Y,D),!Qe&&(F=P&&P.onVnodeMounted)){const nt=g;Le(()=>pt(F,te,nt),D)}(g.shapeFlag&256||te&&Gn(te.vnode)&&te.vnode.shapeFlag&256)&&m.a&&Le(m.a,D),m.isMounted=!0,g=S=O=null}};m.scope.on();const y=m.effect=new Jl(p);m.scope.off();const C=m.update=y.run.bind(y),V=m.job=y.runIfDirty.bind(y);V.i=m,V.id=m.uid,y.scheduler=()=>Ao(V),on(m,!0),C()},J=(m,g,S)=>{g.component=m;const O=m.vnode.props;m.vnode=g,m.next=null,Of(m,g.props,O,S),kf(m,g.children,S),Wt(),Zo(m),Bt()},ne=(m,g,S,O,D,x,h,p,y=!1)=>{const C=m&&m.children,V=m?m.shapeFlag:0,F=g.children,{patchFlag:v,shapeFlag:P}=g;if(v>0){if(v&128){Ke(C,F,S,O,D,x,h,p,y);return}else if(v&256){ve(C,F,S,O,D,x,h,p,y);return}}P&8?(V&16&&Te(C,D,x),F!==C&&u(S,F)):V&16?P&16?Ke(C,F,S,O,D,x,h,p,y):Te(C,D,x,!0):(V&8&&u(S,""),P&16&&H(F,S,O,D,x,h,p,y))},ve=(m,g,S,O,D,x,h,p,y)=>{m=m||An,g=g||An;const C=m.length,V=g.length,F=Math.min(C,V);let v;for(v=0;vV?Te(m,D,x,!0,!1,F):H(g,S,O,D,x,h,p,y,F)},Ke=(m,g,S,O,D,x,h,p,y)=>{let C=0;const V=g.length;let F=m.length-1,v=V-1;for(;C<=F&&C<=v;){const P=m[C],K=g[C]=y?Dt(g[C]):vt(g[C]);if(un(P,K))T(P,K,S,null,D,x,h,p,y);else break;C++}for(;C<=F&&C<=v;){const P=m[F],K=g[v]=y?Dt(g[v]):vt(g[v]);if(un(P,K))T(P,K,S,null,D,x,h,p,y);else break;F--,v--}if(C>F){if(C<=v){const P=v+1,K=Pv)for(;C<=F;)Ce(m[C],D,x,!0),C++;else{const P=C,K=C,Y=new Map;for(C=K;C<=v;C++){const Ge=g[C]=y?Dt(g[C]):vt(g[C]);Ge.key!=null&&Y.set(Ge.key,C)}let te,me=0;const ce=v-K+1;let Qe=!1,nt=0;const kn=new Array(ce);for(C=0;C=ce){Ce(Ge,D,x,!0);continue}let ht;if(Ge.key!=null)ht=Y.get(Ge.key);else for(te=K;te<=v;te++)if(kn[te-K]===0&&un(Ge,g[te])){ht=te;break}ht===void 0?Ce(Ge,D,x,!0):(kn[ht-K]=C+1,ht>=nt?nt=ht:Qe=!0,T(Ge,g[ht],S,null,D,x,h,p,y),me++)}const Ko=Qe?$f(kn):An;for(te=Ko.length-1,C=ce-1;C>=0;C--){const Ge=K+C,ht=g[Ge],Go=g[Ge+1],qo=Ge+1{const{el:x,type:h,transition:p,children:y,shapeFlag:C}=m;if(C&6){ke(m.component.subTree,g,S,O);return}if(C&128){m.suspense.move(g,S,O);return}if(C&64){h.move(m,g,S,G);return}if(h===Ze){r(x,g,S);for(let F=0;Fp.enter(x),D);else{const{leave:F,delayLeave:v,afterLeave:P}=p,K=()=>{m.ctx.isUnmounted?s(x):r(x,g,S)},Y=()=>{x._isLeaving&&x[bt](!0),F(x,()=>{K(),P&&P()})};v?v(x,K,Y):Y()}else r(x,g,S)},Ce=(m,g,S,O=!1,D=!1)=>{const{type:x,props:h,ref:p,children:y,dynamicChildren:C,shapeFlag:V,patchFlag:F,dirs:v,cacheIndex:P}=m;if(F===-2&&(D=!1),p!=null&&(Wt(),Kn(p,null,S,m,!0),Bt()),P!=null&&(g.renderCache[P]=void 0),V&256){g.ctx.deactivate(m);return}const K=V&1&&v,Y=!Gn(m);let te;if(Y&&(te=h&&h.onVnodeBeforeUnmount)&&pt(te,g,m),V&6)dt(m.component,S,O);else{if(V&128){m.suspense.unmount(S,O);return}K&&sn(m,null,g,"beforeUnmount"),V&64?m.type.remove(m,g,S,G,O):C&&!C.hasOnce&&(x!==Ze||F>0&&F&64)?Te(C,g,S,!1,!0):(x===Ze&&F&384||!D&&V&16)&&Te(y,g,S),O&&ut(m)}(Y&&(te=h&&h.onVnodeUnmounted)||K)&&Le(()=>{te&&pt(te,g,m),K&&sn(m,null,g,"unmounted")},S)},ut=m=>{const{type:g,el:S,anchor:O,transition:D}=m;if(g===Ze){ft(S,O);return}if(g===bs){w(m);return}const x=()=>{s(S),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(m.shapeFlag&1&&D&&!D.persisted){const{leave:h,delayLeave:p}=D,y=()=>h(S,x);p?p(m.el,x,y):y()}else x()},ft=(m,g)=>{let S;for(;m!==g;)S=d(m),s(m),m=S;s(g)},dt=(m,g,S)=>{const{bum:O,scope:D,job:x,subTree:h,um:p,m:y,a:C}=m;pi(y),pi(C),O&&us(O),D.stop(),x&&(x.flags|=8,Ce(h,m,g,S)),p&&Le(p,g),Le(()=>{m.isUnmounted=!0},g)},Te=(m,g,S,O=!1,D=!1,x=0)=>{for(let h=x;h{if(m.shapeFlag&6)return k(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const g=d(m.anchor||m.el),S=g&&g[Ea];return S?d(S):g};let W=!1;const j=(m,g,S)=>{let O;m==null?g._vnode&&(Ce(g._vnode,null,null,!0),O=g._vnode.component):T(g._vnode||null,m,g,null,null,null,S),g._vnode=m,W||(W=!0,Zo(O),ga(),W=!1)},G={p:T,um:Ce,m:ke,r:ut,mt:de,mc:H,pc:ne,pbc:B,n:k,o:e};return{render:j,hydrate:void 0,createApp:Ef(j)}}function _s({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function on({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ff(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Oo(e,t,n=!1){const r=e.children,s=t.children;if(q(r)&&q(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Ka(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ka(t)}function pi(e){if(e)for(let t=0;te.__isSuspense;function Uf(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):Wu(e)}const Ze=Symbol.for("v-fgt"),fr=Symbol.for("v-txt"),$e=Symbol.for("v-cmt"),bs=Symbol.for("v-stc"),Yn=[];let Ye=null;function Ya(e=!1){Yn.push(Ye=e?null:[])}function jf(){Yn.pop(),Ye=Yn[Yn.length-1]||null}let tr=1;function xr(e,t=!1){tr+=e,e<0&&Ye&&t&&(Ye.hasOnce=!0)}function Xa(e){return e.dynamicChildren=tr>0?Ye||An:null,jf(),tr>0&&Ye&&Ye.push(e),e}function Rg(e,t,n,r,s,o){return Xa(za(e,t,n,r,s,o,!0))}function Ja(e,t,n,r,s){return Xa(He(e,t,n,r,s,!0))}function kr(e){return e?e.__v_isVNode===!0:!1}function un(e,t){return e.type===t.type&&e.key===t.key}const Qa=({key:e})=>e??null,wr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?pe(e)||he(e)||Q(e)?{i:qe,r:e,k:t,f:!!n}:e:null);function za(e,t=null,n=null,r=0,s=null,o=e===Ze?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qa(t),ref:t&&wr(t),scopeId:ba,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:qe};return l?(No(a,n),o&128&&e.normalize(a)):n&&(a.shapeFlag|=pe(n)?8:16),tr>0&&!i&&Ye&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ye.push(a),a}const He=Vf;function Vf(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===df)&&(e=$e),kr(e)){const l=en(e,t,!0);return n&&No(l,n),tr>0&&!o&&Ye&&(l.shapeFlag&6?Ye[Ye.indexOf(e)]=l:Ye.push(l)),l.patchFlag=-2,l}if(Zf(e)&&(e=e.__vccOpts),t){t=Hf(t);let{class:l,style:a}=t;l&&!pe(l)&&(t.class=qr(l)),ae(a)&&(Xr(a)&&!q(a)&&(a=Se({},a)),t.style=Gr(a))}const i=pe(e)?1:qa(e)?128:Sa(e)?64:ae(e)?4:Q(e)?2:0;return za(e,t,n,r,s,i,o,!0)}function Hf(e){return e?Xr(e)||Ua(e)?Se({},e):e:null}function en(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:a}=e,c=t?Bf(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Qa(c),ref:t&&t.ref?n&&o?q(o)?o.concat(wr(t)):[o,wr(t)]:wr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ze?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&en(e.ssContent),ssFallback:e.ssFallback&&en(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&er(u,a.clone(u)),u}function Wf(e=" ",t=0){return He(fr,null,e,t)}function Pg(e="",t=!1){return t?(Ya(),Ja($e,null,e)):He($e,null,e)}function vt(e){return e==null||typeof e=="boolean"?He($e):q(e)?He(Ze,null,e.slice()):kr(e)?Dt(e):He(fr,null,String(e))}function Dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:en(e)}function No(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(q(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),No(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Ua(t)?t._ctx=qe:s===3&&qe&&(qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Q(t)?(t={default:t,_ctx:qe},n=32):(t=String(t),r&64?(n=16,t=[Wf(t)]):n=8);e.children=t,e.shapeFlag|=n}function Bf(...e){const t={};for(let n=0;nIe||qe;let Dr,Gs;{const e=Kr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Dr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Gs=t("__VUE_SSR_SETTERS__",n=>nr=n)}const dr=e=>{const t=Ie;return Dr(e),e.scope.on(),()=>{e.scope.off(),Dr(t)}},mi=()=>{Ie&&Ie.scope.off(),Dr(null)};function Za(e){return e.vnode.shapeFlag&4}let nr=!1;function Yf(e,t=!1,n=!1){t&&Gs(t);const{props:r,children:s}=e.vnode,o=Za(e);Lf(e,r,o,t),xf(e,s,n||t);const i=o?Xf(e,t):void 0;return t&&Gs(!1),i}function Xf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pf);const{setup:r}=n;if(r){Wt();const s=e.setupContext=r.length>1?Qf(e):null,o=dr(e),i=ur(r,e,0,[e.props,s]),l=Vl(i);if(Bt(),o(),(l||e.sp)&&!Gn(e)&&La(e),l){if(i.then(mi,mi),t)return i.then(a=>{gi(e,a)}).catch(a=>{Qr(a,e,0)});e.asyncDep=i}else gi(e,i)}else ec(e)}function gi(e,t,n){Q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ae(t)&&(e.setupState=ha(t)),ec(e)}function ec(e,t,n){const r=e.type;e.render||(e.render=r.render||St);{const s=dr(e);Wt();try{mf(e)}finally{Bt(),s()}}}const Jf={get(e,t){return Ne(e,"get",""),e[t]}};function Qf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Jf),slots:e.slots,emit:e.emit,expose:t}}function ns(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ha(xn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in qn)return qn[n](e)},has(t,n){return n in t||n in qn}})):e.proxy}function zf(e,t=!0){return Q(e)?e.displayName||e.name:e.name||t&&e.__name}function Zf(e){return Q(e)&&"__vccOpts"in e}const Ae=(e,t)=>$u(e,t,nr);function hr(e,t,n){try{xr(-1);const r=arguments.length;return r===2?ae(t)&&!q(t)?kr(t)?He(e,null,[t]):He(e,t):He(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&kr(n)&&(n=[n]),He(e,t,n))}finally{xr(1)}}const ed="3.5.30";let qs;const _i=typeof window<"u"&&window.trustedTypes;if(_i)try{qs=_i.createPolicy("vue",{createHTML:e=>e})}catch{}const tc=qs?e=>qs.createHTML(e):e=>e,td="http://www.w3.org/2000/svg",nd="http://www.w3.org/1998/Math/MathML",xt=typeof document<"u"?document:null,bi=xt&&xt.createElement("template"),rd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?xt.createElementNS(td,e):t==="mathml"?xt.createElementNS(nd,e):n?xt.createElement(e,{is:n}):xt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>xt.createTextNode(e),createComment:e=>xt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>xt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{bi.innerHTML=tc(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=bi.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},qt="transition",Fn="animation",rr=Symbol("_vtc"),nc={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},sd=Se({},wa,nc),od=e=>(e.displayName="Transition",e.props=sd,e),Lg=od((e,{slots:t})=>hr(zu,id(e),t)),ln=(e,t=[])=>{q(e)?e.forEach(n=>n(...t)):e&&e(...t)},yi=e=>e?q(e)?e.some(t=>t.length>1):e.length>1:!1;function id(e){const t={};for(const U in e)U in nc||(t[U]=e[U]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:c=i,appearToClass:u=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,A=ld(s),T=A&&A[0],N=A&&A[1],{onBeforeEnter:b,onEnter:E,onEnterCancelled:R,onLeave:w,onLeaveCancelled:I,onBeforeAppear:$=b,onAppear:L=E,onAppearCancelled:H=R}=t,M=(U,Z,de,ye)=>{U._enterCancelled=ye,an(U,Z?u:l),an(U,Z?c:i),de&&de()},B=(U,Z)=>{U._isLeaving=!1,an(U,f),an(U,_),an(U,d),Z&&Z()},X=U=>(Z,de)=>{const ye=U?L:E,se=()=>M(Z,U,de);ln(ye,[Z,se]),vi(()=>{an(Z,U?a:o),Lt(Z,U?u:l),yi(ye)||Ei(Z,r,T,se)})};return Se(t,{onBeforeEnter(U){ln(b,[U]),Lt(U,o),Lt(U,i)},onBeforeAppear(U){ln($,[U]),Lt(U,a),Lt(U,c)},onEnter:X(!1),onAppear:X(!0),onLeave(U,Z){U._isLeaving=!0;const de=()=>B(U,Z);Lt(U,f),U._enterCancelled?(Lt(U,d),wi(U)):(wi(U),Lt(U,d)),vi(()=>{U._isLeaving&&(an(U,f),Lt(U,_),yi(w)||Ei(U,r,N,de))}),ln(w,[U,de])},onEnterCancelled(U){M(U,!1,void 0,!0),ln(R,[U])},onAppearCancelled(U){M(U,!0,void 0,!0),ln(H,[U])},onLeaveCancelled(U){B(U),ln(I,[U])}})}function ld(e){if(e==null)return null;if(ae(e))return[ys(e.enter),ys(e.leave)];{const t=ys(e);return[t,t]}}function ys(e){return ru(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[rr]||(e[rr]=new Set)).add(t)}function an(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[rr];n&&(n.delete(t),n.size||(e[rr]=void 0))}function vi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ad=0;function Ei(e,t,n,r){const s=e._endId=++ad,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:l,propCount:a}=cd(e,t);if(!i)return r();const c=i+"end";let u=0;const f=()=>{e.removeEventListener(c,d),o()},d=_=>{_.target===e&&++u>=a&&f()};setTimeout(()=>{u(n[A]||"").split(", "),s=r(`${qt}Delay`),o=r(`${qt}Duration`),i=Si(s,o),l=r(`${Fn}Delay`),a=r(`${Fn}Duration`),c=Si(l,a);let u=null,f=0,d=0;t===qt?i>0&&(u=qt,f=i,d=o.length):t===Fn?c>0&&(u=Fn,f=c,d=a.length):(f=Math.max(i,c),u=f>0?i>c?qt:Fn:null,d=u?u===qt?o.length:a.length:0);const _=u===qt&&/\b(?:transform|all)(?:,|$)/.test(r(`${qt}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:_}}function Si(e,t){for(;e.lengthCi(n)+Ci(e[r])))}function Ci(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function wi(e){return(e?e.ownerDocument:document).body.offsetHeight}function ud(e,t,n){const r=e[rr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ai=Symbol("_vod"),fd=Symbol("_vsh"),dd=Symbol(""),hd=/(?:^|;)\s*display\s*:/;function pd(e,t,n){const r=e.style,s=pe(n);let o=!1;if(n&&!s){if(t)if(pe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Ar(r,l,"")}else for(const i in t)n[i]==null&&Ar(r,i,"");for(const i in n)i==="display"&&(o=!0),Ar(r,i,n[i])}else if(s){if(t!==n){const i=r[dd];i&&(n+=";"+i),r.cssText=n,o=hd.test(n)}}else t&&e.removeAttribute("style");Ai in e&&(e[Ai]=o?r.display:"",e[fd]&&(r.display="none"))}const Ti=/\s*!important$/;function Ar(e,t,n){if(q(n))n.forEach(r=>Ar(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=md(e,t);Ti.test(n)?e.setProperty(gn(r),n.replace(Ti,""),"important"):e[r]=n}}const Ri=["Webkit","Moz","ms"],vs={};function md(e,t){const n=vs[t];if(n)return n;let r=je(t);if(r!=="filter"&&r in e)return vs[t]=r;r=Br(r);for(let s=0;sEs||(vd.then(()=>Es=0),Es=Date.now());function Sd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;lt(Cd(r,n.value),t,5,[r])};return n.value=e,n.attached=Ed(),n}function Cd(e,t){if(q(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const xi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,wd=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?ud(e,r,i):t==="style"?pd(e,n,r):Vr(t)?po(t)||bd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ad(e,t,r,i))?(Oi(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Li(e,t,r,i,o,t!=="value")):e._isVueCE&&(Td(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!pe(r)))?Oi(e,je(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Li(e,t,r,i))};function Ad(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&xi(t)&&Q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return xi(t)&&pe(n)?!1:t in e}function Td(e,t){const n=e._def.props;if(!n)return!1;const r=je(t);return Array.isArray(n)?n.some(s=>je(s)===r):Object.keys(n).some(s=>je(s)===r)}const Rd=Se({patchProp:wd},rd);let ki;function Pd(){return ki||(ki=Df(Rd))}const Ld=((...e)=>{const t=Pd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Nd(r);if(!s)return;const o=t._component;!Q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Od(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t});function Od(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Nd(e){return pe(e)?document.querySelector(e):e}function Io(e,t,n,r){return Object.defineProperty(e,t,{get:n,set:r,enumerable:!0}),e}const mn=Jr(!1);let Ys;function Id(e,t){const n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[4]||n[2]||"0",platform:t[0]||""}}function xd(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}const rc="ontouchstart"in window||window.navigator.maxTouchPoints>0;function kd(e){const t=e.toLowerCase(),n=xd(t),r=Id(t,n),s={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};r.browser&&(s[r.browser]=!0,s.version=r.version,s.versionNumber=parseInt(r.version,10)),r.platform&&(s[r.platform]=!0);const o=s.android||s.ios||s.bb||s.blackberry||s.ipad||s.iphone||s.ipod||s.kindle||s.playbook||s.silk||s["windows phone"];if(o===!0||t.indexOf("mobile")!==-1?s.mobile=!0:s.desktop=!0,s["windows phone"]&&(s.winphone=!0,delete s["windows phone"]),s.edga||s.edgios||s.edg?(s.edge=!0,r.browser="edge"):s.crios?(s.chrome=!0,r.browser="chrome"):s.fxios&&(s.firefox=!0,r.browser="firefox"),(s.ipod||s.ipad||s.iphone)&&(s.ios=!0),s.vivaldi&&(r.browser="vivaldi",s.vivaldi=!0),(s.chrome||s.opr||s.safari||s.vivaldi||s.mobile===!0&&s.ios!==!0&&o!==!0)&&(s.webkit=!0),s.opr&&(r.browser="opera",s.opera=!0),s.safari&&(s.blackberry||s.bb?(r.browser="blackberry",s.blackberry=!0):s.playbook?(r.browser="playbook",s.playbook=!0):s.android?(r.browser="android",s.android=!0):s.kindle?(r.browser="kindle",s.kindle=!0):s.silk&&(r.browser="silk",s.silk=!0)),s.name=r.browser,s.platform=r.platform,t.indexOf("electron")!==-1)s.electron=!0;else if(document.location.href.indexOf("-extension://")!==-1)s.bex=!0;else{if(window.Capacitor!==void 0?(s.capacitor=!0,s.nativeMobile=!0,s.nativeMobileWrapper="capacitor"):(window._cordovaNative!==void 0||window.cordova!==void 0)&&(s.cordova=!0,s.nativeMobile=!0,s.nativeMobileWrapper="cordova"),mn.value===!0&&(Ys={is:{...s}}),rc===!0&&s.mac===!0&&(s.desktop===!0&&s.safari===!0||s.nativeMobile===!0&&s.android!==!0&&s.ios!==!0&&s.ipad!==!0)){delete s.mac,delete s.desktop;const i=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(s,{mobile:!0,ios:!0,platform:i,[i]:!0})}s.mobile!==!0&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete s.desktop,s.mobile=!0)}return s}const Di=navigator.userAgent||navigator.vendor||window.opera,Dd={has:{touch:!1,webStorage:!1},within:{iframe:!1}},Ct={userAgent:Di,is:kd(Di),has:{touch:rc},within:{iframe:window.self!==window.top}},Xs={install(e){const{$q:t}=e;mn.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,Ct),mn.value=!1}),t.platform=_n(this)):t.platform=this}};{let e;Io(Ct.has,"webStorage",()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(Xs,Ct),mn.value===!0&&(Object.assign(Xs,Ys,Dd),Ys=null)}function Og(e){return xn(bn(e))}function Ng(e){return xn(e)}const rs=(e,t)=>{const n=_n(e);for(const r in e)Io(t,r,()=>n[r],s=>{n[r]=s});return t},Ln={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{const e=Object.defineProperty({},"passive",{get(){Object.assign(Ln,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function sr(){}function Ig(e){return e.button===0}function xg(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function kg(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();const t=[];let n=e.target;for(;n;){if(t.push(n),n.tagName==="HTML")return t.push(document),t.push(window),t;n=n.parentElement}}function Dg(e){e.stopPropagation()}function Mi(e){e.cancelable!==!1&&e.preventDefault()}function Mg(e){e.cancelable!==!1&&e.preventDefault(),e.stopPropagation()}function Fg(e,t){if(e===void 0||t===!0&&e.__dragPrevented===!0)return;const n=t===!0?r=>{r.__dragPrevented=!0,r.addEventListener("dragstart",Mi,Ln.notPassiveCapture)}:r=>{delete r.__dragPrevented,r.removeEventListener("dragstart",Mi,Ln.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function $g(e,t,n){const r=`__q_${t}_evt`;e[r]=e[r]!==void 0?e[r].concat(n):n,n.forEach(s=>{s[0].addEventListener(s[1],e[s[2]],Ln[s[3]])})}function Ug(e,t){const n=`__q_${t}_evt`;e[n]!==void 0&&(e[n].forEach(r=>{r[0].removeEventListener(r[1],e[r[2]],Ln[r[3]])}),e[n]=void 0)}function Md(e,t=250,n){let r=null;function s(){const o=arguments,i=()=>{r=null,e.apply(this,o)};r!==null&&clearTimeout(r),r=setTimeout(i,t)}return s.cancel=()=>{r!==null&&clearTimeout(r)},s}const Ss=["sm","md","lg","xl"],{passive:Fi}=Ln,Fd=rs({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:sr,setDebounce:sr,install({$q:e,onSSRHydrated:t}){if(e.screen=this,this.__installed===!0){e.config.screen!==void 0&&(e.config.screen.bodyClasses===!1?document.body.classList.remove(`screen--${this.name}`):this.__update(!0));return}const{visualViewport:n}=window,r=n||window,s=document.scrollingElement||document.documentElement,o=n===void 0||Ct.is.mobile===!0?()=>[Math.max(window.innerWidth,s.clientWidth),Math.max(window.innerHeight,s.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-s.clientWidth,n.height*n.scale+window.innerHeight-s.clientHeight],i=e.config.screen?.bodyClasses===!0;this.__update=f=>{const[d,_]=o();if(_!==this.height&&(this.height=_),d!==this.width)this.width=d;else if(f!==!0)return;let A=this.sizes;this.gt.xs=d>=A.sm,this.gt.sm=d>=A.md,this.gt.md=d>=A.lg,this.gt.lg=d>=A.xl,this.lt.sm=d{Ss.forEach(d=>{f[d]!==void 0&&(a[d]=f[d])})},this.setDebounce=f=>{c=f};const u=()=>{const f=getComputedStyle(document.body);f.getPropertyValue("--q-size-sm")&&Ss.forEach(d=>{this.sizes[d]=parseInt(f.getPropertyValue(`--q-size-${d}`),10)}),this.setSizes=d=>{Ss.forEach(_=>{d[_]&&(this.sizes[_]=d[_])}),this.__update(!0)},this.setDebounce=d=>{l!==void 0&&r.removeEventListener("resize",l,Fi),l=d>0?Md(this.__update,d):this.__update,r.addEventListener("resize",l,Fi)},this.setDebounce(c),Object.keys(a).length!==0?(this.setSizes(a),a=void 0):this.__update(),i===!0&&this.name==="xs"&&document.body.classList.add("screen--xs")};mn.value===!0?t.push(u):u()}}),Re=rs({isActive:!1,mode:!1},{__media:void 0,set(e){Re.mode=e,e==="auto"?(Re.__media===void 0&&(Re.__media=window.matchMedia("(prefers-color-scheme: dark)"),Re.__updateMedia=()=>{Re.set("auto")},Re.__media.addListener(Re.__updateMedia)),e=Re.__media.matches):Re.__media!==void 0&&(Re.__media.removeListener(Re.__updateMedia),Re.__media=void 0),Re.isActive=e===!0,document.body.classList.remove(`body--${e===!0?"light":"dark"}`),document.body.classList.add(`body--${e===!0?"dark":"light"}`)},toggle(){Re.set(Re.isActive===!1)},install({$q:e,ssrContext:t}){const n=e.config.dark;e.dark=this,this.__installed!==!0&&this.set(n!==void 0?n:!1)}});function $d(e,t,n=document.body){if(typeof e!="string")throw new TypeError("Expected a string as propName");if(typeof t!="string")throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}let sc=!1;function Ud(e){sc=e.isComposing===!0}function jd(e){return sc===!0||e!==Object(e)||e.isComposing===!0||e.qKeyEvent===!0}function jg(e,t){return jd(e)===!0?!1:[].concat(t).includes(e.keyCode)}function oc(e){if(e.ios===!0)return"ios";if(e.android===!0)return"android"}function Vd({is:e,has:t,within:n},r){const s=[e.desktop===!0?"desktop":"mobile",`${t.touch===!1?"no-":""}touch`];if(e.mobile===!0){const o=oc(e);o!==void 0&&s.push("platform-"+o)}if(e.nativeMobile===!0){const o=e.nativeMobileWrapper;s.push(o),s.push("native-mobile"),e.ios===!0&&(r[o]===void 0||r[o].iosStatusBarPadding!==!1)&&s.push("q-ios-padding")}else e.electron===!0?s.push("electron"):e.bex===!0&&s.push("bex");return n.iframe===!0&&s.push("within-iframe"),s}function Hd(){const{is:e}=Ct,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(e.nativeMobile!==!0&&e.electron!==!0&&e.bex!==!0){if(e.desktop===!0)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(e.mobile===!0){n.delete("desktop"),n.add("mobile"),n.delete("platform-ios"),n.delete("platform-android");const s=oc(e);s!==void 0&&n.add(`platform-${s}`)}}Ct.has.touch===!0&&(n.delete("no-touch"),n.add("touch")),Ct.within.iframe===!0&&n.add("within-iframe");const r=Array.from(n).join(" ");t!==r&&(document.body.className=r)}function Wd(e){for(const t in e)$d(t,e[t])}const Bd={install(e){if(this.__installed!==!0){if(mn.value===!0)Hd();else{const{$q:t}=e;t.config.brand!==void 0&&Wd(t.config.brand);const n=Vd(Ct,t.config);document.body.classList.add.apply(document.body.classList,n)}Ct.is.ios===!0&&document.body.addEventListener("touchstart",sr),window.addEventListener("keydown",Ud,!0)}}},ic=()=>!0;function Kd(e){return typeof e=="string"&&e!==""&&e!=="/"&&e!=="#/"}function Gd(e){return e.startsWith("#")===!0&&(e=e.substring(1)),e.startsWith("/")===!1&&(e="/"+e),e.endsWith("/")===!0&&(e=e.substring(0,e.length-1)),"#"+e}function qd(e){if(e.backButtonExit===!1)return()=>!1;if(e.backButtonExit==="*")return ic;const t=["#/"];return Array.isArray(e.backButtonExit)===!0&&t.push(...e.backButtonExit.filter(Kd).map(Gd)),()=>t.includes(window.location.hash)}const Yd={__history:[],add:sr,remove:sr,install({$q:e}){if(this.__installed===!0)return;const{cordova:t,capacitor:n}=Ct.is;if(t!==!0&&n!==!0)return;const r=e.config[t===!0?"cordova":"capacitor"];if(r?.backButton===!1||n===!0&&(window.Capacitor===void 0||window.Capacitor.Plugins.App===void 0))return;this.add=i=>{i.condition===void 0&&(i.condition=ic),this.__history.push(i)},this.remove=i=>{const l=this.__history.indexOf(i);l>=0&&this.__history.splice(l,1)};const s=qd(Object.assign({backButtonExit:!0},r)),o=()=>{if(this.__history.length){const i=this.__history[this.__history.length-1];i.condition()===!0&&(this.__history.pop(),i.handler())}else s()===!0?navigator.app.exitApp():window.history.back()};t===!0?document.addEventListener("deviceready",()=>{document.addEventListener("backbutton",o,!1)}):window.Capacitor.Plugins.App.addListener("backButton",o)}},$i={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days",prevMonth:"Previous month",nextMonth:"Next month",prevYear:"Previous year",nextYear:"Next year",today:"Today",prevRangeYears:e=>`Previous ${e} years`,nextRangeYears:e=>`Next ${e} years`},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>e===1?"1 record selected.":(e===0?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},pagination:{first:"First page",prev:"Previous page",next:"Next page",last:"Last page"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function Ui(){const e=Array.isArray(navigator.languages)===!0&&navigator.languages.length!==0?navigator.languages[0]:navigator.language;if(typeof e=="string")return e.split(/[-_]/).map((t,n)=>n===0?t.toLowerCase():n>1||t.length<4?t.toUpperCase():t[0].toUpperCase()+t.slice(1).toLowerCase()).join("-")}const Qt=rs({__qLang:{}},{getLocale:Ui,set(e=$i,t){const n={...e,rtl:e.rtl===!0,getLocale:Ui};{if(n.set=Qt.set,Qt.__langConfig===void 0||Qt.__langConfig.noHtmlAttrs!==!0){const r=document.documentElement;r.setAttribute("dir",n.rtl===!0?"rtl":"ltr"),r.setAttribute("lang",n.isoName)}Object.assign(Qt.__qLang,n)}},install({$q:e,lang:t,ssrContext:n}){e.lang=Qt.__qLang,Qt.__langConfig=e.config.lang,this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qLang,{get(){return Reflect.get(...arguments)},ownKeys(r){return Reflect.ownKeys(r).filter(s=>s!=="set"&&s!=="getLocale")}}),this.set(t||$i))}}),Xd={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},Mr=rs({iconMapFn:null,__qIconSet:{}},{set(e,t){const n={...e};n.set=Mr.set,Object.assign(Mr.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){e.config.iconMapFn!==void 0&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,Io(e,"iconMapFn",()=>this.iconMapFn,r=>{this.iconMapFn=r}),this.__installed===!0?t!==void 0&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get(){return Reflect.get(...arguments)},ownKeys(r){return Reflect.ownKeys(r).filter(s=>s!=="set")}}),this.set(t||Xd))}}),Jd="_q_",Vg="_q_l_",Hg="_q_pc_",Wg="_q_fo_";function Bg(){}const ji={};let lc=!1;function Qd(){lc=!0}function Cs(e,t){if(e===t)return!0;if(e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;let n,r;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(Cs(e[r],t[r])!==!0)return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let o=e.entries();for(r=o.next();r.done!==!0;){if(t.has(r.value[0])!==!0)return!1;r=o.next()}for(o=e.entries(),r=o.next();r.done!==!0;){if(Cs(r.value[1],t.get(r.value[0]))!==!0)return!1;r=o.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;const o=e.entries();for(r=o.next();r.done!==!0;){if(t.has(r.value[0])!==!0)return!1;r=o.next()}return!0}if(e.buffer!=null&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();const s=Object.keys(e).filter(o=>e[o]!==void 0);if(n=s.length,n!==Object.keys(t).filter(o=>t[o]!==void 0).length)return!1;for(r=n;r--!==0;){const o=s[r];if(Cs(e[o],t[o])!==!0)return!1}return!0}return e!==e&&t!==t}function Vi(e){return e!==null&&typeof e=="object"&&Array.isArray(e)!==!0}const Hi=[Xs,Bd,Re,Fd,Yd,Qt,Mr];function Wi(e,t){t.forEach(n=>{n.install(e),n.__installed=!0})}function zd(e,t,n){e.config.globalProperties.$q=n.$q,e.provide(Jd,n.$q),Wi(n,Hi),t.components!==void 0&&Object.values(t.components).forEach(r=>{Vi(r)===!0&&r.name!==void 0&&e.component(r.name,r)}),t.directives!==void 0&&Object.values(t.directives).forEach(r=>{Vi(r)===!0&&r.name!==void 0&&e.directive(r.name,r)}),t.plugins!==void 0&&Wi(n,Object.values(t.plugins).filter(r=>typeof r.install=="function"&&Hi.includes(r)===!1)),mn.value===!0&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach(r=>{r()}),n.$q.onSSRHydrated=()=>{}})}const Zd=function(e,t={}){const n={version:"2.18.6"};lc===!1?(t.config!==void 0&&Object.assign(ji,t.config),n.config={...ji},Qd()):n.config=t.config||{},zd(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},eh={name:"Quasar",version:"2.18.6",install:Zd,lang:Qt,iconSet:Mr};function th(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const nh=(e,t,n)=>rh({l:e,k:t,s:n}),rh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ue=e=>typeof e=="number"&&isFinite(e),ac=e=>ko(e)==="[object Date]",Bi=e=>ko(e)==="[object RegExp]",xo=e=>be(e)&&Object.keys(e).length===0,yn=Object.assign,sh=Object.create,Be=(e=null)=>sh(e);function Ki(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Gi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function oh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(r,s,o)=>`${s}="${Gi(o)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(r,s,o)=>`${s}='${Gi(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(r=>{e=e.replace(r,"$1javascript:")}),e}const ih=Object.prototype.hasOwnProperty;function Zt(e,t){return ih.call(e,t)}const wt=Array.isArray,we=e=>typeof e=="function",z=e=>typeof e=="string",Ve=e=>typeof e=="boolean",xe=e=>e!==null&&typeof e=="object",lh=e=>xe(e)&&we(e.then)&&we(e.catch),cc=Object.prototype.toString,ko=e=>cc.call(e),be=e=>ko(e)==="[object Object]",ah=e=>e==null?"":wt(e)||be(e)&&e.toString===cc?JSON.stringify(e,null,2):String(e);function Do(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}function ch(e,t,n){return{line:e,column:t,offset:n}}function Js(e,t,n){return{start:e,end:t}}const ie={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14},uh=17;function ss(e,t,n={}){const{domain:r,messages:s,args:o}=n,i=e,l=new SyntaxError(String(i));return l.code=e,t&&(l.location=t),l.domain=r,l}function fh(e){throw e}const mt=" ",dh="\r",Pe=` -`,hh="\u2028",ph="\u2029";function mh(e){const t=e;let n=0,r=1,s=1,o=0;const i=L=>t[L]===dh&&t[L+1]===Pe,l=L=>t[L]===Pe,a=L=>t[L]===ph,c=L=>t[L]===hh,u=L=>i(L)||l(L)||a(L)||c(L),f=()=>n,d=()=>r,_=()=>s,A=()=>o,T=L=>i(L)||a(L)||c(L)?Pe:t[L],N=()=>T(n),b=()=>T(n+o);function E(){return o=0,u(n)&&(r++,s=0),i(n)&&n++,n++,s++,t[n]}function R(){return i(n+o)&&o++,o++,t[n+o]}function w(){n=0,r=1,s=1,o=0}function I(L=0){o=L}function $(){const L=n+o;for(;L!==n;)E();o=0}return{index:f,line:d,column:_,peekOffset:A,charAt:T,currentChar:N,currentPeek:b,next:E,peek:R,reset:w,resetPeek:I,skipToPeek:$}}const Ot=void 0,gh=".",qi="'",_h="tokenizer";function bh(e,t={}){const n=t.location!==!1,r=mh(e),s=()=>r.index(),o=()=>ch(r.line(),r.column(),r.index()),i=o(),l=s(),a={currentType:13,offset:l,startLoc:i,endLoc:i,lastType:13,lastOffset:l,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>a,{onError:u}=t;function f(h,p,y,...C){const V=c();if(p.column+=y,p.offset+=y,u){const F=n?Js(V.startLoc,p):null,v=ss(h,F,{domain:_h,args:C});u(v)}}function d(h,p,y){h.endLoc=o(),h.currentType=p;const C={type:p};return n&&(C.loc=Js(h.startLoc,h.endLoc)),y!=null&&(C.value=y),C}const _=h=>d(h,13);function A(h,p){return h.currentChar()===p?(h.next(),p):(f(ie.EXPECTED_TOKEN,o(),0,p),"")}function T(h){let p="";for(;h.currentPeek()===mt||h.currentPeek()===Pe;)p+=h.currentPeek(),h.peek();return p}function N(h){const p=T(h);return h.skipToPeek(),p}function b(h){if(h===Ot)return!1;const p=h.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p===95}function E(h){if(h===Ot)return!1;const p=h.charCodeAt(0);return p>=48&&p<=57}function R(h,p){const{currentType:y}=p;if(y!==2)return!1;T(h);const C=b(h.currentPeek());return h.resetPeek(),C}function w(h,p){const{currentType:y}=p;if(y!==2)return!1;T(h);const C=h.currentPeek()==="-"?h.peek():h.currentPeek(),V=E(C);return h.resetPeek(),V}function I(h,p){const{currentType:y}=p;if(y!==2)return!1;T(h);const C=h.currentPeek()===qi;return h.resetPeek(),C}function $(h,p){const{currentType:y}=p;if(y!==7)return!1;T(h);const C=h.currentPeek()===".";return h.resetPeek(),C}function L(h,p){const{currentType:y}=p;if(y!==8)return!1;T(h);const C=b(h.currentPeek());return h.resetPeek(),C}function H(h,p){const{currentType:y}=p;if(!(y===7||y===11))return!1;T(h);const C=h.currentPeek()===":";return h.resetPeek(),C}function M(h,p){const{currentType:y}=p;if(y!==9)return!1;const C=()=>{const F=h.currentPeek();return F==="{"?b(h.peek()):F==="@"||F==="|"||F===":"||F==="."||F===mt||!F?!1:F===Pe?(h.peek(),C()):X(h,!1)},V=C();return h.resetPeek(),V}function B(h){T(h);const p=h.currentPeek()==="|";return h.resetPeek(),p}function X(h,p=!0){const y=(V=!1,F="")=>{const v=h.currentPeek();return v==="{"||v==="@"||!v?V:v==="|"?!(F===mt||F===Pe):v===mt?(h.peek(),y(!0,mt)):v===Pe?(h.peek(),y(!0,Pe)):!0},C=y();return p&&h.resetPeek(),C}function U(h,p){const y=h.currentChar();return y===Ot?Ot:p(y)?(h.next(),y):null}function Z(h){const p=h.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36}function de(h){return U(h,Z)}function ye(h){const p=h.charCodeAt(0);return p>=97&&p<=122||p>=65&&p<=90||p>=48&&p<=57||p===95||p===36||p===45}function se(h){return U(h,ye)}function J(h){const p=h.charCodeAt(0);return p>=48&&p<=57}function ne(h){return U(h,J)}function ve(h){const p=h.charCodeAt(0);return p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102}function Ke(h){return U(h,ve)}function ke(h){let p="",y="";for(;p=ne(h);)y+=p;return y}function Ce(h){let p="";for(;;){const y=h.currentChar();if(y==="\\"){const C=h.peek();C==="{"||C==="}"||C==="@"||C==="|"||C==="\\"?(p+=y+C,h.next(),h.next()):(h.resetPeek(),p+=y,h.next())}else{if(y==="{"||y==="}"||y==="@"||y==="|"||!y)break;if(y===mt||y===Pe)if(X(h))p+=y,h.next();else{if(B(h))break;p+=y,h.next()}else p+=y,h.next()}}return p}function ut(h){N(h);let p="",y="";for(;p=se(h);)y+=p;const C=h.currentChar();if(C&&C!=="}"&&C!==Ot&&C!==mt&&C!==Pe&&C!==" "){const V=G(h);return f(ie.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,y+V),y+V}return h.currentChar()===Ot&&f(ie.UNTERMINATED_CLOSING_BRACE,o(),0),y}function ft(h){N(h);let p="";return h.currentChar()==="-"?(h.next(),p+=`-${ke(h)}`):p+=ke(h),h.currentChar()===Ot&&f(ie.UNTERMINATED_CLOSING_BRACE,o(),0),p}function dt(h){return h!==qi&&h!==Pe}function Te(h){N(h),A(h,"'");let p="",y="";for(;p=U(h,dt);)p==="\\"?y+=k(h):y+=p;const C=h.currentChar();return C===Pe||C===Ot?(f(ie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,o(),0),C===Pe&&(h.next(),A(h,"'")),y):(A(h,"'"),y)}function k(h){const p=h.currentChar();switch(p){case"\\":case"'":return h.next(),`\\${p}`;case"u":return W(h,p,4);case"U":return W(h,p,6);default:return f(ie.UNKNOWN_ESCAPE_SEQUENCE,o(),0,p),""}}function W(h,p,y){A(h,p);let C="";for(let V=0;V{const C=h.currentChar();return C==="{"||C==="@"||C==="|"||C==="("||C===")"||!C||C===mt?y:(y+=C,h.next(),p(y))};return p("")}function g(h){N(h);const p=A(h,"|");return N(h),p}function S(h,p){let y=null;switch(h.currentChar()){case"{":return p.braceNest>=1&&f(ie.NOT_ALLOW_NEST_PLACEHOLDER,o(),0),h.next(),y=d(p,2,"{"),N(h),p.braceNest++,y;case"}":return p.braceNest>0&&p.currentType===2&&f(ie.EMPTY_PLACEHOLDER,o(),0),h.next(),y=d(p,3,"}"),p.braceNest--,p.braceNest>0&&N(h),p.inLinked&&p.braceNest===0&&(p.inLinked=!1),y;case"@":return p.braceNest>0&&f(ie.UNTERMINATED_CLOSING_BRACE,o(),0),y=O(h,p)||_(p),p.braceNest=0,y;default:{let V=!0,F=!0,v=!0;if(B(h))return p.braceNest>0&&f(ie.UNTERMINATED_CLOSING_BRACE,o(),0),y=d(p,1,g(h)),p.braceNest=0,p.inLinked=!1,y;if(p.braceNest>0&&(p.currentType===4||p.currentType===5||p.currentType===6))return f(ie.UNTERMINATED_CLOSING_BRACE,o(),0),p.braceNest=0,D(h,p);if(V=R(h,p))return y=d(p,4,ut(h)),N(h),y;if(F=w(h,p))return y=d(p,5,ft(h)),N(h),y;if(v=I(h,p))return y=d(p,6,Te(h)),N(h),y;if(!V&&!F&&!v)return y=d(p,12,G(h)),f(ie.INVALID_TOKEN_IN_PLACEHOLDER,o(),0,y.value),N(h),y;break}}return y}function O(h,p){const{currentType:y}=p;let C=null;const V=h.currentChar();switch((y===7||y===8||y===11||y===9)&&(V===Pe||V===mt)&&f(ie.INVALID_LINKED_FORMAT,o(),0),V){case"@":return h.next(),C=d(p,7,"@"),p.inLinked=!0,C;case".":return N(h),h.next(),d(p,8,".");case":":return N(h),h.next(),d(p,9,":");default:return B(h)?(C=d(p,1,g(h)),p.braceNest=0,p.inLinked=!1,C):$(h,p)||H(h,p)?(N(h),O(h,p)):L(h,p)?(N(h),d(p,11,ee(h))):M(h,p)?(N(h),V==="{"?S(h,p)||C:d(p,10,m(h))):(y===7&&f(ie.INVALID_LINKED_FORMAT,o(),0),p.braceNest=0,p.inLinked=!1,D(h,p))}}function D(h,p){let y={type:13};if(p.braceNest>0)return S(h,p)||_(p);if(p.inLinked)return O(h,p)||_(p);switch(h.currentChar()){case"{":return S(h,p)||_(p);case"}":return f(ie.UNBALANCED_CLOSING_BRACE,o(),0),h.next(),d(p,3,"}");case"@":return O(h,p)||_(p);default:{if(B(h))return y=d(p,1,g(h)),p.braceNest=0,p.inLinked=!1,y;if(X(h))return d(p,0,Ce(h));break}}return y}function x(){const{currentType:h,offset:p,startLoc:y,endLoc:C}=a;return a.lastType=h,a.lastOffset=p,a.lastStartLoc=y,a.lastEndLoc=C,a.offset=s(),a.startLoc=o(),r.currentChar()===Ot?d(a,13):D(r,a)}return{nextToken:x,currentOffset:s,currentPosition:o,context:c}}const yh="parser",vh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g,Eh=/\\([\\@{}|])/g;function Sh(e,t){return t}function Ch(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function wh(e={}){const t=e.location!==!1,{onError:n}=e;function r(b,E,R,w,...I){const $=b.currentPosition();if($.offset+=w,$.column+=w,n){const L=t?Js(R,$):null,H=ss(E,L,{domain:yh,args:I});n(H)}}function s(b,E,R){const w={type:b};return t&&(w.start=E,w.end=E,w.loc={start:R,end:R}),w}function o(b,E,R,w){t&&(b.end=E,b.loc&&(b.loc.end=R))}function i(b,E){const R=b.context(),w=s(3,R.offset,R.startLoc);return w.value=E.replace(Eh,Sh),o(w,b.currentOffset(),b.currentPosition()),w}function l(b,E){const R=b.context(),{lastOffset:w,lastStartLoc:I}=R,$=s(5,w,I);return $.index=parseInt(E,10),b.nextToken(),o($,b.currentOffset(),b.currentPosition()),$}function a(b,E){const R=b.context(),{lastOffset:w,lastStartLoc:I}=R,$=s(4,w,I);return $.key=E,b.nextToken(),o($,b.currentOffset(),b.currentPosition()),$}function c(b,E){const R=b.context(),{lastOffset:w,lastStartLoc:I}=R,$=s(9,w,I);return $.value=E.replace(vh,Ch),b.nextToken(),o($,b.currentOffset(),b.currentPosition()),$}function u(b){const E=b.nextToken(),R=b.context(),{lastOffset:w,lastStartLoc:I}=R,$=s(8,w,I);return E.type!==11?(r(b,ie.UNEXPECTED_EMPTY_LINKED_MODIFIER,R.lastStartLoc,0),$.value="",o($,w,I),{nextConsumeToken:E,node:$}):(E.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,R.lastStartLoc,0,gt(E)),$.value=E.value||"",o($,b.currentOffset(),b.currentPosition()),{node:$})}function f(b,E){const R=b.context(),w=s(7,R.offset,R.startLoc);return w.value=E,o(w,b.currentOffset(),b.currentPosition()),w}function d(b){const E=b.context(),R=s(6,E.offset,E.startLoc);let w=b.nextToken();if(w.type===8){const I=u(b);R.modifier=I.node,w=I.nextConsumeToken||b.nextToken()}switch(w.type!==9&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(w)),w=b.nextToken(),w.type===2&&(w=b.nextToken()),w.type){case 10:w.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(w)),R.key=f(b,w.value||"");break;case 4:w.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(w)),R.key=a(b,w.value||"");break;case 5:w.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(w)),R.key=l(b,w.value||"");break;case 6:w.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(w)),R.key=c(b,w.value||"");break;default:{r(b,ie.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const I=b.context(),$=s(7,I.offset,I.startLoc);return $.value="",o($,I.offset,I.startLoc),R.key=$,o(R,I.offset,I.startLoc),{nextConsumeToken:w,node:R}}}return o(R,b.currentOffset(),b.currentPosition()),{node:R}}function _(b){const E=b.context(),R=E.currentType===1?b.currentOffset():E.offset,w=E.currentType===1?E.endLoc:E.startLoc,I=s(2,R,w);I.items=[];let $=null;do{const M=$||b.nextToken();switch($=null,M.type){case 0:M.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(M)),I.items.push(i(b,M.value||""));break;case 5:M.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(M)),I.items.push(l(b,M.value||""));break;case 4:M.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(M)),I.items.push(a(b,M.value||""));break;case 6:M.value==null&&r(b,ie.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,gt(M)),I.items.push(c(b,M.value||""));break;case 7:{const B=d(b);I.items.push(B.node),$=B.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const L=E.currentType===1?E.lastOffset:b.currentOffset(),H=E.currentType===1?E.lastEndLoc:b.currentPosition();return o(I,L,H),I}function A(b,E,R,w){const I=b.context();let $=w.items.length===0;const L=s(1,E,R);L.cases=[],L.cases.push(w);do{const H=_(b);$||($=H.items.length===0),L.cases.push(H)}while(I.currentType!==13);return $&&r(b,ie.MUST_HAVE_MESSAGES_IN_PLURAL,R,0),o(L,b.currentOffset(),b.currentPosition()),L}function T(b){const E=b.context(),{offset:R,startLoc:w}=E,I=_(b);return E.currentType===13?I:A(b,R,w,I)}function N(b){const E=bh(b,yn({},e)),R=E.context(),w=s(0,R.offset,R.startLoc);return t&&w.loc&&(w.loc.source=b),w.body=T(E),e.onCacheKey&&(w.cacheKey=e.onCacheKey(b)),R.currentType!==13&&r(E,ie.UNEXPECTED_LEXICAL_ANALYSIS,R.lastStartLoc,0,b[R.offset]||""),o(w,E.currentOffset(),E.currentPosition()),w}return{parse:N}}function gt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Ah(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:o=>(n.helpers.add(o),o)}}function Yi(e,t){for(let n=0;nXi(n)),e}function Xi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function a(T,N){i.code+=T}function c(T,N=!0){const b=N?r:"";a(s?b+" ".repeat(T):b)}function u(T=!0){const N=++i.indentLevel;T&&c(N)}function f(T=!0){const N=--i.indentLevel;T&&c(N)}function d(){c(i.indentLevel)}return{context:l,push:a,indent:u,deindent:f,newline:d,helper:T=>`_${T}`,needIndent:()=>i.needIndent}}function Lh(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),On(e,t.key),t.modifier?(e.push(", "),On(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Oh(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let o=0;o1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let o=0;o{const n=z(t.mode)?t.mode:"normal",r=z(t.filename)?t.filename:"message.intl";t.sourceMap;const s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],l=Ph(e,{filename:r,breakLineCode:s,needIndent:o});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),i.length>0&&(l.push(`const { ${Do(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),On(l,e),l.deindent(o),l.push("}"),delete e.helpers;const{code:a,map:c}=l.context();return{ast:e,code:a,map:c?c.toJSON():void 0}};function kh(e,t={}){const n=yn({},t),r=!!n.jit,s=!!n.minify,o=n.optimize==null?!0:n.optimize,l=wh(n).parse(e);return r?(o&&Rh(l),s&&Cn(l),{ast:l,code:""}):(Th(l,n),xh(l,n))}function At(e){return xe(e)&&Fo(e)===0&&(Zt(e,"b")||Zt(e,"body"))}const uc=["b","body"];function Dh(e){return tn(e,uc)}const fc=["c","cases"];function Mh(e){return tn(e,fc,[])}const dc=["s","static"];function Fh(e){return tn(e,dc)}const hc=["i","items"];function $h(e){return tn(e,hc,[])}const pc=["t","type"];function Fo(e){return tn(e,pc)}const mc=["v","value"];function br(e,t){const n=tn(e,mc);if(n!=null)return n;throw or(t)}const gc=["m","modifier"];function Uh(e){return tn(e,gc)}const _c=["k","key"];function jh(e){const t=tn(e,_c);if(t)return t;throw or(6)}function tn(e,t,n){for(let r=0;rVh(n,e)}function Vh(e,t){const n=Dh(t);if(n==null)throw or(0);if(Fo(n)===1){const o=Mh(n);return e.plural(o.reduce((i,l)=>[...i,Ji(e,l)],[]))}else return Ji(e,n)}function Ji(e,t){const n=Fh(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=$h(t).reduce((s,o)=>[...s,Qs(e,o)],[]);return e.normalize(r)}}function Qs(e,t){const n=Fo(t);switch(n){case 3:return br(t,n);case 9:return br(t,n);case 4:{const r=t;if(Zt(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(Zt(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw or(n)}case 5:{const r=t;if(Zt(r,"i")&&Ue(r.i))return e.interpolate(e.list(r.i));if(Zt(r,"index")&&Ue(r.index))return e.interpolate(e.list(r.index));throw or(n)}case 6:{const r=t,s=Uh(r),o=jh(r);return e.linked(Qs(e,o),s?Qs(e,s):void 0,e.type)}case 7:return br(t,n);case 8:return br(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Hh=e=>e;let yr=Be();function Wh(e,t={}){let n=!1;const r=t.onError||fh;return t.onError=s=>{n=!0,r(s)},{...kh(e,t),detectError:n}}function Bh(e,t){if(z(e)){Ve(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Hh)(e),s=yr[r];if(s)return s;const{ast:o,detectError:i}=Wh(e,{...t,location:!1,jit:!0}),l=ws(o);return i?l:yr[r]=l}else{const n=e.cacheKey;if(n){const r=yr[n];return r||(yr[n]=ws(e))}else return ws(e)}}const $t={INVALID_ARGUMENT:uh,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},Kh=24;function Ut(e){return ss(e,null,void 0)}function $o(e,t){return t.locale!=null?Qi(t.locale):Qi(e.locale)}let As;function Qi(e){if(z(e))return e;if(we(e)){if(e.resolvedOnce&&As!=null)return As;if(e.constructor.name==="Function"){const t=e();if(lh(t))throw Ut($t.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return As=t}else throw Ut($t.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Ut($t.NOT_SUPPORT_LOCALE_TYPE)}function Gh(e,t,n){return[...new Set([n,...wt(t)?t:xe(t)?Object.keys(t):z(t)?[t]:[n]])]}function zs(e,t,n){const r=z(n)?n:Fr,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let o=s.__localeChainCache.get(r);if(!o){o=[];let i=[n];for(;wt(i);)i=zi(o,i,t);const l=wt(t)||!be(t)?t:t.default?t.default:null;i=z(l)?[l]:l,wt(i)&&zi(o,i,!1),s.__localeChainCache.set(r,o)}return o}function zi(e,t,n){let r=!0;for(let s=0;s{i===void 0?i=l:i+=l},d[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,r=4,d[0]();else{if(s=0,i===void 0||(i=Zh(i),i===!1))return!1;d[1]()}};function _(){const A=e[n+1];if(r===5&&A==="'"||r===6&&A==='"')return n++,l="\\"+A,d[0](),!0}for(;r!==null;)if(n++,o=e[n],!(o==="\\"&&_())){if(a=zh(o),f=nn[r],c=f[a]||f.l||8,c===8||(r=c[0],c[1]!==void 0&&(u=d[c[1]],u&&(l=o,u()===!1))))return;if(r===7)return t}}const Zi=new Map;function tp(e,t){return xe(e)?e[t]:null}function np(e,t){if(!xe(e))return null;let n=Zi.get(t);if(n||(n=ep(t),n&&Zi.set(t,n)),!n)return null;const r=n.length;let s=e,o=0;for(;o`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function sp(){return{upper:(e,t)=>t==="text"&&z(e)?e.toUpperCase():t==="vnode"&&xe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&z(e)?e.toLowerCase():t==="vnode"&&xe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&z(e)?el(e):t==="vnode"&&xe(e)&&"__v_isVNode"in e?el(e.children):e}}let yc;function op(e){yc=e}let vc;function ip(e){vc=e}let Ec;function lp(e){Ec=e}let Sc=null;const tl=e=>{Sc=e},ap=()=>Sc;let nl=0;function cp(e={}){const t=we(e.onWarn)?e.onWarn:th,n=z(e.version)?e.version:rp,r=z(e.locale)||we(e.locale)?e.locale:Fr,s=we(r)?Fr:r,o=wt(e.fallbackLocale)||be(e.fallbackLocale)||z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,i=be(e.messages)?e.messages:Ts(s),l=be(e.datetimeFormats)?e.datetimeFormats:Ts(s),a=be(e.numberFormats)?e.numberFormats:Ts(s),c=yn(Be(),e.modifiers,sp()),u=e.pluralRules||Be(),f=we(e.missing)?e.missing:null,d=Ve(e.missingWarn)||Bi(e.missingWarn)?e.missingWarn:!0,_=Ve(e.fallbackWarn)||Bi(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,T=!!e.unresolving,N=we(e.postTranslation)?e.postTranslation:null,b=be(e.processor)?e.processor:null,E=Ve(e.warnHtmlMessage)?e.warnHtmlMessage:!0,R=!!e.escapeParameter,w=we(e.messageCompiler)?e.messageCompiler:yc,I=we(e.messageResolver)?e.messageResolver:vc||tp,$=we(e.localeFallbacker)?e.localeFallbacker:Ec||Gh,L=xe(e.fallbackContext)?e.fallbackContext:void 0,H=e,M=xe(H.__datetimeFormatters)?H.__datetimeFormatters:new Map,B=xe(H.__numberFormatters)?H.__numberFormatters:new Map,X=xe(H.__meta)?H.__meta:{};nl++;const U={version:n,cid:nl,locale:r,fallbackLocale:o,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:d,fallbackWarn:_,fallbackFormat:A,unresolving:T,postTranslation:N,processor:b,warnHtmlMessage:E,escapeParameter:R,messageCompiler:w,messageResolver:I,localeFallbacker:$,fallbackContext:L,onWarn:t,__meta:X};return U.datetimeFormats=l,U.numberFormats=a,U.__datetimeFormatters=M,U.__numberFormatters=B,U}const Ts=e=>({[e]:Be()});function Uo(e,t,n,r,s){const{missing:o,onWarn:i}=e;if(o!==null){const l=o(e,n,t,s);return z(l)?l:t}else return t}function $n(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function up(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function fp(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{Cc.includes(a)?i[a]=n[a]:o[a]=n[a]}),z(r)?o.locale=r:be(r)&&(i=r),be(s)&&(i=s),[o.key||"",l,o,i]}function sl(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__datetimeFormatters.has(o)&&r.__datetimeFormatters.delete(o)}}function ol(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:o,localeFallbacker:i}=e,{__numberFormatters:l}=e;if(!Ue(t[0]))return $r;const[a,c,u,f]=eo(...t),d=Ve(u.missingWarn)?u.missingWarn:e.missingWarn;Ve(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const _=!!u.part,A=$o(e,u),T=i(e,s,A);if(!z(a)||a==="")return new Intl.NumberFormat(A.replace(/!/g,""),f).format(c);let N={},b,E=null;const R="number format";for(let $=0;${wc.includes(a)?i[a]=n[a]:o[a]=n[a]}),z(r)?o.locale=r:be(r)&&(i=r),be(s)&&(i=s),[o.key||"",l,o,i]}function il(e,t,n){const r=e;for(const s in n){const o=`${t}__${s}`;r.__numberFormatters.has(o)&&r.__numberFormatters.delete(o)}}const dp=e=>e,hp=e=>"",pp="text",mp=e=>e.length===0?"":Do(e),gp=ah;function Rs(e,t){return e=Math.abs(e),t===2?e===1?0:1:Math.min(e,2)}function _p(e){const t=Ue(e.pluralIndex)?e.pluralIndex:-1;return Ue(e.named?.count)?e.named.count:Ue(e.named?.n)?e.named.n:t}function bp(e={}){const t=e.locale,n=_p(e),r=z(t)&&we(e.pluralRules?.[t])?e.pluralRules[t]:Rs,s=r===Rs?void 0:Rs,o=b=>b[r(n,b.length,s)],i=e.list||[],l=b=>i[b],a=e.named||Be();Ue(e.pluralIndex)&&(a.count||=e.pluralIndex,a.n||=e.pluralIndex);const c=b=>a[b];function u(b,E){const R=we(e.messages)?e.messages(b,!!E):xe(e.messages)?e.messages[b]:!1;return R||(e.parent?e.parent.message(b):hp)}const f=b=>e.modifiers?e.modifiers[b]:dp,d=we(e.processor?.normalize)?e.processor.normalize:mp,_=we(e.processor?.interpolate)?e.processor.interpolate:gp,A=z(e.processor?.type)?e.processor.type:pp,N={list:l,named:c,plural:o,linked:(b,...E)=>{const[R,w]=E;let I="text",$="";E.length===1?xe(R)?($=R.modifier||$,I=R.type||I):z(R)&&($=R||$):E.length===2&&(z(R)&&($=R||$),z(w)&&(I=w||I));const L=u(b,!0)(N),H=L===""||L===void 0?b:L,M=I==="vnode"&&wt(H)&&$?H[0]:H;return $?f($)(M,I):M},message:u,type:A,interpolate:_,normalize:d,values:yn(Be(),i,a)};return N}const ll=()=>"",Ht=e=>we(e);function al(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:o,fallbackLocale:i,messages:l}=e,[a,c]=to(...t),u=Ve(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ve(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,d=Ve(c.escapeParameter)?c.escapeParameter:e.escapeParameter,_=!!c.resolvedMessage,A=z(c.default)||Ve(c.default)?Ve(c.default)?o?a:()=>a:c.default:n?o?a:()=>a:null,T=n||A!=null&&(z(A)||we(A)),N=$o(e,c);d&&yp(c);let[b,E,R]=_?[a,N,l[N]||Be()]:Ac(e,a,N,i,f,u),w=b,I=a;if(!_&&!(z(w)||At(w)||Ht(w))&&T&&(w=A,I=w),!_&&(!(z(w)||At(w)||Ht(w))||!z(E)))return s?os:a;let $=!1;const L=()=>{$=!0},H=Ht(w)?w:Tc(e,a,E,w,I,L);if($)return w;const M=Sp(e,E,R,c),B=bp(M),X=vp(e,H,B);let U=r?r(X,a):X;return d&&z(U)&&(U=oh(U)),U}function yp(e){wt(e.list)?e.list=e.list.map(t=>z(t)?Ki(t):t):xe(e.named)&&Object.keys(e.named).forEach(t=>{z(e.named[t])&&(e.named[t]=Ki(e.named[t]))})}function Ac(e,t,n,r,s,o){const{messages:i,onWarn:l,messageResolver:a,localeFallbacker:c}=e,u=c(e,r,n);let f=Be(),d,_=null;const A="translate";for(let T=0;Tr);return c.locale=n,c.key=t,c}const a=i(r,Ep(e,n,s,r,l,o));return a.locale=n,a.key=t,a.source=r,a}function vp(e,t,n){return t(n)}function to(...e){const[t,n,r]=e,s=Be();if(!z(t)&&!Ue(t)&&!Ht(t)&&!At(t))throw Ut($t.INVALID_ARGUMENT);const o=Ue(t)?String(t):(Ht(t),t);return Ue(n)?s.plural=n:z(n)?s.default=n:be(n)&&!xo(n)?s.named=n:wt(n)&&(s.list=n),Ue(r)?s.plural=r:z(r)?s.default=r:be(r)&&yn(s,r),[o,s]}function Ep(e,t,n,r,s,o){return{locale:t,key:n,warnHtmlMessage:s,onError:i=>{throw o&&o(i),i},onCacheKey:i=>nh(t,n,i)}}function Sp(e,t,n,r){const{modifiers:s,pluralRules:o,messageResolver:i,fallbackLocale:l,fallbackWarn:a,missingWarn:c,fallbackContext:u}=e,d={locale:t,modifiers:s,pluralRules:o,messages:(_,A)=>{let T=i(n,_);if(T==null&&(u||A)){const[,,N]=Ac(u||e,_,t,l,a,c);T=i(N,_)}if(z(T)||At(T)){let N=!1;const E=Tc(e,_,t,T,_,()=>{N=!0});return N?ll:E}else return Ht(T)?T:ll}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),Ue(r.plural)&&(d.pluralIndex=r.plural),d}const Ur=typeof window<"u",rn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),ir=e=>typeof e=="number"&&isFinite(e),cl=e=>Rc(e)==="[object RegExp]",Cp=e=>st(e)&&Object.keys(e).length===0,Tt=Object.assign,wp=Object.create,Xe=(e=null)=>wp(e),Ap=Object.prototype.hasOwnProperty;function jr(e,t){return Ap.call(e,t)}const rt=Array.isArray,vr=e=>typeof e=="function",_e=e=>typeof e=="string",kt=e=>typeof e=="boolean",We=e=>e!==null&&typeof e=="object",Tp=Object.prototype.toString,Rc=e=>Tp.call(e),st=e=>Rc(e)==="[object Object]",Er=e=>!We(e)||rt(e);function Tr(e,t){if(Er(e)||Er(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(o=>{o!=="__proto__"&&(We(r[o])&&!We(s[o])&&(s[o]=Array.isArray(r[o])?[]:Xe()),Er(s[o])||Er(r[o])?s[o]=r[o]:n.push({src:r[o],des:s[o]}))})}}const Rp="11.3.0",tt={UNEXPECTED_RETURN_TYPE:Kh,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32};function at(e,...t){return ss(e,null,void 0)}const no=rn("__translateVNode"),ro=rn("__datetimeParts"),so=rn("__numberParts"),Pp=rn("__setPluralRules"),Lp=rn("__injectWithOption"),oo=rn("__dispose");function lr(e){if(!We(e)||At(e))return e;for(const t in e)if(jr(e,t))if(!t.includes("."))We(e[t])&&lr(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,o=!1;for(let i=0;i{if("locale"in l&&"resource"in l){const{locale:a,resource:c}=l;a?(i[a]=i[a]||Xe(),Tr(c,i[a])):Tr(c,i)}else _e(l)&&Tr(JSON.parse(l),i)}),s==null&&o)for(const l in i)jr(i,l)&&lr(i[l]);return i}function Op(e){return e.type}function Np(e,t,n){let r=We(t.messages)?t.messages:Xe();"__i18nGlobal"in n&&(r=Pc(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(o=>{e.mergeLocaleMessage(o,r[o])});{if(We(t.datetimeFormats)){const o=Object.keys(t.datetimeFormats);o.length&&o.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(We(t.numberFormats)){const o=Object.keys(t.numberFormats);o.length&&o.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function ul(e){return He(fr,null,e,0)}function Lc(){return ts()}const fl=()=>[],Ip=()=>!1;let dl=0;function hl(e){return((t,n,r,s)=>e(n,r,Lc()||void 0,s))}function Oc(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,s=e.flatJson,o=Ur?Jr:fa;let i=kt(e.inheritLocale)?e.inheritLocale:!0;const l=o(t&&i?t.locale.value:_e(e.locale)?e.locale:Fr),a=o(t&&i?t.fallbackLocale.value:_e(e.fallbackLocale)||rt(e.fallbackLocale)||st(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),c=o(Pc(l.value,e)),u=o(st(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),f=o(st(e.numberFormats)?e.numberFormats:{[l.value]:{}});let d=t?t.missingWarn:kt(e.missingWarn)||cl(e.missingWarn)?e.missingWarn:!0,_=t?t.fallbackWarn:kt(e.fallbackWarn)||cl(e.fallbackWarn)?e.fallbackWarn:!0,A=t?t.fallbackRoot:kt(e.fallbackRoot)?e.fallbackRoot:!0,T=!!e.fallbackFormat,N=vr(e.missing)?e.missing:null,b=vr(e.missing)?hl(e.missing):null,E=vr(e.postTranslation)?e.postTranslation:null,R=t?t.warnHtmlMessage:kt(e.warnHtmlMessage)?e.warnHtmlMessage:!0,w=!!e.escapeParameter;const I=t?t.modifiers:st(e.modifiers)?e.modifiers:{};let $=e.pluralRules||t&&t.pluralRules,L;L=(()=>{r&&tl(null);const v={version:Rp,locale:l.value,fallbackLocale:a.value,messages:c.value,modifiers:I,pluralRules:$,missing:b===null?void 0:b,missingWarn:d,fallbackWarn:_,fallbackFormat:T,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:R,escapeParameter:w,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};v.datetimeFormats=u.value,v.numberFormats=f.value,v.__datetimeFormatters=st(L)?L.__datetimeFormatters:void 0,v.__numberFormatters=st(L)?L.__numberFormatters:void 0;const P=cp(v);return r&&tl(P),P})(),$n(L,l.value,a.value);function M(){return[l.value,a.value,c.value,u.value,f.value]}const B=Ae({get:()=>l.value,set:v=>{L.locale=v,l.value=v}}),X=Ae({get:()=>a.value,set:v=>{L.fallbackLocale=v,a.value=v,$n(L,l.value,v)}}),U=Ae(()=>c.value),Z=Ae(()=>u.value),de=Ae(()=>f.value);function ye(){return vr(E)?E:null}function se(v){E=v,L.postTranslation=v}function J(){return N}function ne(v){v!==null&&(b=hl(v)),N=v,L.missing=b}const ve=(v,P,K,Y,te,me)=>{M();let ce;try{r||(L.fallbackContext=t?ap():void 0),ce=v(L)}finally{r||(L.fallbackContext=void 0)}if(K!=="translate exists"&&ir(ce)&&ce===os||K==="translate exists"&&!ce){const[Qe,nt]=P();return t&&A?Y(t):te(Qe)}else{if(me(ce))return ce;throw at(tt.UNEXPECTED_RETURN_TYPE)}};function Ke(...v){return ve(P=>Reflect.apply(al,null,[P,...v]),()=>to(...v),"translate",P=>Reflect.apply(P.t,P,[...v]),P=>P,P=>_e(P))}function ke(...v){const[P,K,Y]=v;if(Y&&!We(Y))throw at(tt.INVALID_ARGUMENT);return Ke(P,K,Tt({resolvedMessage:!0},Y||{}))}function Ce(...v){return ve(P=>Reflect.apply(rl,null,[P,...v]),()=>Zs(...v),"datetime format",P=>Reflect.apply(P.d,P,[...v]),()=>$r,P=>_e(P)||rt(P))}function ut(...v){return ve(P=>Reflect.apply(ol,null,[P,...v]),()=>eo(...v),"number format",P=>Reflect.apply(P.n,P,[...v]),()=>$r,P=>_e(P)||rt(P))}function ft(v){return v.map(P=>_e(P)||ir(P)||kt(P)?ul(String(P)):P)}const Te={normalize:ft,interpolate:v=>v,type:"vnode"};function k(...v){return ve(P=>{let K;const Y=P;try{Y.processor=Te,K=Reflect.apply(al,null,[Y,...v])}finally{Y.processor=null}return K},()=>to(...v),"translate",P=>P[no](...v),P=>[ul(P)],P=>rt(P))}function W(...v){return ve(P=>Reflect.apply(ol,null,[P,...v]),()=>eo(...v),"number format",P=>P[so](...v),fl,P=>_e(P)||rt(P))}function j(...v){return ve(P=>Reflect.apply(rl,null,[P,...v]),()=>Zs(...v),"datetime format",P=>P[ro](...v),fl,P=>_e(P)||rt(P))}function G(v){$=v,L.pluralRules=$}function ee(v,P){return ve(()=>{if(!v)return!1;const K=_e(P)?P:l.value,Y=_e(P)?[K]:zs(L,a.value,K);for(let te=0;te[v],"translate exists",K=>Reflect.apply(K.te,K,[v,P]),Ip,K=>kt(K))}function m(v){let P=null;const K=zs(L,a.value,l.value);for(let Y=0;Y{i&&(l.value=v,L.locale=v,$n(L,l.value,a.value))}),Vt(t.fallbackLocale,v=>{i&&(a.value=v,L.fallbackLocale=v,$n(L,l.value,a.value))}));const F={id:dl,locale:B,fallbackLocale:X,get inheritLocale(){return i},set inheritLocale(v){i=v,v&&t&&(l.value=t.locale.value,a.value=t.fallbackLocale.value,$n(L,l.value,a.value))},get availableLocales(){return Object.keys(c.value).sort()},messages:U,get modifiers(){return I},get pluralRules(){return $||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(v){d=v,L.missingWarn=d},get fallbackWarn(){return _},set fallbackWarn(v){_=v,L.fallbackWarn=_},get fallbackRoot(){return A},set fallbackRoot(v){A=v},get fallbackFormat(){return T},set fallbackFormat(v){T=v,L.fallbackFormat=T},get warnHtmlMessage(){return R},set warnHtmlMessage(v){R=v,L.warnHtmlMessage=v},get escapeParameter(){return w},set escapeParameter(v){w=v,L.escapeParameter=v},t:Ke,getLocaleMessage:S,setLocaleMessage:O,mergeLocaleMessage:D,getPostTranslationHandler:ye,setPostTranslationHandler:se,getMissingHandler:J,setMissingHandler:ne,[Pp]:G};return F.datetimeFormats=Z,F.numberFormats=de,F.rt=ke,F.te=ee,F.tm=g,F.d=Ce,F.n=ut,F.getDateTimeFormat=x,F.setDateTimeFormat=h,F.mergeDateTimeFormat=p,F.getNumberFormat=y,F.setNumberFormat=C,F.mergeNumberFormat=V,F[Lp]=n,F[no]=k,F[ro]=j,F[so]=W,F}const jo={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function xp({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Ze?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},Xe())}function Nc(){return Ze}const kp=bn({name:"i18n-t",props:Tt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ir(e)||!isNaN(e)}},jo),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||is({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(n).filter(f=>f[0]!=="_"),i=Xe();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=_e(e.plural)?+e.plural:e.plural);const l=xp(t,o),a=s[no](e.keypath,l,i),c=Tt(Xe(),r),u=_e(e.tag)||We(e.tag)?e.tag:Nc();return hr(u,c,a)}}}),pl=kp;function Dp(e){return rt(e)&&!_e(e[0])}function Ic(e,t,n,r){const{slots:s,attrs:o}=t;return()=>{const i={part:!0};let l=Xe();e.locale&&(i.locale=e.locale),_e(e.format)?i.key=e.format:We(e.format)&&(_e(e.format.key)&&(i.key=e.format.key),l=Object.keys(e.format).reduce((d,_)=>n.includes(_)?Tt(Xe(),d,{[_]:e.format[_]}):d,Xe()));const a=r(e.value,i,l);let c=[i.key];rt(a)?c=a.map((d,_)=>{const A=s[d.type],T=A?A({[d.type]:d.value,index:_,parts:a}):[d.value];return Dp(T)&&(T[0].key=`${d.type}-${_}`),T}):_e(a)&&(c=[a]);const u=Tt(Xe(),o),f=_e(e.tag)||We(e.tag)?e.tag:Nc();return hr(f,u,c)}}const Mp=bn({name:"i18n-n",props:Tt({value:{type:Number,required:!0},format:{type:[String,Object]}},jo),setup(e,t){const n=e.i18n||is({useScope:e.scope,__useComponent:!0});return Ic(e,t,wc,(...r)=>n[so](...r))}}),ml=Mp;function Fp(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function $p(e){const t=i=>{const{instance:l,value:a}=i;if(!l||!l.$)throw at(tt.UNEXPECTED_ERROR);const c=Fp(e,l.$),u=gl(a);return[Reflect.apply(c.t,c,[..._l(u)]),c]};return{created:(i,l)=>{const[a,c]=t(l);Ur&&(i.__i18nWatcher=Vt(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),i.__composer=c,i.textContent=a},unmounted:i=>{Ur&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:l})=>{if(i.__composer){const a=i.__composer,c=gl(l);i.textContent=Reflect.apply(a.t,a,[..._l(c)])}},getSSRProps:i=>{const[l]=t(i);return{textContent:l}}}}function gl(e){if(_e(e))return{path:e};if(st(e)){if(!("path"in e))throw at(tt.REQUIRED_VALUE,"path");return e}else throw at(tt.INVALID_VALUE)}function _l(e){const{path:t,locale:n,args:r,choice:s,plural:o}=e,i={},l=r||{};return _e(n)&&(i.locale=n),ir(s)&&(i.plural=s),ir(o)&&(i.plural=o),[t,l,i]}function Up(e,t,...n){const r=st(n[0])?n[0]:{};(!kt(r.globalInstall)||r.globalInstall)&&([pl.name,"I18nT"].forEach(o=>e.component(o,pl)),[ml.name,"I18nN"].forEach(o=>e.component(o,ml)),[yl.name,"I18nD"].forEach(o=>e.component(o,yl))),e.directive("t",$p(t))}const jp=rn("global-vue-i18n");function Kg(e={}){const t=kt(e.globalInjection)?e.globalInjection:!0,n=new Map,[r,s]=Vp(e),o=rn("");function i(u){return n.get(u)||null}function l(u,f){n.set(u,f)}function a(u){n.delete(u)}const c={get mode(){return"composition"},async install(u,...f){if(u.__VUE_I18N_SYMBOL__=o,u.provide(u.__VUE_I18N_SYMBOL__,c),st(f[0])){const A=f[0];c.__composerExtend=A.__composerExtend,c.__vueI18nExtend=A.__vueI18nExtend}let d=null;t&&(d=Xp(u,c.global)),Up(u,c,...f);const _=u.unmount;u.unmount=()=>{d&&d(),c.dispose(),_()}},get global(){return s},dispose(){r.stop()},__instances:n,__getInstance:i,__setInstance:l,__deleteInstance:a};return c}function is(e={}){const t=Lc();if(t==null)throw at(tt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw at(tt.NOT_INSTALLED);const n=Hp(t),r=Bp(n),s=Op(t),o=Wp(e,s);if(o==="global")return Np(r,e,s),r;if(o==="parent"){let a=Kp(n,t,e.__useComponent);return a==null&&(a=r),a}const i=n;let l=i.__getInstance(t);if(l==null){const a=Tt({},e);"__i18n"in s&&(a.__i18n=s.__i18n),r&&(a.__root=r),l=Oc(a),i.__composerExtend&&(l[oo]=i.__composerExtend(l)),qp(i,t,l),i.__setInstance(t,l)}return l}function Vp(e,t){const n=_o(),r=n.run(()=>Oc(e));if(r==null)throw at(tt.UNEXPECTED_ERROR);return[n,r]}function Hp(e){const t=et(e.isCE?jp:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw at(e.isCE?tt.NOT_INSTALLED_WITH_PROVIDE:tt.UNEXPECTED_ERROR);return t}function Wp(e,t){return Cp(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Bp(e){return e.mode==="composition"?e.global:e.global.__composer}function Kp(e,t,n=!1){let r=null;const s=t.root;let o=Gp(t,n);for(;o!=null;){const i=e;if(e.mode==="composition"&&(r=i.__getInstance(o)),r!=null||s===o)break;o=o.parent}return r}function Gp(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function qp(e,t,n){To(()=>{},t),Ro(()=>{const r=n;e.__deleteInstance(t);const s=r[oo];s&&(s(),delete r[oo])},t)}const Yp=["locale","fallbackLocale","availableLocales"],bl=["t","rt","d","n","tm","te"];function Xp(e,t){const n=Object.create(null);return Yp.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o)throw at(tt.UNEXPECTED_ERROR);const i=he(o.value)?{get(){return o.value.value},set(l){o.value.value=l}}:{get(){return o.get&&o.get()}};Object.defineProperty(n,s,i)}),e.config.globalProperties.$i18n=n,bl.forEach(s=>{const o=Object.getOwnPropertyDescriptor(t,s);if(!o||!o.value)throw at(tt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,o)}),()=>{delete e.config.globalProperties.$i18n,bl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}const Jp=bn({name:"i18n-d",props:Tt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},jo),setup(e,t){const n=e.i18n||is({useScope:e.scope,__useComponent:!0});return Ic(e,t,Cc,(...r)=>n[ro](...r))}}),yl=Jp;op(Bh);ip(np);lp(zs);let xc;const ls=e=>xc=e,kc=Symbol();function io(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Xn||(Xn={}));function Qp(){const e=_o(!0),t=e.run(()=>Jr({}));let n=[],r=[];const s=xn({install(o){ls(s),s._a=o,o.provide(kc,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Dc=()=>{};function vl(e,t,n,r=Dc){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Xl()&&du(s),s}function En(e,...t){e.forEach(n=>{n(...t)})}const zp=e=>e(),El=Symbol(),Ps=Symbol();function lo(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];io(s)&&io(r)&&e.hasOwnProperty(n)&&!he(r)&&!jt(r)?e[n]=lo(s,r):e[n]=r}return e}const Zp=Symbol();function em(e){return!io(e)||!Object.prototype.hasOwnProperty.call(e,Zp)}const{assign:Xt}=Object;function tm(e){return!!(he(e)&&e.effect)}function nm(e,t,n,r){const{state:s,actions:o,getters:i}=t,l=n.state.value[e];let a;function c(){l||(n.state.value[e]=s?s():{});const u=ku(n.state.value[e]);return Xt(u,o,Object.keys(i||{}).reduce((f,d)=>(f[d]=xn(Ae(()=>{ls(n);const _=n._s.get(e);return i[d].call(_,_)})),f),{}))}return a=Mc(e,c,t,n,r,!0),a}function Mc(e,t,n={},r,s,o){let i;const l=Xt({actions:{}},n),a={deep:!0};let c,u,f=new Set,d=new Set,_;const A=r.state.value[e];!o&&!A&&(r.state.value[e]={});let T;function N(H){let M;c=u=!1,typeof H=="function"?(H(r.state.value[e]),M={type:Xn.patchFunction,storeId:e,events:_}):(lo(r.state.value[e],H),M={type:Xn.patchObject,payload:H,storeId:e,events:_});const B=T=Symbol();wo().then(()=>{T===B&&(c=!0)}),u=!0,En(f,M,r.state.value[e])}const b=o?function(){const{state:M}=n,B=M?M():{};this.$patch(X=>{Xt(X,B)})}:Dc;function E(){i.stop(),f.clear(),d.clear(),r._s.delete(e)}const R=(H,M="")=>{if(El in H)return H[Ps]=M,H;const B=function(){ls(r);const X=Array.from(arguments),U=new Set,Z=new Set;function de(J){U.add(J)}function ye(J){Z.add(J)}En(d,{args:X,name:B[Ps],store:I,after:de,onError:ye});let se;try{se=H.apply(this&&this.$id===e?this:I,X)}catch(J){throw En(Z,J),J}return se instanceof Promise?se.then(J=>(En(U,J),J)).catch(J=>(En(Z,J),Promise.reject(J))):(En(U,se),se)};return B[El]=!0,B[Ps]=M,B},w={_p:r,$id:e,$onAction:vl.bind(null,d),$patch:N,$reset:b,$subscribe(H,M={}){const B=vl(f,H,M.detached,()=>X()),X=i.run(()=>Vt(()=>r.state.value[e],U=>{(M.flush==="sync"?u:c)&&H({storeId:e,type:Xn.direct,events:_},U)},Xt({},a,M)));return B},$dispose:E},I=_n(w);r._s.set(e,I);const L=(r._a&&r._a.runWithContext||zp)(()=>r._e.run(()=>(i=_o()).run(()=>t({action:R}))));for(const H in L){const M=L[H];if(he(M)&&!tm(M)||jt(M))o||(A&&em(M)&&(he(M)?M.value=A[H]:lo(M,A[H])),r.state.value[e][H]=M);else if(typeof M=="function"){const B=R(M,H);L[H]=B,l.actions[H]=M}}return Xt(I,L),Xt(re(I),L),Object.defineProperty(I,"$state",{get:()=>r.state.value[e],set:H=>{N(M=>{Xt(M,H)})}}),r._p.forEach(H=>{Xt(I,i.run(()=>H({store:I,app:r._a,pinia:r,options:l})))}),A&&o&&n.hydrate&&n.hydrate(I.$state,A),c=!0,u=!0,I}function rm(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,l){const a=Ku();return i=i||(a?et(kc,null):null),i&&ls(i),i=xc,i._s.has(e)||(s?Mc(e,t,r,i):nm(e,r,i)),i._s.get(e)}return o.$id=e,o}const sm=["it","en","en_us","de","de_ch","fr","fr_ch"],Sl="it",Fc="preferences.language";function om(e){return sm.includes(e)}function im(){if(typeof localStorage>"u")return Sl;const e=localStorage.getItem(Fc);return e&&om(e)?e:Sl}function lm(e){switch(e){case"it":case"en":case"en_us":case"de":case"de_ch":case"fr":case"fr_ch":return"en-US"}}const am=rm("preferences",{state:()=>({language:im()}),actions:{setLanguage(e){this.language=e,typeof localStorage<"u"&&localStorage.setItem(Fc,e)}}}),cm=bn({__name:"App",setup(e){const{locale:t}=is(),n=am();return Vt(()=>n.language,r=>{t.value=lm(r)},{immediate:!0}),(r,s)=>{const o=ff("router-view");return Ya(),Ja(o)}}}),Vo=e=>e,Gg=Vo,um=Vo,fm=Vo,Ls=fm(()=>Qp());const wn=typeof document<"u";function $c(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function dm(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&$c(e.default)}const oe=Object.assign;function Os(e,t){const n={};for(const r in t){const s=t[r];n[r]=ct(s)?s.map(e):e(s)}return n}const Jn=()=>{},ct=Array.isArray;function Cl(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}let ge=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Uc=Symbol("");ge.MATCHER_NOT_FOUND+"",ge.NAVIGATION_GUARD_REDIRECT+"",ge.NAVIGATION_ABORTED+"",ge.NAVIGATION_CANCELLED+"",ge.NAVIGATION_DUPLICATED+"";function Nn(e,t){return oe(new Error,{type:e,[Uc]:!0},t)}function Nt(e,t){return e instanceof Error&&Uc in e&&(t==null||!!(e.type&t))}const hm=["params","query","hash"];function pm(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of hm)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}const mm=Symbol(""),wl=Symbol(""),Ho=Symbol(""),Wo=Symbol(""),ao=Symbol("");function qg(e){return et(Wo)}const jc=/#/g,gm=/&/g,_m=/\//g,bm=/=/g,ym=/\?/g,Vc=/\+/g,vm=/%5B/g,Em=/%5D/g,Hc=/%5E/g,Sm=/%60/g,Wc=/%7B/g,Cm=/%7C/g,Bc=/%7D/g,wm=/%20/g;function Bo(e){return e==null?"":encodeURI(""+e).replace(Cm,"|").replace(vm,"[").replace(Em,"]")}function Am(e){return Bo(e).replace(Wc,"{").replace(Bc,"}").replace(Hc,"^")}function co(e){return Bo(e).replace(Vc,"%2B").replace(wm,"+").replace(jc,"%23").replace(gm,"%26").replace(Sm,"`").replace(Wc,"{").replace(Bc,"}").replace(Hc,"^")}function Tm(e){return co(e).replace(bm,"%3D")}function Rm(e){return Bo(e).replace(jc,"%23").replace(ym,"%3F")}function Pm(e){return Rm(e).replace(_m,"%2F")}function ar(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Lm=/\/$/,Om=e=>e.replace(Lm,"");function Ns(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(r=t.slice(0,a),o=t.slice(a,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=km(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:ar(i)}}function Nm(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Al(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Im(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&In(t.matched[r],n.matched[s])&&Kc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function In(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!xm(e[n],t[n]))return!1;return!0}function xm(e,t){return ct(e)?Tl(e,t):ct(t)?Tl(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function Tl(e,t){return ct(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function km(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const Yt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let uo=(function(e){return e.pop="pop",e.push="push",e})({}),Is=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Dm(e){if(!e)if(wn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Om(e)}const Mm=/^[^#]+#/;function Fm(e,t){return e.replace(Mm,"#")+t}function $m(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 as=()=>({left:window.scrollX,top:window.scrollY});function Um(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=$m(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Rl(e,t){return(history.state?history.state.position-t:-1)+e}const fo=new Map;function jm(e,t){fo.set(e,t)}function Vm(e){const t=fo.get(e);return fo.delete(e),t}function Hm(e){return typeof e=="string"||e&&typeof e=="object"}function Gc(e){return typeof e=="string"||typeof e=="symbol"}function Wm(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&co(s)):[r&&co(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Bm(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=ct(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Un(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function zt(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,a)=>{const c=d=>{d===!1?a(Nn(ge.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?a(d):Hm(d)?a(Nn(ge.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(i&&r.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),l())},u=o(()=>e.call(r&&r.instances[s],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>a(d))})}function xs(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if($c(a)){const c=(a.__vccOpts||a)[t];c&&o.push(zt(c,n,r,i,l,s))}else{let c=a();o.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=dm(u)?u.default:u;i.mods[l]=u,i.components[l]=f;const d=(f.__vccOpts||f)[t];return d&&zt(d,n,r,i,l,s)()}))}}return o}function Km(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iIn(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>In(c,a))||s.push(a))}return[n,r,s]}let Gm=()=>location.protocol+"//"+location.host;function qc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),Al(l,"")}return Al(n,e)+r+s}function qm(e,t,n,r){let s=[],o=[],i=null;const l=({state:d})=>{const _=qc(e,location),A=n.value,T=t.value;let N=0;if(d){if(n.value=_,t.value=d,i&&i===A){i=null;return}N=T?d.position-T.position:0}else r(_);s.forEach(b=>{b(n.value,A,{delta:N,type:uo.pop,direction:N?N>0?Is.forward:Is.back:Is.unknown})})};function a(){i=n.value}function c(d){s.push(d);const _=()=>{const A=s.indexOf(d);A>-1&&s.splice(A,1)};return o.push(_),_}function u(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(oe({},d.state,{scroll:as()}),"")}}function f(){for(const d of o)d();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:a,listen:c,destroy:f}}function Ll(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?as():null}}function Ym(e){const{history:t,location:n}=window,r={value:qc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Gm()+e+a;try{t[u?"replaceState":"pushState"](c,"",d),s.value=c}catch(_){console.error(_),n[u?"replace":"assign"](d)}}function i(a,c){o(a,oe({},t.state,Ll(s.value.back,a,s.value.forward,!0),c,{position:s.value.position}),!0),r.value=a}function l(a,c){const u=oe({},s.value,t.state,{forward:a,scroll:as()});o(u.current,u,!0),o(a,oe({},Ll(r.value,a,null),{position:u.position+1},c),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Xm(e){e=Dm(e);const t=Ym(e),n=qm(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Fm.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let fn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Ee=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Ee||{});const Jm={type:fn.Static,value:""},Qm=/[a-zA-Z0-9_]/;function zm(e){if(!e)return[[]];if(e==="/")return[[Jm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(_){throw new Error(`ERR (${n})/"${c}": ${_}`)}let n=Ee.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,c="",u="";function f(){c&&(n===Ee.Static?o.push({type:fn.Static,value:c}):n===Ee.Param||n===Ee.ParamRegExp||n===Ee.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:fn.Param,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=a}for(;lt.length?t.length===1&&t[0]===Me.Static+Me.Segment?1:-1:0}function Yc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const rg={strict:!1,end:!0,sensitive:!1};function sg(e,t,n){const r=tg(zm(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function og(e,t){const n=[],r=new Map;t=Cl(rg,t);function s(f){return r.get(f)}function o(f,d,_){const A=!_,T=xl(f);T.aliasOf=_&&_.record;const N=Cl(t,f),b=[T];if("alias"in f){const w=typeof f.alias=="string"?[f.alias]:f.alias;for(const I of w)b.push(xl(oe({},T,{components:_?_.record.components:T.components,path:I,aliasOf:_?_.record:T})))}let E,R;for(const w of b){const{path:I}=w;if(d&&I[0]!=="/"){const $=d.record.path,L=$[$.length-1]==="/"?"":"/";w.path=d.record.path+(I&&L+I)}if(E=sg(w,d,N),_?_.alias.push(E):(R=R||E,R!==E&&R.alias.push(E),A&&f.name&&!kl(E)&&i(f.name)),Xc(E)&&a(E),T.children){const $=T.children;for(let L=0;L<$.length;L++)o($[L],E,_&&_.children[L])}_=_||E}return R?()=>{i(R)}:Jn}function i(f){if(Gc(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function a(f){const d=ag(f,n);n.splice(d,0,f),f.record.name&&!kl(f)&&r.set(f.record.name,f)}function c(f,d){let _,A={},T,N;if("name"in f&&f.name){if(_=r.get(f.name),!_)throw Nn(ge.MATCHER_NOT_FOUND,{location:f});N=_.record.name,A=oe(Il(d.params,_.keys.filter(R=>!R.optional).concat(_.parent?_.parent.keys.filter(R=>R.optional):[]).map(R=>R.name)),f.params&&Il(f.params,_.keys.map(R=>R.name))),T=_.stringify(A)}else if(f.path!=null)T=f.path,_=n.find(R=>R.re.test(T)),_&&(A=_.parse(T),N=_.record.name);else{if(_=d.name?r.get(d.name):n.find(R=>R.re.test(d.path)),!_)throw Nn(ge.MATCHER_NOT_FOUND,{location:f,currentLocation:d});N=_.record.name,A=oe({},d.params,f.params),T=_.stringify(A)}const b=[];let E=_;for(;E;)b.unshift(E.record),E=E.parent;return{name:N,path:T,params:A,matched:b,meta:lg(b)}}e.forEach(f=>o(f));function u(){n.length=0,r.clear()}return{addRoute:o,resolve:c,removeRoute:i,clearRoutes:u,getRoutes:l,getRecordMatcher:s}}function Il(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function xl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ig(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 ig(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function kl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function lg(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function ag(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;Yc(e,t[o])<0?r=o:n=o+1}const s=cg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function cg(e){let t=e;for(;t=t.parent;)if(Xc(t)&&Yc(e,t)===0)return t}function Xc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Dl(e){const t=et(Ho),n=et(Wo),r=Ae(()=>{const a=hn(e.to);return t.resolve(a)}),s=Ae(()=>{const{matched:a}=r.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(In.bind(null,u));if(d>-1)return d;const _=Ml(a[c-2]);return c>1&&Ml(u)===_&&f[f.length-1].path!==_?f.findIndex(In.bind(null,a[c-2])):d}),o=Ae(()=>s.value>-1&&pg(n.params,r.value.params)),i=Ae(()=>s.value>-1&&s.value===n.matched.length-1&&Kc(n.params,r.value.params));function l(a={}){if(hg(a)){const c=t[hn(e.replace)?"replace":"push"](hn(e.to)).catch(Jn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:Ae(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function ug(e){return e.length===1?e[0]:e}const fg=bn({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:Dl,setup(e,{slots:t}){const n=_n(Dl(e)),{options:r}=et(Ho),s=Ae(()=>({[Fl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Fl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&ug(t.default(n));return e.custom?o:hr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),dg=fg;function hg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function pg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ct(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Ml(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Fl=(e,t,n)=>e??t??n,mg=bn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=et(ao),s=Ae(()=>e.route||r.value),o=et(wl,0),i=Ae(()=>{let c=hn(o);const{matched:u}=s.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=Ae(()=>s.value.matched[i.value]);Sr(wl,Ae(()=>i.value+1)),Sr(mm,l),Sr(ao,s);const a=Jr();return Vt(()=>[a.value,l.value,e.name],([c,u,f],[d,_,A])=>{u&&(u.instances[f]=c,_&&_!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=_.leaveGuards),u.updateGuards.size||(u.updateGuards=_.updateGuards))),c&&u&&(!_||!In(u,_)||!d)&&(u.enterCallbacks[f]||[]).forEach(T=>T(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,f=l.value,d=f&&f.components[u];if(!d)return $l(n.default,{Component:d,route:c});const _=f.props[u],A=_?_===!0?c.params:typeof _=="function"?_(c):_:null,N=hr(d,oe({},A,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return $l(n.default,{Component:N,route:c})||N}}});function $l(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const gg=mg;function _g(e){const t=og(e.routes,e),n=e.parseQuery||Wm,r=e.stringifyQuery||Pl,s=e.history,o=Un(),i=Un(),l=Un(),a=fa(Yt);let c=Yt;wn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Os.bind(null,k=>""+k),f=Os.bind(null,Pm),d=Os.bind(null,ar);function _(k,W){let j,G;return Gc(k)?(j=t.getRecordMatcher(k),G=W):G=k,t.addRoute(G,j)}function A(k){const W=t.getRecordMatcher(k);W&&t.removeRoute(W)}function T(){return t.getRoutes().map(k=>k.record)}function N(k){return!!t.getRecordMatcher(k)}function b(k,W){if(W=oe({},W||a.value),typeof k=="string"){const S=Ns(n,k,W.path),O=t.resolve({path:S.path},W),D=s.createHref(S.fullPath);return oe(S,O,{params:d(O.params),hash:ar(S.hash),redirectedFrom:void 0,href:D})}let j;if(k.path!=null)j=oe({},k,{path:Ns(n,k.path,W.path).path});else{const S=oe({},k.params);for(const O in S)S[O]==null&&delete S[O];j=oe({},k,{params:f(S)}),W.params=f(W.params)}const G=t.resolve(j,W),ee=k.hash||"";G.params=u(d(G.params));const m=Nm(r,oe({},k,{hash:Am(ee),path:G.path})),g=s.createHref(m);return oe({fullPath:m,hash:ee,query:r===Pl?Bm(k.query):k.query||{}},G,{redirectedFrom:void 0,href:g})}function E(k){return typeof k=="string"?Ns(n,k,a.value.path):oe({},k)}function R(k,W){if(c!==k)return Nn(ge.NAVIGATION_CANCELLED,{from:W,to:k})}function w(k){return L(k)}function I(k){return w(oe(E(k),{replace:!0}))}function $(k,W){const j=k.matched[k.matched.length-1];if(j&&j.redirect){const{redirect:G}=j;let ee=typeof G=="function"?G(k,W):G;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=E(ee):{path:ee},ee.params={}),oe({query:k.query,hash:k.hash,params:ee.path!=null?{}:k.params},ee)}}function L(k,W){const j=c=b(k),G=a.value,ee=k.state,m=k.force,g=k.replace===!0,S=$(j,G);if(S)return L(oe(E(S),{state:typeof S=="object"?oe({},ee,S.state):ee,force:m,replace:g}),W||j);const O=j;O.redirectedFrom=W;let D;return!m&&Im(r,G,j)&&(D=Nn(ge.NAVIGATION_DUPLICATED,{to:O,from:G}),ke(G,G,!0,!1)),(D?Promise.resolve(D):B(O,G)).catch(x=>Nt(x)?Nt(x,ge.NAVIGATION_GUARD_REDIRECT)?x:Ke(x):ne(x,O,G)).then(x=>{if(x){if(Nt(x,ge.NAVIGATION_GUARD_REDIRECT))return L(oe({replace:g},E(x.to),{state:typeof x.to=="object"?oe({},ee,x.to.state):ee,force:m}),W||O)}else x=U(O,G,!0,g,ee);return X(O,G,x),x})}function H(k,W){const j=R(k,W);return j?Promise.reject(j):Promise.resolve()}function M(k){const W=ft.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(k):k()}function B(k,W){let j;const[G,ee,m]=Km(k,W);j=xs(G.reverse(),"beforeRouteLeave",k,W);for(const S of G)S.leaveGuards.forEach(O=>{j.push(zt(O,k,W))});const g=H.bind(null,k,W);return j.push(g),Te(j).then(()=>{j=[];for(const S of o.list())j.push(zt(S,k,W));return j.push(g),Te(j)}).then(()=>{j=xs(ee,"beforeRouteUpdate",k,W);for(const S of ee)S.updateGuards.forEach(O=>{j.push(zt(O,k,W))});return j.push(g),Te(j)}).then(()=>{j=[];for(const S of m)if(S.beforeEnter)if(ct(S.beforeEnter))for(const O of S.beforeEnter)j.push(zt(O,k,W));else j.push(zt(S.beforeEnter,k,W));return j.push(g),Te(j)}).then(()=>(k.matched.forEach(S=>S.enterCallbacks={}),j=xs(m,"beforeRouteEnter",k,W,M),j.push(g),Te(j))).then(()=>{j=[];for(const S of i.list())j.push(zt(S,k,W));return j.push(g),Te(j)}).catch(S=>Nt(S,ge.NAVIGATION_CANCELLED)?S:Promise.reject(S))}function X(k,W,j){l.list().forEach(G=>M(()=>G(k,W,j)))}function U(k,W,j,G,ee){const m=R(k,W);if(m)return m;const g=W===Yt,S=wn?history.state:{};j&&(G||g?s.replace(k.fullPath,oe({scroll:g&&S&&S.scroll},ee)):s.push(k.fullPath,ee)),a.value=k,ke(k,W,j,g),Ke()}let Z;function de(){Z||(Z=s.listen((k,W,j)=>{if(!dt.listening)return;const G=b(k),ee=$(G,dt.currentRoute.value);if(ee){L(oe(ee,{replace:!0,force:!0}),G).catch(Jn);return}c=G;const m=a.value;wn&&jm(Rl(m.fullPath,j.delta),as()),B(G,m).catch(g=>Nt(g,ge.NAVIGATION_ABORTED|ge.NAVIGATION_CANCELLED)?g:Nt(g,ge.NAVIGATION_GUARD_REDIRECT)?(L(oe(E(g.to),{force:!0}),G).then(S=>{Nt(S,ge.NAVIGATION_ABORTED|ge.NAVIGATION_DUPLICATED)&&!j.delta&&j.type===uo.pop&&s.go(-1,!1)}).catch(Jn),Promise.reject()):(j.delta&&s.go(-j.delta,!1),ne(g,G,m))).then(g=>{g=g||U(G,m,!1),g&&(j.delta&&!Nt(g,ge.NAVIGATION_CANCELLED)?s.go(-j.delta,!1):j.type===uo.pop&&Nt(g,ge.NAVIGATION_ABORTED|ge.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),X(G,m,g)}).catch(Jn)}))}let ye=Un(),se=Un(),J;function ne(k,W,j){Ke(k);const G=se.list();return G.length?G.forEach(ee=>ee(k,W,j)):console.error(k),Promise.reject(k)}function ve(){return J&&a.value!==Yt?Promise.resolve():new Promise((k,W)=>{ye.add([k,W])})}function Ke(k){return J||(J=!k,de(),ye.list().forEach(([W,j])=>k?j(k):W()),ye.reset()),k}function ke(k,W,j,G){const{scrollBehavior:ee}=e;if(!wn||!ee)return Promise.resolve();const m=!j&&Vm(Rl(k.fullPath,0))||(G||!j)&&history.state&&history.state.scroll||null;return wo().then(()=>ee(k,W,m)).then(g=>g&&Um(g)).catch(g=>ne(g,k,W))}const Ce=k=>s.go(k);let ut;const ft=new Set,dt={currentRoute:a,listening:!0,addRoute:_,removeRoute:A,clearRoutes:t.clearRoutes,hasRoute:N,getRoutes:T,resolve:b,options:e,push:w,replace:I,go:Ce,back:()=>Ce(-1),forward:()=>Ce(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:se.add,isReady:ve,install(k){k.component("RouterLink",dg),k.component("RouterView",gg),k.config.globalProperties.$router=dt,Object.defineProperty(k.config.globalProperties,"$route",{enumerable:!0,get:()=>hn(a)}),wn&&!ut&&a.value===Yt&&(ut=!0,w(s.location).catch(G=>{}));const W={};for(const G in Yt)Object.defineProperty(W,G,{get:()=>a.value[G],enumerable:!0});k.provide(Ho,dt),k.provide(Wo,ua(W)),k.provide(ao,a);const j=k.unmount;ft.add(k),k.unmount=function(){ft.delete(k),ft.size<1&&(c=Yt,Z&&Z(),Z=null,a.value=Yt,ut=!1,J=!1),j()}}};function Te(k){return k.reduce((W,j)=>W.then(()=>M(j)),Promise.resolve())}return dt}const bg=[{path:"/",component:()=>It(()=>import("./MainLayout-Dnh2wyjy.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])),children:[{path:"",component:()=>It(()=>import("./IndexPage-VdxnZT-U.js"),__vite__mapDeps([14,15,2,6,1,11,5,16,17,12,18]))}]},{path:"/dev",component:()=>It(()=>import("./DevLayout-NkVPqUIU.js"),__vite__mapDeps([19,1,2,3,4,5,6,11,9])),children:[{path:"",component:()=>It(()=>import("./IndexPage-C3QXgr9t.js"),__vite__mapDeps([20,17,2]))},{path:"reset-password",component:()=>It(()=>import("./ResetPasswordPage-DM3gheQo.js"),__vite__mapDeps([21,15,2,6,22,23,8,1,16,17,12,24]))},{path:"api/endpoints",component:()=>It(()=>import("./ApiEndpointsPage-DOm_uCJI.js"),__vite__mapDeps([25,2,15,6,22,23,8,1,16,10,4,11,17,12,26]))},{path:"api/mail-debug",component:()=>It(()=>import("./MailDebugPage-dW3_TCwt.js"),__vite__mapDeps([27,1,2,7,8,6,5,9,4,10,11,15,22,17,12,28]))}]},{path:"/:catchAll(.*)*",component:()=>It(()=>import("./ErrorNotFound-CYezCx4W.js"),__vite__mapDeps([29,1,2]))}],ks=um(function(){return _g({scrollBehavior:()=>({left:0,top:0}),routes:bg,history:Xm("/")})});async function yg(e,t){const n=e(cm);n.use(eh,t);const r=typeof Ls=="function"?await Ls({}):Ls;n.use(r);const s=xn(typeof ks=="function"?await ks({store:r}):ks);return r.use(({store:o})=>{o.router=s}),{app:n,store:r,router:s}}const vg={config:{}},Eg="/";async function Sg({app:e,router:t,store:n},r){let s=!1;const o=a=>{try{return t.resolve(a).href}catch{}return Object(a)===a?null:a},i=a=>{if(s=!0,typeof a=="string"&&/^https?:\/\//.test(a)){window.location.href=a;return}const c=o(a);c!==null&&(window.location.href=c)},l=window.location.href.replace(window.location.origin,"");for(let a=0;s===!1&&a{const[t,n]=Promise.allSettled!==void 0?["allSettled",r=>r.map(s=>{if(s.status==="rejected"){console.error("[Quasar] boot error:",s.reason);return}return s.value.default})]:["all",r=>r.map(s=>s.default)];return Promise[t]([It(()=>import("./i18n-CQXJXuD5.js"),[])]).then(r=>{const s=n(r).filter(o=>typeof o=="function");Sg(e,s)})});export{Ze as $,ts as A,Ng as B,Ug as C,Ct as D,Fg as E,sr as F,$g as G,xg as H,Mi as I,Dg as J,Ig as K,Mg as L,et as M,Bg as N,Vg as O,wo as P,Na as Q,wg as R,Ln as S,Lg as T,Sr as U,Hg as V,Ro as W,_n as X,qg as Y,Pg as Z,jg as _,bn as a,Tg as a0,jd as a1,Io as a2,Jd as a3,Md as a4,nf as a5,ef as a6,Zu as a7,Cs as a8,rf as a9,sf as aa,Xs as ab,ji as ac,Ag as ad,Yd as ae,kg as af,Wg as ag,ff as b,Kg as c,Gg as d,Ja as e,He as f,Wf as g,za as h,hn as i,Hf as j,Rg as k,im as l,Gr as m,Cg as n,Ya as o,Ae as p,Jr as q,lm as r,Og as s,fu as t,am as u,mn as v,Bu as w,To as x,hr as y,Vt as z}; diff --git a/backend/internal/http/static/spa/assets/render-B4qP-w0Q.js b/backend/internal/http/static/spa/assets/render-B4qP-w0Q.js deleted file mode 100644 index 0428b19..0000000 --- a/backend/internal/http/static/spa/assets/render-B4qP-w0Q.js +++ /dev/null @@ -1 +0,0 @@ -import{y as c,R as f}from"./index-QUdrNkKl.js";function v(n,i){return n!==void 0&&n()||i}function d(n,i){if(n!==void 0){const r=n();if(r!=null)return r.slice()}return i}function h(n,i){return n!==void 0?i.concat(n()):i}function S(n,i){return n===void 0?i:i!==void 0?i.concat(n()):n()}function l(n,i,r,o,t,u){i.key=o+t;const e=c(n,i,r);return t===!0?f(e,u()):e}export{S as a,l as b,d as c,h as d,v as h}; diff --git a/backend/internal/http/static/spa/assets/touch-BjYP5sR0.js b/backend/internal/http/static/spa/assets/touch-BjYP5sR0.js new file mode 100644 index 0000000..058ad29 --- /dev/null +++ b/backend/internal/http/static/spa/assets/touch-BjYP5sR0.js @@ -0,0 +1 @@ +const r={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},o=Object.keys(r);r.all=!0;function n(t){const e={};for(const i of o)t[i]===!0&&(e[i]=!0);return Object.keys(e).length===0?r:(e.horizontal===!0?e.left=e.right=!0:e.left===!0&&e.right===!0&&(e.horizontal=!0),e.vertical===!0?e.up=e.down=!0:e.up===!0&&e.down===!0&&(e.vertical=!0),e.horizontal===!0&&e.vertical===!0&&(e.all=!0),e)}const u=["INPUT","TEXTAREA"];function l(t,e){return e.event===void 0&&t.target!==void 0&&t.target.draggable!==!0&&typeof e.handler=="function"&&u.includes(t.target.nodeName.toUpperCase())===!1&&(t.qClonedBy===void 0||t.qClonedBy.indexOf(e.uid)===-1)}export{n as g,l as s}; diff --git a/backend/internal/http/static/spa/assets/use-dark-BRt0_t6X.js b/backend/internal/http/static/spa/assets/use-dark-BRt0_t6X.js deleted file mode 100644 index 507d597..0000000 --- a/backend/internal/http/static/spa/assets/use-dark-BRt0_t6X.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e}from"./index-QUdrNkKl.js";const u={dark:{type:Boolean,default:null}};function o(a,r){return e(()=>a.dark===null?r.dark.isActive:a.dark)}export{o as a,u}; diff --git a/backend/internal/http/static/spa/assets/use-key-composition-TTwP9QMZ.js b/backend/internal/http/static/spa/assets/use-key-composition-TTwP9QMZ.js deleted file mode 100644 index cc3901f..0000000 --- a/backend/internal/http/static/spa/assets/use-key-composition-TTwP9QMZ.js +++ /dev/null @@ -1 +0,0 @@ -import{v as de,q as g,x as K,z as x,p as i,A as E,a9 as fe,M as ce,ag as ve,Q as N,a4 as pe,a2 as me,L as ge,P as be,a6 as he,a7 as ye,y as a,I as $,T as Ce,D as qe}from"./index-QUdrNkKl.js";import{b as X,a as xe}from"./QBtn-AYMizH8c.js";import{u as _e,a as Se}from"./use-dark-BRt0_t6X.js";import{h as P}from"./render-B4qP-w0Q.js";let L,M=0;const d=new Array(256);for(let e=0;e<256;e++)d[e]=(e+256).toString(16).substring(1);const we=(()=>{const e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(e!==void 0){if(e.randomBytes!==void 0)return e.randomBytes;if(e.getRandomValues!==void 0)return o=>{const t=new Uint8Array(o);return e.getRandomValues(t),t}}return o=>{const t=[];for(let n=o;n>0;n--)t.push(Math.floor(Math.random()*256));return t}})(),Y=4096;function H(){(L===void 0||M+16>Y)&&(M=0,L=we(Y));const e=Array.prototype.slice.call(L,M,M+=16);return e[6]=e[6]&15|64,e[8]=e[8]&63|128,d[e[0]]+d[e[1]]+d[e[2]]+d[e[3]]+"-"+d[e[4]]+d[e[5]]+"-"+d[e[6]]+d[e[7]]+"-"+d[e[8]]+d[e[9]]+"-"+d[e[10]]+d[e[11]]+d[e[12]]+d[e[13]]+d[e[14]]+d[e[15]]}function Be(e){return e??null}function ee(e,o){return e??(o===!0?`f_${H()}`:null)}function Fe({getValue:e,required:o=!0}={}){if(de.value===!0){const t=e!==void 0?g(Be(e())):g(null);return o===!0&&t.value===null&&K(()=>{t.value=`f_${H()}`}),e!==void 0&&x(e,n=>{t.value=ee(n,o)}),t}return e!==void 0?i(()=>ee(e(),o)):g(`f_${H()}`)}const oe=/^on[A-Z]/;function Re(){const{attrs:e,vnode:o}=E(),t={listeners:g({}),attributes:g({})};function n(){const c={},s={};for(const r in e)r!=="class"&&r!=="style"&&oe.test(r)===!1&&(c[r]=e[r]);for(const r in o.props)oe.test(r)===!0&&(s[r]=o.props[r]);t.attributes.value=c,t.listeners.value=s}return fe(n),n(),t}function Ae({validate:e,resetValidation:o,requiresQForm:t}){const n=ce(ve,!1);if(n!==!1){const{props:c,proxy:s}=E();Object.assign(s,{validate:e,resetValidation:o}),x(()=>c.disable,r=>{r===!0?(typeof o=="function"&&o(),n.unbindComponent(s)):n.bindComponent(s)}),K(()=>{c.disable!==!0&&n.bindComponent(s)}),N(()=>{c.disable!==!0&&n.unbindComponent(s)})}else t===!0&&console.error("Parent QForm not found on useFormChild()!")}const te=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,le=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,ne=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,O=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,D=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,j={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>te.test(e),hexaColor:e=>le.test(e),hexOrHexaColor:e=>ne.test(e),rgbColor:e=>O.test(e),rgbaColor:e=>D.test(e),rgbOrRgbaColor:e=>O.test(e)||D.test(e),hexOrRgbColor:e=>te.test(e)||O.test(e),hexaOrRgbaColor:e=>le.test(e)||D.test(e),anyColor:e=>ne.test(e)||O.test(e)||D.test(e)},Ve=[!0,!1,"ondemand"],$e={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],default:!1,validator:e=>Ve.includes(e)}};function ke(e,o){const{props:t,proxy:n}=E(),c=g(!1),s=g(null),r=g(!1);Ae({validate:B,resetValidation:w});let v=0,h;const A=i(()=>t.rules!==void 0&&t.rules!==null&&t.rules.length!==0),b=i(()=>t.disable!==!0&&A.value===!0&&o.value===!1),S=i(()=>t.error===!0||c.value===!0),z=i(()=>typeof t.errorMessage=="string"&&t.errorMessage.length!==0?t.errorMessage:s.value);x(()=>t.modelValue,()=>{r.value=!0,b.value===!0&&t.lazyRules===!1&&C()});function V(){t.lazyRules!=="ondemand"&&b.value===!0&&r.value===!0&&C()}x(()=>t.reactiveRules,y=>{y===!0?h===void 0&&(h=x(()=>t.rules,V,{immediate:!0,deep:!0})):h!==void 0&&(h(),h=void 0)},{immediate:!0}),x(()=>t.lazyRules,V),x(e,y=>{y===!0?r.value=!0:b.value===!0&&t.lazyRules!=="ondemand"&&C()});function w(){v++,o.value=!1,r.value=!1,c.value=!1,s.value=null,C.cancel()}function B(y=t.modelValue){if(t.disable===!0||A.value===!1)return!0;const F=++v,T=o.value!==!0?()=>{r.value=!0}:()=>{},q=(f,p)=>{f===!0&&T(),c.value=f,s.value=p||null,o.value=!1},R=[];for(let f=0;f{if(f===void 0||Array.isArray(f)===!1||f.length===0)return F===v&&q(!1),!0;const p=f.find(m=>m===!1||typeof m=="string");return F===v&&q(p!==void 0,p),p===void 0},f=>(F===v&&(console.error(f),q(!0)),!1)))}const C=pe(B,0);return N(()=>{h?.(),C.cancel()}),Object.assign(n,{resetValidation:w,validate:B}),me(n,"hasError",()=>S.value),{isDirtyModel:r,hasRules:A,hasError:S,errorMessage:z,validate:B,resetValidation:w}}let _=[],k=[];function re(e){k=k.filter(o=>o!==e)}function Ke(e){re(e),k.push(e)}function Ne(e){re(e),k.length===0&&_.length!==0&&(_[_.length-1](),_=[])}function Ee(e){k.length===0?e():_.push(e)}function Ie(e){_=_.filter(o=>o!==e)}function Pe(e){return e!=null&&(""+e).length!==0}const Me={..._e,...$e,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String},Qe={...Me,maxlength:[Number,String]},Ze=["update:modelValue","clear","focus","blur"];function We({requiredForAttr:e=!0,tagProp:o,changeEvent:t=!1}={}){const{props:n,proxy:c}=E(),s=Se(n,c.$q),r=Fe({required:e,getValue:()=>n.for});return{requiredForAttr:e,changeEvent:t,tag:o===!0?i(()=>n.tag):{value:"label"},isDark:s,editable:i(()=>n.disable!==!0&&n.readonly!==!0),innerLoading:g(!1),focused:g(!1),hasPopupOpen:!1,splitAttrs:Re(),targetUid:r,rootRef:g(null),targetRef:g(null),controlRef:g(null)}}function Je(e){const{props:o,emit:t,slots:n,attrs:c,proxy:s}=E(),{$q:r}=s;let v=null;e.hasValue===void 0&&(e.hasValue=i(()=>Pe(o.modelValue))),e.emitValue===void 0&&(e.emitValue=l=>{t("update:modelValue",l)}),e.controlEvents===void 0&&(e.controlEvents={onFocusin:Q,onFocusout:Z}),Object.assign(e,{clearValue:U,onControlFocusin:Q,onControlFocusout:Z,focus:p}),e.computedCounter===void 0&&(e.computedCounter=i(()=>{if(o.counter!==!1){const l=typeof o.modelValue=="string"||typeof o.modelValue=="number"?(""+o.modelValue).length:Array.isArray(o.modelValue)===!0?o.modelValue.length:0,u=o.maxlength!==void 0?o.maxlength:o.maxValues;return l+(u!==void 0?" / "+u:"")}}));const{isDirtyModel:h,hasRules:A,hasError:b,errorMessage:S,resetValidation:z}=ke(e.focused,e.innerLoading),V=e.floatingLabel!==void 0?i(()=>o.stackLabel===!0||e.focused.value===!0||e.floatingLabel.value===!0):i(()=>o.stackLabel===!0||e.focused.value===!0||e.hasValue.value===!0),w=i(()=>o.bottomSlots===!0||o.hint!==void 0||A.value===!0||o.counter===!0||o.error!==null),B=i(()=>o.filled===!0?"filled":o.outlined===!0?"outlined":o.borderless===!0?"borderless":o.standout?"standout":"standard"),C=i(()=>`q-field row no-wrap items-start q-field--${B.value}`+(e.fieldClass!==void 0?` ${e.fieldClass.value}`:"")+(o.rounded===!0?" q-field--rounded":"")+(o.square===!0?" q-field--square":"")+(V.value===!0?" q-field--float":"")+(F.value===!0?" q-field--labeled":"")+(o.dense===!0?" q-field--dense":"")+(o.itemAligned===!0?" q-field--item-aligned q-item-type":"")+(e.isDark.value===!0?" q-field--dark":"")+(e.getControl===void 0?" q-field--auto-height":"")+(e.focused.value===!0?" q-field--focused":"")+(b.value===!0?" q-field--error":"")+(b.value===!0||e.focused.value===!0?" q-field--highlighted":"")+(o.hideBottomSpace!==!0&&w.value===!0?" q-field--with-bottom":"")+(o.disable===!0?" q-field--disabled":o.readonly===!0?" q-field--readonly":"")),y=i(()=>"q-field__control relative-position row no-wrap"+(o.bgColor!==void 0?` bg-${o.bgColor}`:"")+(b.value===!0?" text-negative":typeof o.standout=="string"&&o.standout.length!==0&&e.focused.value===!0?` ${o.standout}`:o.color!==void 0?` text-${o.color}`:"")),F=i(()=>o.labelSlot===!0||o.label!==void 0),T=i(()=>"q-field__label no-pointer-events absolute ellipsis"+(o.labelColor!==void 0&&b.value!==!0?` text-${o.labelColor}`:"")),q=i(()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:V.value,modelValue:o.modelValue,emitValue:e.emitValue})),R=i(()=>{const l={};return e.targetUid.value&&(l.for=e.targetUid.value),o.disable===!0&&(l["aria-disabled"]="true"),l});function f(){const l=document.activeElement;let u=e.targetRef?.value;u&&(l===null||l.id!==e.targetUid.value)&&(u.hasAttribute("tabindex")===!0||(u=u.querySelector("[tabindex]")),u!==l&&u?.focus({preventScroll:!0}))}function p(){Ee(f)}function m(){Ie(f);const l=document.activeElement;l!==null&&e.rootRef.value.contains(l)&&l.blur()}function Q(l){v!==null&&(clearTimeout(v),v=null),e.editable.value===!0&&e.focused.value===!1&&(e.focused.value=!0,t("focus",l))}function Z(l,u){v!==null&&clearTimeout(v),v=setTimeout(()=>{v=null,!(document.hasFocus()===!0&&(e.hasPopupOpen===!0||e.controlRef===void 0||e.controlRef.value===null||e.controlRef.value.contains(document.activeElement)!==!1))&&(e.focused.value===!0&&(e.focused.value=!1,t("blur",l)),u?.())})}function U(l){ge(l),r.platform.is.mobile!==!0?(e.targetRef?.value||e.rootRef.value).focus():e.rootRef.value.contains(document.activeElement)===!0&&document.activeElement.blur(),o.type==="file"&&(e.inputRef.value.value=null),t("update:modelValue",null),e.changeEvent===!0&&t("change",null),t("clear",o.modelValue),be(()=>{const u=h.value;z(),h.value=u})}function ue(l){[13,32].includes(l.keyCode)&&U(l)}function ae(){const l=[];return n.prepend!==void 0&&l.push(a("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:$},n.prepend())),l.push(a("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},ie())),b.value===!0&&o.noErrorIcon===!1&&l.push(I("error",[a(X,{name:r.iconSet.field.error,color:"negative"})])),o.loading===!0||e.innerLoading.value===!0?l.push(I("inner-loading-append",n.loading!==void 0?n.loading():[a(xe,{color:o.color})])):o.clearable===!0&&e.hasValue.value===!0&&e.editable.value===!0&&l.push(I("inner-clearable-append",[a(X,{class:"q-field__focusable-action",name:o.clearIcon||r.iconSet.field.clear,tabindex:0,role:"button","aria-hidden":"false","aria-label":r.lang.label.clear,onKeyup:ue,onClick:U})])),n.append!==void 0&&l.push(a("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:$},n.append())),e.getInnerAppend!==void 0&&l.push(I("inner-append",e.getInnerAppend())),e.getControlChild!==void 0&&l.push(e.getControlChild()),l}function ie(){const l=[];return o.prefix!==void 0&&o.prefix!==null&&l.push(a("div",{class:"q-field__prefix no-pointer-events row items-center"},o.prefix)),e.getShadowControl!==void 0&&e.hasShadow.value===!0&&l.push(e.getShadowControl()),F.value===!0&&l.push(a("div",{class:T.value},P(n.label,o.label))),e.getControl!==void 0?l.push(e.getControl()):n.rawControl!==void 0?l.push(n.rawControl()):n.control!==void 0&&l.push(a("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":o.autofocus===!0||void 0},n.control(q.value))),o.suffix!==void 0&&o.suffix!==null&&l.push(a("div",{class:"q-field__suffix no-pointer-events row items-center"},o.suffix)),l.concat(P(n.default))}function se(){let l,u;b.value===!0?S.value!==null?(l=[a("div",{role:"alert"},S.value)],u=`q--slot-error-${S.value}`):(l=P(n.error),u="q--slot-error"):(o.hideHint!==!0||e.focused.value===!0)&&(o.hint!==void 0?(l=[a("div",o.hint)],u=`q--slot-hint-${o.hint}`):(l=P(n.hint),u="q--slot-hint"));const J=o.counter===!0||n.counter!==void 0;if(o.hideBottomSpace===!0&&J===!1&&l===void 0)return;const G=a("div",{key:u,class:"q-field__messages col"},l);return a("div",{class:"q-field__bottom row items-start q-field__bottom--"+(o.hideBottomSpace!==!0?"animated":"stale"),onClick:$},[o.hideBottomSpace===!0?G:a(Ce,{name:"q-transition--field-message"},()=>G),J===!0?a("div",{class:"q-field__counter"},n.counter!==void 0?n.counter():e.computedCounter.value):null])}function I(l,u){return u===null?null:a("div",{key:l,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},u)}let W=!1;return he(()=>{W=!0}),ye(()=>{W===!0&&o.autofocus===!0&&s.focus()}),o.autofocus===!0&&K(()=>{s.focus()}),N(()=>{v!==null&&clearTimeout(v)}),Object.assign(s,{focus:p,blur:m}),function(){const u=e.getControl===void 0&&n.control===void 0?{...e.splitAttrs.attributes.value,"data-autofocus":o.autofocus===!0||void 0,...R.value}:R.value;return a(e.tag.value,{ref:e.rootRef,class:[C.value,c.class],style:c.style,...u},[n.before!==void 0?a("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:$},n.before()):null,a("div",{class:"q-field__inner relative-position col self-stretch"},[a("div",{ref:e.controlRef,class:y.value,tabindex:-1,...e.controlEvents},ae()),w.value===!0?se():null]),n.after!==void 0?a("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:$},n.after()):null])}}const Ge={name:String};function Xe(e){return i(()=>e.name||e.for)}const Oe=/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/,De=/[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u,ze=/[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/,Te=/[a-z0-9_ -]$/i;function Ye(e){return function(t){if(t.type==="compositionend"||t.type==="change"){if(t.target.qComposing!==!0)return;t.target.qComposing=!1,e(t)}else t.type==="compositionupdate"&&t.target.qComposing!==!0&&typeof t.data=="string"&&(qe.is.firefox===!0?Te.test(t.data)===!1:Oe.test(t.data)===!0||De.test(t.data)===!0||ze.test(t.data)===!0)===!0&&(t.target.qComposing=!0)}}export{Ge as a,Qe as b,We as c,Je as d,Ee as e,Pe as f,Ye as g,Xe as h,Ke as i,Ne as r,Ze as u}; diff --git a/backend/internal/http/static/spa/assets/use-prevent-scroll-eZQDeoK_.js b/backend/internal/http/static/spa/assets/use-prevent-scroll-eZQDeoK_.js deleted file mode 100644 index d0399c8..0000000 --- a/backend/internal/http/static/spa/assets/use-prevent-scroll-eZQDeoK_.js +++ /dev/null @@ -1 +0,0 @@ -import{j as O,k as $,l as C}from"./QBtn-AYMizH8c.js";import{z as q,x as B,A as F,P as M,Q as N,ae as W,D as p,S as c,L as _,af as j}from"./index-QUdrNkKl.js";const oe={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},te=["beforeShow","show","beforeHide","hide"];function le({showing:e,canShow:o,hideOnRouteChange:r,handleShow:l,handleHide:i,processOnMount:w}){const n=F(),{props:s,emit:d,proxy:L}=n;let u;function k(t){e.value===!0?g(t):S(t)}function S(t){if(s.disable===!0||t?.qAnchorHandled===!0||o!==void 0&&o(t)!==!0)return;const f=s["onUpdate:modelValue"]!==void 0;f===!0&&(d("update:modelValue",!0),u=t,M(()=>{u===t&&(u=void 0)})),(s.modelValue===null||f===!1)&&V(t)}function V(t){e.value!==!0&&(e.value=!0,d("beforeShow",t),l!==void 0?l(t):d("show",t))}function g(t){if(s.disable===!0)return;const f=s["onUpdate:modelValue"]!==void 0;f===!0&&(d("update:modelValue",!1),u=t,M(()=>{u===t&&(u=void 0)})),(s.modelValue===null||f===!1)&&H(t)}function H(t){e.value!==!1&&(e.value=!1,d("beforeHide",t),i!==void 0?i(t):d("hide",t))}function x(t){s.disable===!0&&t===!0?s["onUpdate:modelValue"]!==void 0&&d("update:modelValue",!1):t===!0!==e.value&&(t===!0?V:H)(u)}q(()=>s.modelValue,x),r!==void 0&&O(n)===!0&&q(()=>L.$route.fullPath,()=>{r.value===!0&&e.value===!0&&g()}),w===!0&&B(()=>{x(s.modelValue)});const P={show:S,hide:g,toggle:k};return Object.assign(L,P),P}const re=[Element,String],D=[null,document,document.body,document.scrollingElement,document.documentElement];function ie(e,o){let r=$(o);if(r===void 0){if(e==null)return window;r=e.closest(".scroll,.scroll-y,.overflow-auto")}return D.includes(r)?window:r}function I(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function K(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}let h;function ne(){if(h!==void 0)return h;const e=document.createElement("p"),o=document.createElement("div");C(e,{width:"100%",height:"200px"}),C(o,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),o.appendChild(e),document.body.appendChild(o);const r=e.offsetWidth;o.style.overflow="scroll";let l=e.offsetWidth;return r===l&&(l=o.clientWidth),o.remove(),h=r-l,h}function Q(e,o=!0){return!e||e.nodeType!==Node.ELEMENT_NODE?!1:o?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"]))}function se(e,o,r){let l;function i(){l!==void 0&&(W.remove(l),l=void 0)}return N(()=>{e.value===!0&&i()}),{removeFromHistory:i,addToHistory(){l={condition:()=>r.value===!0,handler:o},W.add(l)}}}let m=0,b,T,v,E=!1,A,X,Y,a=null;function R(e){G(e)&&_(e)}function G(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;const o=j(e),r=e.shiftKey&&!e.deltaX,l=!r&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),i=r||l?e.deltaY:e.deltaX;for(let w=0;w0&&n.scrollTop+n.clientHeight===n.scrollHeight:i<0&&n.scrollLeft===0?!0:i>0&&n.scrollLeft+n.clientWidth===n.scrollWidth}return!0}function z(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function y(e){E!==!0&&(E=!0,requestAnimationFrame(()=>{E=!1;const{height:o}=e.target,{clientHeight:r,scrollTop:l}=document.scrollingElement;(v===void 0||o!==window.innerHeight)&&(v=r-o,document.scrollingElement.scrollTop=l),l>v&&(document.scrollingElement.scrollTop-=Math.ceil((l-v)/8))}))}function U(e){const o=document.body,r=window.visualViewport!==void 0;if(e==="add"){const{overflowY:l,overflowX:i}=window.getComputedStyle(o);b=K(window),T=I(window),A=o.style.left,X=o.style.top,Y=window.location.href,o.style.left=`-${b}px`,o.style.top=`-${T}px`,i!=="hidden"&&(i==="scroll"||o.scrollWidth>window.innerWidth)&&o.classList.add("q-body--force-scrollbar-x"),l!=="hidden"&&(l==="scroll"||o.scrollHeight>window.innerHeight)&&o.classList.add("q-body--force-scrollbar-y"),o.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,p.is.ios===!0&&(r===!0?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",y,c.passiveCapture),window.visualViewport.addEventListener("scroll",y,c.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",z,c.passiveCapture))}p.is.desktop===!0&&p.is.mac===!0&&window[`${e}EventListener`]("wheel",R,c.notPassive),e==="remove"&&(p.is.ios===!0&&(r===!0?(window.visualViewport.removeEventListener("resize",y,c.passiveCapture),window.visualViewport.removeEventListener("scroll",y,c.passiveCapture)):window.removeEventListener("scroll",z,c.passiveCapture)),o.classList.remove("q-body--prevent-scroll"),o.classList.remove("q-body--force-scrollbar-x"),o.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,o.style.left=A,o.style.top=X,window.location.href===Y&&window.scrollTo(b,T),v=void 0)}function J(e){let o="add";if(e===!0){if(m++,a!==null){clearTimeout(a),a=null;return}if(m>1)return}else{if(m===0||(m--,m>0))return;if(o="remove",p.is.ios===!0&&p.is.nativeMobile===!0){a!==null&&clearTimeout(a),a=setTimeout(()=>{U(o),a=null},100);return}}U(o)}function de(){let e;return{preventBodyScroll(o){o!==e&&(e!==void 0||o===!0)&&(e=o,J(o))}}}export{oe as a,le as b,se as c,de as d,I as e,K as f,ie as g,ne as h,re as s,te as u}; diff --git a/backend/internal/http/static/spa/assets/use-quasar-5x8FEK03.js b/backend/internal/http/static/spa/assets/use-quasar-5x8FEK03.js new file mode 100644 index 0000000..f9effd6 --- /dev/null +++ b/backend/internal/http/static/spa/assets/use-quasar-5x8FEK03.js @@ -0,0 +1 @@ +import{ak as a,bh as r}from"./index-BMUcF_AE.js";function u(){return a(r)}export{u}; diff --git a/backend/internal/http/static/spa/assets/use-timeout-Jkrq6Sig.js b/backend/internal/http/static/spa/assets/use-timeout-Jkrq6Sig.js deleted file mode 100644 index 5663d7d..0000000 --- a/backend/internal/http/static/spa/assets/use-timeout-Jkrq6Sig.js +++ /dev/null @@ -1 +0,0 @@ -import{v as u}from"./QBtn-AYMizH8c.js";import{a6 as i,Q as m,A as s}from"./index-QUdrNkKl.js";function f(){let e=null;const o=s();function t(){e!==null&&(clearTimeout(e),e=null)}return i(t),m(t),{removeTimeout:t,registerTimeout(n,r){t(),u(o)===!1&&(e=setTimeout(()=>{e=null,n()},r))}}}export{f as u}; diff --git a/backend/internal/http/static/spa/index.html b/backend/internal/http/static/spa/index.html index d1c0b74..becb693 100644 --- a/backend/internal/http/static/spa/index.html +++ b/backend/internal/http/static/spa/index.html @@ -1,3 +1,3 @@ -Frontend APP - -
Our Changing Planet
by John Doe
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Title
Subhead
\ No newline at end of file +Frontend APP + +
Il nostro pianeta che cambia
di John Doe
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Titolo
Sottotitolo
\ No newline at end of file diff --git a/backend/internal/http/static/spa/login/index.html b/backend/internal/http/static/spa/login/index.html new file mode 100644 index 0000000..4970347 --- /dev/null +++ b/backend/internal/http/static/spa/login/index.html @@ -0,0 +1,3 @@ +Frontend APP + +
Accesso
Login
Accedi con email e password.


\ No newline at end of file diff --git a/backend/internal/http/static/spa/recoverpassword/index.html b/backend/internal/http/static/spa/recoverpassword/index.html new file mode 100644 index 0000000..0e035d7 --- /dev/null +++ b/backend/internal/http/static/spa/recoverpassword/index.html @@ -0,0 +1,3 @@ +Frontend APP + +
Recupero
Recover password
Invia la mail di recupero password.


\ No newline at end of file diff --git a/backend/internal/http/static/spa/signup/index.html b/backend/internal/http/static/spa/signup/index.html new file mode 100644 index 0000000..0b46e49 --- /dev/null +++ b/backend/internal/http/static/spa/signup/index.html @@ -0,0 +1,3 @@ +Frontend APP + +
Registrazione
Sign up
Crea un nuovo utente.

\ No newline at end of file diff --git a/backend/internal/models/user.go b/backend/internal/models/user.go index cda04c8..1bc2e30 100644 --- a/backend/internal/models/user.go +++ b/backend/internal/models/user.go @@ -81,6 +81,47 @@ func ToUserShort(u *User) UserShort { } } +// UserProfile is the safe full representation of a user returned by CRUD endpoints. +// +// Typescript: interface +type UserProfile struct { + ID int `json:"id"` + Email string `json:"email"` + Name string `json:"name"` + Roles UserRoles `json:"roles"` + Types UserTypes `json:"types"` + Status UserStatus `json:"status"` + ActivatedAt *time.Time `json:"activatedAt" ts:"type=Date"` + UUID string `json:"uuid"` + Details *UserDetails `json:"details"` + Preferences *UserPreferences `json:"preferences"` + Avatar *string `json:"avatar"` + CreatedAt time.Time `json:"createdAt" ts:"type=Date"` + UpdatedAt time.Time `json:"updatedAt" ts:"type=Date"` +} + +// ToUserProfile maps a User to a full response without exposing the password hash. +func ToUserProfile(u *User) UserProfile { + if u == nil { + return UserProfile{} + } + return UserProfile{ + ID: u.ID, + Email: u.Email, + Name: u.Name, + Roles: u.Roles, + Types: u.Types, + Status: u.Status, + ActivatedAt: u.ActivatedAt, + UUID: u.UUID, + Details: u.Details, + Preferences: u.Preferences, + Avatar: u.Avatar, + CreatedAt: u.CreatedAt, + UpdatedAt: u.UpdatedAt, + } +} + // ToUserDetailsShort maps UserDetails to the short version. func ToUserDetailsShort(d *UserDetails) *UserDetailsShort { if d == nil { diff --git a/backend/pkg/ts-rpc/tsApiTemplate.go b/backend/pkg/ts-rpc/tsApiTemplate.go index d3d0357..a70d76c 100644 --- a/backend/pkg/ts-rpc/tsApiTemplate.go +++ b/backend/pkg/ts-rpc/tsApiTemplate.go @@ -182,6 +182,24 @@ export default class Api { } } + async PUT( + url: string, + data: unknown, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const upload = url.includes('/upload/'); + const result = await this.request('PUT', this.apiUrl + url, data, timeout, upload); + + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + async GET( url: string, timeout?: number, @@ -197,6 +215,21 @@ export default class Api { } } + async DELETE( + url: string, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const result = await this.request('DELETE', this.apiUrl + url, null, timeout); + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + async UPLOAD( url: string, data: unknown, diff --git a/backend/pkg/ts-rpc/tsEndpoint.go b/backend/pkg/ts-rpc/tsEndpoint.go index e4c16b7..132afdb 100644 --- a/backend/pkg/ts-rpc/tsEndpoint.go +++ b/backend/pkg/ts-rpc/tsEndpoint.go @@ -61,14 +61,15 @@ func ParseEndpoint(source string, file string, line int) TSEndpoint { } } - if endpoint.Method != "POST" && endpoint.Method != "GET" { + if endpoint.Method != "POST" && endpoint.Method != "GET" && endpoint.Method != "DELETE" && endpoint.Method != "PUT" { exitOnError(fmt.Errorf("wrong endpoint method: %s", s)) } - if endpoint.Method == "GET" && n < 4 { + if (endpoint.Method == "GET" || endpoint.Method == "DELETE") && n < 4 { exitOnError(fmt.Errorf("wrong endpoint number of props: %s", s)) } - if endpoint.Method == "POST" && n < 5 { + + if (endpoint.Method == "POST" || endpoint.Method == "PUT") && n < 5 { exitOnError(fmt.Errorf("wrong endpoint number of props: %s", s)) } @@ -151,11 +152,18 @@ func (e *TSEndpoint) ToTs(pkg string) string { // {{ .E.File }} Line: {{ .E.Line }} {{if eq .E.Method "GET"}}export const {{ .E.Name}} = async ({{range $v := .Params}}{{$v}}{{end}}):Promise<{ data:{{.E.ResponseTs}}; error: Nullable }> => { return await api.GET({{ .Path}}) as { data: {{ .E.ResponseTs}}; error: Nullable }; -}{{end}}{{if eq .E.Method "POST"}}export const {{ .E.Name}} = async (data: {{ .E.RequestTs}}):Promise<{ data:{{.E.ResponseTs}}; error: Nullable }> => { +}{{end}} +{{if eq .E.Method "DELETE"}}export const {{ .E.Name}} = async ({{range $v := .Params}}{{$v}}{{end}}):Promise<{ data:{{.E.ResponseTs}}; error: Nullable }> => { + return await api.DELETE({{ .Path}}) as { data: {{ .E.ResponseTs}}; error: Nullable }; +}{{end}} +{{if eq .E.Method "PUT"}}export const {{ .E.Name}} = async (data: {{ .E.RequestTs}}):Promise<{ data:{{.E.ResponseTs}}; error: Nullable }> => { + return await api.PUT("{{ .Path}}", data) as { data: {{ .E.ResponseTs}}; error: Nullable }; +}{{end}} +{{if eq .E.Method "POST"}}export const {{ .E.Name}} = async (data: {{ .E.RequestTs}}):Promise<{ data:{{.E.ResponseTs}}; error: Nullable }> => { return await api.POST("{{ .Path}}", data) as { data: {{ .E.ResponseTs}}; error: Nullable }; }{{end}}` - if e.Method == "GET" { + if e.Method == "GET" || e.Method == "DELETE" { a := strings.Split(e.Path, "/") c := "" f := false diff --git a/frontend/.env b/frontend/.env index 9996321..f985471 100644 --- a/frontend/.env +++ b/frontend/.env @@ -1,5 +1,4 @@ # Option A: path to Go project root; deploy target becomes /spa -GO_PROJECT_DIR=/Users/fabio/CODE/APP_GO_QUASAR/backend/internal/http/static - +GO_PROJECT_DIR=/Users/fabio/CODE/omnimed/go-quasar-partial-ssr/backend/internal/http/static # Option B (overrides GO_PROJECT_DIR): explicit target dir where dist/spa is copied # GO_SPA_TARGET_DIR=/absolute/path/to/your/go/project/spa diff --git a/frontend/bun.lock b/frontend/bun.lock index b685441..ac9e234 100644 --- a/frontend/bun.lock +++ b/frontend/bun.lock @@ -6,10 +6,12 @@ "name": "frontend", "dependencies": { "@quasar/extras": "^1.16.4", + "cropperjs": "^1", "pinia": "^3.0.1", "quasar": "^2.16.0", "vue": "^3.5.22", "vue-i18n": "^11.0.0", + "vue-picture-cropper": "^1.0.0", "vue-router": "^5.0.0", }, "devDependencies": { @@ -523,6 +525,8 @@ "crc32-stream": ["crc32-stream@6.0.0", "", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="], + "cropperjs": ["cropperjs@1.6.2", "", {}, "sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA=="], + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], @@ -1215,6 +1219,8 @@ "vue-i18n": ["vue-i18n@11.3.0", "", { "dependencies": { "@intlify/core-base": "11.3.0", "@intlify/devtools-types": "11.3.0", "@intlify/shared": "11.3.0", "@vue/devtools-api": "^6.5.0" }, "peerDependencies": { "vue": "^3.0.0" } }, "sha512-1J+xDfDJTLhDxElkd3+XUhT7FYSZd2b8pa7IRKGxhWH/8yt6PTvi3xmWhGwhYT5EaXdatui11pF2R6tL73/zPA=="], + "vue-picture-cropper": ["vue-picture-cropper@1.0.0", "", { "peerDependencies": { "cropperjs": "^1", "vue": ">=3.2.13" } }, "sha512-zp4OdK8SHqhvrLYqu+0XL9La8dHf0664RRjM5seWqohWyZ8c8pXOZ0KqEJAW5AT9hU6UBDrvZC5QzeTqCXl7ww=="], + "vue-router": ["vue-router@5.0.3", "", { "dependencies": { "@babel/generator": "^7.28.6", "@vue-macros/common": "^3.1.1", "@vue/devtools-api": "^8.0.6", "ast-walker-scope": "^0.8.3", "chokidar": "^5.0.0", "json5": "^2.2.3", "local-pkg": "^1.1.2", "magic-string": "^0.30.21", "mlly": "^1.8.0", "muggle-string": "^0.4.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "scule": "^1.3.0", "tinyglobby": "^0.2.15", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1", "yaml": "^2.8.2" }, "peerDependencies": { "@pinia/colada": ">=0.21.2", "@vue/compiler-sfc": "^3.5.17", "pinia": "^3.0.4", "vue": "^3.5.0" }, "optionalPeers": ["@pinia/colada", "@vue/compiler-sfc", "pinia"] }, "sha512-nG1c7aAFac7NYj8Hluo68WyWfc41xkEjaR0ViLHCa3oDvTQ/nIuLJlXJX1NUPw/DXzx/8+OKMng045HHQKQKWw=="], "vue-tsc": ["vue-tsc@3.2.5", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.2.5" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "bin/vue-tsc.js" } }, "sha512-/htfTCMluQ+P2FISGAooul8kO4JMheOTCbCy4M6dYnYYjqLe3BExZudAua6MSIKSFYQtFOYAll7XobYwcpokGA=="], diff --git a/frontend/package.json b/frontend/package.json index 6a74cf9..1f58b7c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,11 +16,13 @@ "postinstall": "quasar prepare" }, "dependencies": { - "vue-i18n": "^11.0.0", - "pinia": "^3.0.1", "@quasar/extras": "^1.16.4", + "cropperjs": "^1", + "pinia": "^3.0.1", "quasar": "^2.16.0", "vue": "^3.5.22", + "vue-i18n": "^11.0.0", + "vue-picture-cropper": "^1.0.0", "vue-router": "^5.0.0" }, "devDependencies": { diff --git a/frontend/quasar.config.ts b/frontend/quasar.config.ts index 2a06fb3..168d51e 100644 --- a/frontend/quasar.config.ts +++ b/frontend/quasar.config.ts @@ -116,7 +116,7 @@ export default defineConfig((ctx) => { // directives: [], // Quasar plugins - plugins: [], + plugins: ['Notify', 'Dialog', 'Loading'], }, // animations: 'all', // --- includes all animations diff --git a/frontend/scripts/prerender.mjs b/frontend/scripts/prerender.mjs index 52ecb48..fadf07a 100644 --- a/frontend/scripts/prerender.mjs +++ b/frontend/scripts/prerender.mjs @@ -73,6 +73,9 @@ const PORT = 4173; */ export const PUBLIC_ROUTES = [ '/', + '/login', + '/signup', + '/recoverpassword', // '/about', // '/terms', // '/privacy', diff --git a/frontend/src/api/api.ts b/frontend/src/api/api.ts index e104374..ad05354 100644 --- a/frontend/src/api/api.ts +++ b/frontend/src/api/api.ts @@ -205,6 +205,37 @@ export default class Api { } } + async PUT( + url: string, + data: unknown, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const result = await this.request("PUT", this.apiUrl + url, data, timeout); + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + + async DELETE( + url: string, + timeout?: number, + ): Promise<{ + data: unknown; + error: string | null; + }> { + try { + const result = await this.request("DELETE", this.apiUrl + url, null, timeout); + return this.processResult(result); + } catch (error: unknown) { + return this.processError(error); + } + } + async UPLOAD( url: string, data: unknown, @@ -267,6 +298,16 @@ export interface ListUsersRequest { pageSize: number; } +export interface ListUsersResponse { + page: number; + pageSize: number; + items: UserShort[]; +} + +export interface BlockUserRequest { + action: string; +} + // // package models // @@ -282,6 +323,21 @@ export interface UserPreferencesShort { language: string; } +export interface UserPreferences { + id: number; + userId: number; + useIdle: boolean; + idleTimeout: number; + useIdlePassword: boolean; + idlePin: string; + useDirectLogin: boolean; + useQuadcodeLogin: boolean; + sendNoticesMail: boolean; + language: string; + createdAt: string; + updatedAt: string; +} + export interface UserShort { email: string; name: string; @@ -293,6 +349,22 @@ export interface UserShort { avatar: Nullable; } +export interface UserProfile { + id: number; + email: string; + name: string; + roles: UserRoles; + types: UserTypes; + status: UserStatus; + activatedAt: Nullable; + uuid: string; + details: Nullable; + preferences: Nullable; + avatar: Nullable; + createdAt: string; + updatedAt: string; +} + export interface UserCreateInput { name: string; email: string; @@ -305,6 +377,33 @@ export interface UserCreateInput { preferences: Nullable; } +export interface UpdateUserRequest { + name: string; + email: string; + password: string; + roles: UserRoles; + status: UserStatus; + types: UserTypes; + avatar: Nullable; + details: Nullable; + preferences: Nullable; +} + +export interface UserDetails { + id: number; + userId: number; + title: string; + firstName: string; + lastName: string; + address: string; + city: string; + zipCode: string; + country: string; + phone: string; + createdAt: string; + updatedAt: string; +} + export interface UserDetailsShort { title: string; firstName: string; @@ -361,9 +460,19 @@ export const mailDebug = async (): Promise<{ // internal/http/routes/admin_routes.go Line: 12 export const listUsers = async ( data: ListUsersRequest, -): Promise<{ data: UserShort[]; error: Nullable }> => { +): Promise<{ data: ListUsersResponse; error: Nullable }> => { return (await api.POST("/admin/users", data)) as { - data: UserShort[]; + data: ListUsersResponse; + error: Nullable; + }; +}; + +export const blockUser = async ( + uuid: string, + data: BlockUserRequest, +): Promise<{ data: UserShort; error: Nullable }> => { + return (await api.PUT(`/admin/users/${uuid}/block`, data)) as { + data: UserShort; error: Nullable; }; }; @@ -459,6 +568,53 @@ export const me = async (): Promise<{ }; }; +export const listUsersCrud = async (): Promise<{ + data: UserProfile[]; + error: Nullable; +}> => { + return (await api.GET("/users")) as { + data: UserProfile[]; + error: Nullable; + }; +}; + +export const getUser = async ( + uuid: string, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.GET(`/users/${uuid}`)) as { + data: UserProfile; + error: Nullable; + }; +}; + +export const createUser = async ( + data: UserCreateInput, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.POST("/users", data)) as { + data: UserProfile; + error: Nullable; + }; +}; + +export const updateUser = async ( + uuid: string, + data: UpdateUserRequest, +): Promise<{ data: UserProfile; error: Nullable }> => { + return (await api.PUT(`/users/${uuid}`, data)) as { + data: UserProfile; + error: Nullable; + }; +}; + +export const deleteUser = async ( + uuid: string, +): Promise<{ data: SimpleResponse; error: Nullable }> => { + return (await api.DELETE(`/users/${uuid}`)) as { + data: SimpleResponse; + error: Nullable; + }; +}; + export interface FormRequest { req: string; count: number; diff --git a/frontend/src/css/app.scss b/frontend/src/css/app.scss index ecac98f..0a8aa05 100644 --- a/frontend/src/css/app.scss +++ b/frontend/src/css/app.scss @@ -1 +1,31 @@ // app global css in SCSS form +@import 'cropperjs/dist/cropper.css'; +@import 'vue-picture-cropper/style.css'; + +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +textarea:-webkit-autofill, +textarea:-webkit-autofill:hover, +textarea:-webkit-autofill:focus, +select:-webkit-autofill, +select:-webkit-autofill:hover, +select:-webkit-autofill:focus { + -webkit-text-fill-color: #1f2933; + -webkit-box-shadow: 0 0 0 1000px transparent inset; + box-shadow: 0 0 0 1000px transparent inset; + background-color: transparent; + transition: background-color 9999s ease-in-out 0s; +} + +.q-field__control:has(input:-webkit-autofill), +.q-field__control:has(input:-webkit-autofill:hover), +.q-field__control:has(input:-webkit-autofill:focus), +.q-field__control:has(textarea:-webkit-autofill), +.q-field__control:has(textarea:-webkit-autofill:hover), +.q-field__control:has(textarea:-webkit-autofill:focus) { + background-color: light-dark(rgb(232, 240, 254), rgba(70, 90, 126, 0.4)) !important; + outline: 2px solid rgba(25, 118, 210, 0.4); + outline-offset: 0; + border-radius: 0; +} diff --git a/frontend/src/layouts/AdminLayout.vue b/frontend/src/layouts/AdminLayout.vue new file mode 100644 index 0000000..161404d --- /dev/null +++ b/frontend/src/layouts/AdminLayout.vue @@ -0,0 +1,67 @@ + + + diff --git a/frontend/src/layouts/MainLayout.vue b/frontend/src/layouts/MainLayout.vue index 376fc92..6f9c066 100644 --- a/frontend/src/layouts/MainLayout.vue +++ b/frontend/src/layouts/MainLayout.vue @@ -7,6 +7,52 @@ {{ t('app.title') }}
Quasar v{{ $q.version }}
+
+ + Login + + + + + + {{ userInitials }} + + + + + + + {{ currentUser.name }} + {{ currentUser.email }} + + + + + + + + + + Admin + + + + + + + Logout + + + + +
diff --git a/frontend/src/pages/admin/IndexPage.vue b/frontend/src/pages/admin/IndexPage.vue new file mode 100644 index 0000000..ecbae53 --- /dev/null +++ b/frontend/src/pages/admin/IndexPage.vue @@ -0,0 +1,66 @@ + + + diff --git a/frontend/src/pages/admin/UsersPage.vue b/frontend/src/pages/admin/UsersPage.vue new file mode 100644 index 0000000..13fe8b6 --- /dev/null +++ b/frontend/src/pages/admin/UsersPage.vue @@ -0,0 +1,1527 @@ + + + + + diff --git a/frontend/src/pages/dev/LoginPage.vue b/frontend/src/pages/dev/LoginPage.vue new file mode 100644 index 0000000..2efe21b --- /dev/null +++ b/frontend/src/pages/dev/LoginPage.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/frontend/src/pages/dev/RecoverPasswordPage.vue b/frontend/src/pages/dev/RecoverPasswordPage.vue new file mode 100644 index 0000000..0b45bad --- /dev/null +++ b/frontend/src/pages/dev/RecoverPasswordPage.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/frontend/src/pages/dev/SignupPage.vue b/frontend/src/pages/dev/SignupPage.vue new file mode 100644 index 0000000..c5e2de4 --- /dev/null +++ b/frontend/src/pages/dev/SignupPage.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/frontend/src/router/routes.ts b/frontend/src/router/routes.ts index ce74c3c..02d9507 100644 --- a/frontend/src/router/routes.ts +++ b/frontend/src/router/routes.ts @@ -4,9 +4,22 @@ const routes: RouteRecordRaw[] = [ { path: '/', component: () => import('layouts/MainLayout.vue'), - children: [{ path: '', component: () => import('src/pages/IndexPage.vue') }], + children: [ + { path: '', component: () => import('src/pages/IndexPage.vue') }, + { + path: 'login', + component: () => import('pages/dev/LoginPage.vue'), + }, + { + path: 'signup', + component: () => import('pages/dev/SignupPage.vue'), + }, + { + path: 'recoverpassword', + component: () => import('pages/dev/RecoverPasswordPage.vue'), + }, + ], }, - { path: '/dev', component: () => import('layouts/DevLayout.vue'), @@ -26,6 +39,17 @@ const routes: RouteRecordRaw[] = [ }, ], }, + { + path: '/admin', + component: () => import('layouts/AdminLayout.vue'), + children: [ + { path: '', component: () => import('src/pages/admin/IndexPage.vue') }, + { + path: 'users', + component: () => import('pages/admin/UsersPage.vue'), + } + ], + }, // Always leave this as last one, // but you can also remove it {