From 822988bc8dd1a2be77456bb7ee98d57e34874cfa Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Sun, 9 Nov 2025 15:39:55 -0300 Subject: [PATCH 01/13] Refactor flash handling functions to use consistent naming convention --- login/builder.go | 40 ++++++++++++++++++++-------------------- login/flash.go | 10 +++++----- login/middleware.go | 4 ++-- x.go | 1 + 4 files changed, 28 insertions(+), 27 deletions(-) create mode 100644 x.go diff --git a/login/builder.go b/login/builder.go index 0d894d77..459942e4 100644 --- a/login/builder.go +++ b/login/builder.go @@ -752,7 +752,7 @@ func (b *Builder) completeUserAuthCallbackComplete(w http.ResponseWriter, r *htt var ouser goth.User ouser, err = gothic.CompleteUserAuth(w, r) if err != nil { - setFailCodeFlash(w, FailCodeCompleteUserAuthFailed) + SetFailCodeFlash(w, FailCodeCompleteUserAuthFailed) return } @@ -765,7 +765,7 @@ func (b *Builder) completeUserAuthCallbackComplete(w http.ResponseWriter, r *htt userID := ouser.UserID if userID == "" { - setFailCodeFlash(w, FailCodeCompleteUserAuthFailed) + SetFailCodeFlash(w, FailCodeCompleteUserAuthFailed) return } @@ -781,7 +781,7 @@ func (b *Builder) completeUserAuthCallbackComplete(w http.ResponseWriter, r *htt if err != gorm.ErrRecordNotFound { panic(err) } - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) return } err = user.(OAuthUser).InitOAuthUserID(b.db, b.newUserObject(), ouser.Provider, identifier, ouser.UserID) @@ -794,7 +794,7 @@ func (b *Builder) completeUserAuthCallbackComplete(w http.ResponseWriter, r *htt if err != gorm.ErrRecordNotFound { panic(err) } - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) return } } @@ -883,7 +883,7 @@ func (b *Builder) userpassLogin(w http.ResponseWriter, r *http.Request) { if b.recaptchaEnabled { token := r.FormValue("token") if !recaptchaTokenCheck(b, token) { - setFailCodeFlash(w, FailCodeIncorrectRecaptchaToken) + SetFailCodeFlash(w, FailCodeIncorrectRecaptchaToken) http.Redirect(w, r, b.loginPageURL, http.StatusFound) return } @@ -926,7 +926,7 @@ func (b *Builder) userpassLogin(w http.ResponseWriter, r *http.Request) { default: panic(err) } - setFailCodeFlash(w, code) + SetFailCodeFlash(w, code) b.setWrongLoginInputFlash(w, WrongLoginInputFlash{ Account: account, Password: password, @@ -1188,7 +1188,7 @@ func (b *Builder) sendResetPasswordLink(w http.ResponseWriter, r *http.Request) if b.recaptchaEnabled { token := r.FormValue("token") if !recaptchaTokenCheck(b, token) { - setFailCodeFlash(w, FailCodeIncorrectRecaptchaToken) + SetFailCodeFlash(w, FailCodeIncorrectRecaptchaToken) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } @@ -1203,7 +1203,7 @@ func (b *Builder) sendResetPasswordLink(w http.ResponseWriter, r *http.Request) } if account == "" { - setFailCodeFlash(w, FailCodeAccountIsRequired) + SetFailCodeFlash(w, FailCodeAccountIsRequired) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } @@ -1301,12 +1301,12 @@ func (b *Builder) doResetPassword(w http.ResponseWriter, r *http.Request) { failRedirectURL = MustSetQuery(failRedirectURL, "totp", "1") } if userID == "" { - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } if token == "" { - setFailCodeFlash(w, FailCodeInvalidToken) + SetFailCodeFlash(w, FailCodeInvalidToken) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } @@ -1314,12 +1314,12 @@ func (b *Builder) doResetPassword(w http.ResponseWriter, r *http.Request) { password := r.FormValue("password") confirmPassword := r.FormValue("confirm_password") if password == "" { - setFailCodeFlash(w, FailCodePasswordCannotBeEmpty) + SetFailCodeFlash(w, FailCodePasswordCannotBeEmpty) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } if confirmPassword != password { - setFailCodeFlash(w, FailCodePasswordNotMatch) + SetFailCodeFlash(w, FailCodePasswordNotMatch) b.setWrongResetPasswordInputFlash(w, WrongResetPasswordInputFlash{ Password: password, ConfirmPassword: confirmPassword, @@ -1331,7 +1331,7 @@ func (b *Builder) doResetPassword(w http.ResponseWriter, r *http.Request) { u, err := b.findUserByID(userID) if err != nil { if err == ErrUserNotFound { - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } @@ -1340,12 +1340,12 @@ func (b *Builder) doResetPassword(w http.ResponseWriter, r *http.Request) { storedToken, _, expired := u.(UserPasser).GetResetPasswordToken() if expired { - setFailCodeFlash(w, FailCodeTokenExpired) + SetFailCodeFlash(w, FailCodeTokenExpired) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } if token != storedToken { - setFailCodeFlash(w, FailCodeInvalidToken) + SetFailCodeFlash(w, FailCodeInvalidToken) http.Redirect(w, r, failRedirectURL, http.StatusFound) return } @@ -1383,7 +1383,7 @@ func (b *Builder) doResetPassword(w http.ResponseWriter, r *http.Request) { default: panic(err) } - setFailCodeFlash(w, fc) + SetFailCodeFlash(w, fc) b.setWrongResetPasswordInputFlash(w, WrongResetPasswordInputFlash{ Password: password, ConfirmPassword: confirmPassword, @@ -1486,7 +1486,7 @@ func (b *Builder) doFormChangePassword(w http.ResponseWriter, r *http.Request) { if err != nil { var ne *NoticeError if errors.As(err, &ne) { - setNoticeFlash(w, ne) + SetNoticeFlash(w, ne) } else { var fc FailCode switch err { @@ -1503,7 +1503,7 @@ func (b *Builder) doFormChangePassword(w http.ResponseWriter, r *http.Request) { default: panic(err) } - setFailCodeFlash(w, fc) + SetFailCodeFlash(w, fc) } b.setWrongChangePasswordInputFlash(w, WrongChangePasswordInputFlash{ @@ -1536,7 +1536,7 @@ func (b *Builder) totpDo(w http.ResponseWriter, r *http.Request) { user, err := b.findUserByID(claims.UserID) if err != nil { if err == ErrUserNotFound { - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) http.Redirect(w, r, b.LogoutURL, http.StatusFound) return } @@ -1573,7 +1573,7 @@ func (b *Builder) totpDo(w http.ResponseWriter, r *http.Request) { default: panic(err) } - setFailCodeFlash(w, fc) + SetFailCodeFlash(w, fc) failRedirectURL = b.totpValidatePageURL if !isTOTPSetup { failRedirectURL = b.totpSetupPageURL diff --git a/login/flash.go b/login/flash.go index 40155a2d..d1b7ecb6 100644 --- a/login/flash.go +++ b/login/flash.go @@ -64,7 +64,7 @@ const ( infoCodeFlashCookieName = "qor5_ic_flash" ) -func setFailCodeFlash(w http.ResponseWriter, c FailCode) { +func SetFailCodeFlash(w http.ResponseWriter, c FailCode) { http.SetCookie(w, &http.Cookie{ Name: failCodeFlashCookieName, Value: fmt.Sprint(c), @@ -93,7 +93,7 @@ func setInfoCodeFlash(w http.ResponseWriter, c InfoCode) { const noticeFlashCookieName = "qor5_notice_flash" -func setNoticeFlash(w http.ResponseWriter, ne *NoticeError) { +func SetNoticeFlash(w http.ResponseWriter, ne *NoticeError) { if ne == nil { return } @@ -111,10 +111,10 @@ func setNoticeOrFailCodeFlash(w http.ResponseWriter, err error, c FailCode) { } ne, ok := err.(*NoticeError) if ok { - setNoticeFlash(w, ne) + SetNoticeFlash(w, ne) return } - setFailCodeFlash(w, c) + SetFailCodeFlash(w, c) } func setNoticeOrPanic(w http.ResponseWriter, err error) { @@ -126,7 +126,7 @@ func setNoticeOrPanic(w http.ResponseWriter, err error) { if !ok { panic(err) } - setNoticeFlash(w, ne) + SetNoticeFlash(w, ne) } const wrongLoginInputFlashCookieName = "qor5_wli_flash" diff --git a/login/middleware.go b/login/middleware.go index e9bb57d5..97ed21c7 100644 --- a/login/middleware.go +++ b/login/middleware.go @@ -124,9 +124,9 @@ func (b *Builder) Middleware(cfgs ...MiddlewareConfig) func(next http.Handler) h } switch err { case ErrUserNotFound: - setFailCodeFlash(w, FailCodeUserNotFound) + SetFailCodeFlash(w, FailCodeUserNotFound) case ErrUserLocked: - setFailCodeFlash(w, FailCodeUserLocked) + SetFailCodeFlash(w, FailCodeUserLocked) case ErrPasswordChanged: isSelfChange := false if c, err := r.Cookie(infoCodeFlashCookieName); err == nil { diff --git a/x.go b/x.go new file mode 100644 index 00000000..823aafd0 --- /dev/null +++ b/x.go @@ -0,0 +1 @@ +package x From d092dc222ac10f90bf42c8431c3c2b2fc25e1c52 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Sat, 30 Aug 2025 15:52:45 -0300 Subject: [PATCH 02/13] fix: update moduleMessages type to map[language.Tag]map[ModuleKey]Messages --- i18n/i18n.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/i18n/i18n.go b/i18n/i18n.go index ffa2d839..d0233b30 100644 --- a/i18n/i18n.go +++ b/i18n/i18n.go @@ -15,7 +15,7 @@ type ModuleKey string type Builder struct { supportLanguages []language.Tag getSupportLanguagesFromRequestFunc func(R *http.Request) []language.Tag - moduleMessages map[language.Tag]context.Context + moduleMessages map[language.Tag]map[ModuleKey]Messages matcher language.Matcher cookieName string queryName string @@ -28,7 +28,7 @@ func New() *Builder { supportLanguages: []language.Tag{ language.English, }, - moduleMessages: map[language.Tag]context.Context{language.English: context.TODO()}, + moduleMessages: make(map[language.Tag]map[ModuleKey]Messages), cookieName: "lang", queryName: "lang", } @@ -55,7 +55,7 @@ func (b *Builder) SupportLanguages(vs ...language.Tag) (r *Builder) { b.supportLanguages = vs for _, l := range b.supportLanguages { if b.moduleMessages[l] == nil { - b.moduleMessages[l] = context.TODO() + b.moduleMessages[l] = make(map[ModuleKey]Messages) } } b.matcher = language.NewMatcher(b.supportLanguages) @@ -81,11 +81,9 @@ func (b *Builder) GetSupportLanguagesFromRequestFunc(v func(R *http.Request) []l func (b *Builder) RegisterForModule(lang language.Tag, module ModuleKey, msg Messages) (r *Builder) { c := b.moduleMessages[lang] if c == nil { - c = context.TODO() + b.moduleMessages[lang] = make(map[ModuleKey]Messages) } - - c = context.WithValue(c, module, msg) - b.moduleMessages[lang] = c + b.moduleMessages[lang][module] = msg return b } @@ -95,7 +93,12 @@ func MustGetModuleMessages(r *http.Request, module ModuleKey, defaultMessages Me return defaultMessages } - msg := v.(context.Context).Value(module) + mmap, ok := v.(map[ModuleKey]Messages) + if !ok { + return defaultMessages + } + + msg := mmap[module] if msg == nil { msg = defaultMessages } From 65fee42bafa5bb7acf90b440df87d0559a12ed29 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Thu, 4 Sep 2025 09:01:04 -0300 Subject: [PATCH 03/13] feat: implement Login code functionality with validation and messaging --- login/builder.go | 253 ++++++++++++++++++++++++++++++++++++++-- login/flash.go | 5 + login/messages.go | 31 +++++ login/user_logincode.go | 113 ++++++++++++++++++ login/view_helper.go | 16 +++ login/views.go | 30 +++++ 6 files changed, 439 insertions(+), 9 deletions(-) create mode 100644 login/user_logincode.go diff --git a/login/builder.go b/login/builder.go index 459942e4..bfbc570b 100644 --- a/login/builder.go +++ b/login/builder.go @@ -6,6 +6,7 @@ import ( "fmt" "html/template" "io/fs" + "log" "net/http" "net/url" "reflect" @@ -26,15 +27,18 @@ import ( ) var ( - ErrUserNotFound = errors.New("user not found") - ErrPasswordChanged = errors.New("password changed") - ErrWrongPassword = errors.New("wrong password") - ErrUserLocked = errors.New("user locked") - ErrUserGetLocked = errors.New("user get locked") - ErrWrongTOTPCode = errors.New("wrong totp code") - ErrTOTPCodeHasBeenUsed = errors.New("totp code has been used") - ErrEmptyPassword = errors.New("empty password") - ErrPasswordNotMatch = errors.New("password not match") + ErrUserNotFound = errors.New("user not found") + ErrPasswordChanged = errors.New("password changed") + ErrWrongPassword = errors.New("wrong password") + ErrUserLocked = errors.New("user locked") + ErrUserGetLocked = errors.New("user get locked") + ErrWrongTOTPCode = errors.New("wrong totp code") + ErrTOTPCodeHasBeenUsed = errors.New("totp code has been used") + ErrEmptyPassword = errors.New("empty password") + ErrPasswordNotMatch = errors.New("password not match") + ErrInvalidLoginCode = errors.New("invalid login code") + ErrLoginCodeExpired = errors.New("login code has expired") + ErrAccountNumberInvalid = errors.New("account number is invalid") ) type ( @@ -112,6 +116,11 @@ type Builder struct { sendResetPasswordLinkURL string resetPasswordLinkSentPageURL string + // LoginCode URLs + loginCodePageURL string + validateLoginCodeURL string + + // Page functions loginPageFunc web.PageFunc forgetPasswordPageFunc web.PageFunc resetPasswordLinkSentPageFunc web.PageFunc @@ -119,7 +128,10 @@ type Builder struct { changePasswordPageFunc web.PageFunc totpSetupPageFunc web.PageFunc totpValidatePageFunc web.PageFunc + loginCodePageFunc web.PageFunc + loginCodeValidateFunc web.PageFunc + // Hooks beforeSetPasswordHook HookFunc beforeTOTPFlowHook HookFunc @@ -128,6 +140,7 @@ type Builder struct { afterUserLockedHook HookFunc afterLogoutHook HookFunc afterConfirmSendResetPasswordLinkHook HookFunc + afterSendWhatsAppLoginCodeHook HookFunc afterResetPasswordHook HookFunc afterChangePasswordHook HookFunc afterExtendSessionHook HookFunc @@ -139,6 +152,7 @@ type Builder struct { snakePrimaryField string tUser reflect.Type userPassEnabled bool + loginCodeEnabled bool oauthEnabled bool sessionSecureEnabled bool // key is provider @@ -174,6 +188,9 @@ func New() *Builder { sendResetPasswordLinkURL: "/auth/send-reset-password-link", resetPasswordLinkSentPageURL: "/auth/reset-password-link-sent", + validateLoginCodeURL: "/auth/logincode/validate", + loginCodePageURL: "/auth/logincode", + sessionMaxAge: 60 * 60, cookieConfig: CookieConfig{ Path: "/", @@ -202,6 +219,7 @@ func New() *Builder { r.changePasswordPageFunc = defaultChangePasswordPage(vh) r.totpSetupPageFunc = defaultTOTPSetupPage(vh) r.totpValidatePageFunc = defaultTOTPValidatePage(vh) + r.loginCodePageFunc = defaultLoginCodeValidatePageFunc(vh) return r } @@ -291,6 +309,8 @@ func (b *Builder) URIPrefix(v string) (r *Builder) { b.forgetPasswordPageURL = prefix + b.forgetPasswordPageURL b.sendResetPasswordLinkURL = prefix + b.sendResetPasswordLinkURL b.resetPasswordLinkSentPageURL = prefix + b.resetPasswordLinkSentPageURL + b.validateLoginCodeURL = prefix + b.validateLoginCodeURL + b.loginCodePageURL = prefix + b.loginCodePageURL return b } @@ -365,6 +385,16 @@ func (b *Builder) TOTPValidatePageFunc(v web.PageFunc) (r *Builder) { return b } +func (b *Builder) LoginCode(v web.PageFunc) (r *Builder) { + b.loginCodePageFunc = v + return b +} + +func (b *Builder) LoginCodeValidatePageFunc(v web.PageFunc) (r *Builder) { + b.loginCodeValidateFunc = v + return b +} + func (b *Builder) wrapHook(v HookFunc) HookFunc { if v == nil { return nil @@ -482,6 +512,20 @@ func (b *Builder) WrapAfterConfirmSendResetPasswordLink(w func(in HookFunc) Hook return b } +func (b *Builder) AfterSendWhatsAppLoginCode(v HookFunc) (r *Builder) { + b.afterSendWhatsAppLoginCodeHook = v + return b +} + +func (b *Builder) WrapAfterSendWhatsAppLoginCode(w func(in HookFunc) HookFunc) (r *Builder) { + if b.afterSendWhatsAppLoginCodeHook == nil { + b.afterSendWhatsAppLoginCodeHook = w(NopHookFunc) + } else { + b.afterSendWhatsAppLoginCodeHook = w(b.afterSendWhatsAppLoginCodeHook) + } + return b +} + func (b *Builder) AfterResetPassword(v HookFunc) (r *Builder) { b.afterResetPasswordHook = v return b @@ -661,6 +705,9 @@ func (b *Builder) UserModel(m interface{}) (r *Builder) { if _, ok := m.(UserPasser); ok { b.userPassEnabled = true } + if _, ok := m.(UserLoginCoder); ok { + b.loginCodeEnabled = true + } if _, ok := m.(OAuthUser); ok { b.oauthEnabled = true } @@ -834,6 +881,51 @@ func (b *Builder) completeUserAuthCallbackComplete(w http.ResponseWriter, r *htt return } +// return user if account exists even if there is an error returned +func (b *Builder) authUserLoginCode(account string, code string) (user interface{}, err error) { + user, err = b.userModel.(UserLoginCoder).FindUserByPhoneNumber(b.db, b.newUserObject(), account) + if err != nil { + if err == gorm.ErrRecordNotFound { + return nil, ErrUserNotFound + } + return nil, err + } + + up := user.(UserPasser) + if up.GetLocked() { + return user, ErrUserLocked + } + + u := user.(UserLoginCoder) + ltoken, _, expired := u.GetLoginCode() + if expired { + return user, ErrLoginCodeExpired + } + + if ltoken != code { + if b.maxRetryCount > 0 { + if err = up.IncreaseRetryCount(b.db, b.newUserObject()); err != nil { + return user, err + } + if up.GetLoginRetryCount() >= b.maxRetryCount { + if err = up.LockUser(b.db, b.newUserObject()); err != nil { + return user, err + } + return user, ErrUserGetLocked + } + } + return user, ErrInvalidLoginCode + } + + if up.GetLoginRetryCount() != 0 { + if err = up.UnlockUser(b.db, b.newUserObject()); err != nil { + return user, err + } + } + + return user, nil +} + // return user if account exists even if there is an error returned func (b *Builder) authUserPass(account string, password string) (user interface{}, err error) { user, err = b.userModel.(UserPasser).FindUser(b.db, b.newUserObject(), account) @@ -873,6 +965,138 @@ func (b *Builder) authUserPass(account string, password string) (user interface{ return user, nil } +func (b *Builder) userWhatsAppLogin(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + w.WriteHeader(http.StatusNotFound) + return + } + + // check reCAPTCHA token + if b.recaptchaEnabled { + token := r.FormValue("token") + if !recaptchaTokenCheck(b, token) { + SetFailCodeFlash(w, FailCodeIncorrectRecaptchaToken) + http.Redirect(w, r, b.loginPageURL, http.StatusFound) + return + } + } + + var err error + var user interface{} + failRedirectURL := b.LogoutURL + defer func() { + if perr := recover(); perr != nil { + panic(perr) + } + if err != nil { + if b.afterFailedToLoginHook != nil { + if herr := b.wrapHook(b.afterFailedToLoginHook)(r, user, err); herr != nil { + setNoticeOrPanic(w, herr) + } + } + http.Redirect(w, r, failRedirectURL, http.StatusFound) + } + }() + + account := r.FormValue("account") + user, err = b.userModel.(UserLoginCoder).FindUserByPhoneNumber(b.db, b.newUserObject(), account) + if err != nil { + if err == gorm.ErrRecordNotFound { + SetFailCodeFlash(w, FailCodeUserNotFound) + http.Redirect(w, r, b.loginPageURL, http.StatusFound) + return + } + log.Printf("failed to find user by phone number: %v", err) + SetFailCodeFlash(w, FailCodeSystemError) + return + } + + up := user.(UserPasser) + if up.GetLocked() { + SetFailCodeFlash(w, FailCodeUserLocked) + return + } + + // send login code to user + loginCode, err := user.(UserLoginCoder).GenerateLoginCode(b.db, b.newUserObject()) + err = user.(UserLoginCodeSender).SendLoginCode(account, loginCode) + if err != nil { + log.Printf("failed to send login code: %v", err) + SetFailCodeFlash(w, FailCodeSystemError) + return + } + + http.Redirect(w, r, b.validateLoginCodeURL, http.StatusFound) + return +} + +func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + w.WriteHeader(http.StatusNotFound) + return + } + var err error + var user interface{} + failRedirectURL := b.LogoutURL + defer func() { + if perr := recover(); perr != nil { + panic(perr) + } + if err != nil { + if b.afterFailedToLoginHook != nil { + if herr := b.wrapHook(b.afterFailedToLoginHook)(r, user, err); herr != nil { + setNoticeOrPanic(w, herr) + } + } + http.Redirect(w, r, failRedirectURL, http.StatusFound) + } + }() + + account := r.FormValue("account") + loginCode := r.FormValue("code") + user, err = b.authUserLoginCode(account, loginCode) + if err != nil { + if err == ErrUserGetLocked && b.afterUserLockedHook != nil { + if herr := b.wrapHook(b.afterUserLockedHook)(r, user); herr != nil { + setNoticeOrPanic(w, herr) + return + } + } + var code FailCode + switch err { + case ErrInvalidLoginCode, ErrUserNotFound: + code = FailCodeIncorrectAccountNameOrPassword + case ErrUserLocked, ErrUserGetLocked: + code = FailCodeUserLocked + default: + panic(err) + } + SetFailCodeFlash(w, code) + b.setWrongLoginInputFlash(w, WrongLoginInputFlash{ + Account: account, + LoginCode: loginCode, + }) + return + } + + userID := objectID(user) + claims := UserClaims{ + UserID: userID, + RegisteredClaims: b.genBaseSessionClaim(userID), + } + + if err = b.setSecureCookiesByClaims(w, user, claims); err != nil { + panic(err) + } + redirectURL := b.homePageURLFunc(r, user) + if v := b.getContinueURL(w, r); v != "" { + redirectURL = v + } + http.Redirect(w, r, redirectURL, http.StatusFound) + + return +} + func (b *Builder) userpassLogin(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { w.WriteHeader(http.StatusNotFound) @@ -964,6 +1188,11 @@ func (b *Builder) userpassLogin(w http.ResponseWriter, r *http.Request) { } } + u, ok := user.(UserPasser) + if !ok { + panic("totp enabled but user model does not implement UserPasser") + } + if u.GetIsTOTPSetup() { http.Redirect(w, r, b.totpValidatePageURL, http.StatusFound) return @@ -1626,6 +1855,9 @@ func (b *Builder) Mount(mux *http.ServeMux) { mux.Handle(b.totpValidatePageURL, b.i18nBuilder.EnsureLanguage(wb.Page(b.totpValidatePageFunc))) } } + if b.loginCodeEnabled { + mux.Handle(b.loginCodePageURL, b.i18nBuilder.EnsureLanguage(wb.Page(b.loginCodePageFunc))) + } // assets assetsSubFS, err := fs.Sub(assetsFS, "assets") @@ -1657,6 +1889,9 @@ func (b *Builder) MountAPI(mux *http.ServeMux) { mux.HandleFunc(b.validateTOTPURL, b.totpDo) } } + if b.loginCodeEnabled { + mux.HandleFunc(b.validateLoginCodeURL, b.loginCodeDo) + } if b.oauthEnabled { mux.HandleFunc(b.oauthBeginURL, b.beginAuth) mux.HandleFunc(b.oauthCallbackURL, b.completeUserAuthCallback) diff --git a/login/flash.go b/login/flash.go index d1b7ecb6..7fcb7950 100644 --- a/login/flash.go +++ b/login/flash.go @@ -37,12 +37,16 @@ const ( FailCodeAccountIsRequired FailCodePasswordCannotBeEmpty FailCodePasswordNotMatch + FailCodeTooManyAttempts + FailCodeInvalidLoginCode FailCodeIncorrectPassword FailCodeInvalidToken FailCodeTokenExpired FailCodeIncorrectTOTPCode FailCodeTOTPCodeHasBeenUsed FailCodeIncorrectRecaptchaToken + FailCodeLoginTokenExpired + FailCodeAccountNumberInvalid ) type WarnCode int @@ -134,6 +138,7 @@ const wrongLoginInputFlashCookieName = "qor5_wli_flash" type WrongLoginInputFlash struct { Account string Password string + LoginCode string } func (b *Builder) setWrongLoginInputFlash(w http.ResponseWriter, f WrongLoginInputFlash) { diff --git a/login/messages.go b/login/messages.go index 00a1c0b7..685c45dc 100644 --- a/login/messages.go +++ b/login/messages.go @@ -57,6 +57,11 @@ type Messages struct { TOTPValidateCodeLabel string TOTPValidateCodePlaceholder string + LoginCodePageTitle string + LoginCodeTitle string + LoginCodeEnterPrompt string + WhatsAppLoginCodePlaceholder string + ErrorSystemError string ErrorCompleteUserAuthFailed string ErrorUserNotFound string @@ -71,6 +76,8 @@ type Messages struct { ErrorIncorrectTOTPCode string ErrorTOTPCodeReused string ErrorIncorrectRecaptchaToken string + ErrorInvalidLoginCode string + ErrorLoginTokenExpired string WarnPasswordHasBeenChanged string @@ -123,6 +130,12 @@ var Messages_en_US = &Messages{ TOTPValidateEnterCodePrompt: "Enter the provided one-time code below", TOTPValidateCodeLabel: "Authenticator passcode", TOTPValidateCodePlaceholder: "Passcode", + + LoginCodePageTitle: "Enter WhatsApp Code", + LoginCodeTitle: "Enter Code", + LoginCodeEnterPrompt: "Enter the code sent to your WhatsApp", + WhatsAppLoginCodePlaceholder: "Code", + ErrorSystemError: "System Error", ErrorCompleteUserAuthFailed: "Complete User Auth Failed", ErrorUserNotFound: "User Not Found", @@ -137,6 +150,8 @@ var Messages_en_US = &Messages{ ErrorIncorrectTOTPCode: "Incorrect passcode", ErrorTOTPCodeReused: "This passcode has been used", ErrorIncorrectRecaptchaToken: "Incorrect reCAPTCHA token", + ErrorInvalidLoginCode: "Invalid login code", + ErrorLoginTokenExpired: "Login token expired", WarnPasswordHasBeenChanged: "Password has been changed, please sign-in again", InfoPasswordSuccessfullyReset: "Password successfully reset, please sign-in again", InfoPasswordSuccessfullyChanged: "Password successfully changed, please sign-in again", @@ -187,6 +202,12 @@ var Messages_zh_CN = &Messages{ TOTPValidateEnterCodePrompt: "在下面输入提供的一次性代码", TOTPValidateCodeLabel: "Authenticator验证码", TOTPValidateCodePlaceholder: "passcode", + + LoginCodePageTitle: "输入WhatsApp代码", + LoginCodeTitle: "输入代码", + LoginCodeEnterPrompt: "输入发送到您WhatsApp的代码", + WhatsAppLoginCodePlaceholder: "代码", + ErrorSystemError: "系统错误", ErrorCompleteUserAuthFailed: "用户认证失败", ErrorUserNotFound: "找不到该用户", @@ -201,6 +222,8 @@ var Messages_zh_CN = &Messages{ ErrorIncorrectTOTPCode: "passcode错误", ErrorTOTPCodeReused: "这个passcode已经被使用过了", ErrorIncorrectRecaptchaToken: "reCAPTCHA token错误", + ErrorInvalidLoginCode: "登录码无效", + ErrorLoginTokenExpired: "登录码已过期", WarnPasswordHasBeenChanged: "密码被修改了,请重新登录", InfoPasswordSuccessfullyReset: "密码重置成功,请重新登录", InfoPasswordSuccessfullyChanged: "密码修改成功,请重新登录", @@ -251,6 +274,12 @@ var Messages_ja_JP = &Messages{ TOTPValidateEnterCodePrompt: "提供されたワンタイムコードを以下に入力してください", TOTPValidateCodeLabel: "認証パスコード", TOTPValidateCodePlaceholder: "パスコード", + + LoginCodePageTitle: "WhatsAppコードを入力", + LoginCodeTitle: "コードを入力", + LoginCodeEnterPrompt: "WhatsAppに送信されたコードを入力してください", + WhatsAppLoginCodePlaceholder: "コード", + ErrorSystemError: "システムエラー", ErrorCompleteUserAuthFailed: "ユーザー認証に失敗しました", ErrorUserNotFound: "このユーザーは存在しません", @@ -265,6 +294,8 @@ var Messages_ja_JP = &Messages{ ErrorIncorrectTOTPCode: "パスコードが間違っています", ErrorTOTPCodeReused: "このパスコードは既に利用されています", ErrorIncorrectRecaptchaToken: "reCAPTCHAトークンが間違っています", + ErrorInvalidLoginCode: "無効なログインコード", + ErrorLoginTokenExpired: "ログインコードの有効期限が切れました", WarnPasswordHasBeenChanged: "パスワードが変更されました。再度ログインしてください", InfoPasswordSuccessfullyReset: "パスワードのリセットに成功しました。再度ログインしてください", InfoPasswordSuccessfullyChanged: "パスワードの変更に成功しました。再度ログインしてください", diff --git a/login/user_logincode.go b/login/user_logincode.go new file mode 100644 index 00000000..d721ec71 --- /dev/null +++ b/login/user_logincode.go @@ -0,0 +1,113 @@ +package login + +import ( + "encoding/base64" + "fmt" + "time" + + "github.com/google/uuid" + "gorm.io/gorm" +) + +type UserLoginCoder interface { + FindUserByPhoneNumber(db *gorm.DB, model interface{}, phoneNumber string) (user interface{}, err error) + GenerateLoginCode(db *gorm.DB, model interface{}) (token string, err error) + ConsumeLoginCode(db *gorm.DB, model interface{}) error + GetLoginCode() (token string, createdAt *time.Time, expired bool) + SetConfirmTime(db *gorm.DB, model interface{}) error +} + +type UserLoginCodeSender interface { + SendLoginCode(phoneNumber string, code string) error +} + +type UserLoginCode struct { + PhoneNumber string `gorm:"index:,unique,where:phone_number!='' and deleted_at is null"` + ConfirmedAt *time.Time + LoginToken string `gorm:"index:,unique,where:login_token!=''"` + LoginCreatedAt *time.Time + LoginTokenExpiredAt *time.Time +} + +//var _ UserLoginCoder = (*UserLoginCode)(nil) + +func (up *UserLoginCode) FindUserByPhoneNumber(db *gorm.DB, model interface{}, phoneNumber string) (user interface{}, err error) { + err = db.Where("phone_number = ?", phoneNumber). + First(model). + Error + if err != nil { + return nil, err + } + return model, nil +} + +func (up *UserLoginCode) GetPhoneNumber() string { + return up.PhoneNumber +} + +func (up *UserLoginCode) GenerateLoginCodeExpiration(db *gorm.DB) (createdAt time.Time, expiredAt time.Time) { + createdAt = db.NowFunc() + return createdAt, createdAt.Add(10 * time.Minute) +} + +func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (token string, err error) { + token = base64.URLEncoding.EncodeToString([]byte(uuid.NewString())) + + iface, ok := model.(interface { + GenerateLoginCodeExpiration(db *gorm.DB) (createdAt time.Time, expiredAt time.Time) + }) + if !ok { + return "", fmt.Errorf("model does not have GenerateLoginCodeExpiration method, maybe it does not embed UserWhatsApp") + } + + createdAt, expiredAt := iface.GenerateLoginCodeExpiration(db) + + err = db.Model(model). + Where("login_code = ?", up.PhoneNumber). + Updates(map[string]interface{}{ + "login_token": token, + "login_created_at": createdAt, + "login_token_expired_at": expiredAt, + }). + Error + if err != nil { + return "", err + } + up.LoginToken = token + up.LoginCreatedAt = &createdAt + up.LoginTokenExpiredAt = &expiredAt + return token, nil +} + +func (up *UserLoginCode) ConsumeLoginCode(db *gorm.DB, model interface{}) error { + err := db.Model(model). + Where("login_code = ?", up.PhoneNumber). + Updates(map[string]interface{}{ + "login_token_expired_at": time.Now(), + }). + Error + if err != nil { + return err + } + return nil +} + +func (up *UserLoginCode) GetLoginCode() (token string, createdAt *time.Time, expired bool) { + if up.LoginTokenExpiredAt != nil && time.Since(*up.LoginTokenExpiredAt) > 0 { + return "", nil, true + } + return up.LoginToken, up.LoginCreatedAt, false +} + +func (up *UserLoginCode) SetConfirmTime(db *gorm.DB, model interface{}) error { + now := time.Now() + err := db.Model(model). + Where("login_code = ?", up.PhoneNumber). + Update("confirmed_at", now). + Error + if err != nil { + return err + } + up.ConfirmedAt = &now + return nil +} diff --git a/login/view_helper.go b/login/view_helper.go index f58ae944..40152bbe 100644 --- a/login/view_helper.go +++ b/login/view_helper.go @@ -30,6 +30,10 @@ func (vh *ViewHelper) UserPassEnabled() bool { return vh.b.userPassEnabled } +func (vh *ViewHelper) UserWhatsAppEnabled() bool { + return vh.b.loginCodeEnabled +} + func (vh *ViewHelper) TOTPEnabled() bool { return vh.b.totpEnabled } @@ -50,6 +54,10 @@ func (vh *ViewHelper) PasswordLoginURL() string { return vh.b.passwordLoginURL } +func (vh *ViewHelper) LoginCodePageURL() string { + return vh.b.loginCodePageURL +} + func (vh *ViewHelper) ForgetPasswordPageURL() string { return vh.b.forgetPasswordPageURL } @@ -70,6 +78,10 @@ func (vh *ViewHelper) ValidateTOTPURL() string { return vh.b.validateTOTPURL } +func (vh *ViewHelper) ValidateLoginCodeURL() string { + return vh.b.validateLoginCodeURL +} + func (vh *ViewHelper) RecaptchaSiteKey() string { return vh.b.recaptchaConfig.SiteKey } @@ -276,6 +288,10 @@ func (vh *ViewHelper) GetFailFlashMessage(msgr *Messages, w http.ResponseWriter, return msgr.ErrorTOTPCodeReused case FailCodeIncorrectRecaptchaToken: return msgr.ErrorIncorrectRecaptchaToken + case FailCodeInvalidLoginCode: + return msgr.ErrorInvalidLoginCode + case FailCodeLoginTokenExpired: + return msgr.ErrorLoginTokenExpired } return "" diff --git a/login/views.go b/login/views.go index 8718cf06..66789a97 100644 --- a/login/views.go +++ b/login/views.go @@ -476,3 +476,33 @@ func defaultTOTPValidatePage(vh *ViewHelper) web.PageFunc { return } } + +func defaultLoginCodeValidatePageFunc(vh *ViewHelper) web.PageFunc { + return func(ctx *web.EventContext) (r web.PageResponse, err error) { + msgr := i18n.MustGetModuleMessages(ctx.R, I18nLoginKey, Messages_en_US).(*Messages) + + r.PageTitle = msgr.LoginCodePageTitle + r.Body = Div( + Link(StyleCSSURL).Type("text/css").Rel("stylesheet"), + DefaultViewCommon.Notice(vh, msgr, ctx.W, ctx.R), + Div( + Div( + H1(msgr.LoginCodeTitle). + Class(DefaultViewCommon.TitleClass), + Label(msgr.LoginCodeEnterPrompt), + ), + Form( + Input("logincode").Placeholder(msgr.WhatsAppLoginCodePlaceholder). + Class(DefaultViewCommon.InputClass). + Class("mt-6"). + Attr("autofocus", true), + Div( + Button(msgr.Verify).Class(DefaultViewCommon.ButtonClass), + ).Class("mt-6"), + ).Method(http.MethodPost).Action(vh.ValidateLoginCodeURL()), + ).Class(DefaultViewCommon.WrapperClass).Class("text-center"), + ) + + return + } +} From 649eb83c12fc54b397ce1b2a1c00ab6f6c785040 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Thu, 4 Sep 2025 18:03:02 -0300 Subject: [PATCH 04/13] feat: add send login code functionality and update messages --- login/builder.go | 6 +++++- login/messages.go | 4 ++++ login/view_helper.go | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/login/builder.go b/login/builder.go index bfbc570b..e24e5dcb 100644 --- a/login/builder.go +++ b/login/builder.go @@ -119,6 +119,7 @@ type Builder struct { // LoginCode URLs loginCodePageURL string validateLoginCodeURL string + sendLoginCodeURL string // Page functions loginPageFunc web.PageFunc @@ -190,6 +191,7 @@ func New() *Builder { validateLoginCodeURL: "/auth/logincode/validate", loginCodePageURL: "/auth/logincode", + sendLoginCodeURL: "/auth/logincode/send", sessionMaxAge: 60 * 60, cookieConfig: CookieConfig{ @@ -311,6 +313,7 @@ func (b *Builder) URIPrefix(v string) (r *Builder) { b.resetPasswordLinkSentPageURL = prefix + b.resetPasswordLinkSentPageURL b.validateLoginCodeURL = prefix + b.validateLoginCodeURL b.loginCodePageURL = prefix + b.loginCodePageURL + b.sendLoginCodeURL = prefix + b.sendLoginCodeURL return b } @@ -965,7 +968,7 @@ func (b *Builder) authUserPass(account string, password string) (user interface{ return user, nil } -func (b *Builder) userWhatsAppLogin(w http.ResponseWriter, r *http.Request) { +func (b *Builder) userCodeLogin(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { w.WriteHeader(http.StatusNotFound) return @@ -1891,6 +1894,7 @@ func (b *Builder) MountAPI(mux *http.ServeMux) { } if b.loginCodeEnabled { mux.HandleFunc(b.validateLoginCodeURL, b.loginCodeDo) + mux.HandleFunc(b.sendLoginCodeURL, b.userCodeLogin) } if b.oauthEnabled { mux.HandleFunc(b.oauthBeginURL, b.beginAuth) diff --git a/login/messages.go b/login/messages.go index 685c45dc..8fb0f31c 100644 --- a/login/messages.go +++ b/login/messages.go @@ -14,6 +14,7 @@ type Messages struct { PasswordLabel string PasswordPlaceholder string SignInBtn string + SendCodeBtn string ForgetPasswordLink string ForgetPasswordPageTitle string @@ -94,6 +95,7 @@ var Messages_en_US = &Messages{ PasswordLabel: "Password", PasswordPlaceholder: "Password", SignInBtn: "Sign In", + SendCodeBtn: "Send Code", ForgetPasswordLink: "Forget your password?", ForgetPasswordPageTitle: "Forget Your Password?", ForgotMyPasswordTitle: "I forgot my password", @@ -166,6 +168,7 @@ var Messages_zh_CN = &Messages{ PasswordLabel: "密码", PasswordPlaceholder: "密码", SignInBtn: "登录", + SendCodeBtn: "发送验证码", ForgetPasswordLink: "忘记密码?", ForgetPasswordPageTitle: "忘记密码?", ForgotMyPasswordTitle: "我忘记密码了", @@ -238,6 +241,7 @@ var Messages_ja_JP = &Messages{ PasswordLabel: "パスワード", PasswordPlaceholder: "パスワード", SignInBtn: "ログイン", + SendCodeBtn: "認証コードを送信", ForgetPasswordLink: "パスワードをお忘れですか?", ForgetPasswordPageTitle: "パスワードをお忘れですか?", ForgotMyPasswordTitle: "パスワードを忘れました", diff --git a/login/view_helper.go b/login/view_helper.go index 40152bbe..ec0a47c9 100644 --- a/login/view_helper.go +++ b/login/view_helper.go @@ -54,6 +54,10 @@ func (vh *ViewHelper) PasswordLoginURL() string { return vh.b.passwordLoginURL } +func (vh *ViewHelper) SendLoginCodeURL() string { + return vh.b.sendLoginCodeURL +} + func (vh *ViewHelper) LoginCodePageURL() string { return vh.b.loginCodePageURL } From c8c7a26c0aaf26a586104763c754b66998d168d1 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Sat, 6 Sep 2025 20:47:56 -0300 Subject: [PATCH 05/13] feat: enhance login code functionality with improved messaging and validation --- login/builder.go | 55 +++++++++++++------- login/claims.go | 19 +++---- login/messages.go | 14 ++--- login/middleware.go | 9 +++- login/user_logincode.go | 112 ++++++++++++++++++++++++++-------------- login/views.go | 3 +- 6 files changed, 138 insertions(+), 74 deletions(-) diff --git a/login/builder.go b/login/builder.go index e24e5dcb..ed3f8b6d 100644 --- a/login/builder.go +++ b/login/builder.go @@ -153,7 +153,7 @@ type Builder struct { snakePrimaryField string tUser reflect.Type userPassEnabled bool - loginCodeEnabled bool + loginCodeEnabled bool oauthEnabled bool sessionSecureEnabled bool // key is provider @@ -388,7 +388,7 @@ func (b *Builder) TOTPValidatePageFunc(v web.PageFunc) (r *Builder) { return b } -func (b *Builder) LoginCode(v web.PageFunc) (r *Builder) { +func (b *Builder) LoginCodePageFunc(v web.PageFunc) (r *Builder) { b.loginCodePageFunc = v return b } @@ -905,7 +905,8 @@ func (b *Builder) authUserLoginCode(account string, code string) (user interface return user, ErrLoginCodeExpired } - if ltoken != code { + // Empty code means user need a login code, not to verify it. + if ltoken != code && ltoken != "" { if b.maxRetryCount > 0 { if err = up.IncreaseRetryCount(b.db, b.newUserObject()); err != nil { return user, err @@ -926,7 +927,7 @@ func (b *Builder) authUserLoginCode(account string, code string) (user interface } } - return user, nil + return user, u.ConsumeLoginCode(b.db, b.newUserObject()) } // return user if account exists even if there is an error returned @@ -968,7 +969,7 @@ func (b *Builder) authUserPass(account string, password string) (user interface{ return user, nil } -func (b *Builder) userCodeLogin(w http.ResponseWriter, r *http.Request) { +func (b *Builder) sendUserCodeLogin(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost { w.WriteHeader(http.StatusNotFound) return @@ -1004,13 +1005,16 @@ func (b *Builder) userCodeLogin(w http.ResponseWriter, r *http.Request) { account := r.FormValue("account") user, err = b.userModel.(UserLoginCoder).FindUserByPhoneNumber(b.db, b.newUserObject(), account) if err != nil { - if err == gorm.ErrRecordNotFound { + switch err { + case gorm.ErrRecordNotFound: SetFailCodeFlash(w, FailCodeUserNotFound) - http.Redirect(w, r, b.loginPageURL, http.StatusFound) - return + case ErrAccountNumberInvalid: + SetFailCodeFlash(w, FailCodeAccountNumberInvalid) + default: + log.Printf("failed to find user by phone number: %v", err) + SetFailCodeFlash(w, FailCodeSystemError) } - log.Printf("failed to find user by phone number: %v", err) - SetFailCodeFlash(w, FailCodeSystemError) + http.Redirect(w, r, b.loginPageURL, http.StatusFound) return } @@ -1022,15 +1026,19 @@ func (b *Builder) userCodeLogin(w http.ResponseWriter, r *http.Request) { // send login code to user loginCode, err := user.(UserLoginCoder).GenerateLoginCode(b.db, b.newUserObject()) - err = user.(UserLoginCodeSender).SendLoginCode(account, loginCode) + if err != nil { + log.Printf("failed to generate login code: %v", err) + SetFailCodeFlash(w, FailCodeSystemError) + return + } + err = user.(UserLoginCodeSender).SendLoginCode(r, account, loginCode) if err != nil { log.Printf("failed to send login code: %v", err) SetFailCodeFlash(w, FailCodeSystemError) return } - http.Redirect(w, r, b.validateLoginCodeURL, http.StatusFound) - return + web.Page(b.loginCodePageFunc).ServeHTTP(w, r) } func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { @@ -1056,7 +1064,7 @@ func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { }() account := r.FormValue("account") - loginCode := r.FormValue("code") + loginCode := r.FormValue("logincode") user, err = b.authUserLoginCode(account, loginCode) if err != nil { if err == ErrUserGetLocked && b.afterUserLockedHook != nil { @@ -1067,7 +1075,9 @@ func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { } var code FailCode switch err { - case ErrInvalidLoginCode, ErrUserNotFound: + case ErrInvalidLoginCode: + code = FailCodeInvalidLoginCode + case ErrUserNotFound: code = FailCodeIncorrectAccountNameOrPassword case ErrUserLocked, ErrUserGetLocked: code = FailCodeUserLocked @@ -1084,8 +1094,17 @@ func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { userID := objectID(user) claims := UserClaims{ - UserID: userID, - RegisteredClaims: b.genBaseSessionClaim(userID), + UserID: userID, + LoginCodeValidated: true, + RegisteredClaims: b.genBaseSessionClaim(userID), + } + + if b.afterLoginHook != nil { + setCookieForRequest(r, &http.Cookie{Name: b.authCookieName, Value: b.mustGetSessionToken(claims)}) + if err = b.wrapHook(b.afterLoginHook)(r, user); err != nil { + setNoticeOrPanic(w, err) + return + } } if err = b.setSecureCookiesByClaims(w, user, claims); err != nil { @@ -1894,7 +1913,7 @@ func (b *Builder) MountAPI(mux *http.ServeMux) { } if b.loginCodeEnabled { mux.HandleFunc(b.validateLoginCodeURL, b.loginCodeDo) - mux.HandleFunc(b.sendLoginCodeURL, b.userCodeLogin) + mux.HandleFunc(b.sendLoginCodeURL, b.sendUserCodeLogin) } if b.oauthEnabled { mux.HandleFunc(b.oauthBeginURL, b.beginAuth) diff --git a/login/claims.go b/login/claims.go index 8ab7c76a..da8a6f84 100644 --- a/login/claims.go +++ b/login/claims.go @@ -16,15 +16,16 @@ var ( ) type UserClaims struct { - Provider string - Email string - Name string - UserID string - AvatarURL string - Location string - IDToken string - PassUpdatedAt string - TOTPValidated bool + Provider string + Email string + Name string + UserID string + AvatarURL string + Location string + IDToken string + PassUpdatedAt string + TOTPValidated bool + LoginCodeValidated bool jwt.RegisteredClaims } diff --git a/login/messages.go b/login/messages.go index 8fb0f31c..26e18b46 100644 --- a/login/messages.go +++ b/login/messages.go @@ -61,7 +61,7 @@ type Messages struct { LoginCodePageTitle string LoginCodeTitle string LoginCodeEnterPrompt string - WhatsAppLoginCodePlaceholder string + LoginCodePlaceholder string ErrorSystemError string ErrorCompleteUserAuthFailed string @@ -133,10 +133,10 @@ var Messages_en_US = &Messages{ TOTPValidateCodeLabel: "Authenticator passcode", TOTPValidateCodePlaceholder: "Passcode", - LoginCodePageTitle: "Enter WhatsApp Code", - LoginCodeTitle: "Enter Code", - LoginCodeEnterPrompt: "Enter the code sent to your WhatsApp", - WhatsAppLoginCodePlaceholder: "Code", + LoginCodePageTitle: "Login Code", + LoginCodeTitle: "Enter Login Code", + LoginCodeEnterPrompt: "Enter the code sent to your mobile phone", + LoginCodePlaceholder: "Code", ErrorSystemError: "System Error", ErrorCompleteUserAuthFailed: "Complete User Auth Failed", @@ -209,7 +209,7 @@ var Messages_zh_CN = &Messages{ LoginCodePageTitle: "输入WhatsApp代码", LoginCodeTitle: "输入代码", LoginCodeEnterPrompt: "输入发送到您WhatsApp的代码", - WhatsAppLoginCodePlaceholder: "代码", + LoginCodePlaceholder: "代码", ErrorSystemError: "系统错误", ErrorCompleteUserAuthFailed: "用户认证失败", @@ -282,7 +282,7 @@ var Messages_ja_JP = &Messages{ LoginCodePageTitle: "WhatsAppコードを入力", LoginCodeTitle: "コードを入力", LoginCodeEnterPrompt: "WhatsAppに送信されたコードを入力してください", - WhatsAppLoginCodePlaceholder: "コード", + LoginCodePlaceholder: "コード", ErrorSystemError: "システムエラー", ErrorCompleteUserAuthFailed: "ユーザー認証に失敗しました", diff --git a/login/middleware.go b/login/middleware.go index 97ed21c7..ab18d334 100644 --- a/login/middleware.go +++ b/login/middleware.go @@ -66,6 +66,9 @@ func (b *Builder) Middleware(cfgs ...MiddlewareConfig) func(next http.Handler) h b.resetPasswordURL: {}, b.resetPasswordPageURL: {}, b.validateTOTPURL: {}, + b.loginCodePageURL: {}, + b.sendLoginCodeURL: {}, + b.validateLoginCodeURL: {}, } staticFileRe := regexp.MustCompile(`\.(css|js|gif|jpg|jpeg|png|ico|svg|ttf|eot|woff|woff2|js\.map)$`) @@ -106,7 +109,11 @@ func (b *Builder) Middleware(cfgs ...MiddlewareConfig) func(next http.Handler) h var err error user, err = b.findUserByID(claims.UserID) if err == nil { - if claims.Provider == "" { + if claims.LoginCodeValidated { + if user.(UserPasser).GetLocked() { + err = ErrUserLocked + } + } else if claims.Provider == "" { if user.(UserPasser).GetPasswordUpdatedAt() != claims.PassUpdatedAt { err = ErrPasswordChanged } diff --git a/login/user_logincode.go b/login/user_logincode.go index d721ec71..a9251076 100644 --- a/login/user_logincode.go +++ b/login/user_logincode.go @@ -1,9 +1,11 @@ package login import ( - "encoding/base64" "fmt" + "net/http" + "strings" "time" + "unicode" "github.com/google/uuid" "gorm.io/gorm" @@ -18,27 +20,52 @@ type UserLoginCoder interface { } type UserLoginCodeSender interface { - SendLoginCode(phoneNumber string, code string) error + SendLoginCode(r *http.Request, phoneNumber string, code string) error } type UserLoginCode struct { - PhoneNumber string `gorm:"index:,unique,where:phone_number!='' and deleted_at is null"` - ConfirmedAt *time.Time - LoginToken string `gorm:"index:,unique,where:login_token!=''"` - LoginCreatedAt *time.Time - LoginTokenExpiredAt *time.Time + PhoneNumber string `gorm:"index:,unique,where:phone_number!='' and deleted_at is null"` + ConfirmedAt *time.Time + LoginCode string `gorm:"index:,unique,where:login_code!=''"` + LoginCreatedAt *time.Time + LoginCodeExpiredAt *time.Time } -//var _ UserLoginCoder = (*UserLoginCode)(nil) +var _ UserLoginCoder = (*UserLoginCode)(nil) + +const minPhoneNumberLength = 8 + +func numbersOnly(s string) string { + return strings.Map(func(r rune) rune { + if unicode.IsNumber(r) { + return r + } + return -1 + }, s) +} func (up *UserLoginCode) FindUserByPhoneNumber(db *gorm.DB, model interface{}, phoneNumber string) (user interface{}, err error) { - err = db.Where("phone_number = ?", phoneNumber). - First(model). - Error - if err != nil { - return nil, err + phoneNumber = numbersOnly(phoneNumber) + if len(phoneNumber) < minPhoneNumberLength { + return nil, ErrAccountNumberInvalid + } + // Logic here is to try to find the phone number in the database, even + // if the user did not enter the international code. So we use a LIKE + // to check if there are more than one user with the same ending digits. + // If there are, we need more numbers. Otherwise, we can assume it's the correct user. + result := db.Model(model).Where("phone_number like ?", fmt.Sprintf("%%%s", phoneNumber)). + First(model) + if result.Error != nil { + return nil, result.Error + } + switch result.RowsAffected { + case 0: + return nil, gorm.ErrRecordNotFound + case 1: + return model, nil + default: + return nil, ErrAccountNumberInvalid } - return model, nil } func (up *UserLoginCode) GetPhoneNumber() string { @@ -50,8 +77,8 @@ func (up *UserLoginCode) GenerateLoginCodeExpiration(db *gorm.DB) (createdAt tim return createdAt, createdAt.Add(10 * time.Minute) } -func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (token string, err error) { - token = base64.URLEncoding.EncodeToString([]byte(uuid.NewString())) +func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (code string, err error) { + code = fmt.Sprintf("%06d", uuid.New().ID()%1000000) iface, ok := model.(interface { GenerateLoginCodeExpiration(db *gorm.DB) (createdAt time.Time, expiredAt time.Time) @@ -62,52 +89,61 @@ func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (toke createdAt, expiredAt := iface.GenerateLoginCodeExpiration(db) - err = db.Model(model). - Where("login_code = ?", up.PhoneNumber). + result := db.Model(model). + Where("phone_number = ?", numbersOnly(up.PhoneNumber)). Updates(map[string]interface{}{ - "login_token": token, - "login_created_at": createdAt, - "login_token_expired_at": expiredAt, - }). - Error - if err != nil { - return "", err + "login_code": code, + "login_created_at": createdAt, + "login_code_expired_at": expiredAt, + }) + if result.Error != nil { + return "", result.Error + } + if result.RowsAffected != 1 { + return "", gorm.ErrRecordNotFound } - up.LoginToken = token + up.LoginCode = code up.LoginCreatedAt = &createdAt - up.LoginTokenExpiredAt = &expiredAt - return token, nil + up.LoginCodeExpiredAt = &expiredAt + return code, nil } func (up *UserLoginCode) ConsumeLoginCode(db *gorm.DB, model interface{}) error { + now := time.Now() err := db.Model(model). - Where("login_code = ?", up.PhoneNumber). + Where("phone_number = ?", numbersOnly(up.PhoneNumber)). Updates(map[string]interface{}{ - "login_token_expired_at": time.Now(), + "login_code_expired_at": now, + "login_code": "", }). Error if err != nil { return err } + up.LoginCode = "" + up.LoginCodeExpiredAt = &now return nil } func (up *UserLoginCode) GetLoginCode() (token string, createdAt *time.Time, expired bool) { - if up.LoginTokenExpiredAt != nil && time.Since(*up.LoginTokenExpiredAt) > 0 { + if up.LoginCodeExpiredAt != nil && time.Since(*up.LoginCodeExpiredAt) > 0 { return "", nil, true } - return up.LoginToken, up.LoginCreatedAt, false + return up.LoginCode, up.LoginCreatedAt, false } func (up *UserLoginCode) SetConfirmTime(db *gorm.DB, model interface{}) error { now := time.Now() - err := db.Model(model). - Where("login_code = ?", up.PhoneNumber). - Update("confirmed_at", now). - Error - if err != nil { - return err + result := db.Model(model). + Where("phone_number = ?", numbersOnly(up.PhoneNumber)). + Update("confirmed_at", now) + if result.Error != nil { + return result.Error } + if result.RowsAffected != 1 { + return gorm.ErrRecordNotFound + } + up.ConfirmedAt = &now return nil } diff --git a/login/views.go b/login/views.go index 66789a97..5729a7f5 100644 --- a/login/views.go +++ b/login/views.go @@ -492,7 +492,8 @@ func defaultLoginCodeValidatePageFunc(vh *ViewHelper) web.PageFunc { Label(msgr.LoginCodeEnterPrompt), ), Form( - Input("logincode").Placeholder(msgr.WhatsAppLoginCodePlaceholder). + Input("account").Type("hidden").Value(ctx.R.URL.Query().Get("account")), + Input("logincode").Placeholder(msgr.LoginCodePlaceholder). Class(DefaultViewCommon.InputClass). Class("mt-6"). Attr("autofocus", true), From d82deeafcf25ff6865440865f34bacda01a97b82 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Sun, 7 Sep 2025 15:46:05 -0300 Subject: [PATCH 06/13] feat: add account number validation and corresponding error messages --- login/builder.go | 17 +++++++++-------- login/messages.go | 2 ++ login/user_logincode.go | 32 ++++++++++++++------------------ login/view_helper.go | 2 ++ 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/login/builder.go b/login/builder.go index ed3f8b6d..479967f8 100644 --- a/login/builder.go +++ b/login/builder.go @@ -130,7 +130,6 @@ type Builder struct { totpSetupPageFunc web.PageFunc totpValidatePageFunc web.PageFunc loginCodePageFunc web.PageFunc - loginCodeValidateFunc web.PageFunc // Hooks beforeSetPasswordHook HookFunc @@ -393,11 +392,6 @@ func (b *Builder) LoginCodePageFunc(v web.PageFunc) (r *Builder) { return b } -func (b *Builder) LoginCodeValidatePageFunc(v web.PageFunc) (r *Builder) { - b.loginCodeValidateFunc = v - return b -} - func (b *Builder) wrapHook(v HookFunc) HookFunc { if v == nil { return nil @@ -1024,8 +1018,15 @@ func (b *Builder) sendUserCodeLogin(w http.ResponseWriter, r *http.Request) { return } + uc, ok := user.(UserLoginCoder) + if !ok { + log.Printf("user does not implement UserLoginCoder: %v", user) + SetFailCodeFlash(w, FailCodeSystemError) + return + } + // send login code to user - loginCode, err := user.(UserLoginCoder).GenerateLoginCode(b.db, b.newUserObject()) + loginCode, err := uc.GenerateLoginCode(b.db, b.newUserObject()) if err != nil { log.Printf("failed to generate login code: %v", err) SetFailCodeFlash(w, FailCodeSystemError) @@ -1098,7 +1099,7 @@ func (b *Builder) loginCodeDo(w http.ResponseWriter, r *http.Request) { LoginCodeValidated: true, RegisteredClaims: b.genBaseSessionClaim(userID), } - + if b.afterLoginHook != nil { setCookieForRequest(r, &http.Cookie{Name: b.authCookieName, Value: b.mustGetSessionToken(claims)}) if err = b.wrapHook(b.afterLoginHook)(r, user); err != nil { diff --git a/login/messages.go b/login/messages.go index 26e18b46..f407d718 100644 --- a/login/messages.go +++ b/login/messages.go @@ -69,6 +69,7 @@ type Messages struct { ErrorIncorrectAccountNameOrPassword string ErrorUserLocked string ErrorAccountIsRequired string + ErrorAccountNumberInvalid string ErrorPasswordCannotBeEmpty string ErrorPasswordNotMatch string ErrorIncorrectPassword string @@ -144,6 +145,7 @@ var Messages_en_US = &Messages{ ErrorIncorrectAccountNameOrPassword: "Incorrect email or password", ErrorUserLocked: "User Locked", ErrorAccountIsRequired: "Email is required", + ErrorAccountNumberInvalid: "Account number is invalid", ErrorPasswordCannotBeEmpty: "Password cannot be empty", ErrorPasswordNotMatch: "The new passwords do not match. Please try again.", ErrorIncorrectPassword: "Unable to change password. Please check your inputs and try again.", diff --git a/login/user_logincode.go b/login/user_logincode.go index a9251076..4549a711 100644 --- a/login/user_logincode.go +++ b/login/user_logincode.go @@ -3,9 +3,8 @@ package login import ( "fmt" "net/http" - "strings" + "regexp" "time" - "unicode" "github.com/google/uuid" "gorm.io/gorm" @@ -35,17 +34,10 @@ var _ UserLoginCoder = (*UserLoginCode)(nil) const minPhoneNumberLength = 8 -func numbersOnly(s string) string { - return strings.Map(func(r rune) rune { - if unicode.IsNumber(r) { - return r - } - return -1 - }, s) -} +var removeNonNumeric = regexp.MustCompile(`\D`) func (up *UserLoginCode) FindUserByPhoneNumber(db *gorm.DB, model interface{}, phoneNumber string) (user interface{}, err error) { - phoneNumber = numbersOnly(phoneNumber) + phoneNumber = removeNonNumeric.ReplaceAllString(phoneNumber, "") if len(phoneNumber) < minPhoneNumberLength { return nil, ErrAccountNumberInvalid } @@ -53,19 +45,23 @@ func (up *UserLoginCode) FindUserByPhoneNumber(db *gorm.DB, model interface{}, p // if the user did not enter the international code. So we use a LIKE // to check if there are more than one user with the same ending digits. // If there are, we need more numbers. Otherwise, we can assume it's the correct user. - result := db.Model(model).Where("phone_number like ?", fmt.Sprintf("%%%s", phoneNumber)). - First(model) + likeClause := fmt.Sprintf("%%%s", phoneNumber) + var nphones int64 + result := db.Model(model).Where("phone_number like ?", likeClause). + Count(&nphones) if result.Error != nil { return nil, result.Error } - switch result.RowsAffected { + switch nphones { case 0: return nil, gorm.ErrRecordNotFound case 1: - return model, nil + result = db.Model(model).Where("phone_number like ?", likeClause). + First(model) default: return nil, ErrAccountNumberInvalid } + return model, result.Error } func (up *UserLoginCode) GetPhoneNumber() string { @@ -90,7 +86,7 @@ func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (code createdAt, expiredAt := iface.GenerateLoginCodeExpiration(db) result := db.Model(model). - Where("phone_number = ?", numbersOnly(up.PhoneNumber)). + Where("phone_number = ?", removeNonNumeric.ReplaceAllString(up.PhoneNumber, "")). Updates(map[string]interface{}{ "login_code": code, "login_created_at": createdAt, @@ -111,7 +107,7 @@ func (up *UserLoginCode) GenerateLoginCode(db *gorm.DB, model interface{}) (code func (up *UserLoginCode) ConsumeLoginCode(db *gorm.DB, model interface{}) error { now := time.Now() err := db.Model(model). - Where("phone_number = ?", numbersOnly(up.PhoneNumber)). + Where("phone_number = ?", removeNonNumeric.ReplaceAllString(up.PhoneNumber, "")). Updates(map[string]interface{}{ "login_code_expired_at": now, "login_code": "", @@ -135,7 +131,7 @@ func (up *UserLoginCode) GetLoginCode() (token string, createdAt *time.Time, exp func (up *UserLoginCode) SetConfirmTime(db *gorm.DB, model interface{}) error { now := time.Now() result := db.Model(model). - Where("phone_number = ?", numbersOnly(up.PhoneNumber)). + Where("phone_number = ?", removeNonNumeric.ReplaceAllString(up.PhoneNumber, "")). Update("confirmed_at", now) if result.Error != nil { return result.Error diff --git a/login/view_helper.go b/login/view_helper.go index ec0a47c9..5ccdd533 100644 --- a/login/view_helper.go +++ b/login/view_helper.go @@ -292,6 +292,8 @@ func (vh *ViewHelper) GetFailFlashMessage(msgr *Messages, w http.ResponseWriter, return msgr.ErrorTOTPCodeReused case FailCodeIncorrectRecaptchaToken: return msgr.ErrorIncorrectRecaptchaToken + case FailCodeAccountNumberInvalid: + return msgr.ErrorAccountNumberInvalid case FailCodeInvalidLoginCode: return msgr.ErrorInvalidLoginCode case FailCodeLoginTokenExpired: From 1327972671b5a2493de98cf8e64556ff7ad0f2aa Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Sun, 7 Sep 2025 21:22:33 -0300 Subject: [PATCH 07/13] fix: update vuetify CSS version to 3.7.18 in cssComponentsPack function --- ui/vuetifyx/vuetifyxjs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/vuetifyx/vuetifyxjs.go b/ui/vuetifyx/vuetifyxjs.go index 8d295d5e..575d5a63 100644 --- a/ui/vuetifyx/vuetifyxjs.go +++ b/ui/vuetifyx/vuetifyxjs.go @@ -32,7 +32,7 @@ func cssComponentsPack() web.ComponentsPack { if customizeVuetifyCSS { v, err = vuetifyx.ReadFile("vuetifyxjs/dist/assets/vuetifyx.min.css") } else { - v, err = assetsbox.ReadFile("buildinAsserts/vuetify.min.3.6.14.css") + v, err = assetsbox.ReadFile("buildinAsserts/vuetify.min.3.7.18.css") } if err != nil { panic(err) From 3745dabf5ed942eb43783f5c453977a934b1e2e8 Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Mon, 29 Sep 2025 08:58:06 -0300 Subject: [PATCH 08/13] refactor: comment out unnecessary GET method check in Middleware function --- login/middleware.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/login/middleware.go b/login/middleware.go index ab18d334..8c892ab5 100644 --- a/login/middleware.go +++ b/login/middleware.go @@ -92,9 +92,9 @@ func (b *Builder) Middleware(cfgs ...MiddlewareConfig) func(next http.Handler) h next.ServeHTTP(w, r) return } - if r.Method == http.MethodGet { + // if r.Method == http.MethodGet { b.setContinueURL(w, r) - } + // } if path == b.loginPageURL { next.ServeHTTP(w, r) } else { From 530c2e63beb2e9a15939d0b060ceaf88039961bc Mon Sep 17 00:00:00 2001 From: Eider Oliveira Date: Tue, 11 Nov 2025 09:21:19 -0300 Subject: [PATCH 09/13] feat: update package.json to include only built dependencies and bump pnpm version fix: add decimal separator support in VXField.vue build: configure Vite to disable minification and change entry file name chore: add generated vuetifyx.js to distribution --- ui/vuetifyx/vuetifyxjs.go | 2 +- .../vuetifyxjs/dist/assets/vuetifyx.min.css | 57194 ++++- ui/vuetifyx/vuetifyxjs/dist/vuetifyx.js | 170257 +++++++++++++++ ui/vuetifyx/vuetifyxjs/dist/vuetifyx.min.js | 290 - ui/vuetifyx/vuetifyxjs/package.json | 12 +- .../vuetifyxjs/src/lib/Form/VXField.vue | 7 + ui/vuetifyx/vuetifyxjs/vite.config.ts | 3 +- 7 files changed, 227468 insertions(+), 297 deletions(-) create mode 100644 ui/vuetifyx/vuetifyxjs/dist/vuetifyx.js delete mode 100644 ui/vuetifyx/vuetifyxjs/dist/vuetifyx.min.js diff --git a/ui/vuetifyx/vuetifyxjs.go b/ui/vuetifyx/vuetifyxjs.go index 575d5a63..6e70cc4d 100644 --- a/ui/vuetifyx/vuetifyxjs.go +++ b/ui/vuetifyx/vuetifyxjs.go @@ -16,7 +16,7 @@ var vuetifyx embed.FS var assetsbox embed.FS func JSComponentsPack() web.ComponentsPack { - v, err := vuetifyx.ReadFile("vuetifyxjs/dist/vuetifyx.min.js") + v, err := vuetifyx.ReadFile("vuetifyxjs/dist/vuetifyx.js") if err != nil { panic(err) } diff --git a/ui/vuetifyx/vuetifyxjs/dist/assets/vuetifyx.min.css b/ui/vuetifyx/vuetifyxjs/dist/assets/vuetifyx.min.css index e2262a10..8141dfe9 100644 --- a/ui/vuetifyx/vuetifyxjs/dist/assets/vuetifyx.min.css +++ b/ui/vuetifyx/vuetifyxjs/dist/assets/vuetifyx.min.css @@ -1,5 +1,57195 @@ -@charset "UTF-8";@font-face{font-family:Material Design Icons;src:url(/assets/materialdesignicons-webfont.eot?v=7.4.47);src:url(/assets/materialdesignicons-webfont.eot?#iefix&v=7.4.47) format("embedded-opentype"),url(/assets/materialdesignicons-webfont.woff2?v=7.4.47) format("woff2"),url(/assets/materialdesignicons-webfont.woff?v=7.4.47) format("woff"),url(/assets/materialdesignicons-webfont.ttf?v=7.4.47) format("truetype");font-weight:400;font-style:normal}.mdi:before,.mdi-set{display:inline-block;font: 24px/1 Material Design Icons;font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-ab-testing:before{content:"󰇉"}.mdi-abacus:before{content:"󱛠"}.mdi-abjad-arabic:before{content:"󱌨"}.mdi-abjad-hebrew:before{content:"󱌩"}.mdi-abugida-devanagari:before{content:"󱌪"}.mdi-abugida-thai:before{content:"󱌫"}.mdi-access-point:before{content:"󰀃"}.mdi-access-point-check:before{content:"󱔸"}.mdi-access-point-minus:before{content:"󱔹"}.mdi-access-point-network:before{content:"󰀂"}.mdi-access-point-network-off:before{content:"󰯡"}.mdi-access-point-off:before{content:"󱔑"}.mdi-access-point-plus:before{content:"󱔺"}.mdi-access-point-remove:before{content:"󱔻"}.mdi-account:before{content:"󰀄"}.mdi-account-alert:before{content:"󰀅"}.mdi-account-alert-outline:before{content:"󰭐"}.mdi-account-arrow-down:before{content:"󱡨"}.mdi-account-arrow-down-outline:before{content:"󱡩"}.mdi-account-arrow-left:before{content:"󰭑"}.mdi-account-arrow-left-outline:before{content:"󰭒"}.mdi-account-arrow-right:before{content:"󰭓"}.mdi-account-arrow-right-outline:before{content:"󰭔"}.mdi-account-arrow-up:before{content:"󱡧"}.mdi-account-arrow-up-outline:before{content:"󱡪"}.mdi-account-badge:before{content:"󱬊"}.mdi-account-badge-outline:before{content:"󱬋"}.mdi-account-box:before{content:"󰀆"}.mdi-account-box-edit-outline:before{content:"󱳈"}.mdi-account-box-minus-outline:before{content:"󱳉"}.mdi-account-box-multiple:before{content:"󰤴"}.mdi-account-box-multiple-outline:before{content:"󱀊"}.mdi-account-box-outline:before{content:"󰀇"}.mdi-account-box-plus-outline:before{content:"󱳊"}.mdi-account-cancel:before{content:"󱋟"}.mdi-account-cancel-outline:before{content:"󱋠"}.mdi-account-card:before{content:"󱮤"}.mdi-account-card-outline:before{content:"󱮥"}.mdi-account-cash:before{content:"󱂗"}.mdi-account-cash-outline:before{content:"󱂘"}.mdi-account-check:before{content:"󰀈"}.mdi-account-check-outline:before{content:"󰯢"}.mdi-account-child:before{content:"󰪉"}.mdi-account-child-circle:before{content:"󰪊"}.mdi-account-child-outline:before{content:"󱃈"}.mdi-account-circle:before{content:"󰀉"}.mdi-account-circle-outline:before{content:"󰭕"}.mdi-account-clock:before{content:"󰭖"}.mdi-account-clock-outline:before{content:"󰭗"}.mdi-account-cog:before{content:"󱍰"}.mdi-account-cog-outline:before{content:"󱍱"}.mdi-account-convert:before{content:"󰀊"}.mdi-account-convert-outline:before{content:"󱌁"}.mdi-account-cowboy-hat:before{content:"󰺛"}.mdi-account-cowboy-hat-outline:before{content:"󱟳"}.mdi-account-credit-card:before{content:"󱮦"}.mdi-account-credit-card-outline:before{content:"󱮧"}.mdi-account-details:before{content:"󰘱"}.mdi-account-details-outline:before{content:"󱍲"}.mdi-account-edit:before{content:"󰚼"}.mdi-account-edit-outline:before{content:"󰿻"}.mdi-account-eye:before{content:"󰐠"}.mdi-account-eye-outline:before{content:"󱉻"}.mdi-account-file:before{content:"󱲧"}.mdi-account-file-outline:before{content:"󱲨"}.mdi-account-file-text:before{content:"󱲩"}.mdi-account-file-text-outline:before{content:"󱲪"}.mdi-account-filter:before{content:"󰤶"}.mdi-account-filter-outline:before{content:"󰾝"}.mdi-account-group:before{content:"󰡉"}.mdi-account-group-outline:before{content:"󰭘"}.mdi-account-hard-hat:before{content:"󰖵"}.mdi-account-hard-hat-outline:before{content:"󱨟"}.mdi-account-heart:before{content:"󰢙"}.mdi-account-heart-outline:before{content:"󰯣"}.mdi-account-injury:before{content:"󱠕"}.mdi-account-injury-outline:before{content:"󱠖"}.mdi-account-key:before{content:"󰀋"}.mdi-account-key-outline:before{content:"󰯤"}.mdi-account-lock:before{content:"󱅞"}.mdi-account-lock-open:before{content:"󱥠"}.mdi-account-lock-open-outline:before{content:"󱥡"}.mdi-account-lock-outline:before{content:"󱅟"}.mdi-account-minus:before{content:"󰀍"}.mdi-account-minus-outline:before{content:"󰫬"}.mdi-account-multiple:before{content:"󰀎"}.mdi-account-multiple-check:before{content:"󰣅"}.mdi-account-multiple-check-outline:before{content:"󱇾"}.mdi-account-multiple-minus:before{content:"󰗓"}.mdi-account-multiple-minus-outline:before{content:"󰯥"}.mdi-account-multiple-outline:before{content:"󰀏"}.mdi-account-multiple-plus:before{content:"󰀐"}.mdi-account-multiple-plus-outline:before{content:"󰠀"}.mdi-account-multiple-remove:before{content:"󱈊"}.mdi-account-multiple-remove-outline:before{content:"󱈋"}.mdi-account-music:before{content:"󰠃"}.mdi-account-music-outline:before{content:"󰳩"}.mdi-account-network:before{content:"󰀑"}.mdi-account-network-off:before{content:"󱫱"}.mdi-account-network-off-outline:before{content:"󱫲"}.mdi-account-network-outline:before{content:"󰯦"}.mdi-account-off:before{content:"󰀒"}.mdi-account-off-outline:before{content:"󰯧"}.mdi-account-outline:before{content:"󰀓"}.mdi-account-plus:before{content:"󰀔"}.mdi-account-plus-outline:before{content:"󰠁"}.mdi-account-question:before{content:"󰭙"}.mdi-account-question-outline:before{content:"󰭚"}.mdi-account-reactivate:before{content:"󱔫"}.mdi-account-reactivate-outline:before{content:"󱔬"}.mdi-account-remove:before{content:"󰀕"}.mdi-account-remove-outline:before{content:"󰫭"}.mdi-account-school:before{content:"󱨠"}.mdi-account-school-outline:before{content:"󱨡"}.mdi-account-search:before{content:"󰀖"}.mdi-account-search-outline:before{content:"󰤵"}.mdi-account-settings:before{content:"󰘰"}.mdi-account-settings-outline:before{content:"󱃉"}.mdi-account-star:before{content:"󰀗"}.mdi-account-star-outline:before{content:"󰯨"}.mdi-account-supervisor:before{content:"󰪋"}.mdi-account-supervisor-circle:before{content:"󰪌"}.mdi-account-supervisor-circle-outline:before{content:"󱓬"}.mdi-account-supervisor-outline:before{content:"󱄭"}.mdi-account-switch:before{content:"󰀙"}.mdi-account-switch-outline:before{content:"󰓋"}.mdi-account-sync:before{content:"󱤛"}.mdi-account-sync-outline:before{content:"󱤜"}.mdi-account-tag:before{content:"󱰛"}.mdi-account-tag-outline:before{content:"󱰜"}.mdi-account-tie:before{content:"󰳣"}.mdi-account-tie-hat:before{content:"󱢘"}.mdi-account-tie-hat-outline:before{content:"󱢙"}.mdi-account-tie-outline:before{content:"󱃊"}.mdi-account-tie-voice:before{content:"󱌈"}.mdi-account-tie-voice-off:before{content:"󱌊"}.mdi-account-tie-voice-off-outline:before{content:"󱌋"}.mdi-account-tie-voice-outline:before{content:"󱌉"}.mdi-account-tie-woman:before{content:"󱪌"}.mdi-account-voice:before{content:"󰗋"}.mdi-account-voice-off:before{content:"󰻔"}.mdi-account-wrench:before{content:"󱢚"}.mdi-account-wrench-outline:before{content:"󱢛"}.mdi-adjust:before{content:"󰀚"}.mdi-advertisements:before{content:"󱤪"}.mdi-advertisements-off:before{content:"󱤫"}.mdi-air-conditioner:before{content:"󰀛"}.mdi-air-filter:before{content:"󰵃"}.mdi-air-horn:before{content:"󰶬"}.mdi-air-humidifier:before{content:"󱂙"}.mdi-air-humidifier-off:before{content:"󱑦"}.mdi-air-purifier:before{content:"󰵄"}.mdi-air-purifier-off:before{content:"󱭗"}.mdi-airbag:before{content:"󰯩"}.mdi-airballoon:before{content:"󰀜"}.mdi-airballoon-outline:before{content:"󱀋"}.mdi-airplane:before{content:"󰀝"}.mdi-airplane-alert:before{content:"󱡺"}.mdi-airplane-check:before{content:"󱡻"}.mdi-airplane-clock:before{content:"󱡼"}.mdi-airplane-cog:before{content:"󱡽"}.mdi-airplane-edit:before{content:"󱡾"}.mdi-airplane-landing:before{content:"󰗔"}.mdi-airplane-marker:before{content:"󱡿"}.mdi-airplane-minus:before{content:"󱢀"}.mdi-airplane-off:before{content:"󰀞"}.mdi-airplane-plus:before{content:"󱢁"}.mdi-airplane-remove:before{content:"󱢂"}.mdi-airplane-search:before{content:"󱢃"}.mdi-airplane-settings:before{content:"󱢄"}.mdi-airplane-takeoff:before{content:"󰗕"}.mdi-airport:before{content:"󰡋"}.mdi-alarm:before{content:"󰀠"}.mdi-alarm-bell:before{content:"󰞎"}.mdi-alarm-check:before{content:"󰀡"}.mdi-alarm-light:before{content:"󰞏"}.mdi-alarm-light-off:before{content:"󱜞"}.mdi-alarm-light-off-outline:before{content:"󱜟"}.mdi-alarm-light-outline:before{content:"󰯪"}.mdi-alarm-multiple:before{content:"󰀢"}.mdi-alarm-note:before{content:"󰹱"}.mdi-alarm-note-off:before{content:"󰹲"}.mdi-alarm-off:before{content:"󰀣"}.mdi-alarm-panel:before{content:"󱗄"}.mdi-alarm-panel-outline:before{content:"󱗅"}.mdi-alarm-plus:before{content:"󰀤"}.mdi-alarm-snooze:before{content:"󰚎"}.mdi-album:before{content:"󰀥"}.mdi-alert:before{content:"󰀦"}.mdi-alert-box:before{content:"󰀧"}.mdi-alert-box-outline:before{content:"󰳤"}.mdi-alert-circle:before{content:"󰀨"}.mdi-alert-circle-check:before{content:"󱇭"}.mdi-alert-circle-check-outline:before{content:"󱇮"}.mdi-alert-circle-outline:before{content:"󰗖"}.mdi-alert-decagram:before{content:"󰚽"}.mdi-alert-decagram-outline:before{content:"󰳥"}.mdi-alert-minus:before{content:"󱒻"}.mdi-alert-minus-outline:before{content:"󱒾"}.mdi-alert-octagon:before{content:"󰀩"}.mdi-alert-octagon-outline:before{content:"󰳦"}.mdi-alert-octagram:before{content:"󰝧"}.mdi-alert-octagram-outline:before{content:"󰳧"}.mdi-alert-outline:before{content:"󰀪"}.mdi-alert-plus:before{content:"󱒺"}.mdi-alert-plus-outline:before{content:"󱒽"}.mdi-alert-remove:before{content:"󱒼"}.mdi-alert-remove-outline:before{content:"󱒿"}.mdi-alert-rhombus:before{content:"󱇎"}.mdi-alert-rhombus-outline:before{content:"󱇏"}.mdi-alien:before{content:"󰢚"}.mdi-alien-outline:before{content:"󱃋"}.mdi-align-horizontal-center:before{content:"󱇃"}.mdi-align-horizontal-distribute:before{content:"󱥢"}.mdi-align-horizontal-left:before{content:"󱇂"}.mdi-align-horizontal-right:before{content:"󱇄"}.mdi-align-vertical-bottom:before{content:"󱇅"}.mdi-align-vertical-center:before{content:"󱇆"}.mdi-align-vertical-distribute:before{content:"󱥣"}.mdi-align-vertical-top:before{content:"󱇇"}.mdi-all-inclusive:before{content:"󰚾"}.mdi-all-inclusive-box:before{content:"󱢍"}.mdi-all-inclusive-box-outline:before{content:"󱢎"}.mdi-allergy:before{content:"󱉘"}.mdi-alpha:before{content:"󰀫"}.mdi-alpha-a:before{content:"󰫮"}.mdi-alpha-a-box:before{content:"󰬈"}.mdi-alpha-a-box-outline:before{content:"󰯫"}.mdi-alpha-a-circle:before{content:"󰯬"}.mdi-alpha-a-circle-outline:before{content:"󰯭"}.mdi-alpha-b:before{content:"󰫯"}.mdi-alpha-b-box:before{content:"󰬉"}.mdi-alpha-b-box-outline:before{content:"󰯮"}.mdi-alpha-b-circle:before{content:"󰯯"}.mdi-alpha-b-circle-outline:before{content:"󰯰"}.mdi-alpha-c:before{content:"󰫰"}.mdi-alpha-c-box:before{content:"󰬊"}.mdi-alpha-c-box-outline:before{content:"󰯱"}.mdi-alpha-c-circle:before{content:"󰯲"}.mdi-alpha-c-circle-outline:before{content:"󰯳"}.mdi-alpha-d:before{content:"󰫱"}.mdi-alpha-d-box:before{content:"󰬋"}.mdi-alpha-d-box-outline:before{content:"󰯴"}.mdi-alpha-d-circle:before{content:"󰯵"}.mdi-alpha-d-circle-outline:before{content:"󰯶"}.mdi-alpha-e:before{content:"󰫲"}.mdi-alpha-e-box:before{content:"󰬌"}.mdi-alpha-e-box-outline:before{content:"󰯷"}.mdi-alpha-e-circle:before{content:"󰯸"}.mdi-alpha-e-circle-outline:before{content:"󰯹"}.mdi-alpha-f:before{content:"󰫳"}.mdi-alpha-f-box:before{content:"󰬍"}.mdi-alpha-f-box-outline:before{content:"󰯺"}.mdi-alpha-f-circle:before{content:"󰯻"}.mdi-alpha-f-circle-outline:before{content:"󰯼"}.mdi-alpha-g:before{content:"󰫴"}.mdi-alpha-g-box:before{content:"󰬎"}.mdi-alpha-g-box-outline:before{content:"󰯽"}.mdi-alpha-g-circle:before{content:"󰯾"}.mdi-alpha-g-circle-outline:before{content:"󰯿"}.mdi-alpha-h:before{content:"󰫵"}.mdi-alpha-h-box:before{content:"󰬏"}.mdi-alpha-h-box-outline:before{content:"󰰀"}.mdi-alpha-h-circle:before{content:"󰰁"}.mdi-alpha-h-circle-outline:before{content:"󰰂"}.mdi-alpha-i:before{content:"󰫶"}.mdi-alpha-i-box:before{content:"󰬐"}.mdi-alpha-i-box-outline:before{content:"󰰃"}.mdi-alpha-i-circle:before{content:"󰰄"}.mdi-alpha-i-circle-outline:before{content:"󰰅"}.mdi-alpha-j:before{content:"󰫷"}.mdi-alpha-j-box:before{content:"󰬑"}.mdi-alpha-j-box-outline:before{content:"󰰆"}.mdi-alpha-j-circle:before{content:"󰰇"}.mdi-alpha-j-circle-outline:before{content:"󰰈"}.mdi-alpha-k:before{content:"󰫸"}.mdi-alpha-k-box:before{content:"󰬒"}.mdi-alpha-k-box-outline:before{content:"󰰉"}.mdi-alpha-k-circle:before{content:"󰰊"}.mdi-alpha-k-circle-outline:before{content:"󰰋"}.mdi-alpha-l:before{content:"󰫹"}.mdi-alpha-l-box:before{content:"󰬓"}.mdi-alpha-l-box-outline:before{content:"󰰌"}.mdi-alpha-l-circle:before{content:"󰰍"}.mdi-alpha-l-circle-outline:before{content:"󰰎"}.mdi-alpha-m:before{content:"󰫺"}.mdi-alpha-m-box:before{content:"󰬔"}.mdi-alpha-m-box-outline:before{content:"󰰏"}.mdi-alpha-m-circle:before{content:"󰰐"}.mdi-alpha-m-circle-outline:before{content:"󰰑"}.mdi-alpha-n:before{content:"󰫻"}.mdi-alpha-n-box:before{content:"󰬕"}.mdi-alpha-n-box-outline:before{content:"󰰒"}.mdi-alpha-n-circle:before{content:"󰰓"}.mdi-alpha-n-circle-outline:before{content:"󰰔"}.mdi-alpha-o:before{content:"󰫼"}.mdi-alpha-o-box:before{content:"󰬖"}.mdi-alpha-o-box-outline:before{content:"󰰕"}.mdi-alpha-o-circle:before{content:"󰰖"}.mdi-alpha-o-circle-outline:before{content:"󰰗"}.mdi-alpha-p:before{content:"󰫽"}.mdi-alpha-p-box:before{content:"󰬗"}.mdi-alpha-p-box-outline:before{content:"󰰘"}.mdi-alpha-p-circle:before{content:"󰰙"}.mdi-alpha-p-circle-outline:before{content:"󰰚"}.mdi-alpha-q:before{content:"󰫾"}.mdi-alpha-q-box:before{content:"󰬘"}.mdi-alpha-q-box-outline:before{content:"󰰛"}.mdi-alpha-q-circle:before{content:"󰰜"}.mdi-alpha-q-circle-outline:before{content:"󰰝"}.mdi-alpha-r:before{content:"󰫿"}.mdi-alpha-r-box:before{content:"󰬙"}.mdi-alpha-r-box-outline:before{content:"󰰞"}.mdi-alpha-r-circle:before{content:"󰰟"}.mdi-alpha-r-circle-outline:before{content:"󰰠"}.mdi-alpha-s:before{content:"󰬀"}.mdi-alpha-s-box:before{content:"󰬚"}.mdi-alpha-s-box-outline:before{content:"󰰡"}.mdi-alpha-s-circle:before{content:"󰰢"}.mdi-alpha-s-circle-outline:before{content:"󰰣"}.mdi-alpha-t:before{content:"󰬁"}.mdi-alpha-t-box:before{content:"󰬛"}.mdi-alpha-t-box-outline:before{content:"󰰤"}.mdi-alpha-t-circle:before{content:"󰰥"}.mdi-alpha-t-circle-outline:before{content:"󰰦"}.mdi-alpha-u:before{content:"󰬂"}.mdi-alpha-u-box:before{content:"󰬜"}.mdi-alpha-u-box-outline:before{content:"󰰧"}.mdi-alpha-u-circle:before{content:"󰰨"}.mdi-alpha-u-circle-outline:before{content:"󰰩"}.mdi-alpha-v:before{content:"󰬃"}.mdi-alpha-v-box:before{content:"󰬝"}.mdi-alpha-v-box-outline:before{content:"󰰪"}.mdi-alpha-v-circle:before{content:"󰰫"}.mdi-alpha-v-circle-outline:before{content:"󰰬"}.mdi-alpha-w:before{content:"󰬄"}.mdi-alpha-w-box:before{content:"󰬞"}.mdi-alpha-w-box-outline:before{content:"󰰭"}.mdi-alpha-w-circle:before{content:"󰰮"}.mdi-alpha-w-circle-outline:before{content:"󰰯"}.mdi-alpha-x:before{content:"󰬅"}.mdi-alpha-x-box:before{content:"󰬟"}.mdi-alpha-x-box-outline:before{content:"󰰰"}.mdi-alpha-x-circle:before{content:"󰰱"}.mdi-alpha-x-circle-outline:before{content:"󰰲"}.mdi-alpha-y:before{content:"󰬆"}.mdi-alpha-y-box:before{content:"󰬠"}.mdi-alpha-y-box-outline:before{content:"󰰳"}.mdi-alpha-y-circle:before{content:"󰰴"}.mdi-alpha-y-circle-outline:before{content:"󰰵"}.mdi-alpha-z:before{content:"󰬇"}.mdi-alpha-z-box:before{content:"󰬡"}.mdi-alpha-z-box-outline:before{content:"󰰶"}.mdi-alpha-z-circle:before{content:"󰰷"}.mdi-alpha-z-circle-outline:before{content:"󰰸"}.mdi-alphabet-aurebesh:before{content:"󱌬"}.mdi-alphabet-cyrillic:before{content:"󱌭"}.mdi-alphabet-greek:before{content:"󱌮"}.mdi-alphabet-latin:before{content:"󱌯"}.mdi-alphabet-piqad:before{content:"󱌰"}.mdi-alphabet-tengwar:before{content:"󱌷"}.mdi-alphabetical:before{content:"󰀬"}.mdi-alphabetical-off:before{content:"󱀌"}.mdi-alphabetical-variant:before{content:"󱀍"}.mdi-alphabetical-variant-off:before{content:"󱀎"}.mdi-altimeter:before{content:"󰗗"}.mdi-ambulance:before{content:"󰀯"}.mdi-ammunition:before{content:"󰳨"}.mdi-ampersand:before{content:"󰪍"}.mdi-amplifier:before{content:"󰀰"}.mdi-amplifier-off:before{content:"󱆵"}.mdi-anchor:before{content:"󰀱"}.mdi-android:before{content:"󰀲"}.mdi-android-studio:before{content:"󰀴"}.mdi-angle-acute:before{content:"󰤷"}.mdi-angle-obtuse:before{content:"󰤸"}.mdi-angle-right:before{content:"󰤹"}.mdi-angular:before{content:"󰚲"}.mdi-angularjs:before{content:"󰚿"}.mdi-animation:before{content:"󰗘"}.mdi-animation-outline:before{content:"󰪏"}.mdi-animation-play:before{content:"󰤺"}.mdi-animation-play-outline:before{content:"󰪐"}.mdi-ansible:before{content:"󱂚"}.mdi-antenna:before{content:"󱄙"}.mdi-anvil:before{content:"󰢛"}.mdi-apache-kafka:before{content:"󱀏"}.mdi-api:before{content:"󱂛"}.mdi-api-off:before{content:"󱉗"}.mdi-apple:before{content:"󰀵"}.mdi-apple-finder:before{content:"󰀶"}.mdi-apple-icloud:before{content:"󰀸"}.mdi-apple-ios:before{content:"󰀷"}.mdi-apple-keyboard-caps:before{content:"󰘲"}.mdi-apple-keyboard-command:before{content:"󰘳"}.mdi-apple-keyboard-control:before{content:"󰘴"}.mdi-apple-keyboard-option:before{content:"󰘵"}.mdi-apple-keyboard-shift:before{content:"󰘶"}.mdi-apple-safari:before{content:"󰀹"}.mdi-application:before{content:"󰣆"}.mdi-application-array:before{content:"󱃵"}.mdi-application-array-outline:before{content:"󱃶"}.mdi-application-braces:before{content:"󱃷"}.mdi-application-braces-outline:before{content:"󱃸"}.mdi-application-brackets:before{content:"󰲋"}.mdi-application-brackets-outline:before{content:"󰲌"}.mdi-application-cog:before{content:"󰙵"}.mdi-application-cog-outline:before{content:"󱕷"}.mdi-application-edit:before{content:"󰂮"}.mdi-application-edit-outline:before{content:"󰘙"}.mdi-application-export:before{content:"󰶭"}.mdi-application-import:before{content:"󰶮"}.mdi-application-outline:before{content:"󰘔"}.mdi-application-parentheses:before{content:"󱃹"}.mdi-application-parentheses-outline:before{content:"󱃺"}.mdi-application-settings:before{content:"󰭠"}.mdi-application-settings-outline:before{content:"󱕕"}.mdi-application-variable:before{content:"󱃻"}.mdi-application-variable-outline:before{content:"󱃼"}.mdi-approximately-equal:before{content:"󰾞"}.mdi-approximately-equal-box:before{content:"󰾟"}.mdi-apps:before{content:"󰀻"}.mdi-apps-box:before{content:"󰵆"}.mdi-arch:before{content:"󰣇"}.mdi-archive:before{content:"󰀼"}.mdi-archive-alert:before{content:"󱓽"}.mdi-archive-alert-outline:before{content:"󱓾"}.mdi-archive-arrow-down:before{content:"󱉙"}.mdi-archive-arrow-down-outline:before{content:"󱉚"}.mdi-archive-arrow-up:before{content:"󱉛"}.mdi-archive-arrow-up-outline:before{content:"󱉜"}.mdi-archive-cancel:before{content:"󱝋"}.mdi-archive-cancel-outline:before{content:"󱝌"}.mdi-archive-check:before{content:"󱝍"}.mdi-archive-check-outline:before{content:"󱝎"}.mdi-archive-clock:before{content:"󱝏"}.mdi-archive-clock-outline:before{content:"󱝐"}.mdi-archive-cog:before{content:"󱝑"}.mdi-archive-cog-outline:before{content:"󱝒"}.mdi-archive-edit:before{content:"󱝓"}.mdi-archive-edit-outline:before{content:"󱝔"}.mdi-archive-eye:before{content:"󱝕"}.mdi-archive-eye-outline:before{content:"󱝖"}.mdi-archive-lock:before{content:"󱝗"}.mdi-archive-lock-open:before{content:"󱝘"}.mdi-archive-lock-open-outline:before{content:"󱝙"}.mdi-archive-lock-outline:before{content:"󱝚"}.mdi-archive-marker:before{content:"󱝛"}.mdi-archive-marker-outline:before{content:"󱝜"}.mdi-archive-minus:before{content:"󱝝"}.mdi-archive-minus-outline:before{content:"󱝞"}.mdi-archive-music:before{content:"󱝟"}.mdi-archive-music-outline:before{content:"󱝠"}.mdi-archive-off:before{content:"󱝡"}.mdi-archive-off-outline:before{content:"󱝢"}.mdi-archive-outline:before{content:"󱈎"}.mdi-archive-plus:before{content:"󱝣"}.mdi-archive-plus-outline:before{content:"󱝤"}.mdi-archive-refresh:before{content:"󱝥"}.mdi-archive-refresh-outline:before{content:"󱝦"}.mdi-archive-remove:before{content:"󱝧"}.mdi-archive-remove-outline:before{content:"󱝨"}.mdi-archive-search:before{content:"󱝩"}.mdi-archive-search-outline:before{content:"󱝪"}.mdi-archive-settings:before{content:"󱝫"}.mdi-archive-settings-outline:before{content:"󱝬"}.mdi-archive-star:before{content:"󱝭"}.mdi-archive-star-outline:before{content:"󱝮"}.mdi-archive-sync:before{content:"󱝯"}.mdi-archive-sync-outline:before{content:"󱝰"}.mdi-arm-flex:before{content:"󰿗"}.mdi-arm-flex-outline:before{content:"󰿖"}.mdi-arrange-bring-forward:before{content:"󰀽"}.mdi-arrange-bring-to-front:before{content:"󰀾"}.mdi-arrange-send-backward:before{content:"󰀿"}.mdi-arrange-send-to-back:before{content:"󰁀"}.mdi-arrow-all:before{content:"󰁁"}.mdi-arrow-bottom-left:before{content:"󰁂"}.mdi-arrow-bottom-left-bold-box:before{content:"󱥤"}.mdi-arrow-bottom-left-bold-box-outline:before{content:"󱥥"}.mdi-arrow-bottom-left-bold-outline:before{content:"󰦷"}.mdi-arrow-bottom-left-thick:before{content:"󰦸"}.mdi-arrow-bottom-left-thin:before{content:"󱦶"}.mdi-arrow-bottom-left-thin-circle-outline:before{content:"󱖖"}.mdi-arrow-bottom-right:before{content:"󰁃"}.mdi-arrow-bottom-right-bold-box:before{content:"󱥦"}.mdi-arrow-bottom-right-bold-box-outline:before{content:"󱥧"}.mdi-arrow-bottom-right-bold-outline:before{content:"󰦹"}.mdi-arrow-bottom-right-thick:before{content:"󰦺"}.mdi-arrow-bottom-right-thin:before{content:"󱦷"}.mdi-arrow-bottom-right-thin-circle-outline:before{content:"󱖕"}.mdi-arrow-collapse:before{content:"󰘕"}.mdi-arrow-collapse-all:before{content:"󰁄"}.mdi-arrow-collapse-down:before{content:"󰞒"}.mdi-arrow-collapse-horizontal:before{content:"󰡌"}.mdi-arrow-collapse-left:before{content:"󰞓"}.mdi-arrow-collapse-right:before{content:"󰞔"}.mdi-arrow-collapse-up:before{content:"󰞕"}.mdi-arrow-collapse-vertical:before{content:"󰡍"}.mdi-arrow-decision:before{content:"󰦻"}.mdi-arrow-decision-auto:before{content:"󰦼"}.mdi-arrow-decision-auto-outline:before{content:"󰦽"}.mdi-arrow-decision-outline:before{content:"󰦾"}.mdi-arrow-down:before{content:"󰁅"}.mdi-arrow-down-bold:before{content:"󰜮"}.mdi-arrow-down-bold-box:before{content:"󰜯"}.mdi-arrow-down-bold-box-outline:before{content:"󰜰"}.mdi-arrow-down-bold-circle:before{content:"󰁇"}.mdi-arrow-down-bold-circle-outline:before{content:"󰁈"}.mdi-arrow-down-bold-hexagon-outline:before{content:"󰁉"}.mdi-arrow-down-bold-outline:before{content:"󰦿"}.mdi-arrow-down-box:before{content:"󰛀"}.mdi-arrow-down-circle:before{content:"󰳛"}.mdi-arrow-down-circle-outline:before{content:"󰳜"}.mdi-arrow-down-drop-circle:before{content:"󰁊"}.mdi-arrow-down-drop-circle-outline:before{content:"󰁋"}.mdi-arrow-down-left:before{content:"󱞡"}.mdi-arrow-down-left-bold:before{content:"󱞢"}.mdi-arrow-down-right:before{content:"󱞣"}.mdi-arrow-down-right-bold:before{content:"󱞤"}.mdi-arrow-down-thick:before{content:"󰁆"}.mdi-arrow-down-thin:before{content:"󱦳"}.mdi-arrow-down-thin-circle-outline:before{content:"󱖙"}.mdi-arrow-expand:before{content:"󰘖"}.mdi-arrow-expand-all:before{content:"󰁌"}.mdi-arrow-expand-down:before{content:"󰞖"}.mdi-arrow-expand-horizontal:before{content:"󰡎"}.mdi-arrow-expand-left:before{content:"󰞗"}.mdi-arrow-expand-right:before{content:"󰞘"}.mdi-arrow-expand-up:before{content:"󰞙"}.mdi-arrow-expand-vertical:before{content:"󰡏"}.mdi-arrow-horizontal-lock:before{content:"󱅛"}.mdi-arrow-left:before{content:"󰁍"}.mdi-arrow-left-bold:before{content:"󰜱"}.mdi-arrow-left-bold-box:before{content:"󰜲"}.mdi-arrow-left-bold-box-outline:before{content:"󰜳"}.mdi-arrow-left-bold-circle:before{content:"󰁏"}.mdi-arrow-left-bold-circle-outline:before{content:"󰁐"}.mdi-arrow-left-bold-hexagon-outline:before{content:"󰁑"}.mdi-arrow-left-bold-outline:before{content:"󰧀"}.mdi-arrow-left-bottom:before{content:"󱞥"}.mdi-arrow-left-bottom-bold:before{content:"󱞦"}.mdi-arrow-left-box:before{content:"󰛁"}.mdi-arrow-left-circle:before{content:"󰳝"}.mdi-arrow-left-circle-outline:before{content:"󰳞"}.mdi-arrow-left-drop-circle:before{content:"󰁒"}.mdi-arrow-left-drop-circle-outline:before{content:"󰁓"}.mdi-arrow-left-right:before{content:"󰹳"}.mdi-arrow-left-right-bold:before{content:"󰹴"}.mdi-arrow-left-right-bold-outline:before{content:"󰧁"}.mdi-arrow-left-thick:before{content:"󰁎"}.mdi-arrow-left-thin:before{content:"󱦱"}.mdi-arrow-left-thin-circle-outline:before{content:"󱖚"}.mdi-arrow-left-top:before{content:"󱞧"}.mdi-arrow-left-top-bold:before{content:"󱞨"}.mdi-arrow-oscillating:before{content:"󱲑"}.mdi-arrow-oscillating-off:before{content:"󱲒"}.mdi-arrow-projectile:before{content:"󱡀"}.mdi-arrow-projectile-multiple:before{content:"󱠿"}.mdi-arrow-right:before{content:"󰁔"}.mdi-arrow-right-bold:before{content:"󰜴"}.mdi-arrow-right-bold-box:before{content:"󰜵"}.mdi-arrow-right-bold-box-outline:before{content:"󰜶"}.mdi-arrow-right-bold-circle:before{content:"󰁖"}.mdi-arrow-right-bold-circle-outline:before{content:"󰁗"}.mdi-arrow-right-bold-hexagon-outline:before{content:"󰁘"}.mdi-arrow-right-bold-outline:before{content:"󰧂"}.mdi-arrow-right-bottom:before{content:"󱞩"}.mdi-arrow-right-bottom-bold:before{content:"󱞪"}.mdi-arrow-right-box:before{content:"󰛂"}.mdi-arrow-right-circle:before{content:"󰳟"}.mdi-arrow-right-circle-outline:before{content:"󰳠"}.mdi-arrow-right-drop-circle:before{content:"󰁙"}.mdi-arrow-right-drop-circle-outline:before{content:"󰁚"}.mdi-arrow-right-thick:before{content:"󰁕"}.mdi-arrow-right-thin:before{content:"󱦰"}.mdi-arrow-right-thin-circle-outline:before{content:"󱖘"}.mdi-arrow-right-top:before{content:"󱞫"}.mdi-arrow-right-top-bold:before{content:"󱞬"}.mdi-arrow-split-horizontal:before{content:"󰤻"}.mdi-arrow-split-vertical:before{content:"󰤼"}.mdi-arrow-top-left:before{content:"󰁛"}.mdi-arrow-top-left-bold-box:before{content:"󱥨"}.mdi-arrow-top-left-bold-box-outline:before{content:"󱥩"}.mdi-arrow-top-left-bold-outline:before{content:"󰧃"}.mdi-arrow-top-left-bottom-right:before{content:"󰹵"}.mdi-arrow-top-left-bottom-right-bold:before{content:"󰹶"}.mdi-arrow-top-left-thick:before{content:"󰧄"}.mdi-arrow-top-left-thin:before{content:"󱦵"}.mdi-arrow-top-left-thin-circle-outline:before{content:"󱖓"}.mdi-arrow-top-right:before{content:"󰁜"}.mdi-arrow-top-right-bold-box:before{content:"󱥪"}.mdi-arrow-top-right-bold-box-outline:before{content:"󱥫"}.mdi-arrow-top-right-bold-outline:before{content:"󰧅"}.mdi-arrow-top-right-bottom-left:before{content:"󰹷"}.mdi-arrow-top-right-bottom-left-bold:before{content:"󰹸"}.mdi-arrow-top-right-thick:before{content:"󰧆"}.mdi-arrow-top-right-thin:before{content:"󱦴"}.mdi-arrow-top-right-thin-circle-outline:before{content:"󱖔"}.mdi-arrow-u-down-left:before{content:"󱞭"}.mdi-arrow-u-down-left-bold:before{content:"󱞮"}.mdi-arrow-u-down-right:before{content:"󱞯"}.mdi-arrow-u-down-right-bold:before{content:"󱞰"}.mdi-arrow-u-left-bottom:before{content:"󱞱"}.mdi-arrow-u-left-bottom-bold:before{content:"󱞲"}.mdi-arrow-u-left-top:before{content:"󱞳"}.mdi-arrow-u-left-top-bold:before{content:"󱞴"}.mdi-arrow-u-right-bottom:before{content:"󱞵"}.mdi-arrow-u-right-bottom-bold:before{content:"󱞶"}.mdi-arrow-u-right-top:before{content:"󱞷"}.mdi-arrow-u-right-top-bold:before{content:"󱞸"}.mdi-arrow-u-up-left:before{content:"󱞹"}.mdi-arrow-u-up-left-bold:before{content:"󱞺"}.mdi-arrow-u-up-right:before{content:"󱞻"}.mdi-arrow-u-up-right-bold:before{content:"󱞼"}.mdi-arrow-up:before{content:"󰁝"}.mdi-arrow-up-bold:before{content:"󰜷"}.mdi-arrow-up-bold-box:before{content:"󰜸"}.mdi-arrow-up-bold-box-outline:before{content:"󰜹"}.mdi-arrow-up-bold-circle:before{content:"󰁟"}.mdi-arrow-up-bold-circle-outline:before{content:"󰁠"}.mdi-arrow-up-bold-hexagon-outline:before{content:"󰁡"}.mdi-arrow-up-bold-outline:before{content:"󰧇"}.mdi-arrow-up-box:before{content:"󰛃"}.mdi-arrow-up-circle:before{content:"󰳡"}.mdi-arrow-up-circle-outline:before{content:"󰳢"}.mdi-arrow-up-down:before{content:"󰹹"}.mdi-arrow-up-down-bold:before{content:"󰹺"}.mdi-arrow-up-down-bold-outline:before{content:"󰧈"}.mdi-arrow-up-drop-circle:before{content:"󰁢"}.mdi-arrow-up-drop-circle-outline:before{content:"󰁣"}.mdi-arrow-up-left:before{content:"󱞽"}.mdi-arrow-up-left-bold:before{content:"󱞾"}.mdi-arrow-up-right:before{content:"󱞿"}.mdi-arrow-up-right-bold:before{content:"󱟀"}.mdi-arrow-up-thick:before{content:"󰁞"}.mdi-arrow-up-thin:before{content:"󱦲"}.mdi-arrow-up-thin-circle-outline:before{content:"󱖗"}.mdi-arrow-vertical-lock:before{content:"󱅜"}.mdi-artboard:before{content:"󱮚"}.mdi-artstation:before{content:"󰭛"}.mdi-aspect-ratio:before{content:"󰨤"}.mdi-assistant:before{content:"󰁤"}.mdi-asterisk:before{content:"󰛄"}.mdi-asterisk-circle-outline:before{content:"󱨧"}.mdi-at:before{content:"󰁥"}.mdi-atlassian:before{content:"󰠄"}.mdi-atm:before{content:"󰵇"}.mdi-atom:before{content:"󰝨"}.mdi-atom-variant:before{content:"󰹻"}.mdi-attachment:before{content:"󰁦"}.mdi-attachment-check:before{content:"󱫁"}.mdi-attachment-lock:before{content:"󱧄"}.mdi-attachment-minus:before{content:"󱫂"}.mdi-attachment-off:before{content:"󱫃"}.mdi-attachment-plus:before{content:"󱫄"}.mdi-attachment-remove:before{content:"󱫅"}.mdi-atv:before{content:"󱭰"}.mdi-audio-input-rca:before{content:"󱡫"}.mdi-audio-input-stereo-minijack:before{content:"󱡬"}.mdi-audio-input-xlr:before{content:"󱡭"}.mdi-audio-video:before{content:"󰤽"}.mdi-audio-video-off:before{content:"󱆶"}.mdi-augmented-reality:before{content:"󰡐"}.mdi-aurora:before{content:"󱮹"}.mdi-auto-download:before{content:"󱍾"}.mdi-auto-fix:before{content:"󰁨"}.mdi-auto-mode:before{content:"󱰠"}.mdi-auto-upload:before{content:"󰁩"}.mdi-autorenew:before{content:"󰁪"}.mdi-autorenew-off:before{content:"󱧧"}.mdi-av-timer:before{content:"󰁫"}.mdi-awning:before{content:"󱮇"}.mdi-awning-outline:before{content:"󱮈"}.mdi-aws:before{content:"󰸏"}.mdi-axe:before{content:"󰣈"}.mdi-axe-battle:before{content:"󱡂"}.mdi-axis:before{content:"󰵈"}.mdi-axis-arrow:before{content:"󰵉"}.mdi-axis-arrow-info:before{content:"󱐎"}.mdi-axis-arrow-lock:before{content:"󰵊"}.mdi-axis-lock:before{content:"󰵋"}.mdi-axis-x-arrow:before{content:"󰵌"}.mdi-axis-x-arrow-lock:before{content:"󰵍"}.mdi-axis-x-rotate-clockwise:before{content:"󰵎"}.mdi-axis-x-rotate-counterclockwise:before{content:"󰵏"}.mdi-axis-x-y-arrow-lock:before{content:"󰵐"}.mdi-axis-y-arrow:before{content:"󰵑"}.mdi-axis-y-arrow-lock:before{content:"󰵒"}.mdi-axis-y-rotate-clockwise:before{content:"󰵓"}.mdi-axis-y-rotate-counterclockwise:before{content:"󰵔"}.mdi-axis-z-arrow:before{content:"󰵕"}.mdi-axis-z-arrow-lock:before{content:"󰵖"}.mdi-axis-z-rotate-clockwise:before{content:"󰵗"}.mdi-axis-z-rotate-counterclockwise:before{content:"󰵘"}.mdi-babel:before{content:"󰨥"}.mdi-baby:before{content:"󰁬"}.mdi-baby-bottle:before{content:"󰼹"}.mdi-baby-bottle-outline:before{content:"󰼺"}.mdi-baby-buggy:before{content:"󱏠"}.mdi-baby-buggy-off:before{content:"󱫳"}.mdi-baby-carriage:before{content:"󰚏"}.mdi-baby-carriage-off:before{content:"󰾠"}.mdi-baby-face:before{content:"󰹼"}.mdi-baby-face-outline:before{content:"󰹽"}.mdi-backburger:before{content:"󰁭"}.mdi-backspace:before{content:"󰁮"}.mdi-backspace-outline:before{content:"󰭜"}.mdi-backspace-reverse:before{content:"󰹾"}.mdi-backspace-reverse-outline:before{content:"󰹿"}.mdi-backup-restore:before{content:"󰁯"}.mdi-bacteria:before{content:"󰻕"}.mdi-bacteria-outline:before{content:"󰻖"}.mdi-badge-account:before{content:"󰶧"}.mdi-badge-account-alert:before{content:"󰶨"}.mdi-badge-account-alert-outline:before{content:"󰶩"}.mdi-badge-account-horizontal:before{content:"󰸍"}.mdi-badge-account-horizontal-outline:before{content:"󰸎"}.mdi-badge-account-outline:before{content:"󰶪"}.mdi-badminton:before{content:"󰡑"}.mdi-bag-carry-on:before{content:"󰼻"}.mdi-bag-carry-on-check:before{content:"󰵥"}.mdi-bag-carry-on-off:before{content:"󰼼"}.mdi-bag-checked:before{content:"󰼽"}.mdi-bag-personal:before{content:"󰸐"}.mdi-bag-personal-off:before{content:"󰸑"}.mdi-bag-personal-off-outline:before{content:"󰸒"}.mdi-bag-personal-outline:before{content:"󰸓"}.mdi-bag-personal-plus:before{content:"󱲤"}.mdi-bag-personal-plus-outline:before{content:"󱲥"}.mdi-bag-personal-tag:before{content:"󱬌"}.mdi-bag-personal-tag-outline:before{content:"󱬍"}.mdi-bag-suitcase:before{content:"󱖋"}.mdi-bag-suitcase-off:before{content:"󱖍"}.mdi-bag-suitcase-off-outline:before{content:"󱖎"}.mdi-bag-suitcase-outline:before{content:"󱖌"}.mdi-baguette:before{content:"󰼾"}.mdi-balcony:before{content:"󱠗"}.mdi-balloon:before{content:"󰨦"}.mdi-ballot:before{content:"󰧉"}.mdi-ballot-outline:before{content:"󰧊"}.mdi-ballot-recount:before{content:"󰰹"}.mdi-ballot-recount-outline:before{content:"󰰺"}.mdi-bandage:before{content:"󰶯"}.mdi-bank:before{content:"󰁰"}.mdi-bank-check:before{content:"󱙕"}.mdi-bank-circle:before{content:"󱰃"}.mdi-bank-circle-outline:before{content:"󱰄"}.mdi-bank-minus:before{content:"󰶰"}.mdi-bank-off:before{content:"󱙖"}.mdi-bank-off-outline:before{content:"󱙗"}.mdi-bank-outline:before{content:"󰺀"}.mdi-bank-plus:before{content:"󰶱"}.mdi-bank-remove:before{content:"󰶲"}.mdi-bank-transfer:before{content:"󰨧"}.mdi-bank-transfer-in:before{content:"󰨨"}.mdi-bank-transfer-out:before{content:"󰨩"}.mdi-barcode:before{content:"󰁱"}.mdi-barcode-off:before{content:"󱈶"}.mdi-barcode-scan:before{content:"󰁲"}.mdi-barley:before{content:"󰁳"}.mdi-barley-off:before{content:"󰭝"}.mdi-barn:before{content:"󰭞"}.mdi-barrel:before{content:"󰁴"}.mdi-barrel-outline:before{content:"󱨨"}.mdi-baseball:before{content:"󰡒"}.mdi-baseball-bat:before{content:"󰡓"}.mdi-baseball-diamond:before{content:"󱗬"}.mdi-baseball-diamond-outline:before{content:"󱗭"}.mdi-baseball-outline:before{content:"󱱚"}.mdi-bash:before{content:"󱆃"}.mdi-basket:before{content:"󰁶"}.mdi-basket-check:before{content:"󱣥"}.mdi-basket-check-outline:before{content:"󱣦"}.mdi-basket-fill:before{content:"󰁷"}.mdi-basket-minus:before{content:"󱔣"}.mdi-basket-minus-outline:before{content:"󱔤"}.mdi-basket-off:before{content:"󱔥"}.mdi-basket-off-outline:before{content:"󱔦"}.mdi-basket-outline:before{content:"󱆁"}.mdi-basket-plus:before{content:"󱔧"}.mdi-basket-plus-outline:before{content:"󱔨"}.mdi-basket-remove:before{content:"󱔩"}.mdi-basket-remove-outline:before{content:"󱔪"}.mdi-basket-unfill:before{content:"󰁸"}.mdi-basketball:before{content:"󰠆"}.mdi-basketball-hoop:before{content:"󰰻"}.mdi-basketball-hoop-outline:before{content:"󰰼"}.mdi-bat:before{content:"󰭟"}.mdi-bathtub:before{content:"󱠘"}.mdi-bathtub-outline:before{content:"󱠙"}.mdi-battery:before{content:"󰁹"}.mdi-battery-10:before{content:"󰁺"}.mdi-battery-10-bluetooth:before{content:"󰤾"}.mdi-battery-20:before{content:"󰁻"}.mdi-battery-20-bluetooth:before{content:"󰤿"}.mdi-battery-30:before{content:"󰁼"}.mdi-battery-30-bluetooth:before{content:"󰥀"}.mdi-battery-40:before{content:"󰁽"}.mdi-battery-40-bluetooth:before{content:"󰥁"}.mdi-battery-50:before{content:"󰁾"}.mdi-battery-50-bluetooth:before{content:"󰥂"}.mdi-battery-60:before{content:"󰁿"}.mdi-battery-60-bluetooth:before{content:"󰥃"}.mdi-battery-70:before{content:"󰂀"}.mdi-battery-70-bluetooth:before{content:"󰥄"}.mdi-battery-80:before{content:"󰂁"}.mdi-battery-80-bluetooth:before{content:"󰥅"}.mdi-battery-90:before{content:"󰂂"}.mdi-battery-90-bluetooth:before{content:"󰥆"}.mdi-battery-alert:before{content:"󰂃"}.mdi-battery-alert-bluetooth:before{content:"󰥇"}.mdi-battery-alert-variant:before{content:"󱃌"}.mdi-battery-alert-variant-outline:before{content:"󱃍"}.mdi-battery-arrow-down:before{content:"󱟞"}.mdi-battery-arrow-down-outline:before{content:"󱟟"}.mdi-battery-arrow-up:before{content:"󱟠"}.mdi-battery-arrow-up-outline:before{content:"󱟡"}.mdi-battery-bluetooth:before{content:"󰥈"}.mdi-battery-bluetooth-variant:before{content:"󰥉"}.mdi-battery-charging:before{content:"󰂄"}.mdi-battery-charging-10:before{content:"󰢜"}.mdi-battery-charging-100:before{content:"󰂅"}.mdi-battery-charging-20:before{content:"󰂆"}.mdi-battery-charging-30:before{content:"󰂇"}.mdi-battery-charging-40:before{content:"󰂈"}.mdi-battery-charging-50:before{content:"󰢝"}.mdi-battery-charging-60:before{content:"󰂉"}.mdi-battery-charging-70:before{content:"󰢞"}.mdi-battery-charging-80:before{content:"󰂊"}.mdi-battery-charging-90:before{content:"󰂋"}.mdi-battery-charging-high:before{content:"󱊦"}.mdi-battery-charging-low:before{content:"󱊤"}.mdi-battery-charging-medium:before{content:"󱊥"}.mdi-battery-charging-outline:before{content:"󰢟"}.mdi-battery-charging-wireless:before{content:"󰠇"}.mdi-battery-charging-wireless-10:before{content:"󰠈"}.mdi-battery-charging-wireless-20:before{content:"󰠉"}.mdi-battery-charging-wireless-30:before{content:"󰠊"}.mdi-battery-charging-wireless-40:before{content:"󰠋"}.mdi-battery-charging-wireless-50:before{content:"󰠌"}.mdi-battery-charging-wireless-60:before{content:"󰠍"}.mdi-battery-charging-wireless-70:before{content:"󰠎"}.mdi-battery-charging-wireless-80:before{content:"󰠏"}.mdi-battery-charging-wireless-90:before{content:"󰠐"}.mdi-battery-charging-wireless-alert:before{content:"󰠑"}.mdi-battery-charging-wireless-outline:before{content:"󰠒"}.mdi-battery-check:before{content:"󱟢"}.mdi-battery-check-outline:before{content:"󱟣"}.mdi-battery-clock:before{content:"󱧥"}.mdi-battery-clock-outline:before{content:"󱧦"}.mdi-battery-heart:before{content:"󱈏"}.mdi-battery-heart-outline:before{content:"󱈐"}.mdi-battery-heart-variant:before{content:"󱈑"}.mdi-battery-high:before{content:"󱊣"}.mdi-battery-lock:before{content:"󱞜"}.mdi-battery-lock-open:before{content:"󱞝"}.mdi-battery-low:before{content:"󱊡"}.mdi-battery-medium:before{content:"󱊢"}.mdi-battery-minus:before{content:"󱟤"}.mdi-battery-minus-outline:before{content:"󱟥"}.mdi-battery-minus-variant:before{content:"󰂌"}.mdi-battery-negative:before{content:"󰂍"}.mdi-battery-off:before{content:"󱉝"}.mdi-battery-off-outline:before{content:"󱉞"}.mdi-battery-outline:before{content:"󰂎"}.mdi-battery-plus:before{content:"󱟦"}.mdi-battery-plus-outline:before{content:"󱟧"}.mdi-battery-plus-variant:before{content:"󰂏"}.mdi-battery-positive:before{content:"󰂐"}.mdi-battery-remove:before{content:"󱟨"}.mdi-battery-remove-outline:before{content:"󱟩"}.mdi-battery-sync:before{content:"󱠴"}.mdi-battery-sync-outline:before{content:"󱠵"}.mdi-battery-unknown:before{content:"󰂑"}.mdi-battery-unknown-bluetooth:before{content:"󰥊"}.mdi-beach:before{content:"󰂒"}.mdi-beaker:before{content:"󰳪"}.mdi-beaker-alert:before{content:"󱈩"}.mdi-beaker-alert-outline:before{content:"󱈪"}.mdi-beaker-check:before{content:"󱈫"}.mdi-beaker-check-outline:before{content:"󱈬"}.mdi-beaker-minus:before{content:"󱈭"}.mdi-beaker-minus-outline:before{content:"󱈮"}.mdi-beaker-outline:before{content:"󰚐"}.mdi-beaker-plus:before{content:"󱈯"}.mdi-beaker-plus-outline:before{content:"󱈰"}.mdi-beaker-question:before{content:"󱈱"}.mdi-beaker-question-outline:before{content:"󱈲"}.mdi-beaker-remove:before{content:"󱈳"}.mdi-beaker-remove-outline:before{content:"󱈴"}.mdi-bed:before{content:"󰋣"}.mdi-bed-clock:before{content:"󱮔"}.mdi-bed-double:before{content:"󰿔"}.mdi-bed-double-outline:before{content:"󰿓"}.mdi-bed-empty:before{content:"󰢠"}.mdi-bed-king:before{content:"󰿒"}.mdi-bed-king-outline:before{content:"󰿑"}.mdi-bed-outline:before{content:"󰂙"}.mdi-bed-queen:before{content:"󰿐"}.mdi-bed-queen-outline:before{content:"󰿛"}.mdi-bed-single:before{content:"󱁭"}.mdi-bed-single-outline:before{content:"󱁮"}.mdi-bee:before{content:"󰾡"}.mdi-bee-flower:before{content:"󰾢"}.mdi-beehive-off-outline:before{content:"󱏭"}.mdi-beehive-outline:before{content:"󱃎"}.mdi-beekeeper:before{content:"󱓢"}.mdi-beer:before{content:"󰂘"}.mdi-beer-outline:before{content:"󱌌"}.mdi-bell:before{content:"󰂚"}.mdi-bell-alert:before{content:"󰵙"}.mdi-bell-alert-outline:before{content:"󰺁"}.mdi-bell-badge:before{content:"󱅫"}.mdi-bell-badge-outline:before{content:"󰅸"}.mdi-bell-cancel:before{content:"󱏧"}.mdi-bell-cancel-outline:before{content:"󱏨"}.mdi-bell-check:before{content:"󱇥"}.mdi-bell-check-outline:before{content:"󱇦"}.mdi-bell-circle:before{content:"󰵚"}.mdi-bell-circle-outline:before{content:"󰵛"}.mdi-bell-cog:before{content:"󱨩"}.mdi-bell-cog-outline:before{content:"󱨪"}.mdi-bell-minus:before{content:"󱏩"}.mdi-bell-minus-outline:before{content:"󱏪"}.mdi-bell-off:before{content:"󰂛"}.mdi-bell-off-outline:before{content:"󰪑"}.mdi-bell-outline:before{content:"󰂜"}.mdi-bell-plus:before{content:"󰂝"}.mdi-bell-plus-outline:before{content:"󰪒"}.mdi-bell-remove:before{content:"󱏫"}.mdi-bell-remove-outline:before{content:"󱏬"}.mdi-bell-ring:before{content:"󰂞"}.mdi-bell-ring-outline:before{content:"󰂟"}.mdi-bell-sleep:before{content:"󰂠"}.mdi-bell-sleep-outline:before{content:"󰪓"}.mdi-bench:before{content:"󱰡"}.mdi-bench-back:before{content:"󱰢"}.mdi-beta:before{content:"󰂡"}.mdi-betamax:before{content:"󰧋"}.mdi-biathlon:before{content:"󰸔"}.mdi-bicycle:before{content:"󱂜"}.mdi-bicycle-basket:before{content:"󱈵"}.mdi-bicycle-cargo:before{content:"󱢜"}.mdi-bicycle-electric:before{content:"󱖴"}.mdi-bicycle-penny-farthing:before{content:"󱗩"}.mdi-bike:before{content:"󰂣"}.mdi-bike-fast:before{content:"󱄟"}.mdi-bike-pedal:before{content:"󱰣"}.mdi-bike-pedal-clipless:before{content:"󱰤"}.mdi-bike-pedal-mountain:before{content:"󱰥"}.mdi-billboard:before{content:"󱀐"}.mdi-billiards:before{content:"󰭡"}.mdi-billiards-rack:before{content:"󰭢"}.mdi-binoculars:before{content:"󰂥"}.mdi-bio:before{content:"󰂦"}.mdi-biohazard:before{content:"󰂧"}.mdi-bird:before{content:"󱗆"}.mdi-bitbucket:before{content:"󰂨"}.mdi-bitcoin:before{content:"󰠓"}.mdi-black-mesa:before{content:"󰂩"}.mdi-blender:before{content:"󰳫"}.mdi-blender-outline:before{content:"󱠚"}.mdi-blender-software:before{content:"󰂫"}.mdi-blinds:before{content:"󰂬"}.mdi-blinds-horizontal:before{content:"󱨫"}.mdi-blinds-horizontal-closed:before{content:"󱨬"}.mdi-blinds-open:before{content:"󱀑"}.mdi-blinds-vertical:before{content:"󱨭"}.mdi-blinds-vertical-closed:before{content:"󱨮"}.mdi-block-helper:before{content:"󰂭"}.mdi-blood-bag:before{content:"󰳬"}.mdi-bluetooth:before{content:"󰂯"}.mdi-bluetooth-audio:before{content:"󰂰"}.mdi-bluetooth-connect:before{content:"󰂱"}.mdi-bluetooth-off:before{content:"󰂲"}.mdi-bluetooth-settings:before{content:"󰂳"}.mdi-bluetooth-transfer:before{content:"󰂴"}.mdi-blur:before{content:"󰂵"}.mdi-blur-linear:before{content:"󰂶"}.mdi-blur-off:before{content:"󰂷"}.mdi-blur-radial:before{content:"󰂸"}.mdi-bolt:before{content:"󰶳"}.mdi-bomb:before{content:"󰚑"}.mdi-bomb-off:before{content:"󰛅"}.mdi-bone:before{content:"󰂹"}.mdi-bone-off:before{content:"󱧠"}.mdi-book:before{content:"󰂺"}.mdi-book-account:before{content:"󱎭"}.mdi-book-account-outline:before{content:"󱎮"}.mdi-book-alert:before{content:"󱙼"}.mdi-book-alert-outline:before{content:"󱙽"}.mdi-book-alphabet:before{content:"󰘝"}.mdi-book-arrow-down:before{content:"󱙾"}.mdi-book-arrow-down-outline:before{content:"󱙿"}.mdi-book-arrow-left:before{content:"󱚀"}.mdi-book-arrow-left-outline:before{content:"󱚁"}.mdi-book-arrow-right:before{content:"󱚂"}.mdi-book-arrow-right-outline:before{content:"󱚃"}.mdi-book-arrow-up:before{content:"󱚄"}.mdi-book-arrow-up-outline:before{content:"󱚅"}.mdi-book-cancel:before{content:"󱚆"}.mdi-book-cancel-outline:before{content:"󱚇"}.mdi-book-check:before{content:"󱓳"}.mdi-book-check-outline:before{content:"󱓴"}.mdi-book-clock:before{content:"󱚈"}.mdi-book-clock-outline:before{content:"󱚉"}.mdi-book-cog:before{content:"󱚊"}.mdi-book-cog-outline:before{content:"󱚋"}.mdi-book-cross:before{content:"󰂢"}.mdi-book-edit:before{content:"󱚌"}.mdi-book-edit-outline:before{content:"󱚍"}.mdi-book-education:before{content:"󱛉"}.mdi-book-education-outline:before{content:"󱛊"}.mdi-book-heart:before{content:"󱨝"}.mdi-book-heart-outline:before{content:"󱨞"}.mdi-book-information-variant:before{content:"󱁯"}.mdi-book-lock:before{content:"󰞚"}.mdi-book-lock-open:before{content:"󰞛"}.mdi-book-lock-open-outline:before{content:"󱚎"}.mdi-book-lock-outline:before{content:"󱚏"}.mdi-book-marker:before{content:"󱚐"}.mdi-book-marker-outline:before{content:"󱚑"}.mdi-book-minus:before{content:"󰗙"}.mdi-book-minus-multiple:before{content:"󰪔"}.mdi-book-minus-multiple-outline:before{content:"󰤋"}.mdi-book-minus-outline:before{content:"󱚒"}.mdi-book-multiple:before{content:"󰂻"}.mdi-book-multiple-outline:before{content:"󰐶"}.mdi-book-music:before{content:"󰁧"}.mdi-book-music-outline:before{content:"󱚓"}.mdi-book-off:before{content:"󱚔"}.mdi-book-off-outline:before{content:"󱚕"}.mdi-book-open:before{content:"󰂽"}.mdi-book-open-blank-variant:before{content:"󰂾"}.mdi-book-open-blank-variant-outline:before{content:"󱳋"}.mdi-book-open-outline:before{content:"󰭣"}.mdi-book-open-page-variant:before{content:"󰗚"}.mdi-book-open-page-variant-outline:before{content:"󱗖"}.mdi-book-open-variant:before{content:"󱓷"}.mdi-book-open-variant-outline:before{content:"󱳌"}.mdi-book-outline:before{content:"󰭤"}.mdi-book-play:before{content:"󰺂"}.mdi-book-play-outline:before{content:"󰺃"}.mdi-book-plus:before{content:"󰗛"}.mdi-book-plus-multiple:before{content:"󰪕"}.mdi-book-plus-multiple-outline:before{content:"󰫞"}.mdi-book-plus-outline:before{content:"󱚖"}.mdi-book-refresh:before{content:"󱚗"}.mdi-book-refresh-outline:before{content:"󱚘"}.mdi-book-remove:before{content:"󰪗"}.mdi-book-remove-multiple:before{content:"󰪖"}.mdi-book-remove-multiple-outline:before{content:"󰓊"}.mdi-book-remove-outline:before{content:"󱚙"}.mdi-book-search:before{content:"󰺄"}.mdi-book-search-outline:before{content:"󰺅"}.mdi-book-settings:before{content:"󱚚"}.mdi-book-settings-outline:before{content:"󱚛"}.mdi-book-sync:before{content:"󱚜"}.mdi-book-sync-outline:before{content:"󱛈"}.mdi-book-variant:before{content:"󰂿"}.mdi-bookmark:before{content:"󰃀"}.mdi-bookmark-box:before{content:"󱭵"}.mdi-bookmark-box-multiple:before{content:"󱥬"}.mdi-bookmark-box-multiple-outline:before{content:"󱥭"}.mdi-bookmark-box-outline:before{content:"󱭶"}.mdi-bookmark-check:before{content:"󰃁"}.mdi-bookmark-check-outline:before{content:"󱍻"}.mdi-bookmark-minus:before{content:"󰧌"}.mdi-bookmark-minus-outline:before{content:"󰧍"}.mdi-bookmark-multiple:before{content:"󰸕"}.mdi-bookmark-multiple-outline:before{content:"󰸖"}.mdi-bookmark-music:before{content:"󰃂"}.mdi-bookmark-music-outline:before{content:"󱍹"}.mdi-bookmark-off:before{content:"󰧎"}.mdi-bookmark-off-outline:before{content:"󰧏"}.mdi-bookmark-outline:before{content:"󰃃"}.mdi-bookmark-plus:before{content:"󰃅"}.mdi-bookmark-plus-outline:before{content:"󰃄"}.mdi-bookmark-remove:before{content:"󰃆"}.mdi-bookmark-remove-outline:before{content:"󱍺"}.mdi-bookshelf:before{content:"󱉟"}.mdi-boom-gate:before{content:"󰺆"}.mdi-boom-gate-alert:before{content:"󰺇"}.mdi-boom-gate-alert-outline:before{content:"󰺈"}.mdi-boom-gate-arrow-down:before{content:"󰺉"}.mdi-boom-gate-arrow-down-outline:before{content:"󰺊"}.mdi-boom-gate-arrow-up:before{content:"󰺌"}.mdi-boom-gate-arrow-up-outline:before{content:"󰺍"}.mdi-boom-gate-outline:before{content:"󰺋"}.mdi-boom-gate-up:before{content:"󱟹"}.mdi-boom-gate-up-outline:before{content:"󱟺"}.mdi-boombox:before{content:"󰗜"}.mdi-boomerang:before{content:"󱃏"}.mdi-bootstrap:before{content:"󰛆"}.mdi-border-all:before{content:"󰃇"}.mdi-border-all-variant:before{content:"󰢡"}.mdi-border-bottom:before{content:"󰃈"}.mdi-border-bottom-variant:before{content:"󰢢"}.mdi-border-color:before{content:"󰃉"}.mdi-border-horizontal:before{content:"󰃊"}.mdi-border-inside:before{content:"󰃋"}.mdi-border-left:before{content:"󰃌"}.mdi-border-left-variant:before{content:"󰢣"}.mdi-border-none:before{content:"󰃍"}.mdi-border-none-variant:before{content:"󰢤"}.mdi-border-outside:before{content:"󰃎"}.mdi-border-radius:before{content:"󱫴"}.mdi-border-right:before{content:"󰃏"}.mdi-border-right-variant:before{content:"󰢥"}.mdi-border-style:before{content:"󰃐"}.mdi-border-top:before{content:"󰃑"}.mdi-border-top-variant:before{content:"󰢦"}.mdi-border-vertical:before{content:"󰃒"}.mdi-bottle-soda:before{content:"󱁰"}.mdi-bottle-soda-classic:before{content:"󱁱"}.mdi-bottle-soda-classic-outline:before{content:"󱍣"}.mdi-bottle-soda-outline:before{content:"󱁲"}.mdi-bottle-tonic:before{content:"󱄮"}.mdi-bottle-tonic-outline:before{content:"󱄯"}.mdi-bottle-tonic-plus:before{content:"󱄰"}.mdi-bottle-tonic-plus-outline:before{content:"󱄱"}.mdi-bottle-tonic-skull:before{content:"󱄲"}.mdi-bottle-tonic-skull-outline:before{content:"󱄳"}.mdi-bottle-wine:before{content:"󰡔"}.mdi-bottle-wine-outline:before{content:"󱌐"}.mdi-bow-arrow:before{content:"󱡁"}.mdi-bow-tie:before{content:"󰙸"}.mdi-bowl:before{content:"󰊎"}.mdi-bowl-mix:before{content:"󰘗"}.mdi-bowl-mix-outline:before{content:"󰋤"}.mdi-bowl-outline:before{content:"󰊩"}.mdi-bowling:before{content:"󰃓"}.mdi-box:before{content:"󰃔"}.mdi-box-cutter:before{content:"󰃕"}.mdi-box-cutter-off:before{content:"󰭊"}.mdi-box-shadow:before{content:"󰘷"}.mdi-boxing-glove:before{content:"󰭥"}.mdi-braille:before{content:"󰧐"}.mdi-brain:before{content:"󰧑"}.mdi-bread-slice:before{content:"󰳮"}.mdi-bread-slice-outline:before{content:"󰳯"}.mdi-bridge:before{content:"󰘘"}.mdi-briefcase:before{content:"󰃖"}.mdi-briefcase-account:before{content:"󰳰"}.mdi-briefcase-account-outline:before{content:"󰳱"}.mdi-briefcase-arrow-left-right:before{content:"󱪍"}.mdi-briefcase-arrow-left-right-outline:before{content:"󱪎"}.mdi-briefcase-arrow-up-down:before{content:"󱪏"}.mdi-briefcase-arrow-up-down-outline:before{content:"󱪐"}.mdi-briefcase-check:before{content:"󰃗"}.mdi-briefcase-check-outline:before{content:"󱌞"}.mdi-briefcase-clock:before{content:"󱃐"}.mdi-briefcase-clock-outline:before{content:"󱃑"}.mdi-briefcase-download:before{content:"󰃘"}.mdi-briefcase-download-outline:before{content:"󰰽"}.mdi-briefcase-edit:before{content:"󰪘"}.mdi-briefcase-edit-outline:before{content:"󰰾"}.mdi-briefcase-eye:before{content:"󱟙"}.mdi-briefcase-eye-outline:before{content:"󱟚"}.mdi-briefcase-minus:before{content:"󰨪"}.mdi-briefcase-minus-outline:before{content:"󰰿"}.mdi-briefcase-off:before{content:"󱙘"}.mdi-briefcase-off-outline:before{content:"󱙙"}.mdi-briefcase-outline:before{content:"󰠔"}.mdi-briefcase-plus:before{content:"󰨫"}.mdi-briefcase-plus-outline:before{content:"󰱀"}.mdi-briefcase-remove:before{content:"󰨬"}.mdi-briefcase-remove-outline:before{content:"󰱁"}.mdi-briefcase-search:before{content:"󰨭"}.mdi-briefcase-search-outline:before{content:"󰱂"}.mdi-briefcase-upload:before{content:"󰃙"}.mdi-briefcase-upload-outline:before{content:"󰱃"}.mdi-briefcase-variant:before{content:"󱒔"}.mdi-briefcase-variant-off:before{content:"󱙚"}.mdi-briefcase-variant-off-outline:before{content:"󱙛"}.mdi-briefcase-variant-outline:before{content:"󱒕"}.mdi-brightness-1:before{content:"󰃚"}.mdi-brightness-2:before{content:"󰃛"}.mdi-brightness-3:before{content:"󰃜"}.mdi-brightness-4:before{content:"󰃝"}.mdi-brightness-5:before{content:"󰃞"}.mdi-brightness-6:before{content:"󰃟"}.mdi-brightness-7:before{content:"󰃠"}.mdi-brightness-auto:before{content:"󰃡"}.mdi-brightness-percent:before{content:"󰳲"}.mdi-broadcast:before{content:"󱜠"}.mdi-broadcast-off:before{content:"󱜡"}.mdi-broom:before{content:"󰃢"}.mdi-brush:before{content:"󰃣"}.mdi-brush-off:before{content:"󱝱"}.mdi-brush-outline:before{content:"󱨍"}.mdi-brush-variant:before{content:"󱠓"}.mdi-bucket:before{content:"󱐕"}.mdi-bucket-outline:before{content:"󱐖"}.mdi-buffet:before{content:"󰕸"}.mdi-bug:before{content:"󰃤"}.mdi-bug-check:before{content:"󰨮"}.mdi-bug-check-outline:before{content:"󰨯"}.mdi-bug-outline:before{content:"󰨰"}.mdi-bug-pause:before{content:"󱫵"}.mdi-bug-pause-outline:before{content:"󱫶"}.mdi-bug-play:before{content:"󱫷"}.mdi-bug-play-outline:before{content:"󱫸"}.mdi-bug-stop:before{content:"󱫹"}.mdi-bug-stop-outline:before{content:"󱫺"}.mdi-bugle:before{content:"󰶴"}.mdi-bulkhead-light:before{content:"󱨯"}.mdi-bulldozer:before{content:"󰬢"}.mdi-bullet:before{content:"󰳳"}.mdi-bulletin-board:before{content:"󰃥"}.mdi-bullhorn:before{content:"󰃦"}.mdi-bullhorn-outline:before{content:"󰬣"}.mdi-bullhorn-variant:before{content:"󱥮"}.mdi-bullhorn-variant-outline:before{content:"󱥯"}.mdi-bullseye:before{content:"󰗝"}.mdi-bullseye-arrow:before{content:"󰣉"}.mdi-bulma:before{content:"󱋧"}.mdi-bunk-bed:before{content:"󱌂"}.mdi-bunk-bed-outline:before{content:"󰂗"}.mdi-bus:before{content:"󰃧"}.mdi-bus-alert:before{content:"󰪙"}.mdi-bus-articulated-end:before{content:"󰞜"}.mdi-bus-articulated-front:before{content:"󰞝"}.mdi-bus-clock:before{content:"󰣊"}.mdi-bus-double-decker:before{content:"󰞞"}.mdi-bus-electric:before{content:"󱤝"}.mdi-bus-marker:before{content:"󱈒"}.mdi-bus-multiple:before{content:"󰼿"}.mdi-bus-school:before{content:"󰞟"}.mdi-bus-side:before{content:"󰞠"}.mdi-bus-sign:before{content:"󱳁"}.mdi-bus-stop:before{content:"󱀒"}.mdi-bus-stop-covered:before{content:"󱀓"}.mdi-bus-stop-uncovered:before{content:"󱀔"}.mdi-bus-wrench:before{content:"󱳂"}.mdi-butterfly:before{content:"󱖉"}.mdi-butterfly-outline:before{content:"󱖊"}.mdi-button-cursor:before{content:"󱭏"}.mdi-button-pointer:before{content:"󱭐"}.mdi-cabin-a-frame:before{content:"󱢌"}.mdi-cable-data:before{content:"󱎔"}.mdi-cached:before{content:"󰃨"}.mdi-cactus:before{content:"󰶵"}.mdi-cake:before{content:"󰃩"}.mdi-cake-layered:before{content:"󰃪"}.mdi-cake-variant:before{content:"󰃫"}.mdi-cake-variant-outline:before{content:"󱟰"}.mdi-calculator:before{content:"󰃬"}.mdi-calculator-variant:before{content:"󰪚"}.mdi-calculator-variant-outline:before{content:"󱖦"}.mdi-calendar:before{content:"󰃭"}.mdi-calendar-account:before{content:"󰻗"}.mdi-calendar-account-outline:before{content:"󰻘"}.mdi-calendar-alert:before{content:"󰨱"}.mdi-calendar-alert-outline:before{content:"󱭢"}.mdi-calendar-arrow-left:before{content:"󱄴"}.mdi-calendar-arrow-right:before{content:"󱄵"}.mdi-calendar-badge:before{content:"󱮝"}.mdi-calendar-badge-outline:before{content:"󱮞"}.mdi-calendar-blank:before{content:"󰃮"}.mdi-calendar-blank-multiple:before{content:"󱁳"}.mdi-calendar-blank-outline:before{content:"󰭦"}.mdi-calendar-check:before{content:"󰃯"}.mdi-calendar-check-outline:before{content:"󰱄"}.mdi-calendar-clock:before{content:"󰃰"}.mdi-calendar-clock-outline:before{content:"󱛡"}.mdi-calendar-collapse-horizontal:before{content:"󱢝"}.mdi-calendar-collapse-horizontal-outline:before{content:"󱭣"}.mdi-calendar-cursor:before{content:"󱕻"}.mdi-calendar-cursor-outline:before{content:"󱭤"}.mdi-calendar-edit:before{content:"󰢧"}.mdi-calendar-edit-outline:before{content:"󱭥"}.mdi-calendar-end:before{content:"󱙬"}.mdi-calendar-end-outline:before{content:"󱭦"}.mdi-calendar-expand-horizontal:before{content:"󱢞"}.mdi-calendar-expand-horizontal-outline:before{content:"󱭧"}.mdi-calendar-export:before{content:"󰬤"}.mdi-calendar-export-outline:before{content:"󱭨"}.mdi-calendar-filter:before{content:"󱨲"}.mdi-calendar-filter-outline:before{content:"󱨳"}.mdi-calendar-heart:before{content:"󰧒"}.mdi-calendar-heart-outline:before{content:"󱭩"}.mdi-calendar-import:before{content:"󰬥"}.mdi-calendar-import-outline:before{content:"󱭪"}.mdi-calendar-lock:before{content:"󱙁"}.mdi-calendar-lock-open:before{content:"󱭛"}.mdi-calendar-lock-open-outline:before{content:"󱭜"}.mdi-calendar-lock-outline:before{content:"󱙂"}.mdi-calendar-minus:before{content:"󰵜"}.mdi-calendar-minus-outline:before{content:"󱭫"}.mdi-calendar-month:before{content:"󰸗"}.mdi-calendar-month-outline:before{content:"󰸘"}.mdi-calendar-multiple:before{content:"󰃱"}.mdi-calendar-multiple-check:before{content:"󰃲"}.mdi-calendar-multiselect:before{content:"󰨲"}.mdi-calendar-multiselect-outline:before{content:"󱭕"}.mdi-calendar-outline:before{content:"󰭧"}.mdi-calendar-plus:before{content:"󰃳"}.mdi-calendar-plus-outline:before{content:"󱭬"}.mdi-calendar-question:before{content:"󰚒"}.mdi-calendar-question-outline:before{content:"󱭭"}.mdi-calendar-range:before{content:"󰙹"}.mdi-calendar-range-outline:before{content:"󰭨"}.mdi-calendar-refresh:before{content:"󰇡"}.mdi-calendar-refresh-outline:before{content:"󰈃"}.mdi-calendar-remove:before{content:"󰃴"}.mdi-calendar-remove-outline:before{content:"󰱅"}.mdi-calendar-search:before{content:"󰥌"}.mdi-calendar-search-outline:before{content:"󱭮"}.mdi-calendar-star:before{content:"󰧓"}.mdi-calendar-star-four-points:before{content:"󱰟"}.mdi-calendar-star-outline:before{content:"󱭓"}.mdi-calendar-start:before{content:"󱙭"}.mdi-calendar-start-outline:before{content:"󱭯"}.mdi-calendar-sync:before{content:"󰺎"}.mdi-calendar-sync-outline:before{content:"󰺏"}.mdi-calendar-text:before{content:"󰃵"}.mdi-calendar-text-outline:before{content:"󰱆"}.mdi-calendar-today:before{content:"󰃶"}.mdi-calendar-today-outline:before{content:"󱨰"}.mdi-calendar-week:before{content:"󰨳"}.mdi-calendar-week-begin:before{content:"󰨴"}.mdi-calendar-week-begin-outline:before{content:"󱨱"}.mdi-calendar-week-outline:before{content:"󱨴"}.mdi-calendar-weekend:before{content:"󰻙"}.mdi-calendar-weekend-outline:before{content:"󰻚"}.mdi-call-made:before{content:"󰃷"}.mdi-call-merge:before{content:"󰃸"}.mdi-call-missed:before{content:"󰃹"}.mdi-call-received:before{content:"󰃺"}.mdi-call-split:before{content:"󰃻"}.mdi-camcorder:before{content:"󰃼"}.mdi-camcorder-off:before{content:"󰃿"}.mdi-camera:before{content:"󰄀"}.mdi-camera-account:before{content:"󰣋"}.mdi-camera-burst:before{content:"󰚓"}.mdi-camera-control:before{content:"󰭩"}.mdi-camera-document:before{content:"󱡱"}.mdi-camera-document-off:before{content:"󱡲"}.mdi-camera-enhance:before{content:"󰄁"}.mdi-camera-enhance-outline:before{content:"󰭪"}.mdi-camera-flip:before{content:"󱗙"}.mdi-camera-flip-outline:before{content:"󱗚"}.mdi-camera-front:before{content:"󰄂"}.mdi-camera-front-variant:before{content:"󰄃"}.mdi-camera-gopro:before{content:"󰞡"}.mdi-camera-image:before{content:"󰣌"}.mdi-camera-iris:before{content:"󰄄"}.mdi-camera-lock:before{content:"󱨔"}.mdi-camera-lock-open:before{content:"󱰍"}.mdi-camera-lock-open-outline:before{content:"󱰎"}.mdi-camera-lock-outline:before{content:"󱨕"}.mdi-camera-marker:before{content:"󱦧"}.mdi-camera-marker-outline:before{content:"󱦨"}.mdi-camera-metering-center:before{content:"󰞢"}.mdi-camera-metering-matrix:before{content:"󰞣"}.mdi-camera-metering-partial:before{content:"󰞤"}.mdi-camera-metering-spot:before{content:"󰞥"}.mdi-camera-off:before{content:"󰗟"}.mdi-camera-off-outline:before{content:"󱦿"}.mdi-camera-outline:before{content:"󰵝"}.mdi-camera-party-mode:before{content:"󰄅"}.mdi-camera-plus:before{content:"󰻛"}.mdi-camera-plus-outline:before{content:"󰻜"}.mdi-camera-rear:before{content:"󰄆"}.mdi-camera-rear-variant:before{content:"󰄇"}.mdi-camera-retake:before{content:"󰸙"}.mdi-camera-retake-outline:before{content:"󰸚"}.mdi-camera-switch:before{content:"󰄈"}.mdi-camera-switch-outline:before{content:"󰡊"}.mdi-camera-timer:before{content:"󰄉"}.mdi-camera-wireless:before{content:"󰶶"}.mdi-camera-wireless-outline:before{content:"󰶷"}.mdi-campfire:before{content:"󰻝"}.mdi-cancel:before{content:"󰜺"}.mdi-candelabra:before{content:"󱟒"}.mdi-candelabra-fire:before{content:"󱟓"}.mdi-candle:before{content:"󰗢"}.mdi-candy:before{content:"󱥰"}.mdi-candy-off:before{content:"󱥱"}.mdi-candy-off-outline:before{content:"󱥲"}.mdi-candy-outline:before{content:"󱥳"}.mdi-candycane:before{content:"󰄊"}.mdi-cannabis:before{content:"󰞦"}.mdi-cannabis-off:before{content:"󱙮"}.mdi-caps-lock:before{content:"󰪛"}.mdi-car:before{content:"󰄋"}.mdi-car-2-plus:before{content:"󱀕"}.mdi-car-3-plus:before{content:"󱀖"}.mdi-car-arrow-left:before{content:"󱎲"}.mdi-car-arrow-right:before{content:"󱎳"}.mdi-car-back:before{content:"󰸛"}.mdi-car-battery:before{content:"󰄌"}.mdi-car-brake-abs:before{content:"󰱇"}.mdi-car-brake-alert:before{content:"󰱈"}.mdi-car-brake-fluid-level:before{content:"󱤉"}.mdi-car-brake-hold:before{content:"󰵞"}.mdi-car-brake-low-pressure:before{content:"󱤊"}.mdi-car-brake-parking:before{content:"󰵟"}.mdi-car-brake-retarder:before{content:"󱀗"}.mdi-car-brake-temperature:before{content:"󱤋"}.mdi-car-brake-worn-linings:before{content:"󱤌"}.mdi-car-child-seat:before{content:"󰾣"}.mdi-car-clock:before{content:"󱥴"}.mdi-car-clutch:before{content:"󱀘"}.mdi-car-cog:before{content:"󱏌"}.mdi-car-connected:before{content:"󰄍"}.mdi-car-convertible:before{content:"󰞧"}.mdi-car-coolant-level:before{content:"󱀙"}.mdi-car-cruise-control:before{content:"󰵠"}.mdi-car-defrost-front:before{content:"󰵡"}.mdi-car-defrost-rear:before{content:"󰵢"}.mdi-car-door:before{content:"󰭫"}.mdi-car-door-lock:before{content:"󱂝"}.mdi-car-door-lock-open:before{content:"󱲁"}.mdi-car-electric:before{content:"󰭬"}.mdi-car-electric-outline:before{content:"󱖵"}.mdi-car-emergency:before{content:"󱘏"}.mdi-car-esp:before{content:"󰱉"}.mdi-car-estate:before{content:"󰞨"}.mdi-car-hatchback:before{content:"󰞩"}.mdi-car-info:before{content:"󱆾"}.mdi-car-key:before{content:"󰭭"}.mdi-car-lifted-pickup:before{content:"󱔭"}.mdi-car-light-alert:before{content:"󱤍"}.mdi-car-light-dimmed:before{content:"󰱊"}.mdi-car-light-fog:before{content:"󰱋"}.mdi-car-light-high:before{content:"󰱌"}.mdi-car-limousine:before{content:"󰣍"}.mdi-car-multiple:before{content:"󰭮"}.mdi-car-off:before{content:"󰸜"}.mdi-car-outline:before{content:"󱓭"}.mdi-car-parking-lights:before{content:"󰵣"}.mdi-car-pickup:before{content:"󰞪"}.mdi-car-search:before{content:"󱮍"}.mdi-car-search-outline:before{content:"󱮎"}.mdi-car-seat:before{content:"󰾤"}.mdi-car-seat-cooler:before{content:"󰾥"}.mdi-car-seat-heater:before{content:"󰾦"}.mdi-car-select:before{content:"󱡹"}.mdi-car-settings:before{content:"󱏍"}.mdi-car-shift-pattern:before{content:"󰽀"}.mdi-car-side:before{content:"󰞫"}.mdi-car-speed-limiter:before{content:"󱤎"}.mdi-car-sports:before{content:"󰞬"}.mdi-car-tire-alert:before{content:"󰱍"}.mdi-car-traction-control:before{content:"󰵤"}.mdi-car-turbocharger:before{content:"󱀚"}.mdi-car-wash:before{content:"󰄎"}.mdi-car-windshield:before{content:"󱀛"}.mdi-car-windshield-outline:before{content:"󱀜"}.mdi-car-wireless:before{content:"󱡸"}.mdi-car-wrench:before{content:"󱠔"}.mdi-carabiner:before{content:"󱓀"}.mdi-caravan:before{content:"󰞭"}.mdi-card:before{content:"󰭯"}.mdi-card-account-details:before{content:"󰗒"}.mdi-card-account-details-outline:before{content:"󰶫"}.mdi-card-account-details-star:before{content:"󰊣"}.mdi-card-account-details-star-outline:before{content:"󰛛"}.mdi-card-account-mail:before{content:"󰆎"}.mdi-card-account-mail-outline:before{content:"󰺘"}.mdi-card-account-phone:before{content:"󰺙"}.mdi-card-account-phone-outline:before{content:"󰺚"}.mdi-card-bulleted:before{content:"󰭰"}.mdi-card-bulleted-off:before{content:"󰭱"}.mdi-card-bulleted-off-outline:before{content:"󰭲"}.mdi-card-bulleted-outline:before{content:"󰭳"}.mdi-card-bulleted-settings:before{content:"󰭴"}.mdi-card-bulleted-settings-outline:before{content:"󰭵"}.mdi-card-minus:before{content:"󱘀"}.mdi-card-minus-outline:before{content:"󱘁"}.mdi-card-multiple:before{content:"󱟱"}.mdi-card-multiple-outline:before{content:"󱟲"}.mdi-card-off:before{content:"󱘂"}.mdi-card-off-outline:before{content:"󱘃"}.mdi-card-outline:before{content:"󰭶"}.mdi-card-plus:before{content:"󱇿"}.mdi-card-plus-outline:before{content:"󱈀"}.mdi-card-remove:before{content:"󱘄"}.mdi-card-remove-outline:before{content:"󱘅"}.mdi-card-search:before{content:"󱁴"}.mdi-card-search-outline:before{content:"󱁵"}.mdi-card-text:before{content:"󰭷"}.mdi-card-text-outline:before{content:"󰭸"}.mdi-cards:before{content:"󰘸"}.mdi-cards-club:before{content:"󰣎"}.mdi-cards-club-outline:before{content:"󱢟"}.mdi-cards-diamond:before{content:"󰣏"}.mdi-cards-diamond-outline:before{content:"󱀝"}.mdi-cards-heart:before{content:"󰣐"}.mdi-cards-heart-outline:before{content:"󱢠"}.mdi-cards-outline:before{content:"󰘹"}.mdi-cards-playing:before{content:"󱢡"}.mdi-cards-playing-club:before{content:"󱢢"}.mdi-cards-playing-club-multiple:before{content:"󱢣"}.mdi-cards-playing-club-multiple-outline:before{content:"󱢤"}.mdi-cards-playing-club-outline:before{content:"󱢥"}.mdi-cards-playing-diamond:before{content:"󱢦"}.mdi-cards-playing-diamond-multiple:before{content:"󱢧"}.mdi-cards-playing-diamond-multiple-outline:before{content:"󱢨"}.mdi-cards-playing-diamond-outline:before{content:"󱢩"}.mdi-cards-playing-heart:before{content:"󱢪"}.mdi-cards-playing-heart-multiple:before{content:"󱢫"}.mdi-cards-playing-heart-multiple-outline:before{content:"󱢬"}.mdi-cards-playing-heart-outline:before{content:"󱢭"}.mdi-cards-playing-outline:before{content:"󰘺"}.mdi-cards-playing-spade:before{content:"󱢮"}.mdi-cards-playing-spade-multiple:before{content:"󱢯"}.mdi-cards-playing-spade-multiple-outline:before{content:"󱢰"}.mdi-cards-playing-spade-outline:before{content:"󱢱"}.mdi-cards-spade:before{content:"󰣑"}.mdi-cards-spade-outline:before{content:"󱢲"}.mdi-cards-variant:before{content:"󰛇"}.mdi-carrot:before{content:"󰄏"}.mdi-cart:before{content:"󰄐"}.mdi-cart-arrow-down:before{content:"󰵦"}.mdi-cart-arrow-right:before{content:"󰱎"}.mdi-cart-arrow-up:before{content:"󰵧"}.mdi-cart-check:before{content:"󱗪"}.mdi-cart-heart:before{content:"󱣠"}.mdi-cart-minus:before{content:"󰵨"}.mdi-cart-off:before{content:"󰙫"}.mdi-cart-outline:before{content:"󰄑"}.mdi-cart-percent:before{content:"󱮮"}.mdi-cart-plus:before{content:"󰄒"}.mdi-cart-remove:before{content:"󰵩"}.mdi-cart-variant:before{content:"󱗫"}.mdi-case-sensitive-alt:before{content:"󰄓"}.mdi-cash:before{content:"󰄔"}.mdi-cash-100:before{content:"󰄕"}.mdi-cash-check:before{content:"󱓮"}.mdi-cash-clock:before{content:"󱪑"}.mdi-cash-edit:before{content:"󱲫"}.mdi-cash-fast:before{content:"󱡜"}.mdi-cash-lock:before{content:"󱓪"}.mdi-cash-lock-open:before{content:"󱓫"}.mdi-cash-marker:before{content:"󰶸"}.mdi-cash-minus:before{content:"󱉠"}.mdi-cash-multiple:before{content:"󰄖"}.mdi-cash-off:before{content:"󱱹"}.mdi-cash-plus:before{content:"󱉡"}.mdi-cash-refund:before{content:"󰪜"}.mdi-cash-register:before{content:"󰳴"}.mdi-cash-remove:before{content:"󱉢"}.mdi-cash-sync:before{content:"󱪒"}.mdi-cassette:before{content:"󰧔"}.mdi-cast:before{content:"󰄘"}.mdi-cast-audio:before{content:"󱀞"}.mdi-cast-audio-variant:before{content:"󱝉"}.mdi-cast-connected:before{content:"󰄙"}.mdi-cast-education:before{content:"󰸝"}.mdi-cast-off:before{content:"󰞊"}.mdi-cast-variant:before{content:"󰀟"}.mdi-castle:before{content:"󰄚"}.mdi-cat:before{content:"󰄛"}.mdi-cctv:before{content:"󰞮"}.mdi-cctv-off:before{content:"󱡟"}.mdi-ceiling-fan:before{content:"󱞗"}.mdi-ceiling-fan-light:before{content:"󱞘"}.mdi-ceiling-light:before{content:"󰝩"}.mdi-ceiling-light-multiple:before{content:"󱣝"}.mdi-ceiling-light-multiple-outline:before{content:"󱣞"}.mdi-ceiling-light-outline:before{content:"󱟇"}.mdi-cellphone:before{content:"󰄜"}.mdi-cellphone-arrow-down:before{content:"󰧕"}.mdi-cellphone-arrow-down-variant:before{content:"󱧅"}.mdi-cellphone-basic:before{content:"󰄞"}.mdi-cellphone-charging:before{content:"󱎗"}.mdi-cellphone-check:before{content:"󱟽"}.mdi-cellphone-cog:before{content:"󰥑"}.mdi-cellphone-dock:before{content:"󰄟"}.mdi-cellphone-information:before{content:"󰽁"}.mdi-cellphone-key:before{content:"󰥎"}.mdi-cellphone-link:before{content:"󰄡"}.mdi-cellphone-link-off:before{content:"󰄢"}.mdi-cellphone-lock:before{content:"󰥏"}.mdi-cellphone-marker:before{content:"󱠺"}.mdi-cellphone-message:before{content:"󰣓"}.mdi-cellphone-message-off:before{content:"󱃒"}.mdi-cellphone-nfc:before{content:"󰺐"}.mdi-cellphone-nfc-off:before{content:"󱋘"}.mdi-cellphone-off:before{content:"󰥐"}.mdi-cellphone-play:before{content:"󱀟"}.mdi-cellphone-remove:before{content:"󰥍"}.mdi-cellphone-screenshot:before{content:"󰨵"}.mdi-cellphone-settings:before{content:"󰄣"}.mdi-cellphone-sound:before{content:"󰥒"}.mdi-cellphone-text:before{content:"󰣒"}.mdi-cellphone-wireless:before{content:"󰠕"}.mdi-centos:before{content:"󱄚"}.mdi-certificate:before{content:"󰄤"}.mdi-certificate-outline:before{content:"󱆈"}.mdi-chair-rolling:before{content:"󰽈"}.mdi-chair-school:before{content:"󰄥"}.mdi-chandelier:before{content:"󱞓"}.mdi-charity:before{content:"󰱏"}.mdi-charity-search:before{content:"󱲂"}.mdi-chart-arc:before{content:"󰄦"}.mdi-chart-areaspline:before{content:"󰄧"}.mdi-chart-areaspline-variant:before{content:"󰺑"}.mdi-chart-bar:before{content:"󰄨"}.mdi-chart-bar-stacked:before{content:"󰝪"}.mdi-chart-bell-curve:before{content:"󰱐"}.mdi-chart-bell-curve-cumulative:before{content:"󰾧"}.mdi-chart-box:before{content:"󱕍"}.mdi-chart-box-multiple:before{content:"󱳍"}.mdi-chart-box-multiple-outline:before{content:"󱳎"}.mdi-chart-box-outline:before{content:"󱕎"}.mdi-chart-box-plus-outline:before{content:"󱕏"}.mdi-chart-bubble:before{content:"󰗣"}.mdi-chart-donut:before{content:"󰞯"}.mdi-chart-donut-variant:before{content:"󰞰"}.mdi-chart-gantt:before{content:"󰙬"}.mdi-chart-histogram:before{content:"󰄩"}.mdi-chart-line:before{content:"󰄪"}.mdi-chart-line-stacked:before{content:"󰝫"}.mdi-chart-line-variant:before{content:"󰞱"}.mdi-chart-multiline:before{content:"󰣔"}.mdi-chart-multiple:before{content:"󱈓"}.mdi-chart-pie:before{content:"󰄫"}.mdi-chart-pie-outline:before{content:"󱯟"}.mdi-chart-ppf:before{content:"󱎀"}.mdi-chart-sankey:before{content:"󱇟"}.mdi-chart-sankey-variant:before{content:"󱇠"}.mdi-chart-scatter-plot:before{content:"󰺒"}.mdi-chart-scatter-plot-hexbin:before{content:"󰙭"}.mdi-chart-timeline:before{content:"󰙮"}.mdi-chart-timeline-variant:before{content:"󰺓"}.mdi-chart-timeline-variant-shimmer:before{content:"󱖶"}.mdi-chart-tree:before{content:"󰺔"}.mdi-chart-waterfall:before{content:"󱤘"}.mdi-chat:before{content:"󰭹"}.mdi-chat-alert:before{content:"󰭺"}.mdi-chat-alert-outline:before{content:"󱋉"}.mdi-chat-minus:before{content:"󱐐"}.mdi-chat-minus-outline:before{content:"󱐓"}.mdi-chat-outline:before{content:"󰻞"}.mdi-chat-plus:before{content:"󱐏"}.mdi-chat-plus-outline:before{content:"󱐒"}.mdi-chat-processing:before{content:"󰭻"}.mdi-chat-processing-outline:before{content:"󱋊"}.mdi-chat-question:before{content:"󱜸"}.mdi-chat-question-outline:before{content:"󱜹"}.mdi-chat-remove:before{content:"󱐑"}.mdi-chat-remove-outline:before{content:"󱐔"}.mdi-chat-sleep:before{content:"󱋑"}.mdi-chat-sleep-outline:before{content:"󱋒"}.mdi-check:before{content:"󰄬"}.mdi-check-all:before{content:"󰄭"}.mdi-check-bold:before{content:"󰸞"}.mdi-check-circle:before{content:"󰗠"}.mdi-check-circle-outline:before{content:"󰗡"}.mdi-check-decagram:before{content:"󰞑"}.mdi-check-decagram-outline:before{content:"󱝀"}.mdi-check-network:before{content:"󰱓"}.mdi-check-network-outline:before{content:"󰱔"}.mdi-check-outline:before{content:"󰡕"}.mdi-check-underline:before{content:"󰸟"}.mdi-check-underline-circle:before{content:"󰸠"}.mdi-check-underline-circle-outline:before{content:"󰸡"}.mdi-checkbook:before{content:"󰪝"}.mdi-checkbook-arrow-left:before{content:"󱰝"}.mdi-checkbook-arrow-right:before{content:"󱰞"}.mdi-checkbox-blank:before{content:"󰄮"}.mdi-checkbox-blank-badge:before{content:"󱅶"}.mdi-checkbox-blank-badge-outline:before{content:"󰄗"}.mdi-checkbox-blank-circle:before{content:"󰄯"}.mdi-checkbox-blank-circle-outline:before{content:"󰄰"}.mdi-checkbox-blank-off:before{content:"󱋬"}.mdi-checkbox-blank-off-outline:before{content:"󱋭"}.mdi-checkbox-blank-outline:before{content:"󰄱"}.mdi-checkbox-intermediate:before{content:"󰡖"}.mdi-checkbox-intermediate-variant:before{content:"󱭔"}.mdi-checkbox-marked:before{content:"󰄲"}.mdi-checkbox-marked-circle:before{content:"󰄳"}.mdi-checkbox-marked-circle-auto-outline:before{content:"󱰦"}.mdi-checkbox-marked-circle-minus-outline:before{content:"󱰧"}.mdi-checkbox-marked-circle-outline:before{content:"󰄴"}.mdi-checkbox-marked-circle-plus-outline:before{content:"󱤧"}.mdi-checkbox-marked-outline:before{content:"󰄵"}.mdi-checkbox-multiple-blank:before{content:"󰄶"}.mdi-checkbox-multiple-blank-circle:before{content:"󰘻"}.mdi-checkbox-multiple-blank-circle-outline:before{content:"󰘼"}.mdi-checkbox-multiple-blank-outline:before{content:"󰄷"}.mdi-checkbox-multiple-marked:before{content:"󰄸"}.mdi-checkbox-multiple-marked-circle:before{content:"󰘽"}.mdi-checkbox-multiple-marked-circle-outline:before{content:"󰘾"}.mdi-checkbox-multiple-marked-outline:before{content:"󰄹"}.mdi-checkbox-multiple-outline:before{content:"󰱑"}.mdi-checkbox-outline:before{content:"󰱒"}.mdi-checkerboard:before{content:"󰄺"}.mdi-checkerboard-minus:before{content:"󱈂"}.mdi-checkerboard-plus:before{content:"󱈁"}.mdi-checkerboard-remove:before{content:"󱈃"}.mdi-cheese:before{content:"󱊹"}.mdi-cheese-off:before{content:"󱏮"}.mdi-chef-hat:before{content:"󰭼"}.mdi-chemical-weapon:before{content:"󰄻"}.mdi-chess-bishop:before{content:"󰡜"}.mdi-chess-king:before{content:"󰡗"}.mdi-chess-knight:before{content:"󰡘"}.mdi-chess-pawn:before{content:"󰡙"}.mdi-chess-queen:before{content:"󰡚"}.mdi-chess-rook:before{content:"󰡛"}.mdi-chevron-double-down:before{content:"󰄼"}.mdi-chevron-double-left:before{content:"󰄽"}.mdi-chevron-double-right:before{content:"󰄾"}.mdi-chevron-double-up:before{content:"󰄿"}.mdi-chevron-down:before{content:"󰅀"}.mdi-chevron-down-box:before{content:"󰧖"}.mdi-chevron-down-box-outline:before{content:"󰧗"}.mdi-chevron-down-circle:before{content:"󰬦"}.mdi-chevron-down-circle-outline:before{content:"󰬧"}.mdi-chevron-left:before{content:"󰅁"}.mdi-chevron-left-box:before{content:"󰧘"}.mdi-chevron-left-box-outline:before{content:"󰧙"}.mdi-chevron-left-circle:before{content:"󰬨"}.mdi-chevron-left-circle-outline:before{content:"󰬩"}.mdi-chevron-right:before{content:"󰅂"}.mdi-chevron-right-box:before{content:"󰧚"}.mdi-chevron-right-box-outline:before{content:"󰧛"}.mdi-chevron-right-circle:before{content:"󰬪"}.mdi-chevron-right-circle-outline:before{content:"󰬫"}.mdi-chevron-triple-down:before{content:"󰶹"}.mdi-chevron-triple-left:before{content:"󰶺"}.mdi-chevron-triple-right:before{content:"󰶻"}.mdi-chevron-triple-up:before{content:"󰶼"}.mdi-chevron-up:before{content:"󰅃"}.mdi-chevron-up-box:before{content:"󰧜"}.mdi-chevron-up-box-outline:before{content:"󰧝"}.mdi-chevron-up-circle:before{content:"󰬬"}.mdi-chevron-up-circle-outline:before{content:"󰬭"}.mdi-chili-alert:before{content:"󱟪"}.mdi-chili-alert-outline:before{content:"󱟫"}.mdi-chili-hot:before{content:"󰞲"}.mdi-chili-hot-outline:before{content:"󱟬"}.mdi-chili-medium:before{content:"󰞳"}.mdi-chili-medium-outline:before{content:"󱟭"}.mdi-chili-mild:before{content:"󰞴"}.mdi-chili-mild-outline:before{content:"󱟮"}.mdi-chili-off:before{content:"󱑧"}.mdi-chili-off-outline:before{content:"󱟯"}.mdi-chip:before{content:"󰘚"}.mdi-church:before{content:"󰅄"}.mdi-church-outline:before{content:"󱬂"}.mdi-cigar:before{content:"󱆉"}.mdi-cigar-off:before{content:"󱐛"}.mdi-circle:before{content:"󰝥"}.mdi-circle-box:before{content:"󱗜"}.mdi-circle-box-outline:before{content:"󱗝"}.mdi-circle-double:before{content:"󰺕"}.mdi-circle-edit-outline:before{content:"󰣕"}.mdi-circle-expand:before{content:"󰺖"}.mdi-circle-half:before{content:"󱎕"}.mdi-circle-half-full:before{content:"󱎖"}.mdi-circle-medium:before{content:"󰧞"}.mdi-circle-multiple:before{content:"󰬸"}.mdi-circle-multiple-outline:before{content:"󰚕"}.mdi-circle-off-outline:before{content:"󱃓"}.mdi-circle-opacity:before{content:"󱡓"}.mdi-circle-outline:before{content:"󰝦"}.mdi-circle-slice-1:before{content:"󰪞"}.mdi-circle-slice-2:before{content:"󰪟"}.mdi-circle-slice-3:before{content:"󰪠"}.mdi-circle-slice-4:before{content:"󰪡"}.mdi-circle-slice-5:before{content:"󰪢"}.mdi-circle-slice-6:before{content:"󰪣"}.mdi-circle-slice-7:before{content:"󰪤"}.mdi-circle-slice-8:before{content:"󰪥"}.mdi-circle-small:before{content:"󰧟"}.mdi-circular-saw:before{content:"󰸢"}.mdi-city:before{content:"󰅆"}.mdi-city-switch:before{content:"󱰨"}.mdi-city-variant:before{content:"󰨶"}.mdi-city-variant-outline:before{content:"󰨷"}.mdi-clipboard:before{content:"󰅇"}.mdi-clipboard-account:before{content:"󰅈"}.mdi-clipboard-account-outline:before{content:"󰱕"}.mdi-clipboard-alert:before{content:"󰅉"}.mdi-clipboard-alert-outline:before{content:"󰳷"}.mdi-clipboard-arrow-down:before{content:"󰅊"}.mdi-clipboard-arrow-down-outline:before{content:"󰱖"}.mdi-clipboard-arrow-left:before{content:"󰅋"}.mdi-clipboard-arrow-left-outline:before{content:"󰳸"}.mdi-clipboard-arrow-right:before{content:"󰳹"}.mdi-clipboard-arrow-right-outline:before{content:"󰳺"}.mdi-clipboard-arrow-up:before{content:"󰱗"}.mdi-clipboard-arrow-up-outline:before{content:"󰱘"}.mdi-clipboard-check:before{content:"󰅎"}.mdi-clipboard-check-multiple:before{content:"󱉣"}.mdi-clipboard-check-multiple-outline:before{content:"󱉤"}.mdi-clipboard-check-outline:before{content:"󰢨"}.mdi-clipboard-clock:before{content:"󱛢"}.mdi-clipboard-clock-outline:before{content:"󱛣"}.mdi-clipboard-edit:before{content:"󱓥"}.mdi-clipboard-edit-outline:before{content:"󱓦"}.mdi-clipboard-file:before{content:"󱉥"}.mdi-clipboard-file-outline:before{content:"󱉦"}.mdi-clipboard-flow:before{content:"󰛈"}.mdi-clipboard-flow-outline:before{content:"󱄗"}.mdi-clipboard-list:before{content:"󱃔"}.mdi-clipboard-list-outline:before{content:"󱃕"}.mdi-clipboard-minus:before{content:"󱘘"}.mdi-clipboard-minus-outline:before{content:"󱘙"}.mdi-clipboard-multiple:before{content:"󱉧"}.mdi-clipboard-multiple-outline:before{content:"󱉨"}.mdi-clipboard-off:before{content:"󱘚"}.mdi-clipboard-off-outline:before{content:"󱘛"}.mdi-clipboard-outline:before{content:"󰅌"}.mdi-clipboard-play:before{content:"󰱙"}.mdi-clipboard-play-multiple:before{content:"󱉩"}.mdi-clipboard-play-multiple-outline:before{content:"󱉪"}.mdi-clipboard-play-outline:before{content:"󰱚"}.mdi-clipboard-plus:before{content:"󰝑"}.mdi-clipboard-plus-outline:before{content:"󱌟"}.mdi-clipboard-pulse:before{content:"󰡝"}.mdi-clipboard-pulse-outline:before{content:"󰡞"}.mdi-clipboard-remove:before{content:"󱘜"}.mdi-clipboard-remove-outline:before{content:"󱘝"}.mdi-clipboard-search:before{content:"󱘞"}.mdi-clipboard-search-outline:before{content:"󱘟"}.mdi-clipboard-text:before{content:"󰅍"}.mdi-clipboard-text-clock:before{content:"󱣹"}.mdi-clipboard-text-clock-outline:before{content:"󱣺"}.mdi-clipboard-text-multiple:before{content:"󱉫"}.mdi-clipboard-text-multiple-outline:before{content:"󱉬"}.mdi-clipboard-text-off:before{content:"󱘠"}.mdi-clipboard-text-off-outline:before{content:"󱘡"}.mdi-clipboard-text-outline:before{content:"󰨸"}.mdi-clipboard-text-play:before{content:"󰱛"}.mdi-clipboard-text-play-outline:before{content:"󰱜"}.mdi-clipboard-text-search:before{content:"󱘢"}.mdi-clipboard-text-search-outline:before{content:"󱘣"}.mdi-clippy:before{content:"󰅏"}.mdi-clock:before{content:"󰥔"}.mdi-clock-alert:before{content:"󰥕"}.mdi-clock-alert-outline:before{content:"󰗎"}.mdi-clock-check:before{content:"󰾨"}.mdi-clock-check-outline:before{content:"󰾩"}.mdi-clock-digital:before{content:"󰺗"}.mdi-clock-edit:before{content:"󱦺"}.mdi-clock-edit-outline:before{content:"󱦻"}.mdi-clock-end:before{content:"󰅑"}.mdi-clock-fast:before{content:"󰅒"}.mdi-clock-in:before{content:"󰅓"}.mdi-clock-minus:before{content:"󱡣"}.mdi-clock-minus-outline:before{content:"󱡤"}.mdi-clock-out:before{content:"󰅔"}.mdi-clock-outline:before{content:"󰅐"}.mdi-clock-plus:before{content:"󱡡"}.mdi-clock-plus-outline:before{content:"󱡢"}.mdi-clock-remove:before{content:"󱡥"}.mdi-clock-remove-outline:before{content:"󱡦"}.mdi-clock-star-four-points:before{content:"󱰩"}.mdi-clock-star-four-points-outline:before{content:"󱰪"}.mdi-clock-start:before{content:"󰅕"}.mdi-clock-time-eight:before{content:"󱑆"}.mdi-clock-time-eight-outline:before{content:"󱑒"}.mdi-clock-time-eleven:before{content:"󱑉"}.mdi-clock-time-eleven-outline:before{content:"󱑕"}.mdi-clock-time-five:before{content:"󱑃"}.mdi-clock-time-five-outline:before{content:"󱑏"}.mdi-clock-time-four:before{content:"󱑂"}.mdi-clock-time-four-outline:before{content:"󱑎"}.mdi-clock-time-nine:before{content:"󱑇"}.mdi-clock-time-nine-outline:before{content:"󱑓"}.mdi-clock-time-one:before{content:"󱐿"}.mdi-clock-time-one-outline:before{content:"󱑋"}.mdi-clock-time-seven:before{content:"󱑅"}.mdi-clock-time-seven-outline:before{content:"󱑑"}.mdi-clock-time-six:before{content:"󱑄"}.mdi-clock-time-six-outline:before{content:"󱑐"}.mdi-clock-time-ten:before{content:"󱑈"}.mdi-clock-time-ten-outline:before{content:"󱑔"}.mdi-clock-time-three:before{content:"󱑁"}.mdi-clock-time-three-outline:before{content:"󱑍"}.mdi-clock-time-twelve:before{content:"󱑊"}.mdi-clock-time-twelve-outline:before{content:"󱑖"}.mdi-clock-time-two:before{content:"󱑀"}.mdi-clock-time-two-outline:before{content:"󱑌"}.mdi-close:before{content:"󰅖"}.mdi-close-box:before{content:"󰅗"}.mdi-close-box-multiple:before{content:"󰱝"}.mdi-close-box-multiple-outline:before{content:"󰱞"}.mdi-close-box-outline:before{content:"󰅘"}.mdi-close-circle:before{content:"󰅙"}.mdi-close-circle-multiple:before{content:"󰘪"}.mdi-close-circle-multiple-outline:before{content:"󰢃"}.mdi-close-circle-outline:before{content:"󰅚"}.mdi-close-network:before{content:"󰅛"}.mdi-close-network-outline:before{content:"󰱟"}.mdi-close-octagon:before{content:"󰅜"}.mdi-close-octagon-outline:before{content:"󰅝"}.mdi-close-outline:before{content:"󰛉"}.mdi-close-thick:before{content:"󱎘"}.mdi-closed-caption:before{content:"󰅞"}.mdi-closed-caption-outline:before{content:"󰶽"}.mdi-cloud:before{content:"󰅟"}.mdi-cloud-alert:before{content:"󰧠"}.mdi-cloud-alert-outline:before{content:"󱯠"}.mdi-cloud-arrow-down:before{content:"󱯡"}.mdi-cloud-arrow-down-outline:before{content:"󱯢"}.mdi-cloud-arrow-left:before{content:"󱯣"}.mdi-cloud-arrow-left-outline:before{content:"󱯤"}.mdi-cloud-arrow-right:before{content:"󱯥"}.mdi-cloud-arrow-right-outline:before{content:"󱯦"}.mdi-cloud-arrow-up:before{content:"󱯧"}.mdi-cloud-arrow-up-outline:before{content:"󱯨"}.mdi-cloud-braces:before{content:"󰞵"}.mdi-cloud-cancel:before{content:"󱯩"}.mdi-cloud-cancel-outline:before{content:"󱯪"}.mdi-cloud-check:before{content:"󱯫"}.mdi-cloud-check-outline:before{content:"󱯬"}.mdi-cloud-check-variant:before{content:"󰅠"}.mdi-cloud-check-variant-outline:before{content:"󱋌"}.mdi-cloud-circle:before{content:"󰅡"}.mdi-cloud-circle-outline:before{content:"󱯭"}.mdi-cloud-clock:before{content:"󱯮"}.mdi-cloud-clock-outline:before{content:"󱯯"}.mdi-cloud-cog:before{content:"󱯰"}.mdi-cloud-cog-outline:before{content:"󱯱"}.mdi-cloud-download:before{content:"󰅢"}.mdi-cloud-download-outline:before{content:"󰭽"}.mdi-cloud-key:before{content:"󱲡"}.mdi-cloud-key-outline:before{content:"󱲢"}.mdi-cloud-lock:before{content:"󱇱"}.mdi-cloud-lock-open:before{content:"󱯲"}.mdi-cloud-lock-open-outline:before{content:"󱯳"}.mdi-cloud-lock-outline:before{content:"󱇲"}.mdi-cloud-minus:before{content:"󱯴"}.mdi-cloud-minus-outline:before{content:"󱯵"}.mdi-cloud-off:before{content:"󱯶"}.mdi-cloud-off-outline:before{content:"󰅤"}.mdi-cloud-outline:before{content:"󰅣"}.mdi-cloud-percent:before{content:"󱨵"}.mdi-cloud-percent-outline:before{content:"󱨶"}.mdi-cloud-plus:before{content:"󱯷"}.mdi-cloud-plus-outline:before{content:"󱯸"}.mdi-cloud-print:before{content:"󰅥"}.mdi-cloud-print-outline:before{content:"󰅦"}.mdi-cloud-question:before{content:"󰨹"}.mdi-cloud-question-outline:before{content:"󱯹"}.mdi-cloud-refresh:before{content:"󱯺"}.mdi-cloud-refresh-outline:before{content:"󱯻"}.mdi-cloud-refresh-variant:before{content:"󰔪"}.mdi-cloud-refresh-variant-outline:before{content:"󱯼"}.mdi-cloud-remove:before{content:"󱯽"}.mdi-cloud-remove-outline:before{content:"󱯾"}.mdi-cloud-search:before{content:"󰥖"}.mdi-cloud-search-outline:before{content:"󰥗"}.mdi-cloud-sync:before{content:"󰘿"}.mdi-cloud-sync-outline:before{content:"󱋖"}.mdi-cloud-tags:before{content:"󰞶"}.mdi-cloud-upload:before{content:"󰅧"}.mdi-cloud-upload-outline:before{content:"󰭾"}.mdi-clouds:before{content:"󱮕"}.mdi-clover:before{content:"󰠖"}.mdi-clover-outline:before{content:"󱱢"}.mdi-coach-lamp:before{content:"󱀠"}.mdi-coach-lamp-variant:before{content:"󱨷"}.mdi-coat-rack:before{content:"󱂞"}.mdi-code-array:before{content:"󰅨"}.mdi-code-block-braces:before{content:"󱲃"}.mdi-code-block-brackets:before{content:"󱲄"}.mdi-code-block-parentheses:before{content:"󱲅"}.mdi-code-block-tags:before{content:"󱲆"}.mdi-code-braces:before{content:"󰅩"}.mdi-code-braces-box:before{content:"󱃖"}.mdi-code-brackets:before{content:"󰅪"}.mdi-code-equal:before{content:"󰅫"}.mdi-code-greater-than:before{content:"󰅬"}.mdi-code-greater-than-or-equal:before{content:"󰅭"}.mdi-code-json:before{content:"󰘦"}.mdi-code-less-than:before{content:"󰅮"}.mdi-code-less-than-or-equal:before{content:"󰅯"}.mdi-code-not-equal:before{content:"󰅰"}.mdi-code-not-equal-variant:before{content:"󰅱"}.mdi-code-parentheses:before{content:"󰅲"}.mdi-code-parentheses-box:before{content:"󱃗"}.mdi-code-string:before{content:"󰅳"}.mdi-code-tags:before{content:"󰅴"}.mdi-code-tags-check:before{content:"󰚔"}.mdi-codepen:before{content:"󰅵"}.mdi-coffee:before{content:"󰅶"}.mdi-coffee-maker:before{content:"󱂟"}.mdi-coffee-maker-check:before{content:"󱤱"}.mdi-coffee-maker-check-outline:before{content:"󱤲"}.mdi-coffee-maker-outline:before{content:"󱠛"}.mdi-coffee-off:before{content:"󰾪"}.mdi-coffee-off-outline:before{content:"󰾫"}.mdi-coffee-outline:before{content:"󰛊"}.mdi-coffee-to-go:before{content:"󰅷"}.mdi-coffee-to-go-outline:before{content:"󱌎"}.mdi-coffin:before{content:"󰭿"}.mdi-cog:before{content:"󰒓"}.mdi-cog-box:before{content:"󰒔"}.mdi-cog-clockwise:before{content:"󱇝"}.mdi-cog-counterclockwise:before{content:"󱇞"}.mdi-cog-off:before{content:"󱏎"}.mdi-cog-off-outline:before{content:"󱏏"}.mdi-cog-outline:before{content:"󰢻"}.mdi-cog-pause:before{content:"󱤳"}.mdi-cog-pause-outline:before{content:"󱤴"}.mdi-cog-play:before{content:"󱤵"}.mdi-cog-play-outline:before{content:"󱤶"}.mdi-cog-refresh:before{content:"󱑞"}.mdi-cog-refresh-outline:before{content:"󱑟"}.mdi-cog-stop:before{content:"󱤷"}.mdi-cog-stop-outline:before{content:"󱤸"}.mdi-cog-sync:before{content:"󱑠"}.mdi-cog-sync-outline:before{content:"󱑡"}.mdi-cog-transfer:before{content:"󱁛"}.mdi-cog-transfer-outline:before{content:"󱁜"}.mdi-cogs:before{content:"󰣖"}.mdi-collage:before{content:"󰙀"}.mdi-collapse-all:before{content:"󰪦"}.mdi-collapse-all-outline:before{content:"󰪧"}.mdi-color-helper:before{content:"󰅹"}.mdi-comma:before{content:"󰸣"}.mdi-comma-box:before{content:"󰸫"}.mdi-comma-box-outline:before{content:"󰸤"}.mdi-comma-circle:before{content:"󰸥"}.mdi-comma-circle-outline:before{content:"󰸦"}.mdi-comment:before{content:"󰅺"}.mdi-comment-account:before{content:"󰅻"}.mdi-comment-account-outline:before{content:"󰅼"}.mdi-comment-alert:before{content:"󰅽"}.mdi-comment-alert-outline:before{content:"󰅾"}.mdi-comment-arrow-left:before{content:"󰧡"}.mdi-comment-arrow-left-outline:before{content:"󰧢"}.mdi-comment-arrow-right:before{content:"󰧣"}.mdi-comment-arrow-right-outline:before{content:"󰧤"}.mdi-comment-bookmark:before{content:"󱖮"}.mdi-comment-bookmark-outline:before{content:"󱖯"}.mdi-comment-check:before{content:"󰅿"}.mdi-comment-check-outline:before{content:"󰆀"}.mdi-comment-edit:before{content:"󱆿"}.mdi-comment-edit-outline:before{content:"󱋄"}.mdi-comment-eye:before{content:"󰨺"}.mdi-comment-eye-outline:before{content:"󰨻"}.mdi-comment-flash:before{content:"󱖰"}.mdi-comment-flash-outline:before{content:"󱖱"}.mdi-comment-minus:before{content:"󱗟"}.mdi-comment-minus-outline:before{content:"󱗠"}.mdi-comment-multiple:before{content:"󰡟"}.mdi-comment-multiple-outline:before{content:"󰆁"}.mdi-comment-off:before{content:"󱗡"}.mdi-comment-off-outline:before{content:"󱗢"}.mdi-comment-outline:before{content:"󰆂"}.mdi-comment-plus:before{content:"󰧥"}.mdi-comment-plus-outline:before{content:"󰆃"}.mdi-comment-processing:before{content:"󰆄"}.mdi-comment-processing-outline:before{content:"󰆅"}.mdi-comment-question:before{content:"󰠗"}.mdi-comment-question-outline:before{content:"󰆆"}.mdi-comment-quote:before{content:"󱀡"}.mdi-comment-quote-outline:before{content:"󱀢"}.mdi-comment-remove:before{content:"󰗞"}.mdi-comment-remove-outline:before{content:"󰆇"}.mdi-comment-search:before{content:"󰨼"}.mdi-comment-search-outline:before{content:"󰨽"}.mdi-comment-text:before{content:"󰆈"}.mdi-comment-text-multiple:before{content:"󰡠"}.mdi-comment-text-multiple-outline:before{content:"󰡡"}.mdi-comment-text-outline:before{content:"󰆉"}.mdi-compare:before{content:"󰆊"}.mdi-compare-horizontal:before{content:"󱒒"}.mdi-compare-remove:before{content:"󱢳"}.mdi-compare-vertical:before{content:"󱒓"}.mdi-compass:before{content:"󰆋"}.mdi-compass-off:before{content:"󰮀"}.mdi-compass-off-outline:before{content:"󰮁"}.mdi-compass-outline:before{content:"󰆌"}.mdi-compass-rose:before{content:"󱎂"}.mdi-compost:before{content:"󱨸"}.mdi-cone:before{content:"󱥌"}.mdi-cone-off:before{content:"󱥍"}.mdi-connection:before{content:"󱘖"}.mdi-console:before{content:"󰆍"}.mdi-console-line:before{content:"󰞷"}.mdi-console-network:before{content:"󰢩"}.mdi-console-network-outline:before{content:"󰱠"}.mdi-consolidate:before{content:"󱃘"}.mdi-contactless-payment:before{content:"󰵪"}.mdi-contactless-payment-circle:before{content:"󰌡"}.mdi-contactless-payment-circle-outline:before{content:"󰐈"}.mdi-contacts:before{content:"󰛋"}.mdi-contacts-outline:before{content:"󰖸"}.mdi-contain:before{content:"󰨾"}.mdi-contain-end:before{content:"󰨿"}.mdi-contain-start:before{content:"󰩀"}.mdi-content-copy:before{content:"󰆏"}.mdi-content-cut:before{content:"󰆐"}.mdi-content-duplicate:before{content:"󰆑"}.mdi-content-paste:before{content:"󰆒"}.mdi-content-save:before{content:"󰆓"}.mdi-content-save-alert:before{content:"󰽂"}.mdi-content-save-alert-outline:before{content:"󰽃"}.mdi-content-save-all:before{content:"󰆔"}.mdi-content-save-all-outline:before{content:"󰽄"}.mdi-content-save-check:before{content:"󱣪"}.mdi-content-save-check-outline:before{content:"󱣫"}.mdi-content-save-cog:before{content:"󱑛"}.mdi-content-save-cog-outline:before{content:"󱑜"}.mdi-content-save-edit:before{content:"󰳻"}.mdi-content-save-edit-outline:before{content:"󰳼"}.mdi-content-save-minus:before{content:"󱭃"}.mdi-content-save-minus-outline:before{content:"󱭄"}.mdi-content-save-move:before{content:"󰸧"}.mdi-content-save-move-outline:before{content:"󰸨"}.mdi-content-save-off:before{content:"󱙃"}.mdi-content-save-off-outline:before{content:"󱙄"}.mdi-content-save-outline:before{content:"󰠘"}.mdi-content-save-plus:before{content:"󱭁"}.mdi-content-save-plus-outline:before{content:"󱭂"}.mdi-content-save-settings:before{content:"󰘛"}.mdi-content-save-settings-outline:before{content:"󰬮"}.mdi-contrast:before{content:"󰆕"}.mdi-contrast-box:before{content:"󰆖"}.mdi-contrast-circle:before{content:"󰆗"}.mdi-controller:before{content:"󰊴"}.mdi-controller-classic:before{content:"󰮂"}.mdi-controller-classic-outline:before{content:"󰮃"}.mdi-controller-off:before{content:"󰊵"}.mdi-cookie:before{content:"󰆘"}.mdi-cookie-alert:before{content:"󱛐"}.mdi-cookie-alert-outline:before{content:"󱛑"}.mdi-cookie-check:before{content:"󱛒"}.mdi-cookie-check-outline:before{content:"󱛓"}.mdi-cookie-clock:before{content:"󱛤"}.mdi-cookie-clock-outline:before{content:"󱛥"}.mdi-cookie-cog:before{content:"󱛔"}.mdi-cookie-cog-outline:before{content:"󱛕"}.mdi-cookie-edit:before{content:"󱛦"}.mdi-cookie-edit-outline:before{content:"󱛧"}.mdi-cookie-lock:before{content:"󱛨"}.mdi-cookie-lock-outline:before{content:"󱛩"}.mdi-cookie-minus:before{content:"󱛚"}.mdi-cookie-minus-outline:before{content:"󱛛"}.mdi-cookie-off:before{content:"󱛪"}.mdi-cookie-off-outline:before{content:"󱛫"}.mdi-cookie-outline:before{content:"󱛞"}.mdi-cookie-plus:before{content:"󱛖"}.mdi-cookie-plus-outline:before{content:"󱛗"}.mdi-cookie-refresh:before{content:"󱛬"}.mdi-cookie-refresh-outline:before{content:"󱛭"}.mdi-cookie-remove:before{content:"󱛘"}.mdi-cookie-remove-outline:before{content:"󱛙"}.mdi-cookie-settings:before{content:"󱛜"}.mdi-cookie-settings-outline:before{content:"󱛝"}.mdi-coolant-temperature:before{content:"󰏈"}.mdi-copyleft:before{content:"󱤹"}.mdi-copyright:before{content:"󰗦"}.mdi-cordova:before{content:"󰥘"}.mdi-corn:before{content:"󰞸"}.mdi-corn-off:before{content:"󱏯"}.mdi-cosine-wave:before{content:"󱑹"}.mdi-counter:before{content:"󰆙"}.mdi-countertop:before{content:"󱠜"}.mdi-countertop-outline:before{content:"󱠝"}.mdi-cow:before{content:"󰆚"}.mdi-cow-off:before{content:"󱣼"}.mdi-cpu-32-bit:before{content:"󰻟"}.mdi-cpu-64-bit:before{content:"󰻠"}.mdi-cradle:before{content:"󱦋"}.mdi-cradle-outline:before{content:"󱦑"}.mdi-crane:before{content:"󰡢"}.mdi-creation:before{content:"󰙴"}.mdi-creation-outline:before{content:"󱰫"}.mdi-creative-commons:before{content:"󰵫"}.mdi-credit-card:before{content:"󰿯"}.mdi-credit-card-check:before{content:"󱏐"}.mdi-credit-card-check-outline:before{content:"󱏑"}.mdi-credit-card-chip:before{content:"󱤏"}.mdi-credit-card-chip-outline:before{content:"󱤐"}.mdi-credit-card-clock:before{content:"󰻡"}.mdi-credit-card-clock-outline:before{content:"󰻢"}.mdi-credit-card-edit:before{content:"󱟗"}.mdi-credit-card-edit-outline:before{content:"󱟘"}.mdi-credit-card-fast:before{content:"󱤑"}.mdi-credit-card-fast-outline:before{content:"󱤒"}.mdi-credit-card-lock:before{content:"󱣧"}.mdi-credit-card-lock-outline:before{content:"󱣨"}.mdi-credit-card-marker:before{content:"󰚨"}.mdi-credit-card-marker-outline:before{content:"󰶾"}.mdi-credit-card-minus:before{content:"󰾬"}.mdi-credit-card-minus-outline:before{content:"󰾭"}.mdi-credit-card-multiple:before{content:"󰿰"}.mdi-credit-card-multiple-outline:before{content:"󰆜"}.mdi-credit-card-off:before{content:"󰿱"}.mdi-credit-card-off-outline:before{content:"󰗤"}.mdi-credit-card-outline:before{content:"󰆛"}.mdi-credit-card-plus:before{content:"󰿲"}.mdi-credit-card-plus-outline:before{content:"󰙶"}.mdi-credit-card-refresh:before{content:"󱙅"}.mdi-credit-card-refresh-outline:before{content:"󱙆"}.mdi-credit-card-refund:before{content:"󰿳"}.mdi-credit-card-refund-outline:before{content:"󰪨"}.mdi-credit-card-remove:before{content:"󰾮"}.mdi-credit-card-remove-outline:before{content:"󰾯"}.mdi-credit-card-scan:before{content:"󰿴"}.mdi-credit-card-scan-outline:before{content:"󰆝"}.mdi-credit-card-search:before{content:"󱙇"}.mdi-credit-card-search-outline:before{content:"󱙈"}.mdi-credit-card-settings:before{content:"󰿵"}.mdi-credit-card-settings-outline:before{content:"󰣗"}.mdi-credit-card-sync:before{content:"󱙉"}.mdi-credit-card-sync-outline:before{content:"󱙊"}.mdi-credit-card-wireless:before{content:"󰠂"}.mdi-credit-card-wireless-off:before{content:"󰕺"}.mdi-credit-card-wireless-off-outline:before{content:"󰕻"}.mdi-credit-card-wireless-outline:before{content:"󰵬"}.mdi-cricket:before{content:"󰵭"}.mdi-crop:before{content:"󰆞"}.mdi-crop-free:before{content:"󰆟"}.mdi-crop-landscape:before{content:"󰆠"}.mdi-crop-portrait:before{content:"󰆡"}.mdi-crop-rotate:before{content:"󰚖"}.mdi-crop-square:before{content:"󰆢"}.mdi-cross:before{content:"󰥓"}.mdi-cross-bolnisi:before{content:"󰳭"}.mdi-cross-celtic:before{content:"󰳵"}.mdi-cross-outline:before{content:"󰳶"}.mdi-crosshairs:before{content:"󰆣"}.mdi-crosshairs-gps:before{content:"󰆤"}.mdi-crosshairs-off:before{content:"󰽅"}.mdi-crosshairs-question:before{content:"󱄶"}.mdi-crowd:before{content:"󱥵"}.mdi-crown:before{content:"󰆥"}.mdi-crown-circle:before{content:"󱟜"}.mdi-crown-circle-outline:before{content:"󱟝"}.mdi-crown-outline:before{content:"󱇐"}.mdi-cryengine:before{content:"󰥙"}.mdi-crystal-ball:before{content:"󰬯"}.mdi-cube:before{content:"󰆦"}.mdi-cube-off:before{content:"󱐜"}.mdi-cube-off-outline:before{content:"󱐝"}.mdi-cube-outline:before{content:"󰆧"}.mdi-cube-scan:before{content:"󰮄"}.mdi-cube-send:before{content:"󰆨"}.mdi-cube-unfolded:before{content:"󰆩"}.mdi-cup:before{content:"󰆪"}.mdi-cup-off:before{content:"󰗥"}.mdi-cup-off-outline:before{content:"󱍽"}.mdi-cup-outline:before{content:"󱌏"}.mdi-cup-water:before{content:"󰆫"}.mdi-cupboard:before{content:"󰽆"}.mdi-cupboard-outline:before{content:"󰽇"}.mdi-cupcake:before{content:"󰥚"}.mdi-curling:before{content:"󰡣"}.mdi-currency-bdt:before{content:"󰡤"}.mdi-currency-brl:before{content:"󰮅"}.mdi-currency-btc:before{content:"󰆬"}.mdi-currency-cny:before{content:"󰞺"}.mdi-currency-eth:before{content:"󰞻"}.mdi-currency-eur:before{content:"󰆭"}.mdi-currency-eur-off:before{content:"󱌕"}.mdi-currency-fra:before{content:"󱨹"}.mdi-currency-gbp:before{content:"󰆮"}.mdi-currency-ils:before{content:"󰱡"}.mdi-currency-inr:before{content:"󰆯"}.mdi-currency-jpy:before{content:"󰞼"}.mdi-currency-krw:before{content:"󰞽"}.mdi-currency-kzt:before{content:"󰡥"}.mdi-currency-mnt:before{content:"󱔒"}.mdi-currency-ngn:before{content:"󰆰"}.mdi-currency-php:before{content:"󰧦"}.mdi-currency-rial:before{content:"󰺜"}.mdi-currency-rub:before{content:"󰆱"}.mdi-currency-rupee:before{content:"󱥶"}.mdi-currency-sign:before{content:"󰞾"}.mdi-currency-thb:before{content:"󱰅"}.mdi-currency-try:before{content:"󰆲"}.mdi-currency-twd:before{content:"󰞿"}.mdi-currency-uah:before{content:"󱮛"}.mdi-currency-usd:before{content:"󰇁"}.mdi-currency-usd-off:before{content:"󰙺"}.mdi-current-ac:before{content:"󱒀"}.mdi-current-dc:before{content:"󰥜"}.mdi-cursor-default:before{content:"󰇀"}.mdi-cursor-default-click:before{content:"󰳽"}.mdi-cursor-default-click-outline:before{content:"󰳾"}.mdi-cursor-default-gesture:before{content:"󱄧"}.mdi-cursor-default-gesture-outline:before{content:"󱄨"}.mdi-cursor-default-outline:before{content:"󰆿"}.mdi-cursor-move:before{content:"󰆾"}.mdi-cursor-pointer:before{content:"󰆽"}.mdi-cursor-text:before{content:"󰗧"}.mdi-curtains:before{content:"󱡆"}.mdi-curtains-closed:before{content:"󱡇"}.mdi-cylinder:before{content:"󱥎"}.mdi-cylinder-off:before{content:"󱥏"}.mdi-dance-ballroom:before{content:"󱗻"}.mdi-dance-pole:before{content:"󱕸"}.mdi-data-matrix:before{content:"󱔼"}.mdi-data-matrix-edit:before{content:"󱔽"}.mdi-data-matrix-minus:before{content:"󱔾"}.mdi-data-matrix-plus:before{content:"󱔿"}.mdi-data-matrix-remove:before{content:"󱕀"}.mdi-data-matrix-scan:before{content:"󱕁"}.mdi-database:before{content:"󰆼"}.mdi-database-alert:before{content:"󱘺"}.mdi-database-alert-outline:before{content:"󱘤"}.mdi-database-arrow-down:before{content:"󱘻"}.mdi-database-arrow-down-outline:before{content:"󱘥"}.mdi-database-arrow-left:before{content:"󱘼"}.mdi-database-arrow-left-outline:before{content:"󱘦"}.mdi-database-arrow-right:before{content:"󱘽"}.mdi-database-arrow-right-outline:before{content:"󱘧"}.mdi-database-arrow-up:before{content:"󱘾"}.mdi-database-arrow-up-outline:before{content:"󱘨"}.mdi-database-check:before{content:"󰪩"}.mdi-database-check-outline:before{content:"󱘩"}.mdi-database-clock:before{content:"󱘿"}.mdi-database-clock-outline:before{content:"󱘪"}.mdi-database-cog:before{content:"󱙋"}.mdi-database-cog-outline:before{content:"󱙌"}.mdi-database-edit:before{content:"󰮆"}.mdi-database-edit-outline:before{content:"󱘫"}.mdi-database-export:before{content:"󰥞"}.mdi-database-export-outline:before{content:"󱘬"}.mdi-database-eye:before{content:"󱤟"}.mdi-database-eye-off:before{content:"󱤠"}.mdi-database-eye-off-outline:before{content:"󱤡"}.mdi-database-eye-outline:before{content:"󱤢"}.mdi-database-import:before{content:"󰥝"}.mdi-database-import-outline:before{content:"󱘭"}.mdi-database-lock:before{content:"󰪪"}.mdi-database-lock-outline:before{content:"󱘮"}.mdi-database-marker:before{content:"󱋶"}.mdi-database-marker-outline:before{content:"󱘯"}.mdi-database-minus:before{content:"󰆻"}.mdi-database-minus-outline:before{content:"󱘰"}.mdi-database-off:before{content:"󱙀"}.mdi-database-off-outline:before{content:"󱘱"}.mdi-database-outline:before{content:"󱘲"}.mdi-database-plus:before{content:"󰆺"}.mdi-database-plus-outline:before{content:"󱘳"}.mdi-database-refresh:before{content:"󰗂"}.mdi-database-refresh-outline:before{content:"󱘴"}.mdi-database-remove:before{content:"󰴀"}.mdi-database-remove-outline:before{content:"󱘵"}.mdi-database-search:before{content:"󰡦"}.mdi-database-search-outline:before{content:"󱘶"}.mdi-database-settings:before{content:"󰴁"}.mdi-database-settings-outline:before{content:"󱘷"}.mdi-database-sync:before{content:"󰳿"}.mdi-database-sync-outline:before{content:"󱘸"}.mdi-death-star:before{content:"󰣘"}.mdi-death-star-variant:before{content:"󰣙"}.mdi-deathly-hallows:before{content:"󰮇"}.mdi-debian:before{content:"󰣚"}.mdi-debug-step-into:before{content:"󰆹"}.mdi-debug-step-out:before{content:"󰆸"}.mdi-debug-step-over:before{content:"󰆷"}.mdi-decagram:before{content:"󰝬"}.mdi-decagram-outline:before{content:"󰝭"}.mdi-decimal:before{content:"󱂡"}.mdi-decimal-comma:before{content:"󱂢"}.mdi-decimal-comma-decrease:before{content:"󱂣"}.mdi-decimal-comma-increase:before{content:"󱂤"}.mdi-decimal-decrease:before{content:"󰆶"}.mdi-decimal-increase:before{content:"󰆵"}.mdi-delete:before{content:"󰆴"}.mdi-delete-alert:before{content:"󱂥"}.mdi-delete-alert-outline:before{content:"󱂦"}.mdi-delete-circle:before{content:"󰚃"}.mdi-delete-circle-outline:before{content:"󰮈"}.mdi-delete-clock:before{content:"󱕖"}.mdi-delete-clock-outline:before{content:"󱕗"}.mdi-delete-empty:before{content:"󰛌"}.mdi-delete-empty-outline:before{content:"󰺝"}.mdi-delete-forever:before{content:"󰗨"}.mdi-delete-forever-outline:before{content:"󰮉"}.mdi-delete-off:before{content:"󱂧"}.mdi-delete-off-outline:before{content:"󱂨"}.mdi-delete-outline:before{content:"󰧧"}.mdi-delete-restore:before{content:"󰠙"}.mdi-delete-sweep:before{content:"󰗩"}.mdi-delete-sweep-outline:before{content:"󰱢"}.mdi-delete-variant:before{content:"󰆳"}.mdi-delta:before{content:"󰇂"}.mdi-desk:before{content:"󱈹"}.mdi-desk-lamp:before{content:"󰥟"}.mdi-desk-lamp-off:before{content:"󱬟"}.mdi-desk-lamp-on:before{content:"󱬠"}.mdi-deskphone:before{content:"󰇃"}.mdi-desktop-classic:before{content:"󰟀"}.mdi-desktop-tower:before{content:"󰇅"}.mdi-desktop-tower-monitor:before{content:"󰪫"}.mdi-details:before{content:"󰇆"}.mdi-dev-to:before{content:"󰵮"}.mdi-developer-board:before{content:"󰚗"}.mdi-deviantart:before{content:"󰇇"}.mdi-devices:before{content:"󰾰"}.mdi-dharmachakra:before{content:"󰥋"}.mdi-diabetes:before{content:"󱄦"}.mdi-dialpad:before{content:"󰘜"}.mdi-diameter:before{content:"󰱣"}.mdi-diameter-outline:before{content:"󰱤"}.mdi-diameter-variant:before{content:"󰱥"}.mdi-diamond:before{content:"󰮊"}.mdi-diamond-outline:before{content:"󰮋"}.mdi-diamond-stone:before{content:"󰇈"}.mdi-diaper-outline:before{content:"󱳏"}.mdi-dice-1:before{content:"󰇊"}.mdi-dice-1-outline:before{content:"󱅊"}.mdi-dice-2:before{content:"󰇋"}.mdi-dice-2-outline:before{content:"󱅋"}.mdi-dice-3:before{content:"󰇌"}.mdi-dice-3-outline:before{content:"󱅌"}.mdi-dice-4:before{content:"󰇍"}.mdi-dice-4-outline:before{content:"󱅍"}.mdi-dice-5:before{content:"󰇎"}.mdi-dice-5-outline:before{content:"󱅎"}.mdi-dice-6:before{content:"󰇏"}.mdi-dice-6-outline:before{content:"󱅏"}.mdi-dice-d10:before{content:"󱅓"}.mdi-dice-d10-outline:before{content:"󰝯"}.mdi-dice-d12:before{content:"󱅔"}.mdi-dice-d12-outline:before{content:"󰡧"}.mdi-dice-d20:before{content:"󱅕"}.mdi-dice-d20-outline:before{content:"󰗪"}.mdi-dice-d4:before{content:"󱅐"}.mdi-dice-d4-outline:before{content:"󰗫"}.mdi-dice-d6:before{content:"󱅑"}.mdi-dice-d6-outline:before{content:"󰗭"}.mdi-dice-d8:before{content:"󱅒"}.mdi-dice-d8-outline:before{content:"󰗬"}.mdi-dice-multiple:before{content:"󰝮"}.mdi-dice-multiple-outline:before{content:"󱅖"}.mdi-digital-ocean:before{content:"󱈷"}.mdi-dip-switch:before{content:"󰟁"}.mdi-directions:before{content:"󰇐"}.mdi-directions-fork:before{content:"󰙁"}.mdi-disc:before{content:"󰗮"}.mdi-disc-alert:before{content:"󰇑"}.mdi-disc-player:before{content:"󰥠"}.mdi-dishwasher:before{content:"󰪬"}.mdi-dishwasher-alert:before{content:"󱆸"}.mdi-dishwasher-off:before{content:"󱆹"}.mdi-disqus:before{content:"󰇒"}.mdi-distribute-horizontal-center:before{content:"󱇉"}.mdi-distribute-horizontal-left:before{content:"󱇈"}.mdi-distribute-horizontal-right:before{content:"󱇊"}.mdi-distribute-vertical-bottom:before{content:"󱇋"}.mdi-distribute-vertical-center:before{content:"󱇌"}.mdi-distribute-vertical-top:before{content:"󱇍"}.mdi-diversify:before{content:"󱡷"}.mdi-diving:before{content:"󱥷"}.mdi-diving-flippers:before{content:"󰶿"}.mdi-diving-helmet:before{content:"󰷀"}.mdi-diving-scuba:before{content:"󱭷"}.mdi-diving-scuba-flag:before{content:"󰷂"}.mdi-diving-scuba-mask:before{content:"󰷁"}.mdi-diving-scuba-tank:before{content:"󰷃"}.mdi-diving-scuba-tank-multiple:before{content:"󰷄"}.mdi-diving-snorkel:before{content:"󰷅"}.mdi-division:before{content:"󰇔"}.mdi-division-box:before{content:"󰇕"}.mdi-dlna:before{content:"󰩁"}.mdi-dna:before{content:"󰚄"}.mdi-dns:before{content:"󰇖"}.mdi-dns-outline:before{content:"󰮌"}.mdi-dock-bottom:before{content:"󱂩"}.mdi-dock-left:before{content:"󱂪"}.mdi-dock-right:before{content:"󱂫"}.mdi-dock-top:before{content:"󱔓"}.mdi-dock-window:before{content:"󱂬"}.mdi-docker:before{content:"󰡨"}.mdi-doctor:before{content:"󰩂"}.mdi-dog:before{content:"󰩃"}.mdi-dog-service:before{content:"󰪭"}.mdi-dog-side:before{content:"󰩄"}.mdi-dog-side-off:before{content:"󱛮"}.mdi-dolby:before{content:"󰚳"}.mdi-dolly:before{content:"󰺞"}.mdi-dolphin:before{content:"󱢴"}.mdi-domain:before{content:"󰇗"}.mdi-domain-off:before{content:"󰵯"}.mdi-domain-plus:before{content:"󱂭"}.mdi-domain-remove:before{content:"󱂮"}.mdi-domain-switch:before{content:"󱰬"}.mdi-dome-light:before{content:"󱐞"}.mdi-domino-mask:before{content:"󱀣"}.mdi-donkey:before{content:"󰟂"}.mdi-door:before{content:"󰠚"}.mdi-door-closed:before{content:"󰠛"}.mdi-door-closed-cancel:before{content:"󱲓"}.mdi-door-closed-lock:before{content:"󱂯"}.mdi-door-open:before{content:"󰠜"}.mdi-door-sliding:before{content:"󱠞"}.mdi-door-sliding-lock:before{content:"󱠟"}.mdi-door-sliding-open:before{content:"󱠠"}.mdi-doorbell:before{content:"󱋦"}.mdi-doorbell-video:before{content:"󰡩"}.mdi-dot-net:before{content:"󰪮"}.mdi-dots-circle:before{content:"󱥸"}.mdi-dots-grid:before{content:"󱗼"}.mdi-dots-hexagon:before{content:"󱗿"}.mdi-dots-horizontal:before{content:"󰇘"}.mdi-dots-horizontal-circle:before{content:"󰟃"}.mdi-dots-horizontal-circle-outline:before{content:"󰮍"}.mdi-dots-square:before{content:"󱗽"}.mdi-dots-triangle:before{content:"󱗾"}.mdi-dots-vertical:before{content:"󰇙"}.mdi-dots-vertical-circle:before{content:"󰟄"}.mdi-dots-vertical-circle-outline:before{content:"󰮎"}.mdi-download:before{content:"󰇚"}.mdi-download-box:before{content:"󱑢"}.mdi-download-box-outline:before{content:"󱑣"}.mdi-download-circle:before{content:"󱑤"}.mdi-download-circle-outline:before{content:"󱑥"}.mdi-download-lock:before{content:"󱌠"}.mdi-download-lock-outline:before{content:"󱌡"}.mdi-download-multiple:before{content:"󰧩"}.mdi-download-multiple-outline:before{content:"󱳐"}.mdi-download-network:before{content:"󰛴"}.mdi-download-network-outline:before{content:"󰱦"}.mdi-download-off:before{content:"󱂰"}.mdi-download-off-outline:before{content:"󱂱"}.mdi-download-outline:before{content:"󰮏"}.mdi-drag:before{content:"󰇛"}.mdi-drag-horizontal:before{content:"󰇜"}.mdi-drag-horizontal-variant:before{content:"󱋰"}.mdi-drag-variant:before{content:"󰮐"}.mdi-drag-vertical:before{content:"󰇝"}.mdi-drag-vertical-variant:before{content:"󱋱"}.mdi-drama-masks:before{content:"󰴂"}.mdi-draw:before{content:"󰽉"}.mdi-draw-pen:before{content:"󱦹"}.mdi-drawing:before{content:"󰇞"}.mdi-drawing-box:before{content:"󰇟"}.mdi-dresser:before{content:"󰽊"}.mdi-dresser-outline:before{content:"󰽋"}.mdi-drone:before{content:"󰇢"}.mdi-dropbox:before{content:"󰇣"}.mdi-drupal:before{content:"󰇤"}.mdi-duck:before{content:"󰇥"}.mdi-dumbbell:before{content:"󰇦"}.mdi-dump-truck:before{content:"󰱧"}.mdi-ear-hearing:before{content:"󰟅"}.mdi-ear-hearing-loop:before{content:"󱫮"}.mdi-ear-hearing-off:before{content:"󰩅"}.mdi-earbuds:before{content:"󱡏"}.mdi-earbuds-off:before{content:"󱡐"}.mdi-earbuds-off-outline:before{content:"󱡑"}.mdi-earbuds-outline:before{content:"󱡒"}.mdi-earth:before{content:"󰇧"}.mdi-earth-arrow-down:before{content:"󱲇"}.mdi-earth-arrow-left:before{content:"󱲈"}.mdi-earth-arrow-right:before{content:"󱌑"}.mdi-earth-arrow-up:before{content:"󱲉"}.mdi-earth-box:before{content:"󰛍"}.mdi-earth-box-minus:before{content:"󱐇"}.mdi-earth-box-off:before{content:"󰛎"}.mdi-earth-box-plus:before{content:"󱐆"}.mdi-earth-box-remove:before{content:"󱐈"}.mdi-earth-minus:before{content:"󱐄"}.mdi-earth-off:before{content:"󰇨"}.mdi-earth-plus:before{content:"󱐃"}.mdi-earth-remove:before{content:"󱐅"}.mdi-egg:before{content:"󰪯"}.mdi-egg-easter:before{content:"󰪰"}.mdi-egg-fried:before{content:"󱡊"}.mdi-egg-off:before{content:"󱏰"}.mdi-egg-off-outline:before{content:"󱏱"}.mdi-egg-outline:before{content:"󱏲"}.mdi-eiffel-tower:before{content:"󱕫"}.mdi-eight-track:before{content:"󰧪"}.mdi-eject:before{content:"󰇪"}.mdi-eject-circle:before{content:"󱬣"}.mdi-eject-circle-outline:before{content:"󱬤"}.mdi-eject-outline:before{content:"󰮑"}.mdi-electric-switch:before{content:"󰺟"}.mdi-electric-switch-closed:before{content:"󱃙"}.mdi-electron-framework:before{content:"󱀤"}.mdi-elephant:before{content:"󰟆"}.mdi-elevation-decline:before{content:"󰇫"}.mdi-elevation-rise:before{content:"󰇬"}.mdi-elevator:before{content:"󰇭"}.mdi-elevator-down:before{content:"󱋂"}.mdi-elevator-passenger:before{content:"󱎁"}.mdi-elevator-passenger-off:before{content:"󱥹"}.mdi-elevator-passenger-off-outline:before{content:"󱥺"}.mdi-elevator-passenger-outline:before{content:"󱥻"}.mdi-elevator-up:before{content:"󱋁"}.mdi-ellipse:before{content:"󰺠"}.mdi-ellipse-outline:before{content:"󰺡"}.mdi-email:before{content:"󰇮"}.mdi-email-alert:before{content:"󰛏"}.mdi-email-alert-outline:before{content:"󰵂"}.mdi-email-arrow-left:before{content:"󱃚"}.mdi-email-arrow-left-outline:before{content:"󱃛"}.mdi-email-arrow-right:before{content:"󱃜"}.mdi-email-arrow-right-outline:before{content:"󱃝"}.mdi-email-box:before{content:"󰴃"}.mdi-email-check:before{content:"󰪱"}.mdi-email-check-outline:before{content:"󰪲"}.mdi-email-edit:before{content:"󰻣"}.mdi-email-edit-outline:before{content:"󰻤"}.mdi-email-fast:before{content:"󱡯"}.mdi-email-fast-outline:before{content:"󱡰"}.mdi-email-heart-outline:before{content:"󱱛"}.mdi-email-lock:before{content:"󰇱"}.mdi-email-lock-outline:before{content:"󱭡"}.mdi-email-mark-as-unread:before{content:"󰮒"}.mdi-email-minus:before{content:"󰻥"}.mdi-email-minus-outline:before{content:"󰻦"}.mdi-email-multiple:before{content:"󰻧"}.mdi-email-multiple-outline:before{content:"󰻨"}.mdi-email-newsletter:before{content:"󰾱"}.mdi-email-off:before{content:"󱏣"}.mdi-email-off-outline:before{content:"󱏤"}.mdi-email-open:before{content:"󰇯"}.mdi-email-open-heart-outline:before{content:"󱱜"}.mdi-email-open-multiple:before{content:"󰻩"}.mdi-email-open-multiple-outline:before{content:"󰻪"}.mdi-email-open-outline:before{content:"󰗯"}.mdi-email-outline:before{content:"󰇰"}.mdi-email-plus:before{content:"󰧫"}.mdi-email-plus-outline:before{content:"󰧬"}.mdi-email-remove:before{content:"󱙡"}.mdi-email-remove-outline:before{content:"󱙢"}.mdi-email-seal:before{content:"󱥛"}.mdi-email-seal-outline:before{content:"󱥜"}.mdi-email-search:before{content:"󰥡"}.mdi-email-search-outline:before{content:"󰥢"}.mdi-email-sync:before{content:"󱋇"}.mdi-email-sync-outline:before{content:"󱋈"}.mdi-email-variant:before{content:"󰗰"}.mdi-ember:before{content:"󰬰"}.mdi-emby:before{content:"󰚴"}.mdi-emoticon:before{content:"󰱨"}.mdi-emoticon-angry:before{content:"󰱩"}.mdi-emoticon-angry-outline:before{content:"󰱪"}.mdi-emoticon-confused:before{content:"󱃞"}.mdi-emoticon-confused-outline:before{content:"󱃟"}.mdi-emoticon-cool:before{content:"󰱫"}.mdi-emoticon-cool-outline:before{content:"󰇳"}.mdi-emoticon-cry:before{content:"󰱬"}.mdi-emoticon-cry-outline:before{content:"󰱭"}.mdi-emoticon-dead:before{content:"󰱮"}.mdi-emoticon-dead-outline:before{content:"󰚛"}.mdi-emoticon-devil:before{content:"󰱯"}.mdi-emoticon-devil-outline:before{content:"󰇴"}.mdi-emoticon-excited:before{content:"󰱰"}.mdi-emoticon-excited-outline:before{content:"󰚜"}.mdi-emoticon-frown:before{content:"󰽌"}.mdi-emoticon-frown-outline:before{content:"󰽍"}.mdi-emoticon-happy:before{content:"󰱱"}.mdi-emoticon-happy-outline:before{content:"󰇵"}.mdi-emoticon-kiss:before{content:"󰱲"}.mdi-emoticon-kiss-outline:before{content:"󰱳"}.mdi-emoticon-lol:before{content:"󱈔"}.mdi-emoticon-lol-outline:before{content:"󱈕"}.mdi-emoticon-minus:before{content:"󱲲"}.mdi-emoticon-minus-outline:before{content:"󱲳"}.mdi-emoticon-neutral:before{content:"󰱴"}.mdi-emoticon-neutral-outline:before{content:"󰇶"}.mdi-emoticon-outline:before{content:"󰇲"}.mdi-emoticon-plus:before{content:"󱲴"}.mdi-emoticon-plus-outline:before{content:"󱲵"}.mdi-emoticon-poop:before{content:"󰇷"}.mdi-emoticon-poop-outline:before{content:"󰱵"}.mdi-emoticon-remove:before{content:"󱲶"}.mdi-emoticon-remove-outline:before{content:"󱲷"}.mdi-emoticon-sad:before{content:"󰱶"}.mdi-emoticon-sad-outline:before{content:"󰇸"}.mdi-emoticon-sick:before{content:"󱕼"}.mdi-emoticon-sick-outline:before{content:"󱕽"}.mdi-emoticon-tongue:before{content:"󰇹"}.mdi-emoticon-tongue-outline:before{content:"󰱷"}.mdi-emoticon-wink:before{content:"󰱸"}.mdi-emoticon-wink-outline:before{content:"󰱹"}.mdi-engine:before{content:"󰇺"}.mdi-engine-off:before{content:"󰩆"}.mdi-engine-off-outline:before{content:"󰩇"}.mdi-engine-outline:before{content:"󰇻"}.mdi-epsilon:before{content:"󱃠"}.mdi-equal:before{content:"󰇼"}.mdi-equal-box:before{content:"󰇽"}.mdi-equalizer:before{content:"󰺢"}.mdi-equalizer-outline:before{content:"󰺣"}.mdi-eraser:before{content:"󰇾"}.mdi-eraser-variant:before{content:"󰙂"}.mdi-escalator:before{content:"󰇿"}.mdi-escalator-box:before{content:"󱎙"}.mdi-escalator-down:before{content:"󱋀"}.mdi-escalator-up:before{content:"󱊿"}.mdi-eslint:before{content:"󰱺"}.mdi-et:before{content:"󰪳"}.mdi-ethereum:before{content:"󰡪"}.mdi-ethernet:before{content:"󰈀"}.mdi-ethernet-cable:before{content:"󰈁"}.mdi-ethernet-cable-off:before{content:"󰈂"}.mdi-ethernet-off:before{content:"󱳑"}.mdi-ev-plug-ccs1:before{content:"󱔙"}.mdi-ev-plug-ccs2:before{content:"󱔚"}.mdi-ev-plug-chademo:before{content:"󱔛"}.mdi-ev-plug-tesla:before{content:"󱔜"}.mdi-ev-plug-type1:before{content:"󱔝"}.mdi-ev-plug-type2:before{content:"󱔞"}.mdi-ev-station:before{content:"󰗱"}.mdi-evernote:before{content:"󰈄"}.mdi-excavator:before{content:"󱀥"}.mdi-exclamation:before{content:"󰈅"}.mdi-exclamation-thick:before{content:"󱈸"}.mdi-exit-run:before{content:"󰩈"}.mdi-exit-to-app:before{content:"󰈆"}.mdi-expand-all:before{content:"󰪴"}.mdi-expand-all-outline:before{content:"󰪵"}.mdi-expansion-card:before{content:"󰢮"}.mdi-expansion-card-variant:before{content:"󰾲"}.mdi-exponent:before{content:"󰥣"}.mdi-exponent-box:before{content:"󰥤"}.mdi-export:before{content:"󰈇"}.mdi-export-variant:before{content:"󰮓"}.mdi-eye:before{content:"󰈈"}.mdi-eye-arrow-left:before{content:"󱣽"}.mdi-eye-arrow-left-outline:before{content:"󱣾"}.mdi-eye-arrow-right:before{content:"󱣿"}.mdi-eye-arrow-right-outline:before{content:"󱤀"}.mdi-eye-check:before{content:"󰴄"}.mdi-eye-check-outline:before{content:"󰴅"}.mdi-eye-circle:before{content:"󰮔"}.mdi-eye-circle-outline:before{content:"󰮕"}.mdi-eye-closed:before{content:"󱲣"}.mdi-eye-lock:before{content:"󱰆"}.mdi-eye-lock-open:before{content:"󱰇"}.mdi-eye-lock-open-outline:before{content:"󱰈"}.mdi-eye-lock-outline:before{content:"󱰉"}.mdi-eye-minus:before{content:"󱀦"}.mdi-eye-minus-outline:before{content:"󱀧"}.mdi-eye-off:before{content:"󰈉"}.mdi-eye-off-outline:before{content:"󰛑"}.mdi-eye-outline:before{content:"󰛐"}.mdi-eye-plus:before{content:"󰡫"}.mdi-eye-plus-outline:before{content:"󰡬"}.mdi-eye-refresh:before{content:"󱥼"}.mdi-eye-refresh-outline:before{content:"󱥽"}.mdi-eye-remove:before{content:"󱗣"}.mdi-eye-remove-outline:before{content:"󱗤"}.mdi-eye-settings:before{content:"󰡭"}.mdi-eye-settings-outline:before{content:"󰡮"}.mdi-eyedropper:before{content:"󰈊"}.mdi-eyedropper-minus:before{content:"󱏝"}.mdi-eyedropper-off:before{content:"󱏟"}.mdi-eyedropper-plus:before{content:"󱏜"}.mdi-eyedropper-remove:before{content:"󱏞"}.mdi-eyedropper-variant:before{content:"󰈋"}.mdi-face-agent:before{content:"󰵰"}.mdi-face-man:before{content:"󰙃"}.mdi-face-man-outline:before{content:"󰮖"}.mdi-face-man-profile:before{content:"󰙄"}.mdi-face-man-shimmer:before{content:"󱗌"}.mdi-face-man-shimmer-outline:before{content:"󱗍"}.mdi-face-mask:before{content:"󱖆"}.mdi-face-mask-outline:before{content:"󱖇"}.mdi-face-recognition:before{content:"󰱻"}.mdi-face-woman:before{content:"󱁷"}.mdi-face-woman-outline:before{content:"󱁸"}.mdi-face-woman-profile:before{content:"󱁶"}.mdi-face-woman-shimmer:before{content:"󱗎"}.mdi-face-woman-shimmer-outline:before{content:"󱗏"}.mdi-facebook:before{content:"󰈌"}.mdi-facebook-gaming:before{content:"󰟝"}.mdi-facebook-messenger:before{content:"󰈎"}.mdi-facebook-workplace:before{content:"󰬱"}.mdi-factory:before{content:"󰈏"}.mdi-family-tree:before{content:"󱘎"}.mdi-fan:before{content:"󰈐"}.mdi-fan-alert:before{content:"󱑬"}.mdi-fan-auto:before{content:"󱜝"}.mdi-fan-chevron-down:before{content:"󱑭"}.mdi-fan-chevron-up:before{content:"󱑮"}.mdi-fan-clock:before{content:"󱨺"}.mdi-fan-minus:before{content:"󱑰"}.mdi-fan-off:before{content:"󰠝"}.mdi-fan-plus:before{content:"󱑯"}.mdi-fan-remove:before{content:"󱑱"}.mdi-fan-speed-1:before{content:"󱑲"}.mdi-fan-speed-2:before{content:"󱑳"}.mdi-fan-speed-3:before{content:"󱑴"}.mdi-fast-forward:before{content:"󰈑"}.mdi-fast-forward-10:before{content:"󰵱"}.mdi-fast-forward-15:before{content:"󱤺"}.mdi-fast-forward-30:before{content:"󰴆"}.mdi-fast-forward-45:before{content:"󱬒"}.mdi-fast-forward-5:before{content:"󱇸"}.mdi-fast-forward-60:before{content:"󱘋"}.mdi-fast-forward-outline:before{content:"󰛒"}.mdi-faucet:before{content:"󱬩"}.mdi-faucet-variant:before{content:"󱬪"}.mdi-fax:before{content:"󰈒"}.mdi-feather:before{content:"󰛓"}.mdi-feature-search:before{content:"󰩉"}.mdi-feature-search-outline:before{content:"󰩊"}.mdi-fedora:before{content:"󰣛"}.mdi-fence:before{content:"󱞚"}.mdi-fence-electric:before{content:"󱟶"}.mdi-fencing:before{content:"󱓁"}.mdi-ferris-wheel:before{content:"󰺤"}.mdi-ferry:before{content:"󰈓"}.mdi-file:before{content:"󰈔"}.mdi-file-account:before{content:"󰜻"}.mdi-file-account-outline:before{content:"󱀨"}.mdi-file-alert:before{content:"󰩋"}.mdi-file-alert-outline:before{content:"󰩌"}.mdi-file-arrow-left-right:before{content:"󱪓"}.mdi-file-arrow-left-right-outline:before{content:"󱪔"}.mdi-file-arrow-up-down:before{content:"󱪕"}.mdi-file-arrow-up-down-outline:before{content:"󱪖"}.mdi-file-cabinet:before{content:"󰪶"}.mdi-file-cad:before{content:"󰻫"}.mdi-file-cad-box:before{content:"󰻬"}.mdi-file-cancel:before{content:"󰷆"}.mdi-file-cancel-outline:before{content:"󰷇"}.mdi-file-certificate:before{content:"󱆆"}.mdi-file-certificate-outline:before{content:"󱆇"}.mdi-file-chart:before{content:"󰈕"}.mdi-file-chart-check:before{content:"󱧆"}.mdi-file-chart-check-outline:before{content:"󱧇"}.mdi-file-chart-outline:before{content:"󱀩"}.mdi-file-check:before{content:"󰈖"}.mdi-file-check-outline:before{content:"󰸩"}.mdi-file-clock:before{content:"󱋡"}.mdi-file-clock-outline:before{content:"󱋢"}.mdi-file-cloud:before{content:"󰈗"}.mdi-file-cloud-outline:before{content:"󱀪"}.mdi-file-code:before{content:"󰈮"}.mdi-file-code-outline:before{content:"󱀫"}.mdi-file-cog:before{content:"󱁻"}.mdi-file-cog-outline:before{content:"󱁼"}.mdi-file-compare:before{content:"󰢪"}.mdi-file-delimited:before{content:"󰈘"}.mdi-file-delimited-outline:before{content:"󰺥"}.mdi-file-document:before{content:"󰈙"}.mdi-file-document-alert:before{content:"󱪗"}.mdi-file-document-alert-outline:before{content:"󱪘"}.mdi-file-document-arrow-right:before{content:"󱰏"}.mdi-file-document-arrow-right-outline:before{content:"󱰐"}.mdi-file-document-check:before{content:"󱪙"}.mdi-file-document-check-outline:before{content:"󱪚"}.mdi-file-document-edit:before{content:"󰷈"}.mdi-file-document-edit-outline:before{content:"󰷉"}.mdi-file-document-minus:before{content:"󱪛"}.mdi-file-document-minus-outline:before{content:"󱪜"}.mdi-file-document-multiple:before{content:"󱔗"}.mdi-file-document-multiple-outline:before{content:"󱔘"}.mdi-file-document-outline:before{content:"󰧮"}.mdi-file-document-plus:before{content:"󱪝"}.mdi-file-document-plus-outline:before{content:"󱪞"}.mdi-file-document-refresh:before{content:"󱱺"}.mdi-file-document-refresh-outline:before{content:"󱱻"}.mdi-file-document-remove:before{content:"󱪟"}.mdi-file-document-remove-outline:before{content:"󱪠"}.mdi-file-download:before{content:"󰥥"}.mdi-file-download-outline:before{content:"󰥦"}.mdi-file-edit:before{content:"󱇧"}.mdi-file-edit-outline:before{content:"󱇨"}.mdi-file-excel:before{content:"󰈛"}.mdi-file-excel-box:before{content:"󰈜"}.mdi-file-excel-box-outline:before{content:"󱀬"}.mdi-file-excel-outline:before{content:"󱀭"}.mdi-file-export:before{content:"󰈝"}.mdi-file-export-outline:before{content:"󱀮"}.mdi-file-eye:before{content:"󰷊"}.mdi-file-eye-outline:before{content:"󰷋"}.mdi-file-find:before{content:"󰈞"}.mdi-file-find-outline:before{content:"󰮗"}.mdi-file-gif-box:before{content:"󰵸"}.mdi-file-hidden:before{content:"󰘓"}.mdi-file-image:before{content:"󰈟"}.mdi-file-image-marker:before{content:"󱝲"}.mdi-file-image-marker-outline:before{content:"󱝳"}.mdi-file-image-minus:before{content:"󱤻"}.mdi-file-image-minus-outline:before{content:"󱤼"}.mdi-file-image-outline:before{content:"󰺰"}.mdi-file-image-plus:before{content:"󱤽"}.mdi-file-image-plus-outline:before{content:"󱤾"}.mdi-file-image-remove:before{content:"󱤿"}.mdi-file-image-remove-outline:before{content:"󱥀"}.mdi-file-import:before{content:"󰈠"}.mdi-file-import-outline:before{content:"󱀯"}.mdi-file-jpg-box:before{content:"󰈥"}.mdi-file-key:before{content:"󱆄"}.mdi-file-key-outline:before{content:"󱆅"}.mdi-file-link:before{content:"󱅷"}.mdi-file-link-outline:before{content:"󱅸"}.mdi-file-lock:before{content:"󰈡"}.mdi-file-lock-open:before{content:"󱧈"}.mdi-file-lock-open-outline:before{content:"󱧉"}.mdi-file-lock-outline:before{content:"󱀰"}.mdi-file-marker:before{content:"󱝴"}.mdi-file-marker-outline:before{content:"󱝵"}.mdi-file-minus:before{content:"󱪡"}.mdi-file-minus-outline:before{content:"󱪢"}.mdi-file-move:before{content:"󰪹"}.mdi-file-move-outline:before{content:"󱀱"}.mdi-file-multiple:before{content:"󰈢"}.mdi-file-multiple-outline:before{content:"󱀲"}.mdi-file-music:before{content:"󰈣"}.mdi-file-music-outline:before{content:"󰸪"}.mdi-file-outline:before{content:"󰈤"}.mdi-file-pdf-box:before{content:"󰈦"}.mdi-file-percent:before{content:"󰠞"}.mdi-file-percent-outline:before{content:"󱀳"}.mdi-file-phone:before{content:"󱅹"}.mdi-file-phone-outline:before{content:"󱅺"}.mdi-file-plus:before{content:"󰝒"}.mdi-file-plus-outline:before{content:"󰻭"}.mdi-file-png-box:before{content:"󰸭"}.mdi-file-powerpoint:before{content:"󰈧"}.mdi-file-powerpoint-box:before{content:"󰈨"}.mdi-file-powerpoint-box-outline:before{content:"󱀴"}.mdi-file-powerpoint-outline:before{content:"󱀵"}.mdi-file-presentation-box:before{content:"󰈩"}.mdi-file-question:before{content:"󰡯"}.mdi-file-question-outline:before{content:"󱀶"}.mdi-file-refresh:before{content:"󰤘"}.mdi-file-refresh-outline:before{content:"󰕁"}.mdi-file-remove:before{content:"󰮘"}.mdi-file-remove-outline:before{content:"󱀷"}.mdi-file-replace:before{content:"󰬲"}.mdi-file-replace-outline:before{content:"󰬳"}.mdi-file-restore:before{content:"󰙰"}.mdi-file-restore-outline:before{content:"󱀸"}.mdi-file-rotate-left:before{content:"󱨻"}.mdi-file-rotate-left-outline:before{content:"󱨼"}.mdi-file-rotate-right:before{content:"󱨽"}.mdi-file-rotate-right-outline:before{content:"󱨾"}.mdi-file-search:before{content:"󰱼"}.mdi-file-search-outline:before{content:"󰱽"}.mdi-file-send:before{content:"󰈪"}.mdi-file-send-outline:before{content:"󱀹"}.mdi-file-settings:before{content:"󱁹"}.mdi-file-settings-outline:before{content:"󱁺"}.mdi-file-sign:before{content:"󱧃"}.mdi-file-star:before{content:"󱀺"}.mdi-file-star-four-points:before{content:"󱰭"}.mdi-file-star-four-points-outline:before{content:"󱰮"}.mdi-file-star-outline:before{content:"󱀻"}.mdi-file-swap:before{content:"󰾴"}.mdi-file-swap-outline:before{content:"󰾵"}.mdi-file-sync:before{content:"󱈖"}.mdi-file-sync-outline:before{content:"󱈗"}.mdi-file-table:before{content:"󰱾"}.mdi-file-table-box:before{content:"󱃡"}.mdi-file-table-box-multiple:before{content:"󱃢"}.mdi-file-table-box-multiple-outline:before{content:"󱃣"}.mdi-file-table-box-outline:before{content:"󱃤"}.mdi-file-table-outline:before{content:"󰱿"}.mdi-file-tree:before{content:"󰙅"}.mdi-file-tree-outline:before{content:"󱏒"}.mdi-file-undo:before{content:"󰣜"}.mdi-file-undo-outline:before{content:"󱀼"}.mdi-file-upload:before{content:"󰩍"}.mdi-file-upload-outline:before{content:"󰩎"}.mdi-file-video:before{content:"󰈫"}.mdi-file-video-outline:before{content:"󰸬"}.mdi-file-word:before{content:"󰈬"}.mdi-file-word-box:before{content:"󰈭"}.mdi-file-word-box-outline:before{content:"󱀽"}.mdi-file-word-outline:before{content:"󱀾"}.mdi-file-xml-box:before{content:"󱭋"}.mdi-film:before{content:"󰈯"}.mdi-filmstrip:before{content:"󰈰"}.mdi-filmstrip-box:before{content:"󰌲"}.mdi-filmstrip-box-multiple:before{content:"󰴘"}.mdi-filmstrip-off:before{content:"󰈱"}.mdi-filter:before{content:"󰈲"}.mdi-filter-check:before{content:"󱣬"}.mdi-filter-check-outline:before{content:"󱣭"}.mdi-filter-cog:before{content:"󱪣"}.mdi-filter-cog-outline:before{content:"󱪤"}.mdi-filter-menu:before{content:"󱃥"}.mdi-filter-menu-outline:before{content:"󱃦"}.mdi-filter-minus:before{content:"󰻮"}.mdi-filter-minus-outline:before{content:"󰻯"}.mdi-filter-multiple:before{content:"󱨿"}.mdi-filter-multiple-outline:before{content:"󱩀"}.mdi-filter-off:before{content:"󱓯"}.mdi-filter-off-outline:before{content:"󱓰"}.mdi-filter-outline:before{content:"󰈳"}.mdi-filter-plus:before{content:"󰻰"}.mdi-filter-plus-outline:before{content:"󰻱"}.mdi-filter-remove:before{content:"󰈴"}.mdi-filter-remove-outline:before{content:"󰈵"}.mdi-filter-settings:before{content:"󱪥"}.mdi-filter-settings-outline:before{content:"󱪦"}.mdi-filter-variant:before{content:"󰈶"}.mdi-filter-variant-minus:before{content:"󱄒"}.mdi-filter-variant-plus:before{content:"󱄓"}.mdi-filter-variant-remove:before{content:"󱀿"}.mdi-finance:before{content:"󰠟"}.mdi-find-replace:before{content:"󰛔"}.mdi-fingerprint:before{content:"󰈷"}.mdi-fingerprint-off:before{content:"󰺱"}.mdi-fire:before{content:"󰈸"}.mdi-fire-alert:before{content:"󱗗"}.mdi-fire-circle:before{content:"󱠇"}.mdi-fire-extinguisher:before{content:"󰻲"}.mdi-fire-hydrant:before{content:"󱄷"}.mdi-fire-hydrant-alert:before{content:"󱄸"}.mdi-fire-hydrant-off:before{content:"󱄹"}.mdi-fire-off:before{content:"󱜢"}.mdi-fire-station:before{content:"󱳃"}.mdi-fire-truck:before{content:"󰢫"}.mdi-firebase:before{content:"󰥧"}.mdi-firefox:before{content:"󰈹"}.mdi-fireplace:before{content:"󰸮"}.mdi-fireplace-off:before{content:"󰸯"}.mdi-firewire:before{content:"󰖾"}.mdi-firework:before{content:"󰸰"}.mdi-firework-off:before{content:"󱜣"}.mdi-fish:before{content:"󰈺"}.mdi-fish-off:before{content:"󱏳"}.mdi-fishbowl:before{content:"󰻳"}.mdi-fishbowl-outline:before{content:"󰻴"}.mdi-fit-to-page:before{content:"󰻵"}.mdi-fit-to-page-outline:before{content:"󰻶"}.mdi-fit-to-screen:before{content:"󱣴"}.mdi-fit-to-screen-outline:before{content:"󱣵"}.mdi-flag:before{content:"󰈻"}.mdi-flag-checkered:before{content:"󰈼"}.mdi-flag-minus:before{content:"󰮙"}.mdi-flag-minus-outline:before{content:"󱂲"}.mdi-flag-off:before{content:"󱣮"}.mdi-flag-off-outline:before{content:"󱣯"}.mdi-flag-outline:before{content:"󰈽"}.mdi-flag-plus:before{content:"󰮚"}.mdi-flag-plus-outline:before{content:"󱂳"}.mdi-flag-remove:before{content:"󰮛"}.mdi-flag-remove-outline:before{content:"󱂴"}.mdi-flag-triangle:before{content:"󰈿"}.mdi-flag-variant:before{content:"󰉀"}.mdi-flag-variant-minus:before{content:"󱮴"}.mdi-flag-variant-minus-outline:before{content:"󱮵"}.mdi-flag-variant-off:before{content:"󱮰"}.mdi-flag-variant-off-outline:before{content:"󱮱"}.mdi-flag-variant-outline:before{content:"󰈾"}.mdi-flag-variant-plus:before{content:"󱮲"}.mdi-flag-variant-plus-outline:before{content:"󱮳"}.mdi-flag-variant-remove:before{content:"󱮶"}.mdi-flag-variant-remove-outline:before{content:"󱮷"}.mdi-flare:before{content:"󰵲"}.mdi-flash:before{content:"󰉁"}.mdi-flash-alert:before{content:"󰻷"}.mdi-flash-alert-outline:before{content:"󰻸"}.mdi-flash-auto:before{content:"󰉂"}.mdi-flash-off:before{content:"󰉃"}.mdi-flash-off-outline:before{content:"󱭅"}.mdi-flash-outline:before{content:"󰛕"}.mdi-flash-red-eye:before{content:"󰙻"}.mdi-flash-triangle:before{content:"󱬝"}.mdi-flash-triangle-outline:before{content:"󱬞"}.mdi-flashlight:before{content:"󰉄"}.mdi-flashlight-off:before{content:"󰉅"}.mdi-flask:before{content:"󰂓"}.mdi-flask-empty:before{content:"󰂔"}.mdi-flask-empty-minus:before{content:"󱈺"}.mdi-flask-empty-minus-outline:before{content:"󱈻"}.mdi-flask-empty-off:before{content:"󱏴"}.mdi-flask-empty-off-outline:before{content:"󱏵"}.mdi-flask-empty-outline:before{content:"󰂕"}.mdi-flask-empty-plus:before{content:"󱈼"}.mdi-flask-empty-plus-outline:before{content:"󱈽"}.mdi-flask-empty-remove:before{content:"󱈾"}.mdi-flask-empty-remove-outline:before{content:"󱈿"}.mdi-flask-minus:before{content:"󱉀"}.mdi-flask-minus-outline:before{content:"󱉁"}.mdi-flask-off:before{content:"󱏶"}.mdi-flask-off-outline:before{content:"󱏷"}.mdi-flask-outline:before{content:"󰂖"}.mdi-flask-plus:before{content:"󱉂"}.mdi-flask-plus-outline:before{content:"󱉃"}.mdi-flask-remove:before{content:"󱉄"}.mdi-flask-remove-outline:before{content:"󱉅"}.mdi-flask-round-bottom:before{content:"󱉋"}.mdi-flask-round-bottom-empty:before{content:"󱉌"}.mdi-flask-round-bottom-empty-outline:before{content:"󱉍"}.mdi-flask-round-bottom-outline:before{content:"󱉎"}.mdi-fleur-de-lis:before{content:"󱌃"}.mdi-flip-horizontal:before{content:"󱃧"}.mdi-flip-to-back:before{content:"󰉇"}.mdi-flip-to-front:before{content:"󰉈"}.mdi-flip-vertical:before{content:"󱃨"}.mdi-floor-lamp:before{content:"󰣝"}.mdi-floor-lamp-dual:before{content:"󱁀"}.mdi-floor-lamp-dual-outline:before{content:"󱟎"}.mdi-floor-lamp-outline:before{content:"󱟈"}.mdi-floor-lamp-torchiere:before{content:"󱝇"}.mdi-floor-lamp-torchiere-outline:before{content:"󱟖"}.mdi-floor-lamp-torchiere-variant:before{content:"󱁁"}.mdi-floor-lamp-torchiere-variant-outline:before{content:"󱟏"}.mdi-floor-plan:before{content:"󰠡"}.mdi-floppy:before{content:"󰉉"}.mdi-floppy-variant:before{content:"󰧯"}.mdi-flower:before{content:"󰉊"}.mdi-flower-outline:before{content:"󰧰"}.mdi-flower-pollen:before{content:"󱢅"}.mdi-flower-pollen-outline:before{content:"󱢆"}.mdi-flower-poppy:before{content:"󰴈"}.mdi-flower-tulip:before{content:"󰧱"}.mdi-flower-tulip-outline:before{content:"󰧲"}.mdi-focus-auto:before{content:"󰽎"}.mdi-focus-field:before{content:"󰽏"}.mdi-focus-field-horizontal:before{content:"󰽐"}.mdi-focus-field-vertical:before{content:"󰽑"}.mdi-folder:before{content:"󰉋"}.mdi-folder-account:before{content:"󰉌"}.mdi-folder-account-outline:before{content:"󰮜"}.mdi-folder-alert:before{content:"󰷌"}.mdi-folder-alert-outline:before{content:"󰷍"}.mdi-folder-arrow-down:before{content:"󱧨"}.mdi-folder-arrow-down-outline:before{content:"󱧩"}.mdi-folder-arrow-left:before{content:"󱧪"}.mdi-folder-arrow-left-outline:before{content:"󱧫"}.mdi-folder-arrow-left-right:before{content:"󱧬"}.mdi-folder-arrow-left-right-outline:before{content:"󱧭"}.mdi-folder-arrow-right:before{content:"󱧮"}.mdi-folder-arrow-right-outline:before{content:"󱧯"}.mdi-folder-arrow-up:before{content:"󱧰"}.mdi-folder-arrow-up-down:before{content:"󱧱"}.mdi-folder-arrow-up-down-outline:before{content:"󱧲"}.mdi-folder-arrow-up-outline:before{content:"󱧳"}.mdi-folder-cancel:before{content:"󱧴"}.mdi-folder-cancel-outline:before{content:"󱧵"}.mdi-folder-check:before{content:"󱥾"}.mdi-folder-check-outline:before{content:"󱥿"}.mdi-folder-clock:before{content:"󰪺"}.mdi-folder-clock-outline:before{content:"󰪻"}.mdi-folder-cog:before{content:"󱁿"}.mdi-folder-cog-outline:before{content:"󱂀"}.mdi-folder-download:before{content:"󰉍"}.mdi-folder-download-outline:before{content:"󱃩"}.mdi-folder-edit:before{content:"󰣞"}.mdi-folder-edit-outline:before{content:"󰷎"}.mdi-folder-eye:before{content:"󱞊"}.mdi-folder-eye-outline:before{content:"󱞋"}.mdi-folder-file:before{content:"󱧶"}.mdi-folder-file-outline:before{content:"󱧷"}.mdi-folder-google-drive:before{content:"󰉎"}.mdi-folder-heart:before{content:"󱃪"}.mdi-folder-heart-outline:before{content:"󱃫"}.mdi-folder-hidden:before{content:"󱞞"}.mdi-folder-home:before{content:"󱂵"}.mdi-folder-home-outline:before{content:"󱂶"}.mdi-folder-image:before{content:"󰉏"}.mdi-folder-information:before{content:"󱂷"}.mdi-folder-information-outline:before{content:"󱂸"}.mdi-folder-key:before{content:"󰢬"}.mdi-folder-key-network:before{content:"󰢭"}.mdi-folder-key-network-outline:before{content:"󰲀"}.mdi-folder-key-outline:before{content:"󱃬"}.mdi-folder-lock:before{content:"󰉐"}.mdi-folder-lock-open:before{content:"󰉑"}.mdi-folder-lock-open-outline:before{content:"󱪧"}.mdi-folder-lock-outline:before{content:"󱪨"}.mdi-folder-marker:before{content:"󱉭"}.mdi-folder-marker-outline:before{content:"󱉮"}.mdi-folder-minus:before{content:"󱭉"}.mdi-folder-minus-outline:before{content:"󱭊"}.mdi-folder-move:before{content:"󰉒"}.mdi-folder-move-outline:before{content:"󱉆"}.mdi-folder-multiple:before{content:"󰉓"}.mdi-folder-multiple-image:before{content:"󰉔"}.mdi-folder-multiple-outline:before{content:"󰉕"}.mdi-folder-multiple-plus:before{content:"󱑾"}.mdi-folder-multiple-plus-outline:before{content:"󱑿"}.mdi-folder-music:before{content:"󱍙"}.mdi-folder-music-outline:before{content:"󱍚"}.mdi-folder-network:before{content:"󰡰"}.mdi-folder-network-outline:before{content:"󰲁"}.mdi-folder-off:before{content:"󱧸"}.mdi-folder-off-outline:before{content:"󱧹"}.mdi-folder-open:before{content:"󰝰"}.mdi-folder-open-outline:before{content:"󰷏"}.mdi-folder-outline:before{content:"󰉖"}.mdi-folder-play:before{content:"󱧺"}.mdi-folder-play-outline:before{content:"󱧻"}.mdi-folder-plus:before{content:"󰉗"}.mdi-folder-plus-outline:before{content:"󰮝"}.mdi-folder-pound:before{content:"󰴉"}.mdi-folder-pound-outline:before{content:"󰴊"}.mdi-folder-question:before{content:"󱧊"}.mdi-folder-question-outline:before{content:"󱧋"}.mdi-folder-refresh:before{content:"󰝉"}.mdi-folder-refresh-outline:before{content:"󰕂"}.mdi-folder-remove:before{content:"󰉘"}.mdi-folder-remove-outline:before{content:"󰮞"}.mdi-folder-search:before{content:"󰥨"}.mdi-folder-search-outline:before{content:"󰥩"}.mdi-folder-settings:before{content:"󱁽"}.mdi-folder-settings-outline:before{content:"󱁾"}.mdi-folder-star:before{content:"󰚝"}.mdi-folder-star-multiple:before{content:"󱏓"}.mdi-folder-star-multiple-outline:before{content:"󱏔"}.mdi-folder-star-outline:before{content:"󰮟"}.mdi-folder-swap:before{content:"󰾶"}.mdi-folder-swap-outline:before{content:"󰾷"}.mdi-folder-sync:before{content:"󰴋"}.mdi-folder-sync-outline:before{content:"󰴌"}.mdi-folder-table:before{content:"󱋣"}.mdi-folder-table-outline:before{content:"󱋤"}.mdi-folder-text:before{content:"󰲂"}.mdi-folder-text-outline:before{content:"󰲃"}.mdi-folder-upload:before{content:"󰉙"}.mdi-folder-upload-outline:before{content:"󱃭"}.mdi-folder-wrench:before{content:"󱧼"}.mdi-folder-wrench-outline:before{content:"󱧽"}.mdi-folder-zip:before{content:"󰛫"}.mdi-folder-zip-outline:before{content:"󰞹"}.mdi-font-awesome:before{content:"󰀺"}.mdi-food:before{content:"󰉚"}.mdi-food-apple:before{content:"󰉛"}.mdi-food-apple-outline:before{content:"󰲄"}.mdi-food-croissant:before{content:"󰟈"}.mdi-food-drumstick:before{content:"󱐟"}.mdi-food-drumstick-off:before{content:"󱑨"}.mdi-food-drumstick-off-outline:before{content:"󱑩"}.mdi-food-drumstick-outline:before{content:"󱐠"}.mdi-food-fork-drink:before{content:"󰗲"}.mdi-food-halal:before{content:"󱕲"}.mdi-food-hot-dog:before{content:"󱡋"}.mdi-food-kosher:before{content:"󱕳"}.mdi-food-off:before{content:"󰗳"}.mdi-food-off-outline:before{content:"󱤕"}.mdi-food-outline:before{content:"󱤖"}.mdi-food-steak:before{content:"󱑪"}.mdi-food-steak-off:before{content:"󱑫"}.mdi-food-takeout-box:before{content:"󱠶"}.mdi-food-takeout-box-outline:before{content:"󱠷"}.mdi-food-turkey:before{content:"󱜜"}.mdi-food-variant:before{content:"󰉜"}.mdi-food-variant-off:before{content:"󱏥"}.mdi-foot-print:before{content:"󰽒"}.mdi-football:before{content:"󰉝"}.mdi-football-australian:before{content:"󰉞"}.mdi-football-helmet:before{content:"󰉟"}.mdi-forest:before{content:"󱢗"}.mdi-forest-outline:before{content:"󱱣"}.mdi-forklift:before{content:"󰟉"}.mdi-form-dropdown:before{content:"󱐀"}.mdi-form-select:before{content:"󱐁"}.mdi-form-textarea:before{content:"󱂕"}.mdi-form-textbox:before{content:"󰘎"}.mdi-form-textbox-lock:before{content:"󱍝"}.mdi-form-textbox-password:before{content:"󰟵"}.mdi-format-align-bottom:before{content:"󰝓"}.mdi-format-align-center:before{content:"󰉠"}.mdi-format-align-justify:before{content:"󰉡"}.mdi-format-align-left:before{content:"󰉢"}.mdi-format-align-middle:before{content:"󰝔"}.mdi-format-align-right:before{content:"󰉣"}.mdi-format-align-top:before{content:"󰝕"}.mdi-format-annotation-minus:before{content:"󰪼"}.mdi-format-annotation-plus:before{content:"󰙆"}.mdi-format-bold:before{content:"󰉤"}.mdi-format-clear:before{content:"󰉥"}.mdi-format-color-fill:before{content:"󰉦"}.mdi-format-color-highlight:before{content:"󰸱"}.mdi-format-color-marker-cancel:before{content:"󱌓"}.mdi-format-color-text:before{content:"󰚞"}.mdi-format-columns:before{content:"󰣟"}.mdi-format-float-center:before{content:"󰉧"}.mdi-format-float-left:before{content:"󰉨"}.mdi-format-float-none:before{content:"󰉩"}.mdi-format-float-right:before{content:"󰉪"}.mdi-format-font:before{content:"󰛖"}.mdi-format-font-size-decrease:before{content:"󰧳"}.mdi-format-font-size-increase:before{content:"󰧴"}.mdi-format-header-1:before{content:"󰉫"}.mdi-format-header-2:before{content:"󰉬"}.mdi-format-header-3:before{content:"󰉭"}.mdi-format-header-4:before{content:"󰉮"}.mdi-format-header-5:before{content:"󰉯"}.mdi-format-header-6:before{content:"󰉰"}.mdi-format-header-decrease:before{content:"󰉱"}.mdi-format-header-equal:before{content:"󰉲"}.mdi-format-header-increase:before{content:"󰉳"}.mdi-format-header-pound:before{content:"󰉴"}.mdi-format-horizontal-align-center:before{content:"󰘞"}.mdi-format-horizontal-align-left:before{content:"󰘟"}.mdi-format-horizontal-align-right:before{content:"󰘠"}.mdi-format-indent-decrease:before{content:"󰉵"}.mdi-format-indent-increase:before{content:"󰉶"}.mdi-format-italic:before{content:"󰉷"}.mdi-format-letter-case:before{content:"󰬴"}.mdi-format-letter-case-lower:before{content:"󰬵"}.mdi-format-letter-case-upper:before{content:"󰬶"}.mdi-format-letter-ends-with:before{content:"󰾸"}.mdi-format-letter-matches:before{content:"󰾹"}.mdi-format-letter-spacing:before{content:"󱥖"}.mdi-format-letter-spacing-variant:before{content:"󱫻"}.mdi-format-letter-starts-with:before{content:"󰾺"}.mdi-format-line-height:before{content:"󱫼"}.mdi-format-line-spacing:before{content:"󰉸"}.mdi-format-line-style:before{content:"󰗈"}.mdi-format-line-weight:before{content:"󰗉"}.mdi-format-list-bulleted:before{content:"󰉹"}.mdi-format-list-bulleted-square:before{content:"󰷐"}.mdi-format-list-bulleted-triangle:before{content:"󰺲"}.mdi-format-list-bulleted-type:before{content:"󰉺"}.mdi-format-list-checkbox:before{content:"󰥪"}.mdi-format-list-checks:before{content:"󰝖"}.mdi-format-list-group:before{content:"󱡠"}.mdi-format-list-group-plus:before{content:"󱭖"}.mdi-format-list-numbered:before{content:"󰉻"}.mdi-format-list-numbered-rtl:before{content:"󰴍"}.mdi-format-list-text:before{content:"󱉯"}.mdi-format-overline:before{content:"󰺳"}.mdi-format-page-break:before{content:"󰛗"}.mdi-format-page-split:before{content:"󱤗"}.mdi-format-paint:before{content:"󰉼"}.mdi-format-paragraph:before{content:"󰉽"}.mdi-format-paragraph-spacing:before{content:"󱫽"}.mdi-format-pilcrow:before{content:"󰛘"}.mdi-format-pilcrow-arrow-left:before{content:"󰊆"}.mdi-format-pilcrow-arrow-right:before{content:"󰊅"}.mdi-format-quote-close:before{content:"󰉾"}.mdi-format-quote-close-outline:before{content:"󱆨"}.mdi-format-quote-open:before{content:"󰝗"}.mdi-format-quote-open-outline:before{content:"󱆧"}.mdi-format-rotate-90:before{content:"󰚪"}.mdi-format-section:before{content:"󰚟"}.mdi-format-size:before{content:"󰉿"}.mdi-format-strikethrough:before{content:"󰊀"}.mdi-format-strikethrough-variant:before{content:"󰊁"}.mdi-format-subscript:before{content:"󰊂"}.mdi-format-superscript:before{content:"󰊃"}.mdi-format-text:before{content:"󰊄"}.mdi-format-text-rotation-angle-down:before{content:"󰾻"}.mdi-format-text-rotation-angle-up:before{content:"󰾼"}.mdi-format-text-rotation-down:before{content:"󰵳"}.mdi-format-text-rotation-down-vertical:before{content:"󰾽"}.mdi-format-text-rotation-none:before{content:"󰵴"}.mdi-format-text-rotation-up:before{content:"󰾾"}.mdi-format-text-rotation-vertical:before{content:"󰾿"}.mdi-format-text-variant:before{content:"󰸲"}.mdi-format-text-variant-outline:before{content:"󱔏"}.mdi-format-text-wrapping-clip:before{content:"󰴎"}.mdi-format-text-wrapping-overflow:before{content:"󰴏"}.mdi-format-text-wrapping-wrap:before{content:"󰴐"}.mdi-format-textbox:before{content:"󰴑"}.mdi-format-title:before{content:"󰗴"}.mdi-format-underline:before{content:"󰊇"}.mdi-format-underline-wavy:before{content:"󱣩"}.mdi-format-vertical-align-bottom:before{content:"󰘡"}.mdi-format-vertical-align-center:before{content:"󰘢"}.mdi-format-vertical-align-top:before{content:"󰘣"}.mdi-format-wrap-inline:before{content:"󰊈"}.mdi-format-wrap-square:before{content:"󰊉"}.mdi-format-wrap-tight:before{content:"󰊊"}.mdi-format-wrap-top-bottom:before{content:"󰊋"}.mdi-forum:before{content:"󰊌"}.mdi-forum-minus:before{content:"󱪩"}.mdi-forum-minus-outline:before{content:"󱪪"}.mdi-forum-outline:before{content:"󰠢"}.mdi-forum-plus:before{content:"󱪫"}.mdi-forum-plus-outline:before{content:"󱪬"}.mdi-forum-remove:before{content:"󱪭"}.mdi-forum-remove-outline:before{content:"󱪮"}.mdi-forward:before{content:"󰊍"}.mdi-forwardburger:before{content:"󰵵"}.mdi-fountain:before{content:"󰥫"}.mdi-fountain-pen:before{content:"󰴒"}.mdi-fountain-pen-tip:before{content:"󰴓"}.mdi-fraction-one-half:before{content:"󱦒"}.mdi-freebsd:before{content:"󰣠"}.mdi-french-fries:before{content:"󱥗"}.mdi-frequently-asked-questions:before{content:"󰺴"}.mdi-fridge:before{content:"󰊐"}.mdi-fridge-alert:before{content:"󱆱"}.mdi-fridge-alert-outline:before{content:"󱆲"}.mdi-fridge-bottom:before{content:"󰊒"}.mdi-fridge-industrial:before{content:"󱗮"}.mdi-fridge-industrial-alert:before{content:"󱗯"}.mdi-fridge-industrial-alert-outline:before{content:"󱗰"}.mdi-fridge-industrial-off:before{content:"󱗱"}.mdi-fridge-industrial-off-outline:before{content:"󱗲"}.mdi-fridge-industrial-outline:before{content:"󱗳"}.mdi-fridge-off:before{content:"󱆯"}.mdi-fridge-off-outline:before{content:"󱆰"}.mdi-fridge-outline:before{content:"󰊏"}.mdi-fridge-top:before{content:"󰊑"}.mdi-fridge-variant:before{content:"󱗴"}.mdi-fridge-variant-alert:before{content:"󱗵"}.mdi-fridge-variant-alert-outline:before{content:"󱗶"}.mdi-fridge-variant-off:before{content:"󱗷"}.mdi-fridge-variant-off-outline:before{content:"󱗸"}.mdi-fridge-variant-outline:before{content:"󱗹"}.mdi-fruit-cherries:before{content:"󱁂"}.mdi-fruit-cherries-off:before{content:"󱏸"}.mdi-fruit-citrus:before{content:"󱁃"}.mdi-fruit-citrus-off:before{content:"󱏹"}.mdi-fruit-grapes:before{content:"󱁄"}.mdi-fruit-grapes-outline:before{content:"󱁅"}.mdi-fruit-pear:before{content:"󱨎"}.mdi-fruit-pineapple:before{content:"󱁆"}.mdi-fruit-watermelon:before{content:"󱁇"}.mdi-fuel:before{content:"󰟊"}.mdi-fuel-cell:before{content:"󱢵"}.mdi-fullscreen:before{content:"󰊓"}.mdi-fullscreen-exit:before{content:"󰊔"}.mdi-function:before{content:"󰊕"}.mdi-function-variant:before{content:"󰡱"}.mdi-furigana-horizontal:before{content:"󱂁"}.mdi-furigana-vertical:before{content:"󱂂"}.mdi-fuse:before{content:"󰲅"}.mdi-fuse-alert:before{content:"󱐭"}.mdi-fuse-blade:before{content:"󰲆"}.mdi-fuse-off:before{content:"󱐬"}.mdi-gamepad:before{content:"󰊖"}.mdi-gamepad-circle:before{content:"󰸳"}.mdi-gamepad-circle-down:before{content:"󰸴"}.mdi-gamepad-circle-left:before{content:"󰸵"}.mdi-gamepad-circle-outline:before{content:"󰸶"}.mdi-gamepad-circle-right:before{content:"󰸷"}.mdi-gamepad-circle-up:before{content:"󰸸"}.mdi-gamepad-down:before{content:"󰸹"}.mdi-gamepad-left:before{content:"󰸺"}.mdi-gamepad-outline:before{content:"󱤙"}.mdi-gamepad-right:before{content:"󰸻"}.mdi-gamepad-round:before{content:"󰸼"}.mdi-gamepad-round-down:before{content:"󰸽"}.mdi-gamepad-round-left:before{content:"󰸾"}.mdi-gamepad-round-outline:before{content:"󰸿"}.mdi-gamepad-round-right:before{content:"󰹀"}.mdi-gamepad-round-up:before{content:"󰹁"}.mdi-gamepad-square:before{content:"󰺵"}.mdi-gamepad-square-outline:before{content:"󰺶"}.mdi-gamepad-up:before{content:"󰹂"}.mdi-gamepad-variant:before{content:"󰊗"}.mdi-gamepad-variant-outline:before{content:"󰺷"}.mdi-gamma:before{content:"󱃮"}.mdi-gantry-crane:before{content:"󰷑"}.mdi-garage:before{content:"󰛙"}.mdi-garage-alert:before{content:"󰡲"}.mdi-garage-alert-variant:before{content:"󱋕"}.mdi-garage-lock:before{content:"󱟻"}.mdi-garage-open:before{content:"󰛚"}.mdi-garage-open-variant:before{content:"󱋔"}.mdi-garage-variant:before{content:"󱋓"}.mdi-garage-variant-lock:before{content:"󱟼"}.mdi-gas-burner:before{content:"󱨛"}.mdi-gas-cylinder:before{content:"󰙇"}.mdi-gas-station:before{content:"󰊘"}.mdi-gas-station-in-use:before{content:"󱳄"}.mdi-gas-station-in-use-outline:before{content:"󱳅"}.mdi-gas-station-off:before{content:"󱐉"}.mdi-gas-station-off-outline:before{content:"󱐊"}.mdi-gas-station-outline:before{content:"󰺸"}.mdi-gate:before{content:"󰊙"}.mdi-gate-alert:before{content:"󱟸"}.mdi-gate-and:before{content:"󰣡"}.mdi-gate-arrow-left:before{content:"󱟷"}.mdi-gate-arrow-right:before{content:"󱅩"}.mdi-gate-buffer:before{content:"󱫾"}.mdi-gate-nand:before{content:"󰣢"}.mdi-gate-nor:before{content:"󰣣"}.mdi-gate-not:before{content:"󰣤"}.mdi-gate-open:before{content:"󱅪"}.mdi-gate-or:before{content:"󰣥"}.mdi-gate-xnor:before{content:"󰣦"}.mdi-gate-xor:before{content:"󰣧"}.mdi-gatsby:before{content:"󰹃"}.mdi-gauge:before{content:"󰊚"}.mdi-gauge-empty:before{content:"󰡳"}.mdi-gauge-full:before{content:"󰡴"}.mdi-gauge-low:before{content:"󰡵"}.mdi-gavel:before{content:"󰊛"}.mdi-gender-female:before{content:"󰊜"}.mdi-gender-male:before{content:"󰊝"}.mdi-gender-male-female:before{content:"󰊞"}.mdi-gender-male-female-variant:before{content:"󱄿"}.mdi-gender-non-binary:before{content:"󱅀"}.mdi-gender-transgender:before{content:"󰊟"}.mdi-generator-mobile:before{content:"󱲊"}.mdi-generator-portable:before{content:"󱲋"}.mdi-generator-stationary:before{content:"󱲌"}.mdi-gentoo:before{content:"󰣨"}.mdi-gesture:before{content:"󰟋"}.mdi-gesture-double-tap:before{content:"󰜼"}.mdi-gesture-pinch:before{content:"󰪽"}.mdi-gesture-spread:before{content:"󰪾"}.mdi-gesture-swipe:before{content:"󰵶"}.mdi-gesture-swipe-down:before{content:"󰜽"}.mdi-gesture-swipe-horizontal:before{content:"󰪿"}.mdi-gesture-swipe-left:before{content:"󰜾"}.mdi-gesture-swipe-right:before{content:"󰜿"}.mdi-gesture-swipe-up:before{content:"󰝀"}.mdi-gesture-swipe-vertical:before{content:"󰫀"}.mdi-gesture-tap:before{content:"󰝁"}.mdi-gesture-tap-box:before{content:"󱊩"}.mdi-gesture-tap-button:before{content:"󱊨"}.mdi-gesture-tap-hold:before{content:"󰵷"}.mdi-gesture-two-double-tap:before{content:"󰝂"}.mdi-gesture-two-tap:before{content:"󰝃"}.mdi-ghost:before{content:"󰊠"}.mdi-ghost-off:before{content:"󰧵"}.mdi-ghost-off-outline:before{content:"󱙜"}.mdi-ghost-outline:before{content:"󱙝"}.mdi-gift:before{content:"󰹄"}.mdi-gift-off:before{content:"󱛯"}.mdi-gift-off-outline:before{content:"󱛰"}.mdi-gift-open:before{content:"󱛱"}.mdi-gift-open-outline:before{content:"󱛲"}.mdi-gift-outline:before{content:"󰊡"}.mdi-git:before{content:"󰊢"}.mdi-github:before{content:"󰊤"}.mdi-gitlab:before{content:"󰮠"}.mdi-glass-cocktail:before{content:"󰍖"}.mdi-glass-cocktail-off:before{content:"󱗦"}.mdi-glass-flute:before{content:"󰊥"}.mdi-glass-fragile:before{content:"󱡳"}.mdi-glass-mug:before{content:"󰊦"}.mdi-glass-mug-off:before{content:"󱗧"}.mdi-glass-mug-variant:before{content:"󱄖"}.mdi-glass-mug-variant-off:before{content:"󱗨"}.mdi-glass-pint-outline:before{content:"󱌍"}.mdi-glass-stange:before{content:"󰊧"}.mdi-glass-tulip:before{content:"󰊨"}.mdi-glass-wine:before{content:"󰡶"}.mdi-glasses:before{content:"󰊪"}.mdi-globe-light:before{content:"󰙯"}.mdi-globe-light-outline:before{content:"󱋗"}.mdi-globe-model:before{content:"󰣩"}.mdi-gmail:before{content:"󰊫"}.mdi-gnome:before{content:"󰊬"}.mdi-go-kart:before{content:"󰵹"}.mdi-go-kart-track:before{content:"󰵺"}.mdi-gog:before{content:"󰮡"}.mdi-gold:before{content:"󱉏"}.mdi-golf:before{content:"󰠣"}.mdi-golf-cart:before{content:"󱆤"}.mdi-golf-tee:before{content:"󱂃"}.mdi-gondola:before{content:"󰚆"}.mdi-goodreads:before{content:"󰵻"}.mdi-google:before{content:"󰊭"}.mdi-google-ads:before{content:"󰲇"}.mdi-google-analytics:before{content:"󰟌"}.mdi-google-assistant:before{content:"󰟍"}.mdi-google-cardboard:before{content:"󰊮"}.mdi-google-chrome:before{content:"󰊯"}.mdi-google-circles:before{content:"󰊰"}.mdi-google-circles-communities:before{content:"󰊱"}.mdi-google-circles-extended:before{content:"󰊲"}.mdi-google-circles-group:before{content:"󰊳"}.mdi-google-classroom:before{content:"󰋀"}.mdi-google-cloud:before{content:"󱇶"}.mdi-google-downasaur:before{content:"󱍢"}.mdi-google-drive:before{content:"󰊶"}.mdi-google-earth:before{content:"󰊷"}.mdi-google-fit:before{content:"󰥬"}.mdi-google-glass:before{content:"󰊸"}.mdi-google-hangouts:before{content:"󰋉"}.mdi-google-keep:before{content:"󰛜"}.mdi-google-lens:before{content:"󰧶"}.mdi-google-maps:before{content:"󰗵"}.mdi-google-my-business:before{content:"󱁈"}.mdi-google-nearby:before{content:"󰊹"}.mdi-google-play:before{content:"󰊼"}.mdi-google-plus:before{content:"󰊽"}.mdi-google-podcast:before{content:"󰺹"}.mdi-google-spreadsheet:before{content:"󰧷"}.mdi-google-street-view:before{content:"󰲈"}.mdi-google-translate:before{content:"󰊿"}.mdi-gradient-horizontal:before{content:"󱝊"}.mdi-gradient-vertical:before{content:"󰚠"}.mdi-grain:before{content:"󰵼"}.mdi-graph:before{content:"󱁉"}.mdi-graph-outline:before{content:"󱁊"}.mdi-graphql:before{content:"󰡷"}.mdi-grass:before{content:"󱔐"}.mdi-grave-stone:before{content:"󰮢"}.mdi-grease-pencil:before{content:"󰙈"}.mdi-greater-than:before{content:"󰥭"}.mdi-greater-than-or-equal:before{content:"󰥮"}.mdi-greenhouse:before{content:"󰀭"}.mdi-grid:before{content:"󰋁"}.mdi-grid-large:before{content:"󰝘"}.mdi-grid-off:before{content:"󰋂"}.mdi-grill:before{content:"󰹅"}.mdi-grill-outline:before{content:"󱆊"}.mdi-group:before{content:"󰋃"}.mdi-guitar-acoustic:before{content:"󰝱"}.mdi-guitar-electric:before{content:"󰋄"}.mdi-guitar-pick:before{content:"󰋅"}.mdi-guitar-pick-outline:before{content:"󰋆"}.mdi-guy-fawkes-mask:before{content:"󰠥"}.mdi-gymnastics:before{content:"󱩁"}.mdi-hail:before{content:"󰫁"}.mdi-hair-dryer:before{content:"󱃯"}.mdi-hair-dryer-outline:before{content:"󱃰"}.mdi-halloween:before{content:"󰮣"}.mdi-hamburger:before{content:"󰚅"}.mdi-hamburger-check:before{content:"󱝶"}.mdi-hamburger-minus:before{content:"󱝷"}.mdi-hamburger-off:before{content:"󱝸"}.mdi-hamburger-plus:before{content:"󱝹"}.mdi-hamburger-remove:before{content:"󱝺"}.mdi-hammer:before{content:"󰣪"}.mdi-hammer-screwdriver:before{content:"󱌢"}.mdi-hammer-sickle:before{content:"󱢇"}.mdi-hammer-wrench:before{content:"󱌣"}.mdi-hand-back-left:before{content:"󰹆"}.mdi-hand-back-left-off:before{content:"󱠰"}.mdi-hand-back-left-off-outline:before{content:"󱠲"}.mdi-hand-back-left-outline:before{content:"󱠬"}.mdi-hand-back-right:before{content:"󰹇"}.mdi-hand-back-right-off:before{content:"󱠱"}.mdi-hand-back-right-off-outline:before{content:"󱠳"}.mdi-hand-back-right-outline:before{content:"󱠭"}.mdi-hand-clap:before{content:"󱥋"}.mdi-hand-clap-off:before{content:"󱩂"}.mdi-hand-coin:before{content:"󱢏"}.mdi-hand-coin-outline:before{content:"󱢐"}.mdi-hand-cycle:before{content:"󱮜"}.mdi-hand-extended:before{content:"󱢶"}.mdi-hand-extended-outline:before{content:"󱢷"}.mdi-hand-front-left:before{content:"󱠫"}.mdi-hand-front-left-outline:before{content:"󱠮"}.mdi-hand-front-right:before{content:"󰩏"}.mdi-hand-front-right-outline:before{content:"󱠯"}.mdi-hand-heart:before{content:"󱃱"}.mdi-hand-heart-outline:before{content:"󱕾"}.mdi-hand-okay:before{content:"󰩐"}.mdi-hand-peace:before{content:"󰩑"}.mdi-hand-peace-variant:before{content:"󰩒"}.mdi-hand-pointing-down:before{content:"󰩓"}.mdi-hand-pointing-left:before{content:"󰩔"}.mdi-hand-pointing-right:before{content:"󰋇"}.mdi-hand-pointing-up:before{content:"󰩕"}.mdi-hand-saw:before{content:"󰹈"}.mdi-hand-wash:before{content:"󱕿"}.mdi-hand-wash-outline:before{content:"󱖀"}.mdi-hand-water:before{content:"󱎟"}.mdi-hand-wave:before{content:"󱠡"}.mdi-hand-wave-outline:before{content:"󱠢"}.mdi-handball:before{content:"󰽓"}.mdi-handcuffs:before{content:"󱄾"}.mdi-hands-pray:before{content:"󰕹"}.mdi-handshake:before{content:"󱈘"}.mdi-handshake-outline:before{content:"󱖡"}.mdi-hanger:before{content:"󰋈"}.mdi-hard-hat:before{content:"󰥯"}.mdi-harddisk:before{content:"󰋊"}.mdi-harddisk-plus:before{content:"󱁋"}.mdi-harddisk-remove:before{content:"󱁌"}.mdi-hat-fedora:before{content:"󰮤"}.mdi-hazard-lights:before{content:"󰲉"}.mdi-hdmi-port:before{content:"󱮸"}.mdi-hdr:before{content:"󰵽"}.mdi-hdr-off:before{content:"󰵾"}.mdi-head:before{content:"󱍞"}.mdi-head-alert:before{content:"󱌸"}.mdi-head-alert-outline:before{content:"󱌹"}.mdi-head-check:before{content:"󱌺"}.mdi-head-check-outline:before{content:"󱌻"}.mdi-head-cog:before{content:"󱌼"}.mdi-head-cog-outline:before{content:"󱌽"}.mdi-head-dots-horizontal:before{content:"󱌾"}.mdi-head-dots-horizontal-outline:before{content:"󱌿"}.mdi-head-flash:before{content:"󱍀"}.mdi-head-flash-outline:before{content:"󱍁"}.mdi-head-heart:before{content:"󱍂"}.mdi-head-heart-outline:before{content:"󱍃"}.mdi-head-lightbulb:before{content:"󱍄"}.mdi-head-lightbulb-outline:before{content:"󱍅"}.mdi-head-minus:before{content:"󱍆"}.mdi-head-minus-outline:before{content:"󱍇"}.mdi-head-outline:before{content:"󱍟"}.mdi-head-plus:before{content:"󱍈"}.mdi-head-plus-outline:before{content:"󱍉"}.mdi-head-question:before{content:"󱍊"}.mdi-head-question-outline:before{content:"󱍋"}.mdi-head-remove:before{content:"󱍌"}.mdi-head-remove-outline:before{content:"󱍍"}.mdi-head-snowflake:before{content:"󱍎"}.mdi-head-snowflake-outline:before{content:"󱍏"}.mdi-head-sync:before{content:"󱍐"}.mdi-head-sync-outline:before{content:"󱍑"}.mdi-headphones:before{content:"󰋋"}.mdi-headphones-bluetooth:before{content:"󰥰"}.mdi-headphones-box:before{content:"󰋌"}.mdi-headphones-off:before{content:"󰟎"}.mdi-headphones-settings:before{content:"󰋍"}.mdi-headset:before{content:"󰋎"}.mdi-headset-dock:before{content:"󰋏"}.mdi-headset-off:before{content:"󰋐"}.mdi-heart:before{content:"󰋑"}.mdi-heart-box:before{content:"󰋒"}.mdi-heart-box-outline:before{content:"󰋓"}.mdi-heart-broken:before{content:"󰋔"}.mdi-heart-broken-outline:before{content:"󰴔"}.mdi-heart-circle:before{content:"󰥱"}.mdi-heart-circle-outline:before{content:"󰥲"}.mdi-heart-cog:before{content:"󱙣"}.mdi-heart-cog-outline:before{content:"󱙤"}.mdi-heart-flash:before{content:"󰻹"}.mdi-heart-half:before{content:"󰛟"}.mdi-heart-half-full:before{content:"󰛞"}.mdi-heart-half-outline:before{content:"󰛠"}.mdi-heart-minus:before{content:"󱐯"}.mdi-heart-minus-outline:before{content:"󱐲"}.mdi-heart-multiple:before{content:"󰩖"}.mdi-heart-multiple-outline:before{content:"󰩗"}.mdi-heart-off:before{content:"󰝙"}.mdi-heart-off-outline:before{content:"󱐴"}.mdi-heart-outline:before{content:"󰋕"}.mdi-heart-plus:before{content:"󱐮"}.mdi-heart-plus-outline:before{content:"󱐱"}.mdi-heart-pulse:before{content:"󰗶"}.mdi-heart-remove:before{content:"󱐰"}.mdi-heart-remove-outline:before{content:"󱐳"}.mdi-heart-search:before{content:"󱲍"}.mdi-heart-settings:before{content:"󱙥"}.mdi-heart-settings-outline:before{content:"󱙦"}.mdi-heat-pump:before{content:"󱩃"}.mdi-heat-pump-outline:before{content:"󱩄"}.mdi-heat-wave:before{content:"󱩅"}.mdi-heating-coil:before{content:"󱪯"}.mdi-helicopter:before{content:"󰫂"}.mdi-help:before{content:"󰋖"}.mdi-help-box:before{content:"󰞋"}.mdi-help-box-multiple:before{content:"󱰊"}.mdi-help-box-multiple-outline:before{content:"󱰋"}.mdi-help-box-outline:before{content:"󱰌"}.mdi-help-circle:before{content:"󰋗"}.mdi-help-circle-outline:before{content:"󰘥"}.mdi-help-network:before{content:"󰛵"}.mdi-help-network-outline:before{content:"󰲊"}.mdi-help-rhombus:before{content:"󰮥"}.mdi-help-rhombus-outline:before{content:"󰮦"}.mdi-hexadecimal:before{content:"󱊧"}.mdi-hexagon:before{content:"󰋘"}.mdi-hexagon-multiple:before{content:"󰛡"}.mdi-hexagon-multiple-outline:before{content:"󱃲"}.mdi-hexagon-outline:before{content:"󰋙"}.mdi-hexagon-slice-1:before{content:"󰫃"}.mdi-hexagon-slice-2:before{content:"󰫄"}.mdi-hexagon-slice-3:before{content:"󰫅"}.mdi-hexagon-slice-4:before{content:"󰫆"}.mdi-hexagon-slice-5:before{content:"󰫇"}.mdi-hexagon-slice-6:before{content:"󰫈"}.mdi-hexagram:before{content:"󰫉"}.mdi-hexagram-outline:before{content:"󰫊"}.mdi-high-definition:before{content:"󰟏"}.mdi-high-definition-box:before{content:"󰡸"}.mdi-highway:before{content:"󰗷"}.mdi-hiking:before{content:"󰵿"}.mdi-history:before{content:"󰋚"}.mdi-hockey-puck:before{content:"󰡹"}.mdi-hockey-sticks:before{content:"󰡺"}.mdi-hololens:before{content:"󰋛"}.mdi-home:before{content:"󰋜"}.mdi-home-account:before{content:"󰠦"}.mdi-home-alert:before{content:"󰡻"}.mdi-home-alert-outline:before{content:"󱗐"}.mdi-home-analytics:before{content:"󰺺"}.mdi-home-assistant:before{content:"󰟐"}.mdi-home-automation:before{content:"󰟑"}.mdi-home-battery:before{content:"󱤁"}.mdi-home-battery-outline:before{content:"󱤂"}.mdi-home-circle:before{content:"󰟒"}.mdi-home-circle-outline:before{content:"󱁍"}.mdi-home-city:before{content:"󰴕"}.mdi-home-city-outline:before{content:"󰴖"}.mdi-home-clock:before{content:"󱨒"}.mdi-home-clock-outline:before{content:"󱨓"}.mdi-home-edit:before{content:"󱅙"}.mdi-home-edit-outline:before{content:"󱅚"}.mdi-home-export-outline:before{content:"󰾛"}.mdi-home-flood:before{content:"󰻺"}.mdi-home-floor-0:before{content:"󰷒"}.mdi-home-floor-1:before{content:"󰶀"}.mdi-home-floor-2:before{content:"󰶁"}.mdi-home-floor-3:before{content:"󰶂"}.mdi-home-floor-a:before{content:"󰶃"}.mdi-home-floor-b:before{content:"󰶄"}.mdi-home-floor-g:before{content:"󰶅"}.mdi-home-floor-l:before{content:"󰶆"}.mdi-home-floor-negative-1:before{content:"󰷓"}.mdi-home-group:before{content:"󰷔"}.mdi-home-group-minus:before{content:"󱧁"}.mdi-home-group-plus:before{content:"󱧀"}.mdi-home-group-remove:before{content:"󱧂"}.mdi-home-heart:before{content:"󰠧"}.mdi-home-import-outline:before{content:"󰾜"}.mdi-home-lightbulb:before{content:"󱉑"}.mdi-home-lightbulb-outline:before{content:"󱉒"}.mdi-home-lightning-bolt:before{content:"󱤃"}.mdi-home-lightning-bolt-outline:before{content:"󱤄"}.mdi-home-lock:before{content:"󰣫"}.mdi-home-lock-open:before{content:"󰣬"}.mdi-home-map-marker:before{content:"󰗸"}.mdi-home-minus:before{content:"󰥴"}.mdi-home-minus-outline:before{content:"󱏕"}.mdi-home-modern:before{content:"󰋝"}.mdi-home-off:before{content:"󱩆"}.mdi-home-off-outline:before{content:"󱩇"}.mdi-home-outline:before{content:"󰚡"}.mdi-home-percent:before{content:"󱱼"}.mdi-home-percent-outline:before{content:"󱱽"}.mdi-home-plus:before{content:"󰥵"}.mdi-home-plus-outline:before{content:"󱏖"}.mdi-home-remove:before{content:"󱉇"}.mdi-home-remove-outline:before{content:"󱏗"}.mdi-home-roof:before{content:"󱄫"}.mdi-home-search:before{content:"󱎰"}.mdi-home-search-outline:before{content:"󱎱"}.mdi-home-silo:before{content:"󱮠"}.mdi-home-silo-outline:before{content:"󱮡"}.mdi-home-sound-in:before{content:"󱰯"}.mdi-home-sound-in-outline:before{content:"󱰰"}.mdi-home-sound-out:before{content:"󱰱"}.mdi-home-sound-out-outline:before{content:"󱰲"}.mdi-home-switch:before{content:"󱞔"}.mdi-home-switch-outline:before{content:"󱞕"}.mdi-home-thermometer:before{content:"󰽔"}.mdi-home-thermometer-outline:before{content:"󰽕"}.mdi-home-variant:before{content:"󰋞"}.mdi-home-variant-outline:before{content:"󰮧"}.mdi-hook:before{content:"󰛢"}.mdi-hook-off:before{content:"󰛣"}.mdi-hoop-house:before{content:"󰹖"}.mdi-hops:before{content:"󰋟"}.mdi-horizontal-rotate-clockwise:before{content:"󱃳"}.mdi-horizontal-rotate-counterclockwise:before{content:"󱃴"}.mdi-horse:before{content:"󱖿"}.mdi-horse-human:before{content:"󱗀"}.mdi-horse-variant:before{content:"󱗁"}.mdi-horse-variant-fast:before{content:"󱡮"}.mdi-horseshoe:before{content:"󰩘"}.mdi-hospital:before{content:"󰿶"}.mdi-hospital-box:before{content:"󰋠"}.mdi-hospital-box-outline:before{content:"󰿷"}.mdi-hospital-building:before{content:"󰋡"}.mdi-hospital-marker:before{content:"󰋢"}.mdi-hot-tub:before{content:"󰠨"}.mdi-hours-12:before{content:"󱲔"}.mdi-hours-24:before{content:"󱑸"}.mdi-hub:before{content:"󱲕"}.mdi-hub-outline:before{content:"󱲖"}.mdi-hubspot:before{content:"󰴗"}.mdi-hulu:before{content:"󰠩"}.mdi-human:before{content:"󰋦"}.mdi-human-baby-changing-table:before{content:"󱎋"}.mdi-human-cane:before{content:"󱖁"}.mdi-human-capacity-decrease:before{content:"󱖛"}.mdi-human-capacity-increase:before{content:"󱖜"}.mdi-human-child:before{content:"󰋧"}.mdi-human-dolly:before{content:"󱦀"}.mdi-human-edit:before{content:"󱓨"}.mdi-human-female:before{content:"󰙉"}.mdi-human-female-boy:before{content:"󰩙"}.mdi-human-female-dance:before{content:"󱗉"}.mdi-human-female-female:before{content:"󰩚"}.mdi-human-female-female-child:before{content:"󱲎"}.mdi-human-female-girl:before{content:"󰩛"}.mdi-human-greeting:before{content:"󱟄"}.mdi-human-greeting-proximity:before{content:"󱖝"}.mdi-human-greeting-variant:before{content:"󰙊"}.mdi-human-handsdown:before{content:"󰙋"}.mdi-human-handsup:before{content:"󰙌"}.mdi-human-male:before{content:"󰙍"}.mdi-human-male-board:before{content:"󰢐"}.mdi-human-male-board-poll:before{content:"󰡆"}.mdi-human-male-boy:before{content:"󰩜"}.mdi-human-male-child:before{content:"󱎌"}.mdi-human-male-female:before{content:"󰋨"}.mdi-human-male-female-child:before{content:"󱠣"}.mdi-human-male-girl:before{content:"󰩝"}.mdi-human-male-height:before{content:"󰻻"}.mdi-human-male-height-variant:before{content:"󰻼"}.mdi-human-male-male:before{content:"󰩞"}.mdi-human-male-male-child:before{content:"󱲏"}.mdi-human-non-binary:before{content:"󱡈"}.mdi-human-pregnant:before{content:"󰗏"}.mdi-human-queue:before{content:"󱕱"}.mdi-human-scooter:before{content:"󱇩"}.mdi-human-walker:before{content:"󱭱"}.mdi-human-wheelchair:before{content:"󱎍"}.mdi-human-white-cane:before{content:"󱦁"}.mdi-humble-bundle:before{content:"󰝄"}.mdi-hvac:before{content:"󱍒"}.mdi-hvac-off:before{content:"󱖞"}.mdi-hydraulic-oil-level:before{content:"󱌤"}.mdi-hydraulic-oil-temperature:before{content:"󱌥"}.mdi-hydro-power:before{content:"󱋥"}.mdi-hydrogen-station:before{content:"󱢔"}.mdi-ice-cream:before{content:"󰠪"}.mdi-ice-cream-off:before{content:"󰹒"}.mdi-ice-pop:before{content:"󰻽"}.mdi-id-card:before{content:"󰿀"}.mdi-identifier:before{content:"󰻾"}.mdi-ideogram-cjk:before{content:"󱌱"}.mdi-ideogram-cjk-variant:before{content:"󱌲"}.mdi-image:before{content:"󰋩"}.mdi-image-album:before{content:"󰋪"}.mdi-image-area:before{content:"󰋫"}.mdi-image-area-close:before{content:"󰋬"}.mdi-image-auto-adjust:before{content:"󰿁"}.mdi-image-broken:before{content:"󰋭"}.mdi-image-broken-variant:before{content:"󰋮"}.mdi-image-check:before{content:"󱬥"}.mdi-image-check-outline:before{content:"󱬦"}.mdi-image-edit:before{content:"󱇣"}.mdi-image-edit-outline:before{content:"󱇤"}.mdi-image-filter-black-white:before{content:"󰋰"}.mdi-image-filter-center-focus:before{content:"󰋱"}.mdi-image-filter-center-focus-strong:before{content:"󰻿"}.mdi-image-filter-center-focus-strong-outline:before{content:"󰼀"}.mdi-image-filter-center-focus-weak:before{content:"󰋲"}.mdi-image-filter-drama:before{content:"󰋳"}.mdi-image-filter-drama-outline:before{content:"󱯿"}.mdi-image-filter-frames:before{content:"󰋴"}.mdi-image-filter-hdr:before{content:"󰋵"}.mdi-image-filter-hdr-outline:before{content:"󱱤"}.mdi-image-filter-none:before{content:"󰋶"}.mdi-image-filter-tilt-shift:before{content:"󰋷"}.mdi-image-filter-vintage:before{content:"󰋸"}.mdi-image-frame:before{content:"󰹉"}.mdi-image-lock:before{content:"󱪰"}.mdi-image-lock-outline:before{content:"󱪱"}.mdi-image-marker:before{content:"󱝻"}.mdi-image-marker-outline:before{content:"󱝼"}.mdi-image-minus:before{content:"󱐙"}.mdi-image-minus-outline:before{content:"󱭇"}.mdi-image-move:before{content:"󰧸"}.mdi-image-multiple:before{content:"󰋹"}.mdi-image-multiple-outline:before{content:"󰋯"}.mdi-image-off:before{content:"󰠫"}.mdi-image-off-outline:before{content:"󱇑"}.mdi-image-outline:before{content:"󰥶"}.mdi-image-plus:before{content:"󰡼"}.mdi-image-plus-outline:before{content:"󱭆"}.mdi-image-refresh:before{content:"󱧾"}.mdi-image-refresh-outline:before{content:"󱧿"}.mdi-image-remove:before{content:"󱐘"}.mdi-image-remove-outline:before{content:"󱭈"}.mdi-image-search:before{content:"󰥷"}.mdi-image-search-outline:before{content:"󰥸"}.mdi-image-size-select-actual:before{content:"󰲍"}.mdi-image-size-select-large:before{content:"󰲎"}.mdi-image-size-select-small:before{content:"󰲏"}.mdi-image-sync:before{content:"󱨀"}.mdi-image-sync-outline:before{content:"󱨁"}.mdi-image-text:before{content:"󱘍"}.mdi-import:before{content:"󰋺"}.mdi-inbox:before{content:"󰚇"}.mdi-inbox-arrow-down:before{content:"󰋻"}.mdi-inbox-arrow-down-outline:before{content:"󱉰"}.mdi-inbox-arrow-up:before{content:"󰏑"}.mdi-inbox-arrow-up-outline:before{content:"󱉱"}.mdi-inbox-full:before{content:"󱉲"}.mdi-inbox-full-outline:before{content:"󱉳"}.mdi-inbox-multiple:before{content:"󰢰"}.mdi-inbox-multiple-outline:before{content:"󰮨"}.mdi-inbox-outline:before{content:"󱉴"}.mdi-inbox-remove:before{content:"󱖟"}.mdi-inbox-remove-outline:before{content:"󱖠"}.mdi-incognito:before{content:"󰗹"}.mdi-incognito-circle:before{content:"󱐡"}.mdi-incognito-circle-off:before{content:"󱐢"}.mdi-incognito-off:before{content:"󰁵"}.mdi-induction:before{content:"󱡌"}.mdi-infinity:before{content:"󰛤"}.mdi-information:before{content:"󰋼"}.mdi-information-box:before{content:"󱱥"}.mdi-information-box-outline:before{content:"󱱦"}.mdi-information-off:before{content:"󱞌"}.mdi-information-off-outline:before{content:"󱞍"}.mdi-information-outline:before{content:"󰋽"}.mdi-information-slab-box:before{content:"󱱧"}.mdi-information-slab-box-outline:before{content:"󱱨"}.mdi-information-slab-circle:before{content:"󱱩"}.mdi-information-slab-circle-outline:before{content:"󱱪"}.mdi-information-slab-symbol:before{content:"󱱫"}.mdi-information-symbol:before{content:"󱱬"}.mdi-information-variant:before{content:"󰙎"}.mdi-information-variant-box:before{content:"󱱭"}.mdi-information-variant-box-outline:before{content:"󱱮"}.mdi-information-variant-circle:before{content:"󱱯"}.mdi-information-variant-circle-outline:before{content:"󱱰"}.mdi-instagram:before{content:"󰋾"}.mdi-instrument-triangle:before{content:"󱁎"}.mdi-integrated-circuit-chip:before{content:"󱤓"}.mdi-invert-colors:before{content:"󰌁"}.mdi-invert-colors-off:before{content:"󰹊"}.mdi-invoice:before{content:"󱳒"}.mdi-invoice-arrow-left:before{content:"󱳓"}.mdi-invoice-arrow-left-outline:before{content:"󱳔"}.mdi-invoice-arrow-right:before{content:"󱳕"}.mdi-invoice-arrow-right-outline:before{content:"󱳖"}.mdi-invoice-check:before{content:"󱳗"}.mdi-invoice-check-outline:before{content:"󱳘"}.mdi-invoice-clock:before{content:"󱳙"}.mdi-invoice-clock-outline:before{content:"󱳚"}.mdi-invoice-edit:before{content:"󱳛"}.mdi-invoice-edit-outline:before{content:"󱳜"}.mdi-invoice-export-outline:before{content:"󱳝"}.mdi-invoice-fast:before{content:"󱳞"}.mdi-invoice-fast-outline:before{content:"󱳟"}.mdi-invoice-import:before{content:"󱳠"}.mdi-invoice-import-outline:before{content:"󱳡"}.mdi-invoice-list:before{content:"󱳢"}.mdi-invoice-list-outline:before{content:"󱳣"}.mdi-invoice-minus:before{content:"󱳤"}.mdi-invoice-minus-outline:before{content:"󱳥"}.mdi-invoice-multiple:before{content:"󱳦"}.mdi-invoice-multiple-outline:before{content:"󱳧"}.mdi-invoice-outline:before{content:"󱳨"}.mdi-invoice-plus:before{content:"󱳩"}.mdi-invoice-plus-outline:before{content:"󱳪"}.mdi-invoice-remove:before{content:"󱳫"}.mdi-invoice-remove-outline:before{content:"󱳬"}.mdi-invoice-send:before{content:"󱳭"}.mdi-invoice-send-outline:before{content:"󱳮"}.mdi-invoice-text:before{content:"󱳯"}.mdi-invoice-text-arrow-left:before{content:"󱳰"}.mdi-invoice-text-arrow-left-outline:before{content:"󱳱"}.mdi-invoice-text-arrow-right:before{content:"󱳲"}.mdi-invoice-text-arrow-right-outline:before{content:"󱳳"}.mdi-invoice-text-check:before{content:"󱳴"}.mdi-invoice-text-check-outline:before{content:"󱳵"}.mdi-invoice-text-clock:before{content:"󱳶"}.mdi-invoice-text-clock-outline:before{content:"󱳷"}.mdi-invoice-text-edit:before{content:"󱳸"}.mdi-invoice-text-edit-outline:before{content:"󱳹"}.mdi-invoice-text-fast:before{content:"󱳺"}.mdi-invoice-text-fast-outline:before{content:"󱳻"}.mdi-invoice-text-minus:before{content:"󱳼"}.mdi-invoice-text-minus-outline:before{content:"󱳽"}.mdi-invoice-text-multiple:before{content:"󱳾"}.mdi-invoice-text-multiple-outline:before{content:"󱳿"}.mdi-invoice-text-outline:before{content:"󱴀"}.mdi-invoice-text-plus:before{content:"󱴁"}.mdi-invoice-text-plus-outline:before{content:"󱴂"}.mdi-invoice-text-remove:before{content:"󱴃"}.mdi-invoice-text-remove-outline:before{content:"󱴄"}.mdi-invoice-text-send:before{content:"󱴅"}.mdi-invoice-text-send-outline:before{content:"󱴆"}.mdi-iobroker:before{content:"󱋨"}.mdi-ip:before{content:"󰩟"}.mdi-ip-network:before{content:"󰩠"}.mdi-ip-network-outline:before{content:"󰲐"}.mdi-ip-outline:before{content:"󱦂"}.mdi-ipod:before{content:"󰲑"}.mdi-iron:before{content:"󱠤"}.mdi-iron-board:before{content:"󱠸"}.mdi-iron-outline:before{content:"󱠥"}.mdi-island:before{content:"󱁏"}.mdi-island-variant:before{content:"󱳆"}.mdi-iv-bag:before{content:"󱂹"}.mdi-jabber:before{content:"󰷕"}.mdi-jeepney:before{content:"󰌂"}.mdi-jellyfish:before{content:"󰼁"}.mdi-jellyfish-outline:before{content:"󰼂"}.mdi-jira:before{content:"󰌃"}.mdi-jquery:before{content:"󰡽"}.mdi-jsfiddle:before{content:"󰌄"}.mdi-jump-rope:before{content:"󱋿"}.mdi-kabaddi:before{content:"󰶇"}.mdi-kangaroo:before{content:"󱕘"}.mdi-karate:before{content:"󰠬"}.mdi-kayaking:before{content:"󰢯"}.mdi-keg:before{content:"󰌅"}.mdi-kettle:before{content:"󰗺"}.mdi-kettle-alert:before{content:"󱌗"}.mdi-kettle-alert-outline:before{content:"󱌘"}.mdi-kettle-off:before{content:"󱌛"}.mdi-kettle-off-outline:before{content:"󱌜"}.mdi-kettle-outline:before{content:"󰽖"}.mdi-kettle-pour-over:before{content:"󱜼"}.mdi-kettle-steam:before{content:"󱌙"}.mdi-kettle-steam-outline:before{content:"󱌚"}.mdi-kettlebell:before{content:"󱌀"}.mdi-key:before{content:"󰌆"}.mdi-key-alert:before{content:"󱦃"}.mdi-key-alert-outline:before{content:"󱦄"}.mdi-key-arrow-right:before{content:"󱌒"}.mdi-key-chain:before{content:"󱕴"}.mdi-key-chain-variant:before{content:"󱕵"}.mdi-key-change:before{content:"󰌇"}.mdi-key-link:before{content:"󱆟"}.mdi-key-minus:before{content:"󰌈"}.mdi-key-outline:before{content:"󰷖"}.mdi-key-plus:before{content:"󰌉"}.mdi-key-remove:before{content:"󰌊"}.mdi-key-star:before{content:"󱆞"}.mdi-key-variant:before{content:"󰌋"}.mdi-key-wireless:before{content:"󰿂"}.mdi-keyboard:before{content:"󰌌"}.mdi-keyboard-backspace:before{content:"󰌍"}.mdi-keyboard-caps:before{content:"󰌎"}.mdi-keyboard-close:before{content:"󰌏"}.mdi-keyboard-close-outline:before{content:"󱰀"}.mdi-keyboard-esc:before{content:"󱊷"}.mdi-keyboard-f1:before{content:"󱊫"}.mdi-keyboard-f10:before{content:"󱊴"}.mdi-keyboard-f11:before{content:"󱊵"}.mdi-keyboard-f12:before{content:"󱊶"}.mdi-keyboard-f2:before{content:"󱊬"}.mdi-keyboard-f3:before{content:"󱊭"}.mdi-keyboard-f4:before{content:"󱊮"}.mdi-keyboard-f5:before{content:"󱊯"}.mdi-keyboard-f6:before{content:"󱊰"}.mdi-keyboard-f7:before{content:"󱊱"}.mdi-keyboard-f8:before{content:"󱊲"}.mdi-keyboard-f9:before{content:"󱊳"}.mdi-keyboard-off:before{content:"󰌐"}.mdi-keyboard-off-outline:before{content:"󰹋"}.mdi-keyboard-outline:before{content:"󰥻"}.mdi-keyboard-return:before{content:"󰌑"}.mdi-keyboard-settings:before{content:"󰧹"}.mdi-keyboard-settings-outline:before{content:"󰧺"}.mdi-keyboard-space:before{content:"󱁐"}.mdi-keyboard-tab:before{content:"󰌒"}.mdi-keyboard-tab-reverse:before{content:"󰌥"}.mdi-keyboard-variant:before{content:"󰌓"}.mdi-khanda:before{content:"󱃽"}.mdi-kickstarter:before{content:"󰝅"}.mdi-kite:before{content:"󱦅"}.mdi-kite-outline:before{content:"󱦆"}.mdi-kitesurfing:before{content:"󱝄"}.mdi-klingon:before{content:"󱍛"}.mdi-knife:before{content:"󰧻"}.mdi-knife-military:before{content:"󰧼"}.mdi-knob:before{content:"󱮖"}.mdi-koala:before{content:"󱜿"}.mdi-kodi:before{content:"󰌔"}.mdi-kubernetes:before{content:"󱃾"}.mdi-label:before{content:"󰌕"}.mdi-label-multiple:before{content:"󱍵"}.mdi-label-multiple-outline:before{content:"󱍶"}.mdi-label-off:before{content:"󰫋"}.mdi-label-off-outline:before{content:"󰫌"}.mdi-label-outline:before{content:"󰌖"}.mdi-label-percent:before{content:"󱋪"}.mdi-label-percent-outline:before{content:"󱋫"}.mdi-label-variant:before{content:"󰫍"}.mdi-label-variant-outline:before{content:"󰫎"}.mdi-ladder:before{content:"󱖢"}.mdi-ladybug:before{content:"󰠭"}.mdi-lambda:before{content:"󰘧"}.mdi-lamp:before{content:"󰚵"}.mdi-lamp-outline:before{content:"󱟐"}.mdi-lamps:before{content:"󱕶"}.mdi-lamps-outline:before{content:"󱟑"}.mdi-lan:before{content:"󰌗"}.mdi-lan-check:before{content:"󱊪"}.mdi-lan-connect:before{content:"󰌘"}.mdi-lan-disconnect:before{content:"󰌙"}.mdi-lan-pending:before{content:"󰌚"}.mdi-land-fields:before{content:"󱪲"}.mdi-land-plots:before{content:"󱪳"}.mdi-land-plots-circle:before{content:"󱪴"}.mdi-land-plots-circle-variant:before{content:"󱪵"}.mdi-land-plots-marker:before{content:"󱱝"}.mdi-land-rows-horizontal:before{content:"󱪶"}.mdi-land-rows-vertical:before{content:"󱪷"}.mdi-landslide:before{content:"󱩈"}.mdi-landslide-outline:before{content:"󱩉"}.mdi-language-c:before{content:"󰙱"}.mdi-language-cpp:before{content:"󰙲"}.mdi-language-csharp:before{content:"󰌛"}.mdi-language-css3:before{content:"󰌜"}.mdi-language-fortran:before{content:"󱈚"}.mdi-language-go:before{content:"󰟓"}.mdi-language-haskell:before{content:"󰲒"}.mdi-language-html5:before{content:"󰌝"}.mdi-language-java:before{content:"󰬷"}.mdi-language-javascript:before{content:"󰌞"}.mdi-language-kotlin:before{content:"󱈙"}.mdi-language-lua:before{content:"󰢱"}.mdi-language-markdown:before{content:"󰍔"}.mdi-language-markdown-outline:before{content:"󰽛"}.mdi-language-php:before{content:"󰌟"}.mdi-language-python:before{content:"󰌠"}.mdi-language-r:before{content:"󰟔"}.mdi-language-ruby:before{content:"󰴭"}.mdi-language-ruby-on-rails:before{content:"󰫏"}.mdi-language-rust:before{content:"󱘗"}.mdi-language-swift:before{content:"󰛥"}.mdi-language-typescript:before{content:"󰛦"}.mdi-language-xaml:before{content:"󰙳"}.mdi-laptop:before{content:"󰌢"}.mdi-laptop-account:before{content:"󱩊"}.mdi-laptop-off:before{content:"󰛧"}.mdi-laravel:before{content:"󰫐"}.mdi-laser-pointer:before{content:"󱒄"}.mdi-lasso:before{content:"󰼃"}.mdi-lastpass:before{content:"󰑆"}.mdi-latitude:before{content:"󰽗"}.mdi-launch:before{content:"󰌧"}.mdi-lava-lamp:before{content:"󰟕"}.mdi-layers:before{content:"󰌨"}.mdi-layers-edit:before{content:"󱢒"}.mdi-layers-minus:before{content:"󰹌"}.mdi-layers-off:before{content:"󰌩"}.mdi-layers-off-outline:before{content:"󰧽"}.mdi-layers-outline:before{content:"󰧾"}.mdi-layers-plus:before{content:"󰹍"}.mdi-layers-remove:before{content:"󰹎"}.mdi-layers-search:before{content:"󱈆"}.mdi-layers-search-outline:before{content:"󱈇"}.mdi-layers-triple:before{content:"󰽘"}.mdi-layers-triple-outline:before{content:"󰽙"}.mdi-lead-pencil:before{content:"󰙏"}.mdi-leaf:before{content:"󰌪"}.mdi-leaf-circle:before{content:"󱤅"}.mdi-leaf-circle-outline:before{content:"󱤆"}.mdi-leaf-maple:before{content:"󰲓"}.mdi-leaf-maple-off:before{content:"󱋚"}.mdi-leaf-off:before{content:"󱋙"}.mdi-leak:before{content:"󰷗"}.mdi-leak-off:before{content:"󰷘"}.mdi-lectern:before{content:"󱫰"}.mdi-led-off:before{content:"󰌫"}.mdi-led-on:before{content:"󰌬"}.mdi-led-outline:before{content:"󰌭"}.mdi-led-strip:before{content:"󰟖"}.mdi-led-strip-variant:before{content:"󱁑"}.mdi-led-strip-variant-off:before{content:"󱩋"}.mdi-led-variant-off:before{content:"󰌮"}.mdi-led-variant-on:before{content:"󰌯"}.mdi-led-variant-outline:before{content:"󰌰"}.mdi-leek:before{content:"󱅽"}.mdi-less-than:before{content:"󰥼"}.mdi-less-than-or-equal:before{content:"󰥽"}.mdi-library:before{content:"󰌱"}.mdi-library-outline:before{content:"󱨢"}.mdi-library-shelves:before{content:"󰮩"}.mdi-license:before{content:"󰿃"}.mdi-lifebuoy:before{content:"󰡾"}.mdi-light-flood-down:before{content:"󱦇"}.mdi-light-flood-up:before{content:"󱦈"}.mdi-light-recessed:before{content:"󱞛"}.mdi-light-switch:before{content:"󰥾"}.mdi-light-switch-off:before{content:"󱨤"}.mdi-lightbulb:before{content:"󰌵"}.mdi-lightbulb-alert:before{content:"󱧡"}.mdi-lightbulb-alert-outline:before{content:"󱧢"}.mdi-lightbulb-auto:before{content:"󱠀"}.mdi-lightbulb-auto-outline:before{content:"󱠁"}.mdi-lightbulb-cfl:before{content:"󱈈"}.mdi-lightbulb-cfl-off:before{content:"󱈉"}.mdi-lightbulb-cfl-spiral:before{content:"󱉵"}.mdi-lightbulb-cfl-spiral-off:before{content:"󱋃"}.mdi-lightbulb-fluorescent-tube:before{content:"󱠄"}.mdi-lightbulb-fluorescent-tube-outline:before{content:"󱠅"}.mdi-lightbulb-group:before{content:"󱉓"}.mdi-lightbulb-group-off:before{content:"󱋍"}.mdi-lightbulb-group-off-outline:before{content:"󱋎"}.mdi-lightbulb-group-outline:before{content:"󱉔"}.mdi-lightbulb-multiple:before{content:"󱉕"}.mdi-lightbulb-multiple-off:before{content:"󱋏"}.mdi-lightbulb-multiple-off-outline:before{content:"󱋐"}.mdi-lightbulb-multiple-outline:before{content:"󱉖"}.mdi-lightbulb-night:before{content:"󱩌"}.mdi-lightbulb-night-outline:before{content:"󱩍"}.mdi-lightbulb-off:before{content:"󰹏"}.mdi-lightbulb-off-outline:before{content:"󰹐"}.mdi-lightbulb-on:before{content:"󰛨"}.mdi-lightbulb-on-10:before{content:"󱩎"}.mdi-lightbulb-on-20:before{content:"󱩏"}.mdi-lightbulb-on-30:before{content:"󱩐"}.mdi-lightbulb-on-40:before{content:"󱩑"}.mdi-lightbulb-on-50:before{content:"󱩒"}.mdi-lightbulb-on-60:before{content:"󱩓"}.mdi-lightbulb-on-70:before{content:"󱩔"}.mdi-lightbulb-on-80:before{content:"󱩕"}.mdi-lightbulb-on-90:before{content:"󱩖"}.mdi-lightbulb-on-outline:before{content:"󰛩"}.mdi-lightbulb-outline:before{content:"󰌶"}.mdi-lightbulb-question:before{content:"󱧣"}.mdi-lightbulb-question-outline:before{content:"󱧤"}.mdi-lightbulb-spot:before{content:"󱟴"}.mdi-lightbulb-spot-off:before{content:"󱟵"}.mdi-lightbulb-variant:before{content:"󱠂"}.mdi-lightbulb-variant-outline:before{content:"󱠃"}.mdi-lighthouse:before{content:"󰧿"}.mdi-lighthouse-on:before{content:"󰨀"}.mdi-lightning-bolt:before{content:"󱐋"}.mdi-lightning-bolt-circle:before{content:"󰠠"}.mdi-lightning-bolt-outline:before{content:"󱐌"}.mdi-line-scan:before{content:"󰘤"}.mdi-lingerie:before{content:"󱑶"}.mdi-link:before{content:"󰌷"}.mdi-link-box:before{content:"󰴚"}.mdi-link-box-outline:before{content:"󰴛"}.mdi-link-box-variant:before{content:"󰴜"}.mdi-link-box-variant-outline:before{content:"󰴝"}.mdi-link-circle:before{content:"󱲬"}.mdi-link-circle-outline:before{content:"󱲭"}.mdi-link-edit:before{content:"󱲮"}.mdi-link-lock:before{content:"󱂺"}.mdi-link-off:before{content:"󰌸"}.mdi-link-plus:before{content:"󰲔"}.mdi-link-variant:before{content:"󰌹"}.mdi-link-variant-minus:before{content:"󱃿"}.mdi-link-variant-off:before{content:"󰌺"}.mdi-link-variant-plus:before{content:"󱄀"}.mdi-link-variant-remove:before{content:"󱄁"}.mdi-linkedin:before{content:"󰌻"}.mdi-linux:before{content:"󰌽"}.mdi-linux-mint:before{content:"󰣭"}.mdi-lipstick:before{content:"󱎵"}.mdi-liquid-spot:before{content:"󱠦"}.mdi-liquor:before{content:"󱤞"}.mdi-list-box:before{content:"󱭻"}.mdi-list-box-outline:before{content:"󱭼"}.mdi-list-status:before{content:"󱖫"}.mdi-litecoin:before{content:"󰩡"}.mdi-loading:before{content:"󰝲"}.mdi-location-enter:before{content:"󰿄"}.mdi-location-exit:before{content:"󰿅"}.mdi-lock:before{content:"󰌾"}.mdi-lock-alert:before{content:"󰣮"}.mdi-lock-alert-outline:before{content:"󱗑"}.mdi-lock-check:before{content:"󱎚"}.mdi-lock-check-outline:before{content:"󱚨"}.mdi-lock-clock:before{content:"󰥿"}.mdi-lock-minus:before{content:"󱚩"}.mdi-lock-minus-outline:before{content:"󱚪"}.mdi-lock-off:before{content:"󱙱"}.mdi-lock-off-outline:before{content:"󱙲"}.mdi-lock-open:before{content:"󰌿"}.mdi-lock-open-alert:before{content:"󱎛"}.mdi-lock-open-alert-outline:before{content:"󱗒"}.mdi-lock-open-check:before{content:"󱎜"}.mdi-lock-open-check-outline:before{content:"󱚫"}.mdi-lock-open-minus:before{content:"󱚬"}.mdi-lock-open-minus-outline:before{content:"󱚭"}.mdi-lock-open-outline:before{content:"󰍀"}.mdi-lock-open-plus:before{content:"󱚮"}.mdi-lock-open-plus-outline:before{content:"󱚯"}.mdi-lock-open-remove:before{content:"󱚰"}.mdi-lock-open-remove-outline:before{content:"󱚱"}.mdi-lock-open-variant:before{content:"󰿆"}.mdi-lock-open-variant-outline:before{content:"󰿇"}.mdi-lock-outline:before{content:"󰍁"}.mdi-lock-pattern:before{content:"󰛪"}.mdi-lock-percent:before{content:"󱰒"}.mdi-lock-percent-open:before{content:"󱰓"}.mdi-lock-percent-open-outline:before{content:"󱰔"}.mdi-lock-percent-open-variant:before{content:"󱰕"}.mdi-lock-percent-open-variant-outline:before{content:"󱰖"}.mdi-lock-percent-outline:before{content:"󱰗"}.mdi-lock-plus:before{content:"󰗻"}.mdi-lock-plus-outline:before{content:"󱚲"}.mdi-lock-question:before{content:"󰣯"}.mdi-lock-remove:before{content:"󱚳"}.mdi-lock-remove-outline:before{content:"󱚴"}.mdi-lock-reset:before{content:"󰝳"}.mdi-lock-smart:before{content:"󰢲"}.mdi-locker:before{content:"󰟗"}.mdi-locker-multiple:before{content:"󰟘"}.mdi-login:before{content:"󰍂"}.mdi-login-variant:before{content:"󰗼"}.mdi-logout:before{content:"󰍃"}.mdi-logout-variant:before{content:"󰗽"}.mdi-longitude:before{content:"󰽚"}.mdi-looks:before{content:"󰍄"}.mdi-lotion:before{content:"󱖂"}.mdi-lotion-outline:before{content:"󱖃"}.mdi-lotion-plus:before{content:"󱖄"}.mdi-lotion-plus-outline:before{content:"󱖅"}.mdi-loupe:before{content:"󰍅"}.mdi-lumx:before{content:"󰍆"}.mdi-lungs:before{content:"󱂄"}.mdi-mace:before{content:"󱡃"}.mdi-magazine-pistol:before{content:"󰌤"}.mdi-magazine-rifle:before{content:"󰌣"}.mdi-magic-staff:before{content:"󱡄"}.mdi-magnet:before{content:"󰍇"}.mdi-magnet-on:before{content:"󰍈"}.mdi-magnify:before{content:"󰍉"}.mdi-magnify-close:before{content:"󰦀"}.mdi-magnify-expand:before{content:"󱡴"}.mdi-magnify-minus:before{content:"󰍊"}.mdi-magnify-minus-cursor:before{content:"󰩢"}.mdi-magnify-minus-outline:before{content:"󰛬"}.mdi-magnify-plus:before{content:"󰍋"}.mdi-magnify-plus-cursor:before{content:"󰩣"}.mdi-magnify-plus-outline:before{content:"󰛭"}.mdi-magnify-remove-cursor:before{content:"󱈌"}.mdi-magnify-remove-outline:before{content:"󱈍"}.mdi-magnify-scan:before{content:"󱉶"}.mdi-mail:before{content:"󰺻"}.mdi-mailbox:before{content:"󰛮"}.mdi-mailbox-open:before{content:"󰶈"}.mdi-mailbox-open-outline:before{content:"󰶉"}.mdi-mailbox-open-up:before{content:"󰶊"}.mdi-mailbox-open-up-outline:before{content:"󰶋"}.mdi-mailbox-outline:before{content:"󰶌"}.mdi-mailbox-up:before{content:"󰶍"}.mdi-mailbox-up-outline:before{content:"󰶎"}.mdi-manjaro:before{content:"󱘊"}.mdi-map:before{content:"󰍍"}.mdi-map-check:before{content:"󰺼"}.mdi-map-check-outline:before{content:"󰺽"}.mdi-map-clock:before{content:"󰴞"}.mdi-map-clock-outline:before{content:"󰴟"}.mdi-map-legend:before{content:"󰨁"}.mdi-map-marker:before{content:"󰍎"}.mdi-map-marker-account:before{content:"󱣣"}.mdi-map-marker-account-outline:before{content:"󱣤"}.mdi-map-marker-alert:before{content:"󰼅"}.mdi-map-marker-alert-outline:before{content:"󰼆"}.mdi-map-marker-check:before{content:"󰲕"}.mdi-map-marker-check-outline:before{content:"󱋻"}.mdi-map-marker-circle:before{content:"󰍏"}.mdi-map-marker-distance:before{content:"󰣰"}.mdi-map-marker-down:before{content:"󱄂"}.mdi-map-marker-left:before{content:"󱋛"}.mdi-map-marker-left-outline:before{content:"󱋝"}.mdi-map-marker-minus:before{content:"󰙐"}.mdi-map-marker-minus-outline:before{content:"󱋹"}.mdi-map-marker-multiple:before{content:"󰍐"}.mdi-map-marker-multiple-outline:before{content:"󱉷"}.mdi-map-marker-off:before{content:"󰍑"}.mdi-map-marker-off-outline:before{content:"󱋽"}.mdi-map-marker-outline:before{content:"󰟙"}.mdi-map-marker-path:before{content:"󰴠"}.mdi-map-marker-plus:before{content:"󰙑"}.mdi-map-marker-plus-outline:before{content:"󱋸"}.mdi-map-marker-question:before{content:"󰼇"}.mdi-map-marker-question-outline:before{content:"󰼈"}.mdi-map-marker-radius:before{content:"󰍒"}.mdi-map-marker-radius-outline:before{content:"󱋼"}.mdi-map-marker-remove:before{content:"󰼉"}.mdi-map-marker-remove-outline:before{content:"󱋺"}.mdi-map-marker-remove-variant:before{content:"󰼊"}.mdi-map-marker-right:before{content:"󱋜"}.mdi-map-marker-right-outline:before{content:"󱋞"}.mdi-map-marker-star:before{content:"󱘈"}.mdi-map-marker-star-outline:before{content:"󱘉"}.mdi-map-marker-up:before{content:"󱄃"}.mdi-map-minus:before{content:"󰦁"}.mdi-map-outline:before{content:"󰦂"}.mdi-map-plus:before{content:"󰦃"}.mdi-map-search:before{content:"󰦄"}.mdi-map-search-outline:before{content:"󰦅"}.mdi-mapbox:before{content:"󰮪"}.mdi-margin:before{content:"󰍓"}.mdi-marker:before{content:"󰙒"}.mdi-marker-cancel:before{content:"󰷙"}.mdi-marker-check:before{content:"󰍕"}.mdi-mastodon:before{content:"󰫑"}.mdi-material-design:before{content:"󰦆"}.mdi-material-ui:before{content:"󰍗"}.mdi-math-compass:before{content:"󰍘"}.mdi-math-cos:before{content:"󰲖"}.mdi-math-integral:before{content:"󰿈"}.mdi-math-integral-box:before{content:"󰿉"}.mdi-math-log:before{content:"󱂅"}.mdi-math-norm:before{content:"󰿊"}.mdi-math-norm-box:before{content:"󰿋"}.mdi-math-sin:before{content:"󰲗"}.mdi-math-tan:before{content:"󰲘"}.mdi-matrix:before{content:"󰘨"}.mdi-medal:before{content:"󰦇"}.mdi-medal-outline:before{content:"󱌦"}.mdi-medical-bag:before{content:"󰛯"}.mdi-medical-cotton-swab:before{content:"󱪸"}.mdi-medication:before{content:"󱬔"}.mdi-medication-outline:before{content:"󱬕"}.mdi-meditation:before{content:"󱅻"}.mdi-memory:before{content:"󰍛"}.mdi-memory-arrow-down:before{content:"󱲦"}.mdi-menorah:before{content:"󱟔"}.mdi-menorah-fire:before{content:"󱟕"}.mdi-menu:before{content:"󰍜"}.mdi-menu-close:before{content:"󱲐"}.mdi-menu-down:before{content:"󰍝"}.mdi-menu-down-outline:before{content:"󰚶"}.mdi-menu-left:before{content:"󰍞"}.mdi-menu-left-outline:before{content:"󰨂"}.mdi-menu-open:before{content:"󰮫"}.mdi-menu-right:before{content:"󰍟"}.mdi-menu-right-outline:before{content:"󰨃"}.mdi-menu-swap:before{content:"󰩤"}.mdi-menu-swap-outline:before{content:"󰩥"}.mdi-menu-up:before{content:"󰍠"}.mdi-menu-up-outline:before{content:"󰚷"}.mdi-merge:before{content:"󰽜"}.mdi-message:before{content:"󰍡"}.mdi-message-alert:before{content:"󰍢"}.mdi-message-alert-outline:before{content:"󰨄"}.mdi-message-arrow-left:before{content:"󱋲"}.mdi-message-arrow-left-outline:before{content:"󱋳"}.mdi-message-arrow-right:before{content:"󱋴"}.mdi-message-arrow-right-outline:before{content:"󱋵"}.mdi-message-badge:before{content:"󱥁"}.mdi-message-badge-outline:before{content:"󱥂"}.mdi-message-bookmark:before{content:"󱖬"}.mdi-message-bookmark-outline:before{content:"󱖭"}.mdi-message-bulleted:before{content:"󰚢"}.mdi-message-bulleted-off:before{content:"󰚣"}.mdi-message-check:before{content:"󱮊"}.mdi-message-check-outline:before{content:"󱮋"}.mdi-message-cog:before{content:"󰛱"}.mdi-message-cog-outline:before{content:"󱅲"}.mdi-message-draw:before{content:"󰍣"}.mdi-message-fast:before{content:"󱧌"}.mdi-message-fast-outline:before{content:"󱧍"}.mdi-message-flash:before{content:"󱖩"}.mdi-message-flash-outline:before{content:"󱖪"}.mdi-message-image:before{content:"󰍤"}.mdi-message-image-outline:before{content:"󱅬"}.mdi-message-lock:before{content:"󰿌"}.mdi-message-lock-outline:before{content:"󱅭"}.mdi-message-minus:before{content:"󱅮"}.mdi-message-minus-outline:before{content:"󱅯"}.mdi-message-off:before{content:"󱙍"}.mdi-message-off-outline:before{content:"󱙎"}.mdi-message-outline:before{content:"󰍥"}.mdi-message-plus:before{content:"󰙓"}.mdi-message-plus-outline:before{content:"󱂻"}.mdi-message-processing:before{content:"󰍦"}.mdi-message-processing-outline:before{content:"󱅰"}.mdi-message-question:before{content:"󱜺"}.mdi-message-question-outline:before{content:"󱜻"}.mdi-message-reply:before{content:"󰍧"}.mdi-message-reply-outline:before{content:"󱜽"}.mdi-message-reply-text:before{content:"󰍨"}.mdi-message-reply-text-outline:before{content:"󱜾"}.mdi-message-settings:before{content:"󰛰"}.mdi-message-settings-outline:before{content:"󱅱"}.mdi-message-star:before{content:"󰚚"}.mdi-message-star-outline:before{content:"󱉐"}.mdi-message-text:before{content:"󰍩"}.mdi-message-text-clock:before{content:"󱅳"}.mdi-message-text-clock-outline:before{content:"󱅴"}.mdi-message-text-fast:before{content:"󱧎"}.mdi-message-text-fast-outline:before{content:"󱧏"}.mdi-message-text-lock:before{content:"󰿍"}.mdi-message-text-lock-outline:before{content:"󱅵"}.mdi-message-text-outline:before{content:"󰍪"}.mdi-message-video:before{content:"󰍫"}.mdi-meteor:before{content:"󰘩"}.mdi-meter-electric:before{content:"󱩗"}.mdi-meter-electric-outline:before{content:"󱩘"}.mdi-meter-gas:before{content:"󱩙"}.mdi-meter-gas-outline:before{content:"󱩚"}.mdi-metronome:before{content:"󰟚"}.mdi-metronome-tick:before{content:"󰟛"}.mdi-micro-sd:before{content:"󰟜"}.mdi-microphone:before{content:"󰍬"}.mdi-microphone-message:before{content:"󰔊"}.mdi-microphone-message-off:before{content:"󰔋"}.mdi-microphone-minus:before{content:"󰢳"}.mdi-microphone-off:before{content:"󰍭"}.mdi-microphone-outline:before{content:"󰍮"}.mdi-microphone-plus:before{content:"󰢴"}.mdi-microphone-question:before{content:"󱦉"}.mdi-microphone-question-outline:before{content:"󱦊"}.mdi-microphone-settings:before{content:"󰍯"}.mdi-microphone-variant:before{content:"󰍰"}.mdi-microphone-variant-off:before{content:"󰍱"}.mdi-microscope:before{content:"󰙔"}.mdi-microsoft:before{content:"󰍲"}.mdi-microsoft-access:before{content:"󱎎"}.mdi-microsoft-azure:before{content:"󰠅"}.mdi-microsoft-azure-devops:before{content:"󰿕"}.mdi-microsoft-bing:before{content:"󰂤"}.mdi-microsoft-dynamics-365:before{content:"󰦈"}.mdi-microsoft-edge:before{content:"󰇩"}.mdi-microsoft-excel:before{content:"󱎏"}.mdi-microsoft-internet-explorer:before{content:"󰌀"}.mdi-microsoft-office:before{content:"󰏆"}.mdi-microsoft-onedrive:before{content:"󰏊"}.mdi-microsoft-onenote:before{content:"󰝇"}.mdi-microsoft-outlook:before{content:"󰴢"}.mdi-microsoft-powerpoint:before{content:"󱎐"}.mdi-microsoft-sharepoint:before{content:"󱎑"}.mdi-microsoft-teams:before{content:"󰊻"}.mdi-microsoft-visual-studio:before{content:"󰘐"}.mdi-microsoft-visual-studio-code:before{content:"󰨞"}.mdi-microsoft-windows:before{content:"󰖳"}.mdi-microsoft-windows-classic:before{content:"󰨡"}.mdi-microsoft-word:before{content:"󱎒"}.mdi-microsoft-xbox:before{content:"󰖹"}.mdi-microsoft-xbox-controller:before{content:"󰖺"}.mdi-microsoft-xbox-controller-battery-alert:before{content:"󰝋"}.mdi-microsoft-xbox-controller-battery-charging:before{content:"󰨢"}.mdi-microsoft-xbox-controller-battery-empty:before{content:"󰝌"}.mdi-microsoft-xbox-controller-battery-full:before{content:"󰝍"}.mdi-microsoft-xbox-controller-battery-low:before{content:"󰝎"}.mdi-microsoft-xbox-controller-battery-medium:before{content:"󰝏"}.mdi-microsoft-xbox-controller-battery-unknown:before{content:"󰝐"}.mdi-microsoft-xbox-controller-menu:before{content:"󰹯"}.mdi-microsoft-xbox-controller-off:before{content:"󰖻"}.mdi-microsoft-xbox-controller-view:before{content:"󰹰"}.mdi-microwave:before{content:"󰲙"}.mdi-microwave-off:before{content:"󱐣"}.mdi-middleware:before{content:"󰽝"}.mdi-middleware-outline:before{content:"󰽞"}.mdi-midi:before{content:"󰣱"}.mdi-midi-port:before{content:"󰣲"}.mdi-mine:before{content:"󰷚"}.mdi-minecraft:before{content:"󰍳"}.mdi-mini-sd:before{content:"󰨅"}.mdi-minidisc:before{content:"󰨆"}.mdi-minus:before{content:"󰍴"}.mdi-minus-box:before{content:"󰍵"}.mdi-minus-box-multiple:before{content:"󱅁"}.mdi-minus-box-multiple-outline:before{content:"󱅂"}.mdi-minus-box-outline:before{content:"󰛲"}.mdi-minus-circle:before{content:"󰍶"}.mdi-minus-circle-multiple:before{content:"󰍚"}.mdi-minus-circle-multiple-outline:before{content:"󰫓"}.mdi-minus-circle-off:before{content:"󱑙"}.mdi-minus-circle-off-outline:before{content:"󱑚"}.mdi-minus-circle-outline:before{content:"󰍷"}.mdi-minus-network:before{content:"󰍸"}.mdi-minus-network-outline:before{content:"󰲚"}.mdi-minus-thick:before{content:"󱘹"}.mdi-mirror:before{content:"󱇽"}.mdi-mirror-rectangle:before{content:"󱞟"}.mdi-mirror-variant:before{content:"󱞠"}.mdi-mixed-martial-arts:before{content:"󰶏"}.mdi-mixed-reality:before{content:"󰡿"}.mdi-molecule:before{content:"󰮬"}.mdi-molecule-co:before{content:"󱋾"}.mdi-molecule-co2:before{content:"󰟤"}.mdi-monitor:before{content:"󰍹"}.mdi-monitor-account:before{content:"󱩛"}.mdi-monitor-arrow-down:before{content:"󱧐"}.mdi-monitor-arrow-down-variant:before{content:"󱧑"}.mdi-monitor-cellphone:before{content:"󰦉"}.mdi-monitor-cellphone-star:before{content:"󰦊"}.mdi-monitor-dashboard:before{content:"󰨇"}.mdi-monitor-edit:before{content:"󱋆"}.mdi-monitor-eye:before{content:"󱎴"}.mdi-monitor-lock:before{content:"󰷛"}.mdi-monitor-multiple:before{content:"󰍺"}.mdi-monitor-off:before{content:"󰶐"}.mdi-monitor-screenshot:before{content:"󰹑"}.mdi-monitor-share:before{content:"󱒃"}.mdi-monitor-shimmer:before{content:"󱄄"}.mdi-monitor-small:before{content:"󱡶"}.mdi-monitor-speaker:before{content:"󰽟"}.mdi-monitor-speaker-off:before{content:"󰽠"}.mdi-monitor-star:before{content:"󰷜"}.mdi-monitor-vertical:before{content:"󱰳"}.mdi-moon-first-quarter:before{content:"󰽡"}.mdi-moon-full:before{content:"󰽢"}.mdi-moon-last-quarter:before{content:"󰽣"}.mdi-moon-new:before{content:"󰽤"}.mdi-moon-waning-crescent:before{content:"󰽥"}.mdi-moon-waning-gibbous:before{content:"󰽦"}.mdi-moon-waxing-crescent:before{content:"󰽧"}.mdi-moon-waxing-gibbous:before{content:"󰽨"}.mdi-moped:before{content:"󱂆"}.mdi-moped-electric:before{content:"󱖷"}.mdi-moped-electric-outline:before{content:"󱖸"}.mdi-moped-outline:before{content:"󱖹"}.mdi-more:before{content:"󰍻"}.mdi-mortar-pestle:before{content:"󱝈"}.mdi-mortar-pestle-plus:before{content:"󰏱"}.mdi-mosque:before{content:"󰵅"}.mdi-mosque-outline:before{content:"󱠧"}.mdi-mother-heart:before{content:"󱌔"}.mdi-mother-nurse:before{content:"󰴡"}.mdi-motion:before{content:"󱖲"}.mdi-motion-outline:before{content:"󱖳"}.mdi-motion-pause:before{content:"󱖐"}.mdi-motion-pause-outline:before{content:"󱖒"}.mdi-motion-play:before{content:"󱖏"}.mdi-motion-play-outline:before{content:"󱖑"}.mdi-motion-sensor:before{content:"󰶑"}.mdi-motion-sensor-off:before{content:"󱐵"}.mdi-motorbike:before{content:"󰍼"}.mdi-motorbike-electric:before{content:"󱖺"}.mdi-motorbike-off:before{content:"󱬖"}.mdi-mouse:before{content:"󰍽"}.mdi-mouse-bluetooth:before{content:"󰦋"}.mdi-mouse-left-click:before{content:"󱴇"}.mdi-mouse-left-click-outline:before{content:"󱴈"}.mdi-mouse-move-down:before{content:"󱕐"}.mdi-mouse-move-up:before{content:"󱕑"}.mdi-mouse-move-vertical:before{content:"󱕒"}.mdi-mouse-off:before{content:"󰍾"}.mdi-mouse-outline:before{content:"󱴉"}.mdi-mouse-right-click:before{content:"󱴊"}.mdi-mouse-right-click-outline:before{content:"󱴋"}.mdi-mouse-scroll-wheel:before{content:"󱴌"}.mdi-mouse-variant:before{content:"󰍿"}.mdi-mouse-variant-off:before{content:"󰎀"}.mdi-move-resize:before{content:"󰙕"}.mdi-move-resize-variant:before{content:"󰙖"}.mdi-movie:before{content:"󰎁"}.mdi-movie-check:before{content:"󱛳"}.mdi-movie-check-outline:before{content:"󱛴"}.mdi-movie-cog:before{content:"󱛵"}.mdi-movie-cog-outline:before{content:"󱛶"}.mdi-movie-edit:before{content:"󱄢"}.mdi-movie-edit-outline:before{content:"󱄣"}.mdi-movie-filter:before{content:"󱄤"}.mdi-movie-filter-outline:before{content:"󱄥"}.mdi-movie-minus:before{content:"󱛷"}.mdi-movie-minus-outline:before{content:"󱛸"}.mdi-movie-off:before{content:"󱛹"}.mdi-movie-off-outline:before{content:"󱛺"}.mdi-movie-open:before{content:"󰿎"}.mdi-movie-open-check:before{content:"󱛻"}.mdi-movie-open-check-outline:before{content:"󱛼"}.mdi-movie-open-cog:before{content:"󱛽"}.mdi-movie-open-cog-outline:before{content:"󱛾"}.mdi-movie-open-edit:before{content:"󱛿"}.mdi-movie-open-edit-outline:before{content:"󱜀"}.mdi-movie-open-minus:before{content:"󱜁"}.mdi-movie-open-minus-outline:before{content:"󱜂"}.mdi-movie-open-off:before{content:"󱜃"}.mdi-movie-open-off-outline:before{content:"󱜄"}.mdi-movie-open-outline:before{content:"󰿏"}.mdi-movie-open-play:before{content:"󱜅"}.mdi-movie-open-play-outline:before{content:"󱜆"}.mdi-movie-open-plus:before{content:"󱜇"}.mdi-movie-open-plus-outline:before{content:"󱜈"}.mdi-movie-open-remove:before{content:"󱜉"}.mdi-movie-open-remove-outline:before{content:"󱜊"}.mdi-movie-open-settings:before{content:"󱜋"}.mdi-movie-open-settings-outline:before{content:"󱜌"}.mdi-movie-open-star:before{content:"󱜍"}.mdi-movie-open-star-outline:before{content:"󱜎"}.mdi-movie-outline:before{content:"󰷝"}.mdi-movie-play:before{content:"󱜏"}.mdi-movie-play-outline:before{content:"󱜐"}.mdi-movie-plus:before{content:"󱜑"}.mdi-movie-plus-outline:before{content:"󱜒"}.mdi-movie-remove:before{content:"󱜓"}.mdi-movie-remove-outline:before{content:"󱜔"}.mdi-movie-roll:before{content:"󰟞"}.mdi-movie-search:before{content:"󱇒"}.mdi-movie-search-outline:before{content:"󱇓"}.mdi-movie-settings:before{content:"󱜕"}.mdi-movie-settings-outline:before{content:"󱜖"}.mdi-movie-star:before{content:"󱜗"}.mdi-movie-star-outline:before{content:"󱜘"}.mdi-mower:before{content:"󱙯"}.mdi-mower-bag:before{content:"󱙰"}.mdi-mower-bag-on:before{content:"󱭠"}.mdi-mower-on:before{content:"󱭟"}.mdi-muffin:before{content:"󰦌"}.mdi-multicast:before{content:"󱢓"}.mdi-multimedia:before{content:"󱮗"}.mdi-multiplication:before{content:"󰎂"}.mdi-multiplication-box:before{content:"󰎃"}.mdi-mushroom:before{content:"󰟟"}.mdi-mushroom-off:before{content:"󱏺"}.mdi-mushroom-off-outline:before{content:"󱏻"}.mdi-mushroom-outline:before{content:"󰟠"}.mdi-music:before{content:"󰝚"}.mdi-music-accidental-double-flat:before{content:"󰽩"}.mdi-music-accidental-double-sharp:before{content:"󰽪"}.mdi-music-accidental-flat:before{content:"󰽫"}.mdi-music-accidental-natural:before{content:"󰽬"}.mdi-music-accidental-sharp:before{content:"󰽭"}.mdi-music-box:before{content:"󰎄"}.mdi-music-box-multiple:before{content:"󰌳"}.mdi-music-box-multiple-outline:before{content:"󰼄"}.mdi-music-box-outline:before{content:"󰎅"}.mdi-music-circle:before{content:"󰎆"}.mdi-music-circle-outline:before{content:"󰫔"}.mdi-music-clef-alto:before{content:"󰽮"}.mdi-music-clef-bass:before{content:"󰽯"}.mdi-music-clef-treble:before{content:"󰽰"}.mdi-music-note:before{content:"󰎇"}.mdi-music-note-bluetooth:before{content:"󰗾"}.mdi-music-note-bluetooth-off:before{content:"󰗿"}.mdi-music-note-eighth:before{content:"󰎈"}.mdi-music-note-eighth-dotted:before{content:"󰽱"}.mdi-music-note-half:before{content:"󰎉"}.mdi-music-note-half-dotted:before{content:"󰽲"}.mdi-music-note-minus:before{content:"󱮉"}.mdi-music-note-off:before{content:"󰎊"}.mdi-music-note-off-outline:before{content:"󰽳"}.mdi-music-note-outline:before{content:"󰽴"}.mdi-music-note-plus:before{content:"󰷞"}.mdi-music-note-quarter:before{content:"󰎋"}.mdi-music-note-quarter-dotted:before{content:"󰽵"}.mdi-music-note-sixteenth:before{content:"󰎌"}.mdi-music-note-sixteenth-dotted:before{content:"󰽶"}.mdi-music-note-whole:before{content:"󰎍"}.mdi-music-note-whole-dotted:before{content:"󰽷"}.mdi-music-off:before{content:"󰝛"}.mdi-music-rest-eighth:before{content:"󰽸"}.mdi-music-rest-half:before{content:"󰽹"}.mdi-music-rest-quarter:before{content:"󰽺"}.mdi-music-rest-sixteenth:before{content:"󰽻"}.mdi-music-rest-whole:before{content:"󰽼"}.mdi-mustache:before{content:"󱗞"}.mdi-nail:before{content:"󰷟"}.mdi-nas:before{content:"󰣳"}.mdi-nativescript:before{content:"󰢀"}.mdi-nature:before{content:"󰎎"}.mdi-nature-outline:before{content:"󱱱"}.mdi-nature-people:before{content:"󰎏"}.mdi-nature-people-outline:before{content:"󱱲"}.mdi-navigation:before{content:"󰎐"}.mdi-navigation-outline:before{content:"󱘇"}.mdi-navigation-variant:before{content:"󱣰"}.mdi-navigation-variant-outline:before{content:"󱣱"}.mdi-near-me:before{content:"󰗍"}.mdi-necklace:before{content:"󰼋"}.mdi-needle:before{content:"󰎑"}.mdi-needle-off:before{content:"󱧒"}.mdi-netflix:before{content:"󰝆"}.mdi-network:before{content:"󰛳"}.mdi-network-off:before{content:"󰲛"}.mdi-network-off-outline:before{content:"󰲜"}.mdi-network-outline:before{content:"󰲝"}.mdi-network-pos:before{content:"󱫋"}.mdi-network-strength-1:before{content:"󰣴"}.mdi-network-strength-1-alert:before{content:"󰣵"}.mdi-network-strength-2:before{content:"󰣶"}.mdi-network-strength-2-alert:before{content:"󰣷"}.mdi-network-strength-3:before{content:"󰣸"}.mdi-network-strength-3-alert:before{content:"󰣹"}.mdi-network-strength-4:before{content:"󰣺"}.mdi-network-strength-4-alert:before{content:"󰣻"}.mdi-network-strength-4-cog:before{content:"󱤚"}.mdi-network-strength-off:before{content:"󰣼"}.mdi-network-strength-off-outline:before{content:"󰣽"}.mdi-network-strength-outline:before{content:"󰣾"}.mdi-new-box:before{content:"󰎔"}.mdi-newspaper:before{content:"󰎕"}.mdi-newspaper-check:before{content:"󱥃"}.mdi-newspaper-minus:before{content:"󰼌"}.mdi-newspaper-plus:before{content:"󰼍"}.mdi-newspaper-remove:before{content:"󱥄"}.mdi-newspaper-variant:before{content:"󱀁"}.mdi-newspaper-variant-multiple:before{content:"󱀂"}.mdi-newspaper-variant-multiple-outline:before{content:"󱀃"}.mdi-newspaper-variant-outline:before{content:"󱀄"}.mdi-nfc:before{content:"󰎖"}.mdi-nfc-search-variant:before{content:"󰹓"}.mdi-nfc-tap:before{content:"󰎗"}.mdi-nfc-variant:before{content:"󰎘"}.mdi-nfc-variant-off:before{content:"󰹔"}.mdi-ninja:before{content:"󰝴"}.mdi-nintendo-game-boy:before{content:"󱎓"}.mdi-nintendo-switch:before{content:"󰟡"}.mdi-nintendo-wii:before{content:"󰖫"}.mdi-nintendo-wiiu:before{content:"󰜭"}.mdi-nix:before{content:"󱄅"}.mdi-nodejs:before{content:"󰎙"}.mdi-noodles:before{content:"󱅾"}.mdi-not-equal:before{content:"󰦍"}.mdi-not-equal-variant:before{content:"󰦎"}.mdi-note:before{content:"󰎚"}.mdi-note-alert:before{content:"󱝽"}.mdi-note-alert-outline:before{content:"󱝾"}.mdi-note-check:before{content:"󱝿"}.mdi-note-check-outline:before{content:"󱞀"}.mdi-note-edit:before{content:"󱞁"}.mdi-note-edit-outline:before{content:"󱞂"}.mdi-note-minus:before{content:"󱙏"}.mdi-note-minus-outline:before{content:"󱙐"}.mdi-note-multiple:before{content:"󰚸"}.mdi-note-multiple-outline:before{content:"󰚹"}.mdi-note-off:before{content:"󱞃"}.mdi-note-off-outline:before{content:"󱞄"}.mdi-note-outline:before{content:"󰎛"}.mdi-note-plus:before{content:"󰎜"}.mdi-note-plus-outline:before{content:"󰎝"}.mdi-note-remove:before{content:"󱙑"}.mdi-note-remove-outline:before{content:"󱙒"}.mdi-note-search:before{content:"󱙓"}.mdi-note-search-outline:before{content:"󱙔"}.mdi-note-text:before{content:"󰎞"}.mdi-note-text-outline:before{content:"󱇗"}.mdi-notebook:before{content:"󰠮"}.mdi-notebook-check:before{content:"󱓵"}.mdi-notebook-check-outline:before{content:"󱓶"}.mdi-notebook-edit:before{content:"󱓧"}.mdi-notebook-edit-outline:before{content:"󱓩"}.mdi-notebook-heart:before{content:"󱨋"}.mdi-notebook-heart-outline:before{content:"󱨌"}.mdi-notebook-minus:before{content:"󱘐"}.mdi-notebook-minus-outline:before{content:"󱘑"}.mdi-notebook-multiple:before{content:"󰹕"}.mdi-notebook-outline:before{content:"󰺿"}.mdi-notebook-plus:before{content:"󱘒"}.mdi-notebook-plus-outline:before{content:"󱘓"}.mdi-notebook-remove:before{content:"󱘔"}.mdi-notebook-remove-outline:before{content:"󱘕"}.mdi-notification-clear-all:before{content:"󰎟"}.mdi-npm:before{content:"󰛷"}.mdi-nuke:before{content:"󰚤"}.mdi-null:before{content:"󰟢"}.mdi-numeric:before{content:"󰎠"}.mdi-numeric-0:before{content:"󰬹"}.mdi-numeric-0-box:before{content:"󰎡"}.mdi-numeric-0-box-multiple:before{content:"󰼎"}.mdi-numeric-0-box-multiple-outline:before{content:"󰎢"}.mdi-numeric-0-box-outline:before{content:"󰎣"}.mdi-numeric-0-circle:before{content:"󰲞"}.mdi-numeric-0-circle-outline:before{content:"󰲟"}.mdi-numeric-1:before{content:"󰬺"}.mdi-numeric-1-box:before{content:"󰎤"}.mdi-numeric-1-box-multiple:before{content:"󰼏"}.mdi-numeric-1-box-multiple-outline:before{content:"󰎥"}.mdi-numeric-1-box-outline:before{content:"󰎦"}.mdi-numeric-1-circle:before{content:"󰲠"}.mdi-numeric-1-circle-outline:before{content:"󰲡"}.mdi-numeric-10:before{content:"󰿩"}.mdi-numeric-10-box:before{content:"󰽽"}.mdi-numeric-10-box-multiple:before{content:"󰿪"}.mdi-numeric-10-box-multiple-outline:before{content:"󰿫"}.mdi-numeric-10-box-outline:before{content:"󰽾"}.mdi-numeric-10-circle:before{content:"󰿬"}.mdi-numeric-10-circle-outline:before{content:"󰿭"}.mdi-numeric-2:before{content:"󰬻"}.mdi-numeric-2-box:before{content:"󰎧"}.mdi-numeric-2-box-multiple:before{content:"󰼐"}.mdi-numeric-2-box-multiple-outline:before{content:"󰎨"}.mdi-numeric-2-box-outline:before{content:"󰎩"}.mdi-numeric-2-circle:before{content:"󰲢"}.mdi-numeric-2-circle-outline:before{content:"󰲣"}.mdi-numeric-3:before{content:"󰬼"}.mdi-numeric-3-box:before{content:"󰎪"}.mdi-numeric-3-box-multiple:before{content:"󰼑"}.mdi-numeric-3-box-multiple-outline:before{content:"󰎫"}.mdi-numeric-3-box-outline:before{content:"󰎬"}.mdi-numeric-3-circle:before{content:"󰲤"}.mdi-numeric-3-circle-outline:before{content:"󰲥"}.mdi-numeric-4:before{content:"󰬽"}.mdi-numeric-4-box:before{content:"󰎭"}.mdi-numeric-4-box-multiple:before{content:"󰼒"}.mdi-numeric-4-box-multiple-outline:before{content:"󰎲"}.mdi-numeric-4-box-outline:before{content:"󰎮"}.mdi-numeric-4-circle:before{content:"󰲦"}.mdi-numeric-4-circle-outline:before{content:"󰲧"}.mdi-numeric-5:before{content:"󰬾"}.mdi-numeric-5-box:before{content:"󰎱"}.mdi-numeric-5-box-multiple:before{content:"󰼓"}.mdi-numeric-5-box-multiple-outline:before{content:"󰎯"}.mdi-numeric-5-box-outline:before{content:"󰎰"}.mdi-numeric-5-circle:before{content:"󰲨"}.mdi-numeric-5-circle-outline:before{content:"󰲩"}.mdi-numeric-6:before{content:"󰬿"}.mdi-numeric-6-box:before{content:"󰎳"}.mdi-numeric-6-box-multiple:before{content:"󰼔"}.mdi-numeric-6-box-multiple-outline:before{content:"󰎴"}.mdi-numeric-6-box-outline:before{content:"󰎵"}.mdi-numeric-6-circle:before{content:"󰲪"}.mdi-numeric-6-circle-outline:before{content:"󰲫"}.mdi-numeric-7:before{content:"󰭀"}.mdi-numeric-7-box:before{content:"󰎶"}.mdi-numeric-7-box-multiple:before{content:"󰼕"}.mdi-numeric-7-box-multiple-outline:before{content:"󰎷"}.mdi-numeric-7-box-outline:before{content:"󰎸"}.mdi-numeric-7-circle:before{content:"󰲬"}.mdi-numeric-7-circle-outline:before{content:"󰲭"}.mdi-numeric-8:before{content:"󰭁"}.mdi-numeric-8-box:before{content:"󰎹"}.mdi-numeric-8-box-multiple:before{content:"󰼖"}.mdi-numeric-8-box-multiple-outline:before{content:"󰎺"}.mdi-numeric-8-box-outline:before{content:"󰎻"}.mdi-numeric-8-circle:before{content:"󰲮"}.mdi-numeric-8-circle-outline:before{content:"󰲯"}.mdi-numeric-9:before{content:"󰭂"}.mdi-numeric-9-box:before{content:"󰎼"}.mdi-numeric-9-box-multiple:before{content:"󰼗"}.mdi-numeric-9-box-multiple-outline:before{content:"󰎽"}.mdi-numeric-9-box-outline:before{content:"󰎾"}.mdi-numeric-9-circle:before{content:"󰲰"}.mdi-numeric-9-circle-outline:before{content:"󰲱"}.mdi-numeric-9-plus:before{content:"󰿮"}.mdi-numeric-9-plus-box:before{content:"󰎿"}.mdi-numeric-9-plus-box-multiple:before{content:"󰼘"}.mdi-numeric-9-plus-box-multiple-outline:before{content:"󰏀"}.mdi-numeric-9-plus-box-outline:before{content:"󰏁"}.mdi-numeric-9-plus-circle:before{content:"󰲲"}.mdi-numeric-9-plus-circle-outline:before{content:"󰲳"}.mdi-numeric-negative-1:before{content:"󱁒"}.mdi-numeric-off:before{content:"󱧓"}.mdi-numeric-positive-1:before{content:"󱗋"}.mdi-nut:before{content:"󰛸"}.mdi-nutrition:before{content:"󰏂"}.mdi-nuxt:before{content:"󱄆"}.mdi-oar:before{content:"󰙼"}.mdi-ocarina:before{content:"󰷠"}.mdi-oci:before{content:"󱋩"}.mdi-ocr:before{content:"󱄺"}.mdi-octagon:before{content:"󰏃"}.mdi-octagon-outline:before{content:"󰏄"}.mdi-octagram:before{content:"󰛹"}.mdi-octagram-edit:before{content:"󱰴"}.mdi-octagram-edit-outline:before{content:"󱰵"}.mdi-octagram-minus:before{content:"󱰶"}.mdi-octagram-minus-outline:before{content:"󱰷"}.mdi-octagram-outline:before{content:"󰝵"}.mdi-octagram-plus:before{content:"󱰸"}.mdi-octagram-plus-outline:before{content:"󱰹"}.mdi-octahedron:before{content:"󱥐"}.mdi-octahedron-off:before{content:"󱥑"}.mdi-odnoklassniki:before{content:"󰏅"}.mdi-offer:before{content:"󱈛"}.mdi-office-building:before{content:"󰦑"}.mdi-office-building-cog:before{content:"󱥉"}.mdi-office-building-cog-outline:before{content:"󱥊"}.mdi-office-building-marker:before{content:"󱔠"}.mdi-office-building-marker-outline:before{content:"󱔡"}.mdi-office-building-minus:before{content:"󱮪"}.mdi-office-building-minus-outline:before{content:"󱮫"}.mdi-office-building-outline:before{content:"󱔟"}.mdi-office-building-plus:before{content:"󱮨"}.mdi-office-building-plus-outline:before{content:"󱮩"}.mdi-office-building-remove:before{content:"󱮬"}.mdi-office-building-remove-outline:before{content:"󱮭"}.mdi-oil:before{content:"󰏇"}.mdi-oil-lamp:before{content:"󰼙"}.mdi-oil-level:before{content:"󱁓"}.mdi-oil-temperature:before{content:"󰿸"}.mdi-om:before{content:"󰥳"}.mdi-omega:before{content:"󰏉"}.mdi-one-up:before{content:"󰮭"}.mdi-onepassword:before{content:"󰢁"}.mdi-opacity:before{content:"󰗌"}.mdi-open-in-app:before{content:"󰏋"}.mdi-open-in-new:before{content:"󰏌"}.mdi-open-source-initiative:before{content:"󰮮"}.mdi-openid:before{content:"󰏍"}.mdi-opera:before{content:"󰏎"}.mdi-orbit:before{content:"󰀘"}.mdi-orbit-variant:before{content:"󱗛"}.mdi-order-alphabetical-ascending:before{content:"󰈍"}.mdi-order-alphabetical-descending:before{content:"󰴇"}.mdi-order-bool-ascending:before{content:"󰊾"}.mdi-order-bool-ascending-variant:before{content:"󰦏"}.mdi-order-bool-descending:before{content:"󱎄"}.mdi-order-bool-descending-variant:before{content:"󰦐"}.mdi-order-numeric-ascending:before{content:"󰕅"}.mdi-order-numeric-descending:before{content:"󰕆"}.mdi-origin:before{content:"󰭃"}.mdi-ornament:before{content:"󰏏"}.mdi-ornament-variant:before{content:"󰏐"}.mdi-outdoor-lamp:before{content:"󱁔"}.mdi-overscan:before{content:"󱀅"}.mdi-owl:before{content:"󰏒"}.mdi-pac-man:before{content:"󰮯"}.mdi-package:before{content:"󰏓"}.mdi-package-check:before{content:"󱭑"}.mdi-package-down:before{content:"󰏔"}.mdi-package-up:before{content:"󰏕"}.mdi-package-variant:before{content:"󰏖"}.mdi-package-variant-closed:before{content:"󰏗"}.mdi-package-variant-closed-check:before{content:"󱭒"}.mdi-package-variant-closed-minus:before{content:"󱧔"}.mdi-package-variant-closed-plus:before{content:"󱧕"}.mdi-package-variant-closed-remove:before{content:"󱧖"}.mdi-package-variant-minus:before{content:"󱧗"}.mdi-package-variant-plus:before{content:"󱧘"}.mdi-package-variant-remove:before{content:"󱧙"}.mdi-page-first:before{content:"󰘀"}.mdi-page-last:before{content:"󰘁"}.mdi-page-layout-body:before{content:"󰛺"}.mdi-page-layout-footer:before{content:"󰛻"}.mdi-page-layout-header:before{content:"󰛼"}.mdi-page-layout-header-footer:before{content:"󰽿"}.mdi-page-layout-sidebar-left:before{content:"󰛽"}.mdi-page-layout-sidebar-right:before{content:"󰛾"}.mdi-page-next:before{content:"󰮰"}.mdi-page-next-outline:before{content:"󰮱"}.mdi-page-previous:before{content:"󰮲"}.mdi-page-previous-outline:before{content:"󰮳"}.mdi-pail:before{content:"󱐗"}.mdi-pail-minus:before{content:"󱐷"}.mdi-pail-minus-outline:before{content:"󱐼"}.mdi-pail-off:before{content:"󱐹"}.mdi-pail-off-outline:before{content:"󱐾"}.mdi-pail-outline:before{content:"󱐺"}.mdi-pail-plus:before{content:"󱐶"}.mdi-pail-plus-outline:before{content:"󱐻"}.mdi-pail-remove:before{content:"󱐸"}.mdi-pail-remove-outline:before{content:"󱐽"}.mdi-palette:before{content:"󰏘"}.mdi-palette-advanced:before{content:"󰏙"}.mdi-palette-outline:before{content:"󰸌"}.mdi-palette-swatch:before{content:"󰢵"}.mdi-palette-swatch-outline:before{content:"󱍜"}.mdi-palette-swatch-variant:before{content:"󱥚"}.mdi-palm-tree:before{content:"󱁕"}.mdi-pan:before{content:"󰮴"}.mdi-pan-bottom-left:before{content:"󰮵"}.mdi-pan-bottom-right:before{content:"󰮶"}.mdi-pan-down:before{content:"󰮷"}.mdi-pan-horizontal:before{content:"󰮸"}.mdi-pan-left:before{content:"󰮹"}.mdi-pan-right:before{content:"󰮺"}.mdi-pan-top-left:before{content:"󰮻"}.mdi-pan-top-right:before{content:"󰮼"}.mdi-pan-up:before{content:"󰮽"}.mdi-pan-vertical:before{content:"󰮾"}.mdi-panda:before{content:"󰏚"}.mdi-pandora:before{content:"󰏛"}.mdi-panorama:before{content:"󰏜"}.mdi-panorama-fisheye:before{content:"󰏝"}.mdi-panorama-horizontal:before{content:"󱤨"}.mdi-panorama-horizontal-outline:before{content:"󰏞"}.mdi-panorama-outline:before{content:"󱦌"}.mdi-panorama-sphere:before{content:"󱦍"}.mdi-panorama-sphere-outline:before{content:"󱦎"}.mdi-panorama-variant:before{content:"󱦏"}.mdi-panorama-variant-outline:before{content:"󱦐"}.mdi-panorama-vertical:before{content:"󱤩"}.mdi-panorama-vertical-outline:before{content:"󰏟"}.mdi-panorama-wide-angle:before{content:"󱥟"}.mdi-panorama-wide-angle-outline:before{content:"󰏠"}.mdi-paper-cut-vertical:before{content:"󰏡"}.mdi-paper-roll:before{content:"󱅗"}.mdi-paper-roll-outline:before{content:"󱅘"}.mdi-paperclip:before{content:"󰏢"}.mdi-paperclip-check:before{content:"󱫆"}.mdi-paperclip-lock:before{content:"󱧚"}.mdi-paperclip-minus:before{content:"󱫇"}.mdi-paperclip-off:before{content:"󱫈"}.mdi-paperclip-plus:before{content:"󱫉"}.mdi-paperclip-remove:before{content:"󱫊"}.mdi-parachute:before{content:"󰲴"}.mdi-parachute-outline:before{content:"󰲵"}.mdi-paragliding:before{content:"󱝅"}.mdi-parking:before{content:"󰏣"}.mdi-party-popper:before{content:"󱁖"}.mdi-passport:before{content:"󰟣"}.mdi-passport-alert:before{content:"󱲸"}.mdi-passport-biometric:before{content:"󰷡"}.mdi-passport-cancel:before{content:"󱲹"}.mdi-passport-check:before{content:"󱲺"}.mdi-passport-minus:before{content:"󱲻"}.mdi-passport-plus:before{content:"󱲼"}.mdi-passport-remove:before{content:"󱲽"}.mdi-pasta:before{content:"󱅠"}.mdi-patio-heater:before{content:"󰾀"}.mdi-patreon:before{content:"󰢂"}.mdi-pause:before{content:"󰏤"}.mdi-pause-box:before{content:"󰂼"}.mdi-pause-box-outline:before{content:"󱭺"}.mdi-pause-circle:before{content:"󰏥"}.mdi-pause-circle-outline:before{content:"󰏦"}.mdi-pause-octagon:before{content:"󰏧"}.mdi-pause-octagon-outline:before{content:"󰏨"}.mdi-paw:before{content:"󰏩"}.mdi-paw-off:before{content:"󰙗"}.mdi-paw-off-outline:before{content:"󱙶"}.mdi-paw-outline:before{content:"󱙵"}.mdi-peace:before{content:"󰢄"}.mdi-peanut:before{content:"󰿼"}.mdi-peanut-off:before{content:"󰿽"}.mdi-peanut-off-outline:before{content:"󰿿"}.mdi-peanut-outline:before{content:"󰿾"}.mdi-pen:before{content:"󰏪"}.mdi-pen-lock:before{content:"󰷢"}.mdi-pen-minus:before{content:"󰷣"}.mdi-pen-off:before{content:"󰷤"}.mdi-pen-plus:before{content:"󰷥"}.mdi-pen-remove:before{content:"󰷦"}.mdi-pencil:before{content:"󰏫"}.mdi-pencil-box:before{content:"󰏬"}.mdi-pencil-box-multiple:before{content:"󱅄"}.mdi-pencil-box-multiple-outline:before{content:"󱅅"}.mdi-pencil-box-outline:before{content:"󰏭"}.mdi-pencil-circle:before{content:"󰛿"}.mdi-pencil-circle-outline:before{content:"󰝶"}.mdi-pencil-lock:before{content:"󰏮"}.mdi-pencil-lock-outline:before{content:"󰷧"}.mdi-pencil-minus:before{content:"󰷨"}.mdi-pencil-minus-outline:before{content:"󰷩"}.mdi-pencil-off:before{content:"󰏯"}.mdi-pencil-off-outline:before{content:"󰷪"}.mdi-pencil-outline:before{content:"󰲶"}.mdi-pencil-plus:before{content:"󰷫"}.mdi-pencil-plus-outline:before{content:"󰷬"}.mdi-pencil-remove:before{content:"󰷭"}.mdi-pencil-remove-outline:before{content:"󰷮"}.mdi-pencil-ruler:before{content:"󱍓"}.mdi-pencil-ruler-outline:before{content:"󱰑"}.mdi-penguin:before{content:"󰻀"}.mdi-pentagon:before{content:"󰜁"}.mdi-pentagon-outline:before{content:"󰜀"}.mdi-pentagram:before{content:"󱙧"}.mdi-percent:before{content:"󰏰"}.mdi-percent-box:before{content:"󱨂"}.mdi-percent-box-outline:before{content:"󱨃"}.mdi-percent-circle:before{content:"󱨄"}.mdi-percent-circle-outline:before{content:"󱨅"}.mdi-percent-outline:before{content:"󱉸"}.mdi-periodic-table:before{content:"󰢶"}.mdi-perspective-less:before{content:"󰴣"}.mdi-perspective-more:before{content:"󰴤"}.mdi-ph:before{content:"󱟅"}.mdi-phone:before{content:"󰏲"}.mdi-phone-alert:before{content:"󰼚"}.mdi-phone-alert-outline:before{content:"󱆎"}.mdi-phone-bluetooth:before{content:"󰏳"}.mdi-phone-bluetooth-outline:before{content:"󱆏"}.mdi-phone-cancel:before{content:"󱂼"}.mdi-phone-cancel-outline:before{content:"󱆐"}.mdi-phone-check:before{content:"󱆩"}.mdi-phone-check-outline:before{content:"󱆪"}.mdi-phone-classic:before{content:"󰘂"}.mdi-phone-classic-off:before{content:"󱉹"}.mdi-phone-clock:before{content:"󱧛"}.mdi-phone-dial:before{content:"󱕙"}.mdi-phone-dial-outline:before{content:"󱕚"}.mdi-phone-forward:before{content:"󰏴"}.mdi-phone-forward-outline:before{content:"󱆑"}.mdi-phone-hangup:before{content:"󰏵"}.mdi-phone-hangup-outline:before{content:"󱆒"}.mdi-phone-in-talk:before{content:"󰏶"}.mdi-phone-in-talk-outline:before{content:"󱆂"}.mdi-phone-incoming:before{content:"󰏷"}.mdi-phone-incoming-outgoing:before{content:"󱬿"}.mdi-phone-incoming-outgoing-outline:before{content:"󱭀"}.mdi-phone-incoming-outline:before{content:"󱆓"}.mdi-phone-lock:before{content:"󰏸"}.mdi-phone-lock-outline:before{content:"󱆔"}.mdi-phone-log:before{content:"󰏹"}.mdi-phone-log-outline:before{content:"󱆕"}.mdi-phone-message:before{content:"󱆖"}.mdi-phone-message-outline:before{content:"󱆗"}.mdi-phone-minus:before{content:"󰙘"}.mdi-phone-minus-outline:before{content:"󱆘"}.mdi-phone-missed:before{content:"󰏺"}.mdi-phone-missed-outline:before{content:"󱆥"}.mdi-phone-off:before{content:"󰷯"}.mdi-phone-off-outline:before{content:"󱆦"}.mdi-phone-outgoing:before{content:"󰏻"}.mdi-phone-outgoing-outline:before{content:"󱆙"}.mdi-phone-outline:before{content:"󰷰"}.mdi-phone-paused:before{content:"󰏼"}.mdi-phone-paused-outline:before{content:"󱆚"}.mdi-phone-plus:before{content:"󰙙"}.mdi-phone-plus-outline:before{content:"󱆛"}.mdi-phone-refresh:before{content:"󱦓"}.mdi-phone-refresh-outline:before{content:"󱦔"}.mdi-phone-remove:before{content:"󱔯"}.mdi-phone-remove-outline:before{content:"󱔰"}.mdi-phone-return:before{content:"󰠯"}.mdi-phone-return-outline:before{content:"󱆜"}.mdi-phone-ring:before{content:"󱆫"}.mdi-phone-ring-outline:before{content:"󱆬"}.mdi-phone-rotate-landscape:before{content:"󰢅"}.mdi-phone-rotate-portrait:before{content:"󰢆"}.mdi-phone-settings:before{content:"󰏽"}.mdi-phone-settings-outline:before{content:"󱆝"}.mdi-phone-sync:before{content:"󱦕"}.mdi-phone-sync-outline:before{content:"󱦖"}.mdi-phone-voip:before{content:"󰏾"}.mdi-pi:before{content:"󰏿"}.mdi-pi-box:before{content:"󰐀"}.mdi-pi-hole:before{content:"󰷱"}.mdi-piano:before{content:"󰙽"}.mdi-piano-off:before{content:"󰚘"}.mdi-pickaxe:before{content:"󰢷"}.mdi-picture-in-picture-bottom-right:before{content:"󰹗"}.mdi-picture-in-picture-bottom-right-outline:before{content:"󰹘"}.mdi-picture-in-picture-top-right:before{content:"󰹙"}.mdi-picture-in-picture-top-right-outline:before{content:"󰹚"}.mdi-pier:before{content:"󰢇"}.mdi-pier-crane:before{content:"󰢈"}.mdi-pig:before{content:"󰐁"}.mdi-pig-variant:before{content:"󱀆"}.mdi-pig-variant-outline:before{content:"󱙸"}.mdi-piggy-bank:before{content:"󱀇"}.mdi-piggy-bank-outline:before{content:"󱙹"}.mdi-pill:before{content:"󰐂"}.mdi-pill-multiple:before{content:"󱭌"}.mdi-pill-off:before{content:"󱩜"}.mdi-pillar:before{content:"󰜂"}.mdi-pin:before{content:"󰐃"}.mdi-pin-off:before{content:"󰐄"}.mdi-pin-off-outline:before{content:"󰤰"}.mdi-pin-outline:before{content:"󰤱"}.mdi-pine-tree:before{content:"󰐅"}.mdi-pine-tree-box:before{content:"󰐆"}.mdi-pine-tree-fire:before{content:"󱐚"}.mdi-pine-tree-variant:before{content:"󱱳"}.mdi-pine-tree-variant-outline:before{content:"󱱴"}.mdi-pinterest:before{content:"󰐇"}.mdi-pinwheel:before{content:"󰫕"}.mdi-pinwheel-outline:before{content:"󰫖"}.mdi-pipe:before{content:"󰟥"}.mdi-pipe-disconnected:before{content:"󰟦"}.mdi-pipe-leak:before{content:"󰢉"}.mdi-pipe-valve:before{content:"󱡍"}.mdi-pipe-wrench:before{content:"󱍔"}.mdi-pirate:before{content:"󰨈"}.mdi-pistol:before{content:"󰜃"}.mdi-piston:before{content:"󰢊"}.mdi-pitchfork:before{content:"󱕓"}.mdi-pizza:before{content:"󰐉"}.mdi-plane-car:before{content:"󱫿"}.mdi-plane-train:before{content:"󱬀"}.mdi-play:before{content:"󰐊"}.mdi-play-box:before{content:"󱉺"}.mdi-play-box-edit-outline:before{content:"󱰺"}.mdi-play-box-lock:before{content:"󱨖"}.mdi-play-box-lock-open:before{content:"󱨗"}.mdi-play-box-lock-open-outline:before{content:"󱨘"}.mdi-play-box-lock-outline:before{content:"󱨙"}.mdi-play-box-multiple:before{content:"󰴙"}.mdi-play-box-multiple-outline:before{content:"󱏦"}.mdi-play-box-outline:before{content:"󰐋"}.mdi-play-circle:before{content:"󰐌"}.mdi-play-circle-outline:before{content:"󰐍"}.mdi-play-network:before{content:"󰢋"}.mdi-play-network-outline:before{content:"󰲷"}.mdi-play-outline:before{content:"󰼛"}.mdi-play-pause:before{content:"󰐎"}.mdi-play-protected-content:before{content:"󰐏"}.mdi-play-speed:before{content:"󰣿"}.mdi-playlist-check:before{content:"󰗇"}.mdi-playlist-edit:before{content:"󰤀"}.mdi-playlist-minus:before{content:"󰐐"}.mdi-playlist-music:before{content:"󰲸"}.mdi-playlist-music-outline:before{content:"󰲹"}.mdi-playlist-play:before{content:"󰐑"}.mdi-playlist-plus:before{content:"󰐒"}.mdi-playlist-remove:before{content:"󰐓"}.mdi-playlist-star:before{content:"󰷲"}.mdi-plex:before{content:"󰚺"}.mdi-pliers:before{content:"󱦤"}.mdi-plus:before{content:"󰐕"}.mdi-plus-box:before{content:"󰐖"}.mdi-plus-box-multiple:before{content:"󰌴"}.mdi-plus-box-multiple-outline:before{content:"󱅃"}.mdi-plus-box-outline:before{content:"󰜄"}.mdi-plus-circle:before{content:"󰐗"}.mdi-plus-circle-multiple:before{content:"󰍌"}.mdi-plus-circle-multiple-outline:before{content:"󰐘"}.mdi-plus-circle-outline:before{content:"󰐙"}.mdi-plus-lock:before{content:"󱩝"}.mdi-plus-lock-open:before{content:"󱩞"}.mdi-plus-minus:before{content:"󰦒"}.mdi-plus-minus-box:before{content:"󰦓"}.mdi-plus-minus-variant:before{content:"󱓉"}.mdi-plus-network:before{content:"󰐚"}.mdi-plus-network-outline:before{content:"󰲺"}.mdi-plus-outline:before{content:"󰜅"}.mdi-plus-thick:before{content:"󱇬"}.mdi-pocket:before{content:"󱲾"}.mdi-podcast:before{content:"󰦔"}.mdi-podium:before{content:"󰴥"}.mdi-podium-bronze:before{content:"󰴦"}.mdi-podium-gold:before{content:"󰴧"}.mdi-podium-silver:before{content:"󰴨"}.mdi-point-of-sale:before{content:"󰶒"}.mdi-pokeball:before{content:"󰐝"}.mdi-pokemon-go:before{content:"󰨉"}.mdi-poker-chip:before{content:"󰠰"}.mdi-polaroid:before{content:"󰐞"}.mdi-police-badge:before{content:"󱅧"}.mdi-police-badge-outline:before{content:"󱅨"}.mdi-police-station:before{content:"󱠹"}.mdi-poll:before{content:"󰐟"}.mdi-polo:before{content:"󱓃"}.mdi-polymer:before{content:"󰐡"}.mdi-pool:before{content:"󰘆"}.mdi-pool-thermometer:before{content:"󱩟"}.mdi-popcorn:before{content:"󰐢"}.mdi-post:before{content:"󱀈"}.mdi-post-lamp:before{content:"󱩠"}.mdi-post-outline:before{content:"󱀉"}.mdi-postage-stamp:before{content:"󰲻"}.mdi-pot:before{content:"󰋥"}.mdi-pot-mix:before{content:"󰙛"}.mdi-pot-mix-outline:before{content:"󰙷"}.mdi-pot-outline:before{content:"󰋿"}.mdi-pot-steam:before{content:"󰙚"}.mdi-pot-steam-outline:before{content:"󰌦"}.mdi-pound:before{content:"󰐣"}.mdi-pound-box:before{content:"󰐤"}.mdi-pound-box-outline:before{content:"󱅿"}.mdi-power:before{content:"󰐥"}.mdi-power-cycle:before{content:"󰤁"}.mdi-power-off:before{content:"󰤂"}.mdi-power-on:before{content:"󰤃"}.mdi-power-plug:before{content:"󰚥"}.mdi-power-plug-battery:before{content:"󱰻"}.mdi-power-plug-battery-outline:before{content:"󱰼"}.mdi-power-plug-off:before{content:"󰚦"}.mdi-power-plug-off-outline:before{content:"󱐤"}.mdi-power-plug-outline:before{content:"󱐥"}.mdi-power-settings:before{content:"󰐦"}.mdi-power-sleep:before{content:"󰤄"}.mdi-power-socket:before{content:"󰐧"}.mdi-power-socket-au:before{content:"󰤅"}.mdi-power-socket-ch:before{content:"󰾳"}.mdi-power-socket-de:before{content:"󱄇"}.mdi-power-socket-eu:before{content:"󰟧"}.mdi-power-socket-fr:before{content:"󱄈"}.mdi-power-socket-it:before{content:"󱓿"}.mdi-power-socket-jp:before{content:"󱄉"}.mdi-power-socket-uk:before{content:"󰟨"}.mdi-power-socket-us:before{content:"󰟩"}.mdi-power-standby:before{content:"󰤆"}.mdi-powershell:before{content:"󰨊"}.mdi-prescription:before{content:"󰜆"}.mdi-presentation:before{content:"󰐨"}.mdi-presentation-play:before{content:"󰐩"}.mdi-pretzel:before{content:"󱕢"}.mdi-printer:before{content:"󰐪"}.mdi-printer-3d:before{content:"󰐫"}.mdi-printer-3d-nozzle:before{content:"󰹛"}.mdi-printer-3d-nozzle-alert:before{content:"󱇀"}.mdi-printer-3d-nozzle-alert-outline:before{content:"󱇁"}.mdi-printer-3d-nozzle-heat:before{content:"󱢸"}.mdi-printer-3d-nozzle-heat-outline:before{content:"󱢹"}.mdi-printer-3d-nozzle-off:before{content:"󱬙"}.mdi-printer-3d-nozzle-off-outline:before{content:"󱬚"}.mdi-printer-3d-nozzle-outline:before{content:"󰹜"}.mdi-printer-3d-off:before{content:"󱬎"}.mdi-printer-alert:before{content:"󰐬"}.mdi-printer-check:before{content:"󱅆"}.mdi-printer-eye:before{content:"󱑘"}.mdi-printer-off:before{content:"󰹝"}.mdi-printer-off-outline:before{content:"󱞅"}.mdi-printer-outline:before{content:"󱞆"}.mdi-printer-pos:before{content:"󱁗"}.mdi-printer-pos-alert:before{content:"󱮼"}.mdi-printer-pos-alert-outline:before{content:"󱮽"}.mdi-printer-pos-cancel:before{content:"󱮾"}.mdi-printer-pos-cancel-outline:before{content:"󱮿"}.mdi-printer-pos-check:before{content:"󱯀"}.mdi-printer-pos-check-outline:before{content:"󱯁"}.mdi-printer-pos-cog:before{content:"󱯂"}.mdi-printer-pos-cog-outline:before{content:"󱯃"}.mdi-printer-pos-edit:before{content:"󱯄"}.mdi-printer-pos-edit-outline:before{content:"󱯅"}.mdi-printer-pos-minus:before{content:"󱯆"}.mdi-printer-pos-minus-outline:before{content:"󱯇"}.mdi-printer-pos-network:before{content:"󱯈"}.mdi-printer-pos-network-outline:before{content:"󱯉"}.mdi-printer-pos-off:before{content:"󱯊"}.mdi-printer-pos-off-outline:before{content:"󱯋"}.mdi-printer-pos-outline:before{content:"󱯌"}.mdi-printer-pos-pause:before{content:"󱯍"}.mdi-printer-pos-pause-outline:before{content:"󱯎"}.mdi-printer-pos-play:before{content:"󱯏"}.mdi-printer-pos-play-outline:before{content:"󱯐"}.mdi-printer-pos-plus:before{content:"󱯑"}.mdi-printer-pos-plus-outline:before{content:"󱯒"}.mdi-printer-pos-refresh:before{content:"󱯓"}.mdi-printer-pos-refresh-outline:before{content:"󱯔"}.mdi-printer-pos-remove:before{content:"󱯕"}.mdi-printer-pos-remove-outline:before{content:"󱯖"}.mdi-printer-pos-star:before{content:"󱯗"}.mdi-printer-pos-star-outline:before{content:"󱯘"}.mdi-printer-pos-stop:before{content:"󱯙"}.mdi-printer-pos-stop-outline:before{content:"󱯚"}.mdi-printer-pos-sync:before{content:"󱯛"}.mdi-printer-pos-sync-outline:before{content:"󱯜"}.mdi-printer-pos-wrench:before{content:"󱯝"}.mdi-printer-pos-wrench-outline:before{content:"󱯞"}.mdi-printer-search:before{content:"󱑗"}.mdi-printer-settings:before{content:"󰜇"}.mdi-printer-wireless:before{content:"󰨋"}.mdi-priority-high:before{content:"󰘃"}.mdi-priority-low:before{content:"󰘄"}.mdi-professional-hexagon:before{content:"󰐭"}.mdi-progress-alert:before{content:"󰲼"}.mdi-progress-check:before{content:"󰦕"}.mdi-progress-clock:before{content:"󰦖"}.mdi-progress-close:before{content:"󱄊"}.mdi-progress-download:before{content:"󰦗"}.mdi-progress-helper:before{content:"󱮢"}.mdi-progress-pencil:before{content:"󱞇"}.mdi-progress-question:before{content:"󱔢"}.mdi-progress-star:before{content:"󱞈"}.mdi-progress-star-four-points:before{content:"󱰽"}.mdi-progress-tag:before{content:"󱴍"}.mdi-progress-upload:before{content:"󰦘"}.mdi-progress-wrench:before{content:"󰲽"}.mdi-projector:before{content:"󰐮"}.mdi-projector-off:before{content:"󱨣"}.mdi-projector-screen:before{content:"󰐯"}.mdi-projector-screen-off:before{content:"󱠍"}.mdi-projector-screen-off-outline:before{content:"󱠎"}.mdi-projector-screen-outline:before{content:"󱜤"}.mdi-projector-screen-variant:before{content:"󱠏"}.mdi-projector-screen-variant-off:before{content:"󱠐"}.mdi-projector-screen-variant-off-outline:before{content:"󱠑"}.mdi-projector-screen-variant-outline:before{content:"󱠒"}.mdi-propane-tank:before{content:"󱍗"}.mdi-propane-tank-outline:before{content:"󱍘"}.mdi-protocol:before{content:"󰿘"}.mdi-publish:before{content:"󰚧"}.mdi-publish-off:before{content:"󱥅"}.mdi-pulse:before{content:"󰐰"}.mdi-pump:before{content:"󱐂"}.mdi-pump-off:before{content:"󱬢"}.mdi-pumpkin:before{content:"󰮿"}.mdi-purse:before{content:"󰼜"}.mdi-purse-outline:before{content:"󰼝"}.mdi-puzzle:before{content:"󰐱"}.mdi-puzzle-check:before{content:"󱐦"}.mdi-puzzle-check-outline:before{content:"󱐧"}.mdi-puzzle-edit:before{content:"󱓓"}.mdi-puzzle-edit-outline:before{content:"󱓙"}.mdi-puzzle-heart:before{content:"󱓔"}.mdi-puzzle-heart-outline:before{content:"󱓚"}.mdi-puzzle-minus:before{content:"󱓑"}.mdi-puzzle-minus-outline:before{content:"󱓗"}.mdi-puzzle-outline:before{content:"󰩦"}.mdi-puzzle-plus:before{content:"󱓐"}.mdi-puzzle-plus-outline:before{content:"󱓖"}.mdi-puzzle-remove:before{content:"󱓒"}.mdi-puzzle-remove-outline:before{content:"󱓘"}.mdi-puzzle-star:before{content:"󱓕"}.mdi-puzzle-star-outline:before{content:"󱓛"}.mdi-pyramid:before{content:"󱥒"}.mdi-pyramid-off:before{content:"󱥓"}.mdi-qi:before{content:"󰦙"}.mdi-qqchat:before{content:"󰘅"}.mdi-qrcode:before{content:"󰐲"}.mdi-qrcode-edit:before{content:"󰢸"}.mdi-qrcode-minus:before{content:"󱆌"}.mdi-qrcode-plus:before{content:"󱆋"}.mdi-qrcode-remove:before{content:"󱆍"}.mdi-qrcode-scan:before{content:"󰐳"}.mdi-quadcopter:before{content:"󰐴"}.mdi-quality-high:before{content:"󰐵"}.mdi-quality-low:before{content:"󰨌"}.mdi-quality-medium:before{content:"󰨍"}.mdi-queue-first-in-last-out:before{content:"󱲯"}.mdi-quora:before{content:"󰴩"}.mdi-rabbit:before{content:"󰤇"}.mdi-rabbit-variant:before{content:"󱩡"}.mdi-rabbit-variant-outline:before{content:"󱩢"}.mdi-racing-helmet:before{content:"󰶓"}.mdi-racquetball:before{content:"󰶔"}.mdi-radar:before{content:"󰐷"}.mdi-radiator:before{content:"󰐸"}.mdi-radiator-disabled:before{content:"󰫗"}.mdi-radiator-off:before{content:"󰫘"}.mdi-radio:before{content:"󰐹"}.mdi-radio-am:before{content:"󰲾"}.mdi-radio-fm:before{content:"󰲿"}.mdi-radio-handheld:before{content:"󰐺"}.mdi-radio-off:before{content:"󱈜"}.mdi-radio-tower:before{content:"󰐻"}.mdi-radioactive:before{content:"󰐼"}.mdi-radioactive-circle:before{content:"󱡝"}.mdi-radioactive-circle-outline:before{content:"󱡞"}.mdi-radioactive-off:before{content:"󰻁"}.mdi-radiobox-blank:before{content:"󰐽"}.mdi-radiobox-indeterminate-variant:before{content:"󱱞"}.mdi-radiobox-marked:before{content:"󰐾"}.mdi-radiology-box:before{content:"󱓅"}.mdi-radiology-box-outline:before{content:"󱓆"}.mdi-radius:before{content:"󰳀"}.mdi-radius-outline:before{content:"󰳁"}.mdi-railroad-light:before{content:"󰼞"}.mdi-rake:before{content:"󱕄"}.mdi-raspberry-pi:before{content:"󰐿"}.mdi-raw:before{content:"󱨏"}.mdi-raw-off:before{content:"󱨐"}.mdi-ray-end:before{content:"󰑀"}.mdi-ray-end-arrow:before{content:"󰑁"}.mdi-ray-start:before{content:"󰑂"}.mdi-ray-start-arrow:before{content:"󰑃"}.mdi-ray-start-end:before{content:"󰑄"}.mdi-ray-start-vertex-end:before{content:"󱗘"}.mdi-ray-vertex:before{content:"󰑅"}.mdi-razor-double-edge:before{content:"󱦗"}.mdi-razor-single-edge:before{content:"󱦘"}.mdi-react:before{content:"󰜈"}.mdi-read:before{content:"󰑇"}.mdi-receipt:before{content:"󰠤"}.mdi-receipt-clock:before{content:"󱰾"}.mdi-receipt-clock-outline:before{content:"󱰿"}.mdi-receipt-outline:before{content:"󰓷"}.mdi-receipt-send:before{content:"󱱀"}.mdi-receipt-send-outline:before{content:"󱱁"}.mdi-receipt-text:before{content:"󰑉"}.mdi-receipt-text-arrow-left:before{content:"󱱂"}.mdi-receipt-text-arrow-left-outline:before{content:"󱱃"}.mdi-receipt-text-arrow-right:before{content:"󱱄"}.mdi-receipt-text-arrow-right-outline:before{content:"󱱅"}.mdi-receipt-text-check:before{content:"󱩣"}.mdi-receipt-text-check-outline:before{content:"󱩤"}.mdi-receipt-text-clock:before{content:"󱱆"}.mdi-receipt-text-clock-outline:before{content:"󱱇"}.mdi-receipt-text-edit:before{content:"󱱈"}.mdi-receipt-text-edit-outline:before{content:"󱱉"}.mdi-receipt-text-minus:before{content:"󱩥"}.mdi-receipt-text-minus-outline:before{content:"󱩦"}.mdi-receipt-text-outline:before{content:"󱧜"}.mdi-receipt-text-plus:before{content:"󱩧"}.mdi-receipt-text-plus-outline:before{content:"󱩨"}.mdi-receipt-text-remove:before{content:"󱩩"}.mdi-receipt-text-remove-outline:before{content:"󱩪"}.mdi-receipt-text-send:before{content:"󱱊"}.mdi-receipt-text-send-outline:before{content:"󱱋"}.mdi-record:before{content:"󰑊"}.mdi-record-circle:before{content:"󰻂"}.mdi-record-circle-outline:before{content:"󰻃"}.mdi-record-player:before{content:"󰦚"}.mdi-record-rec:before{content:"󰑋"}.mdi-rectangle:before{content:"󰹞"}.mdi-rectangle-outline:before{content:"󰹟"}.mdi-recycle:before{content:"󰑌"}.mdi-recycle-variant:before{content:"󱎝"}.mdi-reddit:before{content:"󰑍"}.mdi-redhat:before{content:"󱄛"}.mdi-redo:before{content:"󰑎"}.mdi-redo-variant:before{content:"󰑏"}.mdi-reflect-horizontal:before{content:"󰨎"}.mdi-reflect-vertical:before{content:"󰨏"}.mdi-refresh:before{content:"󰑐"}.mdi-refresh-auto:before{content:"󱣲"}.mdi-refresh-circle:before{content:"󱍷"}.mdi-regex:before{content:"󰑑"}.mdi-registered-trademark:before{content:"󰩧"}.mdi-reiterate:before{content:"󱖈"}.mdi-relation-many-to-many:before{content:"󱒖"}.mdi-relation-many-to-one:before{content:"󱒗"}.mdi-relation-many-to-one-or-many:before{content:"󱒘"}.mdi-relation-many-to-only-one:before{content:"󱒙"}.mdi-relation-many-to-zero-or-many:before{content:"󱒚"}.mdi-relation-many-to-zero-or-one:before{content:"󱒛"}.mdi-relation-one-or-many-to-many:before{content:"󱒜"}.mdi-relation-one-or-many-to-one:before{content:"󱒝"}.mdi-relation-one-or-many-to-one-or-many:before{content:"󱒞"}.mdi-relation-one-or-many-to-only-one:before{content:"󱒟"}.mdi-relation-one-or-many-to-zero-or-many:before{content:"󱒠"}.mdi-relation-one-or-many-to-zero-or-one:before{content:"󱒡"}.mdi-relation-one-to-many:before{content:"󱒢"}.mdi-relation-one-to-one:before{content:"󱒣"}.mdi-relation-one-to-one-or-many:before{content:"󱒤"}.mdi-relation-one-to-only-one:before{content:"󱒥"}.mdi-relation-one-to-zero-or-many:before{content:"󱒦"}.mdi-relation-one-to-zero-or-one:before{content:"󱒧"}.mdi-relation-only-one-to-many:before{content:"󱒨"}.mdi-relation-only-one-to-one:before{content:"󱒩"}.mdi-relation-only-one-to-one-or-many:before{content:"󱒪"}.mdi-relation-only-one-to-only-one:before{content:"󱒫"}.mdi-relation-only-one-to-zero-or-many:before{content:"󱒬"}.mdi-relation-only-one-to-zero-or-one:before{content:"󱒭"}.mdi-relation-zero-or-many-to-many:before{content:"󱒮"}.mdi-relation-zero-or-many-to-one:before{content:"󱒯"}.mdi-relation-zero-or-many-to-one-or-many:before{content:"󱒰"}.mdi-relation-zero-or-many-to-only-one:before{content:"󱒱"}.mdi-relation-zero-or-many-to-zero-or-many:before{content:"󱒲"}.mdi-relation-zero-or-many-to-zero-or-one:before{content:"󱒳"}.mdi-relation-zero-or-one-to-many:before{content:"󱒴"}.mdi-relation-zero-or-one-to-one:before{content:"󱒵"}.mdi-relation-zero-or-one-to-one-or-many:before{content:"󱒶"}.mdi-relation-zero-or-one-to-only-one:before{content:"󱒷"}.mdi-relation-zero-or-one-to-zero-or-many:before{content:"󱒸"}.mdi-relation-zero-or-one-to-zero-or-one:before{content:"󱒹"}.mdi-relative-scale:before{content:"󰑒"}.mdi-reload:before{content:"󰑓"}.mdi-reload-alert:before{content:"󱄋"}.mdi-reminder:before{content:"󰢌"}.mdi-remote:before{content:"󰑔"}.mdi-remote-desktop:before{content:"󰢹"}.mdi-remote-off:before{content:"󰻄"}.mdi-remote-tv:before{content:"󰻅"}.mdi-remote-tv-off:before{content:"󰻆"}.mdi-rename:before{content:"󱰘"}.mdi-rename-box:before{content:"󰑕"}.mdi-rename-box-outline:before{content:"󱰙"}.mdi-rename-outline:before{content:"󱰚"}.mdi-reorder-horizontal:before{content:"󰚈"}.mdi-reorder-vertical:before{content:"󰚉"}.mdi-repeat:before{content:"󰑖"}.mdi-repeat-off:before{content:"󰑗"}.mdi-repeat-once:before{content:"󰑘"}.mdi-repeat-variant:before{content:"󰕇"}.mdi-replay:before{content:"󰑙"}.mdi-reply:before{content:"󰑚"}.mdi-reply-all:before{content:"󰑛"}.mdi-reply-all-outline:before{content:"󰼟"}.mdi-reply-circle:before{content:"󱆮"}.mdi-reply-outline:before{content:"󰼠"}.mdi-reproduction:before{content:"󰑜"}.mdi-resistor:before{content:"󰭄"}.mdi-resistor-nodes:before{content:"󰭅"}.mdi-resize:before{content:"󰩨"}.mdi-resize-bottom-right:before{content:"󰑝"}.mdi-responsive:before{content:"󰑞"}.mdi-restart:before{content:"󰜉"}.mdi-restart-alert:before{content:"󱄌"}.mdi-restart-off:before{content:"󰶕"}.mdi-restore:before{content:"󰦛"}.mdi-restore-alert:before{content:"󱄍"}.mdi-rewind:before{content:"󰑟"}.mdi-rewind-10:before{content:"󰴪"}.mdi-rewind-15:before{content:"󱥆"}.mdi-rewind-30:before{content:"󰶖"}.mdi-rewind-45:before{content:"󱬓"}.mdi-rewind-5:before{content:"󱇹"}.mdi-rewind-60:before{content:"󱘌"}.mdi-rewind-outline:before{content:"󰜊"}.mdi-rhombus:before{content:"󰜋"}.mdi-rhombus-medium:before{content:"󰨐"}.mdi-rhombus-medium-outline:before{content:"󱓜"}.mdi-rhombus-outline:before{content:"󰜌"}.mdi-rhombus-split:before{content:"󰨑"}.mdi-rhombus-split-outline:before{content:"󱓝"}.mdi-ribbon:before{content:"󰑠"}.mdi-rice:before{content:"󰟪"}.mdi-rickshaw:before{content:"󱖻"}.mdi-rickshaw-electric:before{content:"󱖼"}.mdi-ring:before{content:"󰟫"}.mdi-rivet:before{content:"󰹠"}.mdi-road:before{content:"󰑡"}.mdi-road-variant:before{content:"󰑢"}.mdi-robber:before{content:"󱁘"}.mdi-robot:before{content:"󰚩"}.mdi-robot-angry:before{content:"󱚝"}.mdi-robot-angry-outline:before{content:"󱚞"}.mdi-robot-confused:before{content:"󱚟"}.mdi-robot-confused-outline:before{content:"󱚠"}.mdi-robot-dead:before{content:"󱚡"}.mdi-robot-dead-outline:before{content:"󱚢"}.mdi-robot-excited:before{content:"󱚣"}.mdi-robot-excited-outline:before{content:"󱚤"}.mdi-robot-happy:before{content:"󱜙"}.mdi-robot-happy-outline:before{content:"󱜚"}.mdi-robot-industrial:before{content:"󰭆"}.mdi-robot-industrial-outline:before{content:"󱨚"}.mdi-robot-love:before{content:"󱚥"}.mdi-robot-love-outline:before{content:"󱚦"}.mdi-robot-mower:before{content:"󱇷"}.mdi-robot-mower-outline:before{content:"󱇳"}.mdi-robot-off:before{content:"󱚧"}.mdi-robot-off-outline:before{content:"󱙻"}.mdi-robot-outline:before{content:"󱙺"}.mdi-robot-vacuum:before{content:"󰜍"}.mdi-robot-vacuum-alert:before{content:"󱭝"}.mdi-robot-vacuum-off:before{content:"󱰁"}.mdi-robot-vacuum-variant:before{content:"󰤈"}.mdi-robot-vacuum-variant-alert:before{content:"󱭞"}.mdi-robot-vacuum-variant-off:before{content:"󱰂"}.mdi-rocket:before{content:"󰑣"}.mdi-rocket-launch:before{content:"󱓞"}.mdi-rocket-launch-outline:before{content:"󱓟"}.mdi-rocket-outline:before{content:"󱎯"}.mdi-rodent:before{content:"󱌧"}.mdi-roller-shade:before{content:"󱩫"}.mdi-roller-shade-closed:before{content:"󱩬"}.mdi-roller-skate:before{content:"󰴫"}.mdi-roller-skate-off:before{content:"󰅅"}.mdi-rollerblade:before{content:"󰴬"}.mdi-rollerblade-off:before{content:"󰀮"}.mdi-rollupjs:before{content:"󰯀"}.mdi-rolodex:before{content:"󱪹"}.mdi-rolodex-outline:before{content:"󱪺"}.mdi-roman-numeral-1:before{content:"󱂈"}.mdi-roman-numeral-10:before{content:"󱂑"}.mdi-roman-numeral-2:before{content:"󱂉"}.mdi-roman-numeral-3:before{content:"󱂊"}.mdi-roman-numeral-4:before{content:"󱂋"}.mdi-roman-numeral-5:before{content:"󱂌"}.mdi-roman-numeral-6:before{content:"󱂍"}.mdi-roman-numeral-7:before{content:"󱂎"}.mdi-roman-numeral-8:before{content:"󱂏"}.mdi-roman-numeral-9:before{content:"󱂐"}.mdi-room-service:before{content:"󰢍"}.mdi-room-service-outline:before{content:"󰶗"}.mdi-rotate-360:before{content:"󱦙"}.mdi-rotate-3d:before{content:"󰻇"}.mdi-rotate-3d-variant:before{content:"󰑤"}.mdi-rotate-left:before{content:"󰑥"}.mdi-rotate-left-variant:before{content:"󰑦"}.mdi-rotate-orbit:before{content:"󰶘"}.mdi-rotate-right:before{content:"󰑧"}.mdi-rotate-right-variant:before{content:"󰑨"}.mdi-rounded-corner:before{content:"󰘇"}.mdi-router:before{content:"󱇢"}.mdi-router-network:before{content:"󱂇"}.mdi-router-network-wireless:before{content:"󱲗"}.mdi-router-wireless:before{content:"󰑩"}.mdi-router-wireless-off:before{content:"󱖣"}.mdi-router-wireless-settings:before{content:"󰩩"}.mdi-routes:before{content:"󰑪"}.mdi-routes-clock:before{content:"󱁙"}.mdi-rowing:before{content:"󰘈"}.mdi-rss:before{content:"󰑫"}.mdi-rss-box:before{content:"󰑬"}.mdi-rss-off:before{content:"󰼡"}.mdi-rug:before{content:"󱑵"}.mdi-rugby:before{content:"󰶙"}.mdi-ruler:before{content:"󰑭"}.mdi-ruler-square:before{content:"󰳂"}.mdi-ruler-square-compass:before{content:"󰺾"}.mdi-run:before{content:"󰜎"}.mdi-run-fast:before{content:"󰑮"}.mdi-rv-truck:before{content:"󱇔"}.mdi-sack:before{content:"󰴮"}.mdi-sack-outline:before{content:"󱱌"}.mdi-sack-percent:before{content:"󰴯"}.mdi-safe:before{content:"󰩪"}.mdi-safe-square:before{content:"󱉼"}.mdi-safe-square-outline:before{content:"󱉽"}.mdi-safety-goggles:before{content:"󰴰"}.mdi-sail-boat:before{content:"󰻈"}.mdi-sail-boat-sink:before{content:"󱫯"}.mdi-sale:before{content:"󰑯"}.mdi-sale-outline:before{content:"󱨆"}.mdi-salesforce:before{content:"󰢎"}.mdi-sass:before{content:"󰟬"}.mdi-satellite:before{content:"󰑰"}.mdi-satellite-uplink:before{content:"󰤉"}.mdi-satellite-variant:before{content:"󰑱"}.mdi-sausage:before{content:"󰢺"}.mdi-sausage-off:before{content:"󱞉"}.mdi-saw-blade:before{content:"󰹡"}.mdi-sawtooth-wave:before{content:"󱑺"}.mdi-saxophone:before{content:"󰘉"}.mdi-scale:before{content:"󰑲"}.mdi-scale-balance:before{content:"󰗑"}.mdi-scale-bathroom:before{content:"󰑳"}.mdi-scale-off:before{content:"󱁚"}.mdi-scale-unbalanced:before{content:"󱦸"}.mdi-scan-helper:before{content:"󱏘"}.mdi-scanner:before{content:"󰚫"}.mdi-scanner-off:before{content:"󰤊"}.mdi-scatter-plot:before{content:"󰻉"}.mdi-scatter-plot-outline:before{content:"󰻊"}.mdi-scent:before{content:"󱥘"}.mdi-scent-off:before{content:"󱥙"}.mdi-school:before{content:"󰑴"}.mdi-school-outline:before{content:"󱆀"}.mdi-scissors-cutting:before{content:"󰩫"}.mdi-scooter:before{content:"󱖽"}.mdi-scooter-electric:before{content:"󱖾"}.mdi-scoreboard:before{content:"󱉾"}.mdi-scoreboard-outline:before{content:"󱉿"}.mdi-screen-rotation:before{content:"󰑵"}.mdi-screen-rotation-lock:before{content:"󰑸"}.mdi-screw-flat-top:before{content:"󰷳"}.mdi-screw-lag:before{content:"󰷴"}.mdi-screw-machine-flat-top:before{content:"󰷵"}.mdi-screw-machine-round-top:before{content:"󰷶"}.mdi-screw-round-top:before{content:"󰷷"}.mdi-screwdriver:before{content:"󰑶"}.mdi-script:before{content:"󰯁"}.mdi-script-outline:before{content:"󰑷"}.mdi-script-text:before{content:"󰯂"}.mdi-script-text-key:before{content:"󱜥"}.mdi-script-text-key-outline:before{content:"󱜦"}.mdi-script-text-outline:before{content:"󰯃"}.mdi-script-text-play:before{content:"󱜧"}.mdi-script-text-play-outline:before{content:"󱜨"}.mdi-sd:before{content:"󰑹"}.mdi-seal:before{content:"󰑺"}.mdi-seal-variant:before{content:"󰿙"}.mdi-search-web:before{content:"󰜏"}.mdi-seat:before{content:"󰳃"}.mdi-seat-flat:before{content:"󰑻"}.mdi-seat-flat-angled:before{content:"󰑼"}.mdi-seat-individual-suite:before{content:"󰑽"}.mdi-seat-legroom-extra:before{content:"󰑾"}.mdi-seat-legroom-normal:before{content:"󰑿"}.mdi-seat-legroom-reduced:before{content:"󰒀"}.mdi-seat-outline:before{content:"󰳄"}.mdi-seat-passenger:before{content:"󱉉"}.mdi-seat-recline-extra:before{content:"󰒁"}.mdi-seat-recline-normal:before{content:"󰒂"}.mdi-seatbelt:before{content:"󰳅"}.mdi-security:before{content:"󰒃"}.mdi-security-network:before{content:"󰒄"}.mdi-seed:before{content:"󰹢"}.mdi-seed-off:before{content:"󱏽"}.mdi-seed-off-outline:before{content:"󱏾"}.mdi-seed-outline:before{content:"󰹣"}.mdi-seed-plus:before{content:"󱩭"}.mdi-seed-plus-outline:before{content:"󱩮"}.mdi-seesaw:before{content:"󱖤"}.mdi-segment:before{content:"󰻋"}.mdi-select:before{content:"󰒅"}.mdi-select-all:before{content:"󰒆"}.mdi-select-arrow-down:before{content:"󱭙"}.mdi-select-arrow-up:before{content:"󱭘"}.mdi-select-color:before{content:"󰴱"}.mdi-select-compare:before{content:"󰫙"}.mdi-select-drag:before{content:"󰩬"}.mdi-select-group:before{content:"󰾂"}.mdi-select-inverse:before{content:"󰒇"}.mdi-select-marker:before{content:"󱊀"}.mdi-select-multiple:before{content:"󱊁"}.mdi-select-multiple-marker:before{content:"󱊂"}.mdi-select-off:before{content:"󰒈"}.mdi-select-place:before{content:"󰿚"}.mdi-select-remove:before{content:"󱟁"}.mdi-select-search:before{content:"󱈄"}.mdi-selection:before{content:"󰒉"}.mdi-selection-drag:before{content:"󰩭"}.mdi-selection-ellipse:before{content:"󰴲"}.mdi-selection-ellipse-arrow-inside:before{content:"󰼢"}.mdi-selection-ellipse-remove:before{content:"󱟂"}.mdi-selection-marker:before{content:"󱊃"}.mdi-selection-multiple:before{content:"󱊅"}.mdi-selection-multiple-marker:before{content:"󱊄"}.mdi-selection-off:before{content:"󰝷"}.mdi-selection-remove:before{content:"󱟃"}.mdi-selection-search:before{content:"󱈅"}.mdi-semantic-web:before{content:"󱌖"}.mdi-send:before{content:"󰒊"}.mdi-send-check:before{content:"󱅡"}.mdi-send-check-outline:before{content:"󱅢"}.mdi-send-circle:before{content:"󰷸"}.mdi-send-circle-outline:before{content:"󰷹"}.mdi-send-clock:before{content:"󱅣"}.mdi-send-clock-outline:before{content:"󱅤"}.mdi-send-lock:before{content:"󰟭"}.mdi-send-lock-outline:before{content:"󱅦"}.mdi-send-outline:before{content:"󱅥"}.mdi-send-variant:before{content:"󱱍"}.mdi-send-variant-clock:before{content:"󱱾"}.mdi-send-variant-clock-outline:before{content:"󱱿"}.mdi-send-variant-outline:before{content:"󱱎"}.mdi-serial-port:before{content:"󰙜"}.mdi-server:before{content:"󰒋"}.mdi-server-minus:before{content:"󰒌"}.mdi-server-minus-outline:before{content:"󱲘"}.mdi-server-network:before{content:"󰒍"}.mdi-server-network-off:before{content:"󰒎"}.mdi-server-network-outline:before{content:"󱲙"}.mdi-server-off:before{content:"󰒏"}.mdi-server-outline:before{content:"󱲚"}.mdi-server-plus:before{content:"󰒐"}.mdi-server-plus-outline:before{content:"󱲛"}.mdi-server-remove:before{content:"󰒑"}.mdi-server-security:before{content:"󰒒"}.mdi-set-all:before{content:"󰝸"}.mdi-set-center:before{content:"󰝹"}.mdi-set-center-right:before{content:"󰝺"}.mdi-set-left:before{content:"󰝻"}.mdi-set-left-center:before{content:"󰝼"}.mdi-set-left-right:before{content:"󰝽"}.mdi-set-merge:before{content:"󱓠"}.mdi-set-none:before{content:"󰝾"}.mdi-set-right:before{content:"󰝿"}.mdi-set-split:before{content:"󱓡"}.mdi-set-square:before{content:"󱑝"}.mdi-set-top-box:before{content:"󰦟"}.mdi-settings-helper:before{content:"󰩮"}.mdi-shaker:before{content:"󱄎"}.mdi-shaker-outline:before{content:"󱄏"}.mdi-shape:before{content:"󰠱"}.mdi-shape-circle-plus:before{content:"󰙝"}.mdi-shape-outline:before{content:"󰠲"}.mdi-shape-oval-plus:before{content:"󱇺"}.mdi-shape-plus:before{content:"󰒕"}.mdi-shape-plus-outline:before{content:"󱱏"}.mdi-shape-polygon-plus:before{content:"󰙞"}.mdi-shape-rectangle-plus:before{content:"󰙟"}.mdi-shape-square-plus:before{content:"󰙠"}.mdi-shape-square-rounded-plus:before{content:"󱓺"}.mdi-share:before{content:"󰒖"}.mdi-share-all:before{content:"󱇴"}.mdi-share-all-outline:before{content:"󱇵"}.mdi-share-circle:before{content:"󱆭"}.mdi-share-off:before{content:"󰼣"}.mdi-share-off-outline:before{content:"󰼤"}.mdi-share-outline:before{content:"󰤲"}.mdi-share-variant:before{content:"󰒗"}.mdi-share-variant-outline:before{content:"󱔔"}.mdi-shark:before{content:"󱢺"}.mdi-shark-fin:before{content:"󱙳"}.mdi-shark-fin-outline:before{content:"󱙴"}.mdi-shark-off:before{content:"󱢻"}.mdi-sheep:before{content:"󰳆"}.mdi-shield:before{content:"󰒘"}.mdi-shield-account:before{content:"󰢏"}.mdi-shield-account-outline:before{content:"󰨒"}.mdi-shield-account-variant:before{content:"󱖧"}.mdi-shield-account-variant-outline:before{content:"󱖨"}.mdi-shield-airplane:before{content:"󰚻"}.mdi-shield-airplane-outline:before{content:"󰳇"}.mdi-shield-alert:before{content:"󰻌"}.mdi-shield-alert-outline:before{content:"󰻍"}.mdi-shield-bug:before{content:"󱏚"}.mdi-shield-bug-outline:before{content:"󱏛"}.mdi-shield-car:before{content:"󰾃"}.mdi-shield-check:before{content:"󰕥"}.mdi-shield-check-outline:before{content:"󰳈"}.mdi-shield-cross:before{content:"󰳉"}.mdi-shield-cross-outline:before{content:"󰳊"}.mdi-shield-crown:before{content:"󱢼"}.mdi-shield-crown-outline:before{content:"󱢽"}.mdi-shield-edit:before{content:"󱆠"}.mdi-shield-edit-outline:before{content:"󱆡"}.mdi-shield-half:before{content:"󱍠"}.mdi-shield-half-full:before{content:"󰞀"}.mdi-shield-home:before{content:"󰚊"}.mdi-shield-home-outline:before{content:"󰳋"}.mdi-shield-key:before{content:"󰯄"}.mdi-shield-key-outline:before{content:"󰯅"}.mdi-shield-link-variant:before{content:"󰴳"}.mdi-shield-link-variant-outline:before{content:"󰴴"}.mdi-shield-lock:before{content:"󰦝"}.mdi-shield-lock-open:before{content:"󱦚"}.mdi-shield-lock-open-outline:before{content:"󱦛"}.mdi-shield-lock-outline:before{content:"󰳌"}.mdi-shield-moon:before{content:"󱠨"}.mdi-shield-moon-outline:before{content:"󱠩"}.mdi-shield-off:before{content:"󰦞"}.mdi-shield-off-outline:before{content:"󰦜"}.mdi-shield-outline:before{content:"󰒙"}.mdi-shield-plus:before{content:"󰫚"}.mdi-shield-plus-outline:before{content:"󰫛"}.mdi-shield-refresh:before{content:"󰂪"}.mdi-shield-refresh-outline:before{content:"󰇠"}.mdi-shield-remove:before{content:"󰫜"}.mdi-shield-remove-outline:before{content:"󰫝"}.mdi-shield-search:before{content:"󰶚"}.mdi-shield-star:before{content:"󱄻"}.mdi-shield-star-outline:before{content:"󱄼"}.mdi-shield-sun:before{content:"󱁝"}.mdi-shield-sun-outline:before{content:"󱁞"}.mdi-shield-sword:before{content:"󱢾"}.mdi-shield-sword-outline:before{content:"󱢿"}.mdi-shield-sync:before{content:"󱆢"}.mdi-shield-sync-outline:before{content:"󱆣"}.mdi-shimmer:before{content:"󱕅"}.mdi-ship-wheel:before{content:"󰠳"}.mdi-shipping-pallet:before{content:"󱡎"}.mdi-shoe-ballet:before{content:"󱗊"}.mdi-shoe-cleat:before{content:"󱗇"}.mdi-shoe-formal:before{content:"󰭇"}.mdi-shoe-heel:before{content:"󰭈"}.mdi-shoe-print:before{content:"󰷺"}.mdi-shoe-sneaker:before{content:"󱗈"}.mdi-shopping:before{content:"󰒚"}.mdi-shopping-music:before{content:"󰒛"}.mdi-shopping-outline:before{content:"󱇕"}.mdi-shopping-search:before{content:"󰾄"}.mdi-shopping-search-outline:before{content:"󱩯"}.mdi-shore:before{content:"󱓹"}.mdi-shovel:before{content:"󰜐"}.mdi-shovel-off:before{content:"󰜑"}.mdi-shower:before{content:"󰦠"}.mdi-shower-head:before{content:"󰦡"}.mdi-shredder:before{content:"󰒜"}.mdi-shuffle:before{content:"󰒝"}.mdi-shuffle-disabled:before{content:"󰒞"}.mdi-shuffle-variant:before{content:"󰒟"}.mdi-shuriken:before{content:"󱍿"}.mdi-sickle:before{content:"󱣀"}.mdi-sigma:before{content:"󰒠"}.mdi-sigma-lower:before{content:"󰘫"}.mdi-sign-caution:before{content:"󰒡"}.mdi-sign-direction:before{content:"󰞁"}.mdi-sign-direction-minus:before{content:"󱀀"}.mdi-sign-direction-plus:before{content:"󰿜"}.mdi-sign-direction-remove:before{content:"󰿝"}.mdi-sign-language:before{content:"󱭍"}.mdi-sign-language-outline:before{content:"󱭎"}.mdi-sign-pole:before{content:"󱓸"}.mdi-sign-real-estate:before{content:"󱄘"}.mdi-sign-text:before{content:"󰞂"}.mdi-sign-yield:before{content:"󱮯"}.mdi-signal:before{content:"󰒢"}.mdi-signal-2g:before{content:"󰜒"}.mdi-signal-3g:before{content:"󰜓"}.mdi-signal-4g:before{content:"󰜔"}.mdi-signal-5g:before{content:"󰩯"}.mdi-signal-cellular-1:before{content:"󰢼"}.mdi-signal-cellular-2:before{content:"󰢽"}.mdi-signal-cellular-3:before{content:"󰢾"}.mdi-signal-cellular-outline:before{content:"󰢿"}.mdi-signal-distance-variant:before{content:"󰹤"}.mdi-signal-hspa:before{content:"󰜕"}.mdi-signal-hspa-plus:before{content:"󰜖"}.mdi-signal-off:before{content:"󰞃"}.mdi-signal-variant:before{content:"󰘊"}.mdi-signature:before{content:"󰷻"}.mdi-signature-freehand:before{content:"󰷼"}.mdi-signature-image:before{content:"󰷽"}.mdi-signature-text:before{content:"󰷾"}.mdi-silo:before{content:"󱮟"}.mdi-silo-outline:before{content:"󰭉"}.mdi-silverware:before{content:"󰒣"}.mdi-silverware-clean:before{content:"󰿞"}.mdi-silverware-fork:before{content:"󰒤"}.mdi-silverware-fork-knife:before{content:"󰩰"}.mdi-silverware-spoon:before{content:"󰒥"}.mdi-silverware-variant:before{content:"󰒦"}.mdi-sim:before{content:"󰒧"}.mdi-sim-alert:before{content:"󰒨"}.mdi-sim-alert-outline:before{content:"󱗓"}.mdi-sim-off:before{content:"󰒩"}.mdi-sim-off-outline:before{content:"󱗔"}.mdi-sim-outline:before{content:"󱗕"}.mdi-simple-icons:before{content:"󱌝"}.mdi-sina-weibo:before{content:"󰫟"}.mdi-sine-wave:before{content:"󰥛"}.mdi-sitemap:before{content:"󰒪"}.mdi-sitemap-outline:before{content:"󱦜"}.mdi-size-l:before{content:"󱎦"}.mdi-size-m:before{content:"󱎥"}.mdi-size-s:before{content:"󱎤"}.mdi-size-xl:before{content:"󱎧"}.mdi-size-xs:before{content:"󱎣"}.mdi-size-xxl:before{content:"󱎨"}.mdi-size-xxs:before{content:"󱎢"}.mdi-size-xxxl:before{content:"󱎩"}.mdi-skate:before{content:"󰴵"}.mdi-skate-off:before{content:"󰚙"}.mdi-skateboard:before{content:"󱓂"}.mdi-skateboarding:before{content:"󰔁"}.mdi-skew-less:before{content:"󰴶"}.mdi-skew-more:before{content:"󰴷"}.mdi-ski:before{content:"󱌄"}.mdi-ski-cross-country:before{content:"󱌅"}.mdi-ski-water:before{content:"󱌆"}.mdi-skip-backward:before{content:"󰒫"}.mdi-skip-backward-outline:before{content:"󰼥"}.mdi-skip-forward:before{content:"󰒬"}.mdi-skip-forward-outline:before{content:"󰼦"}.mdi-skip-next:before{content:"󰒭"}.mdi-skip-next-circle:before{content:"󰙡"}.mdi-skip-next-circle-outline:before{content:"󰙢"}.mdi-skip-next-outline:before{content:"󰼧"}.mdi-skip-previous:before{content:"󰒮"}.mdi-skip-previous-circle:before{content:"󰙣"}.mdi-skip-previous-circle-outline:before{content:"󰙤"}.mdi-skip-previous-outline:before{content:"󰼨"}.mdi-skull:before{content:"󰚌"}.mdi-skull-crossbones:before{content:"󰯆"}.mdi-skull-crossbones-outline:before{content:"󰯇"}.mdi-skull-outline:before{content:"󰯈"}.mdi-skull-scan:before{content:"󱓇"}.mdi-skull-scan-outline:before{content:"󱓈"}.mdi-skype:before{content:"󰒯"}.mdi-skype-business:before{content:"󰒰"}.mdi-slack:before{content:"󰒱"}.mdi-slash-forward:before{content:"󰿟"}.mdi-slash-forward-box:before{content:"󰿠"}.mdi-sledding:before{content:"󰐛"}.mdi-sleep:before{content:"󰒲"}.mdi-sleep-off:before{content:"󰒳"}.mdi-slide:before{content:"󱖥"}.mdi-slope-downhill:before{content:"󰷿"}.mdi-slope-uphill:before{content:"󰸀"}.mdi-slot-machine:before{content:"󱄔"}.mdi-slot-machine-outline:before{content:"󱄕"}.mdi-smart-card:before{content:"󱂽"}.mdi-smart-card-off:before{content:"󱣷"}.mdi-smart-card-off-outline:before{content:"󱣸"}.mdi-smart-card-outline:before{content:"󱂾"}.mdi-smart-card-reader:before{content:"󱂿"}.mdi-smart-card-reader-outline:before{content:"󱃀"}.mdi-smog:before{content:"󰩱"}.mdi-smoke:before{content:"󱞙"}.mdi-smoke-detector:before{content:"󰎒"}.mdi-smoke-detector-alert:before{content:"󱤮"}.mdi-smoke-detector-alert-outline:before{content:"󱤯"}.mdi-smoke-detector-off:before{content:"󱠉"}.mdi-smoke-detector-off-outline:before{content:"󱠊"}.mdi-smoke-detector-outline:before{content:"󱠈"}.mdi-smoke-detector-variant:before{content:"󱠋"}.mdi-smoke-detector-variant-alert:before{content:"󱤰"}.mdi-smoke-detector-variant-off:before{content:"󱠌"}.mdi-smoking:before{content:"󰒴"}.mdi-smoking-off:before{content:"󰒵"}.mdi-smoking-pipe:before{content:"󱐍"}.mdi-smoking-pipe-off:before{content:"󱐨"}.mdi-snail:before{content:"󱙷"}.mdi-snake:before{content:"󱔎"}.mdi-snapchat:before{content:"󰒶"}.mdi-snowboard:before{content:"󱌇"}.mdi-snowflake:before{content:"󰜗"}.mdi-snowflake-alert:before{content:"󰼩"}.mdi-snowflake-check:before{content:"󱩰"}.mdi-snowflake-melt:before{content:"󱋋"}.mdi-snowflake-off:before{content:"󱓣"}.mdi-snowflake-thermometer:before{content:"󱩱"}.mdi-snowflake-variant:before{content:"󰼪"}.mdi-snowman:before{content:"󰒷"}.mdi-snowmobile:before{content:"󰛝"}.mdi-snowshoeing:before{content:"󱩲"}.mdi-soccer:before{content:"󰒸"}.mdi-soccer-field:before{content:"󰠴"}.mdi-social-distance-2-meters:before{content:"󱕹"}.mdi-social-distance-6-feet:before{content:"󱕺"}.mdi-sofa:before{content:"󰒹"}.mdi-sofa-outline:before{content:"󱕭"}.mdi-sofa-single:before{content:"󱕮"}.mdi-sofa-single-outline:before{content:"󱕯"}.mdi-solar-panel:before{content:"󰶛"}.mdi-solar-panel-large:before{content:"󰶜"}.mdi-solar-power:before{content:"󰩲"}.mdi-solar-power-variant:before{content:"󱩳"}.mdi-solar-power-variant-outline:before{content:"󱩴"}.mdi-soldering-iron:before{content:"󱂒"}.mdi-solid:before{content:"󰚍"}.mdi-sony-playstation:before{content:"󰐔"}.mdi-sort:before{content:"󰒺"}.mdi-sort-alphabetical-ascending:before{content:"󰖽"}.mdi-sort-alphabetical-ascending-variant:before{content:"󱅈"}.mdi-sort-alphabetical-descending:before{content:"󰖿"}.mdi-sort-alphabetical-descending-variant:before{content:"󱅉"}.mdi-sort-alphabetical-variant:before{content:"󰒻"}.mdi-sort-ascending:before{content:"󰒼"}.mdi-sort-bool-ascending:before{content:"󱎅"}.mdi-sort-bool-ascending-variant:before{content:"󱎆"}.mdi-sort-bool-descending:before{content:"󱎇"}.mdi-sort-bool-descending-variant:before{content:"󱎈"}.mdi-sort-calendar-ascending:before{content:"󱕇"}.mdi-sort-calendar-descending:before{content:"󱕈"}.mdi-sort-clock-ascending:before{content:"󱕉"}.mdi-sort-clock-ascending-outline:before{content:"󱕊"}.mdi-sort-clock-descending:before{content:"󱕋"}.mdi-sort-clock-descending-outline:before{content:"󱕌"}.mdi-sort-descending:before{content:"󰒽"}.mdi-sort-numeric-ascending:before{content:"󱎉"}.mdi-sort-numeric-ascending-variant:before{content:"󰤍"}.mdi-sort-numeric-descending:before{content:"󱎊"}.mdi-sort-numeric-descending-variant:before{content:"󰫒"}.mdi-sort-numeric-variant:before{content:"󰒾"}.mdi-sort-reverse-variant:before{content:"󰌼"}.mdi-sort-variant:before{content:"󰒿"}.mdi-sort-variant-lock:before{content:"󰳍"}.mdi-sort-variant-lock-open:before{content:"󰳎"}.mdi-sort-variant-off:before{content:"󱪻"}.mdi-sort-variant-remove:before{content:"󱅇"}.mdi-soundbar:before{content:"󱟛"}.mdi-soundcloud:before{content:"󰓀"}.mdi-source-branch:before{content:"󰘬"}.mdi-source-branch-check:before{content:"󱓏"}.mdi-source-branch-minus:before{content:"󱓋"}.mdi-source-branch-plus:before{content:"󱓊"}.mdi-source-branch-refresh:before{content:"󱓍"}.mdi-source-branch-remove:before{content:"󱓌"}.mdi-source-branch-sync:before{content:"󱓎"}.mdi-source-commit:before{content:"󰜘"}.mdi-source-commit-end:before{content:"󰜙"}.mdi-source-commit-end-local:before{content:"󰜚"}.mdi-source-commit-local:before{content:"󰜛"}.mdi-source-commit-next-local:before{content:"󰜜"}.mdi-source-commit-start:before{content:"󰜝"}.mdi-source-commit-start-next-local:before{content:"󰜞"}.mdi-source-fork:before{content:"󰓁"}.mdi-source-merge:before{content:"󰘭"}.mdi-source-pull:before{content:"󰓂"}.mdi-source-repository:before{content:"󰳏"}.mdi-source-repository-multiple:before{content:"󰳐"}.mdi-soy-sauce:before{content:"󰟮"}.mdi-soy-sauce-off:before{content:"󱏼"}.mdi-spa:before{content:"󰳑"}.mdi-spa-outline:before{content:"󰳒"}.mdi-space-invaders:before{content:"󰯉"}.mdi-space-station:before{content:"󱎃"}.mdi-spade:before{content:"󰹥"}.mdi-speaker:before{content:"󰓃"}.mdi-speaker-bluetooth:before{content:"󰦢"}.mdi-speaker-message:before{content:"󱬑"}.mdi-speaker-multiple:before{content:"󰴸"}.mdi-speaker-off:before{content:"󰓄"}.mdi-speaker-pause:before{content:"󱭳"}.mdi-speaker-play:before{content:"󱭲"}.mdi-speaker-stop:before{content:"󱭴"}.mdi-speaker-wireless:before{content:"󰜟"}.mdi-spear:before{content:"󱡅"}.mdi-speedometer:before{content:"󰓅"}.mdi-speedometer-medium:before{content:"󰾅"}.mdi-speedometer-slow:before{content:"󰾆"}.mdi-spellcheck:before{content:"󰓆"}.mdi-sphere:before{content:"󱥔"}.mdi-sphere-off:before{content:"󱥕"}.mdi-spider:before{content:"󱇪"}.mdi-spider-outline:before{content:"󱱵"}.mdi-spider-thread:before{content:"󱇫"}.mdi-spider-web:before{content:"󰯊"}.mdi-spirit-level:before{content:"󱓱"}.mdi-spoon-sugar:before{content:"󱐩"}.mdi-spotify:before{content:"󰓇"}.mdi-spotlight:before{content:"󰓈"}.mdi-spotlight-beam:before{content:"󰓉"}.mdi-spray:before{content:"󰙥"}.mdi-spray-bottle:before{content:"󰫠"}.mdi-sprinkler:before{content:"󱁟"}.mdi-sprinkler-fire:before{content:"󱦝"}.mdi-sprinkler-variant:before{content:"󱁠"}.mdi-sprout:before{content:"󰹦"}.mdi-sprout-outline:before{content:"󰹧"}.mdi-square:before{content:"󰝤"}.mdi-square-circle:before{content:"󱔀"}.mdi-square-circle-outline:before{content:"󱱐"}.mdi-square-edit-outline:before{content:"󰤌"}.mdi-square-medium:before{content:"󰨓"}.mdi-square-medium-outline:before{content:"󰨔"}.mdi-square-off:before{content:"󱋮"}.mdi-square-off-outline:before{content:"󱋯"}.mdi-square-opacity:before{content:"󱡔"}.mdi-square-outline:before{content:"󰝣"}.mdi-square-root:before{content:"󰞄"}.mdi-square-root-box:before{content:"󰦣"}.mdi-square-rounded:before{content:"󱓻"}.mdi-square-rounded-badge:before{content:"󱨇"}.mdi-square-rounded-badge-outline:before{content:"󱨈"}.mdi-square-rounded-outline:before{content:"󱓼"}.mdi-square-small:before{content:"󰨕"}.mdi-square-wave:before{content:"󱑻"}.mdi-squeegee:before{content:"󰫡"}.mdi-ssh:before{content:"󰣀"}.mdi-stack-exchange:before{content:"󰘋"}.mdi-stack-overflow:before{content:"󰓌"}.mdi-stackpath:before{content:"󰍙"}.mdi-stadium:before{content:"󰿹"}.mdi-stadium-outline:before{content:"󱬃"}.mdi-stadium-variant:before{content:"󰜠"}.mdi-stairs:before{content:"󰓍"}.mdi-stairs-box:before{content:"󱎞"}.mdi-stairs-down:before{content:"󱊾"}.mdi-stairs-up:before{content:"󱊽"}.mdi-stamper:before{content:"󰴹"}.mdi-standard-definition:before{content:"󰟯"}.mdi-star:before{content:"󰓎"}.mdi-star-box:before{content:"󰩳"}.mdi-star-box-multiple:before{content:"󱊆"}.mdi-star-box-multiple-outline:before{content:"󱊇"}.mdi-star-box-outline:before{content:"󰩴"}.mdi-star-check:before{content:"󱕦"}.mdi-star-check-outline:before{content:"󱕪"}.mdi-star-circle:before{content:"󰓏"}.mdi-star-circle-outline:before{content:"󰦤"}.mdi-star-cog:before{content:"󱙨"}.mdi-star-cog-outline:before{content:"󱙩"}.mdi-star-crescent:before{content:"󰥹"}.mdi-star-david:before{content:"󰥺"}.mdi-star-face:before{content:"󰦥"}.mdi-star-four-points:before{content:"󰫢"}.mdi-star-four-points-box:before{content:"󱱑"}.mdi-star-four-points-box-outline:before{content:"󱱒"}.mdi-star-four-points-circle:before{content:"󱱓"}.mdi-star-four-points-circle-outline:before{content:"󱱔"}.mdi-star-four-points-outline:before{content:"󰫣"}.mdi-star-four-points-small:before{content:"󱱕"}.mdi-star-half:before{content:"󰉆"}.mdi-star-half-full:before{content:"󰓐"}.mdi-star-minus:before{content:"󱕤"}.mdi-star-minus-outline:before{content:"󱕨"}.mdi-star-off:before{content:"󰓑"}.mdi-star-off-outline:before{content:"󱕛"}.mdi-star-outline:before{content:"󰓒"}.mdi-star-plus:before{content:"󱕣"}.mdi-star-plus-outline:before{content:"󱕧"}.mdi-star-remove:before{content:"󱕥"}.mdi-star-remove-outline:before{content:"󱕩"}.mdi-star-settings:before{content:"󱙪"}.mdi-star-settings-outline:before{content:"󱙫"}.mdi-star-shooting:before{content:"󱝁"}.mdi-star-shooting-outline:before{content:"󱝂"}.mdi-star-three-points:before{content:"󰫤"}.mdi-star-three-points-outline:before{content:"󰫥"}.mdi-state-machine:before{content:"󱇯"}.mdi-steam:before{content:"󰓓"}.mdi-steering:before{content:"󰓔"}.mdi-steering-off:before{content:"󰤎"}.mdi-step-backward:before{content:"󰓕"}.mdi-step-backward-2:before{content:"󰓖"}.mdi-step-forward:before{content:"󰓗"}.mdi-step-forward-2:before{content:"󰓘"}.mdi-stethoscope:before{content:"󰓙"}.mdi-sticker:before{content:"󱍤"}.mdi-sticker-alert:before{content:"󱍥"}.mdi-sticker-alert-outline:before{content:"󱍦"}.mdi-sticker-check:before{content:"󱍧"}.mdi-sticker-check-outline:before{content:"󱍨"}.mdi-sticker-circle-outline:before{content:"󰗐"}.mdi-sticker-emoji:before{content:"󰞅"}.mdi-sticker-minus:before{content:"󱍩"}.mdi-sticker-minus-outline:before{content:"󱍪"}.mdi-sticker-outline:before{content:"󱍫"}.mdi-sticker-plus:before{content:"󱍬"}.mdi-sticker-plus-outline:before{content:"󱍭"}.mdi-sticker-remove:before{content:"󱍮"}.mdi-sticker-remove-outline:before{content:"󱍯"}.mdi-sticker-text:before{content:"󱞎"}.mdi-sticker-text-outline:before{content:"󱞏"}.mdi-stocking:before{content:"󰓚"}.mdi-stomach:before{content:"󱂓"}.mdi-stool:before{content:"󱥝"}.mdi-stool-outline:before{content:"󱥞"}.mdi-stop:before{content:"󰓛"}.mdi-stop-circle:before{content:"󰙦"}.mdi-stop-circle-outline:before{content:"󰙧"}.mdi-storage-tank:before{content:"󱩵"}.mdi-storage-tank-outline:before{content:"󱩶"}.mdi-store:before{content:"󰓜"}.mdi-store-24-hour:before{content:"󰓝"}.mdi-store-alert:before{content:"󱣁"}.mdi-store-alert-outline:before{content:"󱣂"}.mdi-store-check:before{content:"󱣃"}.mdi-store-check-outline:before{content:"󱣄"}.mdi-store-clock:before{content:"󱣅"}.mdi-store-clock-outline:before{content:"󱣆"}.mdi-store-cog:before{content:"󱣇"}.mdi-store-cog-outline:before{content:"󱣈"}.mdi-store-edit:before{content:"󱣉"}.mdi-store-edit-outline:before{content:"󱣊"}.mdi-store-marker:before{content:"󱣋"}.mdi-store-marker-outline:before{content:"󱣌"}.mdi-store-minus:before{content:"󱙞"}.mdi-store-minus-outline:before{content:"󱣍"}.mdi-store-off:before{content:"󱣎"}.mdi-store-off-outline:before{content:"󱣏"}.mdi-store-outline:before{content:"󱍡"}.mdi-store-plus:before{content:"󱙟"}.mdi-store-plus-outline:before{content:"󱣐"}.mdi-store-remove:before{content:"󱙠"}.mdi-store-remove-outline:before{content:"󱣑"}.mdi-store-search:before{content:"󱣒"}.mdi-store-search-outline:before{content:"󱣓"}.mdi-store-settings:before{content:"󱣔"}.mdi-store-settings-outline:before{content:"󱣕"}.mdi-storefront:before{content:"󰟇"}.mdi-storefront-check:before{content:"󱭽"}.mdi-storefront-check-outline:before{content:"󱭾"}.mdi-storefront-edit:before{content:"󱭿"}.mdi-storefront-edit-outline:before{content:"󱮀"}.mdi-storefront-minus:before{content:"󱮃"}.mdi-storefront-minus-outline:before{content:"󱮄"}.mdi-storefront-outline:before{content:"󱃁"}.mdi-storefront-plus:before{content:"󱮁"}.mdi-storefront-plus-outline:before{content:"󱮂"}.mdi-storefront-remove:before{content:"󱮅"}.mdi-storefront-remove-outline:before{content:"󱮆"}.mdi-stove:before{content:"󰓞"}.mdi-strategy:before{content:"󱇖"}.mdi-stretch-to-page:before{content:"󰼫"}.mdi-stretch-to-page-outline:before{content:"󰼬"}.mdi-string-lights:before{content:"󱊺"}.mdi-string-lights-off:before{content:"󱊻"}.mdi-subdirectory-arrow-left:before{content:"󰘌"}.mdi-subdirectory-arrow-right:before{content:"󰘍"}.mdi-submarine:before{content:"󱕬"}.mdi-subtitles:before{content:"󰨖"}.mdi-subtitles-outline:before{content:"󰨗"}.mdi-subway:before{content:"󰚬"}.mdi-subway-alert-variant:before{content:"󰶝"}.mdi-subway-variant:before{content:"󰓟"}.mdi-summit:before{content:"󰞆"}.mdi-sun-angle:before{content:"󱬧"}.mdi-sun-angle-outline:before{content:"󱬨"}.mdi-sun-clock:before{content:"󱩷"}.mdi-sun-clock-outline:before{content:"󱩸"}.mdi-sun-compass:before{content:"󱦥"}.mdi-sun-snowflake:before{content:"󱞖"}.mdi-sun-snowflake-variant:before{content:"󱩹"}.mdi-sun-thermometer:before{content:"󱣖"}.mdi-sun-thermometer-outline:before{content:"󱣗"}.mdi-sun-wireless:before{content:"󱟾"}.mdi-sun-wireless-outline:before{content:"󱟿"}.mdi-sunglasses:before{content:"󰓠"}.mdi-surfing:before{content:"󱝆"}.mdi-surround-sound:before{content:"󰗅"}.mdi-surround-sound-2-0:before{content:"󰟰"}.mdi-surround-sound-2-1:before{content:"󱜩"}.mdi-surround-sound-3-1:before{content:"󰟱"}.mdi-surround-sound-5-1:before{content:"󰟲"}.mdi-surround-sound-5-1-2:before{content:"󱜪"}.mdi-surround-sound-7-1:before{content:"󰟳"}.mdi-svg:before{content:"󰜡"}.mdi-swap-horizontal:before{content:"󰓡"}.mdi-swap-horizontal-bold:before{content:"󰯍"}.mdi-swap-horizontal-circle:before{content:"󰿡"}.mdi-swap-horizontal-circle-outline:before{content:"󰿢"}.mdi-swap-horizontal-hidden:before{content:"󱴎"}.mdi-swap-horizontal-variant:before{content:"󰣁"}.mdi-swap-vertical:before{content:"󰓢"}.mdi-swap-vertical-bold:before{content:"󰯎"}.mdi-swap-vertical-circle:before{content:"󰿣"}.mdi-swap-vertical-circle-outline:before{content:"󰿤"}.mdi-swap-vertical-variant:before{content:"󰣂"}.mdi-swim:before{content:"󰓣"}.mdi-switch:before{content:"󰓤"}.mdi-sword:before{content:"󰓥"}.mdi-sword-cross:before{content:"󰞇"}.mdi-syllabary-hangul:before{content:"󱌳"}.mdi-syllabary-hiragana:before{content:"󱌴"}.mdi-syllabary-katakana:before{content:"󱌵"}.mdi-syllabary-katakana-halfwidth:before{content:"󱌶"}.mdi-symbol:before{content:"󱔁"}.mdi-symfony:before{content:"󰫦"}.mdi-synagogue:before{content:"󱬄"}.mdi-synagogue-outline:before{content:"󱬅"}.mdi-sync:before{content:"󰓦"}.mdi-sync-alert:before{content:"󰓧"}.mdi-sync-circle:before{content:"󱍸"}.mdi-sync-off:before{content:"󰓨"}.mdi-tab:before{content:"󰓩"}.mdi-tab-minus:before{content:"󰭋"}.mdi-tab-plus:before{content:"󰝜"}.mdi-tab-remove:before{content:"󰭌"}.mdi-tab-search:before{content:"󱦞"}.mdi-tab-unselected:before{content:"󰓪"}.mdi-table:before{content:"󰓫"}.mdi-table-account:before{content:"󱎹"}.mdi-table-alert:before{content:"󱎺"}.mdi-table-arrow-down:before{content:"󱎻"}.mdi-table-arrow-left:before{content:"󱎼"}.mdi-table-arrow-right:before{content:"󱎽"}.mdi-table-arrow-up:before{content:"󱎾"}.mdi-table-border:before{content:"󰨘"}.mdi-table-cancel:before{content:"󱎿"}.mdi-table-chair:before{content:"󱁡"}.mdi-table-check:before{content:"󱏀"}.mdi-table-clock:before{content:"󱏁"}.mdi-table-cog:before{content:"󱏂"}.mdi-table-column:before{content:"󰠵"}.mdi-table-column-plus-after:before{content:"󰓬"}.mdi-table-column-plus-before:before{content:"󰓭"}.mdi-table-column-remove:before{content:"󰓮"}.mdi-table-column-width:before{content:"󰓯"}.mdi-table-edit:before{content:"󰓰"}.mdi-table-eye:before{content:"󱂔"}.mdi-table-eye-off:before{content:"󱏃"}.mdi-table-filter:before{content:"󱮌"}.mdi-table-furniture:before{content:"󰖼"}.mdi-table-headers-eye:before{content:"󱈝"}.mdi-table-headers-eye-off:before{content:"󱈞"}.mdi-table-heart:before{content:"󱏄"}.mdi-table-key:before{content:"󱏅"}.mdi-table-large:before{content:"󰓱"}.mdi-table-large-plus:before{content:"󰾇"}.mdi-table-large-remove:before{content:"󰾈"}.mdi-table-lock:before{content:"󱏆"}.mdi-table-merge-cells:before{content:"󰦦"}.mdi-table-minus:before{content:"󱏇"}.mdi-table-multiple:before{content:"󱏈"}.mdi-table-network:before{content:"󱏉"}.mdi-table-of-contents:before{content:"󰠶"}.mdi-table-off:before{content:"󱏊"}.mdi-table-picnic:before{content:"󱝃"}.mdi-table-pivot:before{content:"󱠼"}.mdi-table-plus:before{content:"󰩵"}.mdi-table-question:before{content:"󱬡"}.mdi-table-refresh:before{content:"󱎠"}.mdi-table-remove:before{content:"󰩶"}.mdi-table-row:before{content:"󰠷"}.mdi-table-row-height:before{content:"󰓲"}.mdi-table-row-plus-after:before{content:"󰓳"}.mdi-table-row-plus-before:before{content:"󰓴"}.mdi-table-row-remove:before{content:"󰓵"}.mdi-table-search:before{content:"󰤏"}.mdi-table-settings:before{content:"󰠸"}.mdi-table-split-cell:before{content:"󱐪"}.mdi-table-star:before{content:"󱏋"}.mdi-table-sync:before{content:"󱎡"}.mdi-table-tennis:before{content:"󰹨"}.mdi-tablet:before{content:"󰓶"}.mdi-tablet-cellphone:before{content:"󰦧"}.mdi-tablet-dashboard:before{content:"󰻎"}.mdi-taco:before{content:"󰝢"}.mdi-tag:before{content:"󰓹"}.mdi-tag-arrow-down:before{content:"󱜫"}.mdi-tag-arrow-down-outline:before{content:"󱜬"}.mdi-tag-arrow-left:before{content:"󱜭"}.mdi-tag-arrow-left-outline:before{content:"󱜮"}.mdi-tag-arrow-right:before{content:"󱜯"}.mdi-tag-arrow-right-outline:before{content:"󱜰"}.mdi-tag-arrow-up:before{content:"󱜱"}.mdi-tag-arrow-up-outline:before{content:"󱜲"}.mdi-tag-check:before{content:"󱩺"}.mdi-tag-check-outline:before{content:"󱩻"}.mdi-tag-edit:before{content:"󱲜"}.mdi-tag-edit-outline:before{content:"󱲝"}.mdi-tag-faces:before{content:"󰓺"}.mdi-tag-heart:before{content:"󰚋"}.mdi-tag-heart-outline:before{content:"󰯏"}.mdi-tag-hidden:before{content:"󱱶"}.mdi-tag-minus:before{content:"󰤐"}.mdi-tag-minus-outline:before{content:"󱈟"}.mdi-tag-multiple:before{content:"󰓻"}.mdi-tag-multiple-outline:before{content:"󱋷"}.mdi-tag-off:before{content:"󱈠"}.mdi-tag-off-outline:before{content:"󱈡"}.mdi-tag-outline:before{content:"󰓼"}.mdi-tag-plus:before{content:"󰜢"}.mdi-tag-plus-outline:before{content:"󱈢"}.mdi-tag-remove:before{content:"󰜣"}.mdi-tag-remove-outline:before{content:"󱈣"}.mdi-tag-search:before{content:"󱤇"}.mdi-tag-search-outline:before{content:"󱤈"}.mdi-tag-text:before{content:"󱈤"}.mdi-tag-text-outline:before{content:"󰓽"}.mdi-tailwind:before{content:"󱏿"}.mdi-tally-mark-1:before{content:"󱪼"}.mdi-tally-mark-2:before{content:"󱪽"}.mdi-tally-mark-3:before{content:"󱪾"}.mdi-tally-mark-4:before{content:"󱪿"}.mdi-tally-mark-5:before{content:"󱫀"}.mdi-tangram:before{content:"󰓸"}.mdi-tank:before{content:"󰴺"}.mdi-tanker-truck:before{content:"󰿥"}.mdi-tape-drive:before{content:"󱛟"}.mdi-tape-measure:before{content:"󰭍"}.mdi-target:before{content:"󰓾"}.mdi-target-account:before{content:"󰯐"}.mdi-target-variant:before{content:"󰩷"}.mdi-taxi:before{content:"󰓿"}.mdi-tea:before{content:"󰶞"}.mdi-tea-outline:before{content:"󰶟"}.mdi-teamviewer:before{content:"󰔀"}.mdi-teddy-bear:before{content:"󱣻"}.mdi-telescope:before{content:"󰭎"}.mdi-television:before{content:"󰔂"}.mdi-television-ambient-light:before{content:"󱍖"}.mdi-television-box:before{content:"󰠹"}.mdi-television-classic:before{content:"󰟴"}.mdi-television-classic-off:before{content:"󰠺"}.mdi-television-guide:before{content:"󰔃"}.mdi-television-off:before{content:"󰠻"}.mdi-television-pause:before{content:"󰾉"}.mdi-television-play:before{content:"󰻏"}.mdi-television-shimmer:before{content:"󱄐"}.mdi-television-speaker:before{content:"󱬛"}.mdi-television-speaker-off:before{content:"󱬜"}.mdi-television-stop:before{content:"󰾊"}.mdi-temperature-celsius:before{content:"󰔄"}.mdi-temperature-fahrenheit:before{content:"󰔅"}.mdi-temperature-kelvin:before{content:"󰔆"}.mdi-temple-buddhist:before{content:"󱬆"}.mdi-temple-buddhist-outline:before{content:"󱬇"}.mdi-temple-hindu:before{content:"󱬈"}.mdi-temple-hindu-outline:before{content:"󱬉"}.mdi-tennis:before{content:"󰶠"}.mdi-tennis-ball:before{content:"󰔇"}.mdi-tennis-ball-outline:before{content:"󱱟"}.mdi-tent:before{content:"󰔈"}.mdi-terraform:before{content:"󱁢"}.mdi-terrain:before{content:"󰔉"}.mdi-test-tube:before{content:"󰙨"}.mdi-test-tube-empty:before{content:"󰤑"}.mdi-test-tube-off:before{content:"󰤒"}.mdi-text:before{content:"󰦨"}.mdi-text-account:before{content:"󱕰"}.mdi-text-box:before{content:"󰈚"}.mdi-text-box-check:before{content:"󰺦"}.mdi-text-box-check-outline:before{content:"󰺧"}.mdi-text-box-edit:before{content:"󱩼"}.mdi-text-box-edit-outline:before{content:"󱩽"}.mdi-text-box-minus:before{content:"󰺨"}.mdi-text-box-minus-outline:before{content:"󰺩"}.mdi-text-box-multiple:before{content:"󰪷"}.mdi-text-box-multiple-outline:before{content:"󰪸"}.mdi-text-box-outline:before{content:"󰧭"}.mdi-text-box-plus:before{content:"󰺪"}.mdi-text-box-plus-outline:before{content:"󰺫"}.mdi-text-box-remove:before{content:"󰺬"}.mdi-text-box-remove-outline:before{content:"󰺭"}.mdi-text-box-search:before{content:"󰺮"}.mdi-text-box-search-outline:before{content:"󰺯"}.mdi-text-long:before{content:"󰦪"}.mdi-text-recognition:before{content:"󱄽"}.mdi-text-search:before{content:"󱎸"}.mdi-text-search-variant:before{content:"󱩾"}.mdi-text-shadow:before{content:"󰙩"}.mdi-text-short:before{content:"󰦩"}.mdi-texture:before{content:"󰔌"}.mdi-texture-box:before{content:"󰿦"}.mdi-theater:before{content:"󰔍"}.mdi-theme-light-dark:before{content:"󰔎"}.mdi-thermometer:before{content:"󰔏"}.mdi-thermometer-alert:before{content:"󰸁"}.mdi-thermometer-auto:before{content:"󱬏"}.mdi-thermometer-bluetooth:before{content:"󱢕"}.mdi-thermometer-check:before{content:"󱩿"}.mdi-thermometer-chevron-down:before{content:"󰸂"}.mdi-thermometer-chevron-up:before{content:"󰸃"}.mdi-thermometer-high:before{content:"󱃂"}.mdi-thermometer-lines:before{content:"󰔐"}.mdi-thermometer-low:before{content:"󱃃"}.mdi-thermometer-minus:before{content:"󰸄"}.mdi-thermometer-off:before{content:"󱔱"}.mdi-thermometer-plus:before{content:"󰸅"}.mdi-thermometer-probe:before{content:"󱬫"}.mdi-thermometer-probe-off:before{content:"󱬬"}.mdi-thermometer-water:before{content:"󱪀"}.mdi-thermostat:before{content:"󰎓"}.mdi-thermostat-auto:before{content:"󱬗"}.mdi-thermostat-box:before{content:"󰢑"}.mdi-thermostat-box-auto:before{content:"󱬘"}.mdi-thermostat-cog:before{content:"󱲀"}.mdi-thought-bubble:before{content:"󰟶"}.mdi-thought-bubble-outline:before{content:"󰟷"}.mdi-thumb-down:before{content:"󰔑"}.mdi-thumb-down-outline:before{content:"󰔒"}.mdi-thumb-up:before{content:"󰔓"}.mdi-thumb-up-outline:before{content:"󰔔"}.mdi-thumbs-up-down:before{content:"󰔕"}.mdi-thumbs-up-down-outline:before{content:"󱤔"}.mdi-ticket:before{content:"󰔖"}.mdi-ticket-account:before{content:"󰔗"}.mdi-ticket-confirmation:before{content:"󰔘"}.mdi-ticket-confirmation-outline:before{content:"󱎪"}.mdi-ticket-outline:before{content:"󰤓"}.mdi-ticket-percent:before{content:"󰜤"}.mdi-ticket-percent-outline:before{content:"󱐫"}.mdi-tie:before{content:"󰔙"}.mdi-tilde:before{content:"󰜥"}.mdi-tilde-off:before{content:"󱣳"}.mdi-timelapse:before{content:"󰔚"}.mdi-timeline:before{content:"󰯑"}.mdi-timeline-alert:before{content:"󰾕"}.mdi-timeline-alert-outline:before{content:"󰾘"}.mdi-timeline-check:before{content:"󱔲"}.mdi-timeline-check-outline:before{content:"󱔳"}.mdi-timeline-clock:before{content:"󱇻"}.mdi-timeline-clock-outline:before{content:"󱇼"}.mdi-timeline-minus:before{content:"󱔴"}.mdi-timeline-minus-outline:before{content:"󱔵"}.mdi-timeline-outline:before{content:"󰯒"}.mdi-timeline-plus:before{content:"󰾖"}.mdi-timeline-plus-outline:before{content:"󰾗"}.mdi-timeline-question:before{content:"󰾙"}.mdi-timeline-question-outline:before{content:"󰾚"}.mdi-timeline-remove:before{content:"󱔶"}.mdi-timeline-remove-outline:before{content:"󱔷"}.mdi-timeline-text:before{content:"󰯓"}.mdi-timeline-text-outline:before{content:"󰯔"}.mdi-timer:before{content:"󱎫"}.mdi-timer-10:before{content:"󰔜"}.mdi-timer-3:before{content:"󰔝"}.mdi-timer-alert:before{content:"󱫌"}.mdi-timer-alert-outline:before{content:"󱫍"}.mdi-timer-cancel:before{content:"󱫎"}.mdi-timer-cancel-outline:before{content:"󱫏"}.mdi-timer-check:before{content:"󱫐"}.mdi-timer-check-outline:before{content:"󱫑"}.mdi-timer-cog:before{content:"󱤥"}.mdi-timer-cog-outline:before{content:"󱤦"}.mdi-timer-edit:before{content:"󱫒"}.mdi-timer-edit-outline:before{content:"󱫓"}.mdi-timer-lock:before{content:"󱫔"}.mdi-timer-lock-open:before{content:"󱫕"}.mdi-timer-lock-open-outline:before{content:"󱫖"}.mdi-timer-lock-outline:before{content:"󱫗"}.mdi-timer-marker:before{content:"󱫘"}.mdi-timer-marker-outline:before{content:"󱫙"}.mdi-timer-minus:before{content:"󱫚"}.mdi-timer-minus-outline:before{content:"󱫛"}.mdi-timer-music:before{content:"󱫜"}.mdi-timer-music-outline:before{content:"󱫝"}.mdi-timer-off:before{content:"󱎬"}.mdi-timer-off-outline:before{content:"󰔞"}.mdi-timer-outline:before{content:"󰔛"}.mdi-timer-pause:before{content:"󱫞"}.mdi-timer-pause-outline:before{content:"󱫟"}.mdi-timer-play:before{content:"󱫠"}.mdi-timer-play-outline:before{content:"󱫡"}.mdi-timer-plus:before{content:"󱫢"}.mdi-timer-plus-outline:before{content:"󱫣"}.mdi-timer-refresh:before{content:"󱫤"}.mdi-timer-refresh-outline:before{content:"󱫥"}.mdi-timer-remove:before{content:"󱫦"}.mdi-timer-remove-outline:before{content:"󱫧"}.mdi-timer-sand:before{content:"󰔟"}.mdi-timer-sand-complete:before{content:"󱦟"}.mdi-timer-sand-empty:before{content:"󰚭"}.mdi-timer-sand-full:before{content:"󰞌"}.mdi-timer-sand-paused:before{content:"󱦠"}.mdi-timer-settings:before{content:"󱤣"}.mdi-timer-settings-outline:before{content:"󱤤"}.mdi-timer-star:before{content:"󱫨"}.mdi-timer-star-outline:before{content:"󱫩"}.mdi-timer-stop:before{content:"󱫪"}.mdi-timer-stop-outline:before{content:"󱫫"}.mdi-timer-sync:before{content:"󱫬"}.mdi-timer-sync-outline:before{content:"󱫭"}.mdi-timetable:before{content:"󰔠"}.mdi-tire:before{content:"󱢖"}.mdi-toaster:before{content:"󱁣"}.mdi-toaster-off:before{content:"󱆷"}.mdi-toaster-oven:before{content:"󰳓"}.mdi-toggle-switch:before{content:"󰔡"}.mdi-toggle-switch-off:before{content:"󰔢"}.mdi-toggle-switch-off-outline:before{content:"󰨙"}.mdi-toggle-switch-outline:before{content:"󰨚"}.mdi-toggle-switch-variant:before{content:"󱨥"}.mdi-toggle-switch-variant-off:before{content:"󱨦"}.mdi-toilet:before{content:"󰦫"}.mdi-toolbox:before{content:"󰦬"}.mdi-toolbox-outline:before{content:"󰦭"}.mdi-tools:before{content:"󱁤"}.mdi-tooltip:before{content:"󰔣"}.mdi-tooltip-account:before{content:"󰀌"}.mdi-tooltip-cellphone:before{content:"󱠻"}.mdi-tooltip-check:before{content:"󱕜"}.mdi-tooltip-check-outline:before{content:"󱕝"}.mdi-tooltip-edit:before{content:"󰔤"}.mdi-tooltip-edit-outline:before{content:"󱋅"}.mdi-tooltip-image:before{content:"󰔥"}.mdi-tooltip-image-outline:before{content:"󰯕"}.mdi-tooltip-minus:before{content:"󱕞"}.mdi-tooltip-minus-outline:before{content:"󱕟"}.mdi-tooltip-outline:before{content:"󰔦"}.mdi-tooltip-plus:before{content:"󰯖"}.mdi-tooltip-plus-outline:before{content:"󰔧"}.mdi-tooltip-question:before{content:"󱮺"}.mdi-tooltip-question-outline:before{content:"󱮻"}.mdi-tooltip-remove:before{content:"󱕠"}.mdi-tooltip-remove-outline:before{content:"󱕡"}.mdi-tooltip-text:before{content:"󰔨"}.mdi-tooltip-text-outline:before{content:"󰯗"}.mdi-tooth:before{content:"󰣃"}.mdi-tooth-outline:before{content:"󰔩"}.mdi-toothbrush:before{content:"󱄩"}.mdi-toothbrush-electric:before{content:"󱄬"}.mdi-toothbrush-paste:before{content:"󱄪"}.mdi-torch:before{content:"󱘆"}.mdi-tortoise:before{content:"󰴻"}.mdi-toslink:before{content:"󱊸"}.mdi-touch-text-outline:before{content:"󱱠"}.mdi-tournament:before{content:"󰦮"}.mdi-tow-truck:before{content:"󰠼"}.mdi-tower-beach:before{content:"󰚁"}.mdi-tower-fire:before{content:"󰚂"}.mdi-town-hall:before{content:"󱡵"}.mdi-toy-brick:before{content:"󱊈"}.mdi-toy-brick-marker:before{content:"󱊉"}.mdi-toy-brick-marker-outline:before{content:"󱊊"}.mdi-toy-brick-minus:before{content:"󱊋"}.mdi-toy-brick-minus-outline:before{content:"󱊌"}.mdi-toy-brick-outline:before{content:"󱊍"}.mdi-toy-brick-plus:before{content:"󱊎"}.mdi-toy-brick-plus-outline:before{content:"󱊏"}.mdi-toy-brick-remove:before{content:"󱊐"}.mdi-toy-brick-remove-outline:before{content:"󱊑"}.mdi-toy-brick-search:before{content:"󱊒"}.mdi-toy-brick-search-outline:before{content:"󱊓"}.mdi-track-light:before{content:"󰤔"}.mdi-track-light-off:before{content:"󱬁"}.mdi-trackpad:before{content:"󰟸"}.mdi-trackpad-lock:before{content:"󰤳"}.mdi-tractor:before{content:"󰢒"}.mdi-tractor-variant:before{content:"󱓄"}.mdi-trademark:before{content:"󰩸"}.mdi-traffic-cone:before{content:"󱍼"}.mdi-traffic-light:before{content:"󰔫"}.mdi-traffic-light-outline:before{content:"󱠪"}.mdi-train:before{content:"󰔬"}.mdi-train-bus:before{content:"󱳇"}.mdi-train-car:before{content:"󰯘"}.mdi-train-car-autorack:before{content:"󱬭"}.mdi-train-car-box:before{content:"󱬮"}.mdi-train-car-box-full:before{content:"󱬯"}.mdi-train-car-box-open:before{content:"󱬰"}.mdi-train-car-caboose:before{content:"󱬱"}.mdi-train-car-centerbeam:before{content:"󱬲"}.mdi-train-car-centerbeam-full:before{content:"󱬳"}.mdi-train-car-container:before{content:"󱬴"}.mdi-train-car-flatbed:before{content:"󱬵"}.mdi-train-car-flatbed-car:before{content:"󱬶"}.mdi-train-car-flatbed-tank:before{content:"󱬷"}.mdi-train-car-gondola:before{content:"󱬸"}.mdi-train-car-gondola-full:before{content:"󱬹"}.mdi-train-car-hopper:before{content:"󱬺"}.mdi-train-car-hopper-covered:before{content:"󱬻"}.mdi-train-car-hopper-full:before{content:"󱬼"}.mdi-train-car-intermodal:before{content:"󱬽"}.mdi-train-car-passenger:before{content:"󱜳"}.mdi-train-car-passenger-door:before{content:"󱜴"}.mdi-train-car-passenger-door-open:before{content:"󱜵"}.mdi-train-car-passenger-variant:before{content:"󱜶"}.mdi-train-car-tank:before{content:"󱬾"}.mdi-train-variant:before{content:"󰣄"}.mdi-tram:before{content:"󰔭"}.mdi-tram-side:before{content:"󰿧"}.mdi-transcribe:before{content:"󰔮"}.mdi-transcribe-close:before{content:"󰔯"}.mdi-transfer:before{content:"󱁥"}.mdi-transfer-down:before{content:"󰶡"}.mdi-transfer-left:before{content:"󰶢"}.mdi-transfer-right:before{content:"󰔰"}.mdi-transfer-up:before{content:"󰶣"}.mdi-transit-connection:before{content:"󰴼"}.mdi-transit-connection-horizontal:before{content:"󱕆"}.mdi-transit-connection-variant:before{content:"󰴽"}.mdi-transit-detour:before{content:"󰾋"}.mdi-transit-skip:before{content:"󱔕"}.mdi-transit-transfer:before{content:"󰚮"}.mdi-transition:before{content:"󰤕"}.mdi-transition-masked:before{content:"󰤖"}.mdi-translate:before{content:"󰗊"}.mdi-translate-off:before{content:"󰸆"}.mdi-translate-variant:before{content:"󱮙"}.mdi-transmission-tower:before{content:"󰴾"}.mdi-transmission-tower-export:before{content:"󱤬"}.mdi-transmission-tower-import:before{content:"󱤭"}.mdi-transmission-tower-off:before{content:"󱧝"}.mdi-trash-can:before{content:"󰩹"}.mdi-trash-can-outline:before{content:"󰩺"}.mdi-tray:before{content:"󱊔"}.mdi-tray-alert:before{content:"󱊕"}.mdi-tray-arrow-down:before{content:"󰄠"}.mdi-tray-arrow-up:before{content:"󰄝"}.mdi-tray-full:before{content:"󱊖"}.mdi-tray-minus:before{content:"󱊗"}.mdi-tray-plus:before{content:"󱊘"}.mdi-tray-remove:before{content:"󱊙"}.mdi-treasure-chest:before{content:"󰜦"}.mdi-treasure-chest-outline:before{content:"󱱷"}.mdi-tree:before{content:"󰔱"}.mdi-tree-outline:before{content:"󰹩"}.mdi-trello:before{content:"󰔲"}.mdi-trending-down:before{content:"󰔳"}.mdi-trending-neutral:before{content:"󰔴"}.mdi-trending-up:before{content:"󰔵"}.mdi-triangle:before{content:"󰔶"}.mdi-triangle-down:before{content:"󱱖"}.mdi-triangle-down-outline:before{content:"󱱗"}.mdi-triangle-outline:before{content:"󰔷"}.mdi-triangle-small-down:before{content:"󱨉"}.mdi-triangle-small-up:before{content:"󱨊"}.mdi-triangle-wave:before{content:"󱑼"}.mdi-triforce:before{content:"󰯙"}.mdi-trophy:before{content:"󰔸"}.mdi-trophy-award:before{content:"󰔹"}.mdi-trophy-broken:before{content:"󰶤"}.mdi-trophy-outline:before{content:"󰔺"}.mdi-trophy-variant:before{content:"󰔻"}.mdi-trophy-variant-outline:before{content:"󰔼"}.mdi-truck:before{content:"󰔽"}.mdi-truck-alert:before{content:"󱧞"}.mdi-truck-alert-outline:before{content:"󱧟"}.mdi-truck-cargo-container:before{content:"󱣘"}.mdi-truck-check:before{content:"󰳔"}.mdi-truck-check-outline:before{content:"󱊚"}.mdi-truck-delivery:before{content:"󰔾"}.mdi-truck-delivery-outline:before{content:"󱊛"}.mdi-truck-fast:before{content:"󰞈"}.mdi-truck-fast-outline:before{content:"󱊜"}.mdi-truck-flatbed:before{content:"󱢑"}.mdi-truck-minus:before{content:"󱦮"}.mdi-truck-minus-outline:before{content:"󱦽"}.mdi-truck-off-road:before{content:"󱲞"}.mdi-truck-off-road-off:before{content:"󱲟"}.mdi-truck-outline:before{content:"󱊝"}.mdi-truck-plus:before{content:"󱦭"}.mdi-truck-plus-outline:before{content:"󱦼"}.mdi-truck-remove:before{content:"󱦯"}.mdi-truck-remove-outline:before{content:"󱦾"}.mdi-truck-snowflake:before{content:"󱦦"}.mdi-truck-trailer:before{content:"󰜧"}.mdi-trumpet:before{content:"󱂖"}.mdi-tshirt-crew:before{content:"󰩻"}.mdi-tshirt-crew-outline:before{content:"󰔿"}.mdi-tshirt-v:before{content:"󰩼"}.mdi-tshirt-v-outline:before{content:"󰕀"}.mdi-tsunami:before{content:"󱪁"}.mdi-tumble-dryer:before{content:"󰤗"}.mdi-tumble-dryer-alert:before{content:"󱆺"}.mdi-tumble-dryer-off:before{content:"󱆻"}.mdi-tune:before{content:"󰘮"}.mdi-tune-variant:before{content:"󱕂"}.mdi-tune-vertical:before{content:"󰙪"}.mdi-tune-vertical-variant:before{content:"󱕃"}.mdi-tunnel:before{content:"󱠽"}.mdi-tunnel-outline:before{content:"󱠾"}.mdi-turbine:before{content:"󱪂"}.mdi-turkey:before{content:"󱜛"}.mdi-turnstile:before{content:"󰳕"}.mdi-turnstile-outline:before{content:"󰳖"}.mdi-turtle:before{content:"󰳗"}.mdi-twitch:before{content:"󰕃"}.mdi-twitter:before{content:"󰕄"}.mdi-two-factor-authentication:before{content:"󰦯"}.mdi-typewriter:before{content:"󰼭"}.mdi-ubisoft:before{content:"󰯚"}.mdi-ubuntu:before{content:"󰕈"}.mdi-ufo:before{content:"󱃄"}.mdi-ufo-outline:before{content:"󱃅"}.mdi-ultra-high-definition:before{content:"󰟹"}.mdi-umbraco:before{content:"󰕉"}.mdi-umbrella:before{content:"󰕊"}.mdi-umbrella-beach:before{content:"󱢊"}.mdi-umbrella-beach-outline:before{content:"󱢋"}.mdi-umbrella-closed:before{content:"󰦰"}.mdi-umbrella-closed-outline:before{content:"󱏢"}.mdi-umbrella-closed-variant:before{content:"󱏡"}.mdi-umbrella-outline:before{content:"󰕋"}.mdi-underwear-outline:before{content:"󱴏"}.mdi-undo:before{content:"󰕌"}.mdi-undo-variant:before{content:"󰕍"}.mdi-unfold-less-horizontal:before{content:"󰕎"}.mdi-unfold-less-vertical:before{content:"󰝠"}.mdi-unfold-more-horizontal:before{content:"󰕏"}.mdi-unfold-more-vertical:before{content:"󰝡"}.mdi-ungroup:before{content:"󰕐"}.mdi-unicode:before{content:"󰻐"}.mdi-unicorn:before{content:"󱗂"}.mdi-unicorn-variant:before{content:"󱗃"}.mdi-unicycle:before{content:"󱗥"}.mdi-unity:before{content:"󰚯"}.mdi-unreal:before{content:"󰦱"}.mdi-update:before{content:"󰚰"}.mdi-upload:before{content:"󰕒"}.mdi-upload-box:before{content:"󱴐"}.mdi-upload-box-outline:before{content:"󱴑"}.mdi-upload-circle:before{content:"󱴒"}.mdi-upload-circle-outline:before{content:"󱴓"}.mdi-upload-lock:before{content:"󱍳"}.mdi-upload-lock-outline:before{content:"󱍴"}.mdi-upload-multiple:before{content:"󰠽"}.mdi-upload-multiple-outline:before{content:"󱴔"}.mdi-upload-network:before{content:"󰛶"}.mdi-upload-network-outline:before{content:"󰳘"}.mdi-upload-off:before{content:"󱃆"}.mdi-upload-off-outline:before{content:"󱃇"}.mdi-upload-outline:before{content:"󰸇"}.mdi-usb:before{content:"󰕓"}.mdi-usb-c-port:before{content:"󱲿"}.mdi-usb-flash-drive:before{content:"󱊞"}.mdi-usb-flash-drive-outline:before{content:"󱊟"}.mdi-usb-port:before{content:"󱇰"}.mdi-vacuum:before{content:"󱦡"}.mdi-vacuum-outline:before{content:"󱦢"}.mdi-valve:before{content:"󱁦"}.mdi-valve-closed:before{content:"󱁧"}.mdi-valve-open:before{content:"󱁨"}.mdi-van-passenger:before{content:"󰟺"}.mdi-van-utility:before{content:"󰟻"}.mdi-vanish:before{content:"󰟼"}.mdi-vanish-quarter:before{content:"󱕔"}.mdi-vanity-light:before{content:"󱇡"}.mdi-variable:before{content:"󰫧"}.mdi-variable-box:before{content:"󱄑"}.mdi-vector-arrange-above:before{content:"󰕔"}.mdi-vector-arrange-below:before{content:"󰕕"}.mdi-vector-bezier:before{content:"󰫨"}.mdi-vector-circle:before{content:"󰕖"}.mdi-vector-circle-variant:before{content:"󰕗"}.mdi-vector-combine:before{content:"󰕘"}.mdi-vector-curve:before{content:"󰕙"}.mdi-vector-difference:before{content:"󰕚"}.mdi-vector-difference-ab:before{content:"󰕛"}.mdi-vector-difference-ba:before{content:"󰕜"}.mdi-vector-ellipse:before{content:"󰢓"}.mdi-vector-intersection:before{content:"󰕝"}.mdi-vector-line:before{content:"󰕞"}.mdi-vector-link:before{content:"󰿨"}.mdi-vector-point:before{content:"󰇄"}.mdi-vector-point-edit:before{content:"󰧨"}.mdi-vector-point-minus:before{content:"󱭸"}.mdi-vector-point-plus:before{content:"󱭹"}.mdi-vector-point-select:before{content:"󰕟"}.mdi-vector-polygon:before{content:"󰕠"}.mdi-vector-polygon-variant:before{content:"󱡖"}.mdi-vector-polyline:before{content:"󰕡"}.mdi-vector-polyline-edit:before{content:"󱈥"}.mdi-vector-polyline-minus:before{content:"󱈦"}.mdi-vector-polyline-plus:before{content:"󱈧"}.mdi-vector-polyline-remove:before{content:"󱈨"}.mdi-vector-radius:before{content:"󰝊"}.mdi-vector-rectangle:before{content:"󰗆"}.mdi-vector-selection:before{content:"󰕢"}.mdi-vector-square:before{content:"󰀁"}.mdi-vector-square-close:before{content:"󱡗"}.mdi-vector-square-edit:before{content:"󱣙"}.mdi-vector-square-minus:before{content:"󱣚"}.mdi-vector-square-open:before{content:"󱡘"}.mdi-vector-square-plus:before{content:"󱣛"}.mdi-vector-square-remove:before{content:"󱣜"}.mdi-vector-triangle:before{content:"󰕣"}.mdi-vector-union:before{content:"󰕤"}.mdi-vhs:before{content:"󰨛"}.mdi-vibrate:before{content:"󰕦"}.mdi-vibrate-off:before{content:"󰳙"}.mdi-video:before{content:"󰕧"}.mdi-video-2d:before{content:"󱨜"}.mdi-video-3d:before{content:"󰟽"}.mdi-video-3d-off:before{content:"󱏙"}.mdi-video-3d-variant:before{content:"󰻑"}.mdi-video-4k-box:before{content:"󰠾"}.mdi-video-account:before{content:"󰤙"}.mdi-video-box:before{content:"󰃽"}.mdi-video-box-off:before{content:"󰃾"}.mdi-video-check:before{content:"󱁩"}.mdi-video-check-outline:before{content:"󱁪"}.mdi-video-high-definition:before{content:"󱔮"}.mdi-video-image:before{content:"󰤚"}.mdi-video-input-antenna:before{content:"󰠿"}.mdi-video-input-component:before{content:"󰡀"}.mdi-video-input-hdmi:before{content:"󰡁"}.mdi-video-input-scart:before{content:"󰾌"}.mdi-video-input-svideo:before{content:"󰡂"}.mdi-video-marker:before{content:"󱦩"}.mdi-video-marker-outline:before{content:"󱦪"}.mdi-video-minus:before{content:"󰦲"}.mdi-video-minus-outline:before{content:"󰊺"}.mdi-video-off:before{content:"󰕨"}.mdi-video-off-outline:before{content:"󰯛"}.mdi-video-outline:before{content:"󰯜"}.mdi-video-plus:before{content:"󰦳"}.mdi-video-plus-outline:before{content:"󰇓"}.mdi-video-stabilization:before{content:"󰤛"}.mdi-video-standard-definition:before{content:"󱲠"}.mdi-video-switch:before{content:"󰕩"}.mdi-video-switch-outline:before{content:"󰞐"}.mdi-video-vintage:before{content:"󰨜"}.mdi-video-wireless:before{content:"󰻒"}.mdi-video-wireless-outline:before{content:"󰻓"}.mdi-view-agenda:before{content:"󰕪"}.mdi-view-agenda-outline:before{content:"󱇘"}.mdi-view-array:before{content:"󰕫"}.mdi-view-array-outline:before{content:"󱒅"}.mdi-view-carousel:before{content:"󰕬"}.mdi-view-carousel-outline:before{content:"󱒆"}.mdi-view-column:before{content:"󰕭"}.mdi-view-column-outline:before{content:"󱒇"}.mdi-view-comfy:before{content:"󰹪"}.mdi-view-comfy-outline:before{content:"󱒈"}.mdi-view-compact:before{content:"󰹫"}.mdi-view-compact-outline:before{content:"󰹬"}.mdi-view-dashboard:before{content:"󰕮"}.mdi-view-dashboard-edit:before{content:"󱥇"}.mdi-view-dashboard-edit-outline:before{content:"󱥈"}.mdi-view-dashboard-outline:before{content:"󰨝"}.mdi-view-dashboard-variant:before{content:"󰡃"}.mdi-view-dashboard-variant-outline:before{content:"󱒉"}.mdi-view-day:before{content:"󰕯"}.mdi-view-day-outline:before{content:"󱒊"}.mdi-view-gallery:before{content:"󱢈"}.mdi-view-gallery-outline:before{content:"󱢉"}.mdi-view-grid:before{content:"󰕰"}.mdi-view-grid-compact:before{content:"󱱡"}.mdi-view-grid-outline:before{content:"󱇙"}.mdi-view-grid-plus:before{content:"󰾍"}.mdi-view-grid-plus-outline:before{content:"󱇚"}.mdi-view-headline:before{content:"󰕱"}.mdi-view-list:before{content:"󰕲"}.mdi-view-list-outline:before{content:"󱒋"}.mdi-view-module:before{content:"󰕳"}.mdi-view-module-outline:before{content:"󱒌"}.mdi-view-parallel:before{content:"󰜨"}.mdi-view-parallel-outline:before{content:"󱒍"}.mdi-view-quilt:before{content:"󰕴"}.mdi-view-quilt-outline:before{content:"󱒎"}.mdi-view-sequential:before{content:"󰜩"}.mdi-view-sequential-outline:before{content:"󱒏"}.mdi-view-split-horizontal:before{content:"󰯋"}.mdi-view-split-vertical:before{content:"󰯌"}.mdi-view-stream:before{content:"󰕵"}.mdi-view-stream-outline:before{content:"󱒐"}.mdi-view-week:before{content:"󰕶"}.mdi-view-week-outline:before{content:"󱒑"}.mdi-vimeo:before{content:"󰕷"}.mdi-violin:before{content:"󰘏"}.mdi-virtual-reality:before{content:"󰢔"}.mdi-virus:before{content:"󱎶"}.mdi-virus-off:before{content:"󱣡"}.mdi-virus-off-outline:before{content:"󱣢"}.mdi-virus-outline:before{content:"󱎷"}.mdi-vlc:before{content:"󰕼"}.mdi-voicemail:before{content:"󰕽"}.mdi-volcano:before{content:"󱪃"}.mdi-volcano-outline:before{content:"󱪄"}.mdi-volleyball:before{content:"󰦴"}.mdi-volume-equal:before{content:"󱬐"}.mdi-volume-high:before{content:"󰕾"}.mdi-volume-low:before{content:"󰕿"}.mdi-volume-medium:before{content:"󰖀"}.mdi-volume-minus:before{content:"󰝞"}.mdi-volume-mute:before{content:"󰝟"}.mdi-volume-off:before{content:"󰖁"}.mdi-volume-plus:before{content:"󰝝"}.mdi-volume-source:before{content:"󱄠"}.mdi-volume-variant-off:before{content:"󰸈"}.mdi-volume-vibrate:before{content:"󱄡"}.mdi-vote:before{content:"󰨟"}.mdi-vote-outline:before{content:"󰨠"}.mdi-vpn:before{content:"󰖂"}.mdi-vuejs:before{content:"󰡄"}.mdi-vuetify:before{content:"󰹭"}.mdi-walk:before{content:"󰖃"}.mdi-wall:before{content:"󰟾"}.mdi-wall-fire:before{content:"󱨑"}.mdi-wall-sconce:before{content:"󰤜"}.mdi-wall-sconce-flat:before{content:"󰤝"}.mdi-wall-sconce-flat-outline:before{content:"󱟉"}.mdi-wall-sconce-flat-variant:before{content:"󰐜"}.mdi-wall-sconce-flat-variant-outline:before{content:"󱟊"}.mdi-wall-sconce-outline:before{content:"󱟋"}.mdi-wall-sconce-round:before{content:"󰝈"}.mdi-wall-sconce-round-outline:before{content:"󱟌"}.mdi-wall-sconce-round-variant:before{content:"󰤞"}.mdi-wall-sconce-round-variant-outline:before{content:"󱟍"}.mdi-wallet:before{content:"󰖄"}.mdi-wallet-bifold:before{content:"󱱘"}.mdi-wallet-bifold-outline:before{content:"󱱙"}.mdi-wallet-giftcard:before{content:"󰖅"}.mdi-wallet-membership:before{content:"󰖆"}.mdi-wallet-outline:before{content:"󰯝"}.mdi-wallet-plus:before{content:"󰾎"}.mdi-wallet-plus-outline:before{content:"󰾏"}.mdi-wallet-travel:before{content:"󰖇"}.mdi-wallpaper:before{content:"󰸉"}.mdi-wan:before{content:"󰖈"}.mdi-wardrobe:before{content:"󰾐"}.mdi-wardrobe-outline:before{content:"󰾑"}.mdi-warehouse:before{content:"󰾁"}.mdi-washing-machine:before{content:"󰜪"}.mdi-washing-machine-alert:before{content:"󱆼"}.mdi-washing-machine-off:before{content:"󱆽"}.mdi-watch:before{content:"󰖉"}.mdi-watch-export:before{content:"󰖊"}.mdi-watch-export-variant:before{content:"󰢕"}.mdi-watch-import:before{content:"󰖋"}.mdi-watch-import-variant:before{content:"󰢖"}.mdi-watch-variant:before{content:"󰢗"}.mdi-watch-vibrate:before{content:"󰚱"}.mdi-watch-vibrate-off:before{content:"󰳚"}.mdi-water:before{content:"󰖌"}.mdi-water-alert:before{content:"󱔂"}.mdi-water-alert-outline:before{content:"󱔃"}.mdi-water-boiler:before{content:"󰾒"}.mdi-water-boiler-alert:before{content:"󱆳"}.mdi-water-boiler-auto:before{content:"󱮘"}.mdi-water-boiler-off:before{content:"󱆴"}.mdi-water-check:before{content:"󱔄"}.mdi-water-check-outline:before{content:"󱔅"}.mdi-water-circle:before{content:"󱠆"}.mdi-water-minus:before{content:"󱔆"}.mdi-water-minus-outline:before{content:"󱔇"}.mdi-water-off:before{content:"󰖍"}.mdi-water-off-outline:before{content:"󱔈"}.mdi-water-opacity:before{content:"󱡕"}.mdi-water-outline:before{content:"󰸊"}.mdi-water-percent:before{content:"󰖎"}.mdi-water-percent-alert:before{content:"󱔉"}.mdi-water-plus:before{content:"󱔊"}.mdi-water-plus-outline:before{content:"󱔋"}.mdi-water-polo:before{content:"󱊠"}.mdi-water-pump:before{content:"󰖏"}.mdi-water-pump-off:before{content:"󰾓"}.mdi-water-remove:before{content:"󱔌"}.mdi-water-remove-outline:before{content:"󱔍"}.mdi-water-sync:before{content:"󱟆"}.mdi-water-thermometer:before{content:"󱪅"}.mdi-water-thermometer-outline:before{content:"󱪆"}.mdi-water-well:before{content:"󱁫"}.mdi-water-well-outline:before{content:"󱁬"}.mdi-waterfall:before{content:"󱡉"}.mdi-watering-can:before{content:"󱒁"}.mdi-watering-can-outline:before{content:"󱒂"}.mdi-watermark:before{content:"󰘒"}.mdi-wave:before{content:"󰼮"}.mdi-wave-arrow-down:before{content:"󱲰"}.mdi-wave-arrow-up:before{content:"󱲱"}.mdi-wave-undercurrent:before{content:"󱳀"}.mdi-waveform:before{content:"󱑽"}.mdi-waves:before{content:"󰞍"}.mdi-waves-arrow-left:before{content:"󱡙"}.mdi-waves-arrow-right:before{content:"󱡚"}.mdi-waves-arrow-up:before{content:"󱡛"}.mdi-waze:before{content:"󰯞"}.mdi-weather-cloudy:before{content:"󰖐"}.mdi-weather-cloudy-alert:before{content:"󰼯"}.mdi-weather-cloudy-arrow-right:before{content:"󰹮"}.mdi-weather-cloudy-clock:before{content:"󱣶"}.mdi-weather-dust:before{content:"󱭚"}.mdi-weather-fog:before{content:"󰖑"}.mdi-weather-hail:before{content:"󰖒"}.mdi-weather-hazy:before{content:"󰼰"}.mdi-weather-hurricane:before{content:"󰢘"}.mdi-weather-hurricane-outline:before{content:"󱱸"}.mdi-weather-lightning:before{content:"󰖓"}.mdi-weather-lightning-rainy:before{content:"󰙾"}.mdi-weather-moonset:before{content:"󱴕"}.mdi-weather-moonset-down:before{content:"󱴖"}.mdi-weather-moonset-up:before{content:"󱴗"}.mdi-weather-night:before{content:"󰖔"}.mdi-weather-night-partly-cloudy:before{content:"󰼱"}.mdi-weather-partly-cloudy:before{content:"󰖕"}.mdi-weather-partly-lightning:before{content:"󰼲"}.mdi-weather-partly-rainy:before{content:"󰼳"}.mdi-weather-partly-snowy:before{content:"󰼴"}.mdi-weather-partly-snowy-rainy:before{content:"󰼵"}.mdi-weather-pouring:before{content:"󰖖"}.mdi-weather-rainy:before{content:"󰖗"}.mdi-weather-snowy:before{content:"󰖘"}.mdi-weather-snowy-heavy:before{content:"󰼶"}.mdi-weather-snowy-rainy:before{content:"󰙿"}.mdi-weather-sunny:before{content:"󰖙"}.mdi-weather-sunny-alert:before{content:"󰼷"}.mdi-weather-sunny-off:before{content:"󱓤"}.mdi-weather-sunset:before{content:"󰖚"}.mdi-weather-sunset-down:before{content:"󰖛"}.mdi-weather-sunset-up:before{content:"󰖜"}.mdi-weather-tornado:before{content:"󰼸"}.mdi-weather-windy:before{content:"󰖝"}.mdi-weather-windy-variant:before{content:"󰖞"}.mdi-web:before{content:"󰖟"}.mdi-web-box:before{content:"󰾔"}.mdi-web-cancel:before{content:"󱞐"}.mdi-web-check:before{content:"󰞉"}.mdi-web-clock:before{content:"󱉊"}.mdi-web-minus:before{content:"󱂠"}.mdi-web-off:before{content:"󰪎"}.mdi-web-plus:before{content:"󰀳"}.mdi-web-refresh:before{content:"󱞑"}.mdi-web-remove:before{content:"󰕑"}.mdi-web-sync:before{content:"󱞒"}.mdi-webcam:before{content:"󰖠"}.mdi-webcam-off:before{content:"󱜷"}.mdi-webhook:before{content:"󰘯"}.mdi-webpack:before{content:"󰜫"}.mdi-webrtc:before{content:"󱉈"}.mdi-wechat:before{content:"󰘑"}.mdi-weight:before{content:"󰖡"}.mdi-weight-gram:before{content:"󰴿"}.mdi-weight-kilogram:before{content:"󰖢"}.mdi-weight-lifter:before{content:"󱅝"}.mdi-weight-pound:before{content:"󰦵"}.mdi-whatsapp:before{content:"󰖣"}.mdi-wheel-barrow:before{content:"󱓲"}.mdi-wheelchair:before{content:"󱪇"}.mdi-wheelchair-accessibility:before{content:"󰖤"}.mdi-whistle:before{content:"󰦶"}.mdi-whistle-outline:before{content:"󱊼"}.mdi-white-balance-auto:before{content:"󰖥"}.mdi-white-balance-incandescent:before{content:"󰖦"}.mdi-white-balance-iridescent:before{content:"󰖧"}.mdi-white-balance-sunny:before{content:"󰖨"}.mdi-widgets:before{content:"󰜬"}.mdi-widgets-outline:before{content:"󱍕"}.mdi-wifi:before{content:"󰖩"}.mdi-wifi-alert:before{content:"󱚵"}.mdi-wifi-arrow-down:before{content:"󱚶"}.mdi-wifi-arrow-left:before{content:"󱚷"}.mdi-wifi-arrow-left-right:before{content:"󱚸"}.mdi-wifi-arrow-right:before{content:"󱚹"}.mdi-wifi-arrow-up:before{content:"󱚺"}.mdi-wifi-arrow-up-down:before{content:"󱚻"}.mdi-wifi-cancel:before{content:"󱚼"}.mdi-wifi-check:before{content:"󱚽"}.mdi-wifi-cog:before{content:"󱚾"}.mdi-wifi-lock:before{content:"󱚿"}.mdi-wifi-lock-open:before{content:"󱛀"}.mdi-wifi-marker:before{content:"󱛁"}.mdi-wifi-minus:before{content:"󱛂"}.mdi-wifi-off:before{content:"󰖪"}.mdi-wifi-plus:before{content:"󱛃"}.mdi-wifi-refresh:before{content:"󱛄"}.mdi-wifi-remove:before{content:"󱛅"}.mdi-wifi-settings:before{content:"󱛆"}.mdi-wifi-star:before{content:"󰸋"}.mdi-wifi-strength-1:before{content:"󰤟"}.mdi-wifi-strength-1-alert:before{content:"󰤠"}.mdi-wifi-strength-1-lock:before{content:"󰤡"}.mdi-wifi-strength-1-lock-open:before{content:"󱛋"}.mdi-wifi-strength-2:before{content:"󰤢"}.mdi-wifi-strength-2-alert:before{content:"󰤣"}.mdi-wifi-strength-2-lock:before{content:"󰤤"}.mdi-wifi-strength-2-lock-open:before{content:"󱛌"}.mdi-wifi-strength-3:before{content:"󰤥"}.mdi-wifi-strength-3-alert:before{content:"󰤦"}.mdi-wifi-strength-3-lock:before{content:"󰤧"}.mdi-wifi-strength-3-lock-open:before{content:"󱛍"}.mdi-wifi-strength-4:before{content:"󰤨"}.mdi-wifi-strength-4-alert:before{content:"󰤩"}.mdi-wifi-strength-4-lock:before{content:"󰤪"}.mdi-wifi-strength-4-lock-open:before{content:"󱛎"}.mdi-wifi-strength-alert-outline:before{content:"󰤫"}.mdi-wifi-strength-lock-open-outline:before{content:"󱛏"}.mdi-wifi-strength-lock-outline:before{content:"󰤬"}.mdi-wifi-strength-off:before{content:"󰤭"}.mdi-wifi-strength-off-outline:before{content:"󰤮"}.mdi-wifi-strength-outline:before{content:"󰤯"}.mdi-wifi-sync:before{content:"󱛇"}.mdi-wikipedia:before{content:"󰖬"}.mdi-wind-power:before{content:"󱪈"}.mdi-wind-power-outline:before{content:"󱪉"}.mdi-wind-turbine:before{content:"󰶥"}.mdi-wind-turbine-alert:before{content:"󱦫"}.mdi-wind-turbine-check:before{content:"󱦬"}.mdi-window-close:before{content:"󰖭"}.mdi-window-closed:before{content:"󰖮"}.mdi-window-closed-variant:before{content:"󱇛"}.mdi-window-maximize:before{content:"󰖯"}.mdi-window-minimize:before{content:"󰖰"}.mdi-window-open:before{content:"󰖱"}.mdi-window-open-variant:before{content:"󱇜"}.mdi-window-restore:before{content:"󰖲"}.mdi-window-shutter:before{content:"󱄜"}.mdi-window-shutter-alert:before{content:"󱄝"}.mdi-window-shutter-auto:before{content:"󱮣"}.mdi-window-shutter-cog:before{content:"󱪊"}.mdi-window-shutter-open:before{content:"󱄞"}.mdi-window-shutter-settings:before{content:"󱪋"}.mdi-windsock:before{content:"󱗺"}.mdi-wiper:before{content:"󰫩"}.mdi-wiper-wash:before{content:"󰶦"}.mdi-wiper-wash-alert:before{content:"󱣟"}.mdi-wizard-hat:before{content:"󱑷"}.mdi-wordpress:before{content:"󰖴"}.mdi-wrap:before{content:"󰖶"}.mdi-wrap-disabled:before{content:"󰯟"}.mdi-wrench:before{content:"󰖷"}.mdi-wrench-check:before{content:"󱮏"}.mdi-wrench-check-outline:before{content:"󱮐"}.mdi-wrench-clock:before{content:"󱦣"}.mdi-wrench-clock-outline:before{content:"󱮓"}.mdi-wrench-cog:before{content:"󱮑"}.mdi-wrench-cog-outline:before{content:"󱮒"}.mdi-wrench-outline:before{content:"󰯠"}.mdi-xamarin:before{content:"󰡅"}.mdi-xml:before{content:"󰗀"}.mdi-xmpp:before{content:"󰟿"}.mdi-yahoo:before{content:"󰭏"}.mdi-yeast:before{content:"󰗁"}.mdi-yin-yang:before{content:"󰚀"}.mdi-yoga:before{content:"󱅼"}.mdi-youtube:before{content:"󰗃"}.mdi-youtube-gaming:before{content:"󰡈"}.mdi-youtube-studio:before{content:"󰡇"}.mdi-youtube-subscription:before{content:"󰵀"}.mdi-youtube-tv:before{content:"󰑈"}.mdi-yurt:before{content:"󱔖"}.mdi-z-wave:before{content:"󰫪"}.mdi-zend:before{content:"󰫫"}.mdi-zigbee:before{content:"󰵁"}.mdi-zip-box:before{content:"󰗄"}.mdi-zip-box-outline:before{content:"󰿺"}.mdi-zip-disk:before{content:"󰨣"}.mdi-zodiac-aquarius:before{content:"󰩽"}.mdi-zodiac-aries:before{content:"󰩾"}.mdi-zodiac-cancer:before{content:"󰩿"}.mdi-zodiac-capricorn:before{content:"󰪀"}.mdi-zodiac-gemini:before{content:"󰪁"}.mdi-zodiac-leo:before{content:"󰪂"}.mdi-zodiac-libra:before{content:"󰪃"}.mdi-zodiac-pisces:before{content:"󰪄"}.mdi-zodiac-sagittarius:before{content:"󰪅"}.mdi-zodiac-scorpio:before{content:"󰪆"}.mdi-zodiac-taurus:before{content:"󰪇"}.mdi-zodiac-virgo:before{content:"󰪈"}.mdi-blank:before{content:"";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:#0000008a}.mdi-dark.mdi-inactive:before{color:#00000042}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:#ffffff4d}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s infinite linear;animation:mdi-spin 2s infinite linear}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes v-shake{59%{margin-left:0}60%,80%{margin-left:2px}70%,90%{margin-left:-2px}}/*! +@charset "UTF-8";/* MaterialDesignIcons.com */ +@font-face { + font-family: "Material Design Icons"; + src: url("/assets/materialdesignicons-webfont.eot?v=7.4.47"); + src: url("/assets/materialdesignicons-webfont.eot?#iefix&v=7.4.47") format("embedded-opentype"), url("/assets/materialdesignicons-webfont.woff2?v=7.4.47") format("woff2"), url("/assets/materialdesignicons-webfont.woff?v=7.4.47") format("woff"), url("/assets/materialdesignicons-webfont.ttf?v=7.4.47") format("truetype"); + font-weight: normal; + font-style: normal; +} + +.mdi:before, +.mdi-set { + display: inline-block; + font: normal normal normal 24px/1 "Material Design Icons"; + font-size: inherit; + text-rendering: auto; + line-height: inherit; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.mdi-ab-testing::before { + content: "\F01C9"; +} + +.mdi-abacus::before { + content: "\F16E0"; +} + +.mdi-abjad-arabic::before { + content: "\F1328"; +} + +.mdi-abjad-hebrew::before { + content: "\F1329"; +} + +.mdi-abugida-devanagari::before { + content: "\F132A"; +} + +.mdi-abugida-thai::before { + content: "\F132B"; +} + +.mdi-access-point::before { + content: "\F0003"; +} + +.mdi-access-point-check::before { + content: "\F1538"; +} + +.mdi-access-point-minus::before { + content: "\F1539"; +} + +.mdi-access-point-network::before { + content: "\F0002"; +} + +.mdi-access-point-network-off::before { + content: "\F0BE1"; +} + +.mdi-access-point-off::before { + content: "\F1511"; +} + +.mdi-access-point-plus::before { + content: "\F153A"; +} + +.mdi-access-point-remove::before { + content: "\F153B"; +} + +.mdi-account::before { + content: "\F0004"; +} + +.mdi-account-alert::before { + content: "\F0005"; +} + +.mdi-account-alert-outline::before { + content: "\F0B50"; +} + +.mdi-account-arrow-down::before { + content: "\F1868"; +} + +.mdi-account-arrow-down-outline::before { + content: "\F1869"; +} + +.mdi-account-arrow-left::before { + content: "\F0B51"; +} + +.mdi-account-arrow-left-outline::before { + content: "\F0B52"; +} + +.mdi-account-arrow-right::before { + content: "\F0B53"; +} + +.mdi-account-arrow-right-outline::before { + content: "\F0B54"; +} + +.mdi-account-arrow-up::before { + content: "\F1867"; +} + +.mdi-account-arrow-up-outline::before { + content: "\F186A"; +} + +.mdi-account-badge::before { + content: "\F1B0A"; +} + +.mdi-account-badge-outline::before { + content: "\F1B0B"; +} + +.mdi-account-box::before { + content: "\F0006"; +} + +.mdi-account-box-edit-outline::before { + content: "\F1CC8"; +} + +.mdi-account-box-minus-outline::before { + content: "\F1CC9"; +} + +.mdi-account-box-multiple::before { + content: "\F0934"; +} + +.mdi-account-box-multiple-outline::before { + content: "\F100A"; +} + +.mdi-account-box-outline::before { + content: "\F0007"; +} + +.mdi-account-box-plus-outline::before { + content: "\F1CCA"; +} + +.mdi-account-cancel::before { + content: "\F12DF"; +} + +.mdi-account-cancel-outline::before { + content: "\F12E0"; +} + +.mdi-account-card::before { + content: "\F1BA4"; +} + +.mdi-account-card-outline::before { + content: "\F1BA5"; +} + +.mdi-account-cash::before { + content: "\F1097"; +} + +.mdi-account-cash-outline::before { + content: "\F1098"; +} + +.mdi-account-check::before { + content: "\F0008"; +} + +.mdi-account-check-outline::before { + content: "\F0BE2"; +} + +.mdi-account-child::before { + content: "\F0A89"; +} + +.mdi-account-child-circle::before { + content: "\F0A8A"; +} + +.mdi-account-child-outline::before { + content: "\F10C8"; +} + +.mdi-account-circle::before { + content: "\F0009"; +} + +.mdi-account-circle-outline::before { + content: "\F0B55"; +} + +.mdi-account-clock::before { + content: "\F0B56"; +} + +.mdi-account-clock-outline::before { + content: "\F0B57"; +} + +.mdi-account-cog::before { + content: "\F1370"; +} + +.mdi-account-cog-outline::before { + content: "\F1371"; +} + +.mdi-account-convert::before { + content: "\F000A"; +} + +.mdi-account-convert-outline::before { + content: "\F1301"; +} + +.mdi-account-cowboy-hat::before { + content: "\F0E9B"; +} + +.mdi-account-cowboy-hat-outline::before { + content: "\F17F3"; +} + +.mdi-account-credit-card::before { + content: "\F1BA6"; +} + +.mdi-account-credit-card-outline::before { + content: "\F1BA7"; +} + +.mdi-account-details::before { + content: "\F0631"; +} + +.mdi-account-details-outline::before { + content: "\F1372"; +} + +.mdi-account-edit::before { + content: "\F06BC"; +} + +.mdi-account-edit-outline::before { + content: "\F0FFB"; +} + +.mdi-account-eye::before { + content: "\F0420"; +} + +.mdi-account-eye-outline::before { + content: "\F127B"; +} + +.mdi-account-file::before { + content: "\F1CA7"; +} + +.mdi-account-file-outline::before { + content: "\F1CA8"; +} + +.mdi-account-file-text::before { + content: "\F1CA9"; +} + +.mdi-account-file-text-outline::before { + content: "\F1CAA"; +} + +.mdi-account-filter::before { + content: "\F0936"; +} + +.mdi-account-filter-outline::before { + content: "\F0F9D"; +} + +.mdi-account-group::before { + content: "\F0849"; +} + +.mdi-account-group-outline::before { + content: "\F0B58"; +} + +.mdi-account-hard-hat::before { + content: "\F05B5"; +} + +.mdi-account-hard-hat-outline::before { + content: "\F1A1F"; +} + +.mdi-account-heart::before { + content: "\F0899"; +} + +.mdi-account-heart-outline::before { + content: "\F0BE3"; +} + +.mdi-account-injury::before { + content: "\F1815"; +} + +.mdi-account-injury-outline::before { + content: "\F1816"; +} + +.mdi-account-key::before { + content: "\F000B"; +} + +.mdi-account-key-outline::before { + content: "\F0BE4"; +} + +.mdi-account-lock::before { + content: "\F115E"; +} + +.mdi-account-lock-open::before { + content: "\F1960"; +} + +.mdi-account-lock-open-outline::before { + content: "\F1961"; +} + +.mdi-account-lock-outline::before { + content: "\F115F"; +} + +.mdi-account-minus::before { + content: "\F000D"; +} + +.mdi-account-minus-outline::before { + content: "\F0AEC"; +} + +.mdi-account-multiple::before { + content: "\F000E"; +} + +.mdi-account-multiple-check::before { + content: "\F08C5"; +} + +.mdi-account-multiple-check-outline::before { + content: "\F11FE"; +} + +.mdi-account-multiple-minus::before { + content: "\F05D3"; +} + +.mdi-account-multiple-minus-outline::before { + content: "\F0BE5"; +} + +.mdi-account-multiple-outline::before { + content: "\F000F"; +} + +.mdi-account-multiple-plus::before { + content: "\F0010"; +} + +.mdi-account-multiple-plus-outline::before { + content: "\F0800"; +} + +.mdi-account-multiple-remove::before { + content: "\F120A"; +} + +.mdi-account-multiple-remove-outline::before { + content: "\F120B"; +} + +.mdi-account-music::before { + content: "\F0803"; +} + +.mdi-account-music-outline::before { + content: "\F0CE9"; +} + +.mdi-account-network::before { + content: "\F0011"; +} + +.mdi-account-network-off::before { + content: "\F1AF1"; +} + +.mdi-account-network-off-outline::before { + content: "\F1AF2"; +} + +.mdi-account-network-outline::before { + content: "\F0BE6"; +} + +.mdi-account-off::before { + content: "\F0012"; +} + +.mdi-account-off-outline::before { + content: "\F0BE7"; +} + +.mdi-account-outline::before { + content: "\F0013"; +} + +.mdi-account-plus::before { + content: "\F0014"; +} + +.mdi-account-plus-outline::before { + content: "\F0801"; +} + +.mdi-account-question::before { + content: "\F0B59"; +} + +.mdi-account-question-outline::before { + content: "\F0B5A"; +} + +.mdi-account-reactivate::before { + content: "\F152B"; +} + +.mdi-account-reactivate-outline::before { + content: "\F152C"; +} + +.mdi-account-remove::before { + content: "\F0015"; +} + +.mdi-account-remove-outline::before { + content: "\F0AED"; +} + +.mdi-account-school::before { + content: "\F1A20"; +} + +.mdi-account-school-outline::before { + content: "\F1A21"; +} + +.mdi-account-search::before { + content: "\F0016"; +} + +.mdi-account-search-outline::before { + content: "\F0935"; +} + +.mdi-account-settings::before { + content: "\F0630"; +} + +.mdi-account-settings-outline::before { + content: "\F10C9"; +} + +.mdi-account-star::before { + content: "\F0017"; +} + +.mdi-account-star-outline::before { + content: "\F0BE8"; +} + +.mdi-account-supervisor::before { + content: "\F0A8B"; +} + +.mdi-account-supervisor-circle::before { + content: "\F0A8C"; +} + +.mdi-account-supervisor-circle-outline::before { + content: "\F14EC"; +} + +.mdi-account-supervisor-outline::before { + content: "\F112D"; +} + +.mdi-account-switch::before { + content: "\F0019"; +} + +.mdi-account-switch-outline::before { + content: "\F04CB"; +} + +.mdi-account-sync::before { + content: "\F191B"; +} + +.mdi-account-sync-outline::before { + content: "\F191C"; +} + +.mdi-account-tag::before { + content: "\F1C1B"; +} + +.mdi-account-tag-outline::before { + content: "\F1C1C"; +} + +.mdi-account-tie::before { + content: "\F0CE3"; +} + +.mdi-account-tie-hat::before { + content: "\F1898"; +} + +.mdi-account-tie-hat-outline::before { + content: "\F1899"; +} + +.mdi-account-tie-outline::before { + content: "\F10CA"; +} + +.mdi-account-tie-voice::before { + content: "\F1308"; +} + +.mdi-account-tie-voice-off::before { + content: "\F130A"; +} + +.mdi-account-tie-voice-off-outline::before { + content: "\F130B"; +} + +.mdi-account-tie-voice-outline::before { + content: "\F1309"; +} + +.mdi-account-tie-woman::before { + content: "\F1A8C"; +} + +.mdi-account-voice::before { + content: "\F05CB"; +} + +.mdi-account-voice-off::before { + content: "\F0ED4"; +} + +.mdi-account-wrench::before { + content: "\F189A"; +} + +.mdi-account-wrench-outline::before { + content: "\F189B"; +} + +.mdi-adjust::before { + content: "\F001A"; +} + +.mdi-advertisements::before { + content: "\F192A"; +} + +.mdi-advertisements-off::before { + content: "\F192B"; +} + +.mdi-air-conditioner::before { + content: "\F001B"; +} + +.mdi-air-filter::before { + content: "\F0D43"; +} + +.mdi-air-horn::before { + content: "\F0DAC"; +} + +.mdi-air-humidifier::before { + content: "\F1099"; +} + +.mdi-air-humidifier-off::before { + content: "\F1466"; +} + +.mdi-air-purifier::before { + content: "\F0D44"; +} + +.mdi-air-purifier-off::before { + content: "\F1B57"; +} + +.mdi-airbag::before { + content: "\F0BE9"; +} + +.mdi-airballoon::before { + content: "\F001C"; +} + +.mdi-airballoon-outline::before { + content: "\F100B"; +} + +.mdi-airplane::before { + content: "\F001D"; +} + +.mdi-airplane-alert::before { + content: "\F187A"; +} + +.mdi-airplane-check::before { + content: "\F187B"; +} + +.mdi-airplane-clock::before { + content: "\F187C"; +} + +.mdi-airplane-cog::before { + content: "\F187D"; +} + +.mdi-airplane-edit::before { + content: "\F187E"; +} + +.mdi-airplane-landing::before { + content: "\F05D4"; +} + +.mdi-airplane-marker::before { + content: "\F187F"; +} + +.mdi-airplane-minus::before { + content: "\F1880"; +} + +.mdi-airplane-off::before { + content: "\F001E"; +} + +.mdi-airplane-plus::before { + content: "\F1881"; +} + +.mdi-airplane-remove::before { + content: "\F1882"; +} + +.mdi-airplane-search::before { + content: "\F1883"; +} + +.mdi-airplane-settings::before { + content: "\F1884"; +} + +.mdi-airplane-takeoff::before { + content: "\F05D5"; +} + +.mdi-airport::before { + content: "\F084B"; +} + +.mdi-alarm::before { + content: "\F0020"; +} + +.mdi-alarm-bell::before { + content: "\F078E"; +} + +.mdi-alarm-check::before { + content: "\F0021"; +} + +.mdi-alarm-light::before { + content: "\F078F"; +} + +.mdi-alarm-light-off::before { + content: "\F171E"; +} + +.mdi-alarm-light-off-outline::before { + content: "\F171F"; +} + +.mdi-alarm-light-outline::before { + content: "\F0BEA"; +} + +.mdi-alarm-multiple::before { + content: "\F0022"; +} + +.mdi-alarm-note::before { + content: "\F0E71"; +} + +.mdi-alarm-note-off::before { + content: "\F0E72"; +} + +.mdi-alarm-off::before { + content: "\F0023"; +} + +.mdi-alarm-panel::before { + content: "\F15C4"; +} + +.mdi-alarm-panel-outline::before { + content: "\F15C5"; +} + +.mdi-alarm-plus::before { + content: "\F0024"; +} + +.mdi-alarm-snooze::before { + content: "\F068E"; +} + +.mdi-album::before { + content: "\F0025"; +} + +.mdi-alert::before { + content: "\F0026"; +} + +.mdi-alert-box::before { + content: "\F0027"; +} + +.mdi-alert-box-outline::before { + content: "\F0CE4"; +} + +.mdi-alert-circle::before { + content: "\F0028"; +} + +.mdi-alert-circle-check::before { + content: "\F11ED"; +} + +.mdi-alert-circle-check-outline::before { + content: "\F11EE"; +} + +.mdi-alert-circle-outline::before { + content: "\F05D6"; +} + +.mdi-alert-decagram::before { + content: "\F06BD"; +} + +.mdi-alert-decagram-outline::before { + content: "\F0CE5"; +} + +.mdi-alert-minus::before { + content: "\F14BB"; +} + +.mdi-alert-minus-outline::before { + content: "\F14BE"; +} + +.mdi-alert-octagon::before { + content: "\F0029"; +} + +.mdi-alert-octagon-outline::before { + content: "\F0CE6"; +} + +.mdi-alert-octagram::before { + content: "\F0767"; +} + +.mdi-alert-octagram-outline::before { + content: "\F0CE7"; +} + +.mdi-alert-outline::before { + content: "\F002A"; +} + +.mdi-alert-plus::before { + content: "\F14BA"; +} + +.mdi-alert-plus-outline::before { + content: "\F14BD"; +} + +.mdi-alert-remove::before { + content: "\F14BC"; +} + +.mdi-alert-remove-outline::before { + content: "\F14BF"; +} + +.mdi-alert-rhombus::before { + content: "\F11CE"; +} + +.mdi-alert-rhombus-outline::before { + content: "\F11CF"; +} + +.mdi-alien::before { + content: "\F089A"; +} + +.mdi-alien-outline::before { + content: "\F10CB"; +} + +.mdi-align-horizontal-center::before { + content: "\F11C3"; +} + +.mdi-align-horizontal-distribute::before { + content: "\F1962"; +} + +.mdi-align-horizontal-left::before { + content: "\F11C2"; +} + +.mdi-align-horizontal-right::before { + content: "\F11C4"; +} + +.mdi-align-vertical-bottom::before { + content: "\F11C5"; +} + +.mdi-align-vertical-center::before { + content: "\F11C6"; +} + +.mdi-align-vertical-distribute::before { + content: "\F1963"; +} + +.mdi-align-vertical-top::before { + content: "\F11C7"; +} + +.mdi-all-inclusive::before { + content: "\F06BE"; +} + +.mdi-all-inclusive-box::before { + content: "\F188D"; +} + +.mdi-all-inclusive-box-outline::before { + content: "\F188E"; +} + +.mdi-allergy::before { + content: "\F1258"; +} + +.mdi-alpha::before { + content: "\F002B"; +} + +.mdi-alpha-a::before { + content: "\F0AEE"; +} + +.mdi-alpha-a-box::before { + content: "\F0B08"; +} + +.mdi-alpha-a-box-outline::before { + content: "\F0BEB"; +} + +.mdi-alpha-a-circle::before { + content: "\F0BEC"; +} + +.mdi-alpha-a-circle-outline::before { + content: "\F0BED"; +} + +.mdi-alpha-b::before { + content: "\F0AEF"; +} + +.mdi-alpha-b-box::before { + content: "\F0B09"; +} + +.mdi-alpha-b-box-outline::before { + content: "\F0BEE"; +} + +.mdi-alpha-b-circle::before { + content: "\F0BEF"; +} + +.mdi-alpha-b-circle-outline::before { + content: "\F0BF0"; +} + +.mdi-alpha-c::before { + content: "\F0AF0"; +} + +.mdi-alpha-c-box::before { + content: "\F0B0A"; +} + +.mdi-alpha-c-box-outline::before { + content: "\F0BF1"; +} + +.mdi-alpha-c-circle::before { + content: "\F0BF2"; +} + +.mdi-alpha-c-circle-outline::before { + content: "\F0BF3"; +} + +.mdi-alpha-d::before { + content: "\F0AF1"; +} + +.mdi-alpha-d-box::before { + content: "\F0B0B"; +} + +.mdi-alpha-d-box-outline::before { + content: "\F0BF4"; +} + +.mdi-alpha-d-circle::before { + content: "\F0BF5"; +} + +.mdi-alpha-d-circle-outline::before { + content: "\F0BF6"; +} + +.mdi-alpha-e::before { + content: "\F0AF2"; +} + +.mdi-alpha-e-box::before { + content: "\F0B0C"; +} + +.mdi-alpha-e-box-outline::before { + content: "\F0BF7"; +} + +.mdi-alpha-e-circle::before { + content: "\F0BF8"; +} + +.mdi-alpha-e-circle-outline::before { + content: "\F0BF9"; +} + +.mdi-alpha-f::before { + content: "\F0AF3"; +} + +.mdi-alpha-f-box::before { + content: "\F0B0D"; +} + +.mdi-alpha-f-box-outline::before { + content: "\F0BFA"; +} + +.mdi-alpha-f-circle::before { + content: "\F0BFB"; +} + +.mdi-alpha-f-circle-outline::before { + content: "\F0BFC"; +} + +.mdi-alpha-g::before { + content: "\F0AF4"; +} + +.mdi-alpha-g-box::before { + content: "\F0B0E"; +} + +.mdi-alpha-g-box-outline::before { + content: "\F0BFD"; +} + +.mdi-alpha-g-circle::before { + content: "\F0BFE"; +} + +.mdi-alpha-g-circle-outline::before { + content: "\F0BFF"; +} + +.mdi-alpha-h::before { + content: "\F0AF5"; +} + +.mdi-alpha-h-box::before { + content: "\F0B0F"; +} + +.mdi-alpha-h-box-outline::before { + content: "\F0C00"; +} + +.mdi-alpha-h-circle::before { + content: "\F0C01"; +} + +.mdi-alpha-h-circle-outline::before { + content: "\F0C02"; +} + +.mdi-alpha-i::before { + content: "\F0AF6"; +} + +.mdi-alpha-i-box::before { + content: "\F0B10"; +} + +.mdi-alpha-i-box-outline::before { + content: "\F0C03"; +} + +.mdi-alpha-i-circle::before { + content: "\F0C04"; +} + +.mdi-alpha-i-circle-outline::before { + content: "\F0C05"; +} + +.mdi-alpha-j::before { + content: "\F0AF7"; +} + +.mdi-alpha-j-box::before { + content: "\F0B11"; +} + +.mdi-alpha-j-box-outline::before { + content: "\F0C06"; +} + +.mdi-alpha-j-circle::before { + content: "\F0C07"; +} + +.mdi-alpha-j-circle-outline::before { + content: "\F0C08"; +} + +.mdi-alpha-k::before { + content: "\F0AF8"; +} + +.mdi-alpha-k-box::before { + content: "\F0B12"; +} + +.mdi-alpha-k-box-outline::before { + content: "\F0C09"; +} + +.mdi-alpha-k-circle::before { + content: "\F0C0A"; +} + +.mdi-alpha-k-circle-outline::before { + content: "\F0C0B"; +} + +.mdi-alpha-l::before { + content: "\F0AF9"; +} + +.mdi-alpha-l-box::before { + content: "\F0B13"; +} + +.mdi-alpha-l-box-outline::before { + content: "\F0C0C"; +} + +.mdi-alpha-l-circle::before { + content: "\F0C0D"; +} + +.mdi-alpha-l-circle-outline::before { + content: "\F0C0E"; +} + +.mdi-alpha-m::before { + content: "\F0AFA"; +} + +.mdi-alpha-m-box::before { + content: "\F0B14"; +} + +.mdi-alpha-m-box-outline::before { + content: "\F0C0F"; +} + +.mdi-alpha-m-circle::before { + content: "\F0C10"; +} + +.mdi-alpha-m-circle-outline::before { + content: "\F0C11"; +} + +.mdi-alpha-n::before { + content: "\F0AFB"; +} + +.mdi-alpha-n-box::before { + content: "\F0B15"; +} + +.mdi-alpha-n-box-outline::before { + content: "\F0C12"; +} + +.mdi-alpha-n-circle::before { + content: "\F0C13"; +} + +.mdi-alpha-n-circle-outline::before { + content: "\F0C14"; +} + +.mdi-alpha-o::before { + content: "\F0AFC"; +} + +.mdi-alpha-o-box::before { + content: "\F0B16"; +} + +.mdi-alpha-o-box-outline::before { + content: "\F0C15"; +} + +.mdi-alpha-o-circle::before { + content: "\F0C16"; +} + +.mdi-alpha-o-circle-outline::before { + content: "\F0C17"; +} + +.mdi-alpha-p::before { + content: "\F0AFD"; +} + +.mdi-alpha-p-box::before { + content: "\F0B17"; +} + +.mdi-alpha-p-box-outline::before { + content: "\F0C18"; +} + +.mdi-alpha-p-circle::before { + content: "\F0C19"; +} + +.mdi-alpha-p-circle-outline::before { + content: "\F0C1A"; +} + +.mdi-alpha-q::before { + content: "\F0AFE"; +} + +.mdi-alpha-q-box::before { + content: "\F0B18"; +} + +.mdi-alpha-q-box-outline::before { + content: "\F0C1B"; +} + +.mdi-alpha-q-circle::before { + content: "\F0C1C"; +} + +.mdi-alpha-q-circle-outline::before { + content: "\F0C1D"; +} + +.mdi-alpha-r::before { + content: "\F0AFF"; +} + +.mdi-alpha-r-box::before { + content: "\F0B19"; +} + +.mdi-alpha-r-box-outline::before { + content: "\F0C1E"; +} + +.mdi-alpha-r-circle::before { + content: "\F0C1F"; +} + +.mdi-alpha-r-circle-outline::before { + content: "\F0C20"; +} + +.mdi-alpha-s::before { + content: "\F0B00"; +} + +.mdi-alpha-s-box::before { + content: "\F0B1A"; +} + +.mdi-alpha-s-box-outline::before { + content: "\F0C21"; +} + +.mdi-alpha-s-circle::before { + content: "\F0C22"; +} + +.mdi-alpha-s-circle-outline::before { + content: "\F0C23"; +} + +.mdi-alpha-t::before { + content: "\F0B01"; +} + +.mdi-alpha-t-box::before { + content: "\F0B1B"; +} + +.mdi-alpha-t-box-outline::before { + content: "\F0C24"; +} + +.mdi-alpha-t-circle::before { + content: "\F0C25"; +} + +.mdi-alpha-t-circle-outline::before { + content: "\F0C26"; +} + +.mdi-alpha-u::before { + content: "\F0B02"; +} + +.mdi-alpha-u-box::before { + content: "\F0B1C"; +} + +.mdi-alpha-u-box-outline::before { + content: "\F0C27"; +} + +.mdi-alpha-u-circle::before { + content: "\F0C28"; +} + +.mdi-alpha-u-circle-outline::before { + content: "\F0C29"; +} + +.mdi-alpha-v::before { + content: "\F0B03"; +} + +.mdi-alpha-v-box::before { + content: "\F0B1D"; +} + +.mdi-alpha-v-box-outline::before { + content: "\F0C2A"; +} + +.mdi-alpha-v-circle::before { + content: "\F0C2B"; +} + +.mdi-alpha-v-circle-outline::before { + content: "\F0C2C"; +} + +.mdi-alpha-w::before { + content: "\F0B04"; +} + +.mdi-alpha-w-box::before { + content: "\F0B1E"; +} + +.mdi-alpha-w-box-outline::before { + content: "\F0C2D"; +} + +.mdi-alpha-w-circle::before { + content: "\F0C2E"; +} + +.mdi-alpha-w-circle-outline::before { + content: "\F0C2F"; +} + +.mdi-alpha-x::before { + content: "\F0B05"; +} + +.mdi-alpha-x-box::before { + content: "\F0B1F"; +} + +.mdi-alpha-x-box-outline::before { + content: "\F0C30"; +} + +.mdi-alpha-x-circle::before { + content: "\F0C31"; +} + +.mdi-alpha-x-circle-outline::before { + content: "\F0C32"; +} + +.mdi-alpha-y::before { + content: "\F0B06"; +} + +.mdi-alpha-y-box::before { + content: "\F0B20"; +} + +.mdi-alpha-y-box-outline::before { + content: "\F0C33"; +} + +.mdi-alpha-y-circle::before { + content: "\F0C34"; +} + +.mdi-alpha-y-circle-outline::before { + content: "\F0C35"; +} + +.mdi-alpha-z::before { + content: "\F0B07"; +} + +.mdi-alpha-z-box::before { + content: "\F0B21"; +} + +.mdi-alpha-z-box-outline::before { + content: "\F0C36"; +} + +.mdi-alpha-z-circle::before { + content: "\F0C37"; +} + +.mdi-alpha-z-circle-outline::before { + content: "\F0C38"; +} + +.mdi-alphabet-aurebesh::before { + content: "\F132C"; +} + +.mdi-alphabet-cyrillic::before { + content: "\F132D"; +} + +.mdi-alphabet-greek::before { + content: "\F132E"; +} + +.mdi-alphabet-latin::before { + content: "\F132F"; +} + +.mdi-alphabet-piqad::before { + content: "\F1330"; +} + +.mdi-alphabet-tengwar::before { + content: "\F1337"; +} + +.mdi-alphabetical::before { + content: "\F002C"; +} + +.mdi-alphabetical-off::before { + content: "\F100C"; +} + +.mdi-alphabetical-variant::before { + content: "\F100D"; +} + +.mdi-alphabetical-variant-off::before { + content: "\F100E"; +} + +.mdi-altimeter::before { + content: "\F05D7"; +} + +.mdi-ambulance::before { + content: "\F002F"; +} + +.mdi-ammunition::before { + content: "\F0CE8"; +} + +.mdi-ampersand::before { + content: "\F0A8D"; +} + +.mdi-amplifier::before { + content: "\F0030"; +} + +.mdi-amplifier-off::before { + content: "\F11B5"; +} + +.mdi-anchor::before { + content: "\F0031"; +} + +.mdi-android::before { + content: "\F0032"; +} + +.mdi-android-studio::before { + content: "\F0034"; +} + +.mdi-angle-acute::before { + content: "\F0937"; +} + +.mdi-angle-obtuse::before { + content: "\F0938"; +} + +.mdi-angle-right::before { + content: "\F0939"; +} + +.mdi-angular::before { + content: "\F06B2"; +} + +.mdi-angularjs::before { + content: "\F06BF"; +} + +.mdi-animation::before { + content: "\F05D8"; +} + +.mdi-animation-outline::before { + content: "\F0A8F"; +} + +.mdi-animation-play::before { + content: "\F093A"; +} + +.mdi-animation-play-outline::before { + content: "\F0A90"; +} + +.mdi-ansible::before { + content: "\F109A"; +} + +.mdi-antenna::before { + content: "\F1119"; +} + +.mdi-anvil::before { + content: "\F089B"; +} + +.mdi-apache-kafka::before { + content: "\F100F"; +} + +.mdi-api::before { + content: "\F109B"; +} + +.mdi-api-off::before { + content: "\F1257"; +} + +.mdi-apple::before { + content: "\F0035"; +} + +.mdi-apple-finder::before { + content: "\F0036"; +} + +.mdi-apple-icloud::before { + content: "\F0038"; +} + +.mdi-apple-ios::before { + content: "\F0037"; +} + +.mdi-apple-keyboard-caps::before { + content: "\F0632"; +} + +.mdi-apple-keyboard-command::before { + content: "\F0633"; +} + +.mdi-apple-keyboard-control::before { + content: "\F0634"; +} + +.mdi-apple-keyboard-option::before { + content: "\F0635"; +} + +.mdi-apple-keyboard-shift::before { + content: "\F0636"; +} + +.mdi-apple-safari::before { + content: "\F0039"; +} + +.mdi-application::before { + content: "\F08C6"; +} + +.mdi-application-array::before { + content: "\F10F5"; +} + +.mdi-application-array-outline::before { + content: "\F10F6"; +} + +.mdi-application-braces::before { + content: "\F10F7"; +} + +.mdi-application-braces-outline::before { + content: "\F10F8"; +} + +.mdi-application-brackets::before { + content: "\F0C8B"; +} + +.mdi-application-brackets-outline::before { + content: "\F0C8C"; +} + +.mdi-application-cog::before { + content: "\F0675"; +} + +.mdi-application-cog-outline::before { + content: "\F1577"; +} + +.mdi-application-edit::before { + content: "\F00AE"; +} + +.mdi-application-edit-outline::before { + content: "\F0619"; +} + +.mdi-application-export::before { + content: "\F0DAD"; +} + +.mdi-application-import::before { + content: "\F0DAE"; +} + +.mdi-application-outline::before { + content: "\F0614"; +} + +.mdi-application-parentheses::before { + content: "\F10F9"; +} + +.mdi-application-parentheses-outline::before { + content: "\F10FA"; +} + +.mdi-application-settings::before { + content: "\F0B60"; +} + +.mdi-application-settings-outline::before { + content: "\F1555"; +} + +.mdi-application-variable::before { + content: "\F10FB"; +} + +.mdi-application-variable-outline::before { + content: "\F10FC"; +} + +.mdi-approximately-equal::before { + content: "\F0F9E"; +} + +.mdi-approximately-equal-box::before { + content: "\F0F9F"; +} + +.mdi-apps::before { + content: "\F003B"; +} + +.mdi-apps-box::before { + content: "\F0D46"; +} + +.mdi-arch::before { + content: "\F08C7"; +} + +.mdi-archive::before { + content: "\F003C"; +} + +.mdi-archive-alert::before { + content: "\F14FD"; +} + +.mdi-archive-alert-outline::before { + content: "\F14FE"; +} + +.mdi-archive-arrow-down::before { + content: "\F1259"; +} + +.mdi-archive-arrow-down-outline::before { + content: "\F125A"; +} + +.mdi-archive-arrow-up::before { + content: "\F125B"; +} + +.mdi-archive-arrow-up-outline::before { + content: "\F125C"; +} + +.mdi-archive-cancel::before { + content: "\F174B"; +} + +.mdi-archive-cancel-outline::before { + content: "\F174C"; +} + +.mdi-archive-check::before { + content: "\F174D"; +} + +.mdi-archive-check-outline::before { + content: "\F174E"; +} + +.mdi-archive-clock::before { + content: "\F174F"; +} + +.mdi-archive-clock-outline::before { + content: "\F1750"; +} + +.mdi-archive-cog::before { + content: "\F1751"; +} + +.mdi-archive-cog-outline::before { + content: "\F1752"; +} + +.mdi-archive-edit::before { + content: "\F1753"; +} + +.mdi-archive-edit-outline::before { + content: "\F1754"; +} + +.mdi-archive-eye::before { + content: "\F1755"; +} + +.mdi-archive-eye-outline::before { + content: "\F1756"; +} + +.mdi-archive-lock::before { + content: "\F1757"; +} + +.mdi-archive-lock-open::before { + content: "\F1758"; +} + +.mdi-archive-lock-open-outline::before { + content: "\F1759"; +} + +.mdi-archive-lock-outline::before { + content: "\F175A"; +} + +.mdi-archive-marker::before { + content: "\F175B"; +} + +.mdi-archive-marker-outline::before { + content: "\F175C"; +} + +.mdi-archive-minus::before { + content: "\F175D"; +} + +.mdi-archive-minus-outline::before { + content: "\F175E"; +} + +.mdi-archive-music::before { + content: "\F175F"; +} + +.mdi-archive-music-outline::before { + content: "\F1760"; +} + +.mdi-archive-off::before { + content: "\F1761"; +} + +.mdi-archive-off-outline::before { + content: "\F1762"; +} + +.mdi-archive-outline::before { + content: "\F120E"; +} + +.mdi-archive-plus::before { + content: "\F1763"; +} + +.mdi-archive-plus-outline::before { + content: "\F1764"; +} + +.mdi-archive-refresh::before { + content: "\F1765"; +} + +.mdi-archive-refresh-outline::before { + content: "\F1766"; +} + +.mdi-archive-remove::before { + content: "\F1767"; +} + +.mdi-archive-remove-outline::before { + content: "\F1768"; +} + +.mdi-archive-search::before { + content: "\F1769"; +} + +.mdi-archive-search-outline::before { + content: "\F176A"; +} + +.mdi-archive-settings::before { + content: "\F176B"; +} + +.mdi-archive-settings-outline::before { + content: "\F176C"; +} + +.mdi-archive-star::before { + content: "\F176D"; +} + +.mdi-archive-star-outline::before { + content: "\F176E"; +} + +.mdi-archive-sync::before { + content: "\F176F"; +} + +.mdi-archive-sync-outline::before { + content: "\F1770"; +} + +.mdi-arm-flex::before { + content: "\F0FD7"; +} + +.mdi-arm-flex-outline::before { + content: "\F0FD6"; +} + +.mdi-arrange-bring-forward::before { + content: "\F003D"; +} + +.mdi-arrange-bring-to-front::before { + content: "\F003E"; +} + +.mdi-arrange-send-backward::before { + content: "\F003F"; +} + +.mdi-arrange-send-to-back::before { + content: "\F0040"; +} + +.mdi-arrow-all::before { + content: "\F0041"; +} + +.mdi-arrow-bottom-left::before { + content: "\F0042"; +} + +.mdi-arrow-bottom-left-bold-box::before { + content: "\F1964"; +} + +.mdi-arrow-bottom-left-bold-box-outline::before { + content: "\F1965"; +} + +.mdi-arrow-bottom-left-bold-outline::before { + content: "\F09B7"; +} + +.mdi-arrow-bottom-left-thick::before { + content: "\F09B8"; +} + +.mdi-arrow-bottom-left-thin::before { + content: "\F19B6"; +} + +.mdi-arrow-bottom-left-thin-circle-outline::before { + content: "\F1596"; +} + +.mdi-arrow-bottom-right::before { + content: "\F0043"; +} + +.mdi-arrow-bottom-right-bold-box::before { + content: "\F1966"; +} + +.mdi-arrow-bottom-right-bold-box-outline::before { + content: "\F1967"; +} + +.mdi-arrow-bottom-right-bold-outline::before { + content: "\F09B9"; +} + +.mdi-arrow-bottom-right-thick::before { + content: "\F09BA"; +} + +.mdi-arrow-bottom-right-thin::before { + content: "\F19B7"; +} + +.mdi-arrow-bottom-right-thin-circle-outline::before { + content: "\F1595"; +} + +.mdi-arrow-collapse::before { + content: "\F0615"; +} + +.mdi-arrow-collapse-all::before { + content: "\F0044"; +} + +.mdi-arrow-collapse-down::before { + content: "\F0792"; +} + +.mdi-arrow-collapse-horizontal::before { + content: "\F084C"; +} + +.mdi-arrow-collapse-left::before { + content: "\F0793"; +} + +.mdi-arrow-collapse-right::before { + content: "\F0794"; +} + +.mdi-arrow-collapse-up::before { + content: "\F0795"; +} + +.mdi-arrow-collapse-vertical::before { + content: "\F084D"; +} + +.mdi-arrow-decision::before { + content: "\F09BB"; +} + +.mdi-arrow-decision-auto::before { + content: "\F09BC"; +} + +.mdi-arrow-decision-auto-outline::before { + content: "\F09BD"; +} + +.mdi-arrow-decision-outline::before { + content: "\F09BE"; +} + +.mdi-arrow-down::before { + content: "\F0045"; +} + +.mdi-arrow-down-bold::before { + content: "\F072E"; +} + +.mdi-arrow-down-bold-box::before { + content: "\F072F"; +} + +.mdi-arrow-down-bold-box-outline::before { + content: "\F0730"; +} + +.mdi-arrow-down-bold-circle::before { + content: "\F0047"; +} + +.mdi-arrow-down-bold-circle-outline::before { + content: "\F0048"; +} + +.mdi-arrow-down-bold-hexagon-outline::before { + content: "\F0049"; +} + +.mdi-arrow-down-bold-outline::before { + content: "\F09BF"; +} + +.mdi-arrow-down-box::before { + content: "\F06C0"; +} + +.mdi-arrow-down-circle::before { + content: "\F0CDB"; +} + +.mdi-arrow-down-circle-outline::before { + content: "\F0CDC"; +} + +.mdi-arrow-down-drop-circle::before { + content: "\F004A"; +} + +.mdi-arrow-down-drop-circle-outline::before { + content: "\F004B"; +} + +.mdi-arrow-down-left::before { + content: "\F17A1"; +} + +.mdi-arrow-down-left-bold::before { + content: "\F17A2"; +} + +.mdi-arrow-down-right::before { + content: "\F17A3"; +} + +.mdi-arrow-down-right-bold::before { + content: "\F17A4"; +} + +.mdi-arrow-down-thick::before { + content: "\F0046"; +} + +.mdi-arrow-down-thin::before { + content: "\F19B3"; +} + +.mdi-arrow-down-thin-circle-outline::before { + content: "\F1599"; +} + +.mdi-arrow-expand::before { + content: "\F0616"; +} + +.mdi-arrow-expand-all::before { + content: "\F004C"; +} + +.mdi-arrow-expand-down::before { + content: "\F0796"; +} + +.mdi-arrow-expand-horizontal::before { + content: "\F084E"; +} + +.mdi-arrow-expand-left::before { + content: "\F0797"; +} + +.mdi-arrow-expand-right::before { + content: "\F0798"; +} + +.mdi-arrow-expand-up::before { + content: "\F0799"; +} + +.mdi-arrow-expand-vertical::before { + content: "\F084F"; +} + +.mdi-arrow-horizontal-lock::before { + content: "\F115B"; +} + +.mdi-arrow-left::before { + content: "\F004D"; +} + +.mdi-arrow-left-bold::before { + content: "\F0731"; +} + +.mdi-arrow-left-bold-box::before { + content: "\F0732"; +} + +.mdi-arrow-left-bold-box-outline::before { + content: "\F0733"; +} + +.mdi-arrow-left-bold-circle::before { + content: "\F004F"; +} + +.mdi-arrow-left-bold-circle-outline::before { + content: "\F0050"; +} + +.mdi-arrow-left-bold-hexagon-outline::before { + content: "\F0051"; +} + +.mdi-arrow-left-bold-outline::before { + content: "\F09C0"; +} + +.mdi-arrow-left-bottom::before { + content: "\F17A5"; +} + +.mdi-arrow-left-bottom-bold::before { + content: "\F17A6"; +} + +.mdi-arrow-left-box::before { + content: "\F06C1"; +} + +.mdi-arrow-left-circle::before { + content: "\F0CDD"; +} + +.mdi-arrow-left-circle-outline::before { + content: "\F0CDE"; +} + +.mdi-arrow-left-drop-circle::before { + content: "\F0052"; +} + +.mdi-arrow-left-drop-circle-outline::before { + content: "\F0053"; +} + +.mdi-arrow-left-right::before { + content: "\F0E73"; +} + +.mdi-arrow-left-right-bold::before { + content: "\F0E74"; +} + +.mdi-arrow-left-right-bold-outline::before { + content: "\F09C1"; +} + +.mdi-arrow-left-thick::before { + content: "\F004E"; +} + +.mdi-arrow-left-thin::before { + content: "\F19B1"; +} + +.mdi-arrow-left-thin-circle-outline::before { + content: "\F159A"; +} + +.mdi-arrow-left-top::before { + content: "\F17A7"; +} + +.mdi-arrow-left-top-bold::before { + content: "\F17A8"; +} + +.mdi-arrow-oscillating::before { + content: "\F1C91"; +} + +.mdi-arrow-oscillating-off::before { + content: "\F1C92"; +} + +.mdi-arrow-projectile::before { + content: "\F1840"; +} + +.mdi-arrow-projectile-multiple::before { + content: "\F183F"; +} + +.mdi-arrow-right::before { + content: "\F0054"; +} + +.mdi-arrow-right-bold::before { + content: "\F0734"; +} + +.mdi-arrow-right-bold-box::before { + content: "\F0735"; +} + +.mdi-arrow-right-bold-box-outline::before { + content: "\F0736"; +} + +.mdi-arrow-right-bold-circle::before { + content: "\F0056"; +} + +.mdi-arrow-right-bold-circle-outline::before { + content: "\F0057"; +} + +.mdi-arrow-right-bold-hexagon-outline::before { + content: "\F0058"; +} + +.mdi-arrow-right-bold-outline::before { + content: "\F09C2"; +} + +.mdi-arrow-right-bottom::before { + content: "\F17A9"; +} + +.mdi-arrow-right-bottom-bold::before { + content: "\F17AA"; +} + +.mdi-arrow-right-box::before { + content: "\F06C2"; +} + +.mdi-arrow-right-circle::before { + content: "\F0CDF"; +} + +.mdi-arrow-right-circle-outline::before { + content: "\F0CE0"; +} + +.mdi-arrow-right-drop-circle::before { + content: "\F0059"; +} + +.mdi-arrow-right-drop-circle-outline::before { + content: "\F005A"; +} + +.mdi-arrow-right-thick::before { + content: "\F0055"; +} + +.mdi-arrow-right-thin::before { + content: "\F19B0"; +} + +.mdi-arrow-right-thin-circle-outline::before { + content: "\F1598"; +} + +.mdi-arrow-right-top::before { + content: "\F17AB"; +} + +.mdi-arrow-right-top-bold::before { + content: "\F17AC"; +} + +.mdi-arrow-split-horizontal::before { + content: "\F093B"; +} + +.mdi-arrow-split-vertical::before { + content: "\F093C"; +} + +.mdi-arrow-top-left::before { + content: "\F005B"; +} + +.mdi-arrow-top-left-bold-box::before { + content: "\F1968"; +} + +.mdi-arrow-top-left-bold-box-outline::before { + content: "\F1969"; +} + +.mdi-arrow-top-left-bold-outline::before { + content: "\F09C3"; +} + +.mdi-arrow-top-left-bottom-right::before { + content: "\F0E75"; +} + +.mdi-arrow-top-left-bottom-right-bold::before { + content: "\F0E76"; +} + +.mdi-arrow-top-left-thick::before { + content: "\F09C4"; +} + +.mdi-arrow-top-left-thin::before { + content: "\F19B5"; +} + +.mdi-arrow-top-left-thin-circle-outline::before { + content: "\F1593"; +} + +.mdi-arrow-top-right::before { + content: "\F005C"; +} + +.mdi-arrow-top-right-bold-box::before { + content: "\F196A"; +} + +.mdi-arrow-top-right-bold-box-outline::before { + content: "\F196B"; +} + +.mdi-arrow-top-right-bold-outline::before { + content: "\F09C5"; +} + +.mdi-arrow-top-right-bottom-left::before { + content: "\F0E77"; +} + +.mdi-arrow-top-right-bottom-left-bold::before { + content: "\F0E78"; +} + +.mdi-arrow-top-right-thick::before { + content: "\F09C6"; +} + +.mdi-arrow-top-right-thin::before { + content: "\F19B4"; +} + +.mdi-arrow-top-right-thin-circle-outline::before { + content: "\F1594"; +} + +.mdi-arrow-u-down-left::before { + content: "\F17AD"; +} + +.mdi-arrow-u-down-left-bold::before { + content: "\F17AE"; +} + +.mdi-arrow-u-down-right::before { + content: "\F17AF"; +} + +.mdi-arrow-u-down-right-bold::before { + content: "\F17B0"; +} + +.mdi-arrow-u-left-bottom::before { + content: "\F17B1"; +} + +.mdi-arrow-u-left-bottom-bold::before { + content: "\F17B2"; +} + +.mdi-arrow-u-left-top::before { + content: "\F17B3"; +} + +.mdi-arrow-u-left-top-bold::before { + content: "\F17B4"; +} + +.mdi-arrow-u-right-bottom::before { + content: "\F17B5"; +} + +.mdi-arrow-u-right-bottom-bold::before { + content: "\F17B6"; +} + +.mdi-arrow-u-right-top::before { + content: "\F17B7"; +} + +.mdi-arrow-u-right-top-bold::before { + content: "\F17B8"; +} + +.mdi-arrow-u-up-left::before { + content: "\F17B9"; +} + +.mdi-arrow-u-up-left-bold::before { + content: "\F17BA"; +} + +.mdi-arrow-u-up-right::before { + content: "\F17BB"; +} + +.mdi-arrow-u-up-right-bold::before { + content: "\F17BC"; +} + +.mdi-arrow-up::before { + content: "\F005D"; +} + +.mdi-arrow-up-bold::before { + content: "\F0737"; +} + +.mdi-arrow-up-bold-box::before { + content: "\F0738"; +} + +.mdi-arrow-up-bold-box-outline::before { + content: "\F0739"; +} + +.mdi-arrow-up-bold-circle::before { + content: "\F005F"; +} + +.mdi-arrow-up-bold-circle-outline::before { + content: "\F0060"; +} + +.mdi-arrow-up-bold-hexagon-outline::before { + content: "\F0061"; +} + +.mdi-arrow-up-bold-outline::before { + content: "\F09C7"; +} + +.mdi-arrow-up-box::before { + content: "\F06C3"; +} + +.mdi-arrow-up-circle::before { + content: "\F0CE1"; +} + +.mdi-arrow-up-circle-outline::before { + content: "\F0CE2"; +} + +.mdi-arrow-up-down::before { + content: "\F0E79"; +} + +.mdi-arrow-up-down-bold::before { + content: "\F0E7A"; +} + +.mdi-arrow-up-down-bold-outline::before { + content: "\F09C8"; +} + +.mdi-arrow-up-drop-circle::before { + content: "\F0062"; +} + +.mdi-arrow-up-drop-circle-outline::before { + content: "\F0063"; +} + +.mdi-arrow-up-left::before { + content: "\F17BD"; +} + +.mdi-arrow-up-left-bold::before { + content: "\F17BE"; +} + +.mdi-arrow-up-right::before { + content: "\F17BF"; +} + +.mdi-arrow-up-right-bold::before { + content: "\F17C0"; +} + +.mdi-arrow-up-thick::before { + content: "\F005E"; +} + +.mdi-arrow-up-thin::before { + content: "\F19B2"; +} + +.mdi-arrow-up-thin-circle-outline::before { + content: "\F1597"; +} + +.mdi-arrow-vertical-lock::before { + content: "\F115C"; +} + +.mdi-artboard::before { + content: "\F1B9A"; +} + +.mdi-artstation::before { + content: "\F0B5B"; +} + +.mdi-aspect-ratio::before { + content: "\F0A24"; +} + +.mdi-assistant::before { + content: "\F0064"; +} + +.mdi-asterisk::before { + content: "\F06C4"; +} + +.mdi-asterisk-circle-outline::before { + content: "\F1A27"; +} + +.mdi-at::before { + content: "\F0065"; +} + +.mdi-atlassian::before { + content: "\F0804"; +} + +.mdi-atm::before { + content: "\F0D47"; +} + +.mdi-atom::before { + content: "\F0768"; +} + +.mdi-atom-variant::before { + content: "\F0E7B"; +} + +.mdi-attachment::before { + content: "\F0066"; +} + +.mdi-attachment-check::before { + content: "\F1AC1"; +} + +.mdi-attachment-lock::before { + content: "\F19C4"; +} + +.mdi-attachment-minus::before { + content: "\F1AC2"; +} + +.mdi-attachment-off::before { + content: "\F1AC3"; +} + +.mdi-attachment-plus::before { + content: "\F1AC4"; +} + +.mdi-attachment-remove::before { + content: "\F1AC5"; +} + +.mdi-atv::before { + content: "\F1B70"; +} + +.mdi-audio-input-rca::before { + content: "\F186B"; +} + +.mdi-audio-input-stereo-minijack::before { + content: "\F186C"; +} + +.mdi-audio-input-xlr::before { + content: "\F186D"; +} + +.mdi-audio-video::before { + content: "\F093D"; +} + +.mdi-audio-video-off::before { + content: "\F11B6"; +} + +.mdi-augmented-reality::before { + content: "\F0850"; +} + +.mdi-aurora::before { + content: "\F1BB9"; +} + +.mdi-auto-download::before { + content: "\F137E"; +} + +.mdi-auto-fix::before { + content: "\F0068"; +} + +.mdi-auto-mode::before { + content: "\F1C20"; +} + +.mdi-auto-upload::before { + content: "\F0069"; +} + +.mdi-autorenew::before { + content: "\F006A"; +} + +.mdi-autorenew-off::before { + content: "\F19E7"; +} + +.mdi-av-timer::before { + content: "\F006B"; +} + +.mdi-awning::before { + content: "\F1B87"; +} + +.mdi-awning-outline::before { + content: "\F1B88"; +} + +.mdi-aws::before { + content: "\F0E0F"; +} + +.mdi-axe::before { + content: "\F08C8"; +} + +.mdi-axe-battle::before { + content: "\F1842"; +} + +.mdi-axis::before { + content: "\F0D48"; +} + +.mdi-axis-arrow::before { + content: "\F0D49"; +} + +.mdi-axis-arrow-info::before { + content: "\F140E"; +} + +.mdi-axis-arrow-lock::before { + content: "\F0D4A"; +} + +.mdi-axis-lock::before { + content: "\F0D4B"; +} + +.mdi-axis-x-arrow::before { + content: "\F0D4C"; +} + +.mdi-axis-x-arrow-lock::before { + content: "\F0D4D"; +} + +.mdi-axis-x-rotate-clockwise::before { + content: "\F0D4E"; +} + +.mdi-axis-x-rotate-counterclockwise::before { + content: "\F0D4F"; +} + +.mdi-axis-x-y-arrow-lock::before { + content: "\F0D50"; +} + +.mdi-axis-y-arrow::before { + content: "\F0D51"; +} + +.mdi-axis-y-arrow-lock::before { + content: "\F0D52"; +} + +.mdi-axis-y-rotate-clockwise::before { + content: "\F0D53"; +} + +.mdi-axis-y-rotate-counterclockwise::before { + content: "\F0D54"; +} + +.mdi-axis-z-arrow::before { + content: "\F0D55"; +} + +.mdi-axis-z-arrow-lock::before { + content: "\F0D56"; +} + +.mdi-axis-z-rotate-clockwise::before { + content: "\F0D57"; +} + +.mdi-axis-z-rotate-counterclockwise::before { + content: "\F0D58"; +} + +.mdi-babel::before { + content: "\F0A25"; +} + +.mdi-baby::before { + content: "\F006C"; +} + +.mdi-baby-bottle::before { + content: "\F0F39"; +} + +.mdi-baby-bottle-outline::before { + content: "\F0F3A"; +} + +.mdi-baby-buggy::before { + content: "\F13E0"; +} + +.mdi-baby-buggy-off::before { + content: "\F1AF3"; +} + +.mdi-baby-carriage::before { + content: "\F068F"; +} + +.mdi-baby-carriage-off::before { + content: "\F0FA0"; +} + +.mdi-baby-face::before { + content: "\F0E7C"; +} + +.mdi-baby-face-outline::before { + content: "\F0E7D"; +} + +.mdi-backburger::before { + content: "\F006D"; +} + +.mdi-backspace::before { + content: "\F006E"; +} + +.mdi-backspace-outline::before { + content: "\F0B5C"; +} + +.mdi-backspace-reverse::before { + content: "\F0E7E"; +} + +.mdi-backspace-reverse-outline::before { + content: "\F0E7F"; +} + +.mdi-backup-restore::before { + content: "\F006F"; +} + +.mdi-bacteria::before { + content: "\F0ED5"; +} + +.mdi-bacteria-outline::before { + content: "\F0ED6"; +} + +.mdi-badge-account::before { + content: "\F0DA7"; +} + +.mdi-badge-account-alert::before { + content: "\F0DA8"; +} + +.mdi-badge-account-alert-outline::before { + content: "\F0DA9"; +} + +.mdi-badge-account-horizontal::before { + content: "\F0E0D"; +} + +.mdi-badge-account-horizontal-outline::before { + content: "\F0E0E"; +} + +.mdi-badge-account-outline::before { + content: "\F0DAA"; +} + +.mdi-badminton::before { + content: "\F0851"; +} + +.mdi-bag-carry-on::before { + content: "\F0F3B"; +} + +.mdi-bag-carry-on-check::before { + content: "\F0D65"; +} + +.mdi-bag-carry-on-off::before { + content: "\F0F3C"; +} + +.mdi-bag-checked::before { + content: "\F0F3D"; +} + +.mdi-bag-personal::before { + content: "\F0E10"; +} + +.mdi-bag-personal-off::before { + content: "\F0E11"; +} + +.mdi-bag-personal-off-outline::before { + content: "\F0E12"; +} + +.mdi-bag-personal-outline::before { + content: "\F0E13"; +} + +.mdi-bag-personal-plus::before { + content: "\F1CA4"; +} + +.mdi-bag-personal-plus-outline::before { + content: "\F1CA5"; +} + +.mdi-bag-personal-tag::before { + content: "\F1B0C"; +} + +.mdi-bag-personal-tag-outline::before { + content: "\F1B0D"; +} + +.mdi-bag-suitcase::before { + content: "\F158B"; +} + +.mdi-bag-suitcase-off::before { + content: "\F158D"; +} + +.mdi-bag-suitcase-off-outline::before { + content: "\F158E"; +} + +.mdi-bag-suitcase-outline::before { + content: "\F158C"; +} + +.mdi-baguette::before { + content: "\F0F3E"; +} + +.mdi-balcony::before { + content: "\F1817"; +} + +.mdi-balloon::before { + content: "\F0A26"; +} + +.mdi-ballot::before { + content: "\F09C9"; +} + +.mdi-ballot-outline::before { + content: "\F09CA"; +} + +.mdi-ballot-recount::before { + content: "\F0C39"; +} + +.mdi-ballot-recount-outline::before { + content: "\F0C3A"; +} + +.mdi-bandage::before { + content: "\F0DAF"; +} + +.mdi-bank::before { + content: "\F0070"; +} + +.mdi-bank-check::before { + content: "\F1655"; +} + +.mdi-bank-circle::before { + content: "\F1C03"; +} + +.mdi-bank-circle-outline::before { + content: "\F1C04"; +} + +.mdi-bank-minus::before { + content: "\F0DB0"; +} + +.mdi-bank-off::before { + content: "\F1656"; +} + +.mdi-bank-off-outline::before { + content: "\F1657"; +} + +.mdi-bank-outline::before { + content: "\F0E80"; +} + +.mdi-bank-plus::before { + content: "\F0DB1"; +} + +.mdi-bank-remove::before { + content: "\F0DB2"; +} + +.mdi-bank-transfer::before { + content: "\F0A27"; +} + +.mdi-bank-transfer-in::before { + content: "\F0A28"; +} + +.mdi-bank-transfer-out::before { + content: "\F0A29"; +} + +.mdi-barcode::before { + content: "\F0071"; +} + +.mdi-barcode-off::before { + content: "\F1236"; +} + +.mdi-barcode-scan::before { + content: "\F0072"; +} + +.mdi-barley::before { + content: "\F0073"; +} + +.mdi-barley-off::before { + content: "\F0B5D"; +} + +.mdi-barn::before { + content: "\F0B5E"; +} + +.mdi-barrel::before { + content: "\F0074"; +} + +.mdi-barrel-outline::before { + content: "\F1A28"; +} + +.mdi-baseball::before { + content: "\F0852"; +} + +.mdi-baseball-bat::before { + content: "\F0853"; +} + +.mdi-baseball-diamond::before { + content: "\F15EC"; +} + +.mdi-baseball-diamond-outline::before { + content: "\F15ED"; +} + +.mdi-baseball-outline::before { + content: "\F1C5A"; +} + +.mdi-bash::before { + content: "\F1183"; +} + +.mdi-basket::before { + content: "\F0076"; +} + +.mdi-basket-check::before { + content: "\F18E5"; +} + +.mdi-basket-check-outline::before { + content: "\F18E6"; +} + +.mdi-basket-fill::before { + content: "\F0077"; +} + +.mdi-basket-minus::before { + content: "\F1523"; +} + +.mdi-basket-minus-outline::before { + content: "\F1524"; +} + +.mdi-basket-off::before { + content: "\F1525"; +} + +.mdi-basket-off-outline::before { + content: "\F1526"; +} + +.mdi-basket-outline::before { + content: "\F1181"; +} + +.mdi-basket-plus::before { + content: "\F1527"; +} + +.mdi-basket-plus-outline::before { + content: "\F1528"; +} + +.mdi-basket-remove::before { + content: "\F1529"; +} + +.mdi-basket-remove-outline::before { + content: "\F152A"; +} + +.mdi-basket-unfill::before { + content: "\F0078"; +} + +.mdi-basketball::before { + content: "\F0806"; +} + +.mdi-basketball-hoop::before { + content: "\F0C3B"; +} + +.mdi-basketball-hoop-outline::before { + content: "\F0C3C"; +} + +.mdi-bat::before { + content: "\F0B5F"; +} + +.mdi-bathtub::before { + content: "\F1818"; +} + +.mdi-bathtub-outline::before { + content: "\F1819"; +} + +.mdi-battery::before { + content: "\F0079"; +} + +.mdi-battery-10::before { + content: "\F007A"; +} + +.mdi-battery-10-bluetooth::before { + content: "\F093E"; +} + +.mdi-battery-20::before { + content: "\F007B"; +} + +.mdi-battery-20-bluetooth::before { + content: "\F093F"; +} + +.mdi-battery-30::before { + content: "\F007C"; +} + +.mdi-battery-30-bluetooth::before { + content: "\F0940"; +} + +.mdi-battery-40::before { + content: "\F007D"; +} + +.mdi-battery-40-bluetooth::before { + content: "\F0941"; +} + +.mdi-battery-50::before { + content: "\F007E"; +} + +.mdi-battery-50-bluetooth::before { + content: "\F0942"; +} + +.mdi-battery-60::before { + content: "\F007F"; +} + +.mdi-battery-60-bluetooth::before { + content: "\F0943"; +} + +.mdi-battery-70::before { + content: "\F0080"; +} + +.mdi-battery-70-bluetooth::before { + content: "\F0944"; +} + +.mdi-battery-80::before { + content: "\F0081"; +} + +.mdi-battery-80-bluetooth::before { + content: "\F0945"; +} + +.mdi-battery-90::before { + content: "\F0082"; +} + +.mdi-battery-90-bluetooth::before { + content: "\F0946"; +} + +.mdi-battery-alert::before { + content: "\F0083"; +} + +.mdi-battery-alert-bluetooth::before { + content: "\F0947"; +} + +.mdi-battery-alert-variant::before { + content: "\F10CC"; +} + +.mdi-battery-alert-variant-outline::before { + content: "\F10CD"; +} + +.mdi-battery-arrow-down::before { + content: "\F17DE"; +} + +.mdi-battery-arrow-down-outline::before { + content: "\F17DF"; +} + +.mdi-battery-arrow-up::before { + content: "\F17E0"; +} + +.mdi-battery-arrow-up-outline::before { + content: "\F17E1"; +} + +.mdi-battery-bluetooth::before { + content: "\F0948"; +} + +.mdi-battery-bluetooth-variant::before { + content: "\F0949"; +} + +.mdi-battery-charging::before { + content: "\F0084"; +} + +.mdi-battery-charging-10::before { + content: "\F089C"; +} + +.mdi-battery-charging-100::before { + content: "\F0085"; +} + +.mdi-battery-charging-20::before { + content: "\F0086"; +} + +.mdi-battery-charging-30::before { + content: "\F0087"; +} + +.mdi-battery-charging-40::before { + content: "\F0088"; +} + +.mdi-battery-charging-50::before { + content: "\F089D"; +} + +.mdi-battery-charging-60::before { + content: "\F0089"; +} + +.mdi-battery-charging-70::before { + content: "\F089E"; +} + +.mdi-battery-charging-80::before { + content: "\F008A"; +} + +.mdi-battery-charging-90::before { + content: "\F008B"; +} + +.mdi-battery-charging-high::before { + content: "\F12A6"; +} + +.mdi-battery-charging-low::before { + content: "\F12A4"; +} + +.mdi-battery-charging-medium::before { + content: "\F12A5"; +} + +.mdi-battery-charging-outline::before { + content: "\F089F"; +} + +.mdi-battery-charging-wireless::before { + content: "\F0807"; +} + +.mdi-battery-charging-wireless-10::before { + content: "\F0808"; +} + +.mdi-battery-charging-wireless-20::before { + content: "\F0809"; +} + +.mdi-battery-charging-wireless-30::before { + content: "\F080A"; +} + +.mdi-battery-charging-wireless-40::before { + content: "\F080B"; +} + +.mdi-battery-charging-wireless-50::before { + content: "\F080C"; +} + +.mdi-battery-charging-wireless-60::before { + content: "\F080D"; +} + +.mdi-battery-charging-wireless-70::before { + content: "\F080E"; +} + +.mdi-battery-charging-wireless-80::before { + content: "\F080F"; +} + +.mdi-battery-charging-wireless-90::before { + content: "\F0810"; +} + +.mdi-battery-charging-wireless-alert::before { + content: "\F0811"; +} + +.mdi-battery-charging-wireless-outline::before { + content: "\F0812"; +} + +.mdi-battery-check::before { + content: "\F17E2"; +} + +.mdi-battery-check-outline::before { + content: "\F17E3"; +} + +.mdi-battery-clock::before { + content: "\F19E5"; +} + +.mdi-battery-clock-outline::before { + content: "\F19E6"; +} + +.mdi-battery-heart::before { + content: "\F120F"; +} + +.mdi-battery-heart-outline::before { + content: "\F1210"; +} + +.mdi-battery-heart-variant::before { + content: "\F1211"; +} + +.mdi-battery-high::before { + content: "\F12A3"; +} + +.mdi-battery-lock::before { + content: "\F179C"; +} + +.mdi-battery-lock-open::before { + content: "\F179D"; +} + +.mdi-battery-low::before { + content: "\F12A1"; +} + +.mdi-battery-medium::before { + content: "\F12A2"; +} + +.mdi-battery-minus::before { + content: "\F17E4"; +} + +.mdi-battery-minus-outline::before { + content: "\F17E5"; +} + +.mdi-battery-minus-variant::before { + content: "\F008C"; +} + +.mdi-battery-negative::before { + content: "\F008D"; +} + +.mdi-battery-off::before { + content: "\F125D"; +} + +.mdi-battery-off-outline::before { + content: "\F125E"; +} + +.mdi-battery-outline::before { + content: "\F008E"; +} + +.mdi-battery-plus::before { + content: "\F17E6"; +} + +.mdi-battery-plus-outline::before { + content: "\F17E7"; +} + +.mdi-battery-plus-variant::before { + content: "\F008F"; +} + +.mdi-battery-positive::before { + content: "\F0090"; +} + +.mdi-battery-remove::before { + content: "\F17E8"; +} + +.mdi-battery-remove-outline::before { + content: "\F17E9"; +} + +.mdi-battery-sync::before { + content: "\F1834"; +} + +.mdi-battery-sync-outline::before { + content: "\F1835"; +} + +.mdi-battery-unknown::before { + content: "\F0091"; +} + +.mdi-battery-unknown-bluetooth::before { + content: "\F094A"; +} + +.mdi-beach::before { + content: "\F0092"; +} + +.mdi-beaker::before { + content: "\F0CEA"; +} + +.mdi-beaker-alert::before { + content: "\F1229"; +} + +.mdi-beaker-alert-outline::before { + content: "\F122A"; +} + +.mdi-beaker-check::before { + content: "\F122B"; +} + +.mdi-beaker-check-outline::before { + content: "\F122C"; +} + +.mdi-beaker-minus::before { + content: "\F122D"; +} + +.mdi-beaker-minus-outline::before { + content: "\F122E"; +} + +.mdi-beaker-outline::before { + content: "\F0690"; +} + +.mdi-beaker-plus::before { + content: "\F122F"; +} + +.mdi-beaker-plus-outline::before { + content: "\F1230"; +} + +.mdi-beaker-question::before { + content: "\F1231"; +} + +.mdi-beaker-question-outline::before { + content: "\F1232"; +} + +.mdi-beaker-remove::before { + content: "\F1233"; +} + +.mdi-beaker-remove-outline::before { + content: "\F1234"; +} + +.mdi-bed::before { + content: "\F02E3"; +} + +.mdi-bed-clock::before { + content: "\F1B94"; +} + +.mdi-bed-double::before { + content: "\F0FD4"; +} + +.mdi-bed-double-outline::before { + content: "\F0FD3"; +} + +.mdi-bed-empty::before { + content: "\F08A0"; +} + +.mdi-bed-king::before { + content: "\F0FD2"; +} + +.mdi-bed-king-outline::before { + content: "\F0FD1"; +} + +.mdi-bed-outline::before { + content: "\F0099"; +} + +.mdi-bed-queen::before { + content: "\F0FD0"; +} + +.mdi-bed-queen-outline::before { + content: "\F0FDB"; +} + +.mdi-bed-single::before { + content: "\F106D"; +} + +.mdi-bed-single-outline::before { + content: "\F106E"; +} + +.mdi-bee::before { + content: "\F0FA1"; +} + +.mdi-bee-flower::before { + content: "\F0FA2"; +} + +.mdi-beehive-off-outline::before { + content: "\F13ED"; +} + +.mdi-beehive-outline::before { + content: "\F10CE"; +} + +.mdi-beekeeper::before { + content: "\F14E2"; +} + +.mdi-beer::before { + content: "\F0098"; +} + +.mdi-beer-outline::before { + content: "\F130C"; +} + +.mdi-bell::before { + content: "\F009A"; +} + +.mdi-bell-alert::before { + content: "\F0D59"; +} + +.mdi-bell-alert-outline::before { + content: "\F0E81"; +} + +.mdi-bell-badge::before { + content: "\F116B"; +} + +.mdi-bell-badge-outline::before { + content: "\F0178"; +} + +.mdi-bell-cancel::before { + content: "\F13E7"; +} + +.mdi-bell-cancel-outline::before { + content: "\F13E8"; +} + +.mdi-bell-check::before { + content: "\F11E5"; +} + +.mdi-bell-check-outline::before { + content: "\F11E6"; +} + +.mdi-bell-circle::before { + content: "\F0D5A"; +} + +.mdi-bell-circle-outline::before { + content: "\F0D5B"; +} + +.mdi-bell-cog::before { + content: "\F1A29"; +} + +.mdi-bell-cog-outline::before { + content: "\F1A2A"; +} + +.mdi-bell-minus::before { + content: "\F13E9"; +} + +.mdi-bell-minus-outline::before { + content: "\F13EA"; +} + +.mdi-bell-off::before { + content: "\F009B"; +} + +.mdi-bell-off-outline::before { + content: "\F0A91"; +} + +.mdi-bell-outline::before { + content: "\F009C"; +} + +.mdi-bell-plus::before { + content: "\F009D"; +} + +.mdi-bell-plus-outline::before { + content: "\F0A92"; +} + +.mdi-bell-remove::before { + content: "\F13EB"; +} + +.mdi-bell-remove-outline::before { + content: "\F13EC"; +} + +.mdi-bell-ring::before { + content: "\F009E"; +} + +.mdi-bell-ring-outline::before { + content: "\F009F"; +} + +.mdi-bell-sleep::before { + content: "\F00A0"; +} + +.mdi-bell-sleep-outline::before { + content: "\F0A93"; +} + +.mdi-bench::before { + content: "\F1C21"; +} + +.mdi-bench-back::before { + content: "\F1C22"; +} + +.mdi-beta::before { + content: "\F00A1"; +} + +.mdi-betamax::before { + content: "\F09CB"; +} + +.mdi-biathlon::before { + content: "\F0E14"; +} + +.mdi-bicycle::before { + content: "\F109C"; +} + +.mdi-bicycle-basket::before { + content: "\F1235"; +} + +.mdi-bicycle-cargo::before { + content: "\F189C"; +} + +.mdi-bicycle-electric::before { + content: "\F15B4"; +} + +.mdi-bicycle-penny-farthing::before { + content: "\F15E9"; +} + +.mdi-bike::before { + content: "\F00A3"; +} + +.mdi-bike-fast::before { + content: "\F111F"; +} + +.mdi-bike-pedal::before { + content: "\F1C23"; +} + +.mdi-bike-pedal-clipless::before { + content: "\F1C24"; +} + +.mdi-bike-pedal-mountain::before { + content: "\F1C25"; +} + +.mdi-billboard::before { + content: "\F1010"; +} + +.mdi-billiards::before { + content: "\F0B61"; +} + +.mdi-billiards-rack::before { + content: "\F0B62"; +} + +.mdi-binoculars::before { + content: "\F00A5"; +} + +.mdi-bio::before { + content: "\F00A6"; +} + +.mdi-biohazard::before { + content: "\F00A7"; +} + +.mdi-bird::before { + content: "\F15C6"; +} + +.mdi-bitbucket::before { + content: "\F00A8"; +} + +.mdi-bitcoin::before { + content: "\F0813"; +} + +.mdi-black-mesa::before { + content: "\F00A9"; +} + +.mdi-blender::before { + content: "\F0CEB"; +} + +.mdi-blender-outline::before { + content: "\F181A"; +} + +.mdi-blender-software::before { + content: "\F00AB"; +} + +.mdi-blinds::before { + content: "\F00AC"; +} + +.mdi-blinds-horizontal::before { + content: "\F1A2B"; +} + +.mdi-blinds-horizontal-closed::before { + content: "\F1A2C"; +} + +.mdi-blinds-open::before { + content: "\F1011"; +} + +.mdi-blinds-vertical::before { + content: "\F1A2D"; +} + +.mdi-blinds-vertical-closed::before { + content: "\F1A2E"; +} + +.mdi-block-helper::before { + content: "\F00AD"; +} + +.mdi-blood-bag::before { + content: "\F0CEC"; +} + +.mdi-bluetooth::before { + content: "\F00AF"; +} + +.mdi-bluetooth-audio::before { + content: "\F00B0"; +} + +.mdi-bluetooth-connect::before { + content: "\F00B1"; +} + +.mdi-bluetooth-off::before { + content: "\F00B2"; +} + +.mdi-bluetooth-settings::before { + content: "\F00B3"; +} + +.mdi-bluetooth-transfer::before { + content: "\F00B4"; +} + +.mdi-blur::before { + content: "\F00B5"; +} + +.mdi-blur-linear::before { + content: "\F00B6"; +} + +.mdi-blur-off::before { + content: "\F00B7"; +} + +.mdi-blur-radial::before { + content: "\F00B8"; +} + +.mdi-bolt::before { + content: "\F0DB3"; +} + +.mdi-bomb::before { + content: "\F0691"; +} + +.mdi-bomb-off::before { + content: "\F06C5"; +} + +.mdi-bone::before { + content: "\F00B9"; +} + +.mdi-bone-off::before { + content: "\F19E0"; +} + +.mdi-book::before { + content: "\F00BA"; +} + +.mdi-book-account::before { + content: "\F13AD"; +} + +.mdi-book-account-outline::before { + content: "\F13AE"; +} + +.mdi-book-alert::before { + content: "\F167C"; +} + +.mdi-book-alert-outline::before { + content: "\F167D"; +} + +.mdi-book-alphabet::before { + content: "\F061D"; +} + +.mdi-book-arrow-down::before { + content: "\F167E"; +} + +.mdi-book-arrow-down-outline::before { + content: "\F167F"; +} + +.mdi-book-arrow-left::before { + content: "\F1680"; +} + +.mdi-book-arrow-left-outline::before { + content: "\F1681"; +} + +.mdi-book-arrow-right::before { + content: "\F1682"; +} + +.mdi-book-arrow-right-outline::before { + content: "\F1683"; +} + +.mdi-book-arrow-up::before { + content: "\F1684"; +} + +.mdi-book-arrow-up-outline::before { + content: "\F1685"; +} + +.mdi-book-cancel::before { + content: "\F1686"; +} + +.mdi-book-cancel-outline::before { + content: "\F1687"; +} + +.mdi-book-check::before { + content: "\F14F3"; +} + +.mdi-book-check-outline::before { + content: "\F14F4"; +} + +.mdi-book-clock::before { + content: "\F1688"; +} + +.mdi-book-clock-outline::before { + content: "\F1689"; +} + +.mdi-book-cog::before { + content: "\F168A"; +} + +.mdi-book-cog-outline::before { + content: "\F168B"; +} + +.mdi-book-cross::before { + content: "\F00A2"; +} + +.mdi-book-edit::before { + content: "\F168C"; +} + +.mdi-book-edit-outline::before { + content: "\F168D"; +} + +.mdi-book-education::before { + content: "\F16C9"; +} + +.mdi-book-education-outline::before { + content: "\F16CA"; +} + +.mdi-book-heart::before { + content: "\F1A1D"; +} + +.mdi-book-heart-outline::before { + content: "\F1A1E"; +} + +.mdi-book-information-variant::before { + content: "\F106F"; +} + +.mdi-book-lock::before { + content: "\F079A"; +} + +.mdi-book-lock-open::before { + content: "\F079B"; +} + +.mdi-book-lock-open-outline::before { + content: "\F168E"; +} + +.mdi-book-lock-outline::before { + content: "\F168F"; +} + +.mdi-book-marker::before { + content: "\F1690"; +} + +.mdi-book-marker-outline::before { + content: "\F1691"; +} + +.mdi-book-minus::before { + content: "\F05D9"; +} + +.mdi-book-minus-multiple::before { + content: "\F0A94"; +} + +.mdi-book-minus-multiple-outline::before { + content: "\F090B"; +} + +.mdi-book-minus-outline::before { + content: "\F1692"; +} + +.mdi-book-multiple::before { + content: "\F00BB"; +} + +.mdi-book-multiple-outline::before { + content: "\F0436"; +} + +.mdi-book-music::before { + content: "\F0067"; +} + +.mdi-book-music-outline::before { + content: "\F1693"; +} + +.mdi-book-off::before { + content: "\F1694"; +} + +.mdi-book-off-outline::before { + content: "\F1695"; +} + +.mdi-book-open::before { + content: "\F00BD"; +} + +.mdi-book-open-blank-variant::before { + content: "\F00BE"; +} + +.mdi-book-open-blank-variant-outline::before { + content: "\F1CCB"; +} + +.mdi-book-open-outline::before { + content: "\F0B63"; +} + +.mdi-book-open-page-variant::before { + content: "\F05DA"; +} + +.mdi-book-open-page-variant-outline::before { + content: "\F15D6"; +} + +.mdi-book-open-variant::before { + content: "\F14F7"; +} + +.mdi-book-open-variant-outline::before { + content: "\F1CCC"; +} + +.mdi-book-outline::before { + content: "\F0B64"; +} + +.mdi-book-play::before { + content: "\F0E82"; +} + +.mdi-book-play-outline::before { + content: "\F0E83"; +} + +.mdi-book-plus::before { + content: "\F05DB"; +} + +.mdi-book-plus-multiple::before { + content: "\F0A95"; +} + +.mdi-book-plus-multiple-outline::before { + content: "\F0ADE"; +} + +.mdi-book-plus-outline::before { + content: "\F1696"; +} + +.mdi-book-refresh::before { + content: "\F1697"; +} + +.mdi-book-refresh-outline::before { + content: "\F1698"; +} + +.mdi-book-remove::before { + content: "\F0A97"; +} + +.mdi-book-remove-multiple::before { + content: "\F0A96"; +} + +.mdi-book-remove-multiple-outline::before { + content: "\F04CA"; +} + +.mdi-book-remove-outline::before { + content: "\F1699"; +} + +.mdi-book-search::before { + content: "\F0E84"; +} + +.mdi-book-search-outline::before { + content: "\F0E85"; +} + +.mdi-book-settings::before { + content: "\F169A"; +} + +.mdi-book-settings-outline::before { + content: "\F169B"; +} + +.mdi-book-sync::before { + content: "\F169C"; +} + +.mdi-book-sync-outline::before { + content: "\F16C8"; +} + +.mdi-book-variant::before { + content: "\F00BF"; +} + +.mdi-bookmark::before { + content: "\F00C0"; +} + +.mdi-bookmark-box::before { + content: "\F1B75"; +} + +.mdi-bookmark-box-multiple::before { + content: "\F196C"; +} + +.mdi-bookmark-box-multiple-outline::before { + content: "\F196D"; +} + +.mdi-bookmark-box-outline::before { + content: "\F1B76"; +} + +.mdi-bookmark-check::before { + content: "\F00C1"; +} + +.mdi-bookmark-check-outline::before { + content: "\F137B"; +} + +.mdi-bookmark-minus::before { + content: "\F09CC"; +} + +.mdi-bookmark-minus-outline::before { + content: "\F09CD"; +} + +.mdi-bookmark-multiple::before { + content: "\F0E15"; +} + +.mdi-bookmark-multiple-outline::before { + content: "\F0E16"; +} + +.mdi-bookmark-music::before { + content: "\F00C2"; +} + +.mdi-bookmark-music-outline::before { + content: "\F1379"; +} + +.mdi-bookmark-off::before { + content: "\F09CE"; +} + +.mdi-bookmark-off-outline::before { + content: "\F09CF"; +} + +.mdi-bookmark-outline::before { + content: "\F00C3"; +} + +.mdi-bookmark-plus::before { + content: "\F00C5"; +} + +.mdi-bookmark-plus-outline::before { + content: "\F00C4"; +} + +.mdi-bookmark-remove::before { + content: "\F00C6"; +} + +.mdi-bookmark-remove-outline::before { + content: "\F137A"; +} + +.mdi-bookshelf::before { + content: "\F125F"; +} + +.mdi-boom-gate::before { + content: "\F0E86"; +} + +.mdi-boom-gate-alert::before { + content: "\F0E87"; +} + +.mdi-boom-gate-alert-outline::before { + content: "\F0E88"; +} + +.mdi-boom-gate-arrow-down::before { + content: "\F0E89"; +} + +.mdi-boom-gate-arrow-down-outline::before { + content: "\F0E8A"; +} + +.mdi-boom-gate-arrow-up::before { + content: "\F0E8C"; +} + +.mdi-boom-gate-arrow-up-outline::before { + content: "\F0E8D"; +} + +.mdi-boom-gate-outline::before { + content: "\F0E8B"; +} + +.mdi-boom-gate-up::before { + content: "\F17F9"; +} + +.mdi-boom-gate-up-outline::before { + content: "\F17FA"; +} + +.mdi-boombox::before { + content: "\F05DC"; +} + +.mdi-boomerang::before { + content: "\F10CF"; +} + +.mdi-bootstrap::before { + content: "\F06C6"; +} + +.mdi-border-all::before { + content: "\F00C7"; +} + +.mdi-border-all-variant::before { + content: "\F08A1"; +} + +.mdi-border-bottom::before { + content: "\F00C8"; +} + +.mdi-border-bottom-variant::before { + content: "\F08A2"; +} + +.mdi-border-color::before { + content: "\F00C9"; +} + +.mdi-border-horizontal::before { + content: "\F00CA"; +} + +.mdi-border-inside::before { + content: "\F00CB"; +} + +.mdi-border-left::before { + content: "\F00CC"; +} + +.mdi-border-left-variant::before { + content: "\F08A3"; +} + +.mdi-border-none::before { + content: "\F00CD"; +} + +.mdi-border-none-variant::before { + content: "\F08A4"; +} + +.mdi-border-outside::before { + content: "\F00CE"; +} + +.mdi-border-radius::before { + content: "\F1AF4"; +} + +.mdi-border-right::before { + content: "\F00CF"; +} + +.mdi-border-right-variant::before { + content: "\F08A5"; +} + +.mdi-border-style::before { + content: "\F00D0"; +} + +.mdi-border-top::before { + content: "\F00D1"; +} + +.mdi-border-top-variant::before { + content: "\F08A6"; +} + +.mdi-border-vertical::before { + content: "\F00D2"; +} + +.mdi-bottle-soda::before { + content: "\F1070"; +} + +.mdi-bottle-soda-classic::before { + content: "\F1071"; +} + +.mdi-bottle-soda-classic-outline::before { + content: "\F1363"; +} + +.mdi-bottle-soda-outline::before { + content: "\F1072"; +} + +.mdi-bottle-tonic::before { + content: "\F112E"; +} + +.mdi-bottle-tonic-outline::before { + content: "\F112F"; +} + +.mdi-bottle-tonic-plus::before { + content: "\F1130"; +} + +.mdi-bottle-tonic-plus-outline::before { + content: "\F1131"; +} + +.mdi-bottle-tonic-skull::before { + content: "\F1132"; +} + +.mdi-bottle-tonic-skull-outline::before { + content: "\F1133"; +} + +.mdi-bottle-wine::before { + content: "\F0854"; +} + +.mdi-bottle-wine-outline::before { + content: "\F1310"; +} + +.mdi-bow-arrow::before { + content: "\F1841"; +} + +.mdi-bow-tie::before { + content: "\F0678"; +} + +.mdi-bowl::before { + content: "\F028E"; +} + +.mdi-bowl-mix::before { + content: "\F0617"; +} + +.mdi-bowl-mix-outline::before { + content: "\F02E4"; +} + +.mdi-bowl-outline::before { + content: "\F02A9"; +} + +.mdi-bowling::before { + content: "\F00D3"; +} + +.mdi-box::before { + content: "\F00D4"; +} + +.mdi-box-cutter::before { + content: "\F00D5"; +} + +.mdi-box-cutter-off::before { + content: "\F0B4A"; +} + +.mdi-box-shadow::before { + content: "\F0637"; +} + +.mdi-boxing-glove::before { + content: "\F0B65"; +} + +.mdi-braille::before { + content: "\F09D0"; +} + +.mdi-brain::before { + content: "\F09D1"; +} + +.mdi-bread-slice::before { + content: "\F0CEE"; +} + +.mdi-bread-slice-outline::before { + content: "\F0CEF"; +} + +.mdi-bridge::before { + content: "\F0618"; +} + +.mdi-briefcase::before { + content: "\F00D6"; +} + +.mdi-briefcase-account::before { + content: "\F0CF0"; +} + +.mdi-briefcase-account-outline::before { + content: "\F0CF1"; +} + +.mdi-briefcase-arrow-left-right::before { + content: "\F1A8D"; +} + +.mdi-briefcase-arrow-left-right-outline::before { + content: "\F1A8E"; +} + +.mdi-briefcase-arrow-up-down::before { + content: "\F1A8F"; +} + +.mdi-briefcase-arrow-up-down-outline::before { + content: "\F1A90"; +} + +.mdi-briefcase-check::before { + content: "\F00D7"; +} + +.mdi-briefcase-check-outline::before { + content: "\F131E"; +} + +.mdi-briefcase-clock::before { + content: "\F10D0"; +} + +.mdi-briefcase-clock-outline::before { + content: "\F10D1"; +} + +.mdi-briefcase-download::before { + content: "\F00D8"; +} + +.mdi-briefcase-download-outline::before { + content: "\F0C3D"; +} + +.mdi-briefcase-edit::before { + content: "\F0A98"; +} + +.mdi-briefcase-edit-outline::before { + content: "\F0C3E"; +} + +.mdi-briefcase-eye::before { + content: "\F17D9"; +} + +.mdi-briefcase-eye-outline::before { + content: "\F17DA"; +} + +.mdi-briefcase-minus::before { + content: "\F0A2A"; +} + +.mdi-briefcase-minus-outline::before { + content: "\F0C3F"; +} + +.mdi-briefcase-off::before { + content: "\F1658"; +} + +.mdi-briefcase-off-outline::before { + content: "\F1659"; +} + +.mdi-briefcase-outline::before { + content: "\F0814"; +} + +.mdi-briefcase-plus::before { + content: "\F0A2B"; +} + +.mdi-briefcase-plus-outline::before { + content: "\F0C40"; +} + +.mdi-briefcase-remove::before { + content: "\F0A2C"; +} + +.mdi-briefcase-remove-outline::before { + content: "\F0C41"; +} + +.mdi-briefcase-search::before { + content: "\F0A2D"; +} + +.mdi-briefcase-search-outline::before { + content: "\F0C42"; +} + +.mdi-briefcase-upload::before { + content: "\F00D9"; +} + +.mdi-briefcase-upload-outline::before { + content: "\F0C43"; +} + +.mdi-briefcase-variant::before { + content: "\F1494"; +} + +.mdi-briefcase-variant-off::before { + content: "\F165A"; +} + +.mdi-briefcase-variant-off-outline::before { + content: "\F165B"; +} + +.mdi-briefcase-variant-outline::before { + content: "\F1495"; +} + +.mdi-brightness-1::before { + content: "\F00DA"; +} + +.mdi-brightness-2::before { + content: "\F00DB"; +} + +.mdi-brightness-3::before { + content: "\F00DC"; +} + +.mdi-brightness-4::before { + content: "\F00DD"; +} + +.mdi-brightness-5::before { + content: "\F00DE"; +} + +.mdi-brightness-6::before { + content: "\F00DF"; +} + +.mdi-brightness-7::before { + content: "\F00E0"; +} + +.mdi-brightness-auto::before { + content: "\F00E1"; +} + +.mdi-brightness-percent::before { + content: "\F0CF2"; +} + +.mdi-broadcast::before { + content: "\F1720"; +} + +.mdi-broadcast-off::before { + content: "\F1721"; +} + +.mdi-broom::before { + content: "\F00E2"; +} + +.mdi-brush::before { + content: "\F00E3"; +} + +.mdi-brush-off::before { + content: "\F1771"; +} + +.mdi-brush-outline::before { + content: "\F1A0D"; +} + +.mdi-brush-variant::before { + content: "\F1813"; +} + +.mdi-bucket::before { + content: "\F1415"; +} + +.mdi-bucket-outline::before { + content: "\F1416"; +} + +.mdi-buffet::before { + content: "\F0578"; +} + +.mdi-bug::before { + content: "\F00E4"; +} + +.mdi-bug-check::before { + content: "\F0A2E"; +} + +.mdi-bug-check-outline::before { + content: "\F0A2F"; +} + +.mdi-bug-outline::before { + content: "\F0A30"; +} + +.mdi-bug-pause::before { + content: "\F1AF5"; +} + +.mdi-bug-pause-outline::before { + content: "\F1AF6"; +} + +.mdi-bug-play::before { + content: "\F1AF7"; +} + +.mdi-bug-play-outline::before { + content: "\F1AF8"; +} + +.mdi-bug-stop::before { + content: "\F1AF9"; +} + +.mdi-bug-stop-outline::before { + content: "\F1AFA"; +} + +.mdi-bugle::before { + content: "\F0DB4"; +} + +.mdi-bulkhead-light::before { + content: "\F1A2F"; +} + +.mdi-bulldozer::before { + content: "\F0B22"; +} + +.mdi-bullet::before { + content: "\F0CF3"; +} + +.mdi-bulletin-board::before { + content: "\F00E5"; +} + +.mdi-bullhorn::before { + content: "\F00E6"; +} + +.mdi-bullhorn-outline::before { + content: "\F0B23"; +} + +.mdi-bullhorn-variant::before { + content: "\F196E"; +} + +.mdi-bullhorn-variant-outline::before { + content: "\F196F"; +} + +.mdi-bullseye::before { + content: "\F05DD"; +} + +.mdi-bullseye-arrow::before { + content: "\F08C9"; +} + +.mdi-bulma::before { + content: "\F12E7"; +} + +.mdi-bunk-bed::before { + content: "\F1302"; +} + +.mdi-bunk-bed-outline::before { + content: "\F0097"; +} + +.mdi-bus::before { + content: "\F00E7"; +} + +.mdi-bus-alert::before { + content: "\F0A99"; +} + +.mdi-bus-articulated-end::before { + content: "\F079C"; +} + +.mdi-bus-articulated-front::before { + content: "\F079D"; +} + +.mdi-bus-clock::before { + content: "\F08CA"; +} + +.mdi-bus-double-decker::before { + content: "\F079E"; +} + +.mdi-bus-electric::before { + content: "\F191D"; +} + +.mdi-bus-marker::before { + content: "\F1212"; +} + +.mdi-bus-multiple::before { + content: "\F0F3F"; +} + +.mdi-bus-school::before { + content: "\F079F"; +} + +.mdi-bus-side::before { + content: "\F07A0"; +} + +.mdi-bus-sign::before { + content: "\F1CC1"; +} + +.mdi-bus-stop::before { + content: "\F1012"; +} + +.mdi-bus-stop-covered::before { + content: "\F1013"; +} + +.mdi-bus-stop-uncovered::before { + content: "\F1014"; +} + +.mdi-bus-wrench::before { + content: "\F1CC2"; +} + +.mdi-butterfly::before { + content: "\F1589"; +} + +.mdi-butterfly-outline::before { + content: "\F158A"; +} + +.mdi-button-cursor::before { + content: "\F1B4F"; +} + +.mdi-button-pointer::before { + content: "\F1B50"; +} + +.mdi-cabin-a-frame::before { + content: "\F188C"; +} + +.mdi-cable-data::before { + content: "\F1394"; +} + +.mdi-cached::before { + content: "\F00E8"; +} + +.mdi-cactus::before { + content: "\F0DB5"; +} + +.mdi-cake::before { + content: "\F00E9"; +} + +.mdi-cake-layered::before { + content: "\F00EA"; +} + +.mdi-cake-variant::before { + content: "\F00EB"; +} + +.mdi-cake-variant-outline::before { + content: "\F17F0"; +} + +.mdi-calculator::before { + content: "\F00EC"; +} + +.mdi-calculator-variant::before { + content: "\F0A9A"; +} + +.mdi-calculator-variant-outline::before { + content: "\F15A6"; +} + +.mdi-calendar::before { + content: "\F00ED"; +} + +.mdi-calendar-account::before { + content: "\F0ED7"; +} + +.mdi-calendar-account-outline::before { + content: "\F0ED8"; +} + +.mdi-calendar-alert::before { + content: "\F0A31"; +} + +.mdi-calendar-alert-outline::before { + content: "\F1B62"; +} + +.mdi-calendar-arrow-left::before { + content: "\F1134"; +} + +.mdi-calendar-arrow-right::before { + content: "\F1135"; +} + +.mdi-calendar-badge::before { + content: "\F1B9D"; +} + +.mdi-calendar-badge-outline::before { + content: "\F1B9E"; +} + +.mdi-calendar-blank::before { + content: "\F00EE"; +} + +.mdi-calendar-blank-multiple::before { + content: "\F1073"; +} + +.mdi-calendar-blank-outline::before { + content: "\F0B66"; +} + +.mdi-calendar-check::before { + content: "\F00EF"; +} + +.mdi-calendar-check-outline::before { + content: "\F0C44"; +} + +.mdi-calendar-clock::before { + content: "\F00F0"; +} + +.mdi-calendar-clock-outline::before { + content: "\F16E1"; +} + +.mdi-calendar-collapse-horizontal::before { + content: "\F189D"; +} + +.mdi-calendar-collapse-horizontal-outline::before { + content: "\F1B63"; +} + +.mdi-calendar-cursor::before { + content: "\F157B"; +} + +.mdi-calendar-cursor-outline::before { + content: "\F1B64"; +} + +.mdi-calendar-edit::before { + content: "\F08A7"; +} + +.mdi-calendar-edit-outline::before { + content: "\F1B65"; +} + +.mdi-calendar-end::before { + content: "\F166C"; +} + +.mdi-calendar-end-outline::before { + content: "\F1B66"; +} + +.mdi-calendar-expand-horizontal::before { + content: "\F189E"; +} + +.mdi-calendar-expand-horizontal-outline::before { + content: "\F1B67"; +} + +.mdi-calendar-export::before { + content: "\F0B24"; +} + +.mdi-calendar-export-outline::before { + content: "\F1B68"; +} + +.mdi-calendar-filter::before { + content: "\F1A32"; +} + +.mdi-calendar-filter-outline::before { + content: "\F1A33"; +} + +.mdi-calendar-heart::before { + content: "\F09D2"; +} + +.mdi-calendar-heart-outline::before { + content: "\F1B69"; +} + +.mdi-calendar-import::before { + content: "\F0B25"; +} + +.mdi-calendar-import-outline::before { + content: "\F1B6A"; +} + +.mdi-calendar-lock::before { + content: "\F1641"; +} + +.mdi-calendar-lock-open::before { + content: "\F1B5B"; +} + +.mdi-calendar-lock-open-outline::before { + content: "\F1B5C"; +} + +.mdi-calendar-lock-outline::before { + content: "\F1642"; +} + +.mdi-calendar-minus::before { + content: "\F0D5C"; +} + +.mdi-calendar-minus-outline::before { + content: "\F1B6B"; +} + +.mdi-calendar-month::before { + content: "\F0E17"; +} + +.mdi-calendar-month-outline::before { + content: "\F0E18"; +} + +.mdi-calendar-multiple::before { + content: "\F00F1"; +} + +.mdi-calendar-multiple-check::before { + content: "\F00F2"; +} + +.mdi-calendar-multiselect::before { + content: "\F0A32"; +} + +.mdi-calendar-multiselect-outline::before { + content: "\F1B55"; +} + +.mdi-calendar-outline::before { + content: "\F0B67"; +} + +.mdi-calendar-plus::before { + content: "\F00F3"; +} + +.mdi-calendar-plus-outline::before { + content: "\F1B6C"; +} + +.mdi-calendar-question::before { + content: "\F0692"; +} + +.mdi-calendar-question-outline::before { + content: "\F1B6D"; +} + +.mdi-calendar-range::before { + content: "\F0679"; +} + +.mdi-calendar-range-outline::before { + content: "\F0B68"; +} + +.mdi-calendar-refresh::before { + content: "\F01E1"; +} + +.mdi-calendar-refresh-outline::before { + content: "\F0203"; +} + +.mdi-calendar-remove::before { + content: "\F00F4"; +} + +.mdi-calendar-remove-outline::before { + content: "\F0C45"; +} + +.mdi-calendar-search::before { + content: "\F094C"; +} + +.mdi-calendar-search-outline::before { + content: "\F1B6E"; +} + +.mdi-calendar-star::before { + content: "\F09D3"; +} + +.mdi-calendar-star-four-points::before { + content: "\F1C1F"; +} + +.mdi-calendar-star-outline::before { + content: "\F1B53"; +} + +.mdi-calendar-start::before { + content: "\F166D"; +} + +.mdi-calendar-start-outline::before { + content: "\F1B6F"; +} + +.mdi-calendar-sync::before { + content: "\F0E8E"; +} + +.mdi-calendar-sync-outline::before { + content: "\F0E8F"; +} + +.mdi-calendar-text::before { + content: "\F00F5"; +} + +.mdi-calendar-text-outline::before { + content: "\F0C46"; +} + +.mdi-calendar-today::before { + content: "\F00F6"; +} + +.mdi-calendar-today-outline::before { + content: "\F1A30"; +} + +.mdi-calendar-week::before { + content: "\F0A33"; +} + +.mdi-calendar-week-begin::before { + content: "\F0A34"; +} + +.mdi-calendar-week-begin-outline::before { + content: "\F1A31"; +} + +.mdi-calendar-week-outline::before { + content: "\F1A34"; +} + +.mdi-calendar-weekend::before { + content: "\F0ED9"; +} + +.mdi-calendar-weekend-outline::before { + content: "\F0EDA"; +} + +.mdi-call-made::before { + content: "\F00F7"; +} + +.mdi-call-merge::before { + content: "\F00F8"; +} + +.mdi-call-missed::before { + content: "\F00F9"; +} + +.mdi-call-received::before { + content: "\F00FA"; +} + +.mdi-call-split::before { + content: "\F00FB"; +} + +.mdi-camcorder::before { + content: "\F00FC"; +} + +.mdi-camcorder-off::before { + content: "\F00FF"; +} + +.mdi-camera::before { + content: "\F0100"; +} + +.mdi-camera-account::before { + content: "\F08CB"; +} + +.mdi-camera-burst::before { + content: "\F0693"; +} + +.mdi-camera-control::before { + content: "\F0B69"; +} + +.mdi-camera-document::before { + content: "\F1871"; +} + +.mdi-camera-document-off::before { + content: "\F1872"; +} + +.mdi-camera-enhance::before { + content: "\F0101"; +} + +.mdi-camera-enhance-outline::before { + content: "\F0B6A"; +} + +.mdi-camera-flip::before { + content: "\F15D9"; +} + +.mdi-camera-flip-outline::before { + content: "\F15DA"; +} + +.mdi-camera-front::before { + content: "\F0102"; +} + +.mdi-camera-front-variant::before { + content: "\F0103"; +} + +.mdi-camera-gopro::before { + content: "\F07A1"; +} + +.mdi-camera-image::before { + content: "\F08CC"; +} + +.mdi-camera-iris::before { + content: "\F0104"; +} + +.mdi-camera-lock::before { + content: "\F1A14"; +} + +.mdi-camera-lock-open::before { + content: "\F1C0D"; +} + +.mdi-camera-lock-open-outline::before { + content: "\F1C0E"; +} + +.mdi-camera-lock-outline::before { + content: "\F1A15"; +} + +.mdi-camera-marker::before { + content: "\F19A7"; +} + +.mdi-camera-marker-outline::before { + content: "\F19A8"; +} + +.mdi-camera-metering-center::before { + content: "\F07A2"; +} + +.mdi-camera-metering-matrix::before { + content: "\F07A3"; +} + +.mdi-camera-metering-partial::before { + content: "\F07A4"; +} + +.mdi-camera-metering-spot::before { + content: "\F07A5"; +} + +.mdi-camera-off::before { + content: "\F05DF"; +} + +.mdi-camera-off-outline::before { + content: "\F19BF"; +} + +.mdi-camera-outline::before { + content: "\F0D5D"; +} + +.mdi-camera-party-mode::before { + content: "\F0105"; +} + +.mdi-camera-plus::before { + content: "\F0EDB"; +} + +.mdi-camera-plus-outline::before { + content: "\F0EDC"; +} + +.mdi-camera-rear::before { + content: "\F0106"; +} + +.mdi-camera-rear-variant::before { + content: "\F0107"; +} + +.mdi-camera-retake::before { + content: "\F0E19"; +} + +.mdi-camera-retake-outline::before { + content: "\F0E1A"; +} + +.mdi-camera-switch::before { + content: "\F0108"; +} + +.mdi-camera-switch-outline::before { + content: "\F084A"; +} + +.mdi-camera-timer::before { + content: "\F0109"; +} + +.mdi-camera-wireless::before { + content: "\F0DB6"; +} + +.mdi-camera-wireless-outline::before { + content: "\F0DB7"; +} + +.mdi-campfire::before { + content: "\F0EDD"; +} + +.mdi-cancel::before { + content: "\F073A"; +} + +.mdi-candelabra::before { + content: "\F17D2"; +} + +.mdi-candelabra-fire::before { + content: "\F17D3"; +} + +.mdi-candle::before { + content: "\F05E2"; +} + +.mdi-candy::before { + content: "\F1970"; +} + +.mdi-candy-off::before { + content: "\F1971"; +} + +.mdi-candy-off-outline::before { + content: "\F1972"; +} + +.mdi-candy-outline::before { + content: "\F1973"; +} + +.mdi-candycane::before { + content: "\F010A"; +} + +.mdi-cannabis::before { + content: "\F07A6"; +} + +.mdi-cannabis-off::before { + content: "\F166E"; +} + +.mdi-caps-lock::before { + content: "\F0A9B"; +} + +.mdi-car::before { + content: "\F010B"; +} + +.mdi-car-2-plus::before { + content: "\F1015"; +} + +.mdi-car-3-plus::before { + content: "\F1016"; +} + +.mdi-car-arrow-left::before { + content: "\F13B2"; +} + +.mdi-car-arrow-right::before { + content: "\F13B3"; +} + +.mdi-car-back::before { + content: "\F0E1B"; +} + +.mdi-car-battery::before { + content: "\F010C"; +} + +.mdi-car-brake-abs::before { + content: "\F0C47"; +} + +.mdi-car-brake-alert::before { + content: "\F0C48"; +} + +.mdi-car-brake-fluid-level::before { + content: "\F1909"; +} + +.mdi-car-brake-hold::before { + content: "\F0D5E"; +} + +.mdi-car-brake-low-pressure::before { + content: "\F190A"; +} + +.mdi-car-brake-parking::before { + content: "\F0D5F"; +} + +.mdi-car-brake-retarder::before { + content: "\F1017"; +} + +.mdi-car-brake-temperature::before { + content: "\F190B"; +} + +.mdi-car-brake-worn-linings::before { + content: "\F190C"; +} + +.mdi-car-child-seat::before { + content: "\F0FA3"; +} + +.mdi-car-clock::before { + content: "\F1974"; +} + +.mdi-car-clutch::before { + content: "\F1018"; +} + +.mdi-car-cog::before { + content: "\F13CC"; +} + +.mdi-car-connected::before { + content: "\F010D"; +} + +.mdi-car-convertible::before { + content: "\F07A7"; +} + +.mdi-car-coolant-level::before { + content: "\F1019"; +} + +.mdi-car-cruise-control::before { + content: "\F0D60"; +} + +.mdi-car-defrost-front::before { + content: "\F0D61"; +} + +.mdi-car-defrost-rear::before { + content: "\F0D62"; +} + +.mdi-car-door::before { + content: "\F0B6B"; +} + +.mdi-car-door-lock::before { + content: "\F109D"; +} + +.mdi-car-door-lock-open::before { + content: "\F1C81"; +} + +.mdi-car-electric::before { + content: "\F0B6C"; +} + +.mdi-car-electric-outline::before { + content: "\F15B5"; +} + +.mdi-car-emergency::before { + content: "\F160F"; +} + +.mdi-car-esp::before { + content: "\F0C49"; +} + +.mdi-car-estate::before { + content: "\F07A8"; +} + +.mdi-car-hatchback::before { + content: "\F07A9"; +} + +.mdi-car-info::before { + content: "\F11BE"; +} + +.mdi-car-key::before { + content: "\F0B6D"; +} + +.mdi-car-lifted-pickup::before { + content: "\F152D"; +} + +.mdi-car-light-alert::before { + content: "\F190D"; +} + +.mdi-car-light-dimmed::before { + content: "\F0C4A"; +} + +.mdi-car-light-fog::before { + content: "\F0C4B"; +} + +.mdi-car-light-high::before { + content: "\F0C4C"; +} + +.mdi-car-limousine::before { + content: "\F08CD"; +} + +.mdi-car-multiple::before { + content: "\F0B6E"; +} + +.mdi-car-off::before { + content: "\F0E1C"; +} + +.mdi-car-outline::before { + content: "\F14ED"; +} + +.mdi-car-parking-lights::before { + content: "\F0D63"; +} + +.mdi-car-pickup::before { + content: "\F07AA"; +} + +.mdi-car-search::before { + content: "\F1B8D"; +} + +.mdi-car-search-outline::before { + content: "\F1B8E"; +} + +.mdi-car-seat::before { + content: "\F0FA4"; +} + +.mdi-car-seat-cooler::before { + content: "\F0FA5"; +} + +.mdi-car-seat-heater::before { + content: "\F0FA6"; +} + +.mdi-car-select::before { + content: "\F1879"; +} + +.mdi-car-settings::before { + content: "\F13CD"; +} + +.mdi-car-shift-pattern::before { + content: "\F0F40"; +} + +.mdi-car-side::before { + content: "\F07AB"; +} + +.mdi-car-speed-limiter::before { + content: "\F190E"; +} + +.mdi-car-sports::before { + content: "\F07AC"; +} + +.mdi-car-tire-alert::before { + content: "\F0C4D"; +} + +.mdi-car-traction-control::before { + content: "\F0D64"; +} + +.mdi-car-turbocharger::before { + content: "\F101A"; +} + +.mdi-car-wash::before { + content: "\F010E"; +} + +.mdi-car-windshield::before { + content: "\F101B"; +} + +.mdi-car-windshield-outline::before { + content: "\F101C"; +} + +.mdi-car-wireless::before { + content: "\F1878"; +} + +.mdi-car-wrench::before { + content: "\F1814"; +} + +.mdi-carabiner::before { + content: "\F14C0"; +} + +.mdi-caravan::before { + content: "\F07AD"; +} + +.mdi-card::before { + content: "\F0B6F"; +} + +.mdi-card-account-details::before { + content: "\F05D2"; +} + +.mdi-card-account-details-outline::before { + content: "\F0DAB"; +} + +.mdi-card-account-details-star::before { + content: "\F02A3"; +} + +.mdi-card-account-details-star-outline::before { + content: "\F06DB"; +} + +.mdi-card-account-mail::before { + content: "\F018E"; +} + +.mdi-card-account-mail-outline::before { + content: "\F0E98"; +} + +.mdi-card-account-phone::before { + content: "\F0E99"; +} + +.mdi-card-account-phone-outline::before { + content: "\F0E9A"; +} + +.mdi-card-bulleted::before { + content: "\F0B70"; +} + +.mdi-card-bulleted-off::before { + content: "\F0B71"; +} + +.mdi-card-bulleted-off-outline::before { + content: "\F0B72"; +} + +.mdi-card-bulleted-outline::before { + content: "\F0B73"; +} + +.mdi-card-bulleted-settings::before { + content: "\F0B74"; +} + +.mdi-card-bulleted-settings-outline::before { + content: "\F0B75"; +} + +.mdi-card-minus::before { + content: "\F1600"; +} + +.mdi-card-minus-outline::before { + content: "\F1601"; +} + +.mdi-card-multiple::before { + content: "\F17F1"; +} + +.mdi-card-multiple-outline::before { + content: "\F17F2"; +} + +.mdi-card-off::before { + content: "\F1602"; +} + +.mdi-card-off-outline::before { + content: "\F1603"; +} + +.mdi-card-outline::before { + content: "\F0B76"; +} + +.mdi-card-plus::before { + content: "\F11FF"; +} + +.mdi-card-plus-outline::before { + content: "\F1200"; +} + +.mdi-card-remove::before { + content: "\F1604"; +} + +.mdi-card-remove-outline::before { + content: "\F1605"; +} + +.mdi-card-search::before { + content: "\F1074"; +} + +.mdi-card-search-outline::before { + content: "\F1075"; +} + +.mdi-card-text::before { + content: "\F0B77"; +} + +.mdi-card-text-outline::before { + content: "\F0B78"; +} + +.mdi-cards::before { + content: "\F0638"; +} + +.mdi-cards-club::before { + content: "\F08CE"; +} + +.mdi-cards-club-outline::before { + content: "\F189F"; +} + +.mdi-cards-diamond::before { + content: "\F08CF"; +} + +.mdi-cards-diamond-outline::before { + content: "\F101D"; +} + +.mdi-cards-heart::before { + content: "\F08D0"; +} + +.mdi-cards-heart-outline::before { + content: "\F18A0"; +} + +.mdi-cards-outline::before { + content: "\F0639"; +} + +.mdi-cards-playing::before { + content: "\F18A1"; +} + +.mdi-cards-playing-club::before { + content: "\F18A2"; +} + +.mdi-cards-playing-club-multiple::before { + content: "\F18A3"; +} + +.mdi-cards-playing-club-multiple-outline::before { + content: "\F18A4"; +} + +.mdi-cards-playing-club-outline::before { + content: "\F18A5"; +} + +.mdi-cards-playing-diamond::before { + content: "\F18A6"; +} + +.mdi-cards-playing-diamond-multiple::before { + content: "\F18A7"; +} + +.mdi-cards-playing-diamond-multiple-outline::before { + content: "\F18A8"; +} + +.mdi-cards-playing-diamond-outline::before { + content: "\F18A9"; +} + +.mdi-cards-playing-heart::before { + content: "\F18AA"; +} + +.mdi-cards-playing-heart-multiple::before { + content: "\F18AB"; +} + +.mdi-cards-playing-heart-multiple-outline::before { + content: "\F18AC"; +} + +.mdi-cards-playing-heart-outline::before { + content: "\F18AD"; +} + +.mdi-cards-playing-outline::before { + content: "\F063A"; +} + +.mdi-cards-playing-spade::before { + content: "\F18AE"; +} + +.mdi-cards-playing-spade-multiple::before { + content: "\F18AF"; +} + +.mdi-cards-playing-spade-multiple-outline::before { + content: "\F18B0"; +} + +.mdi-cards-playing-spade-outline::before { + content: "\F18B1"; +} + +.mdi-cards-spade::before { + content: "\F08D1"; +} + +.mdi-cards-spade-outline::before { + content: "\F18B2"; +} + +.mdi-cards-variant::before { + content: "\F06C7"; +} + +.mdi-carrot::before { + content: "\F010F"; +} + +.mdi-cart::before { + content: "\F0110"; +} + +.mdi-cart-arrow-down::before { + content: "\F0D66"; +} + +.mdi-cart-arrow-right::before { + content: "\F0C4E"; +} + +.mdi-cart-arrow-up::before { + content: "\F0D67"; +} + +.mdi-cart-check::before { + content: "\F15EA"; +} + +.mdi-cart-heart::before { + content: "\F18E0"; +} + +.mdi-cart-minus::before { + content: "\F0D68"; +} + +.mdi-cart-off::before { + content: "\F066B"; +} + +.mdi-cart-outline::before { + content: "\F0111"; +} + +.mdi-cart-percent::before { + content: "\F1BAE"; +} + +.mdi-cart-plus::before { + content: "\F0112"; +} + +.mdi-cart-remove::before { + content: "\F0D69"; +} + +.mdi-cart-variant::before { + content: "\F15EB"; +} + +.mdi-case-sensitive-alt::before { + content: "\F0113"; +} + +.mdi-cash::before { + content: "\F0114"; +} + +.mdi-cash-100::before { + content: "\F0115"; +} + +.mdi-cash-check::before { + content: "\F14EE"; +} + +.mdi-cash-clock::before { + content: "\F1A91"; +} + +.mdi-cash-edit::before { + content: "\F1CAB"; +} + +.mdi-cash-fast::before { + content: "\F185C"; +} + +.mdi-cash-lock::before { + content: "\F14EA"; +} + +.mdi-cash-lock-open::before { + content: "\F14EB"; +} + +.mdi-cash-marker::before { + content: "\F0DB8"; +} + +.mdi-cash-minus::before { + content: "\F1260"; +} + +.mdi-cash-multiple::before { + content: "\F0116"; +} + +.mdi-cash-off::before { + content: "\F1C79"; +} + +.mdi-cash-plus::before { + content: "\F1261"; +} + +.mdi-cash-refund::before { + content: "\F0A9C"; +} + +.mdi-cash-register::before { + content: "\F0CF4"; +} + +.mdi-cash-remove::before { + content: "\F1262"; +} + +.mdi-cash-sync::before { + content: "\F1A92"; +} + +.mdi-cassette::before { + content: "\F09D4"; +} + +.mdi-cast::before { + content: "\F0118"; +} + +.mdi-cast-audio::before { + content: "\F101E"; +} + +.mdi-cast-audio-variant::before { + content: "\F1749"; +} + +.mdi-cast-connected::before { + content: "\F0119"; +} + +.mdi-cast-education::before { + content: "\F0E1D"; +} + +.mdi-cast-off::before { + content: "\F078A"; +} + +.mdi-cast-variant::before { + content: "\F001F"; +} + +.mdi-castle::before { + content: "\F011A"; +} + +.mdi-cat::before { + content: "\F011B"; +} + +.mdi-cctv::before { + content: "\F07AE"; +} + +.mdi-cctv-off::before { + content: "\F185F"; +} + +.mdi-ceiling-fan::before { + content: "\F1797"; +} + +.mdi-ceiling-fan-light::before { + content: "\F1798"; +} + +.mdi-ceiling-light::before { + content: "\F0769"; +} + +.mdi-ceiling-light-multiple::before { + content: "\F18DD"; +} + +.mdi-ceiling-light-multiple-outline::before { + content: "\F18DE"; +} + +.mdi-ceiling-light-outline::before { + content: "\F17C7"; +} + +.mdi-cellphone::before { + content: "\F011C"; +} + +.mdi-cellphone-arrow-down::before { + content: "\F09D5"; +} + +.mdi-cellphone-arrow-down-variant::before { + content: "\F19C5"; +} + +.mdi-cellphone-basic::before { + content: "\F011E"; +} + +.mdi-cellphone-charging::before { + content: "\F1397"; +} + +.mdi-cellphone-check::before { + content: "\F17FD"; +} + +.mdi-cellphone-cog::before { + content: "\F0951"; +} + +.mdi-cellphone-dock::before { + content: "\F011F"; +} + +.mdi-cellphone-information::before { + content: "\F0F41"; +} + +.mdi-cellphone-key::before { + content: "\F094E"; +} + +.mdi-cellphone-link::before { + content: "\F0121"; +} + +.mdi-cellphone-link-off::before { + content: "\F0122"; +} + +.mdi-cellphone-lock::before { + content: "\F094F"; +} + +.mdi-cellphone-marker::before { + content: "\F183A"; +} + +.mdi-cellphone-message::before { + content: "\F08D3"; +} + +.mdi-cellphone-message-off::before { + content: "\F10D2"; +} + +.mdi-cellphone-nfc::before { + content: "\F0E90"; +} + +.mdi-cellphone-nfc-off::before { + content: "\F12D8"; +} + +.mdi-cellphone-off::before { + content: "\F0950"; +} + +.mdi-cellphone-play::before { + content: "\F101F"; +} + +.mdi-cellphone-remove::before { + content: "\F094D"; +} + +.mdi-cellphone-screenshot::before { + content: "\F0A35"; +} + +.mdi-cellphone-settings::before { + content: "\F0123"; +} + +.mdi-cellphone-sound::before { + content: "\F0952"; +} + +.mdi-cellphone-text::before { + content: "\F08D2"; +} + +.mdi-cellphone-wireless::before { + content: "\F0815"; +} + +.mdi-centos::before { + content: "\F111A"; +} + +.mdi-certificate::before { + content: "\F0124"; +} + +.mdi-certificate-outline::before { + content: "\F1188"; +} + +.mdi-chair-rolling::before { + content: "\F0F48"; +} + +.mdi-chair-school::before { + content: "\F0125"; +} + +.mdi-chandelier::before { + content: "\F1793"; +} + +.mdi-charity::before { + content: "\F0C4F"; +} + +.mdi-charity-search::before { + content: "\F1C82"; +} + +.mdi-chart-arc::before { + content: "\F0126"; +} + +.mdi-chart-areaspline::before { + content: "\F0127"; +} + +.mdi-chart-areaspline-variant::before { + content: "\F0E91"; +} + +.mdi-chart-bar::before { + content: "\F0128"; +} + +.mdi-chart-bar-stacked::before { + content: "\F076A"; +} + +.mdi-chart-bell-curve::before { + content: "\F0C50"; +} + +.mdi-chart-bell-curve-cumulative::before { + content: "\F0FA7"; +} + +.mdi-chart-box::before { + content: "\F154D"; +} + +.mdi-chart-box-multiple::before { + content: "\F1CCD"; +} + +.mdi-chart-box-multiple-outline::before { + content: "\F1CCE"; +} + +.mdi-chart-box-outline::before { + content: "\F154E"; +} + +.mdi-chart-box-plus-outline::before { + content: "\F154F"; +} + +.mdi-chart-bubble::before { + content: "\F05E3"; +} + +.mdi-chart-donut::before { + content: "\F07AF"; +} + +.mdi-chart-donut-variant::before { + content: "\F07B0"; +} + +.mdi-chart-gantt::before { + content: "\F066C"; +} + +.mdi-chart-histogram::before { + content: "\F0129"; +} + +.mdi-chart-line::before { + content: "\F012A"; +} + +.mdi-chart-line-stacked::before { + content: "\F076B"; +} + +.mdi-chart-line-variant::before { + content: "\F07B1"; +} + +.mdi-chart-multiline::before { + content: "\F08D4"; +} + +.mdi-chart-multiple::before { + content: "\F1213"; +} + +.mdi-chart-pie::before { + content: "\F012B"; +} + +.mdi-chart-pie-outline::before { + content: "\F1BDF"; +} + +.mdi-chart-ppf::before { + content: "\F1380"; +} + +.mdi-chart-sankey::before { + content: "\F11DF"; +} + +.mdi-chart-sankey-variant::before { + content: "\F11E0"; +} + +.mdi-chart-scatter-plot::before { + content: "\F0E92"; +} + +.mdi-chart-scatter-plot-hexbin::before { + content: "\F066D"; +} + +.mdi-chart-timeline::before { + content: "\F066E"; +} + +.mdi-chart-timeline-variant::before { + content: "\F0E93"; +} + +.mdi-chart-timeline-variant-shimmer::before { + content: "\F15B6"; +} + +.mdi-chart-tree::before { + content: "\F0E94"; +} + +.mdi-chart-waterfall::before { + content: "\F1918"; +} + +.mdi-chat::before { + content: "\F0B79"; +} + +.mdi-chat-alert::before { + content: "\F0B7A"; +} + +.mdi-chat-alert-outline::before { + content: "\F12C9"; +} + +.mdi-chat-minus::before { + content: "\F1410"; +} + +.mdi-chat-minus-outline::before { + content: "\F1413"; +} + +.mdi-chat-outline::before { + content: "\F0EDE"; +} + +.mdi-chat-plus::before { + content: "\F140F"; +} + +.mdi-chat-plus-outline::before { + content: "\F1412"; +} + +.mdi-chat-processing::before { + content: "\F0B7B"; +} + +.mdi-chat-processing-outline::before { + content: "\F12CA"; +} + +.mdi-chat-question::before { + content: "\F1738"; +} + +.mdi-chat-question-outline::before { + content: "\F1739"; +} + +.mdi-chat-remove::before { + content: "\F1411"; +} + +.mdi-chat-remove-outline::before { + content: "\F1414"; +} + +.mdi-chat-sleep::before { + content: "\F12D1"; +} + +.mdi-chat-sleep-outline::before { + content: "\F12D2"; +} + +.mdi-check::before { + content: "\F012C"; +} + +.mdi-check-all::before { + content: "\F012D"; +} + +.mdi-check-bold::before { + content: "\F0E1E"; +} + +.mdi-check-circle::before { + content: "\F05E0"; +} + +.mdi-check-circle-outline::before { + content: "\F05E1"; +} + +.mdi-check-decagram::before { + content: "\F0791"; +} + +.mdi-check-decagram-outline::before { + content: "\F1740"; +} + +.mdi-check-network::before { + content: "\F0C53"; +} + +.mdi-check-network-outline::before { + content: "\F0C54"; +} + +.mdi-check-outline::before { + content: "\F0855"; +} + +.mdi-check-underline::before { + content: "\F0E1F"; +} + +.mdi-check-underline-circle::before { + content: "\F0E20"; +} + +.mdi-check-underline-circle-outline::before { + content: "\F0E21"; +} + +.mdi-checkbook::before { + content: "\F0A9D"; +} + +.mdi-checkbook-arrow-left::before { + content: "\F1C1D"; +} + +.mdi-checkbook-arrow-right::before { + content: "\F1C1E"; +} + +.mdi-checkbox-blank::before { + content: "\F012E"; +} + +.mdi-checkbox-blank-badge::before { + content: "\F1176"; +} + +.mdi-checkbox-blank-badge-outline::before { + content: "\F0117"; +} + +.mdi-checkbox-blank-circle::before { + content: "\F012F"; +} + +.mdi-checkbox-blank-circle-outline::before { + content: "\F0130"; +} + +.mdi-checkbox-blank-off::before { + content: "\F12EC"; +} + +.mdi-checkbox-blank-off-outline::before { + content: "\F12ED"; +} + +.mdi-checkbox-blank-outline::before { + content: "\F0131"; +} + +.mdi-checkbox-intermediate::before { + content: "\F0856"; +} + +.mdi-checkbox-intermediate-variant::before { + content: "\F1B54"; +} + +.mdi-checkbox-marked::before { + content: "\F0132"; +} + +.mdi-checkbox-marked-circle::before { + content: "\F0133"; +} + +.mdi-checkbox-marked-circle-auto-outline::before { + content: "\F1C26"; +} + +.mdi-checkbox-marked-circle-minus-outline::before { + content: "\F1C27"; +} + +.mdi-checkbox-marked-circle-outline::before { + content: "\F0134"; +} + +.mdi-checkbox-marked-circle-plus-outline::before { + content: "\F1927"; +} + +.mdi-checkbox-marked-outline::before { + content: "\F0135"; +} + +.mdi-checkbox-multiple-blank::before { + content: "\F0136"; +} + +.mdi-checkbox-multiple-blank-circle::before { + content: "\F063B"; +} + +.mdi-checkbox-multiple-blank-circle-outline::before { + content: "\F063C"; +} + +.mdi-checkbox-multiple-blank-outline::before { + content: "\F0137"; +} + +.mdi-checkbox-multiple-marked::before { + content: "\F0138"; +} + +.mdi-checkbox-multiple-marked-circle::before { + content: "\F063D"; +} + +.mdi-checkbox-multiple-marked-circle-outline::before { + content: "\F063E"; +} + +.mdi-checkbox-multiple-marked-outline::before { + content: "\F0139"; +} + +.mdi-checkbox-multiple-outline::before { + content: "\F0C51"; +} + +.mdi-checkbox-outline::before { + content: "\F0C52"; +} + +.mdi-checkerboard::before { + content: "\F013A"; +} + +.mdi-checkerboard-minus::before { + content: "\F1202"; +} + +.mdi-checkerboard-plus::before { + content: "\F1201"; +} + +.mdi-checkerboard-remove::before { + content: "\F1203"; +} + +.mdi-cheese::before { + content: "\F12B9"; +} + +.mdi-cheese-off::before { + content: "\F13EE"; +} + +.mdi-chef-hat::before { + content: "\F0B7C"; +} + +.mdi-chemical-weapon::before { + content: "\F013B"; +} + +.mdi-chess-bishop::before { + content: "\F085C"; +} + +.mdi-chess-king::before { + content: "\F0857"; +} + +.mdi-chess-knight::before { + content: "\F0858"; +} + +.mdi-chess-pawn::before { + content: "\F0859"; +} + +.mdi-chess-queen::before { + content: "\F085A"; +} + +.mdi-chess-rook::before { + content: "\F085B"; +} + +.mdi-chevron-double-down::before { + content: "\F013C"; +} + +.mdi-chevron-double-left::before { + content: "\F013D"; +} + +.mdi-chevron-double-right::before { + content: "\F013E"; +} + +.mdi-chevron-double-up::before { + content: "\F013F"; +} + +.mdi-chevron-down::before { + content: "\F0140"; +} + +.mdi-chevron-down-box::before { + content: "\F09D6"; +} + +.mdi-chevron-down-box-outline::before { + content: "\F09D7"; +} + +.mdi-chevron-down-circle::before { + content: "\F0B26"; +} + +.mdi-chevron-down-circle-outline::before { + content: "\F0B27"; +} + +.mdi-chevron-left::before { + content: "\F0141"; +} + +.mdi-chevron-left-box::before { + content: "\F09D8"; +} + +.mdi-chevron-left-box-outline::before { + content: "\F09D9"; +} + +.mdi-chevron-left-circle::before { + content: "\F0B28"; +} + +.mdi-chevron-left-circle-outline::before { + content: "\F0B29"; +} + +.mdi-chevron-right::before { + content: "\F0142"; +} + +.mdi-chevron-right-box::before { + content: "\F09DA"; +} + +.mdi-chevron-right-box-outline::before { + content: "\F09DB"; +} + +.mdi-chevron-right-circle::before { + content: "\F0B2A"; +} + +.mdi-chevron-right-circle-outline::before { + content: "\F0B2B"; +} + +.mdi-chevron-triple-down::before { + content: "\F0DB9"; +} + +.mdi-chevron-triple-left::before { + content: "\F0DBA"; +} + +.mdi-chevron-triple-right::before { + content: "\F0DBB"; +} + +.mdi-chevron-triple-up::before { + content: "\F0DBC"; +} + +.mdi-chevron-up::before { + content: "\F0143"; +} + +.mdi-chevron-up-box::before { + content: "\F09DC"; +} + +.mdi-chevron-up-box-outline::before { + content: "\F09DD"; +} + +.mdi-chevron-up-circle::before { + content: "\F0B2C"; +} + +.mdi-chevron-up-circle-outline::before { + content: "\F0B2D"; +} + +.mdi-chili-alert::before { + content: "\F17EA"; +} + +.mdi-chili-alert-outline::before { + content: "\F17EB"; +} + +.mdi-chili-hot::before { + content: "\F07B2"; +} + +.mdi-chili-hot-outline::before { + content: "\F17EC"; +} + +.mdi-chili-medium::before { + content: "\F07B3"; +} + +.mdi-chili-medium-outline::before { + content: "\F17ED"; +} + +.mdi-chili-mild::before { + content: "\F07B4"; +} + +.mdi-chili-mild-outline::before { + content: "\F17EE"; +} + +.mdi-chili-off::before { + content: "\F1467"; +} + +.mdi-chili-off-outline::before { + content: "\F17EF"; +} + +.mdi-chip::before { + content: "\F061A"; +} + +.mdi-church::before { + content: "\F0144"; +} + +.mdi-church-outline::before { + content: "\F1B02"; +} + +.mdi-cigar::before { + content: "\F1189"; +} + +.mdi-cigar-off::before { + content: "\F141B"; +} + +.mdi-circle::before { + content: "\F0765"; +} + +.mdi-circle-box::before { + content: "\F15DC"; +} + +.mdi-circle-box-outline::before { + content: "\F15DD"; +} + +.mdi-circle-double::before { + content: "\F0E95"; +} + +.mdi-circle-edit-outline::before { + content: "\F08D5"; +} + +.mdi-circle-expand::before { + content: "\F0E96"; +} + +.mdi-circle-half::before { + content: "\F1395"; +} + +.mdi-circle-half-full::before { + content: "\F1396"; +} + +.mdi-circle-medium::before { + content: "\F09DE"; +} + +.mdi-circle-multiple::before { + content: "\F0B38"; +} + +.mdi-circle-multiple-outline::before { + content: "\F0695"; +} + +.mdi-circle-off-outline::before { + content: "\F10D3"; +} + +.mdi-circle-opacity::before { + content: "\F1853"; +} + +.mdi-circle-outline::before { + content: "\F0766"; +} + +.mdi-circle-slice-1::before { + content: "\F0A9E"; +} + +.mdi-circle-slice-2::before { + content: "\F0A9F"; +} + +.mdi-circle-slice-3::before { + content: "\F0AA0"; +} + +.mdi-circle-slice-4::before { + content: "\F0AA1"; +} + +.mdi-circle-slice-5::before { + content: "\F0AA2"; +} + +.mdi-circle-slice-6::before { + content: "\F0AA3"; +} + +.mdi-circle-slice-7::before { + content: "\F0AA4"; +} + +.mdi-circle-slice-8::before { + content: "\F0AA5"; +} + +.mdi-circle-small::before { + content: "\F09DF"; +} + +.mdi-circular-saw::before { + content: "\F0E22"; +} + +.mdi-city::before { + content: "\F0146"; +} + +.mdi-city-switch::before { + content: "\F1C28"; +} + +.mdi-city-variant::before { + content: "\F0A36"; +} + +.mdi-city-variant-outline::before { + content: "\F0A37"; +} + +.mdi-clipboard::before { + content: "\F0147"; +} + +.mdi-clipboard-account::before { + content: "\F0148"; +} + +.mdi-clipboard-account-outline::before { + content: "\F0C55"; +} + +.mdi-clipboard-alert::before { + content: "\F0149"; +} + +.mdi-clipboard-alert-outline::before { + content: "\F0CF7"; +} + +.mdi-clipboard-arrow-down::before { + content: "\F014A"; +} + +.mdi-clipboard-arrow-down-outline::before { + content: "\F0C56"; +} + +.mdi-clipboard-arrow-left::before { + content: "\F014B"; +} + +.mdi-clipboard-arrow-left-outline::before { + content: "\F0CF8"; +} + +.mdi-clipboard-arrow-right::before { + content: "\F0CF9"; +} + +.mdi-clipboard-arrow-right-outline::before { + content: "\F0CFA"; +} + +.mdi-clipboard-arrow-up::before { + content: "\F0C57"; +} + +.mdi-clipboard-arrow-up-outline::before { + content: "\F0C58"; +} + +.mdi-clipboard-check::before { + content: "\F014E"; +} + +.mdi-clipboard-check-multiple::before { + content: "\F1263"; +} + +.mdi-clipboard-check-multiple-outline::before { + content: "\F1264"; +} + +.mdi-clipboard-check-outline::before { + content: "\F08A8"; +} + +.mdi-clipboard-clock::before { + content: "\F16E2"; +} + +.mdi-clipboard-clock-outline::before { + content: "\F16E3"; +} + +.mdi-clipboard-edit::before { + content: "\F14E5"; +} + +.mdi-clipboard-edit-outline::before { + content: "\F14E6"; +} + +.mdi-clipboard-file::before { + content: "\F1265"; +} + +.mdi-clipboard-file-outline::before { + content: "\F1266"; +} + +.mdi-clipboard-flow::before { + content: "\F06C8"; +} + +.mdi-clipboard-flow-outline::before { + content: "\F1117"; +} + +.mdi-clipboard-list::before { + content: "\F10D4"; +} + +.mdi-clipboard-list-outline::before { + content: "\F10D5"; +} + +.mdi-clipboard-minus::before { + content: "\F1618"; +} + +.mdi-clipboard-minus-outline::before { + content: "\F1619"; +} + +.mdi-clipboard-multiple::before { + content: "\F1267"; +} + +.mdi-clipboard-multiple-outline::before { + content: "\F1268"; +} + +.mdi-clipboard-off::before { + content: "\F161A"; +} + +.mdi-clipboard-off-outline::before { + content: "\F161B"; +} + +.mdi-clipboard-outline::before { + content: "\F014C"; +} + +.mdi-clipboard-play::before { + content: "\F0C59"; +} + +.mdi-clipboard-play-multiple::before { + content: "\F1269"; +} + +.mdi-clipboard-play-multiple-outline::before { + content: "\F126A"; +} + +.mdi-clipboard-play-outline::before { + content: "\F0C5A"; +} + +.mdi-clipboard-plus::before { + content: "\F0751"; +} + +.mdi-clipboard-plus-outline::before { + content: "\F131F"; +} + +.mdi-clipboard-pulse::before { + content: "\F085D"; +} + +.mdi-clipboard-pulse-outline::before { + content: "\F085E"; +} + +.mdi-clipboard-remove::before { + content: "\F161C"; +} + +.mdi-clipboard-remove-outline::before { + content: "\F161D"; +} + +.mdi-clipboard-search::before { + content: "\F161E"; +} + +.mdi-clipboard-search-outline::before { + content: "\F161F"; +} + +.mdi-clipboard-text::before { + content: "\F014D"; +} + +.mdi-clipboard-text-clock::before { + content: "\F18F9"; +} + +.mdi-clipboard-text-clock-outline::before { + content: "\F18FA"; +} + +.mdi-clipboard-text-multiple::before { + content: "\F126B"; +} + +.mdi-clipboard-text-multiple-outline::before { + content: "\F126C"; +} + +.mdi-clipboard-text-off::before { + content: "\F1620"; +} + +.mdi-clipboard-text-off-outline::before { + content: "\F1621"; +} + +.mdi-clipboard-text-outline::before { + content: "\F0A38"; +} + +.mdi-clipboard-text-play::before { + content: "\F0C5B"; +} + +.mdi-clipboard-text-play-outline::before { + content: "\F0C5C"; +} + +.mdi-clipboard-text-search::before { + content: "\F1622"; +} + +.mdi-clipboard-text-search-outline::before { + content: "\F1623"; +} + +.mdi-clippy::before { + content: "\F014F"; +} + +.mdi-clock::before { + content: "\F0954"; +} + +.mdi-clock-alert::before { + content: "\F0955"; +} + +.mdi-clock-alert-outline::before { + content: "\F05CE"; +} + +.mdi-clock-check::before { + content: "\F0FA8"; +} + +.mdi-clock-check-outline::before { + content: "\F0FA9"; +} + +.mdi-clock-digital::before { + content: "\F0E97"; +} + +.mdi-clock-edit::before { + content: "\F19BA"; +} + +.mdi-clock-edit-outline::before { + content: "\F19BB"; +} + +.mdi-clock-end::before { + content: "\F0151"; +} + +.mdi-clock-fast::before { + content: "\F0152"; +} + +.mdi-clock-in::before { + content: "\F0153"; +} + +.mdi-clock-minus::before { + content: "\F1863"; +} + +.mdi-clock-minus-outline::before { + content: "\F1864"; +} + +.mdi-clock-out::before { + content: "\F0154"; +} + +.mdi-clock-outline::before { + content: "\F0150"; +} + +.mdi-clock-plus::before { + content: "\F1861"; +} + +.mdi-clock-plus-outline::before { + content: "\F1862"; +} + +.mdi-clock-remove::before { + content: "\F1865"; +} + +.mdi-clock-remove-outline::before { + content: "\F1866"; +} + +.mdi-clock-star-four-points::before { + content: "\F1C29"; +} + +.mdi-clock-star-four-points-outline::before { + content: "\F1C2A"; +} + +.mdi-clock-start::before { + content: "\F0155"; +} + +.mdi-clock-time-eight::before { + content: "\F1446"; +} + +.mdi-clock-time-eight-outline::before { + content: "\F1452"; +} + +.mdi-clock-time-eleven::before { + content: "\F1449"; +} + +.mdi-clock-time-eleven-outline::before { + content: "\F1455"; +} + +.mdi-clock-time-five::before { + content: "\F1443"; +} + +.mdi-clock-time-five-outline::before { + content: "\F144F"; +} + +.mdi-clock-time-four::before { + content: "\F1442"; +} + +.mdi-clock-time-four-outline::before { + content: "\F144E"; +} + +.mdi-clock-time-nine::before { + content: "\F1447"; +} + +.mdi-clock-time-nine-outline::before { + content: "\F1453"; +} + +.mdi-clock-time-one::before { + content: "\F143F"; +} + +.mdi-clock-time-one-outline::before { + content: "\F144B"; +} + +.mdi-clock-time-seven::before { + content: "\F1445"; +} + +.mdi-clock-time-seven-outline::before { + content: "\F1451"; +} + +.mdi-clock-time-six::before { + content: "\F1444"; +} + +.mdi-clock-time-six-outline::before { + content: "\F1450"; +} + +.mdi-clock-time-ten::before { + content: "\F1448"; +} + +.mdi-clock-time-ten-outline::before { + content: "\F1454"; +} + +.mdi-clock-time-three::before { + content: "\F1441"; +} + +.mdi-clock-time-three-outline::before { + content: "\F144D"; +} + +.mdi-clock-time-twelve::before { + content: "\F144A"; +} + +.mdi-clock-time-twelve-outline::before { + content: "\F1456"; +} + +.mdi-clock-time-two::before { + content: "\F1440"; +} + +.mdi-clock-time-two-outline::before { + content: "\F144C"; +} + +.mdi-close::before { + content: "\F0156"; +} + +.mdi-close-box::before { + content: "\F0157"; +} + +.mdi-close-box-multiple::before { + content: "\F0C5D"; +} + +.mdi-close-box-multiple-outline::before { + content: "\F0C5E"; +} + +.mdi-close-box-outline::before { + content: "\F0158"; +} + +.mdi-close-circle::before { + content: "\F0159"; +} + +.mdi-close-circle-multiple::before { + content: "\F062A"; +} + +.mdi-close-circle-multiple-outline::before { + content: "\F0883"; +} + +.mdi-close-circle-outline::before { + content: "\F015A"; +} + +.mdi-close-network::before { + content: "\F015B"; +} + +.mdi-close-network-outline::before { + content: "\F0C5F"; +} + +.mdi-close-octagon::before { + content: "\F015C"; +} + +.mdi-close-octagon-outline::before { + content: "\F015D"; +} + +.mdi-close-outline::before { + content: "\F06C9"; +} + +.mdi-close-thick::before { + content: "\F1398"; +} + +.mdi-closed-caption::before { + content: "\F015E"; +} + +.mdi-closed-caption-outline::before { + content: "\F0DBD"; +} + +.mdi-cloud::before { + content: "\F015F"; +} + +.mdi-cloud-alert::before { + content: "\F09E0"; +} + +.mdi-cloud-alert-outline::before { + content: "\F1BE0"; +} + +.mdi-cloud-arrow-down::before { + content: "\F1BE1"; +} + +.mdi-cloud-arrow-down-outline::before { + content: "\F1BE2"; +} + +.mdi-cloud-arrow-left::before { + content: "\F1BE3"; +} + +.mdi-cloud-arrow-left-outline::before { + content: "\F1BE4"; +} + +.mdi-cloud-arrow-right::before { + content: "\F1BE5"; +} + +.mdi-cloud-arrow-right-outline::before { + content: "\F1BE6"; +} + +.mdi-cloud-arrow-up::before { + content: "\F1BE7"; +} + +.mdi-cloud-arrow-up-outline::before { + content: "\F1BE8"; +} + +.mdi-cloud-braces::before { + content: "\F07B5"; +} + +.mdi-cloud-cancel::before { + content: "\F1BE9"; +} + +.mdi-cloud-cancel-outline::before { + content: "\F1BEA"; +} + +.mdi-cloud-check::before { + content: "\F1BEB"; +} + +.mdi-cloud-check-outline::before { + content: "\F1BEC"; +} + +.mdi-cloud-check-variant::before { + content: "\F0160"; +} + +.mdi-cloud-check-variant-outline::before { + content: "\F12CC"; +} + +.mdi-cloud-circle::before { + content: "\F0161"; +} + +.mdi-cloud-circle-outline::before { + content: "\F1BED"; +} + +.mdi-cloud-clock::before { + content: "\F1BEE"; +} + +.mdi-cloud-clock-outline::before { + content: "\F1BEF"; +} + +.mdi-cloud-cog::before { + content: "\F1BF0"; +} + +.mdi-cloud-cog-outline::before { + content: "\F1BF1"; +} + +.mdi-cloud-download::before { + content: "\F0162"; +} + +.mdi-cloud-download-outline::before { + content: "\F0B7D"; +} + +.mdi-cloud-key::before { + content: "\F1CA1"; +} + +.mdi-cloud-key-outline::before { + content: "\F1CA2"; +} + +.mdi-cloud-lock::before { + content: "\F11F1"; +} + +.mdi-cloud-lock-open::before { + content: "\F1BF2"; +} + +.mdi-cloud-lock-open-outline::before { + content: "\F1BF3"; +} + +.mdi-cloud-lock-outline::before { + content: "\F11F2"; +} + +.mdi-cloud-minus::before { + content: "\F1BF4"; +} + +.mdi-cloud-minus-outline::before { + content: "\F1BF5"; +} + +.mdi-cloud-off::before { + content: "\F1BF6"; +} + +.mdi-cloud-off-outline::before { + content: "\F0164"; +} + +.mdi-cloud-outline::before { + content: "\F0163"; +} + +.mdi-cloud-percent::before { + content: "\F1A35"; +} + +.mdi-cloud-percent-outline::before { + content: "\F1A36"; +} + +.mdi-cloud-plus::before { + content: "\F1BF7"; +} + +.mdi-cloud-plus-outline::before { + content: "\F1BF8"; +} + +.mdi-cloud-print::before { + content: "\F0165"; +} + +.mdi-cloud-print-outline::before { + content: "\F0166"; +} + +.mdi-cloud-question::before { + content: "\F0A39"; +} + +.mdi-cloud-question-outline::before { + content: "\F1BF9"; +} + +.mdi-cloud-refresh::before { + content: "\F1BFA"; +} + +.mdi-cloud-refresh-outline::before { + content: "\F1BFB"; +} + +.mdi-cloud-refresh-variant::before { + content: "\F052A"; +} + +.mdi-cloud-refresh-variant-outline::before { + content: "\F1BFC"; +} + +.mdi-cloud-remove::before { + content: "\F1BFD"; +} + +.mdi-cloud-remove-outline::before { + content: "\F1BFE"; +} + +.mdi-cloud-search::before { + content: "\F0956"; +} + +.mdi-cloud-search-outline::before { + content: "\F0957"; +} + +.mdi-cloud-sync::before { + content: "\F063F"; +} + +.mdi-cloud-sync-outline::before { + content: "\F12D6"; +} + +.mdi-cloud-tags::before { + content: "\F07B6"; +} + +.mdi-cloud-upload::before { + content: "\F0167"; +} + +.mdi-cloud-upload-outline::before { + content: "\F0B7E"; +} + +.mdi-clouds::before { + content: "\F1B95"; +} + +.mdi-clover::before { + content: "\F0816"; +} + +.mdi-clover-outline::before { + content: "\F1C62"; +} + +.mdi-coach-lamp::before { + content: "\F1020"; +} + +.mdi-coach-lamp-variant::before { + content: "\F1A37"; +} + +.mdi-coat-rack::before { + content: "\F109E"; +} + +.mdi-code-array::before { + content: "\F0168"; +} + +.mdi-code-block-braces::before { + content: "\F1C83"; +} + +.mdi-code-block-brackets::before { + content: "\F1C84"; +} + +.mdi-code-block-parentheses::before { + content: "\F1C85"; +} + +.mdi-code-block-tags::before { + content: "\F1C86"; +} + +.mdi-code-braces::before { + content: "\F0169"; +} + +.mdi-code-braces-box::before { + content: "\F10D6"; +} + +.mdi-code-brackets::before { + content: "\F016A"; +} + +.mdi-code-equal::before { + content: "\F016B"; +} + +.mdi-code-greater-than::before { + content: "\F016C"; +} + +.mdi-code-greater-than-or-equal::before { + content: "\F016D"; +} + +.mdi-code-json::before { + content: "\F0626"; +} + +.mdi-code-less-than::before { + content: "\F016E"; +} + +.mdi-code-less-than-or-equal::before { + content: "\F016F"; +} + +.mdi-code-not-equal::before { + content: "\F0170"; +} + +.mdi-code-not-equal-variant::before { + content: "\F0171"; +} + +.mdi-code-parentheses::before { + content: "\F0172"; +} + +.mdi-code-parentheses-box::before { + content: "\F10D7"; +} + +.mdi-code-string::before { + content: "\F0173"; +} + +.mdi-code-tags::before { + content: "\F0174"; +} + +.mdi-code-tags-check::before { + content: "\F0694"; +} + +.mdi-codepen::before { + content: "\F0175"; +} + +.mdi-coffee::before { + content: "\F0176"; +} + +.mdi-coffee-maker::before { + content: "\F109F"; +} + +.mdi-coffee-maker-check::before { + content: "\F1931"; +} + +.mdi-coffee-maker-check-outline::before { + content: "\F1932"; +} + +.mdi-coffee-maker-outline::before { + content: "\F181B"; +} + +.mdi-coffee-off::before { + content: "\F0FAA"; +} + +.mdi-coffee-off-outline::before { + content: "\F0FAB"; +} + +.mdi-coffee-outline::before { + content: "\F06CA"; +} + +.mdi-coffee-to-go::before { + content: "\F0177"; +} + +.mdi-coffee-to-go-outline::before { + content: "\F130E"; +} + +.mdi-coffin::before { + content: "\F0B7F"; +} + +.mdi-cog::before { + content: "\F0493"; +} + +.mdi-cog-box::before { + content: "\F0494"; +} + +.mdi-cog-clockwise::before { + content: "\F11DD"; +} + +.mdi-cog-counterclockwise::before { + content: "\F11DE"; +} + +.mdi-cog-off::before { + content: "\F13CE"; +} + +.mdi-cog-off-outline::before { + content: "\F13CF"; +} + +.mdi-cog-outline::before { + content: "\F08BB"; +} + +.mdi-cog-pause::before { + content: "\F1933"; +} + +.mdi-cog-pause-outline::before { + content: "\F1934"; +} + +.mdi-cog-play::before { + content: "\F1935"; +} + +.mdi-cog-play-outline::before { + content: "\F1936"; +} + +.mdi-cog-refresh::before { + content: "\F145E"; +} + +.mdi-cog-refresh-outline::before { + content: "\F145F"; +} + +.mdi-cog-stop::before { + content: "\F1937"; +} + +.mdi-cog-stop-outline::before { + content: "\F1938"; +} + +.mdi-cog-sync::before { + content: "\F1460"; +} + +.mdi-cog-sync-outline::before { + content: "\F1461"; +} + +.mdi-cog-transfer::before { + content: "\F105B"; +} + +.mdi-cog-transfer-outline::before { + content: "\F105C"; +} + +.mdi-cogs::before { + content: "\F08D6"; +} + +.mdi-collage::before { + content: "\F0640"; +} + +.mdi-collapse-all::before { + content: "\F0AA6"; +} + +.mdi-collapse-all-outline::before { + content: "\F0AA7"; +} + +.mdi-color-helper::before { + content: "\F0179"; +} + +.mdi-comma::before { + content: "\F0E23"; +} + +.mdi-comma-box::before { + content: "\F0E2B"; +} + +.mdi-comma-box-outline::before { + content: "\F0E24"; +} + +.mdi-comma-circle::before { + content: "\F0E25"; +} + +.mdi-comma-circle-outline::before { + content: "\F0E26"; +} + +.mdi-comment::before { + content: "\F017A"; +} + +.mdi-comment-account::before { + content: "\F017B"; +} + +.mdi-comment-account-outline::before { + content: "\F017C"; +} + +.mdi-comment-alert::before { + content: "\F017D"; +} + +.mdi-comment-alert-outline::before { + content: "\F017E"; +} + +.mdi-comment-arrow-left::before { + content: "\F09E1"; +} + +.mdi-comment-arrow-left-outline::before { + content: "\F09E2"; +} + +.mdi-comment-arrow-right::before { + content: "\F09E3"; +} + +.mdi-comment-arrow-right-outline::before { + content: "\F09E4"; +} + +.mdi-comment-bookmark::before { + content: "\F15AE"; +} + +.mdi-comment-bookmark-outline::before { + content: "\F15AF"; +} + +.mdi-comment-check::before { + content: "\F017F"; +} + +.mdi-comment-check-outline::before { + content: "\F0180"; +} + +.mdi-comment-edit::before { + content: "\F11BF"; +} + +.mdi-comment-edit-outline::before { + content: "\F12C4"; +} + +.mdi-comment-eye::before { + content: "\F0A3A"; +} + +.mdi-comment-eye-outline::before { + content: "\F0A3B"; +} + +.mdi-comment-flash::before { + content: "\F15B0"; +} + +.mdi-comment-flash-outline::before { + content: "\F15B1"; +} + +.mdi-comment-minus::before { + content: "\F15DF"; +} + +.mdi-comment-minus-outline::before { + content: "\F15E0"; +} + +.mdi-comment-multiple::before { + content: "\F085F"; +} + +.mdi-comment-multiple-outline::before { + content: "\F0181"; +} + +.mdi-comment-off::before { + content: "\F15E1"; +} + +.mdi-comment-off-outline::before { + content: "\F15E2"; +} + +.mdi-comment-outline::before { + content: "\F0182"; +} + +.mdi-comment-plus::before { + content: "\F09E5"; +} + +.mdi-comment-plus-outline::before { + content: "\F0183"; +} + +.mdi-comment-processing::before { + content: "\F0184"; +} + +.mdi-comment-processing-outline::before { + content: "\F0185"; +} + +.mdi-comment-question::before { + content: "\F0817"; +} + +.mdi-comment-question-outline::before { + content: "\F0186"; +} + +.mdi-comment-quote::before { + content: "\F1021"; +} + +.mdi-comment-quote-outline::before { + content: "\F1022"; +} + +.mdi-comment-remove::before { + content: "\F05DE"; +} + +.mdi-comment-remove-outline::before { + content: "\F0187"; +} + +.mdi-comment-search::before { + content: "\F0A3C"; +} + +.mdi-comment-search-outline::before { + content: "\F0A3D"; +} + +.mdi-comment-text::before { + content: "\F0188"; +} + +.mdi-comment-text-multiple::before { + content: "\F0860"; +} + +.mdi-comment-text-multiple-outline::before { + content: "\F0861"; +} + +.mdi-comment-text-outline::before { + content: "\F0189"; +} + +.mdi-compare::before { + content: "\F018A"; +} + +.mdi-compare-horizontal::before { + content: "\F1492"; +} + +.mdi-compare-remove::before { + content: "\F18B3"; +} + +.mdi-compare-vertical::before { + content: "\F1493"; +} + +.mdi-compass::before { + content: "\F018B"; +} + +.mdi-compass-off::before { + content: "\F0B80"; +} + +.mdi-compass-off-outline::before { + content: "\F0B81"; +} + +.mdi-compass-outline::before { + content: "\F018C"; +} + +.mdi-compass-rose::before { + content: "\F1382"; +} + +.mdi-compost::before { + content: "\F1A38"; +} + +.mdi-cone::before { + content: "\F194C"; +} + +.mdi-cone-off::before { + content: "\F194D"; +} + +.mdi-connection::before { + content: "\F1616"; +} + +.mdi-console::before { + content: "\F018D"; +} + +.mdi-console-line::before { + content: "\F07B7"; +} + +.mdi-console-network::before { + content: "\F08A9"; +} + +.mdi-console-network-outline::before { + content: "\F0C60"; +} + +.mdi-consolidate::before { + content: "\F10D8"; +} + +.mdi-contactless-payment::before { + content: "\F0D6A"; +} + +.mdi-contactless-payment-circle::before { + content: "\F0321"; +} + +.mdi-contactless-payment-circle-outline::before { + content: "\F0408"; +} + +.mdi-contacts::before { + content: "\F06CB"; +} + +.mdi-contacts-outline::before { + content: "\F05B8"; +} + +.mdi-contain::before { + content: "\F0A3E"; +} + +.mdi-contain-end::before { + content: "\F0A3F"; +} + +.mdi-contain-start::before { + content: "\F0A40"; +} + +.mdi-content-copy::before { + content: "\F018F"; +} + +.mdi-content-cut::before { + content: "\F0190"; +} + +.mdi-content-duplicate::before { + content: "\F0191"; +} + +.mdi-content-paste::before { + content: "\F0192"; +} + +.mdi-content-save::before { + content: "\F0193"; +} + +.mdi-content-save-alert::before { + content: "\F0F42"; +} + +.mdi-content-save-alert-outline::before { + content: "\F0F43"; +} + +.mdi-content-save-all::before { + content: "\F0194"; +} + +.mdi-content-save-all-outline::before { + content: "\F0F44"; +} + +.mdi-content-save-check::before { + content: "\F18EA"; +} + +.mdi-content-save-check-outline::before { + content: "\F18EB"; +} + +.mdi-content-save-cog::before { + content: "\F145B"; +} + +.mdi-content-save-cog-outline::before { + content: "\F145C"; +} + +.mdi-content-save-edit::before { + content: "\F0CFB"; +} + +.mdi-content-save-edit-outline::before { + content: "\F0CFC"; +} + +.mdi-content-save-minus::before { + content: "\F1B43"; +} + +.mdi-content-save-minus-outline::before { + content: "\F1B44"; +} + +.mdi-content-save-move::before { + content: "\F0E27"; +} + +.mdi-content-save-move-outline::before { + content: "\F0E28"; +} + +.mdi-content-save-off::before { + content: "\F1643"; +} + +.mdi-content-save-off-outline::before { + content: "\F1644"; +} + +.mdi-content-save-outline::before { + content: "\F0818"; +} + +.mdi-content-save-plus::before { + content: "\F1B41"; +} + +.mdi-content-save-plus-outline::before { + content: "\F1B42"; +} + +.mdi-content-save-settings::before { + content: "\F061B"; +} + +.mdi-content-save-settings-outline::before { + content: "\F0B2E"; +} + +.mdi-contrast::before { + content: "\F0195"; +} + +.mdi-contrast-box::before { + content: "\F0196"; +} + +.mdi-contrast-circle::before { + content: "\F0197"; +} + +.mdi-controller::before { + content: "\F02B4"; +} + +.mdi-controller-classic::before { + content: "\F0B82"; +} + +.mdi-controller-classic-outline::before { + content: "\F0B83"; +} + +.mdi-controller-off::before { + content: "\F02B5"; +} + +.mdi-cookie::before { + content: "\F0198"; +} + +.mdi-cookie-alert::before { + content: "\F16D0"; +} + +.mdi-cookie-alert-outline::before { + content: "\F16D1"; +} + +.mdi-cookie-check::before { + content: "\F16D2"; +} + +.mdi-cookie-check-outline::before { + content: "\F16D3"; +} + +.mdi-cookie-clock::before { + content: "\F16E4"; +} + +.mdi-cookie-clock-outline::before { + content: "\F16E5"; +} + +.mdi-cookie-cog::before { + content: "\F16D4"; +} + +.mdi-cookie-cog-outline::before { + content: "\F16D5"; +} + +.mdi-cookie-edit::before { + content: "\F16E6"; +} + +.mdi-cookie-edit-outline::before { + content: "\F16E7"; +} + +.mdi-cookie-lock::before { + content: "\F16E8"; +} + +.mdi-cookie-lock-outline::before { + content: "\F16E9"; +} + +.mdi-cookie-minus::before { + content: "\F16DA"; +} + +.mdi-cookie-minus-outline::before { + content: "\F16DB"; +} + +.mdi-cookie-off::before { + content: "\F16EA"; +} + +.mdi-cookie-off-outline::before { + content: "\F16EB"; +} + +.mdi-cookie-outline::before { + content: "\F16DE"; +} + +.mdi-cookie-plus::before { + content: "\F16D6"; +} + +.mdi-cookie-plus-outline::before { + content: "\F16D7"; +} + +.mdi-cookie-refresh::before { + content: "\F16EC"; +} + +.mdi-cookie-refresh-outline::before { + content: "\F16ED"; +} + +.mdi-cookie-remove::before { + content: "\F16D8"; +} + +.mdi-cookie-remove-outline::before { + content: "\F16D9"; +} + +.mdi-cookie-settings::before { + content: "\F16DC"; +} + +.mdi-cookie-settings-outline::before { + content: "\F16DD"; +} + +.mdi-coolant-temperature::before { + content: "\F03C8"; +} + +.mdi-copyleft::before { + content: "\F1939"; +} + +.mdi-copyright::before { + content: "\F05E6"; +} + +.mdi-cordova::before { + content: "\F0958"; +} + +.mdi-corn::before { + content: "\F07B8"; +} + +.mdi-corn-off::before { + content: "\F13EF"; +} + +.mdi-cosine-wave::before { + content: "\F1479"; +} + +.mdi-counter::before { + content: "\F0199"; +} + +.mdi-countertop::before { + content: "\F181C"; +} + +.mdi-countertop-outline::before { + content: "\F181D"; +} + +.mdi-cow::before { + content: "\F019A"; +} + +.mdi-cow-off::before { + content: "\F18FC"; +} + +.mdi-cpu-32-bit::before { + content: "\F0EDF"; +} + +.mdi-cpu-64-bit::before { + content: "\F0EE0"; +} + +.mdi-cradle::before { + content: "\F198B"; +} + +.mdi-cradle-outline::before { + content: "\F1991"; +} + +.mdi-crane::before { + content: "\F0862"; +} + +.mdi-creation::before { + content: "\F0674"; +} + +.mdi-creation-outline::before { + content: "\F1C2B"; +} + +.mdi-creative-commons::before { + content: "\F0D6B"; +} + +.mdi-credit-card::before { + content: "\F0FEF"; +} + +.mdi-credit-card-check::before { + content: "\F13D0"; +} + +.mdi-credit-card-check-outline::before { + content: "\F13D1"; +} + +.mdi-credit-card-chip::before { + content: "\F190F"; +} + +.mdi-credit-card-chip-outline::before { + content: "\F1910"; +} + +.mdi-credit-card-clock::before { + content: "\F0EE1"; +} + +.mdi-credit-card-clock-outline::before { + content: "\F0EE2"; +} + +.mdi-credit-card-edit::before { + content: "\F17D7"; +} + +.mdi-credit-card-edit-outline::before { + content: "\F17D8"; +} + +.mdi-credit-card-fast::before { + content: "\F1911"; +} + +.mdi-credit-card-fast-outline::before { + content: "\F1912"; +} + +.mdi-credit-card-lock::before { + content: "\F18E7"; +} + +.mdi-credit-card-lock-outline::before { + content: "\F18E8"; +} + +.mdi-credit-card-marker::before { + content: "\F06A8"; +} + +.mdi-credit-card-marker-outline::before { + content: "\F0DBE"; +} + +.mdi-credit-card-minus::before { + content: "\F0FAC"; +} + +.mdi-credit-card-minus-outline::before { + content: "\F0FAD"; +} + +.mdi-credit-card-multiple::before { + content: "\F0FF0"; +} + +.mdi-credit-card-multiple-outline::before { + content: "\F019C"; +} + +.mdi-credit-card-off::before { + content: "\F0FF1"; +} + +.mdi-credit-card-off-outline::before { + content: "\F05E4"; +} + +.mdi-credit-card-outline::before { + content: "\F019B"; +} + +.mdi-credit-card-plus::before { + content: "\F0FF2"; +} + +.mdi-credit-card-plus-outline::before { + content: "\F0676"; +} + +.mdi-credit-card-refresh::before { + content: "\F1645"; +} + +.mdi-credit-card-refresh-outline::before { + content: "\F1646"; +} + +.mdi-credit-card-refund::before { + content: "\F0FF3"; +} + +.mdi-credit-card-refund-outline::before { + content: "\F0AA8"; +} + +.mdi-credit-card-remove::before { + content: "\F0FAE"; +} + +.mdi-credit-card-remove-outline::before { + content: "\F0FAF"; +} + +.mdi-credit-card-scan::before { + content: "\F0FF4"; +} + +.mdi-credit-card-scan-outline::before { + content: "\F019D"; +} + +.mdi-credit-card-search::before { + content: "\F1647"; +} + +.mdi-credit-card-search-outline::before { + content: "\F1648"; +} + +.mdi-credit-card-settings::before { + content: "\F0FF5"; +} + +.mdi-credit-card-settings-outline::before { + content: "\F08D7"; +} + +.mdi-credit-card-sync::before { + content: "\F1649"; +} + +.mdi-credit-card-sync-outline::before { + content: "\F164A"; +} + +.mdi-credit-card-wireless::before { + content: "\F0802"; +} + +.mdi-credit-card-wireless-off::before { + content: "\F057A"; +} + +.mdi-credit-card-wireless-off-outline::before { + content: "\F057B"; +} + +.mdi-credit-card-wireless-outline::before { + content: "\F0D6C"; +} + +.mdi-cricket::before { + content: "\F0D6D"; +} + +.mdi-crop::before { + content: "\F019E"; +} + +.mdi-crop-free::before { + content: "\F019F"; +} + +.mdi-crop-landscape::before { + content: "\F01A0"; +} + +.mdi-crop-portrait::before { + content: "\F01A1"; +} + +.mdi-crop-rotate::before { + content: "\F0696"; +} + +.mdi-crop-square::before { + content: "\F01A2"; +} + +.mdi-cross::before { + content: "\F0953"; +} + +.mdi-cross-bolnisi::before { + content: "\F0CED"; +} + +.mdi-cross-celtic::before { + content: "\F0CF5"; +} + +.mdi-cross-outline::before { + content: "\F0CF6"; +} + +.mdi-crosshairs::before { + content: "\F01A3"; +} + +.mdi-crosshairs-gps::before { + content: "\F01A4"; +} + +.mdi-crosshairs-off::before { + content: "\F0F45"; +} + +.mdi-crosshairs-question::before { + content: "\F1136"; +} + +.mdi-crowd::before { + content: "\F1975"; +} + +.mdi-crown::before { + content: "\F01A5"; +} + +.mdi-crown-circle::before { + content: "\F17DC"; +} + +.mdi-crown-circle-outline::before { + content: "\F17DD"; +} + +.mdi-crown-outline::before { + content: "\F11D0"; +} + +.mdi-cryengine::before { + content: "\F0959"; +} + +.mdi-crystal-ball::before { + content: "\F0B2F"; +} + +.mdi-cube::before { + content: "\F01A6"; +} + +.mdi-cube-off::before { + content: "\F141C"; +} + +.mdi-cube-off-outline::before { + content: "\F141D"; +} + +.mdi-cube-outline::before { + content: "\F01A7"; +} + +.mdi-cube-scan::before { + content: "\F0B84"; +} + +.mdi-cube-send::before { + content: "\F01A8"; +} + +.mdi-cube-unfolded::before { + content: "\F01A9"; +} + +.mdi-cup::before { + content: "\F01AA"; +} + +.mdi-cup-off::before { + content: "\F05E5"; +} + +.mdi-cup-off-outline::before { + content: "\F137D"; +} + +.mdi-cup-outline::before { + content: "\F130F"; +} + +.mdi-cup-water::before { + content: "\F01AB"; +} + +.mdi-cupboard::before { + content: "\F0F46"; +} + +.mdi-cupboard-outline::before { + content: "\F0F47"; +} + +.mdi-cupcake::before { + content: "\F095A"; +} + +.mdi-curling::before { + content: "\F0863"; +} + +.mdi-currency-bdt::before { + content: "\F0864"; +} + +.mdi-currency-brl::before { + content: "\F0B85"; +} + +.mdi-currency-btc::before { + content: "\F01AC"; +} + +.mdi-currency-cny::before { + content: "\F07BA"; +} + +.mdi-currency-eth::before { + content: "\F07BB"; +} + +.mdi-currency-eur::before { + content: "\F01AD"; +} + +.mdi-currency-eur-off::before { + content: "\F1315"; +} + +.mdi-currency-fra::before { + content: "\F1A39"; +} + +.mdi-currency-gbp::before { + content: "\F01AE"; +} + +.mdi-currency-ils::before { + content: "\F0C61"; +} + +.mdi-currency-inr::before { + content: "\F01AF"; +} + +.mdi-currency-jpy::before { + content: "\F07BC"; +} + +.mdi-currency-krw::before { + content: "\F07BD"; +} + +.mdi-currency-kzt::before { + content: "\F0865"; +} + +.mdi-currency-mnt::before { + content: "\F1512"; +} + +.mdi-currency-ngn::before { + content: "\F01B0"; +} + +.mdi-currency-php::before { + content: "\F09E6"; +} + +.mdi-currency-rial::before { + content: "\F0E9C"; +} + +.mdi-currency-rub::before { + content: "\F01B1"; +} + +.mdi-currency-rupee::before { + content: "\F1976"; +} + +.mdi-currency-sign::before { + content: "\F07BE"; +} + +.mdi-currency-thb::before { + content: "\F1C05"; +} + +.mdi-currency-try::before { + content: "\F01B2"; +} + +.mdi-currency-twd::before { + content: "\F07BF"; +} + +.mdi-currency-uah::before { + content: "\F1B9B"; +} + +.mdi-currency-usd::before { + content: "\F01C1"; +} + +.mdi-currency-usd-off::before { + content: "\F067A"; +} + +.mdi-current-ac::before { + content: "\F1480"; +} + +.mdi-current-dc::before { + content: "\F095C"; +} + +.mdi-cursor-default::before { + content: "\F01C0"; +} + +.mdi-cursor-default-click::before { + content: "\F0CFD"; +} + +.mdi-cursor-default-click-outline::before { + content: "\F0CFE"; +} + +.mdi-cursor-default-gesture::before { + content: "\F1127"; +} + +.mdi-cursor-default-gesture-outline::before { + content: "\F1128"; +} + +.mdi-cursor-default-outline::before { + content: "\F01BF"; +} + +.mdi-cursor-move::before { + content: "\F01BE"; +} + +.mdi-cursor-pointer::before { + content: "\F01BD"; +} + +.mdi-cursor-text::before { + content: "\F05E7"; +} + +.mdi-curtains::before { + content: "\F1846"; +} + +.mdi-curtains-closed::before { + content: "\F1847"; +} + +.mdi-cylinder::before { + content: "\F194E"; +} + +.mdi-cylinder-off::before { + content: "\F194F"; +} + +.mdi-dance-ballroom::before { + content: "\F15FB"; +} + +.mdi-dance-pole::before { + content: "\F1578"; +} + +.mdi-data-matrix::before { + content: "\F153C"; +} + +.mdi-data-matrix-edit::before { + content: "\F153D"; +} + +.mdi-data-matrix-minus::before { + content: "\F153E"; +} + +.mdi-data-matrix-plus::before { + content: "\F153F"; +} + +.mdi-data-matrix-remove::before { + content: "\F1540"; +} + +.mdi-data-matrix-scan::before { + content: "\F1541"; +} + +.mdi-database::before { + content: "\F01BC"; +} + +.mdi-database-alert::before { + content: "\F163A"; +} + +.mdi-database-alert-outline::before { + content: "\F1624"; +} + +.mdi-database-arrow-down::before { + content: "\F163B"; +} + +.mdi-database-arrow-down-outline::before { + content: "\F1625"; +} + +.mdi-database-arrow-left::before { + content: "\F163C"; +} + +.mdi-database-arrow-left-outline::before { + content: "\F1626"; +} + +.mdi-database-arrow-right::before { + content: "\F163D"; +} + +.mdi-database-arrow-right-outline::before { + content: "\F1627"; +} + +.mdi-database-arrow-up::before { + content: "\F163E"; +} + +.mdi-database-arrow-up-outline::before { + content: "\F1628"; +} + +.mdi-database-check::before { + content: "\F0AA9"; +} + +.mdi-database-check-outline::before { + content: "\F1629"; +} + +.mdi-database-clock::before { + content: "\F163F"; +} + +.mdi-database-clock-outline::before { + content: "\F162A"; +} + +.mdi-database-cog::before { + content: "\F164B"; +} + +.mdi-database-cog-outline::before { + content: "\F164C"; +} + +.mdi-database-edit::before { + content: "\F0B86"; +} + +.mdi-database-edit-outline::before { + content: "\F162B"; +} + +.mdi-database-export::before { + content: "\F095E"; +} + +.mdi-database-export-outline::before { + content: "\F162C"; +} + +.mdi-database-eye::before { + content: "\F191F"; +} + +.mdi-database-eye-off::before { + content: "\F1920"; +} + +.mdi-database-eye-off-outline::before { + content: "\F1921"; +} + +.mdi-database-eye-outline::before { + content: "\F1922"; +} + +.mdi-database-import::before { + content: "\F095D"; +} + +.mdi-database-import-outline::before { + content: "\F162D"; +} + +.mdi-database-lock::before { + content: "\F0AAA"; +} + +.mdi-database-lock-outline::before { + content: "\F162E"; +} + +.mdi-database-marker::before { + content: "\F12F6"; +} + +.mdi-database-marker-outline::before { + content: "\F162F"; +} + +.mdi-database-minus::before { + content: "\F01BB"; +} + +.mdi-database-minus-outline::before { + content: "\F1630"; +} + +.mdi-database-off::before { + content: "\F1640"; +} + +.mdi-database-off-outline::before { + content: "\F1631"; +} + +.mdi-database-outline::before { + content: "\F1632"; +} + +.mdi-database-plus::before { + content: "\F01BA"; +} + +.mdi-database-plus-outline::before { + content: "\F1633"; +} + +.mdi-database-refresh::before { + content: "\F05C2"; +} + +.mdi-database-refresh-outline::before { + content: "\F1634"; +} + +.mdi-database-remove::before { + content: "\F0D00"; +} + +.mdi-database-remove-outline::before { + content: "\F1635"; +} + +.mdi-database-search::before { + content: "\F0866"; +} + +.mdi-database-search-outline::before { + content: "\F1636"; +} + +.mdi-database-settings::before { + content: "\F0D01"; +} + +.mdi-database-settings-outline::before { + content: "\F1637"; +} + +.mdi-database-sync::before { + content: "\F0CFF"; +} + +.mdi-database-sync-outline::before { + content: "\F1638"; +} + +.mdi-death-star::before { + content: "\F08D8"; +} + +.mdi-death-star-variant::before { + content: "\F08D9"; +} + +.mdi-deathly-hallows::before { + content: "\F0B87"; +} + +.mdi-debian::before { + content: "\F08DA"; +} + +.mdi-debug-step-into::before { + content: "\F01B9"; +} + +.mdi-debug-step-out::before { + content: "\F01B8"; +} + +.mdi-debug-step-over::before { + content: "\F01B7"; +} + +.mdi-decagram::before { + content: "\F076C"; +} + +.mdi-decagram-outline::before { + content: "\F076D"; +} + +.mdi-decimal::before { + content: "\F10A1"; +} + +.mdi-decimal-comma::before { + content: "\F10A2"; +} + +.mdi-decimal-comma-decrease::before { + content: "\F10A3"; +} + +.mdi-decimal-comma-increase::before { + content: "\F10A4"; +} + +.mdi-decimal-decrease::before { + content: "\F01B6"; +} + +.mdi-decimal-increase::before { + content: "\F01B5"; +} + +.mdi-delete::before { + content: "\F01B4"; +} + +.mdi-delete-alert::before { + content: "\F10A5"; +} + +.mdi-delete-alert-outline::before { + content: "\F10A6"; +} + +.mdi-delete-circle::before { + content: "\F0683"; +} + +.mdi-delete-circle-outline::before { + content: "\F0B88"; +} + +.mdi-delete-clock::before { + content: "\F1556"; +} + +.mdi-delete-clock-outline::before { + content: "\F1557"; +} + +.mdi-delete-empty::before { + content: "\F06CC"; +} + +.mdi-delete-empty-outline::before { + content: "\F0E9D"; +} + +.mdi-delete-forever::before { + content: "\F05E8"; +} + +.mdi-delete-forever-outline::before { + content: "\F0B89"; +} + +.mdi-delete-off::before { + content: "\F10A7"; +} + +.mdi-delete-off-outline::before { + content: "\F10A8"; +} + +.mdi-delete-outline::before { + content: "\F09E7"; +} + +.mdi-delete-restore::before { + content: "\F0819"; +} + +.mdi-delete-sweep::before { + content: "\F05E9"; +} + +.mdi-delete-sweep-outline::before { + content: "\F0C62"; +} + +.mdi-delete-variant::before { + content: "\F01B3"; +} + +.mdi-delta::before { + content: "\F01C2"; +} + +.mdi-desk::before { + content: "\F1239"; +} + +.mdi-desk-lamp::before { + content: "\F095F"; +} + +.mdi-desk-lamp-off::before { + content: "\F1B1F"; +} + +.mdi-desk-lamp-on::before { + content: "\F1B20"; +} + +.mdi-deskphone::before { + content: "\F01C3"; +} + +.mdi-desktop-classic::before { + content: "\F07C0"; +} + +.mdi-desktop-tower::before { + content: "\F01C5"; +} + +.mdi-desktop-tower-monitor::before { + content: "\F0AAB"; +} + +.mdi-details::before { + content: "\F01C6"; +} + +.mdi-dev-to::before { + content: "\F0D6E"; +} + +.mdi-developer-board::before { + content: "\F0697"; +} + +.mdi-deviantart::before { + content: "\F01C7"; +} + +.mdi-devices::before { + content: "\F0FB0"; +} + +.mdi-dharmachakra::before { + content: "\F094B"; +} + +.mdi-diabetes::before { + content: "\F1126"; +} + +.mdi-dialpad::before { + content: "\F061C"; +} + +.mdi-diameter::before { + content: "\F0C63"; +} + +.mdi-diameter-outline::before { + content: "\F0C64"; +} + +.mdi-diameter-variant::before { + content: "\F0C65"; +} + +.mdi-diamond::before { + content: "\F0B8A"; +} + +.mdi-diamond-outline::before { + content: "\F0B8B"; +} + +.mdi-diamond-stone::before { + content: "\F01C8"; +} + +.mdi-diaper-outline::before { + content: "\F1CCF"; +} + +.mdi-dice-1::before { + content: "\F01CA"; +} + +.mdi-dice-1-outline::before { + content: "\F114A"; +} + +.mdi-dice-2::before { + content: "\F01CB"; +} + +.mdi-dice-2-outline::before { + content: "\F114B"; +} + +.mdi-dice-3::before { + content: "\F01CC"; +} + +.mdi-dice-3-outline::before { + content: "\F114C"; +} + +.mdi-dice-4::before { + content: "\F01CD"; +} + +.mdi-dice-4-outline::before { + content: "\F114D"; +} + +.mdi-dice-5::before { + content: "\F01CE"; +} + +.mdi-dice-5-outline::before { + content: "\F114E"; +} + +.mdi-dice-6::before { + content: "\F01CF"; +} + +.mdi-dice-6-outline::before { + content: "\F114F"; +} + +.mdi-dice-d10::before { + content: "\F1153"; +} + +.mdi-dice-d10-outline::before { + content: "\F076F"; +} + +.mdi-dice-d12::before { + content: "\F1154"; +} + +.mdi-dice-d12-outline::before { + content: "\F0867"; +} + +.mdi-dice-d20::before { + content: "\F1155"; +} + +.mdi-dice-d20-outline::before { + content: "\F05EA"; +} + +.mdi-dice-d4::before { + content: "\F1150"; +} + +.mdi-dice-d4-outline::before { + content: "\F05EB"; +} + +.mdi-dice-d6::before { + content: "\F1151"; +} + +.mdi-dice-d6-outline::before { + content: "\F05ED"; +} + +.mdi-dice-d8::before { + content: "\F1152"; +} + +.mdi-dice-d8-outline::before { + content: "\F05EC"; +} + +.mdi-dice-multiple::before { + content: "\F076E"; +} + +.mdi-dice-multiple-outline::before { + content: "\F1156"; +} + +.mdi-digital-ocean::before { + content: "\F1237"; +} + +.mdi-dip-switch::before { + content: "\F07C1"; +} + +.mdi-directions::before { + content: "\F01D0"; +} + +.mdi-directions-fork::before { + content: "\F0641"; +} + +.mdi-disc::before { + content: "\F05EE"; +} + +.mdi-disc-alert::before { + content: "\F01D1"; +} + +.mdi-disc-player::before { + content: "\F0960"; +} + +.mdi-dishwasher::before { + content: "\F0AAC"; +} + +.mdi-dishwasher-alert::before { + content: "\F11B8"; +} + +.mdi-dishwasher-off::before { + content: "\F11B9"; +} + +.mdi-disqus::before { + content: "\F01D2"; +} + +.mdi-distribute-horizontal-center::before { + content: "\F11C9"; +} + +.mdi-distribute-horizontal-left::before { + content: "\F11C8"; +} + +.mdi-distribute-horizontal-right::before { + content: "\F11CA"; +} + +.mdi-distribute-vertical-bottom::before { + content: "\F11CB"; +} + +.mdi-distribute-vertical-center::before { + content: "\F11CC"; +} + +.mdi-distribute-vertical-top::before { + content: "\F11CD"; +} + +.mdi-diversify::before { + content: "\F1877"; +} + +.mdi-diving::before { + content: "\F1977"; +} + +.mdi-diving-flippers::before { + content: "\F0DBF"; +} + +.mdi-diving-helmet::before { + content: "\F0DC0"; +} + +.mdi-diving-scuba::before { + content: "\F1B77"; +} + +.mdi-diving-scuba-flag::before { + content: "\F0DC2"; +} + +.mdi-diving-scuba-mask::before { + content: "\F0DC1"; +} + +.mdi-diving-scuba-tank::before { + content: "\F0DC3"; +} + +.mdi-diving-scuba-tank-multiple::before { + content: "\F0DC4"; +} + +.mdi-diving-snorkel::before { + content: "\F0DC5"; +} + +.mdi-division::before { + content: "\F01D4"; +} + +.mdi-division-box::before { + content: "\F01D5"; +} + +.mdi-dlna::before { + content: "\F0A41"; +} + +.mdi-dna::before { + content: "\F0684"; +} + +.mdi-dns::before { + content: "\F01D6"; +} + +.mdi-dns-outline::before { + content: "\F0B8C"; +} + +.mdi-dock-bottom::before { + content: "\F10A9"; +} + +.mdi-dock-left::before { + content: "\F10AA"; +} + +.mdi-dock-right::before { + content: "\F10AB"; +} + +.mdi-dock-top::before { + content: "\F1513"; +} + +.mdi-dock-window::before { + content: "\F10AC"; +} + +.mdi-docker::before { + content: "\F0868"; +} + +.mdi-doctor::before { + content: "\F0A42"; +} + +.mdi-dog::before { + content: "\F0A43"; +} + +.mdi-dog-service::before { + content: "\F0AAD"; +} + +.mdi-dog-side::before { + content: "\F0A44"; +} + +.mdi-dog-side-off::before { + content: "\F16EE"; +} + +.mdi-dolby::before { + content: "\F06B3"; +} + +.mdi-dolly::before { + content: "\F0E9E"; +} + +.mdi-dolphin::before { + content: "\F18B4"; +} + +.mdi-domain::before { + content: "\F01D7"; +} + +.mdi-domain-off::before { + content: "\F0D6F"; +} + +.mdi-domain-plus::before { + content: "\F10AD"; +} + +.mdi-domain-remove::before { + content: "\F10AE"; +} + +.mdi-domain-switch::before { + content: "\F1C2C"; +} + +.mdi-dome-light::before { + content: "\F141E"; +} + +.mdi-domino-mask::before { + content: "\F1023"; +} + +.mdi-donkey::before { + content: "\F07C2"; +} + +.mdi-door::before { + content: "\F081A"; +} + +.mdi-door-closed::before { + content: "\F081B"; +} + +.mdi-door-closed-cancel::before { + content: "\F1C93"; +} + +.mdi-door-closed-lock::before { + content: "\F10AF"; +} + +.mdi-door-open::before { + content: "\F081C"; +} + +.mdi-door-sliding::before { + content: "\F181E"; +} + +.mdi-door-sliding-lock::before { + content: "\F181F"; +} + +.mdi-door-sliding-open::before { + content: "\F1820"; +} + +.mdi-doorbell::before { + content: "\F12E6"; +} + +.mdi-doorbell-video::before { + content: "\F0869"; +} + +.mdi-dot-net::before { + content: "\F0AAE"; +} + +.mdi-dots-circle::before { + content: "\F1978"; +} + +.mdi-dots-grid::before { + content: "\F15FC"; +} + +.mdi-dots-hexagon::before { + content: "\F15FF"; +} + +.mdi-dots-horizontal::before { + content: "\F01D8"; +} + +.mdi-dots-horizontal-circle::before { + content: "\F07C3"; +} + +.mdi-dots-horizontal-circle-outline::before { + content: "\F0B8D"; +} + +.mdi-dots-square::before { + content: "\F15FD"; +} + +.mdi-dots-triangle::before { + content: "\F15FE"; +} + +.mdi-dots-vertical::before { + content: "\F01D9"; +} + +.mdi-dots-vertical-circle::before { + content: "\F07C4"; +} + +.mdi-dots-vertical-circle-outline::before { + content: "\F0B8E"; +} + +.mdi-download::before { + content: "\F01DA"; +} + +.mdi-download-box::before { + content: "\F1462"; +} + +.mdi-download-box-outline::before { + content: "\F1463"; +} + +.mdi-download-circle::before { + content: "\F1464"; +} + +.mdi-download-circle-outline::before { + content: "\F1465"; +} + +.mdi-download-lock::before { + content: "\F1320"; +} + +.mdi-download-lock-outline::before { + content: "\F1321"; +} + +.mdi-download-multiple::before { + content: "\F09E9"; +} + +.mdi-download-multiple-outline::before { + content: "\F1CD0"; +} + +.mdi-download-network::before { + content: "\F06F4"; +} + +.mdi-download-network-outline::before { + content: "\F0C66"; +} + +.mdi-download-off::before { + content: "\F10B0"; +} + +.mdi-download-off-outline::before { + content: "\F10B1"; +} + +.mdi-download-outline::before { + content: "\F0B8F"; +} + +.mdi-drag::before { + content: "\F01DB"; +} + +.mdi-drag-horizontal::before { + content: "\F01DC"; +} + +.mdi-drag-horizontal-variant::before { + content: "\F12F0"; +} + +.mdi-drag-variant::before { + content: "\F0B90"; +} + +.mdi-drag-vertical::before { + content: "\F01DD"; +} + +.mdi-drag-vertical-variant::before { + content: "\F12F1"; +} + +.mdi-drama-masks::before { + content: "\F0D02"; +} + +.mdi-draw::before { + content: "\F0F49"; +} + +.mdi-draw-pen::before { + content: "\F19B9"; +} + +.mdi-drawing::before { + content: "\F01DE"; +} + +.mdi-drawing-box::before { + content: "\F01DF"; +} + +.mdi-dresser::before { + content: "\F0F4A"; +} + +.mdi-dresser-outline::before { + content: "\F0F4B"; +} + +.mdi-drone::before { + content: "\F01E2"; +} + +.mdi-dropbox::before { + content: "\F01E3"; +} + +.mdi-drupal::before { + content: "\F01E4"; +} + +.mdi-duck::before { + content: "\F01E5"; +} + +.mdi-dumbbell::before { + content: "\F01E6"; +} + +.mdi-dump-truck::before { + content: "\F0C67"; +} + +.mdi-ear-hearing::before { + content: "\F07C5"; +} + +.mdi-ear-hearing-loop::before { + content: "\F1AEE"; +} + +.mdi-ear-hearing-off::before { + content: "\F0A45"; +} + +.mdi-earbuds::before { + content: "\F184F"; +} + +.mdi-earbuds-off::before { + content: "\F1850"; +} + +.mdi-earbuds-off-outline::before { + content: "\F1851"; +} + +.mdi-earbuds-outline::before { + content: "\F1852"; +} + +.mdi-earth::before { + content: "\F01E7"; +} + +.mdi-earth-arrow-down::before { + content: "\F1C87"; +} + +.mdi-earth-arrow-left::before { + content: "\F1C88"; +} + +.mdi-earth-arrow-right::before { + content: "\F1311"; +} + +.mdi-earth-arrow-up::before { + content: "\F1C89"; +} + +.mdi-earth-box::before { + content: "\F06CD"; +} + +.mdi-earth-box-minus::before { + content: "\F1407"; +} + +.mdi-earth-box-off::before { + content: "\F06CE"; +} + +.mdi-earth-box-plus::before { + content: "\F1406"; +} + +.mdi-earth-box-remove::before { + content: "\F1408"; +} + +.mdi-earth-minus::before { + content: "\F1404"; +} + +.mdi-earth-off::before { + content: "\F01E8"; +} + +.mdi-earth-plus::before { + content: "\F1403"; +} + +.mdi-earth-remove::before { + content: "\F1405"; +} + +.mdi-egg::before { + content: "\F0AAF"; +} + +.mdi-egg-easter::before { + content: "\F0AB0"; +} + +.mdi-egg-fried::before { + content: "\F184A"; +} + +.mdi-egg-off::before { + content: "\F13F0"; +} + +.mdi-egg-off-outline::before { + content: "\F13F1"; +} + +.mdi-egg-outline::before { + content: "\F13F2"; +} + +.mdi-eiffel-tower::before { + content: "\F156B"; +} + +.mdi-eight-track::before { + content: "\F09EA"; +} + +.mdi-eject::before { + content: "\F01EA"; +} + +.mdi-eject-circle::before { + content: "\F1B23"; +} + +.mdi-eject-circle-outline::before { + content: "\F1B24"; +} + +.mdi-eject-outline::before { + content: "\F0B91"; +} + +.mdi-electric-switch::before { + content: "\F0E9F"; +} + +.mdi-electric-switch-closed::before { + content: "\F10D9"; +} + +.mdi-electron-framework::before { + content: "\F1024"; +} + +.mdi-elephant::before { + content: "\F07C6"; +} + +.mdi-elevation-decline::before { + content: "\F01EB"; +} + +.mdi-elevation-rise::before { + content: "\F01EC"; +} + +.mdi-elevator::before { + content: "\F01ED"; +} + +.mdi-elevator-down::before { + content: "\F12C2"; +} + +.mdi-elevator-passenger::before { + content: "\F1381"; +} + +.mdi-elevator-passenger-off::before { + content: "\F1979"; +} + +.mdi-elevator-passenger-off-outline::before { + content: "\F197A"; +} + +.mdi-elevator-passenger-outline::before { + content: "\F197B"; +} + +.mdi-elevator-up::before { + content: "\F12C1"; +} + +.mdi-ellipse::before { + content: "\F0EA0"; +} + +.mdi-ellipse-outline::before { + content: "\F0EA1"; +} + +.mdi-email::before { + content: "\F01EE"; +} + +.mdi-email-alert::before { + content: "\F06CF"; +} + +.mdi-email-alert-outline::before { + content: "\F0D42"; +} + +.mdi-email-arrow-left::before { + content: "\F10DA"; +} + +.mdi-email-arrow-left-outline::before { + content: "\F10DB"; +} + +.mdi-email-arrow-right::before { + content: "\F10DC"; +} + +.mdi-email-arrow-right-outline::before { + content: "\F10DD"; +} + +.mdi-email-box::before { + content: "\F0D03"; +} + +.mdi-email-check::before { + content: "\F0AB1"; +} + +.mdi-email-check-outline::before { + content: "\F0AB2"; +} + +.mdi-email-edit::before { + content: "\F0EE3"; +} + +.mdi-email-edit-outline::before { + content: "\F0EE4"; +} + +.mdi-email-fast::before { + content: "\F186F"; +} + +.mdi-email-fast-outline::before { + content: "\F1870"; +} + +.mdi-email-heart-outline::before { + content: "\F1C5B"; +} + +.mdi-email-lock::before { + content: "\F01F1"; +} + +.mdi-email-lock-outline::before { + content: "\F1B61"; +} + +.mdi-email-mark-as-unread::before { + content: "\F0B92"; +} + +.mdi-email-minus::before { + content: "\F0EE5"; +} + +.mdi-email-minus-outline::before { + content: "\F0EE6"; +} + +.mdi-email-multiple::before { + content: "\F0EE7"; +} + +.mdi-email-multiple-outline::before { + content: "\F0EE8"; +} + +.mdi-email-newsletter::before { + content: "\F0FB1"; +} + +.mdi-email-off::before { + content: "\F13E3"; +} + +.mdi-email-off-outline::before { + content: "\F13E4"; +} + +.mdi-email-open::before { + content: "\F01EF"; +} + +.mdi-email-open-heart-outline::before { + content: "\F1C5C"; +} + +.mdi-email-open-multiple::before { + content: "\F0EE9"; +} + +.mdi-email-open-multiple-outline::before { + content: "\F0EEA"; +} + +.mdi-email-open-outline::before { + content: "\F05EF"; +} + +.mdi-email-outline::before { + content: "\F01F0"; +} + +.mdi-email-plus::before { + content: "\F09EB"; +} + +.mdi-email-plus-outline::before { + content: "\F09EC"; +} + +.mdi-email-remove::before { + content: "\F1661"; +} + +.mdi-email-remove-outline::before { + content: "\F1662"; +} + +.mdi-email-seal::before { + content: "\F195B"; +} + +.mdi-email-seal-outline::before { + content: "\F195C"; +} + +.mdi-email-search::before { + content: "\F0961"; +} + +.mdi-email-search-outline::before { + content: "\F0962"; +} + +.mdi-email-sync::before { + content: "\F12C7"; +} + +.mdi-email-sync-outline::before { + content: "\F12C8"; +} + +.mdi-email-variant::before { + content: "\F05F0"; +} + +.mdi-ember::before { + content: "\F0B30"; +} + +.mdi-emby::before { + content: "\F06B4"; +} + +.mdi-emoticon::before { + content: "\F0C68"; +} + +.mdi-emoticon-angry::before { + content: "\F0C69"; +} + +.mdi-emoticon-angry-outline::before { + content: "\F0C6A"; +} + +.mdi-emoticon-confused::before { + content: "\F10DE"; +} + +.mdi-emoticon-confused-outline::before { + content: "\F10DF"; +} + +.mdi-emoticon-cool::before { + content: "\F0C6B"; +} + +.mdi-emoticon-cool-outline::before { + content: "\F01F3"; +} + +.mdi-emoticon-cry::before { + content: "\F0C6C"; +} + +.mdi-emoticon-cry-outline::before { + content: "\F0C6D"; +} + +.mdi-emoticon-dead::before { + content: "\F0C6E"; +} + +.mdi-emoticon-dead-outline::before { + content: "\F069B"; +} + +.mdi-emoticon-devil::before { + content: "\F0C6F"; +} + +.mdi-emoticon-devil-outline::before { + content: "\F01F4"; +} + +.mdi-emoticon-excited::before { + content: "\F0C70"; +} + +.mdi-emoticon-excited-outline::before { + content: "\F069C"; +} + +.mdi-emoticon-frown::before { + content: "\F0F4C"; +} + +.mdi-emoticon-frown-outline::before { + content: "\F0F4D"; +} + +.mdi-emoticon-happy::before { + content: "\F0C71"; +} + +.mdi-emoticon-happy-outline::before { + content: "\F01F5"; +} + +.mdi-emoticon-kiss::before { + content: "\F0C72"; +} + +.mdi-emoticon-kiss-outline::before { + content: "\F0C73"; +} + +.mdi-emoticon-lol::before { + content: "\F1214"; +} + +.mdi-emoticon-lol-outline::before { + content: "\F1215"; +} + +.mdi-emoticon-minus::before { + content: "\F1CB2"; +} + +.mdi-emoticon-minus-outline::before { + content: "\F1CB3"; +} + +.mdi-emoticon-neutral::before { + content: "\F0C74"; +} + +.mdi-emoticon-neutral-outline::before { + content: "\F01F6"; +} + +.mdi-emoticon-outline::before { + content: "\F01F2"; +} + +.mdi-emoticon-plus::before { + content: "\F1CB4"; +} + +.mdi-emoticon-plus-outline::before { + content: "\F1CB5"; +} + +.mdi-emoticon-poop::before { + content: "\F01F7"; +} + +.mdi-emoticon-poop-outline::before { + content: "\F0C75"; +} + +.mdi-emoticon-remove::before { + content: "\F1CB6"; +} + +.mdi-emoticon-remove-outline::before { + content: "\F1CB7"; +} + +.mdi-emoticon-sad::before { + content: "\F0C76"; +} + +.mdi-emoticon-sad-outline::before { + content: "\F01F8"; +} + +.mdi-emoticon-sick::before { + content: "\F157C"; +} + +.mdi-emoticon-sick-outline::before { + content: "\F157D"; +} + +.mdi-emoticon-tongue::before { + content: "\F01F9"; +} + +.mdi-emoticon-tongue-outline::before { + content: "\F0C77"; +} + +.mdi-emoticon-wink::before { + content: "\F0C78"; +} + +.mdi-emoticon-wink-outline::before { + content: "\F0C79"; +} + +.mdi-engine::before { + content: "\F01FA"; +} + +.mdi-engine-off::before { + content: "\F0A46"; +} + +.mdi-engine-off-outline::before { + content: "\F0A47"; +} + +.mdi-engine-outline::before { + content: "\F01FB"; +} + +.mdi-epsilon::before { + content: "\F10E0"; +} + +.mdi-equal::before { + content: "\F01FC"; +} + +.mdi-equal-box::before { + content: "\F01FD"; +} + +.mdi-equalizer::before { + content: "\F0EA2"; +} + +.mdi-equalizer-outline::before { + content: "\F0EA3"; +} + +.mdi-eraser::before { + content: "\F01FE"; +} + +.mdi-eraser-variant::before { + content: "\F0642"; +} + +.mdi-escalator::before { + content: "\F01FF"; +} + +.mdi-escalator-box::before { + content: "\F1399"; +} + +.mdi-escalator-down::before { + content: "\F12C0"; +} + +.mdi-escalator-up::before { + content: "\F12BF"; +} + +.mdi-eslint::before { + content: "\F0C7A"; +} + +.mdi-et::before { + content: "\F0AB3"; +} + +.mdi-ethereum::before { + content: "\F086A"; +} + +.mdi-ethernet::before { + content: "\F0200"; +} + +.mdi-ethernet-cable::before { + content: "\F0201"; +} + +.mdi-ethernet-cable-off::before { + content: "\F0202"; +} + +.mdi-ethernet-off::before { + content: "\F1CD1"; +} + +.mdi-ev-plug-ccs1::before { + content: "\F1519"; +} + +.mdi-ev-plug-ccs2::before { + content: "\F151A"; +} + +.mdi-ev-plug-chademo::before { + content: "\F151B"; +} + +.mdi-ev-plug-tesla::before { + content: "\F151C"; +} + +.mdi-ev-plug-type1::before { + content: "\F151D"; +} + +.mdi-ev-plug-type2::before { + content: "\F151E"; +} + +.mdi-ev-station::before { + content: "\F05F1"; +} + +.mdi-evernote::before { + content: "\F0204"; +} + +.mdi-excavator::before { + content: "\F1025"; +} + +.mdi-exclamation::before { + content: "\F0205"; +} + +.mdi-exclamation-thick::before { + content: "\F1238"; +} + +.mdi-exit-run::before { + content: "\F0A48"; +} + +.mdi-exit-to-app::before { + content: "\F0206"; +} + +.mdi-expand-all::before { + content: "\F0AB4"; +} + +.mdi-expand-all-outline::before { + content: "\F0AB5"; +} + +.mdi-expansion-card::before { + content: "\F08AE"; +} + +.mdi-expansion-card-variant::before { + content: "\F0FB2"; +} + +.mdi-exponent::before { + content: "\F0963"; +} + +.mdi-exponent-box::before { + content: "\F0964"; +} + +.mdi-export::before { + content: "\F0207"; +} + +.mdi-export-variant::before { + content: "\F0B93"; +} + +.mdi-eye::before { + content: "\F0208"; +} + +.mdi-eye-arrow-left::before { + content: "\F18FD"; +} + +.mdi-eye-arrow-left-outline::before { + content: "\F18FE"; +} + +.mdi-eye-arrow-right::before { + content: "\F18FF"; +} + +.mdi-eye-arrow-right-outline::before { + content: "\F1900"; +} + +.mdi-eye-check::before { + content: "\F0D04"; +} + +.mdi-eye-check-outline::before { + content: "\F0D05"; +} + +.mdi-eye-circle::before { + content: "\F0B94"; +} + +.mdi-eye-circle-outline::before { + content: "\F0B95"; +} + +.mdi-eye-closed::before { + content: "\F1CA3"; +} + +.mdi-eye-lock::before { + content: "\F1C06"; +} + +.mdi-eye-lock-open::before { + content: "\F1C07"; +} + +.mdi-eye-lock-open-outline::before { + content: "\F1C08"; +} + +.mdi-eye-lock-outline::before { + content: "\F1C09"; +} + +.mdi-eye-minus::before { + content: "\F1026"; +} + +.mdi-eye-minus-outline::before { + content: "\F1027"; +} + +.mdi-eye-off::before { + content: "\F0209"; +} + +.mdi-eye-off-outline::before { + content: "\F06D1"; +} + +.mdi-eye-outline::before { + content: "\F06D0"; +} + +.mdi-eye-plus::before { + content: "\F086B"; +} + +.mdi-eye-plus-outline::before { + content: "\F086C"; +} + +.mdi-eye-refresh::before { + content: "\F197C"; +} + +.mdi-eye-refresh-outline::before { + content: "\F197D"; +} + +.mdi-eye-remove::before { + content: "\F15E3"; +} + +.mdi-eye-remove-outline::before { + content: "\F15E4"; +} + +.mdi-eye-settings::before { + content: "\F086D"; +} + +.mdi-eye-settings-outline::before { + content: "\F086E"; +} + +.mdi-eyedropper::before { + content: "\F020A"; +} + +.mdi-eyedropper-minus::before { + content: "\F13DD"; +} + +.mdi-eyedropper-off::before { + content: "\F13DF"; +} + +.mdi-eyedropper-plus::before { + content: "\F13DC"; +} + +.mdi-eyedropper-remove::before { + content: "\F13DE"; +} + +.mdi-eyedropper-variant::before { + content: "\F020B"; +} + +.mdi-face-agent::before { + content: "\F0D70"; +} + +.mdi-face-man::before { + content: "\F0643"; +} + +.mdi-face-man-outline::before { + content: "\F0B96"; +} + +.mdi-face-man-profile::before { + content: "\F0644"; +} + +.mdi-face-man-shimmer::before { + content: "\F15CC"; +} + +.mdi-face-man-shimmer-outline::before { + content: "\F15CD"; +} + +.mdi-face-mask::before { + content: "\F1586"; +} + +.mdi-face-mask-outline::before { + content: "\F1587"; +} + +.mdi-face-recognition::before { + content: "\F0C7B"; +} + +.mdi-face-woman::before { + content: "\F1077"; +} + +.mdi-face-woman-outline::before { + content: "\F1078"; +} + +.mdi-face-woman-profile::before { + content: "\F1076"; +} + +.mdi-face-woman-shimmer::before { + content: "\F15CE"; +} + +.mdi-face-woman-shimmer-outline::before { + content: "\F15CF"; +} + +.mdi-facebook::before { + content: "\F020C"; +} + +.mdi-facebook-gaming::before { + content: "\F07DD"; +} + +.mdi-facebook-messenger::before { + content: "\F020E"; +} + +.mdi-facebook-workplace::before { + content: "\F0B31"; +} + +.mdi-factory::before { + content: "\F020F"; +} + +.mdi-family-tree::before { + content: "\F160E"; +} + +.mdi-fan::before { + content: "\F0210"; +} + +.mdi-fan-alert::before { + content: "\F146C"; +} + +.mdi-fan-auto::before { + content: "\F171D"; +} + +.mdi-fan-chevron-down::before { + content: "\F146D"; +} + +.mdi-fan-chevron-up::before { + content: "\F146E"; +} + +.mdi-fan-clock::before { + content: "\F1A3A"; +} + +.mdi-fan-minus::before { + content: "\F1470"; +} + +.mdi-fan-off::before { + content: "\F081D"; +} + +.mdi-fan-plus::before { + content: "\F146F"; +} + +.mdi-fan-remove::before { + content: "\F1471"; +} + +.mdi-fan-speed-1::before { + content: "\F1472"; +} + +.mdi-fan-speed-2::before { + content: "\F1473"; +} + +.mdi-fan-speed-3::before { + content: "\F1474"; +} + +.mdi-fast-forward::before { + content: "\F0211"; +} + +.mdi-fast-forward-10::before { + content: "\F0D71"; +} + +.mdi-fast-forward-15::before { + content: "\F193A"; +} + +.mdi-fast-forward-30::before { + content: "\F0D06"; +} + +.mdi-fast-forward-45::before { + content: "\F1B12"; +} + +.mdi-fast-forward-5::before { + content: "\F11F8"; +} + +.mdi-fast-forward-60::before { + content: "\F160B"; +} + +.mdi-fast-forward-outline::before { + content: "\F06D2"; +} + +.mdi-faucet::before { + content: "\F1B29"; +} + +.mdi-faucet-variant::before { + content: "\F1B2A"; +} + +.mdi-fax::before { + content: "\F0212"; +} + +.mdi-feather::before { + content: "\F06D3"; +} + +.mdi-feature-search::before { + content: "\F0A49"; +} + +.mdi-feature-search-outline::before { + content: "\F0A4A"; +} + +.mdi-fedora::before { + content: "\F08DB"; +} + +.mdi-fence::before { + content: "\F179A"; +} + +.mdi-fence-electric::before { + content: "\F17F6"; +} + +.mdi-fencing::before { + content: "\F14C1"; +} + +.mdi-ferris-wheel::before { + content: "\F0EA4"; +} + +.mdi-ferry::before { + content: "\F0213"; +} + +.mdi-file::before { + content: "\F0214"; +} + +.mdi-file-account::before { + content: "\F073B"; +} + +.mdi-file-account-outline::before { + content: "\F1028"; +} + +.mdi-file-alert::before { + content: "\F0A4B"; +} + +.mdi-file-alert-outline::before { + content: "\F0A4C"; +} + +.mdi-file-arrow-left-right::before { + content: "\F1A93"; +} + +.mdi-file-arrow-left-right-outline::before { + content: "\F1A94"; +} + +.mdi-file-arrow-up-down::before { + content: "\F1A95"; +} + +.mdi-file-arrow-up-down-outline::before { + content: "\F1A96"; +} + +.mdi-file-cabinet::before { + content: "\F0AB6"; +} + +.mdi-file-cad::before { + content: "\F0EEB"; +} + +.mdi-file-cad-box::before { + content: "\F0EEC"; +} + +.mdi-file-cancel::before { + content: "\F0DC6"; +} + +.mdi-file-cancel-outline::before { + content: "\F0DC7"; +} + +.mdi-file-certificate::before { + content: "\F1186"; +} + +.mdi-file-certificate-outline::before { + content: "\F1187"; +} + +.mdi-file-chart::before { + content: "\F0215"; +} + +.mdi-file-chart-check::before { + content: "\F19C6"; +} + +.mdi-file-chart-check-outline::before { + content: "\F19C7"; +} + +.mdi-file-chart-outline::before { + content: "\F1029"; +} + +.mdi-file-check::before { + content: "\F0216"; +} + +.mdi-file-check-outline::before { + content: "\F0E29"; +} + +.mdi-file-clock::before { + content: "\F12E1"; +} + +.mdi-file-clock-outline::before { + content: "\F12E2"; +} + +.mdi-file-cloud::before { + content: "\F0217"; +} + +.mdi-file-cloud-outline::before { + content: "\F102A"; +} + +.mdi-file-code::before { + content: "\F022E"; +} + +.mdi-file-code-outline::before { + content: "\F102B"; +} + +.mdi-file-cog::before { + content: "\F107B"; +} + +.mdi-file-cog-outline::before { + content: "\F107C"; +} + +.mdi-file-compare::before { + content: "\F08AA"; +} + +.mdi-file-delimited::before { + content: "\F0218"; +} + +.mdi-file-delimited-outline::before { + content: "\F0EA5"; +} + +.mdi-file-document::before { + content: "\F0219"; +} + +.mdi-file-document-alert::before { + content: "\F1A97"; +} + +.mdi-file-document-alert-outline::before { + content: "\F1A98"; +} + +.mdi-file-document-arrow-right::before { + content: "\F1C0F"; +} + +.mdi-file-document-arrow-right-outline::before { + content: "\F1C10"; +} + +.mdi-file-document-check::before { + content: "\F1A99"; +} + +.mdi-file-document-check-outline::before { + content: "\F1A9A"; +} + +.mdi-file-document-edit::before { + content: "\F0DC8"; +} + +.mdi-file-document-edit-outline::before { + content: "\F0DC9"; +} + +.mdi-file-document-minus::before { + content: "\F1A9B"; +} + +.mdi-file-document-minus-outline::before { + content: "\F1A9C"; +} + +.mdi-file-document-multiple::before { + content: "\F1517"; +} + +.mdi-file-document-multiple-outline::before { + content: "\F1518"; +} + +.mdi-file-document-outline::before { + content: "\F09EE"; +} + +.mdi-file-document-plus::before { + content: "\F1A9D"; +} + +.mdi-file-document-plus-outline::before { + content: "\F1A9E"; +} + +.mdi-file-document-refresh::before { + content: "\F1C7A"; +} + +.mdi-file-document-refresh-outline::before { + content: "\F1C7B"; +} + +.mdi-file-document-remove::before { + content: "\F1A9F"; +} + +.mdi-file-document-remove-outline::before { + content: "\F1AA0"; +} + +.mdi-file-download::before { + content: "\F0965"; +} + +.mdi-file-download-outline::before { + content: "\F0966"; +} + +.mdi-file-edit::before { + content: "\F11E7"; +} + +.mdi-file-edit-outline::before { + content: "\F11E8"; +} + +.mdi-file-excel::before { + content: "\F021B"; +} + +.mdi-file-excel-box::before { + content: "\F021C"; +} + +.mdi-file-excel-box-outline::before { + content: "\F102C"; +} + +.mdi-file-excel-outline::before { + content: "\F102D"; +} + +.mdi-file-export::before { + content: "\F021D"; +} + +.mdi-file-export-outline::before { + content: "\F102E"; +} + +.mdi-file-eye::before { + content: "\F0DCA"; +} + +.mdi-file-eye-outline::before { + content: "\F0DCB"; +} + +.mdi-file-find::before { + content: "\F021E"; +} + +.mdi-file-find-outline::before { + content: "\F0B97"; +} + +.mdi-file-gif-box::before { + content: "\F0D78"; +} + +.mdi-file-hidden::before { + content: "\F0613"; +} + +.mdi-file-image::before { + content: "\F021F"; +} + +.mdi-file-image-marker::before { + content: "\F1772"; +} + +.mdi-file-image-marker-outline::before { + content: "\F1773"; +} + +.mdi-file-image-minus::before { + content: "\F193B"; +} + +.mdi-file-image-minus-outline::before { + content: "\F193C"; +} + +.mdi-file-image-outline::before { + content: "\F0EB0"; +} + +.mdi-file-image-plus::before { + content: "\F193D"; +} + +.mdi-file-image-plus-outline::before { + content: "\F193E"; +} + +.mdi-file-image-remove::before { + content: "\F193F"; +} + +.mdi-file-image-remove-outline::before { + content: "\F1940"; +} + +.mdi-file-import::before { + content: "\F0220"; +} + +.mdi-file-import-outline::before { + content: "\F102F"; +} + +.mdi-file-jpg-box::before { + content: "\F0225"; +} + +.mdi-file-key::before { + content: "\F1184"; +} + +.mdi-file-key-outline::before { + content: "\F1185"; +} + +.mdi-file-link::before { + content: "\F1177"; +} + +.mdi-file-link-outline::before { + content: "\F1178"; +} + +.mdi-file-lock::before { + content: "\F0221"; +} + +.mdi-file-lock-open::before { + content: "\F19C8"; +} + +.mdi-file-lock-open-outline::before { + content: "\F19C9"; +} + +.mdi-file-lock-outline::before { + content: "\F1030"; +} + +.mdi-file-marker::before { + content: "\F1774"; +} + +.mdi-file-marker-outline::before { + content: "\F1775"; +} + +.mdi-file-minus::before { + content: "\F1AA1"; +} + +.mdi-file-minus-outline::before { + content: "\F1AA2"; +} + +.mdi-file-move::before { + content: "\F0AB9"; +} + +.mdi-file-move-outline::before { + content: "\F1031"; +} + +.mdi-file-multiple::before { + content: "\F0222"; +} + +.mdi-file-multiple-outline::before { + content: "\F1032"; +} + +.mdi-file-music::before { + content: "\F0223"; +} + +.mdi-file-music-outline::before { + content: "\F0E2A"; +} + +.mdi-file-outline::before { + content: "\F0224"; +} + +.mdi-file-pdf-box::before { + content: "\F0226"; +} + +.mdi-file-percent::before { + content: "\F081E"; +} + +.mdi-file-percent-outline::before { + content: "\F1033"; +} + +.mdi-file-phone::before { + content: "\F1179"; +} + +.mdi-file-phone-outline::before { + content: "\F117A"; +} + +.mdi-file-plus::before { + content: "\F0752"; +} + +.mdi-file-plus-outline::before { + content: "\F0EED"; +} + +.mdi-file-png-box::before { + content: "\F0E2D"; +} + +.mdi-file-powerpoint::before { + content: "\F0227"; +} + +.mdi-file-powerpoint-box::before { + content: "\F0228"; +} + +.mdi-file-powerpoint-box-outline::before { + content: "\F1034"; +} + +.mdi-file-powerpoint-outline::before { + content: "\F1035"; +} + +.mdi-file-presentation-box::before { + content: "\F0229"; +} + +.mdi-file-question::before { + content: "\F086F"; +} + +.mdi-file-question-outline::before { + content: "\F1036"; +} + +.mdi-file-refresh::before { + content: "\F0918"; +} + +.mdi-file-refresh-outline::before { + content: "\F0541"; +} + +.mdi-file-remove::before { + content: "\F0B98"; +} + +.mdi-file-remove-outline::before { + content: "\F1037"; +} + +.mdi-file-replace::before { + content: "\F0B32"; +} + +.mdi-file-replace-outline::before { + content: "\F0B33"; +} + +.mdi-file-restore::before { + content: "\F0670"; +} + +.mdi-file-restore-outline::before { + content: "\F1038"; +} + +.mdi-file-rotate-left::before { + content: "\F1A3B"; +} + +.mdi-file-rotate-left-outline::before { + content: "\F1A3C"; +} + +.mdi-file-rotate-right::before { + content: "\F1A3D"; +} + +.mdi-file-rotate-right-outline::before { + content: "\F1A3E"; +} + +.mdi-file-search::before { + content: "\F0C7C"; +} + +.mdi-file-search-outline::before { + content: "\F0C7D"; +} + +.mdi-file-send::before { + content: "\F022A"; +} + +.mdi-file-send-outline::before { + content: "\F1039"; +} + +.mdi-file-settings::before { + content: "\F1079"; +} + +.mdi-file-settings-outline::before { + content: "\F107A"; +} + +.mdi-file-sign::before { + content: "\F19C3"; +} + +.mdi-file-star::before { + content: "\F103A"; +} + +.mdi-file-star-four-points::before { + content: "\F1C2D"; +} + +.mdi-file-star-four-points-outline::before { + content: "\F1C2E"; +} + +.mdi-file-star-outline::before { + content: "\F103B"; +} + +.mdi-file-swap::before { + content: "\F0FB4"; +} + +.mdi-file-swap-outline::before { + content: "\F0FB5"; +} + +.mdi-file-sync::before { + content: "\F1216"; +} + +.mdi-file-sync-outline::before { + content: "\F1217"; +} + +.mdi-file-table::before { + content: "\F0C7E"; +} + +.mdi-file-table-box::before { + content: "\F10E1"; +} + +.mdi-file-table-box-multiple::before { + content: "\F10E2"; +} + +.mdi-file-table-box-multiple-outline::before { + content: "\F10E3"; +} + +.mdi-file-table-box-outline::before { + content: "\F10E4"; +} + +.mdi-file-table-outline::before { + content: "\F0C7F"; +} + +.mdi-file-tree::before { + content: "\F0645"; +} + +.mdi-file-tree-outline::before { + content: "\F13D2"; +} + +.mdi-file-undo::before { + content: "\F08DC"; +} + +.mdi-file-undo-outline::before { + content: "\F103C"; +} + +.mdi-file-upload::before { + content: "\F0A4D"; +} + +.mdi-file-upload-outline::before { + content: "\F0A4E"; +} + +.mdi-file-video::before { + content: "\F022B"; +} + +.mdi-file-video-outline::before { + content: "\F0E2C"; +} + +.mdi-file-word::before { + content: "\F022C"; +} + +.mdi-file-word-box::before { + content: "\F022D"; +} + +.mdi-file-word-box-outline::before { + content: "\F103D"; +} + +.mdi-file-word-outline::before { + content: "\F103E"; +} + +.mdi-file-xml-box::before { + content: "\F1B4B"; +} + +.mdi-film::before { + content: "\F022F"; +} + +.mdi-filmstrip::before { + content: "\F0230"; +} + +.mdi-filmstrip-box::before { + content: "\F0332"; +} + +.mdi-filmstrip-box-multiple::before { + content: "\F0D18"; +} + +.mdi-filmstrip-off::before { + content: "\F0231"; +} + +.mdi-filter::before { + content: "\F0232"; +} + +.mdi-filter-check::before { + content: "\F18EC"; +} + +.mdi-filter-check-outline::before { + content: "\F18ED"; +} + +.mdi-filter-cog::before { + content: "\F1AA3"; +} + +.mdi-filter-cog-outline::before { + content: "\F1AA4"; +} + +.mdi-filter-menu::before { + content: "\F10E5"; +} + +.mdi-filter-menu-outline::before { + content: "\F10E6"; +} + +.mdi-filter-minus::before { + content: "\F0EEE"; +} + +.mdi-filter-minus-outline::before { + content: "\F0EEF"; +} + +.mdi-filter-multiple::before { + content: "\F1A3F"; +} + +.mdi-filter-multiple-outline::before { + content: "\F1A40"; +} + +.mdi-filter-off::before { + content: "\F14EF"; +} + +.mdi-filter-off-outline::before { + content: "\F14F0"; +} + +.mdi-filter-outline::before { + content: "\F0233"; +} + +.mdi-filter-plus::before { + content: "\F0EF0"; +} + +.mdi-filter-plus-outline::before { + content: "\F0EF1"; +} + +.mdi-filter-remove::before { + content: "\F0234"; +} + +.mdi-filter-remove-outline::before { + content: "\F0235"; +} + +.mdi-filter-settings::before { + content: "\F1AA5"; +} + +.mdi-filter-settings-outline::before { + content: "\F1AA6"; +} + +.mdi-filter-variant::before { + content: "\F0236"; +} + +.mdi-filter-variant-minus::before { + content: "\F1112"; +} + +.mdi-filter-variant-plus::before { + content: "\F1113"; +} + +.mdi-filter-variant-remove::before { + content: "\F103F"; +} + +.mdi-finance::before { + content: "\F081F"; +} + +.mdi-find-replace::before { + content: "\F06D4"; +} + +.mdi-fingerprint::before { + content: "\F0237"; +} + +.mdi-fingerprint-off::before { + content: "\F0EB1"; +} + +.mdi-fire::before { + content: "\F0238"; +} + +.mdi-fire-alert::before { + content: "\F15D7"; +} + +.mdi-fire-circle::before { + content: "\F1807"; +} + +.mdi-fire-extinguisher::before { + content: "\F0EF2"; +} + +.mdi-fire-hydrant::before { + content: "\F1137"; +} + +.mdi-fire-hydrant-alert::before { + content: "\F1138"; +} + +.mdi-fire-hydrant-off::before { + content: "\F1139"; +} + +.mdi-fire-off::before { + content: "\F1722"; +} + +.mdi-fire-station::before { + content: "\F1CC3"; +} + +.mdi-fire-truck::before { + content: "\F08AB"; +} + +.mdi-firebase::before { + content: "\F0967"; +} + +.mdi-firefox::before { + content: "\F0239"; +} + +.mdi-fireplace::before { + content: "\F0E2E"; +} + +.mdi-fireplace-off::before { + content: "\F0E2F"; +} + +.mdi-firewire::before { + content: "\F05BE"; +} + +.mdi-firework::before { + content: "\F0E30"; +} + +.mdi-firework-off::before { + content: "\F1723"; +} + +.mdi-fish::before { + content: "\F023A"; +} + +.mdi-fish-off::before { + content: "\F13F3"; +} + +.mdi-fishbowl::before { + content: "\F0EF3"; +} + +.mdi-fishbowl-outline::before { + content: "\F0EF4"; +} + +.mdi-fit-to-page::before { + content: "\F0EF5"; +} + +.mdi-fit-to-page-outline::before { + content: "\F0EF6"; +} + +.mdi-fit-to-screen::before { + content: "\F18F4"; +} + +.mdi-fit-to-screen-outline::before { + content: "\F18F5"; +} + +.mdi-flag::before { + content: "\F023B"; +} + +.mdi-flag-checkered::before { + content: "\F023C"; +} + +.mdi-flag-minus::before { + content: "\F0B99"; +} + +.mdi-flag-minus-outline::before { + content: "\F10B2"; +} + +.mdi-flag-off::before { + content: "\F18EE"; +} + +.mdi-flag-off-outline::before { + content: "\F18EF"; +} + +.mdi-flag-outline::before { + content: "\F023D"; +} + +.mdi-flag-plus::before { + content: "\F0B9A"; +} + +.mdi-flag-plus-outline::before { + content: "\F10B3"; +} + +.mdi-flag-remove::before { + content: "\F0B9B"; +} + +.mdi-flag-remove-outline::before { + content: "\F10B4"; +} + +.mdi-flag-triangle::before { + content: "\F023F"; +} + +.mdi-flag-variant::before { + content: "\F0240"; +} + +.mdi-flag-variant-minus::before { + content: "\F1BB4"; +} + +.mdi-flag-variant-minus-outline::before { + content: "\F1BB5"; +} + +.mdi-flag-variant-off::before { + content: "\F1BB0"; +} + +.mdi-flag-variant-off-outline::before { + content: "\F1BB1"; +} + +.mdi-flag-variant-outline::before { + content: "\F023E"; +} + +.mdi-flag-variant-plus::before { + content: "\F1BB2"; +} + +.mdi-flag-variant-plus-outline::before { + content: "\F1BB3"; +} + +.mdi-flag-variant-remove::before { + content: "\F1BB6"; +} + +.mdi-flag-variant-remove-outline::before { + content: "\F1BB7"; +} + +.mdi-flare::before { + content: "\F0D72"; +} + +.mdi-flash::before { + content: "\F0241"; +} + +.mdi-flash-alert::before { + content: "\F0EF7"; +} + +.mdi-flash-alert-outline::before { + content: "\F0EF8"; +} + +.mdi-flash-auto::before { + content: "\F0242"; +} + +.mdi-flash-off::before { + content: "\F0243"; +} + +.mdi-flash-off-outline::before { + content: "\F1B45"; +} + +.mdi-flash-outline::before { + content: "\F06D5"; +} + +.mdi-flash-red-eye::before { + content: "\F067B"; +} + +.mdi-flash-triangle::before { + content: "\F1B1D"; +} + +.mdi-flash-triangle-outline::before { + content: "\F1B1E"; +} + +.mdi-flashlight::before { + content: "\F0244"; +} + +.mdi-flashlight-off::before { + content: "\F0245"; +} + +.mdi-flask::before { + content: "\F0093"; +} + +.mdi-flask-empty::before { + content: "\F0094"; +} + +.mdi-flask-empty-minus::before { + content: "\F123A"; +} + +.mdi-flask-empty-minus-outline::before { + content: "\F123B"; +} + +.mdi-flask-empty-off::before { + content: "\F13F4"; +} + +.mdi-flask-empty-off-outline::before { + content: "\F13F5"; +} + +.mdi-flask-empty-outline::before { + content: "\F0095"; +} + +.mdi-flask-empty-plus::before { + content: "\F123C"; +} + +.mdi-flask-empty-plus-outline::before { + content: "\F123D"; +} + +.mdi-flask-empty-remove::before { + content: "\F123E"; +} + +.mdi-flask-empty-remove-outline::before { + content: "\F123F"; +} + +.mdi-flask-minus::before { + content: "\F1240"; +} + +.mdi-flask-minus-outline::before { + content: "\F1241"; +} + +.mdi-flask-off::before { + content: "\F13F6"; +} + +.mdi-flask-off-outline::before { + content: "\F13F7"; +} + +.mdi-flask-outline::before { + content: "\F0096"; +} + +.mdi-flask-plus::before { + content: "\F1242"; +} + +.mdi-flask-plus-outline::before { + content: "\F1243"; +} + +.mdi-flask-remove::before { + content: "\F1244"; +} + +.mdi-flask-remove-outline::before { + content: "\F1245"; +} + +.mdi-flask-round-bottom::before { + content: "\F124B"; +} + +.mdi-flask-round-bottom-empty::before { + content: "\F124C"; +} + +.mdi-flask-round-bottom-empty-outline::before { + content: "\F124D"; +} + +.mdi-flask-round-bottom-outline::before { + content: "\F124E"; +} + +.mdi-fleur-de-lis::before { + content: "\F1303"; +} + +.mdi-flip-horizontal::before { + content: "\F10E7"; +} + +.mdi-flip-to-back::before { + content: "\F0247"; +} + +.mdi-flip-to-front::before { + content: "\F0248"; +} + +.mdi-flip-vertical::before { + content: "\F10E8"; +} + +.mdi-floor-lamp::before { + content: "\F08DD"; +} + +.mdi-floor-lamp-dual::before { + content: "\F1040"; +} + +.mdi-floor-lamp-dual-outline::before { + content: "\F17CE"; +} + +.mdi-floor-lamp-outline::before { + content: "\F17C8"; +} + +.mdi-floor-lamp-torchiere::before { + content: "\F1747"; +} + +.mdi-floor-lamp-torchiere-outline::before { + content: "\F17D6"; +} + +.mdi-floor-lamp-torchiere-variant::before { + content: "\F1041"; +} + +.mdi-floor-lamp-torchiere-variant-outline::before { + content: "\F17CF"; +} + +.mdi-floor-plan::before { + content: "\F0821"; +} + +.mdi-floppy::before { + content: "\F0249"; +} + +.mdi-floppy-variant::before { + content: "\F09EF"; +} + +.mdi-flower::before { + content: "\F024A"; +} + +.mdi-flower-outline::before { + content: "\F09F0"; +} + +.mdi-flower-pollen::before { + content: "\F1885"; +} + +.mdi-flower-pollen-outline::before { + content: "\F1886"; +} + +.mdi-flower-poppy::before { + content: "\F0D08"; +} + +.mdi-flower-tulip::before { + content: "\F09F1"; +} + +.mdi-flower-tulip-outline::before { + content: "\F09F2"; +} + +.mdi-focus-auto::before { + content: "\F0F4E"; +} + +.mdi-focus-field::before { + content: "\F0F4F"; +} + +.mdi-focus-field-horizontal::before { + content: "\F0F50"; +} + +.mdi-focus-field-vertical::before { + content: "\F0F51"; +} + +.mdi-folder::before { + content: "\F024B"; +} + +.mdi-folder-account::before { + content: "\F024C"; +} + +.mdi-folder-account-outline::before { + content: "\F0B9C"; +} + +.mdi-folder-alert::before { + content: "\F0DCC"; +} + +.mdi-folder-alert-outline::before { + content: "\F0DCD"; +} + +.mdi-folder-arrow-down::before { + content: "\F19E8"; +} + +.mdi-folder-arrow-down-outline::before { + content: "\F19E9"; +} + +.mdi-folder-arrow-left::before { + content: "\F19EA"; +} + +.mdi-folder-arrow-left-outline::before { + content: "\F19EB"; +} + +.mdi-folder-arrow-left-right::before { + content: "\F19EC"; +} + +.mdi-folder-arrow-left-right-outline::before { + content: "\F19ED"; +} + +.mdi-folder-arrow-right::before { + content: "\F19EE"; +} + +.mdi-folder-arrow-right-outline::before { + content: "\F19EF"; +} + +.mdi-folder-arrow-up::before { + content: "\F19F0"; +} + +.mdi-folder-arrow-up-down::before { + content: "\F19F1"; +} + +.mdi-folder-arrow-up-down-outline::before { + content: "\F19F2"; +} + +.mdi-folder-arrow-up-outline::before { + content: "\F19F3"; +} + +.mdi-folder-cancel::before { + content: "\F19F4"; +} + +.mdi-folder-cancel-outline::before { + content: "\F19F5"; +} + +.mdi-folder-check::before { + content: "\F197E"; +} + +.mdi-folder-check-outline::before { + content: "\F197F"; +} + +.mdi-folder-clock::before { + content: "\F0ABA"; +} + +.mdi-folder-clock-outline::before { + content: "\F0ABB"; +} + +.mdi-folder-cog::before { + content: "\F107F"; +} + +.mdi-folder-cog-outline::before { + content: "\F1080"; +} + +.mdi-folder-download::before { + content: "\F024D"; +} + +.mdi-folder-download-outline::before { + content: "\F10E9"; +} + +.mdi-folder-edit::before { + content: "\F08DE"; +} + +.mdi-folder-edit-outline::before { + content: "\F0DCE"; +} + +.mdi-folder-eye::before { + content: "\F178A"; +} + +.mdi-folder-eye-outline::before { + content: "\F178B"; +} + +.mdi-folder-file::before { + content: "\F19F6"; +} + +.mdi-folder-file-outline::before { + content: "\F19F7"; +} + +.mdi-folder-google-drive::before { + content: "\F024E"; +} + +.mdi-folder-heart::before { + content: "\F10EA"; +} + +.mdi-folder-heart-outline::before { + content: "\F10EB"; +} + +.mdi-folder-hidden::before { + content: "\F179E"; +} + +.mdi-folder-home::before { + content: "\F10B5"; +} + +.mdi-folder-home-outline::before { + content: "\F10B6"; +} + +.mdi-folder-image::before { + content: "\F024F"; +} + +.mdi-folder-information::before { + content: "\F10B7"; +} + +.mdi-folder-information-outline::before { + content: "\F10B8"; +} + +.mdi-folder-key::before { + content: "\F08AC"; +} + +.mdi-folder-key-network::before { + content: "\F08AD"; +} + +.mdi-folder-key-network-outline::before { + content: "\F0C80"; +} + +.mdi-folder-key-outline::before { + content: "\F10EC"; +} + +.mdi-folder-lock::before { + content: "\F0250"; +} + +.mdi-folder-lock-open::before { + content: "\F0251"; +} + +.mdi-folder-lock-open-outline::before { + content: "\F1AA7"; +} + +.mdi-folder-lock-outline::before { + content: "\F1AA8"; +} + +.mdi-folder-marker::before { + content: "\F126D"; +} + +.mdi-folder-marker-outline::before { + content: "\F126E"; +} + +.mdi-folder-minus::before { + content: "\F1B49"; +} + +.mdi-folder-minus-outline::before { + content: "\F1B4A"; +} + +.mdi-folder-move::before { + content: "\F0252"; +} + +.mdi-folder-move-outline::before { + content: "\F1246"; +} + +.mdi-folder-multiple::before { + content: "\F0253"; +} + +.mdi-folder-multiple-image::before { + content: "\F0254"; +} + +.mdi-folder-multiple-outline::before { + content: "\F0255"; +} + +.mdi-folder-multiple-plus::before { + content: "\F147E"; +} + +.mdi-folder-multiple-plus-outline::before { + content: "\F147F"; +} + +.mdi-folder-music::before { + content: "\F1359"; +} + +.mdi-folder-music-outline::before { + content: "\F135A"; +} + +.mdi-folder-network::before { + content: "\F0870"; +} + +.mdi-folder-network-outline::before { + content: "\F0C81"; +} + +.mdi-folder-off::before { + content: "\F19F8"; +} + +.mdi-folder-off-outline::before { + content: "\F19F9"; +} + +.mdi-folder-open::before { + content: "\F0770"; +} + +.mdi-folder-open-outline::before { + content: "\F0DCF"; +} + +.mdi-folder-outline::before { + content: "\F0256"; +} + +.mdi-folder-play::before { + content: "\F19FA"; +} + +.mdi-folder-play-outline::before { + content: "\F19FB"; +} + +.mdi-folder-plus::before { + content: "\F0257"; +} + +.mdi-folder-plus-outline::before { + content: "\F0B9D"; +} + +.mdi-folder-pound::before { + content: "\F0D09"; +} + +.mdi-folder-pound-outline::before { + content: "\F0D0A"; +} + +.mdi-folder-question::before { + content: "\F19CA"; +} + +.mdi-folder-question-outline::before { + content: "\F19CB"; +} + +.mdi-folder-refresh::before { + content: "\F0749"; +} + +.mdi-folder-refresh-outline::before { + content: "\F0542"; +} + +.mdi-folder-remove::before { + content: "\F0258"; +} + +.mdi-folder-remove-outline::before { + content: "\F0B9E"; +} + +.mdi-folder-search::before { + content: "\F0968"; +} + +.mdi-folder-search-outline::before { + content: "\F0969"; +} + +.mdi-folder-settings::before { + content: "\F107D"; +} + +.mdi-folder-settings-outline::before { + content: "\F107E"; +} + +.mdi-folder-star::before { + content: "\F069D"; +} + +.mdi-folder-star-multiple::before { + content: "\F13D3"; +} + +.mdi-folder-star-multiple-outline::before { + content: "\F13D4"; +} + +.mdi-folder-star-outline::before { + content: "\F0B9F"; +} + +.mdi-folder-swap::before { + content: "\F0FB6"; +} + +.mdi-folder-swap-outline::before { + content: "\F0FB7"; +} + +.mdi-folder-sync::before { + content: "\F0D0B"; +} + +.mdi-folder-sync-outline::before { + content: "\F0D0C"; +} + +.mdi-folder-table::before { + content: "\F12E3"; +} + +.mdi-folder-table-outline::before { + content: "\F12E4"; +} + +.mdi-folder-text::before { + content: "\F0C82"; +} + +.mdi-folder-text-outline::before { + content: "\F0C83"; +} + +.mdi-folder-upload::before { + content: "\F0259"; +} + +.mdi-folder-upload-outline::before { + content: "\F10ED"; +} + +.mdi-folder-wrench::before { + content: "\F19FC"; +} + +.mdi-folder-wrench-outline::before { + content: "\F19FD"; +} + +.mdi-folder-zip::before { + content: "\F06EB"; +} + +.mdi-folder-zip-outline::before { + content: "\F07B9"; +} + +.mdi-font-awesome::before { + content: "\F003A"; +} + +.mdi-food::before { + content: "\F025A"; +} + +.mdi-food-apple::before { + content: "\F025B"; +} + +.mdi-food-apple-outline::before { + content: "\F0C84"; +} + +.mdi-food-croissant::before { + content: "\F07C8"; +} + +.mdi-food-drumstick::before { + content: "\F141F"; +} + +.mdi-food-drumstick-off::before { + content: "\F1468"; +} + +.mdi-food-drumstick-off-outline::before { + content: "\F1469"; +} + +.mdi-food-drumstick-outline::before { + content: "\F1420"; +} + +.mdi-food-fork-drink::before { + content: "\F05F2"; +} + +.mdi-food-halal::before { + content: "\F1572"; +} + +.mdi-food-hot-dog::before { + content: "\F184B"; +} + +.mdi-food-kosher::before { + content: "\F1573"; +} + +.mdi-food-off::before { + content: "\F05F3"; +} + +.mdi-food-off-outline::before { + content: "\F1915"; +} + +.mdi-food-outline::before { + content: "\F1916"; +} + +.mdi-food-steak::before { + content: "\F146A"; +} + +.mdi-food-steak-off::before { + content: "\F146B"; +} + +.mdi-food-takeout-box::before { + content: "\F1836"; +} + +.mdi-food-takeout-box-outline::before { + content: "\F1837"; +} + +.mdi-food-turkey::before { + content: "\F171C"; +} + +.mdi-food-variant::before { + content: "\F025C"; +} + +.mdi-food-variant-off::before { + content: "\F13E5"; +} + +.mdi-foot-print::before { + content: "\F0F52"; +} + +.mdi-football::before { + content: "\F025D"; +} + +.mdi-football-australian::before { + content: "\F025E"; +} + +.mdi-football-helmet::before { + content: "\F025F"; +} + +.mdi-forest::before { + content: "\F1897"; +} + +.mdi-forest-outline::before { + content: "\F1C63"; +} + +.mdi-forklift::before { + content: "\F07C9"; +} + +.mdi-form-dropdown::before { + content: "\F1400"; +} + +.mdi-form-select::before { + content: "\F1401"; +} + +.mdi-form-textarea::before { + content: "\F1095"; +} + +.mdi-form-textbox::before { + content: "\F060E"; +} + +.mdi-form-textbox-lock::before { + content: "\F135D"; +} + +.mdi-form-textbox-password::before { + content: "\F07F5"; +} + +.mdi-format-align-bottom::before { + content: "\F0753"; +} + +.mdi-format-align-center::before { + content: "\F0260"; +} + +.mdi-format-align-justify::before { + content: "\F0261"; +} + +.mdi-format-align-left::before { + content: "\F0262"; +} + +.mdi-format-align-middle::before { + content: "\F0754"; +} + +.mdi-format-align-right::before { + content: "\F0263"; +} + +.mdi-format-align-top::before { + content: "\F0755"; +} + +.mdi-format-annotation-minus::before { + content: "\F0ABC"; +} + +.mdi-format-annotation-plus::before { + content: "\F0646"; +} + +.mdi-format-bold::before { + content: "\F0264"; +} + +.mdi-format-clear::before { + content: "\F0265"; +} + +.mdi-format-color-fill::before { + content: "\F0266"; +} + +.mdi-format-color-highlight::before { + content: "\F0E31"; +} + +.mdi-format-color-marker-cancel::before { + content: "\F1313"; +} + +.mdi-format-color-text::before { + content: "\F069E"; +} + +.mdi-format-columns::before { + content: "\F08DF"; +} + +.mdi-format-float-center::before { + content: "\F0267"; +} + +.mdi-format-float-left::before { + content: "\F0268"; +} + +.mdi-format-float-none::before { + content: "\F0269"; +} + +.mdi-format-float-right::before { + content: "\F026A"; +} + +.mdi-format-font::before { + content: "\F06D6"; +} + +.mdi-format-font-size-decrease::before { + content: "\F09F3"; +} + +.mdi-format-font-size-increase::before { + content: "\F09F4"; +} + +.mdi-format-header-1::before { + content: "\F026B"; +} + +.mdi-format-header-2::before { + content: "\F026C"; +} + +.mdi-format-header-3::before { + content: "\F026D"; +} + +.mdi-format-header-4::before { + content: "\F026E"; +} + +.mdi-format-header-5::before { + content: "\F026F"; +} + +.mdi-format-header-6::before { + content: "\F0270"; +} + +.mdi-format-header-decrease::before { + content: "\F0271"; +} + +.mdi-format-header-equal::before { + content: "\F0272"; +} + +.mdi-format-header-increase::before { + content: "\F0273"; +} + +.mdi-format-header-pound::before { + content: "\F0274"; +} + +.mdi-format-horizontal-align-center::before { + content: "\F061E"; +} + +.mdi-format-horizontal-align-left::before { + content: "\F061F"; +} + +.mdi-format-horizontal-align-right::before { + content: "\F0620"; +} + +.mdi-format-indent-decrease::before { + content: "\F0275"; +} + +.mdi-format-indent-increase::before { + content: "\F0276"; +} + +.mdi-format-italic::before { + content: "\F0277"; +} + +.mdi-format-letter-case::before { + content: "\F0B34"; +} + +.mdi-format-letter-case-lower::before { + content: "\F0B35"; +} + +.mdi-format-letter-case-upper::before { + content: "\F0B36"; +} + +.mdi-format-letter-ends-with::before { + content: "\F0FB8"; +} + +.mdi-format-letter-matches::before { + content: "\F0FB9"; +} + +.mdi-format-letter-spacing::before { + content: "\F1956"; +} + +.mdi-format-letter-spacing-variant::before { + content: "\F1AFB"; +} + +.mdi-format-letter-starts-with::before { + content: "\F0FBA"; +} + +.mdi-format-line-height::before { + content: "\F1AFC"; +} + +.mdi-format-line-spacing::before { + content: "\F0278"; +} + +.mdi-format-line-style::before { + content: "\F05C8"; +} + +.mdi-format-line-weight::before { + content: "\F05C9"; +} + +.mdi-format-list-bulleted::before { + content: "\F0279"; +} + +.mdi-format-list-bulleted-square::before { + content: "\F0DD0"; +} + +.mdi-format-list-bulleted-triangle::before { + content: "\F0EB2"; +} + +.mdi-format-list-bulleted-type::before { + content: "\F027A"; +} + +.mdi-format-list-checkbox::before { + content: "\F096A"; +} + +.mdi-format-list-checks::before { + content: "\F0756"; +} + +.mdi-format-list-group::before { + content: "\F1860"; +} + +.mdi-format-list-group-plus::before { + content: "\F1B56"; +} + +.mdi-format-list-numbered::before { + content: "\F027B"; +} + +.mdi-format-list-numbered-rtl::before { + content: "\F0D0D"; +} + +.mdi-format-list-text::before { + content: "\F126F"; +} + +.mdi-format-overline::before { + content: "\F0EB3"; +} + +.mdi-format-page-break::before { + content: "\F06D7"; +} + +.mdi-format-page-split::before { + content: "\F1917"; +} + +.mdi-format-paint::before { + content: "\F027C"; +} + +.mdi-format-paragraph::before { + content: "\F027D"; +} + +.mdi-format-paragraph-spacing::before { + content: "\F1AFD"; +} + +.mdi-format-pilcrow::before { + content: "\F06D8"; +} + +.mdi-format-pilcrow-arrow-left::before { + content: "\F0286"; +} + +.mdi-format-pilcrow-arrow-right::before { + content: "\F0285"; +} + +.mdi-format-quote-close::before { + content: "\F027E"; +} + +.mdi-format-quote-close-outline::before { + content: "\F11A8"; +} + +.mdi-format-quote-open::before { + content: "\F0757"; +} + +.mdi-format-quote-open-outline::before { + content: "\F11A7"; +} + +.mdi-format-rotate-90::before { + content: "\F06AA"; +} + +.mdi-format-section::before { + content: "\F069F"; +} + +.mdi-format-size::before { + content: "\F027F"; +} + +.mdi-format-strikethrough::before { + content: "\F0280"; +} + +.mdi-format-strikethrough-variant::before { + content: "\F0281"; +} + +.mdi-format-subscript::before { + content: "\F0282"; +} + +.mdi-format-superscript::before { + content: "\F0283"; +} + +.mdi-format-text::before { + content: "\F0284"; +} + +.mdi-format-text-rotation-angle-down::before { + content: "\F0FBB"; +} + +.mdi-format-text-rotation-angle-up::before { + content: "\F0FBC"; +} + +.mdi-format-text-rotation-down::before { + content: "\F0D73"; +} + +.mdi-format-text-rotation-down-vertical::before { + content: "\F0FBD"; +} + +.mdi-format-text-rotation-none::before { + content: "\F0D74"; +} + +.mdi-format-text-rotation-up::before { + content: "\F0FBE"; +} + +.mdi-format-text-rotation-vertical::before { + content: "\F0FBF"; +} + +.mdi-format-text-variant::before { + content: "\F0E32"; +} + +.mdi-format-text-variant-outline::before { + content: "\F150F"; +} + +.mdi-format-text-wrapping-clip::before { + content: "\F0D0E"; +} + +.mdi-format-text-wrapping-overflow::before { + content: "\F0D0F"; +} + +.mdi-format-text-wrapping-wrap::before { + content: "\F0D10"; +} + +.mdi-format-textbox::before { + content: "\F0D11"; +} + +.mdi-format-title::before { + content: "\F05F4"; +} + +.mdi-format-underline::before { + content: "\F0287"; +} + +.mdi-format-underline-wavy::before { + content: "\F18E9"; +} + +.mdi-format-vertical-align-bottom::before { + content: "\F0621"; +} + +.mdi-format-vertical-align-center::before { + content: "\F0622"; +} + +.mdi-format-vertical-align-top::before { + content: "\F0623"; +} + +.mdi-format-wrap-inline::before { + content: "\F0288"; +} + +.mdi-format-wrap-square::before { + content: "\F0289"; +} + +.mdi-format-wrap-tight::before { + content: "\F028A"; +} + +.mdi-format-wrap-top-bottom::before { + content: "\F028B"; +} + +.mdi-forum::before { + content: "\F028C"; +} + +.mdi-forum-minus::before { + content: "\F1AA9"; +} + +.mdi-forum-minus-outline::before { + content: "\F1AAA"; +} + +.mdi-forum-outline::before { + content: "\F0822"; +} + +.mdi-forum-plus::before { + content: "\F1AAB"; +} + +.mdi-forum-plus-outline::before { + content: "\F1AAC"; +} + +.mdi-forum-remove::before { + content: "\F1AAD"; +} + +.mdi-forum-remove-outline::before { + content: "\F1AAE"; +} + +.mdi-forward::before { + content: "\F028D"; +} + +.mdi-forwardburger::before { + content: "\F0D75"; +} + +.mdi-fountain::before { + content: "\F096B"; +} + +.mdi-fountain-pen::before { + content: "\F0D12"; +} + +.mdi-fountain-pen-tip::before { + content: "\F0D13"; +} + +.mdi-fraction-one-half::before { + content: "\F1992"; +} + +.mdi-freebsd::before { + content: "\F08E0"; +} + +.mdi-french-fries::before { + content: "\F1957"; +} + +.mdi-frequently-asked-questions::before { + content: "\F0EB4"; +} + +.mdi-fridge::before { + content: "\F0290"; +} + +.mdi-fridge-alert::before { + content: "\F11B1"; +} + +.mdi-fridge-alert-outline::before { + content: "\F11B2"; +} + +.mdi-fridge-bottom::before { + content: "\F0292"; +} + +.mdi-fridge-industrial::before { + content: "\F15EE"; +} + +.mdi-fridge-industrial-alert::before { + content: "\F15EF"; +} + +.mdi-fridge-industrial-alert-outline::before { + content: "\F15F0"; +} + +.mdi-fridge-industrial-off::before { + content: "\F15F1"; +} + +.mdi-fridge-industrial-off-outline::before { + content: "\F15F2"; +} + +.mdi-fridge-industrial-outline::before { + content: "\F15F3"; +} + +.mdi-fridge-off::before { + content: "\F11AF"; +} + +.mdi-fridge-off-outline::before { + content: "\F11B0"; +} + +.mdi-fridge-outline::before { + content: "\F028F"; +} + +.mdi-fridge-top::before { + content: "\F0291"; +} + +.mdi-fridge-variant::before { + content: "\F15F4"; +} + +.mdi-fridge-variant-alert::before { + content: "\F15F5"; +} + +.mdi-fridge-variant-alert-outline::before { + content: "\F15F6"; +} + +.mdi-fridge-variant-off::before { + content: "\F15F7"; +} + +.mdi-fridge-variant-off-outline::before { + content: "\F15F8"; +} + +.mdi-fridge-variant-outline::before { + content: "\F15F9"; +} + +.mdi-fruit-cherries::before { + content: "\F1042"; +} + +.mdi-fruit-cherries-off::before { + content: "\F13F8"; +} + +.mdi-fruit-citrus::before { + content: "\F1043"; +} + +.mdi-fruit-citrus-off::before { + content: "\F13F9"; +} + +.mdi-fruit-grapes::before { + content: "\F1044"; +} + +.mdi-fruit-grapes-outline::before { + content: "\F1045"; +} + +.mdi-fruit-pear::before { + content: "\F1A0E"; +} + +.mdi-fruit-pineapple::before { + content: "\F1046"; +} + +.mdi-fruit-watermelon::before { + content: "\F1047"; +} + +.mdi-fuel::before { + content: "\F07CA"; +} + +.mdi-fuel-cell::before { + content: "\F18B5"; +} + +.mdi-fullscreen::before { + content: "\F0293"; +} + +.mdi-fullscreen-exit::before { + content: "\F0294"; +} + +.mdi-function::before { + content: "\F0295"; +} + +.mdi-function-variant::before { + content: "\F0871"; +} + +.mdi-furigana-horizontal::before { + content: "\F1081"; +} + +.mdi-furigana-vertical::before { + content: "\F1082"; +} + +.mdi-fuse::before { + content: "\F0C85"; +} + +.mdi-fuse-alert::before { + content: "\F142D"; +} + +.mdi-fuse-blade::before { + content: "\F0C86"; +} + +.mdi-fuse-off::before { + content: "\F142C"; +} + +.mdi-gamepad::before { + content: "\F0296"; +} + +.mdi-gamepad-circle::before { + content: "\F0E33"; +} + +.mdi-gamepad-circle-down::before { + content: "\F0E34"; +} + +.mdi-gamepad-circle-left::before { + content: "\F0E35"; +} + +.mdi-gamepad-circle-outline::before { + content: "\F0E36"; +} + +.mdi-gamepad-circle-right::before { + content: "\F0E37"; +} + +.mdi-gamepad-circle-up::before { + content: "\F0E38"; +} + +.mdi-gamepad-down::before { + content: "\F0E39"; +} + +.mdi-gamepad-left::before { + content: "\F0E3A"; +} + +.mdi-gamepad-outline::before { + content: "\F1919"; +} + +.mdi-gamepad-right::before { + content: "\F0E3B"; +} + +.mdi-gamepad-round::before { + content: "\F0E3C"; +} + +.mdi-gamepad-round-down::before { + content: "\F0E3D"; +} + +.mdi-gamepad-round-left::before { + content: "\F0E3E"; +} + +.mdi-gamepad-round-outline::before { + content: "\F0E3F"; +} + +.mdi-gamepad-round-right::before { + content: "\F0E40"; +} + +.mdi-gamepad-round-up::before { + content: "\F0E41"; +} + +.mdi-gamepad-square::before { + content: "\F0EB5"; +} + +.mdi-gamepad-square-outline::before { + content: "\F0EB6"; +} + +.mdi-gamepad-up::before { + content: "\F0E42"; +} + +.mdi-gamepad-variant::before { + content: "\F0297"; +} + +.mdi-gamepad-variant-outline::before { + content: "\F0EB7"; +} + +.mdi-gamma::before { + content: "\F10EE"; +} + +.mdi-gantry-crane::before { + content: "\F0DD1"; +} + +.mdi-garage::before { + content: "\F06D9"; +} + +.mdi-garage-alert::before { + content: "\F0872"; +} + +.mdi-garage-alert-variant::before { + content: "\F12D5"; +} + +.mdi-garage-lock::before { + content: "\F17FB"; +} + +.mdi-garage-open::before { + content: "\F06DA"; +} + +.mdi-garage-open-variant::before { + content: "\F12D4"; +} + +.mdi-garage-variant::before { + content: "\F12D3"; +} + +.mdi-garage-variant-lock::before { + content: "\F17FC"; +} + +.mdi-gas-burner::before { + content: "\F1A1B"; +} + +.mdi-gas-cylinder::before { + content: "\F0647"; +} + +.mdi-gas-station::before { + content: "\F0298"; +} + +.mdi-gas-station-in-use::before { + content: "\F1CC4"; +} + +.mdi-gas-station-in-use-outline::before { + content: "\F1CC5"; +} + +.mdi-gas-station-off::before { + content: "\F1409"; +} + +.mdi-gas-station-off-outline::before { + content: "\F140A"; +} + +.mdi-gas-station-outline::before { + content: "\F0EB8"; +} + +.mdi-gate::before { + content: "\F0299"; +} + +.mdi-gate-alert::before { + content: "\F17F8"; +} + +.mdi-gate-and::before { + content: "\F08E1"; +} + +.mdi-gate-arrow-left::before { + content: "\F17F7"; +} + +.mdi-gate-arrow-right::before { + content: "\F1169"; +} + +.mdi-gate-buffer::before { + content: "\F1AFE"; +} + +.mdi-gate-nand::before { + content: "\F08E2"; +} + +.mdi-gate-nor::before { + content: "\F08E3"; +} + +.mdi-gate-not::before { + content: "\F08E4"; +} + +.mdi-gate-open::before { + content: "\F116A"; +} + +.mdi-gate-or::before { + content: "\F08E5"; +} + +.mdi-gate-xnor::before { + content: "\F08E6"; +} + +.mdi-gate-xor::before { + content: "\F08E7"; +} + +.mdi-gatsby::before { + content: "\F0E43"; +} + +.mdi-gauge::before { + content: "\F029A"; +} + +.mdi-gauge-empty::before { + content: "\F0873"; +} + +.mdi-gauge-full::before { + content: "\F0874"; +} + +.mdi-gauge-low::before { + content: "\F0875"; +} + +.mdi-gavel::before { + content: "\F029B"; +} + +.mdi-gender-female::before { + content: "\F029C"; +} + +.mdi-gender-male::before { + content: "\F029D"; +} + +.mdi-gender-male-female::before { + content: "\F029E"; +} + +.mdi-gender-male-female-variant::before { + content: "\F113F"; +} + +.mdi-gender-non-binary::before { + content: "\F1140"; +} + +.mdi-gender-transgender::before { + content: "\F029F"; +} + +.mdi-generator-mobile::before { + content: "\F1C8A"; +} + +.mdi-generator-portable::before { + content: "\F1C8B"; +} + +.mdi-generator-stationary::before { + content: "\F1C8C"; +} + +.mdi-gentoo::before { + content: "\F08E8"; +} + +.mdi-gesture::before { + content: "\F07CB"; +} + +.mdi-gesture-double-tap::before { + content: "\F073C"; +} + +.mdi-gesture-pinch::before { + content: "\F0ABD"; +} + +.mdi-gesture-spread::before { + content: "\F0ABE"; +} + +.mdi-gesture-swipe::before { + content: "\F0D76"; +} + +.mdi-gesture-swipe-down::before { + content: "\F073D"; +} + +.mdi-gesture-swipe-horizontal::before { + content: "\F0ABF"; +} + +.mdi-gesture-swipe-left::before { + content: "\F073E"; +} + +.mdi-gesture-swipe-right::before { + content: "\F073F"; +} + +.mdi-gesture-swipe-up::before { + content: "\F0740"; +} + +.mdi-gesture-swipe-vertical::before { + content: "\F0AC0"; +} + +.mdi-gesture-tap::before { + content: "\F0741"; +} + +.mdi-gesture-tap-box::before { + content: "\F12A9"; +} + +.mdi-gesture-tap-button::before { + content: "\F12A8"; +} + +.mdi-gesture-tap-hold::before { + content: "\F0D77"; +} + +.mdi-gesture-two-double-tap::before { + content: "\F0742"; +} + +.mdi-gesture-two-tap::before { + content: "\F0743"; +} + +.mdi-ghost::before { + content: "\F02A0"; +} + +.mdi-ghost-off::before { + content: "\F09F5"; +} + +.mdi-ghost-off-outline::before { + content: "\F165C"; +} + +.mdi-ghost-outline::before { + content: "\F165D"; +} + +.mdi-gift::before { + content: "\F0E44"; +} + +.mdi-gift-off::before { + content: "\F16EF"; +} + +.mdi-gift-off-outline::before { + content: "\F16F0"; +} + +.mdi-gift-open::before { + content: "\F16F1"; +} + +.mdi-gift-open-outline::before { + content: "\F16F2"; +} + +.mdi-gift-outline::before { + content: "\F02A1"; +} + +.mdi-git::before { + content: "\F02A2"; +} + +.mdi-github::before { + content: "\F02A4"; +} + +.mdi-gitlab::before { + content: "\F0BA0"; +} + +.mdi-glass-cocktail::before { + content: "\F0356"; +} + +.mdi-glass-cocktail-off::before { + content: "\F15E6"; +} + +.mdi-glass-flute::before { + content: "\F02A5"; +} + +.mdi-glass-fragile::before { + content: "\F1873"; +} + +.mdi-glass-mug::before { + content: "\F02A6"; +} + +.mdi-glass-mug-off::before { + content: "\F15E7"; +} + +.mdi-glass-mug-variant::before { + content: "\F1116"; +} + +.mdi-glass-mug-variant-off::before { + content: "\F15E8"; +} + +.mdi-glass-pint-outline::before { + content: "\F130D"; +} + +.mdi-glass-stange::before { + content: "\F02A7"; +} + +.mdi-glass-tulip::before { + content: "\F02A8"; +} + +.mdi-glass-wine::before { + content: "\F0876"; +} + +.mdi-glasses::before { + content: "\F02AA"; +} + +.mdi-globe-light::before { + content: "\F066F"; +} + +.mdi-globe-light-outline::before { + content: "\F12D7"; +} + +.mdi-globe-model::before { + content: "\F08E9"; +} + +.mdi-gmail::before { + content: "\F02AB"; +} + +.mdi-gnome::before { + content: "\F02AC"; +} + +.mdi-go-kart::before { + content: "\F0D79"; +} + +.mdi-go-kart-track::before { + content: "\F0D7A"; +} + +.mdi-gog::before { + content: "\F0BA1"; +} + +.mdi-gold::before { + content: "\F124F"; +} + +.mdi-golf::before { + content: "\F0823"; +} + +.mdi-golf-cart::before { + content: "\F11A4"; +} + +.mdi-golf-tee::before { + content: "\F1083"; +} + +.mdi-gondola::before { + content: "\F0686"; +} + +.mdi-goodreads::before { + content: "\F0D7B"; +} + +.mdi-google::before { + content: "\F02AD"; +} + +.mdi-google-ads::before { + content: "\F0C87"; +} + +.mdi-google-analytics::before { + content: "\F07CC"; +} + +.mdi-google-assistant::before { + content: "\F07CD"; +} + +.mdi-google-cardboard::before { + content: "\F02AE"; +} + +.mdi-google-chrome::before { + content: "\F02AF"; +} + +.mdi-google-circles::before { + content: "\F02B0"; +} + +.mdi-google-circles-communities::before { + content: "\F02B1"; +} + +.mdi-google-circles-extended::before { + content: "\F02B2"; +} + +.mdi-google-circles-group::before { + content: "\F02B3"; +} + +.mdi-google-classroom::before { + content: "\F02C0"; +} + +.mdi-google-cloud::before { + content: "\F11F6"; +} + +.mdi-google-downasaur::before { + content: "\F1362"; +} + +.mdi-google-drive::before { + content: "\F02B6"; +} + +.mdi-google-earth::before { + content: "\F02B7"; +} + +.mdi-google-fit::before { + content: "\F096C"; +} + +.mdi-google-glass::before { + content: "\F02B8"; +} + +.mdi-google-hangouts::before { + content: "\F02C9"; +} + +.mdi-google-keep::before { + content: "\F06DC"; +} + +.mdi-google-lens::before { + content: "\F09F6"; +} + +.mdi-google-maps::before { + content: "\F05F5"; +} + +.mdi-google-my-business::before { + content: "\F1048"; +} + +.mdi-google-nearby::before { + content: "\F02B9"; +} + +.mdi-google-play::before { + content: "\F02BC"; +} + +.mdi-google-plus::before { + content: "\F02BD"; +} + +.mdi-google-podcast::before { + content: "\F0EB9"; +} + +.mdi-google-spreadsheet::before { + content: "\F09F7"; +} + +.mdi-google-street-view::before { + content: "\F0C88"; +} + +.mdi-google-translate::before { + content: "\F02BF"; +} + +.mdi-gradient-horizontal::before { + content: "\F174A"; +} + +.mdi-gradient-vertical::before { + content: "\F06A0"; +} + +.mdi-grain::before { + content: "\F0D7C"; +} + +.mdi-graph::before { + content: "\F1049"; +} + +.mdi-graph-outline::before { + content: "\F104A"; +} + +.mdi-graphql::before { + content: "\F0877"; +} + +.mdi-grass::before { + content: "\F1510"; +} + +.mdi-grave-stone::before { + content: "\F0BA2"; +} + +.mdi-grease-pencil::before { + content: "\F0648"; +} + +.mdi-greater-than::before { + content: "\F096D"; +} + +.mdi-greater-than-or-equal::before { + content: "\F096E"; +} + +.mdi-greenhouse::before { + content: "\F002D"; +} + +.mdi-grid::before { + content: "\F02C1"; +} + +.mdi-grid-large::before { + content: "\F0758"; +} + +.mdi-grid-off::before { + content: "\F02C2"; +} + +.mdi-grill::before { + content: "\F0E45"; +} + +.mdi-grill-outline::before { + content: "\F118A"; +} + +.mdi-group::before { + content: "\F02C3"; +} + +.mdi-guitar-acoustic::before { + content: "\F0771"; +} + +.mdi-guitar-electric::before { + content: "\F02C4"; +} + +.mdi-guitar-pick::before { + content: "\F02C5"; +} + +.mdi-guitar-pick-outline::before { + content: "\F02C6"; +} + +.mdi-guy-fawkes-mask::before { + content: "\F0825"; +} + +.mdi-gymnastics::before { + content: "\F1A41"; +} + +.mdi-hail::before { + content: "\F0AC1"; +} + +.mdi-hair-dryer::before { + content: "\F10EF"; +} + +.mdi-hair-dryer-outline::before { + content: "\F10F0"; +} + +.mdi-halloween::before { + content: "\F0BA3"; +} + +.mdi-hamburger::before { + content: "\F0685"; +} + +.mdi-hamburger-check::before { + content: "\F1776"; +} + +.mdi-hamburger-minus::before { + content: "\F1777"; +} + +.mdi-hamburger-off::before { + content: "\F1778"; +} + +.mdi-hamburger-plus::before { + content: "\F1779"; +} + +.mdi-hamburger-remove::before { + content: "\F177A"; +} + +.mdi-hammer::before { + content: "\F08EA"; +} + +.mdi-hammer-screwdriver::before { + content: "\F1322"; +} + +.mdi-hammer-sickle::before { + content: "\F1887"; +} + +.mdi-hammer-wrench::before { + content: "\F1323"; +} + +.mdi-hand-back-left::before { + content: "\F0E46"; +} + +.mdi-hand-back-left-off::before { + content: "\F1830"; +} + +.mdi-hand-back-left-off-outline::before { + content: "\F1832"; +} + +.mdi-hand-back-left-outline::before { + content: "\F182C"; +} + +.mdi-hand-back-right::before { + content: "\F0E47"; +} + +.mdi-hand-back-right-off::before { + content: "\F1831"; +} + +.mdi-hand-back-right-off-outline::before { + content: "\F1833"; +} + +.mdi-hand-back-right-outline::before { + content: "\F182D"; +} + +.mdi-hand-clap::before { + content: "\F194B"; +} + +.mdi-hand-clap-off::before { + content: "\F1A42"; +} + +.mdi-hand-coin::before { + content: "\F188F"; +} + +.mdi-hand-coin-outline::before { + content: "\F1890"; +} + +.mdi-hand-cycle::before { + content: "\F1B9C"; +} + +.mdi-hand-extended::before { + content: "\F18B6"; +} + +.mdi-hand-extended-outline::before { + content: "\F18B7"; +} + +.mdi-hand-front-left::before { + content: "\F182B"; +} + +.mdi-hand-front-left-outline::before { + content: "\F182E"; +} + +.mdi-hand-front-right::before { + content: "\F0A4F"; +} + +.mdi-hand-front-right-outline::before { + content: "\F182F"; +} + +.mdi-hand-heart::before { + content: "\F10F1"; +} + +.mdi-hand-heart-outline::before { + content: "\F157E"; +} + +.mdi-hand-okay::before { + content: "\F0A50"; +} + +.mdi-hand-peace::before { + content: "\F0A51"; +} + +.mdi-hand-peace-variant::before { + content: "\F0A52"; +} + +.mdi-hand-pointing-down::before { + content: "\F0A53"; +} + +.mdi-hand-pointing-left::before { + content: "\F0A54"; +} + +.mdi-hand-pointing-right::before { + content: "\F02C7"; +} + +.mdi-hand-pointing-up::before { + content: "\F0A55"; +} + +.mdi-hand-saw::before { + content: "\F0E48"; +} + +.mdi-hand-wash::before { + content: "\F157F"; +} + +.mdi-hand-wash-outline::before { + content: "\F1580"; +} + +.mdi-hand-water::before { + content: "\F139F"; +} + +.mdi-hand-wave::before { + content: "\F1821"; +} + +.mdi-hand-wave-outline::before { + content: "\F1822"; +} + +.mdi-handball::before { + content: "\F0F53"; +} + +.mdi-handcuffs::before { + content: "\F113E"; +} + +.mdi-hands-pray::before { + content: "\F0579"; +} + +.mdi-handshake::before { + content: "\F1218"; +} + +.mdi-handshake-outline::before { + content: "\F15A1"; +} + +.mdi-hanger::before { + content: "\F02C8"; +} + +.mdi-hard-hat::before { + content: "\F096F"; +} + +.mdi-harddisk::before { + content: "\F02CA"; +} + +.mdi-harddisk-plus::before { + content: "\F104B"; +} + +.mdi-harddisk-remove::before { + content: "\F104C"; +} + +.mdi-hat-fedora::before { + content: "\F0BA4"; +} + +.mdi-hazard-lights::before { + content: "\F0C89"; +} + +.mdi-hdmi-port::before { + content: "\F1BB8"; +} + +.mdi-hdr::before { + content: "\F0D7D"; +} + +.mdi-hdr-off::before { + content: "\F0D7E"; +} + +.mdi-head::before { + content: "\F135E"; +} + +.mdi-head-alert::before { + content: "\F1338"; +} + +.mdi-head-alert-outline::before { + content: "\F1339"; +} + +.mdi-head-check::before { + content: "\F133A"; +} + +.mdi-head-check-outline::before { + content: "\F133B"; +} + +.mdi-head-cog::before { + content: "\F133C"; +} + +.mdi-head-cog-outline::before { + content: "\F133D"; +} + +.mdi-head-dots-horizontal::before { + content: "\F133E"; +} + +.mdi-head-dots-horizontal-outline::before { + content: "\F133F"; +} + +.mdi-head-flash::before { + content: "\F1340"; +} + +.mdi-head-flash-outline::before { + content: "\F1341"; +} + +.mdi-head-heart::before { + content: "\F1342"; +} + +.mdi-head-heart-outline::before { + content: "\F1343"; +} + +.mdi-head-lightbulb::before { + content: "\F1344"; +} + +.mdi-head-lightbulb-outline::before { + content: "\F1345"; +} + +.mdi-head-minus::before { + content: "\F1346"; +} + +.mdi-head-minus-outline::before { + content: "\F1347"; +} + +.mdi-head-outline::before { + content: "\F135F"; +} + +.mdi-head-plus::before { + content: "\F1348"; +} + +.mdi-head-plus-outline::before { + content: "\F1349"; +} + +.mdi-head-question::before { + content: "\F134A"; +} + +.mdi-head-question-outline::before { + content: "\F134B"; +} + +.mdi-head-remove::before { + content: "\F134C"; +} + +.mdi-head-remove-outline::before { + content: "\F134D"; +} + +.mdi-head-snowflake::before { + content: "\F134E"; +} + +.mdi-head-snowflake-outline::before { + content: "\F134F"; +} + +.mdi-head-sync::before { + content: "\F1350"; +} + +.mdi-head-sync-outline::before { + content: "\F1351"; +} + +.mdi-headphones::before { + content: "\F02CB"; +} + +.mdi-headphones-bluetooth::before { + content: "\F0970"; +} + +.mdi-headphones-box::before { + content: "\F02CC"; +} + +.mdi-headphones-off::before { + content: "\F07CE"; +} + +.mdi-headphones-settings::before { + content: "\F02CD"; +} + +.mdi-headset::before { + content: "\F02CE"; +} + +.mdi-headset-dock::before { + content: "\F02CF"; +} + +.mdi-headset-off::before { + content: "\F02D0"; +} + +.mdi-heart::before { + content: "\F02D1"; +} + +.mdi-heart-box::before { + content: "\F02D2"; +} + +.mdi-heart-box-outline::before { + content: "\F02D3"; +} + +.mdi-heart-broken::before { + content: "\F02D4"; +} + +.mdi-heart-broken-outline::before { + content: "\F0D14"; +} + +.mdi-heart-circle::before { + content: "\F0971"; +} + +.mdi-heart-circle-outline::before { + content: "\F0972"; +} + +.mdi-heart-cog::before { + content: "\F1663"; +} + +.mdi-heart-cog-outline::before { + content: "\F1664"; +} + +.mdi-heart-flash::before { + content: "\F0EF9"; +} + +.mdi-heart-half::before { + content: "\F06DF"; +} + +.mdi-heart-half-full::before { + content: "\F06DE"; +} + +.mdi-heart-half-outline::before { + content: "\F06E0"; +} + +.mdi-heart-minus::before { + content: "\F142F"; +} + +.mdi-heart-minus-outline::before { + content: "\F1432"; +} + +.mdi-heart-multiple::before { + content: "\F0A56"; +} + +.mdi-heart-multiple-outline::before { + content: "\F0A57"; +} + +.mdi-heart-off::before { + content: "\F0759"; +} + +.mdi-heart-off-outline::before { + content: "\F1434"; +} + +.mdi-heart-outline::before { + content: "\F02D5"; +} + +.mdi-heart-plus::before { + content: "\F142E"; +} + +.mdi-heart-plus-outline::before { + content: "\F1431"; +} + +.mdi-heart-pulse::before { + content: "\F05F6"; +} + +.mdi-heart-remove::before { + content: "\F1430"; +} + +.mdi-heart-remove-outline::before { + content: "\F1433"; +} + +.mdi-heart-search::before { + content: "\F1C8D"; +} + +.mdi-heart-settings::before { + content: "\F1665"; +} + +.mdi-heart-settings-outline::before { + content: "\F1666"; +} + +.mdi-heat-pump::before { + content: "\F1A43"; +} + +.mdi-heat-pump-outline::before { + content: "\F1A44"; +} + +.mdi-heat-wave::before { + content: "\F1A45"; +} + +.mdi-heating-coil::before { + content: "\F1AAF"; +} + +.mdi-helicopter::before { + content: "\F0AC2"; +} + +.mdi-help::before { + content: "\F02D6"; +} + +.mdi-help-box::before { + content: "\F078B"; +} + +.mdi-help-box-multiple::before { + content: "\F1C0A"; +} + +.mdi-help-box-multiple-outline::before { + content: "\F1C0B"; +} + +.mdi-help-box-outline::before { + content: "\F1C0C"; +} + +.mdi-help-circle::before { + content: "\F02D7"; +} + +.mdi-help-circle-outline::before { + content: "\F0625"; +} + +.mdi-help-network::before { + content: "\F06F5"; +} + +.mdi-help-network-outline::before { + content: "\F0C8A"; +} + +.mdi-help-rhombus::before { + content: "\F0BA5"; +} + +.mdi-help-rhombus-outline::before { + content: "\F0BA6"; +} + +.mdi-hexadecimal::before { + content: "\F12A7"; +} + +.mdi-hexagon::before { + content: "\F02D8"; +} + +.mdi-hexagon-multiple::before { + content: "\F06E1"; +} + +.mdi-hexagon-multiple-outline::before { + content: "\F10F2"; +} + +.mdi-hexagon-outline::before { + content: "\F02D9"; +} + +.mdi-hexagon-slice-1::before { + content: "\F0AC3"; +} + +.mdi-hexagon-slice-2::before { + content: "\F0AC4"; +} + +.mdi-hexagon-slice-3::before { + content: "\F0AC5"; +} + +.mdi-hexagon-slice-4::before { + content: "\F0AC6"; +} + +.mdi-hexagon-slice-5::before { + content: "\F0AC7"; +} + +.mdi-hexagon-slice-6::before { + content: "\F0AC8"; +} + +.mdi-hexagram::before { + content: "\F0AC9"; +} + +.mdi-hexagram-outline::before { + content: "\F0ACA"; +} + +.mdi-high-definition::before { + content: "\F07CF"; +} + +.mdi-high-definition-box::before { + content: "\F0878"; +} + +.mdi-highway::before { + content: "\F05F7"; +} + +.mdi-hiking::before { + content: "\F0D7F"; +} + +.mdi-history::before { + content: "\F02DA"; +} + +.mdi-hockey-puck::before { + content: "\F0879"; +} + +.mdi-hockey-sticks::before { + content: "\F087A"; +} + +.mdi-hololens::before { + content: "\F02DB"; +} + +.mdi-home::before { + content: "\F02DC"; +} + +.mdi-home-account::before { + content: "\F0826"; +} + +.mdi-home-alert::before { + content: "\F087B"; +} + +.mdi-home-alert-outline::before { + content: "\F15D0"; +} + +.mdi-home-analytics::before { + content: "\F0EBA"; +} + +.mdi-home-assistant::before { + content: "\F07D0"; +} + +.mdi-home-automation::before { + content: "\F07D1"; +} + +.mdi-home-battery::before { + content: "\F1901"; +} + +.mdi-home-battery-outline::before { + content: "\F1902"; +} + +.mdi-home-circle::before { + content: "\F07D2"; +} + +.mdi-home-circle-outline::before { + content: "\F104D"; +} + +.mdi-home-city::before { + content: "\F0D15"; +} + +.mdi-home-city-outline::before { + content: "\F0D16"; +} + +.mdi-home-clock::before { + content: "\F1A12"; +} + +.mdi-home-clock-outline::before { + content: "\F1A13"; +} + +.mdi-home-edit::before { + content: "\F1159"; +} + +.mdi-home-edit-outline::before { + content: "\F115A"; +} + +.mdi-home-export-outline::before { + content: "\F0F9B"; +} + +.mdi-home-flood::before { + content: "\F0EFA"; +} + +.mdi-home-floor-0::before { + content: "\F0DD2"; +} + +.mdi-home-floor-1::before { + content: "\F0D80"; +} + +.mdi-home-floor-2::before { + content: "\F0D81"; +} + +.mdi-home-floor-3::before { + content: "\F0D82"; +} + +.mdi-home-floor-a::before { + content: "\F0D83"; +} + +.mdi-home-floor-b::before { + content: "\F0D84"; +} + +.mdi-home-floor-g::before { + content: "\F0D85"; +} + +.mdi-home-floor-l::before { + content: "\F0D86"; +} + +.mdi-home-floor-negative-1::before { + content: "\F0DD3"; +} + +.mdi-home-group::before { + content: "\F0DD4"; +} + +.mdi-home-group-minus::before { + content: "\F19C1"; +} + +.mdi-home-group-plus::before { + content: "\F19C0"; +} + +.mdi-home-group-remove::before { + content: "\F19C2"; +} + +.mdi-home-heart::before { + content: "\F0827"; +} + +.mdi-home-import-outline::before { + content: "\F0F9C"; +} + +.mdi-home-lightbulb::before { + content: "\F1251"; +} + +.mdi-home-lightbulb-outline::before { + content: "\F1252"; +} + +.mdi-home-lightning-bolt::before { + content: "\F1903"; +} + +.mdi-home-lightning-bolt-outline::before { + content: "\F1904"; +} + +.mdi-home-lock::before { + content: "\F08EB"; +} + +.mdi-home-lock-open::before { + content: "\F08EC"; +} + +.mdi-home-map-marker::before { + content: "\F05F8"; +} + +.mdi-home-minus::before { + content: "\F0974"; +} + +.mdi-home-minus-outline::before { + content: "\F13D5"; +} + +.mdi-home-modern::before { + content: "\F02DD"; +} + +.mdi-home-off::before { + content: "\F1A46"; +} + +.mdi-home-off-outline::before { + content: "\F1A47"; +} + +.mdi-home-outline::before { + content: "\F06A1"; +} + +.mdi-home-percent::before { + content: "\F1C7C"; +} + +.mdi-home-percent-outline::before { + content: "\F1C7D"; +} + +.mdi-home-plus::before { + content: "\F0975"; +} + +.mdi-home-plus-outline::before { + content: "\F13D6"; +} + +.mdi-home-remove::before { + content: "\F1247"; +} + +.mdi-home-remove-outline::before { + content: "\F13D7"; +} + +.mdi-home-roof::before { + content: "\F112B"; +} + +.mdi-home-search::before { + content: "\F13B0"; +} + +.mdi-home-search-outline::before { + content: "\F13B1"; +} + +.mdi-home-silo::before { + content: "\F1BA0"; +} + +.mdi-home-silo-outline::before { + content: "\F1BA1"; +} + +.mdi-home-sound-in::before { + content: "\F1C2F"; +} + +.mdi-home-sound-in-outline::before { + content: "\F1C30"; +} + +.mdi-home-sound-out::before { + content: "\F1C31"; +} + +.mdi-home-sound-out-outline::before { + content: "\F1C32"; +} + +.mdi-home-switch::before { + content: "\F1794"; +} + +.mdi-home-switch-outline::before { + content: "\F1795"; +} + +.mdi-home-thermometer::before { + content: "\F0F54"; +} + +.mdi-home-thermometer-outline::before { + content: "\F0F55"; +} + +.mdi-home-variant::before { + content: "\F02DE"; +} + +.mdi-home-variant-outline::before { + content: "\F0BA7"; +} + +.mdi-hook::before { + content: "\F06E2"; +} + +.mdi-hook-off::before { + content: "\F06E3"; +} + +.mdi-hoop-house::before { + content: "\F0E56"; +} + +.mdi-hops::before { + content: "\F02DF"; +} + +.mdi-horizontal-rotate-clockwise::before { + content: "\F10F3"; +} + +.mdi-horizontal-rotate-counterclockwise::before { + content: "\F10F4"; +} + +.mdi-horse::before { + content: "\F15BF"; +} + +.mdi-horse-human::before { + content: "\F15C0"; +} + +.mdi-horse-variant::before { + content: "\F15C1"; +} + +.mdi-horse-variant-fast::before { + content: "\F186E"; +} + +.mdi-horseshoe::before { + content: "\F0A58"; +} + +.mdi-hospital::before { + content: "\F0FF6"; +} + +.mdi-hospital-box::before { + content: "\F02E0"; +} + +.mdi-hospital-box-outline::before { + content: "\F0FF7"; +} + +.mdi-hospital-building::before { + content: "\F02E1"; +} + +.mdi-hospital-marker::before { + content: "\F02E2"; +} + +.mdi-hot-tub::before { + content: "\F0828"; +} + +.mdi-hours-12::before { + content: "\F1C94"; +} + +.mdi-hours-24::before { + content: "\F1478"; +} + +.mdi-hub::before { + content: "\F1C95"; +} + +.mdi-hub-outline::before { + content: "\F1C96"; +} + +.mdi-hubspot::before { + content: "\F0D17"; +} + +.mdi-hulu::before { + content: "\F0829"; +} + +.mdi-human::before { + content: "\F02E6"; +} + +.mdi-human-baby-changing-table::before { + content: "\F138B"; +} + +.mdi-human-cane::before { + content: "\F1581"; +} + +.mdi-human-capacity-decrease::before { + content: "\F159B"; +} + +.mdi-human-capacity-increase::before { + content: "\F159C"; +} + +.mdi-human-child::before { + content: "\F02E7"; +} + +.mdi-human-dolly::before { + content: "\F1980"; +} + +.mdi-human-edit::before { + content: "\F14E8"; +} + +.mdi-human-female::before { + content: "\F0649"; +} + +.mdi-human-female-boy::before { + content: "\F0A59"; +} + +.mdi-human-female-dance::before { + content: "\F15C9"; +} + +.mdi-human-female-female::before { + content: "\F0A5A"; +} + +.mdi-human-female-female-child::before { + content: "\F1C8E"; +} + +.mdi-human-female-girl::before { + content: "\F0A5B"; +} + +.mdi-human-greeting::before { + content: "\F17C4"; +} + +.mdi-human-greeting-proximity::before { + content: "\F159D"; +} + +.mdi-human-greeting-variant::before { + content: "\F064A"; +} + +.mdi-human-handsdown::before { + content: "\F064B"; +} + +.mdi-human-handsup::before { + content: "\F064C"; +} + +.mdi-human-male::before { + content: "\F064D"; +} + +.mdi-human-male-board::before { + content: "\F0890"; +} + +.mdi-human-male-board-poll::before { + content: "\F0846"; +} + +.mdi-human-male-boy::before { + content: "\F0A5C"; +} + +.mdi-human-male-child::before { + content: "\F138C"; +} + +.mdi-human-male-female::before { + content: "\F02E8"; +} + +.mdi-human-male-female-child::before { + content: "\F1823"; +} + +.mdi-human-male-girl::before { + content: "\F0A5D"; +} + +.mdi-human-male-height::before { + content: "\F0EFB"; +} + +.mdi-human-male-height-variant::before { + content: "\F0EFC"; +} + +.mdi-human-male-male::before { + content: "\F0A5E"; +} + +.mdi-human-male-male-child::before { + content: "\F1C8F"; +} + +.mdi-human-non-binary::before { + content: "\F1848"; +} + +.mdi-human-pregnant::before { + content: "\F05CF"; +} + +.mdi-human-queue::before { + content: "\F1571"; +} + +.mdi-human-scooter::before { + content: "\F11E9"; +} + +.mdi-human-walker::before { + content: "\F1B71"; +} + +.mdi-human-wheelchair::before { + content: "\F138D"; +} + +.mdi-human-white-cane::before { + content: "\F1981"; +} + +.mdi-humble-bundle::before { + content: "\F0744"; +} + +.mdi-hvac::before { + content: "\F1352"; +} + +.mdi-hvac-off::before { + content: "\F159E"; +} + +.mdi-hydraulic-oil-level::before { + content: "\F1324"; +} + +.mdi-hydraulic-oil-temperature::before { + content: "\F1325"; +} + +.mdi-hydro-power::before { + content: "\F12E5"; +} + +.mdi-hydrogen-station::before { + content: "\F1894"; +} + +.mdi-ice-cream::before { + content: "\F082A"; +} + +.mdi-ice-cream-off::before { + content: "\F0E52"; +} + +.mdi-ice-pop::before { + content: "\F0EFD"; +} + +.mdi-id-card::before { + content: "\F0FC0"; +} + +.mdi-identifier::before { + content: "\F0EFE"; +} + +.mdi-ideogram-cjk::before { + content: "\F1331"; +} + +.mdi-ideogram-cjk-variant::before { + content: "\F1332"; +} + +.mdi-image::before { + content: "\F02E9"; +} + +.mdi-image-album::before { + content: "\F02EA"; +} + +.mdi-image-area::before { + content: "\F02EB"; +} + +.mdi-image-area-close::before { + content: "\F02EC"; +} + +.mdi-image-auto-adjust::before { + content: "\F0FC1"; +} + +.mdi-image-broken::before { + content: "\F02ED"; +} + +.mdi-image-broken-variant::before { + content: "\F02EE"; +} + +.mdi-image-check::before { + content: "\F1B25"; +} + +.mdi-image-check-outline::before { + content: "\F1B26"; +} + +.mdi-image-edit::before { + content: "\F11E3"; +} + +.mdi-image-edit-outline::before { + content: "\F11E4"; +} + +.mdi-image-filter-black-white::before { + content: "\F02F0"; +} + +.mdi-image-filter-center-focus::before { + content: "\F02F1"; +} + +.mdi-image-filter-center-focus-strong::before { + content: "\F0EFF"; +} + +.mdi-image-filter-center-focus-strong-outline::before { + content: "\F0F00"; +} + +.mdi-image-filter-center-focus-weak::before { + content: "\F02F2"; +} + +.mdi-image-filter-drama::before { + content: "\F02F3"; +} + +.mdi-image-filter-drama-outline::before { + content: "\F1BFF"; +} + +.mdi-image-filter-frames::before { + content: "\F02F4"; +} + +.mdi-image-filter-hdr::before { + content: "\F02F5"; +} + +.mdi-image-filter-hdr-outline::before { + content: "\F1C64"; +} + +.mdi-image-filter-none::before { + content: "\F02F6"; +} + +.mdi-image-filter-tilt-shift::before { + content: "\F02F7"; +} + +.mdi-image-filter-vintage::before { + content: "\F02F8"; +} + +.mdi-image-frame::before { + content: "\F0E49"; +} + +.mdi-image-lock::before { + content: "\F1AB0"; +} + +.mdi-image-lock-outline::before { + content: "\F1AB1"; +} + +.mdi-image-marker::before { + content: "\F177B"; +} + +.mdi-image-marker-outline::before { + content: "\F177C"; +} + +.mdi-image-minus::before { + content: "\F1419"; +} + +.mdi-image-minus-outline::before { + content: "\F1B47"; +} + +.mdi-image-move::before { + content: "\F09F8"; +} + +.mdi-image-multiple::before { + content: "\F02F9"; +} + +.mdi-image-multiple-outline::before { + content: "\F02EF"; +} + +.mdi-image-off::before { + content: "\F082B"; +} + +.mdi-image-off-outline::before { + content: "\F11D1"; +} + +.mdi-image-outline::before { + content: "\F0976"; +} + +.mdi-image-plus::before { + content: "\F087C"; +} + +.mdi-image-plus-outline::before { + content: "\F1B46"; +} + +.mdi-image-refresh::before { + content: "\F19FE"; +} + +.mdi-image-refresh-outline::before { + content: "\F19FF"; +} + +.mdi-image-remove::before { + content: "\F1418"; +} + +.mdi-image-remove-outline::before { + content: "\F1B48"; +} + +.mdi-image-search::before { + content: "\F0977"; +} + +.mdi-image-search-outline::before { + content: "\F0978"; +} + +.mdi-image-size-select-actual::before { + content: "\F0C8D"; +} + +.mdi-image-size-select-large::before { + content: "\F0C8E"; +} + +.mdi-image-size-select-small::before { + content: "\F0C8F"; +} + +.mdi-image-sync::before { + content: "\F1A00"; +} + +.mdi-image-sync-outline::before { + content: "\F1A01"; +} + +.mdi-image-text::before { + content: "\F160D"; +} + +.mdi-import::before { + content: "\F02FA"; +} + +.mdi-inbox::before { + content: "\F0687"; +} + +.mdi-inbox-arrow-down::before { + content: "\F02FB"; +} + +.mdi-inbox-arrow-down-outline::before { + content: "\F1270"; +} + +.mdi-inbox-arrow-up::before { + content: "\F03D1"; +} + +.mdi-inbox-arrow-up-outline::before { + content: "\F1271"; +} + +.mdi-inbox-full::before { + content: "\F1272"; +} + +.mdi-inbox-full-outline::before { + content: "\F1273"; +} + +.mdi-inbox-multiple::before { + content: "\F08B0"; +} + +.mdi-inbox-multiple-outline::before { + content: "\F0BA8"; +} + +.mdi-inbox-outline::before { + content: "\F1274"; +} + +.mdi-inbox-remove::before { + content: "\F159F"; +} + +.mdi-inbox-remove-outline::before { + content: "\F15A0"; +} + +.mdi-incognito::before { + content: "\F05F9"; +} + +.mdi-incognito-circle::before { + content: "\F1421"; +} + +.mdi-incognito-circle-off::before { + content: "\F1422"; +} + +.mdi-incognito-off::before { + content: "\F0075"; +} + +.mdi-induction::before { + content: "\F184C"; +} + +.mdi-infinity::before { + content: "\F06E4"; +} + +.mdi-information::before { + content: "\F02FC"; +} + +.mdi-information-box::before { + content: "\F1C65"; +} + +.mdi-information-box-outline::before { + content: "\F1C66"; +} + +.mdi-information-off::before { + content: "\F178C"; +} + +.mdi-information-off-outline::before { + content: "\F178D"; +} + +.mdi-information-outline::before { + content: "\F02FD"; +} + +.mdi-information-slab-box::before { + content: "\F1C67"; +} + +.mdi-information-slab-box-outline::before { + content: "\F1C68"; +} + +.mdi-information-slab-circle::before { + content: "\F1C69"; +} + +.mdi-information-slab-circle-outline::before { + content: "\F1C6A"; +} + +.mdi-information-slab-symbol::before { + content: "\F1C6B"; +} + +.mdi-information-symbol::before { + content: "\F1C6C"; +} + +.mdi-information-variant::before { + content: "\F064E"; +} + +.mdi-information-variant-box::before { + content: "\F1C6D"; +} + +.mdi-information-variant-box-outline::before { + content: "\F1C6E"; +} + +.mdi-information-variant-circle::before { + content: "\F1C6F"; +} + +.mdi-information-variant-circle-outline::before { + content: "\F1C70"; +} + +.mdi-instagram::before { + content: "\F02FE"; +} + +.mdi-instrument-triangle::before { + content: "\F104E"; +} + +.mdi-integrated-circuit-chip::before { + content: "\F1913"; +} + +.mdi-invert-colors::before { + content: "\F0301"; +} + +.mdi-invert-colors-off::before { + content: "\F0E4A"; +} + +.mdi-invoice::before { + content: "\F1CD2"; +} + +.mdi-invoice-arrow-left::before { + content: "\F1CD3"; +} + +.mdi-invoice-arrow-left-outline::before { + content: "\F1CD4"; +} + +.mdi-invoice-arrow-right::before { + content: "\F1CD5"; +} + +.mdi-invoice-arrow-right-outline::before { + content: "\F1CD6"; +} + +.mdi-invoice-check::before { + content: "\F1CD7"; +} + +.mdi-invoice-check-outline::before { + content: "\F1CD8"; +} + +.mdi-invoice-clock::before { + content: "\F1CD9"; +} + +.mdi-invoice-clock-outline::before { + content: "\F1CDA"; +} + +.mdi-invoice-edit::before { + content: "\F1CDB"; +} + +.mdi-invoice-edit-outline::before { + content: "\F1CDC"; +} + +.mdi-invoice-export-outline::before { + content: "\F1CDD"; +} + +.mdi-invoice-fast::before { + content: "\F1CDE"; +} + +.mdi-invoice-fast-outline::before { + content: "\F1CDF"; +} + +.mdi-invoice-import::before { + content: "\F1CE0"; +} + +.mdi-invoice-import-outline::before { + content: "\F1CE1"; +} + +.mdi-invoice-list::before { + content: "\F1CE2"; +} + +.mdi-invoice-list-outline::before { + content: "\F1CE3"; +} + +.mdi-invoice-minus::before { + content: "\F1CE4"; +} + +.mdi-invoice-minus-outline::before { + content: "\F1CE5"; +} + +.mdi-invoice-multiple::before { + content: "\F1CE6"; +} + +.mdi-invoice-multiple-outline::before { + content: "\F1CE7"; +} + +.mdi-invoice-outline::before { + content: "\F1CE8"; +} + +.mdi-invoice-plus::before { + content: "\F1CE9"; +} + +.mdi-invoice-plus-outline::before { + content: "\F1CEA"; +} + +.mdi-invoice-remove::before { + content: "\F1CEB"; +} + +.mdi-invoice-remove-outline::before { + content: "\F1CEC"; +} + +.mdi-invoice-send::before { + content: "\F1CED"; +} + +.mdi-invoice-send-outline::before { + content: "\F1CEE"; +} + +.mdi-invoice-text::before { + content: "\F1CEF"; +} + +.mdi-invoice-text-arrow-left::before { + content: "\F1CF0"; +} + +.mdi-invoice-text-arrow-left-outline::before { + content: "\F1CF1"; +} + +.mdi-invoice-text-arrow-right::before { + content: "\F1CF2"; +} + +.mdi-invoice-text-arrow-right-outline::before { + content: "\F1CF3"; +} + +.mdi-invoice-text-check::before { + content: "\F1CF4"; +} + +.mdi-invoice-text-check-outline::before { + content: "\F1CF5"; +} + +.mdi-invoice-text-clock::before { + content: "\F1CF6"; +} + +.mdi-invoice-text-clock-outline::before { + content: "\F1CF7"; +} + +.mdi-invoice-text-edit::before { + content: "\F1CF8"; +} + +.mdi-invoice-text-edit-outline::before { + content: "\F1CF9"; +} + +.mdi-invoice-text-fast::before { + content: "\F1CFA"; +} + +.mdi-invoice-text-fast-outline::before { + content: "\F1CFB"; +} + +.mdi-invoice-text-minus::before { + content: "\F1CFC"; +} + +.mdi-invoice-text-minus-outline::before { + content: "\F1CFD"; +} + +.mdi-invoice-text-multiple::before { + content: "\F1CFE"; +} + +.mdi-invoice-text-multiple-outline::before { + content: "\F1CFF"; +} + +.mdi-invoice-text-outline::before { + content: "\F1D00"; +} + +.mdi-invoice-text-plus::before { + content: "\F1D01"; +} + +.mdi-invoice-text-plus-outline::before { + content: "\F1D02"; +} + +.mdi-invoice-text-remove::before { + content: "\F1D03"; +} + +.mdi-invoice-text-remove-outline::before { + content: "\F1D04"; +} + +.mdi-invoice-text-send::before { + content: "\F1D05"; +} + +.mdi-invoice-text-send-outline::before { + content: "\F1D06"; +} + +.mdi-iobroker::before { + content: "\F12E8"; +} + +.mdi-ip::before { + content: "\F0A5F"; +} + +.mdi-ip-network::before { + content: "\F0A60"; +} + +.mdi-ip-network-outline::before { + content: "\F0C90"; +} + +.mdi-ip-outline::before { + content: "\F1982"; +} + +.mdi-ipod::before { + content: "\F0C91"; +} + +.mdi-iron::before { + content: "\F1824"; +} + +.mdi-iron-board::before { + content: "\F1838"; +} + +.mdi-iron-outline::before { + content: "\F1825"; +} + +.mdi-island::before { + content: "\F104F"; +} + +.mdi-island-variant::before { + content: "\F1CC6"; +} + +.mdi-iv-bag::before { + content: "\F10B9"; +} + +.mdi-jabber::before { + content: "\F0DD5"; +} + +.mdi-jeepney::before { + content: "\F0302"; +} + +.mdi-jellyfish::before { + content: "\F0F01"; +} + +.mdi-jellyfish-outline::before { + content: "\F0F02"; +} + +.mdi-jira::before { + content: "\F0303"; +} + +.mdi-jquery::before { + content: "\F087D"; +} + +.mdi-jsfiddle::before { + content: "\F0304"; +} + +.mdi-jump-rope::before { + content: "\F12FF"; +} + +.mdi-kabaddi::before { + content: "\F0D87"; +} + +.mdi-kangaroo::before { + content: "\F1558"; +} + +.mdi-karate::before { + content: "\F082C"; +} + +.mdi-kayaking::before { + content: "\F08AF"; +} + +.mdi-keg::before { + content: "\F0305"; +} + +.mdi-kettle::before { + content: "\F05FA"; +} + +.mdi-kettle-alert::before { + content: "\F1317"; +} + +.mdi-kettle-alert-outline::before { + content: "\F1318"; +} + +.mdi-kettle-off::before { + content: "\F131B"; +} + +.mdi-kettle-off-outline::before { + content: "\F131C"; +} + +.mdi-kettle-outline::before { + content: "\F0F56"; +} + +.mdi-kettle-pour-over::before { + content: "\F173C"; +} + +.mdi-kettle-steam::before { + content: "\F1319"; +} + +.mdi-kettle-steam-outline::before { + content: "\F131A"; +} + +.mdi-kettlebell::before { + content: "\F1300"; +} + +.mdi-key::before { + content: "\F0306"; +} + +.mdi-key-alert::before { + content: "\F1983"; +} + +.mdi-key-alert-outline::before { + content: "\F1984"; +} + +.mdi-key-arrow-right::before { + content: "\F1312"; +} + +.mdi-key-chain::before { + content: "\F1574"; +} + +.mdi-key-chain-variant::before { + content: "\F1575"; +} + +.mdi-key-change::before { + content: "\F0307"; +} + +.mdi-key-link::before { + content: "\F119F"; +} + +.mdi-key-minus::before { + content: "\F0308"; +} + +.mdi-key-outline::before { + content: "\F0DD6"; +} + +.mdi-key-plus::before { + content: "\F0309"; +} + +.mdi-key-remove::before { + content: "\F030A"; +} + +.mdi-key-star::before { + content: "\F119E"; +} + +.mdi-key-variant::before { + content: "\F030B"; +} + +.mdi-key-wireless::before { + content: "\F0FC2"; +} + +.mdi-keyboard::before { + content: "\F030C"; +} + +.mdi-keyboard-backspace::before { + content: "\F030D"; +} + +.mdi-keyboard-caps::before { + content: "\F030E"; +} + +.mdi-keyboard-close::before { + content: "\F030F"; +} + +.mdi-keyboard-close-outline::before { + content: "\F1C00"; +} + +.mdi-keyboard-esc::before { + content: "\F12B7"; +} + +.mdi-keyboard-f1::before { + content: "\F12AB"; +} + +.mdi-keyboard-f10::before { + content: "\F12B4"; +} + +.mdi-keyboard-f11::before { + content: "\F12B5"; +} + +.mdi-keyboard-f12::before { + content: "\F12B6"; +} + +.mdi-keyboard-f2::before { + content: "\F12AC"; +} + +.mdi-keyboard-f3::before { + content: "\F12AD"; +} + +.mdi-keyboard-f4::before { + content: "\F12AE"; +} + +.mdi-keyboard-f5::before { + content: "\F12AF"; +} + +.mdi-keyboard-f6::before { + content: "\F12B0"; +} + +.mdi-keyboard-f7::before { + content: "\F12B1"; +} + +.mdi-keyboard-f8::before { + content: "\F12B2"; +} + +.mdi-keyboard-f9::before { + content: "\F12B3"; +} + +.mdi-keyboard-off::before { + content: "\F0310"; +} + +.mdi-keyboard-off-outline::before { + content: "\F0E4B"; +} + +.mdi-keyboard-outline::before { + content: "\F097B"; +} + +.mdi-keyboard-return::before { + content: "\F0311"; +} + +.mdi-keyboard-settings::before { + content: "\F09F9"; +} + +.mdi-keyboard-settings-outline::before { + content: "\F09FA"; +} + +.mdi-keyboard-space::before { + content: "\F1050"; +} + +.mdi-keyboard-tab::before { + content: "\F0312"; +} + +.mdi-keyboard-tab-reverse::before { + content: "\F0325"; +} + +.mdi-keyboard-variant::before { + content: "\F0313"; +} + +.mdi-khanda::before { + content: "\F10FD"; +} + +.mdi-kickstarter::before { + content: "\F0745"; +} + +.mdi-kite::before { + content: "\F1985"; +} + +.mdi-kite-outline::before { + content: "\F1986"; +} + +.mdi-kitesurfing::before { + content: "\F1744"; +} + +.mdi-klingon::before { + content: "\F135B"; +} + +.mdi-knife::before { + content: "\F09FB"; +} + +.mdi-knife-military::before { + content: "\F09FC"; +} + +.mdi-knob::before { + content: "\F1B96"; +} + +.mdi-koala::before { + content: "\F173F"; +} + +.mdi-kodi::before { + content: "\F0314"; +} + +.mdi-kubernetes::before { + content: "\F10FE"; +} + +.mdi-label::before { + content: "\F0315"; +} + +.mdi-label-multiple::before { + content: "\F1375"; +} + +.mdi-label-multiple-outline::before { + content: "\F1376"; +} + +.mdi-label-off::before { + content: "\F0ACB"; +} + +.mdi-label-off-outline::before { + content: "\F0ACC"; +} + +.mdi-label-outline::before { + content: "\F0316"; +} + +.mdi-label-percent::before { + content: "\F12EA"; +} + +.mdi-label-percent-outline::before { + content: "\F12EB"; +} + +.mdi-label-variant::before { + content: "\F0ACD"; +} + +.mdi-label-variant-outline::before { + content: "\F0ACE"; +} + +.mdi-ladder::before { + content: "\F15A2"; +} + +.mdi-ladybug::before { + content: "\F082D"; +} + +.mdi-lambda::before { + content: "\F0627"; +} + +.mdi-lamp::before { + content: "\F06B5"; +} + +.mdi-lamp-outline::before { + content: "\F17D0"; +} + +.mdi-lamps::before { + content: "\F1576"; +} + +.mdi-lamps-outline::before { + content: "\F17D1"; +} + +.mdi-lan::before { + content: "\F0317"; +} + +.mdi-lan-check::before { + content: "\F12AA"; +} + +.mdi-lan-connect::before { + content: "\F0318"; +} + +.mdi-lan-disconnect::before { + content: "\F0319"; +} + +.mdi-lan-pending::before { + content: "\F031A"; +} + +.mdi-land-fields::before { + content: "\F1AB2"; +} + +.mdi-land-plots::before { + content: "\F1AB3"; +} + +.mdi-land-plots-circle::before { + content: "\F1AB4"; +} + +.mdi-land-plots-circle-variant::before { + content: "\F1AB5"; +} + +.mdi-land-plots-marker::before { + content: "\F1C5D"; +} + +.mdi-land-rows-horizontal::before { + content: "\F1AB6"; +} + +.mdi-land-rows-vertical::before { + content: "\F1AB7"; +} + +.mdi-landslide::before { + content: "\F1A48"; +} + +.mdi-landslide-outline::before { + content: "\F1A49"; +} + +.mdi-language-c::before { + content: "\F0671"; +} + +.mdi-language-cpp::before { + content: "\F0672"; +} + +.mdi-language-csharp::before { + content: "\F031B"; +} + +.mdi-language-css3::before { + content: "\F031C"; +} + +.mdi-language-fortran::before { + content: "\F121A"; +} + +.mdi-language-go::before { + content: "\F07D3"; +} + +.mdi-language-haskell::before { + content: "\F0C92"; +} + +.mdi-language-html5::before { + content: "\F031D"; +} + +.mdi-language-java::before { + content: "\F0B37"; +} + +.mdi-language-javascript::before { + content: "\F031E"; +} + +.mdi-language-kotlin::before { + content: "\F1219"; +} + +.mdi-language-lua::before { + content: "\F08B1"; +} + +.mdi-language-markdown::before { + content: "\F0354"; +} + +.mdi-language-markdown-outline::before { + content: "\F0F5B"; +} + +.mdi-language-php::before { + content: "\F031F"; +} + +.mdi-language-python::before { + content: "\F0320"; +} + +.mdi-language-r::before { + content: "\F07D4"; +} + +.mdi-language-ruby::before { + content: "\F0D2D"; +} + +.mdi-language-ruby-on-rails::before { + content: "\F0ACF"; +} + +.mdi-language-rust::before { + content: "\F1617"; +} + +.mdi-language-swift::before { + content: "\F06E5"; +} + +.mdi-language-typescript::before { + content: "\F06E6"; +} + +.mdi-language-xaml::before { + content: "\F0673"; +} + +.mdi-laptop::before { + content: "\F0322"; +} + +.mdi-laptop-account::before { + content: "\F1A4A"; +} + +.mdi-laptop-off::before { + content: "\F06E7"; +} + +.mdi-laravel::before { + content: "\F0AD0"; +} + +.mdi-laser-pointer::before { + content: "\F1484"; +} + +.mdi-lasso::before { + content: "\F0F03"; +} + +.mdi-lastpass::before { + content: "\F0446"; +} + +.mdi-latitude::before { + content: "\F0F57"; +} + +.mdi-launch::before { + content: "\F0327"; +} + +.mdi-lava-lamp::before { + content: "\F07D5"; +} + +.mdi-layers::before { + content: "\F0328"; +} + +.mdi-layers-edit::before { + content: "\F1892"; +} + +.mdi-layers-minus::before { + content: "\F0E4C"; +} + +.mdi-layers-off::before { + content: "\F0329"; +} + +.mdi-layers-off-outline::before { + content: "\F09FD"; +} + +.mdi-layers-outline::before { + content: "\F09FE"; +} + +.mdi-layers-plus::before { + content: "\F0E4D"; +} + +.mdi-layers-remove::before { + content: "\F0E4E"; +} + +.mdi-layers-search::before { + content: "\F1206"; +} + +.mdi-layers-search-outline::before { + content: "\F1207"; +} + +.mdi-layers-triple::before { + content: "\F0F58"; +} + +.mdi-layers-triple-outline::before { + content: "\F0F59"; +} + +.mdi-lead-pencil::before { + content: "\F064F"; +} + +.mdi-leaf::before { + content: "\F032A"; +} + +.mdi-leaf-circle::before { + content: "\F1905"; +} + +.mdi-leaf-circle-outline::before { + content: "\F1906"; +} + +.mdi-leaf-maple::before { + content: "\F0C93"; +} + +.mdi-leaf-maple-off::before { + content: "\F12DA"; +} + +.mdi-leaf-off::before { + content: "\F12D9"; +} + +.mdi-leak::before { + content: "\F0DD7"; +} + +.mdi-leak-off::before { + content: "\F0DD8"; +} + +.mdi-lectern::before { + content: "\F1AF0"; +} + +.mdi-led-off::before { + content: "\F032B"; +} + +.mdi-led-on::before { + content: "\F032C"; +} + +.mdi-led-outline::before { + content: "\F032D"; +} + +.mdi-led-strip::before { + content: "\F07D6"; +} + +.mdi-led-strip-variant::before { + content: "\F1051"; +} + +.mdi-led-strip-variant-off::before { + content: "\F1A4B"; +} + +.mdi-led-variant-off::before { + content: "\F032E"; +} + +.mdi-led-variant-on::before { + content: "\F032F"; +} + +.mdi-led-variant-outline::before { + content: "\F0330"; +} + +.mdi-leek::before { + content: "\F117D"; +} + +.mdi-less-than::before { + content: "\F097C"; +} + +.mdi-less-than-or-equal::before { + content: "\F097D"; +} + +.mdi-library::before { + content: "\F0331"; +} + +.mdi-library-outline::before { + content: "\F1A22"; +} + +.mdi-library-shelves::before { + content: "\F0BA9"; +} + +.mdi-license::before { + content: "\F0FC3"; +} + +.mdi-lifebuoy::before { + content: "\F087E"; +} + +.mdi-light-flood-down::before { + content: "\F1987"; +} + +.mdi-light-flood-up::before { + content: "\F1988"; +} + +.mdi-light-recessed::before { + content: "\F179B"; +} + +.mdi-light-switch::before { + content: "\F097E"; +} + +.mdi-light-switch-off::before { + content: "\F1A24"; +} + +.mdi-lightbulb::before { + content: "\F0335"; +} + +.mdi-lightbulb-alert::before { + content: "\F19E1"; +} + +.mdi-lightbulb-alert-outline::before { + content: "\F19E2"; +} + +.mdi-lightbulb-auto::before { + content: "\F1800"; +} + +.mdi-lightbulb-auto-outline::before { + content: "\F1801"; +} + +.mdi-lightbulb-cfl::before { + content: "\F1208"; +} + +.mdi-lightbulb-cfl-off::before { + content: "\F1209"; +} + +.mdi-lightbulb-cfl-spiral::before { + content: "\F1275"; +} + +.mdi-lightbulb-cfl-spiral-off::before { + content: "\F12C3"; +} + +.mdi-lightbulb-fluorescent-tube::before { + content: "\F1804"; +} + +.mdi-lightbulb-fluorescent-tube-outline::before { + content: "\F1805"; +} + +.mdi-lightbulb-group::before { + content: "\F1253"; +} + +.mdi-lightbulb-group-off::before { + content: "\F12CD"; +} + +.mdi-lightbulb-group-off-outline::before { + content: "\F12CE"; +} + +.mdi-lightbulb-group-outline::before { + content: "\F1254"; +} + +.mdi-lightbulb-multiple::before { + content: "\F1255"; +} + +.mdi-lightbulb-multiple-off::before { + content: "\F12CF"; +} + +.mdi-lightbulb-multiple-off-outline::before { + content: "\F12D0"; +} + +.mdi-lightbulb-multiple-outline::before { + content: "\F1256"; +} + +.mdi-lightbulb-night::before { + content: "\F1A4C"; +} + +.mdi-lightbulb-night-outline::before { + content: "\F1A4D"; +} + +.mdi-lightbulb-off::before { + content: "\F0E4F"; +} + +.mdi-lightbulb-off-outline::before { + content: "\F0E50"; +} + +.mdi-lightbulb-on::before { + content: "\F06E8"; +} + +.mdi-lightbulb-on-10::before { + content: "\F1A4E"; +} + +.mdi-lightbulb-on-20::before { + content: "\F1A4F"; +} + +.mdi-lightbulb-on-30::before { + content: "\F1A50"; +} + +.mdi-lightbulb-on-40::before { + content: "\F1A51"; +} + +.mdi-lightbulb-on-50::before { + content: "\F1A52"; +} + +.mdi-lightbulb-on-60::before { + content: "\F1A53"; +} + +.mdi-lightbulb-on-70::before { + content: "\F1A54"; +} + +.mdi-lightbulb-on-80::before { + content: "\F1A55"; +} + +.mdi-lightbulb-on-90::before { + content: "\F1A56"; +} + +.mdi-lightbulb-on-outline::before { + content: "\F06E9"; +} + +.mdi-lightbulb-outline::before { + content: "\F0336"; +} + +.mdi-lightbulb-question::before { + content: "\F19E3"; +} + +.mdi-lightbulb-question-outline::before { + content: "\F19E4"; +} + +.mdi-lightbulb-spot::before { + content: "\F17F4"; +} + +.mdi-lightbulb-spot-off::before { + content: "\F17F5"; +} + +.mdi-lightbulb-variant::before { + content: "\F1802"; +} + +.mdi-lightbulb-variant-outline::before { + content: "\F1803"; +} + +.mdi-lighthouse::before { + content: "\F09FF"; +} + +.mdi-lighthouse-on::before { + content: "\F0A00"; +} + +.mdi-lightning-bolt::before { + content: "\F140B"; +} + +.mdi-lightning-bolt-circle::before { + content: "\F0820"; +} + +.mdi-lightning-bolt-outline::before { + content: "\F140C"; +} + +.mdi-line-scan::before { + content: "\F0624"; +} + +.mdi-lingerie::before { + content: "\F1476"; +} + +.mdi-link::before { + content: "\F0337"; +} + +.mdi-link-box::before { + content: "\F0D1A"; +} + +.mdi-link-box-outline::before { + content: "\F0D1B"; +} + +.mdi-link-box-variant::before { + content: "\F0D1C"; +} + +.mdi-link-box-variant-outline::before { + content: "\F0D1D"; +} + +.mdi-link-circle::before { + content: "\F1CAC"; +} + +.mdi-link-circle-outline::before { + content: "\F1CAD"; +} + +.mdi-link-edit::before { + content: "\F1CAE"; +} + +.mdi-link-lock::before { + content: "\F10BA"; +} + +.mdi-link-off::before { + content: "\F0338"; +} + +.mdi-link-plus::before { + content: "\F0C94"; +} + +.mdi-link-variant::before { + content: "\F0339"; +} + +.mdi-link-variant-minus::before { + content: "\F10FF"; +} + +.mdi-link-variant-off::before { + content: "\F033A"; +} + +.mdi-link-variant-plus::before { + content: "\F1100"; +} + +.mdi-link-variant-remove::before { + content: "\F1101"; +} + +.mdi-linkedin::before { + content: "\F033B"; +} + +.mdi-linux::before { + content: "\F033D"; +} + +.mdi-linux-mint::before { + content: "\F08ED"; +} + +.mdi-lipstick::before { + content: "\F13B5"; +} + +.mdi-liquid-spot::before { + content: "\F1826"; +} + +.mdi-liquor::before { + content: "\F191E"; +} + +.mdi-list-box::before { + content: "\F1B7B"; +} + +.mdi-list-box-outline::before { + content: "\F1B7C"; +} + +.mdi-list-status::before { + content: "\F15AB"; +} + +.mdi-litecoin::before { + content: "\F0A61"; +} + +.mdi-loading::before { + content: "\F0772"; +} + +.mdi-location-enter::before { + content: "\F0FC4"; +} + +.mdi-location-exit::before { + content: "\F0FC5"; +} + +.mdi-lock::before { + content: "\F033E"; +} + +.mdi-lock-alert::before { + content: "\F08EE"; +} + +.mdi-lock-alert-outline::before { + content: "\F15D1"; +} + +.mdi-lock-check::before { + content: "\F139A"; +} + +.mdi-lock-check-outline::before { + content: "\F16A8"; +} + +.mdi-lock-clock::before { + content: "\F097F"; +} + +.mdi-lock-minus::before { + content: "\F16A9"; +} + +.mdi-lock-minus-outline::before { + content: "\F16AA"; +} + +.mdi-lock-off::before { + content: "\F1671"; +} + +.mdi-lock-off-outline::before { + content: "\F1672"; +} + +.mdi-lock-open::before { + content: "\F033F"; +} + +.mdi-lock-open-alert::before { + content: "\F139B"; +} + +.mdi-lock-open-alert-outline::before { + content: "\F15D2"; +} + +.mdi-lock-open-check::before { + content: "\F139C"; +} + +.mdi-lock-open-check-outline::before { + content: "\F16AB"; +} + +.mdi-lock-open-minus::before { + content: "\F16AC"; +} + +.mdi-lock-open-minus-outline::before { + content: "\F16AD"; +} + +.mdi-lock-open-outline::before { + content: "\F0340"; +} + +.mdi-lock-open-plus::before { + content: "\F16AE"; +} + +.mdi-lock-open-plus-outline::before { + content: "\F16AF"; +} + +.mdi-lock-open-remove::before { + content: "\F16B0"; +} + +.mdi-lock-open-remove-outline::before { + content: "\F16B1"; +} + +.mdi-lock-open-variant::before { + content: "\F0FC6"; +} + +.mdi-lock-open-variant-outline::before { + content: "\F0FC7"; +} + +.mdi-lock-outline::before { + content: "\F0341"; +} + +.mdi-lock-pattern::before { + content: "\F06EA"; +} + +.mdi-lock-percent::before { + content: "\F1C12"; +} + +.mdi-lock-percent-open::before { + content: "\F1C13"; +} + +.mdi-lock-percent-open-outline::before { + content: "\F1C14"; +} + +.mdi-lock-percent-open-variant::before { + content: "\F1C15"; +} + +.mdi-lock-percent-open-variant-outline::before { + content: "\F1C16"; +} + +.mdi-lock-percent-outline::before { + content: "\F1C17"; +} + +.mdi-lock-plus::before { + content: "\F05FB"; +} + +.mdi-lock-plus-outline::before { + content: "\F16B2"; +} + +.mdi-lock-question::before { + content: "\F08EF"; +} + +.mdi-lock-remove::before { + content: "\F16B3"; +} + +.mdi-lock-remove-outline::before { + content: "\F16B4"; +} + +.mdi-lock-reset::before { + content: "\F0773"; +} + +.mdi-lock-smart::before { + content: "\F08B2"; +} + +.mdi-locker::before { + content: "\F07D7"; +} + +.mdi-locker-multiple::before { + content: "\F07D8"; +} + +.mdi-login::before { + content: "\F0342"; +} + +.mdi-login-variant::before { + content: "\F05FC"; +} + +.mdi-logout::before { + content: "\F0343"; +} + +.mdi-logout-variant::before { + content: "\F05FD"; +} + +.mdi-longitude::before { + content: "\F0F5A"; +} + +.mdi-looks::before { + content: "\F0344"; +} + +.mdi-lotion::before { + content: "\F1582"; +} + +.mdi-lotion-outline::before { + content: "\F1583"; +} + +.mdi-lotion-plus::before { + content: "\F1584"; +} + +.mdi-lotion-plus-outline::before { + content: "\F1585"; +} + +.mdi-loupe::before { + content: "\F0345"; +} + +.mdi-lumx::before { + content: "\F0346"; +} + +.mdi-lungs::before { + content: "\F1084"; +} + +.mdi-mace::before { + content: "\F1843"; +} + +.mdi-magazine-pistol::before { + content: "\F0324"; +} + +.mdi-magazine-rifle::before { + content: "\F0323"; +} + +.mdi-magic-staff::before { + content: "\F1844"; +} + +.mdi-magnet::before { + content: "\F0347"; +} + +.mdi-magnet-on::before { + content: "\F0348"; +} + +.mdi-magnify::before { + content: "\F0349"; +} + +.mdi-magnify-close::before { + content: "\F0980"; +} + +.mdi-magnify-expand::before { + content: "\F1874"; +} + +.mdi-magnify-minus::before { + content: "\F034A"; +} + +.mdi-magnify-minus-cursor::before { + content: "\F0A62"; +} + +.mdi-magnify-minus-outline::before { + content: "\F06EC"; +} + +.mdi-magnify-plus::before { + content: "\F034B"; +} + +.mdi-magnify-plus-cursor::before { + content: "\F0A63"; +} + +.mdi-magnify-plus-outline::before { + content: "\F06ED"; +} + +.mdi-magnify-remove-cursor::before { + content: "\F120C"; +} + +.mdi-magnify-remove-outline::before { + content: "\F120D"; +} + +.mdi-magnify-scan::before { + content: "\F1276"; +} + +.mdi-mail::before { + content: "\F0EBB"; +} + +.mdi-mailbox::before { + content: "\F06EE"; +} + +.mdi-mailbox-open::before { + content: "\F0D88"; +} + +.mdi-mailbox-open-outline::before { + content: "\F0D89"; +} + +.mdi-mailbox-open-up::before { + content: "\F0D8A"; +} + +.mdi-mailbox-open-up-outline::before { + content: "\F0D8B"; +} + +.mdi-mailbox-outline::before { + content: "\F0D8C"; +} + +.mdi-mailbox-up::before { + content: "\F0D8D"; +} + +.mdi-mailbox-up-outline::before { + content: "\F0D8E"; +} + +.mdi-manjaro::before { + content: "\F160A"; +} + +.mdi-map::before { + content: "\F034D"; +} + +.mdi-map-check::before { + content: "\F0EBC"; +} + +.mdi-map-check-outline::before { + content: "\F0EBD"; +} + +.mdi-map-clock::before { + content: "\F0D1E"; +} + +.mdi-map-clock-outline::before { + content: "\F0D1F"; +} + +.mdi-map-legend::before { + content: "\F0A01"; +} + +.mdi-map-marker::before { + content: "\F034E"; +} + +.mdi-map-marker-account::before { + content: "\F18E3"; +} + +.mdi-map-marker-account-outline::before { + content: "\F18E4"; +} + +.mdi-map-marker-alert::before { + content: "\F0F05"; +} + +.mdi-map-marker-alert-outline::before { + content: "\F0F06"; +} + +.mdi-map-marker-check::before { + content: "\F0C95"; +} + +.mdi-map-marker-check-outline::before { + content: "\F12FB"; +} + +.mdi-map-marker-circle::before { + content: "\F034F"; +} + +.mdi-map-marker-distance::before { + content: "\F08F0"; +} + +.mdi-map-marker-down::before { + content: "\F1102"; +} + +.mdi-map-marker-left::before { + content: "\F12DB"; +} + +.mdi-map-marker-left-outline::before { + content: "\F12DD"; +} + +.mdi-map-marker-minus::before { + content: "\F0650"; +} + +.mdi-map-marker-minus-outline::before { + content: "\F12F9"; +} + +.mdi-map-marker-multiple::before { + content: "\F0350"; +} + +.mdi-map-marker-multiple-outline::before { + content: "\F1277"; +} + +.mdi-map-marker-off::before { + content: "\F0351"; +} + +.mdi-map-marker-off-outline::before { + content: "\F12FD"; +} + +.mdi-map-marker-outline::before { + content: "\F07D9"; +} + +.mdi-map-marker-path::before { + content: "\F0D20"; +} + +.mdi-map-marker-plus::before { + content: "\F0651"; +} + +.mdi-map-marker-plus-outline::before { + content: "\F12F8"; +} + +.mdi-map-marker-question::before { + content: "\F0F07"; +} + +.mdi-map-marker-question-outline::before { + content: "\F0F08"; +} + +.mdi-map-marker-radius::before { + content: "\F0352"; +} + +.mdi-map-marker-radius-outline::before { + content: "\F12FC"; +} + +.mdi-map-marker-remove::before { + content: "\F0F09"; +} + +.mdi-map-marker-remove-outline::before { + content: "\F12FA"; +} + +.mdi-map-marker-remove-variant::before { + content: "\F0F0A"; +} + +.mdi-map-marker-right::before { + content: "\F12DC"; +} + +.mdi-map-marker-right-outline::before { + content: "\F12DE"; +} + +.mdi-map-marker-star::before { + content: "\F1608"; +} + +.mdi-map-marker-star-outline::before { + content: "\F1609"; +} + +.mdi-map-marker-up::before { + content: "\F1103"; +} + +.mdi-map-minus::before { + content: "\F0981"; +} + +.mdi-map-outline::before { + content: "\F0982"; +} + +.mdi-map-plus::before { + content: "\F0983"; +} + +.mdi-map-search::before { + content: "\F0984"; +} + +.mdi-map-search-outline::before { + content: "\F0985"; +} + +.mdi-mapbox::before { + content: "\F0BAA"; +} + +.mdi-margin::before { + content: "\F0353"; +} + +.mdi-marker::before { + content: "\F0652"; +} + +.mdi-marker-cancel::before { + content: "\F0DD9"; +} + +.mdi-marker-check::before { + content: "\F0355"; +} + +.mdi-mastodon::before { + content: "\F0AD1"; +} + +.mdi-material-design::before { + content: "\F0986"; +} + +.mdi-material-ui::before { + content: "\F0357"; +} + +.mdi-math-compass::before { + content: "\F0358"; +} + +.mdi-math-cos::before { + content: "\F0C96"; +} + +.mdi-math-integral::before { + content: "\F0FC8"; +} + +.mdi-math-integral-box::before { + content: "\F0FC9"; +} + +.mdi-math-log::before { + content: "\F1085"; +} + +.mdi-math-norm::before { + content: "\F0FCA"; +} + +.mdi-math-norm-box::before { + content: "\F0FCB"; +} + +.mdi-math-sin::before { + content: "\F0C97"; +} + +.mdi-math-tan::before { + content: "\F0C98"; +} + +.mdi-matrix::before { + content: "\F0628"; +} + +.mdi-medal::before { + content: "\F0987"; +} + +.mdi-medal-outline::before { + content: "\F1326"; +} + +.mdi-medical-bag::before { + content: "\F06EF"; +} + +.mdi-medical-cotton-swab::before { + content: "\F1AB8"; +} + +.mdi-medication::before { + content: "\F1B14"; +} + +.mdi-medication-outline::before { + content: "\F1B15"; +} + +.mdi-meditation::before { + content: "\F117B"; +} + +.mdi-memory::before { + content: "\F035B"; +} + +.mdi-memory-arrow-down::before { + content: "\F1CA6"; +} + +.mdi-menorah::before { + content: "\F17D4"; +} + +.mdi-menorah-fire::before { + content: "\F17D5"; +} + +.mdi-menu::before { + content: "\F035C"; +} + +.mdi-menu-close::before { + content: "\F1C90"; +} + +.mdi-menu-down::before { + content: "\F035D"; +} + +.mdi-menu-down-outline::before { + content: "\F06B6"; +} + +.mdi-menu-left::before { + content: "\F035E"; +} + +.mdi-menu-left-outline::before { + content: "\F0A02"; +} + +.mdi-menu-open::before { + content: "\F0BAB"; +} + +.mdi-menu-right::before { + content: "\F035F"; +} + +.mdi-menu-right-outline::before { + content: "\F0A03"; +} + +.mdi-menu-swap::before { + content: "\F0A64"; +} + +.mdi-menu-swap-outline::before { + content: "\F0A65"; +} + +.mdi-menu-up::before { + content: "\F0360"; +} + +.mdi-menu-up-outline::before { + content: "\F06B7"; +} + +.mdi-merge::before { + content: "\F0F5C"; +} + +.mdi-message::before { + content: "\F0361"; +} + +.mdi-message-alert::before { + content: "\F0362"; +} + +.mdi-message-alert-outline::before { + content: "\F0A04"; +} + +.mdi-message-arrow-left::before { + content: "\F12F2"; +} + +.mdi-message-arrow-left-outline::before { + content: "\F12F3"; +} + +.mdi-message-arrow-right::before { + content: "\F12F4"; +} + +.mdi-message-arrow-right-outline::before { + content: "\F12F5"; +} + +.mdi-message-badge::before { + content: "\F1941"; +} + +.mdi-message-badge-outline::before { + content: "\F1942"; +} + +.mdi-message-bookmark::before { + content: "\F15AC"; +} + +.mdi-message-bookmark-outline::before { + content: "\F15AD"; +} + +.mdi-message-bulleted::before { + content: "\F06A2"; +} + +.mdi-message-bulleted-off::before { + content: "\F06A3"; +} + +.mdi-message-check::before { + content: "\F1B8A"; +} + +.mdi-message-check-outline::before { + content: "\F1B8B"; +} + +.mdi-message-cog::before { + content: "\F06F1"; +} + +.mdi-message-cog-outline::before { + content: "\F1172"; +} + +.mdi-message-draw::before { + content: "\F0363"; +} + +.mdi-message-fast::before { + content: "\F19CC"; +} + +.mdi-message-fast-outline::before { + content: "\F19CD"; +} + +.mdi-message-flash::before { + content: "\F15A9"; +} + +.mdi-message-flash-outline::before { + content: "\F15AA"; +} + +.mdi-message-image::before { + content: "\F0364"; +} + +.mdi-message-image-outline::before { + content: "\F116C"; +} + +.mdi-message-lock::before { + content: "\F0FCC"; +} + +.mdi-message-lock-outline::before { + content: "\F116D"; +} + +.mdi-message-minus::before { + content: "\F116E"; +} + +.mdi-message-minus-outline::before { + content: "\F116F"; +} + +.mdi-message-off::before { + content: "\F164D"; +} + +.mdi-message-off-outline::before { + content: "\F164E"; +} + +.mdi-message-outline::before { + content: "\F0365"; +} + +.mdi-message-plus::before { + content: "\F0653"; +} + +.mdi-message-plus-outline::before { + content: "\F10BB"; +} + +.mdi-message-processing::before { + content: "\F0366"; +} + +.mdi-message-processing-outline::before { + content: "\F1170"; +} + +.mdi-message-question::before { + content: "\F173A"; +} + +.mdi-message-question-outline::before { + content: "\F173B"; +} + +.mdi-message-reply::before { + content: "\F0367"; +} + +.mdi-message-reply-outline::before { + content: "\F173D"; +} + +.mdi-message-reply-text::before { + content: "\F0368"; +} + +.mdi-message-reply-text-outline::before { + content: "\F173E"; +} + +.mdi-message-settings::before { + content: "\F06F0"; +} + +.mdi-message-settings-outline::before { + content: "\F1171"; +} + +.mdi-message-star::before { + content: "\F069A"; +} + +.mdi-message-star-outline::before { + content: "\F1250"; +} + +.mdi-message-text::before { + content: "\F0369"; +} + +.mdi-message-text-clock::before { + content: "\F1173"; +} + +.mdi-message-text-clock-outline::before { + content: "\F1174"; +} + +.mdi-message-text-fast::before { + content: "\F19CE"; +} + +.mdi-message-text-fast-outline::before { + content: "\F19CF"; +} + +.mdi-message-text-lock::before { + content: "\F0FCD"; +} + +.mdi-message-text-lock-outline::before { + content: "\F1175"; +} + +.mdi-message-text-outline::before { + content: "\F036A"; +} + +.mdi-message-video::before { + content: "\F036B"; +} + +.mdi-meteor::before { + content: "\F0629"; +} + +.mdi-meter-electric::before { + content: "\F1A57"; +} + +.mdi-meter-electric-outline::before { + content: "\F1A58"; +} + +.mdi-meter-gas::before { + content: "\F1A59"; +} + +.mdi-meter-gas-outline::before { + content: "\F1A5A"; +} + +.mdi-metronome::before { + content: "\F07DA"; +} + +.mdi-metronome-tick::before { + content: "\F07DB"; +} + +.mdi-micro-sd::before { + content: "\F07DC"; +} + +.mdi-microphone::before { + content: "\F036C"; +} + +.mdi-microphone-message::before { + content: "\F050A"; +} + +.mdi-microphone-message-off::before { + content: "\F050B"; +} + +.mdi-microphone-minus::before { + content: "\F08B3"; +} + +.mdi-microphone-off::before { + content: "\F036D"; +} + +.mdi-microphone-outline::before { + content: "\F036E"; +} + +.mdi-microphone-plus::before { + content: "\F08B4"; +} + +.mdi-microphone-question::before { + content: "\F1989"; +} + +.mdi-microphone-question-outline::before { + content: "\F198A"; +} + +.mdi-microphone-settings::before { + content: "\F036F"; +} + +.mdi-microphone-variant::before { + content: "\F0370"; +} + +.mdi-microphone-variant-off::before { + content: "\F0371"; +} + +.mdi-microscope::before { + content: "\F0654"; +} + +.mdi-microsoft::before { + content: "\F0372"; +} + +.mdi-microsoft-access::before { + content: "\F138E"; +} + +.mdi-microsoft-azure::before { + content: "\F0805"; +} + +.mdi-microsoft-azure-devops::before { + content: "\F0FD5"; +} + +.mdi-microsoft-bing::before { + content: "\F00A4"; +} + +.mdi-microsoft-dynamics-365::before { + content: "\F0988"; +} + +.mdi-microsoft-edge::before { + content: "\F01E9"; +} + +.mdi-microsoft-excel::before { + content: "\F138F"; +} + +.mdi-microsoft-internet-explorer::before { + content: "\F0300"; +} + +.mdi-microsoft-office::before { + content: "\F03C6"; +} + +.mdi-microsoft-onedrive::before { + content: "\F03CA"; +} + +.mdi-microsoft-onenote::before { + content: "\F0747"; +} + +.mdi-microsoft-outlook::before { + content: "\F0D22"; +} + +.mdi-microsoft-powerpoint::before { + content: "\F1390"; +} + +.mdi-microsoft-sharepoint::before { + content: "\F1391"; +} + +.mdi-microsoft-teams::before { + content: "\F02BB"; +} + +.mdi-microsoft-visual-studio::before { + content: "\F0610"; +} + +.mdi-microsoft-visual-studio-code::before { + content: "\F0A1E"; +} + +.mdi-microsoft-windows::before { + content: "\F05B3"; +} + +.mdi-microsoft-windows-classic::before { + content: "\F0A21"; +} + +.mdi-microsoft-word::before { + content: "\F1392"; +} + +.mdi-microsoft-xbox::before { + content: "\F05B9"; +} + +.mdi-microsoft-xbox-controller::before { + content: "\F05BA"; +} + +.mdi-microsoft-xbox-controller-battery-alert::before { + content: "\F074B"; +} + +.mdi-microsoft-xbox-controller-battery-charging::before { + content: "\F0A22"; +} + +.mdi-microsoft-xbox-controller-battery-empty::before { + content: "\F074C"; +} + +.mdi-microsoft-xbox-controller-battery-full::before { + content: "\F074D"; +} + +.mdi-microsoft-xbox-controller-battery-low::before { + content: "\F074E"; +} + +.mdi-microsoft-xbox-controller-battery-medium::before { + content: "\F074F"; +} + +.mdi-microsoft-xbox-controller-battery-unknown::before { + content: "\F0750"; +} + +.mdi-microsoft-xbox-controller-menu::before { + content: "\F0E6F"; +} + +.mdi-microsoft-xbox-controller-off::before { + content: "\F05BB"; +} + +.mdi-microsoft-xbox-controller-view::before { + content: "\F0E70"; +} + +.mdi-microwave::before { + content: "\F0C99"; +} + +.mdi-microwave-off::before { + content: "\F1423"; +} + +.mdi-middleware::before { + content: "\F0F5D"; +} + +.mdi-middleware-outline::before { + content: "\F0F5E"; +} + +.mdi-midi::before { + content: "\F08F1"; +} + +.mdi-midi-port::before { + content: "\F08F2"; +} + +.mdi-mine::before { + content: "\F0DDA"; +} + +.mdi-minecraft::before { + content: "\F0373"; +} + +.mdi-mini-sd::before { + content: "\F0A05"; +} + +.mdi-minidisc::before { + content: "\F0A06"; +} + +.mdi-minus::before { + content: "\F0374"; +} + +.mdi-minus-box::before { + content: "\F0375"; +} + +.mdi-minus-box-multiple::before { + content: "\F1141"; +} + +.mdi-minus-box-multiple-outline::before { + content: "\F1142"; +} + +.mdi-minus-box-outline::before { + content: "\F06F2"; +} + +.mdi-minus-circle::before { + content: "\F0376"; +} + +.mdi-minus-circle-multiple::before { + content: "\F035A"; +} + +.mdi-minus-circle-multiple-outline::before { + content: "\F0AD3"; +} + +.mdi-minus-circle-off::before { + content: "\F1459"; +} + +.mdi-minus-circle-off-outline::before { + content: "\F145A"; +} + +.mdi-minus-circle-outline::before { + content: "\F0377"; +} + +.mdi-minus-network::before { + content: "\F0378"; +} + +.mdi-minus-network-outline::before { + content: "\F0C9A"; +} + +.mdi-minus-thick::before { + content: "\F1639"; +} + +.mdi-mirror::before { + content: "\F11FD"; +} + +.mdi-mirror-rectangle::before { + content: "\F179F"; +} + +.mdi-mirror-variant::before { + content: "\F17A0"; +} + +.mdi-mixed-martial-arts::before { + content: "\F0D8F"; +} + +.mdi-mixed-reality::before { + content: "\F087F"; +} + +.mdi-molecule::before { + content: "\F0BAC"; +} + +.mdi-molecule-co::before { + content: "\F12FE"; +} + +.mdi-molecule-co2::before { + content: "\F07E4"; +} + +.mdi-monitor::before { + content: "\F0379"; +} + +.mdi-monitor-account::before { + content: "\F1A5B"; +} + +.mdi-monitor-arrow-down::before { + content: "\F19D0"; +} + +.mdi-monitor-arrow-down-variant::before { + content: "\F19D1"; +} + +.mdi-monitor-cellphone::before { + content: "\F0989"; +} + +.mdi-monitor-cellphone-star::before { + content: "\F098A"; +} + +.mdi-monitor-dashboard::before { + content: "\F0A07"; +} + +.mdi-monitor-edit::before { + content: "\F12C6"; +} + +.mdi-monitor-eye::before { + content: "\F13B4"; +} + +.mdi-monitor-lock::before { + content: "\F0DDB"; +} + +.mdi-monitor-multiple::before { + content: "\F037A"; +} + +.mdi-monitor-off::before { + content: "\F0D90"; +} + +.mdi-monitor-screenshot::before { + content: "\F0E51"; +} + +.mdi-monitor-share::before { + content: "\F1483"; +} + +.mdi-monitor-shimmer::before { + content: "\F1104"; +} + +.mdi-monitor-small::before { + content: "\F1876"; +} + +.mdi-monitor-speaker::before { + content: "\F0F5F"; +} + +.mdi-monitor-speaker-off::before { + content: "\F0F60"; +} + +.mdi-monitor-star::before { + content: "\F0DDC"; +} + +.mdi-monitor-vertical::before { + content: "\F1C33"; +} + +.mdi-moon-first-quarter::before { + content: "\F0F61"; +} + +.mdi-moon-full::before { + content: "\F0F62"; +} + +.mdi-moon-last-quarter::before { + content: "\F0F63"; +} + +.mdi-moon-new::before { + content: "\F0F64"; +} + +.mdi-moon-waning-crescent::before { + content: "\F0F65"; +} + +.mdi-moon-waning-gibbous::before { + content: "\F0F66"; +} + +.mdi-moon-waxing-crescent::before { + content: "\F0F67"; +} + +.mdi-moon-waxing-gibbous::before { + content: "\F0F68"; +} + +.mdi-moped::before { + content: "\F1086"; +} + +.mdi-moped-electric::before { + content: "\F15B7"; +} + +.mdi-moped-electric-outline::before { + content: "\F15B8"; +} + +.mdi-moped-outline::before { + content: "\F15B9"; +} + +.mdi-more::before { + content: "\F037B"; +} + +.mdi-mortar-pestle::before { + content: "\F1748"; +} + +.mdi-mortar-pestle-plus::before { + content: "\F03F1"; +} + +.mdi-mosque::before { + content: "\F0D45"; +} + +.mdi-mosque-outline::before { + content: "\F1827"; +} + +.mdi-mother-heart::before { + content: "\F1314"; +} + +.mdi-mother-nurse::before { + content: "\F0D21"; +} + +.mdi-motion::before { + content: "\F15B2"; +} + +.mdi-motion-outline::before { + content: "\F15B3"; +} + +.mdi-motion-pause::before { + content: "\F1590"; +} + +.mdi-motion-pause-outline::before { + content: "\F1592"; +} + +.mdi-motion-play::before { + content: "\F158F"; +} + +.mdi-motion-play-outline::before { + content: "\F1591"; +} + +.mdi-motion-sensor::before { + content: "\F0D91"; +} + +.mdi-motion-sensor-off::before { + content: "\F1435"; +} + +.mdi-motorbike::before { + content: "\F037C"; +} + +.mdi-motorbike-electric::before { + content: "\F15BA"; +} + +.mdi-motorbike-off::before { + content: "\F1B16"; +} + +.mdi-mouse::before { + content: "\F037D"; +} + +.mdi-mouse-bluetooth::before { + content: "\F098B"; +} + +.mdi-mouse-left-click::before { + content: "\F1D07"; +} + +.mdi-mouse-left-click-outline::before { + content: "\F1D08"; +} + +.mdi-mouse-move-down::before { + content: "\F1550"; +} + +.mdi-mouse-move-up::before { + content: "\F1551"; +} + +.mdi-mouse-move-vertical::before { + content: "\F1552"; +} + +.mdi-mouse-off::before { + content: "\F037E"; +} + +.mdi-mouse-outline::before { + content: "\F1D09"; +} + +.mdi-mouse-right-click::before { + content: "\F1D0A"; +} + +.mdi-mouse-right-click-outline::before { + content: "\F1D0B"; +} + +.mdi-mouse-scroll-wheel::before { + content: "\F1D0C"; +} + +.mdi-mouse-variant::before { + content: "\F037F"; +} + +.mdi-mouse-variant-off::before { + content: "\F0380"; +} + +.mdi-move-resize::before { + content: "\F0655"; +} + +.mdi-move-resize-variant::before { + content: "\F0656"; +} + +.mdi-movie::before { + content: "\F0381"; +} + +.mdi-movie-check::before { + content: "\F16F3"; +} + +.mdi-movie-check-outline::before { + content: "\F16F4"; +} + +.mdi-movie-cog::before { + content: "\F16F5"; +} + +.mdi-movie-cog-outline::before { + content: "\F16F6"; +} + +.mdi-movie-edit::before { + content: "\F1122"; +} + +.mdi-movie-edit-outline::before { + content: "\F1123"; +} + +.mdi-movie-filter::before { + content: "\F1124"; +} + +.mdi-movie-filter-outline::before { + content: "\F1125"; +} + +.mdi-movie-minus::before { + content: "\F16F7"; +} + +.mdi-movie-minus-outline::before { + content: "\F16F8"; +} + +.mdi-movie-off::before { + content: "\F16F9"; +} + +.mdi-movie-off-outline::before { + content: "\F16FA"; +} + +.mdi-movie-open::before { + content: "\F0FCE"; +} + +.mdi-movie-open-check::before { + content: "\F16FB"; +} + +.mdi-movie-open-check-outline::before { + content: "\F16FC"; +} + +.mdi-movie-open-cog::before { + content: "\F16FD"; +} + +.mdi-movie-open-cog-outline::before { + content: "\F16FE"; +} + +.mdi-movie-open-edit::before { + content: "\F16FF"; +} + +.mdi-movie-open-edit-outline::before { + content: "\F1700"; +} + +.mdi-movie-open-minus::before { + content: "\F1701"; +} + +.mdi-movie-open-minus-outline::before { + content: "\F1702"; +} + +.mdi-movie-open-off::before { + content: "\F1703"; +} + +.mdi-movie-open-off-outline::before { + content: "\F1704"; +} + +.mdi-movie-open-outline::before { + content: "\F0FCF"; +} + +.mdi-movie-open-play::before { + content: "\F1705"; +} + +.mdi-movie-open-play-outline::before { + content: "\F1706"; +} + +.mdi-movie-open-plus::before { + content: "\F1707"; +} + +.mdi-movie-open-plus-outline::before { + content: "\F1708"; +} + +.mdi-movie-open-remove::before { + content: "\F1709"; +} + +.mdi-movie-open-remove-outline::before { + content: "\F170A"; +} + +.mdi-movie-open-settings::before { + content: "\F170B"; +} + +.mdi-movie-open-settings-outline::before { + content: "\F170C"; +} + +.mdi-movie-open-star::before { + content: "\F170D"; +} + +.mdi-movie-open-star-outline::before { + content: "\F170E"; +} + +.mdi-movie-outline::before { + content: "\F0DDD"; +} + +.mdi-movie-play::before { + content: "\F170F"; +} + +.mdi-movie-play-outline::before { + content: "\F1710"; +} + +.mdi-movie-plus::before { + content: "\F1711"; +} + +.mdi-movie-plus-outline::before { + content: "\F1712"; +} + +.mdi-movie-remove::before { + content: "\F1713"; +} + +.mdi-movie-remove-outline::before { + content: "\F1714"; +} + +.mdi-movie-roll::before { + content: "\F07DE"; +} + +.mdi-movie-search::before { + content: "\F11D2"; +} + +.mdi-movie-search-outline::before { + content: "\F11D3"; +} + +.mdi-movie-settings::before { + content: "\F1715"; +} + +.mdi-movie-settings-outline::before { + content: "\F1716"; +} + +.mdi-movie-star::before { + content: "\F1717"; +} + +.mdi-movie-star-outline::before { + content: "\F1718"; +} + +.mdi-mower::before { + content: "\F166F"; +} + +.mdi-mower-bag::before { + content: "\F1670"; +} + +.mdi-mower-bag-on::before { + content: "\F1B60"; +} + +.mdi-mower-on::before { + content: "\F1B5F"; +} + +.mdi-muffin::before { + content: "\F098C"; +} + +.mdi-multicast::before { + content: "\F1893"; +} + +.mdi-multimedia::before { + content: "\F1B97"; +} + +.mdi-multiplication::before { + content: "\F0382"; +} + +.mdi-multiplication-box::before { + content: "\F0383"; +} + +.mdi-mushroom::before { + content: "\F07DF"; +} + +.mdi-mushroom-off::before { + content: "\F13FA"; +} + +.mdi-mushroom-off-outline::before { + content: "\F13FB"; +} + +.mdi-mushroom-outline::before { + content: "\F07E0"; +} + +.mdi-music::before { + content: "\F075A"; +} + +.mdi-music-accidental-double-flat::before { + content: "\F0F69"; +} + +.mdi-music-accidental-double-sharp::before { + content: "\F0F6A"; +} + +.mdi-music-accidental-flat::before { + content: "\F0F6B"; +} + +.mdi-music-accidental-natural::before { + content: "\F0F6C"; +} + +.mdi-music-accidental-sharp::before { + content: "\F0F6D"; +} + +.mdi-music-box::before { + content: "\F0384"; +} + +.mdi-music-box-multiple::before { + content: "\F0333"; +} + +.mdi-music-box-multiple-outline::before { + content: "\F0F04"; +} + +.mdi-music-box-outline::before { + content: "\F0385"; +} + +.mdi-music-circle::before { + content: "\F0386"; +} + +.mdi-music-circle-outline::before { + content: "\F0AD4"; +} + +.mdi-music-clef-alto::before { + content: "\F0F6E"; +} + +.mdi-music-clef-bass::before { + content: "\F0F6F"; +} + +.mdi-music-clef-treble::before { + content: "\F0F70"; +} + +.mdi-music-note::before { + content: "\F0387"; +} + +.mdi-music-note-bluetooth::before { + content: "\F05FE"; +} + +.mdi-music-note-bluetooth-off::before { + content: "\F05FF"; +} + +.mdi-music-note-eighth::before { + content: "\F0388"; +} + +.mdi-music-note-eighth-dotted::before { + content: "\F0F71"; +} + +.mdi-music-note-half::before { + content: "\F0389"; +} + +.mdi-music-note-half-dotted::before { + content: "\F0F72"; +} + +.mdi-music-note-minus::before { + content: "\F1B89"; +} + +.mdi-music-note-off::before { + content: "\F038A"; +} + +.mdi-music-note-off-outline::before { + content: "\F0F73"; +} + +.mdi-music-note-outline::before { + content: "\F0F74"; +} + +.mdi-music-note-plus::before { + content: "\F0DDE"; +} + +.mdi-music-note-quarter::before { + content: "\F038B"; +} + +.mdi-music-note-quarter-dotted::before { + content: "\F0F75"; +} + +.mdi-music-note-sixteenth::before { + content: "\F038C"; +} + +.mdi-music-note-sixteenth-dotted::before { + content: "\F0F76"; +} + +.mdi-music-note-whole::before { + content: "\F038D"; +} + +.mdi-music-note-whole-dotted::before { + content: "\F0F77"; +} + +.mdi-music-off::before { + content: "\F075B"; +} + +.mdi-music-rest-eighth::before { + content: "\F0F78"; +} + +.mdi-music-rest-half::before { + content: "\F0F79"; +} + +.mdi-music-rest-quarter::before { + content: "\F0F7A"; +} + +.mdi-music-rest-sixteenth::before { + content: "\F0F7B"; +} + +.mdi-music-rest-whole::before { + content: "\F0F7C"; +} + +.mdi-mustache::before { + content: "\F15DE"; +} + +.mdi-nail::before { + content: "\F0DDF"; +} + +.mdi-nas::before { + content: "\F08F3"; +} + +.mdi-nativescript::before { + content: "\F0880"; +} + +.mdi-nature::before { + content: "\F038E"; +} + +.mdi-nature-outline::before { + content: "\F1C71"; +} + +.mdi-nature-people::before { + content: "\F038F"; +} + +.mdi-nature-people-outline::before { + content: "\F1C72"; +} + +.mdi-navigation::before { + content: "\F0390"; +} + +.mdi-navigation-outline::before { + content: "\F1607"; +} + +.mdi-navigation-variant::before { + content: "\F18F0"; +} + +.mdi-navigation-variant-outline::before { + content: "\F18F1"; +} + +.mdi-near-me::before { + content: "\F05CD"; +} + +.mdi-necklace::before { + content: "\F0F0B"; +} + +.mdi-needle::before { + content: "\F0391"; +} + +.mdi-needle-off::before { + content: "\F19D2"; +} + +.mdi-netflix::before { + content: "\F0746"; +} + +.mdi-network::before { + content: "\F06F3"; +} + +.mdi-network-off::before { + content: "\F0C9B"; +} + +.mdi-network-off-outline::before { + content: "\F0C9C"; +} + +.mdi-network-outline::before { + content: "\F0C9D"; +} + +.mdi-network-pos::before { + content: "\F1ACB"; +} + +.mdi-network-strength-1::before { + content: "\F08F4"; +} + +.mdi-network-strength-1-alert::before { + content: "\F08F5"; +} + +.mdi-network-strength-2::before { + content: "\F08F6"; +} + +.mdi-network-strength-2-alert::before { + content: "\F08F7"; +} + +.mdi-network-strength-3::before { + content: "\F08F8"; +} + +.mdi-network-strength-3-alert::before { + content: "\F08F9"; +} + +.mdi-network-strength-4::before { + content: "\F08FA"; +} + +.mdi-network-strength-4-alert::before { + content: "\F08FB"; +} + +.mdi-network-strength-4-cog::before { + content: "\F191A"; +} + +.mdi-network-strength-off::before { + content: "\F08FC"; +} + +.mdi-network-strength-off-outline::before { + content: "\F08FD"; +} + +.mdi-network-strength-outline::before { + content: "\F08FE"; +} + +.mdi-new-box::before { + content: "\F0394"; +} + +.mdi-newspaper::before { + content: "\F0395"; +} + +.mdi-newspaper-check::before { + content: "\F1943"; +} + +.mdi-newspaper-minus::before { + content: "\F0F0C"; +} + +.mdi-newspaper-plus::before { + content: "\F0F0D"; +} + +.mdi-newspaper-remove::before { + content: "\F1944"; +} + +.mdi-newspaper-variant::before { + content: "\F1001"; +} + +.mdi-newspaper-variant-multiple::before { + content: "\F1002"; +} + +.mdi-newspaper-variant-multiple-outline::before { + content: "\F1003"; +} + +.mdi-newspaper-variant-outline::before { + content: "\F1004"; +} + +.mdi-nfc::before { + content: "\F0396"; +} + +.mdi-nfc-search-variant::before { + content: "\F0E53"; +} + +.mdi-nfc-tap::before { + content: "\F0397"; +} + +.mdi-nfc-variant::before { + content: "\F0398"; +} + +.mdi-nfc-variant-off::before { + content: "\F0E54"; +} + +.mdi-ninja::before { + content: "\F0774"; +} + +.mdi-nintendo-game-boy::before { + content: "\F1393"; +} + +.mdi-nintendo-switch::before { + content: "\F07E1"; +} + +.mdi-nintendo-wii::before { + content: "\F05AB"; +} + +.mdi-nintendo-wiiu::before { + content: "\F072D"; +} + +.mdi-nix::before { + content: "\F1105"; +} + +.mdi-nodejs::before { + content: "\F0399"; +} + +.mdi-noodles::before { + content: "\F117E"; +} + +.mdi-not-equal::before { + content: "\F098D"; +} + +.mdi-not-equal-variant::before { + content: "\F098E"; +} + +.mdi-note::before { + content: "\F039A"; +} + +.mdi-note-alert::before { + content: "\F177D"; +} + +.mdi-note-alert-outline::before { + content: "\F177E"; +} + +.mdi-note-check::before { + content: "\F177F"; +} + +.mdi-note-check-outline::before { + content: "\F1780"; +} + +.mdi-note-edit::before { + content: "\F1781"; +} + +.mdi-note-edit-outline::before { + content: "\F1782"; +} + +.mdi-note-minus::before { + content: "\F164F"; +} + +.mdi-note-minus-outline::before { + content: "\F1650"; +} + +.mdi-note-multiple::before { + content: "\F06B8"; +} + +.mdi-note-multiple-outline::before { + content: "\F06B9"; +} + +.mdi-note-off::before { + content: "\F1783"; +} + +.mdi-note-off-outline::before { + content: "\F1784"; +} + +.mdi-note-outline::before { + content: "\F039B"; +} + +.mdi-note-plus::before { + content: "\F039C"; +} + +.mdi-note-plus-outline::before { + content: "\F039D"; +} + +.mdi-note-remove::before { + content: "\F1651"; +} + +.mdi-note-remove-outline::before { + content: "\F1652"; +} + +.mdi-note-search::before { + content: "\F1653"; +} + +.mdi-note-search-outline::before { + content: "\F1654"; +} + +.mdi-note-text::before { + content: "\F039E"; +} + +.mdi-note-text-outline::before { + content: "\F11D7"; +} + +.mdi-notebook::before { + content: "\F082E"; +} + +.mdi-notebook-check::before { + content: "\F14F5"; +} + +.mdi-notebook-check-outline::before { + content: "\F14F6"; +} + +.mdi-notebook-edit::before { + content: "\F14E7"; +} + +.mdi-notebook-edit-outline::before { + content: "\F14E9"; +} + +.mdi-notebook-heart::before { + content: "\F1A0B"; +} + +.mdi-notebook-heart-outline::before { + content: "\F1A0C"; +} + +.mdi-notebook-minus::before { + content: "\F1610"; +} + +.mdi-notebook-minus-outline::before { + content: "\F1611"; +} + +.mdi-notebook-multiple::before { + content: "\F0E55"; +} + +.mdi-notebook-outline::before { + content: "\F0EBF"; +} + +.mdi-notebook-plus::before { + content: "\F1612"; +} + +.mdi-notebook-plus-outline::before { + content: "\F1613"; +} + +.mdi-notebook-remove::before { + content: "\F1614"; +} + +.mdi-notebook-remove-outline::before { + content: "\F1615"; +} + +.mdi-notification-clear-all::before { + content: "\F039F"; +} + +.mdi-npm::before { + content: "\F06F7"; +} + +.mdi-nuke::before { + content: "\F06A4"; +} + +.mdi-null::before { + content: "\F07E2"; +} + +.mdi-numeric::before { + content: "\F03A0"; +} + +.mdi-numeric-0::before { + content: "\F0B39"; +} + +.mdi-numeric-0-box::before { + content: "\F03A1"; +} + +.mdi-numeric-0-box-multiple::before { + content: "\F0F0E"; +} + +.mdi-numeric-0-box-multiple-outline::before { + content: "\F03A2"; +} + +.mdi-numeric-0-box-outline::before { + content: "\F03A3"; +} + +.mdi-numeric-0-circle::before { + content: "\F0C9E"; +} + +.mdi-numeric-0-circle-outline::before { + content: "\F0C9F"; +} + +.mdi-numeric-1::before { + content: "\F0B3A"; +} + +.mdi-numeric-1-box::before { + content: "\F03A4"; +} + +.mdi-numeric-1-box-multiple::before { + content: "\F0F0F"; +} + +.mdi-numeric-1-box-multiple-outline::before { + content: "\F03A5"; +} + +.mdi-numeric-1-box-outline::before { + content: "\F03A6"; +} + +.mdi-numeric-1-circle::before { + content: "\F0CA0"; +} + +.mdi-numeric-1-circle-outline::before { + content: "\F0CA1"; +} + +.mdi-numeric-10::before { + content: "\F0FE9"; +} + +.mdi-numeric-10-box::before { + content: "\F0F7D"; +} + +.mdi-numeric-10-box-multiple::before { + content: "\F0FEA"; +} + +.mdi-numeric-10-box-multiple-outline::before { + content: "\F0FEB"; +} + +.mdi-numeric-10-box-outline::before { + content: "\F0F7E"; +} + +.mdi-numeric-10-circle::before { + content: "\F0FEC"; +} + +.mdi-numeric-10-circle-outline::before { + content: "\F0FED"; +} + +.mdi-numeric-2::before { + content: "\F0B3B"; +} + +.mdi-numeric-2-box::before { + content: "\F03A7"; +} + +.mdi-numeric-2-box-multiple::before { + content: "\F0F10"; +} + +.mdi-numeric-2-box-multiple-outline::before { + content: "\F03A8"; +} + +.mdi-numeric-2-box-outline::before { + content: "\F03A9"; +} + +.mdi-numeric-2-circle::before { + content: "\F0CA2"; +} + +.mdi-numeric-2-circle-outline::before { + content: "\F0CA3"; +} + +.mdi-numeric-3::before { + content: "\F0B3C"; +} + +.mdi-numeric-3-box::before { + content: "\F03AA"; +} + +.mdi-numeric-3-box-multiple::before { + content: "\F0F11"; +} + +.mdi-numeric-3-box-multiple-outline::before { + content: "\F03AB"; +} + +.mdi-numeric-3-box-outline::before { + content: "\F03AC"; +} + +.mdi-numeric-3-circle::before { + content: "\F0CA4"; +} + +.mdi-numeric-3-circle-outline::before { + content: "\F0CA5"; +} + +.mdi-numeric-4::before { + content: "\F0B3D"; +} + +.mdi-numeric-4-box::before { + content: "\F03AD"; +} + +.mdi-numeric-4-box-multiple::before { + content: "\F0F12"; +} + +.mdi-numeric-4-box-multiple-outline::before { + content: "\F03B2"; +} + +.mdi-numeric-4-box-outline::before { + content: "\F03AE"; +} + +.mdi-numeric-4-circle::before { + content: "\F0CA6"; +} + +.mdi-numeric-4-circle-outline::before { + content: "\F0CA7"; +} + +.mdi-numeric-5::before { + content: "\F0B3E"; +} + +.mdi-numeric-5-box::before { + content: "\F03B1"; +} + +.mdi-numeric-5-box-multiple::before { + content: "\F0F13"; +} + +.mdi-numeric-5-box-multiple-outline::before { + content: "\F03AF"; +} + +.mdi-numeric-5-box-outline::before { + content: "\F03B0"; +} + +.mdi-numeric-5-circle::before { + content: "\F0CA8"; +} + +.mdi-numeric-5-circle-outline::before { + content: "\F0CA9"; +} + +.mdi-numeric-6::before { + content: "\F0B3F"; +} + +.mdi-numeric-6-box::before { + content: "\F03B3"; +} + +.mdi-numeric-6-box-multiple::before { + content: "\F0F14"; +} + +.mdi-numeric-6-box-multiple-outline::before { + content: "\F03B4"; +} + +.mdi-numeric-6-box-outline::before { + content: "\F03B5"; +} + +.mdi-numeric-6-circle::before { + content: "\F0CAA"; +} + +.mdi-numeric-6-circle-outline::before { + content: "\F0CAB"; +} + +.mdi-numeric-7::before { + content: "\F0B40"; +} + +.mdi-numeric-7-box::before { + content: "\F03B6"; +} + +.mdi-numeric-7-box-multiple::before { + content: "\F0F15"; +} + +.mdi-numeric-7-box-multiple-outline::before { + content: "\F03B7"; +} + +.mdi-numeric-7-box-outline::before { + content: "\F03B8"; +} + +.mdi-numeric-7-circle::before { + content: "\F0CAC"; +} + +.mdi-numeric-7-circle-outline::before { + content: "\F0CAD"; +} + +.mdi-numeric-8::before { + content: "\F0B41"; +} + +.mdi-numeric-8-box::before { + content: "\F03B9"; +} + +.mdi-numeric-8-box-multiple::before { + content: "\F0F16"; +} + +.mdi-numeric-8-box-multiple-outline::before { + content: "\F03BA"; +} + +.mdi-numeric-8-box-outline::before { + content: "\F03BB"; +} + +.mdi-numeric-8-circle::before { + content: "\F0CAE"; +} + +.mdi-numeric-8-circle-outline::before { + content: "\F0CAF"; +} + +.mdi-numeric-9::before { + content: "\F0B42"; +} + +.mdi-numeric-9-box::before { + content: "\F03BC"; +} + +.mdi-numeric-9-box-multiple::before { + content: "\F0F17"; +} + +.mdi-numeric-9-box-multiple-outline::before { + content: "\F03BD"; +} + +.mdi-numeric-9-box-outline::before { + content: "\F03BE"; +} + +.mdi-numeric-9-circle::before { + content: "\F0CB0"; +} + +.mdi-numeric-9-circle-outline::before { + content: "\F0CB1"; +} + +.mdi-numeric-9-plus::before { + content: "\F0FEE"; +} + +.mdi-numeric-9-plus-box::before { + content: "\F03BF"; +} + +.mdi-numeric-9-plus-box-multiple::before { + content: "\F0F18"; +} + +.mdi-numeric-9-plus-box-multiple-outline::before { + content: "\F03C0"; +} + +.mdi-numeric-9-plus-box-outline::before { + content: "\F03C1"; +} + +.mdi-numeric-9-plus-circle::before { + content: "\F0CB2"; +} + +.mdi-numeric-9-plus-circle-outline::before { + content: "\F0CB3"; +} + +.mdi-numeric-negative-1::before { + content: "\F1052"; +} + +.mdi-numeric-off::before { + content: "\F19D3"; +} + +.mdi-numeric-positive-1::before { + content: "\F15CB"; +} + +.mdi-nut::before { + content: "\F06F8"; +} + +.mdi-nutrition::before { + content: "\F03C2"; +} + +.mdi-nuxt::before { + content: "\F1106"; +} + +.mdi-oar::before { + content: "\F067C"; +} + +.mdi-ocarina::before { + content: "\F0DE0"; +} + +.mdi-oci::before { + content: "\F12E9"; +} + +.mdi-ocr::before { + content: "\F113A"; +} + +.mdi-octagon::before { + content: "\F03C3"; +} + +.mdi-octagon-outline::before { + content: "\F03C4"; +} + +.mdi-octagram::before { + content: "\F06F9"; +} + +.mdi-octagram-edit::before { + content: "\F1C34"; +} + +.mdi-octagram-edit-outline::before { + content: "\F1C35"; +} + +.mdi-octagram-minus::before { + content: "\F1C36"; +} + +.mdi-octagram-minus-outline::before { + content: "\F1C37"; +} + +.mdi-octagram-outline::before { + content: "\F0775"; +} + +.mdi-octagram-plus::before { + content: "\F1C38"; +} + +.mdi-octagram-plus-outline::before { + content: "\F1C39"; +} + +.mdi-octahedron::before { + content: "\F1950"; +} + +.mdi-octahedron-off::before { + content: "\F1951"; +} + +.mdi-odnoklassniki::before { + content: "\F03C5"; +} + +.mdi-offer::before { + content: "\F121B"; +} + +.mdi-office-building::before { + content: "\F0991"; +} + +.mdi-office-building-cog::before { + content: "\F1949"; +} + +.mdi-office-building-cog-outline::before { + content: "\F194A"; +} + +.mdi-office-building-marker::before { + content: "\F1520"; +} + +.mdi-office-building-marker-outline::before { + content: "\F1521"; +} + +.mdi-office-building-minus::before { + content: "\F1BAA"; +} + +.mdi-office-building-minus-outline::before { + content: "\F1BAB"; +} + +.mdi-office-building-outline::before { + content: "\F151F"; +} + +.mdi-office-building-plus::before { + content: "\F1BA8"; +} + +.mdi-office-building-plus-outline::before { + content: "\F1BA9"; +} + +.mdi-office-building-remove::before { + content: "\F1BAC"; +} + +.mdi-office-building-remove-outline::before { + content: "\F1BAD"; +} + +.mdi-oil::before { + content: "\F03C7"; +} + +.mdi-oil-lamp::before { + content: "\F0F19"; +} + +.mdi-oil-level::before { + content: "\F1053"; +} + +.mdi-oil-temperature::before { + content: "\F0FF8"; +} + +.mdi-om::before { + content: "\F0973"; +} + +.mdi-omega::before { + content: "\F03C9"; +} + +.mdi-one-up::before { + content: "\F0BAD"; +} + +.mdi-onepassword::before { + content: "\F0881"; +} + +.mdi-opacity::before { + content: "\F05CC"; +} + +.mdi-open-in-app::before { + content: "\F03CB"; +} + +.mdi-open-in-new::before { + content: "\F03CC"; +} + +.mdi-open-source-initiative::before { + content: "\F0BAE"; +} + +.mdi-openid::before { + content: "\F03CD"; +} + +.mdi-opera::before { + content: "\F03CE"; +} + +.mdi-orbit::before { + content: "\F0018"; +} + +.mdi-orbit-variant::before { + content: "\F15DB"; +} + +.mdi-order-alphabetical-ascending::before { + content: "\F020D"; +} + +.mdi-order-alphabetical-descending::before { + content: "\F0D07"; +} + +.mdi-order-bool-ascending::before { + content: "\F02BE"; +} + +.mdi-order-bool-ascending-variant::before { + content: "\F098F"; +} + +.mdi-order-bool-descending::before { + content: "\F1384"; +} + +.mdi-order-bool-descending-variant::before { + content: "\F0990"; +} + +.mdi-order-numeric-ascending::before { + content: "\F0545"; +} + +.mdi-order-numeric-descending::before { + content: "\F0546"; +} + +.mdi-origin::before { + content: "\F0B43"; +} + +.mdi-ornament::before { + content: "\F03CF"; +} + +.mdi-ornament-variant::before { + content: "\F03D0"; +} + +.mdi-outdoor-lamp::before { + content: "\F1054"; +} + +.mdi-overscan::before { + content: "\F1005"; +} + +.mdi-owl::before { + content: "\F03D2"; +} + +.mdi-pac-man::before { + content: "\F0BAF"; +} + +.mdi-package::before { + content: "\F03D3"; +} + +.mdi-package-check::before { + content: "\F1B51"; +} + +.mdi-package-down::before { + content: "\F03D4"; +} + +.mdi-package-up::before { + content: "\F03D5"; +} + +.mdi-package-variant::before { + content: "\F03D6"; +} + +.mdi-package-variant-closed::before { + content: "\F03D7"; +} + +.mdi-package-variant-closed-check::before { + content: "\F1B52"; +} + +.mdi-package-variant-closed-minus::before { + content: "\F19D4"; +} + +.mdi-package-variant-closed-plus::before { + content: "\F19D5"; +} + +.mdi-package-variant-closed-remove::before { + content: "\F19D6"; +} + +.mdi-package-variant-minus::before { + content: "\F19D7"; +} + +.mdi-package-variant-plus::before { + content: "\F19D8"; +} + +.mdi-package-variant-remove::before { + content: "\F19D9"; +} + +.mdi-page-first::before { + content: "\F0600"; +} + +.mdi-page-last::before { + content: "\F0601"; +} + +.mdi-page-layout-body::before { + content: "\F06FA"; +} + +.mdi-page-layout-footer::before { + content: "\F06FB"; +} + +.mdi-page-layout-header::before { + content: "\F06FC"; +} + +.mdi-page-layout-header-footer::before { + content: "\F0F7F"; +} + +.mdi-page-layout-sidebar-left::before { + content: "\F06FD"; +} + +.mdi-page-layout-sidebar-right::before { + content: "\F06FE"; +} + +.mdi-page-next::before { + content: "\F0BB0"; +} + +.mdi-page-next-outline::before { + content: "\F0BB1"; +} + +.mdi-page-previous::before { + content: "\F0BB2"; +} + +.mdi-page-previous-outline::before { + content: "\F0BB3"; +} + +.mdi-pail::before { + content: "\F1417"; +} + +.mdi-pail-minus::before { + content: "\F1437"; +} + +.mdi-pail-minus-outline::before { + content: "\F143C"; +} + +.mdi-pail-off::before { + content: "\F1439"; +} + +.mdi-pail-off-outline::before { + content: "\F143E"; +} + +.mdi-pail-outline::before { + content: "\F143A"; +} + +.mdi-pail-plus::before { + content: "\F1436"; +} + +.mdi-pail-plus-outline::before { + content: "\F143B"; +} + +.mdi-pail-remove::before { + content: "\F1438"; +} + +.mdi-pail-remove-outline::before { + content: "\F143D"; +} + +.mdi-palette::before { + content: "\F03D8"; +} + +.mdi-palette-advanced::before { + content: "\F03D9"; +} + +.mdi-palette-outline::before { + content: "\F0E0C"; +} + +.mdi-palette-swatch::before { + content: "\F08B5"; +} + +.mdi-palette-swatch-outline::before { + content: "\F135C"; +} + +.mdi-palette-swatch-variant::before { + content: "\F195A"; +} + +.mdi-palm-tree::before { + content: "\F1055"; +} + +.mdi-pan::before { + content: "\F0BB4"; +} + +.mdi-pan-bottom-left::before { + content: "\F0BB5"; +} + +.mdi-pan-bottom-right::before { + content: "\F0BB6"; +} + +.mdi-pan-down::before { + content: "\F0BB7"; +} + +.mdi-pan-horizontal::before { + content: "\F0BB8"; +} + +.mdi-pan-left::before { + content: "\F0BB9"; +} + +.mdi-pan-right::before { + content: "\F0BBA"; +} + +.mdi-pan-top-left::before { + content: "\F0BBB"; +} + +.mdi-pan-top-right::before { + content: "\F0BBC"; +} + +.mdi-pan-up::before { + content: "\F0BBD"; +} + +.mdi-pan-vertical::before { + content: "\F0BBE"; +} + +.mdi-panda::before { + content: "\F03DA"; +} + +.mdi-pandora::before { + content: "\F03DB"; +} + +.mdi-panorama::before { + content: "\F03DC"; +} + +.mdi-panorama-fisheye::before { + content: "\F03DD"; +} + +.mdi-panorama-horizontal::before { + content: "\F1928"; +} + +.mdi-panorama-horizontal-outline::before { + content: "\F03DE"; +} + +.mdi-panorama-outline::before { + content: "\F198C"; +} + +.mdi-panorama-sphere::before { + content: "\F198D"; +} + +.mdi-panorama-sphere-outline::before { + content: "\F198E"; +} + +.mdi-panorama-variant::before { + content: "\F198F"; +} + +.mdi-panorama-variant-outline::before { + content: "\F1990"; +} + +.mdi-panorama-vertical::before { + content: "\F1929"; +} + +.mdi-panorama-vertical-outline::before { + content: "\F03DF"; +} + +.mdi-panorama-wide-angle::before { + content: "\F195F"; +} + +.mdi-panorama-wide-angle-outline::before { + content: "\F03E0"; +} + +.mdi-paper-cut-vertical::before { + content: "\F03E1"; +} + +.mdi-paper-roll::before { + content: "\F1157"; +} + +.mdi-paper-roll-outline::before { + content: "\F1158"; +} + +.mdi-paperclip::before { + content: "\F03E2"; +} + +.mdi-paperclip-check::before { + content: "\F1AC6"; +} + +.mdi-paperclip-lock::before { + content: "\F19DA"; +} + +.mdi-paperclip-minus::before { + content: "\F1AC7"; +} + +.mdi-paperclip-off::before { + content: "\F1AC8"; +} + +.mdi-paperclip-plus::before { + content: "\F1AC9"; +} + +.mdi-paperclip-remove::before { + content: "\F1ACA"; +} + +.mdi-parachute::before { + content: "\F0CB4"; +} + +.mdi-parachute-outline::before { + content: "\F0CB5"; +} + +.mdi-paragliding::before { + content: "\F1745"; +} + +.mdi-parking::before { + content: "\F03E3"; +} + +.mdi-party-popper::before { + content: "\F1056"; +} + +.mdi-passport::before { + content: "\F07E3"; +} + +.mdi-passport-alert::before { + content: "\F1CB8"; +} + +.mdi-passport-biometric::before { + content: "\F0DE1"; +} + +.mdi-passport-cancel::before { + content: "\F1CB9"; +} + +.mdi-passport-check::before { + content: "\F1CBA"; +} + +.mdi-passport-minus::before { + content: "\F1CBB"; +} + +.mdi-passport-plus::before { + content: "\F1CBC"; +} + +.mdi-passport-remove::before { + content: "\F1CBD"; +} + +.mdi-pasta::before { + content: "\F1160"; +} + +.mdi-patio-heater::before { + content: "\F0F80"; +} + +.mdi-patreon::before { + content: "\F0882"; +} + +.mdi-pause::before { + content: "\F03E4"; +} + +.mdi-pause-box::before { + content: "\F00BC"; +} + +.mdi-pause-box-outline::before { + content: "\F1B7A"; +} + +.mdi-pause-circle::before { + content: "\F03E5"; +} + +.mdi-pause-circle-outline::before { + content: "\F03E6"; +} + +.mdi-pause-octagon::before { + content: "\F03E7"; +} + +.mdi-pause-octagon-outline::before { + content: "\F03E8"; +} + +.mdi-paw::before { + content: "\F03E9"; +} + +.mdi-paw-off::before { + content: "\F0657"; +} + +.mdi-paw-off-outline::before { + content: "\F1676"; +} + +.mdi-paw-outline::before { + content: "\F1675"; +} + +.mdi-peace::before { + content: "\F0884"; +} + +.mdi-peanut::before { + content: "\F0FFC"; +} + +.mdi-peanut-off::before { + content: "\F0FFD"; +} + +.mdi-peanut-off-outline::before { + content: "\F0FFF"; +} + +.mdi-peanut-outline::before { + content: "\F0FFE"; +} + +.mdi-pen::before { + content: "\F03EA"; +} + +.mdi-pen-lock::before { + content: "\F0DE2"; +} + +.mdi-pen-minus::before { + content: "\F0DE3"; +} + +.mdi-pen-off::before { + content: "\F0DE4"; +} + +.mdi-pen-plus::before { + content: "\F0DE5"; +} + +.mdi-pen-remove::before { + content: "\F0DE6"; +} + +.mdi-pencil::before { + content: "\F03EB"; +} + +.mdi-pencil-box::before { + content: "\F03EC"; +} + +.mdi-pencil-box-multiple::before { + content: "\F1144"; +} + +.mdi-pencil-box-multiple-outline::before { + content: "\F1145"; +} + +.mdi-pencil-box-outline::before { + content: "\F03ED"; +} + +.mdi-pencil-circle::before { + content: "\F06FF"; +} + +.mdi-pencil-circle-outline::before { + content: "\F0776"; +} + +.mdi-pencil-lock::before { + content: "\F03EE"; +} + +.mdi-pencil-lock-outline::before { + content: "\F0DE7"; +} + +.mdi-pencil-minus::before { + content: "\F0DE8"; +} + +.mdi-pencil-minus-outline::before { + content: "\F0DE9"; +} + +.mdi-pencil-off::before { + content: "\F03EF"; +} + +.mdi-pencil-off-outline::before { + content: "\F0DEA"; +} + +.mdi-pencil-outline::before { + content: "\F0CB6"; +} + +.mdi-pencil-plus::before { + content: "\F0DEB"; +} + +.mdi-pencil-plus-outline::before { + content: "\F0DEC"; +} + +.mdi-pencil-remove::before { + content: "\F0DED"; +} + +.mdi-pencil-remove-outline::before { + content: "\F0DEE"; +} + +.mdi-pencil-ruler::before { + content: "\F1353"; +} + +.mdi-pencil-ruler-outline::before { + content: "\F1C11"; +} + +.mdi-penguin::before { + content: "\F0EC0"; +} + +.mdi-pentagon::before { + content: "\F0701"; +} + +.mdi-pentagon-outline::before { + content: "\F0700"; +} + +.mdi-pentagram::before { + content: "\F1667"; +} + +.mdi-percent::before { + content: "\F03F0"; +} + +.mdi-percent-box::before { + content: "\F1A02"; +} + +.mdi-percent-box-outline::before { + content: "\F1A03"; +} + +.mdi-percent-circle::before { + content: "\F1A04"; +} + +.mdi-percent-circle-outline::before { + content: "\F1A05"; +} + +.mdi-percent-outline::before { + content: "\F1278"; +} + +.mdi-periodic-table::before { + content: "\F08B6"; +} + +.mdi-perspective-less::before { + content: "\F0D23"; +} + +.mdi-perspective-more::before { + content: "\F0D24"; +} + +.mdi-ph::before { + content: "\F17C5"; +} + +.mdi-phone::before { + content: "\F03F2"; +} + +.mdi-phone-alert::before { + content: "\F0F1A"; +} + +.mdi-phone-alert-outline::before { + content: "\F118E"; +} + +.mdi-phone-bluetooth::before { + content: "\F03F3"; +} + +.mdi-phone-bluetooth-outline::before { + content: "\F118F"; +} + +.mdi-phone-cancel::before { + content: "\F10BC"; +} + +.mdi-phone-cancel-outline::before { + content: "\F1190"; +} + +.mdi-phone-check::before { + content: "\F11A9"; +} + +.mdi-phone-check-outline::before { + content: "\F11AA"; +} + +.mdi-phone-classic::before { + content: "\F0602"; +} + +.mdi-phone-classic-off::before { + content: "\F1279"; +} + +.mdi-phone-clock::before { + content: "\F19DB"; +} + +.mdi-phone-dial::before { + content: "\F1559"; +} + +.mdi-phone-dial-outline::before { + content: "\F155A"; +} + +.mdi-phone-forward::before { + content: "\F03F4"; +} + +.mdi-phone-forward-outline::before { + content: "\F1191"; +} + +.mdi-phone-hangup::before { + content: "\F03F5"; +} + +.mdi-phone-hangup-outline::before { + content: "\F1192"; +} + +.mdi-phone-in-talk::before { + content: "\F03F6"; +} + +.mdi-phone-in-talk-outline::before { + content: "\F1182"; +} + +.mdi-phone-incoming::before { + content: "\F03F7"; +} + +.mdi-phone-incoming-outgoing::before { + content: "\F1B3F"; +} + +.mdi-phone-incoming-outgoing-outline::before { + content: "\F1B40"; +} + +.mdi-phone-incoming-outline::before { + content: "\F1193"; +} + +.mdi-phone-lock::before { + content: "\F03F8"; +} + +.mdi-phone-lock-outline::before { + content: "\F1194"; +} + +.mdi-phone-log::before { + content: "\F03F9"; +} + +.mdi-phone-log-outline::before { + content: "\F1195"; +} + +.mdi-phone-message::before { + content: "\F1196"; +} + +.mdi-phone-message-outline::before { + content: "\F1197"; +} + +.mdi-phone-minus::before { + content: "\F0658"; +} + +.mdi-phone-minus-outline::before { + content: "\F1198"; +} + +.mdi-phone-missed::before { + content: "\F03FA"; +} + +.mdi-phone-missed-outline::before { + content: "\F11A5"; +} + +.mdi-phone-off::before { + content: "\F0DEF"; +} + +.mdi-phone-off-outline::before { + content: "\F11A6"; +} + +.mdi-phone-outgoing::before { + content: "\F03FB"; +} + +.mdi-phone-outgoing-outline::before { + content: "\F1199"; +} + +.mdi-phone-outline::before { + content: "\F0DF0"; +} + +.mdi-phone-paused::before { + content: "\F03FC"; +} + +.mdi-phone-paused-outline::before { + content: "\F119A"; +} + +.mdi-phone-plus::before { + content: "\F0659"; +} + +.mdi-phone-plus-outline::before { + content: "\F119B"; +} + +.mdi-phone-refresh::before { + content: "\F1993"; +} + +.mdi-phone-refresh-outline::before { + content: "\F1994"; +} + +.mdi-phone-remove::before { + content: "\F152F"; +} + +.mdi-phone-remove-outline::before { + content: "\F1530"; +} + +.mdi-phone-return::before { + content: "\F082F"; +} + +.mdi-phone-return-outline::before { + content: "\F119C"; +} + +.mdi-phone-ring::before { + content: "\F11AB"; +} + +.mdi-phone-ring-outline::before { + content: "\F11AC"; +} + +.mdi-phone-rotate-landscape::before { + content: "\F0885"; +} + +.mdi-phone-rotate-portrait::before { + content: "\F0886"; +} + +.mdi-phone-settings::before { + content: "\F03FD"; +} + +.mdi-phone-settings-outline::before { + content: "\F119D"; +} + +.mdi-phone-sync::before { + content: "\F1995"; +} + +.mdi-phone-sync-outline::before { + content: "\F1996"; +} + +.mdi-phone-voip::before { + content: "\F03FE"; +} + +.mdi-pi::before { + content: "\F03FF"; +} + +.mdi-pi-box::before { + content: "\F0400"; +} + +.mdi-pi-hole::before { + content: "\F0DF1"; +} + +.mdi-piano::before { + content: "\F067D"; +} + +.mdi-piano-off::before { + content: "\F0698"; +} + +.mdi-pickaxe::before { + content: "\F08B7"; +} + +.mdi-picture-in-picture-bottom-right::before { + content: "\F0E57"; +} + +.mdi-picture-in-picture-bottom-right-outline::before { + content: "\F0E58"; +} + +.mdi-picture-in-picture-top-right::before { + content: "\F0E59"; +} + +.mdi-picture-in-picture-top-right-outline::before { + content: "\F0E5A"; +} + +.mdi-pier::before { + content: "\F0887"; +} + +.mdi-pier-crane::before { + content: "\F0888"; +} + +.mdi-pig::before { + content: "\F0401"; +} + +.mdi-pig-variant::before { + content: "\F1006"; +} + +.mdi-pig-variant-outline::before { + content: "\F1678"; +} + +.mdi-piggy-bank::before { + content: "\F1007"; +} + +.mdi-piggy-bank-outline::before { + content: "\F1679"; +} + +.mdi-pill::before { + content: "\F0402"; +} + +.mdi-pill-multiple::before { + content: "\F1B4C"; +} + +.mdi-pill-off::before { + content: "\F1A5C"; +} + +.mdi-pillar::before { + content: "\F0702"; +} + +.mdi-pin::before { + content: "\F0403"; +} + +.mdi-pin-off::before { + content: "\F0404"; +} + +.mdi-pin-off-outline::before { + content: "\F0930"; +} + +.mdi-pin-outline::before { + content: "\F0931"; +} + +.mdi-pine-tree::before { + content: "\F0405"; +} + +.mdi-pine-tree-box::before { + content: "\F0406"; +} + +.mdi-pine-tree-fire::before { + content: "\F141A"; +} + +.mdi-pine-tree-variant::before { + content: "\F1C73"; +} + +.mdi-pine-tree-variant-outline::before { + content: "\F1C74"; +} + +.mdi-pinterest::before { + content: "\F0407"; +} + +.mdi-pinwheel::before { + content: "\F0AD5"; +} + +.mdi-pinwheel-outline::before { + content: "\F0AD6"; +} + +.mdi-pipe::before { + content: "\F07E5"; +} + +.mdi-pipe-disconnected::before { + content: "\F07E6"; +} + +.mdi-pipe-leak::before { + content: "\F0889"; +} + +.mdi-pipe-valve::before { + content: "\F184D"; +} + +.mdi-pipe-wrench::before { + content: "\F1354"; +} + +.mdi-pirate::before { + content: "\F0A08"; +} + +.mdi-pistol::before { + content: "\F0703"; +} + +.mdi-piston::before { + content: "\F088A"; +} + +.mdi-pitchfork::before { + content: "\F1553"; +} + +.mdi-pizza::before { + content: "\F0409"; +} + +.mdi-plane-car::before { + content: "\F1AFF"; +} + +.mdi-plane-train::before { + content: "\F1B00"; +} + +.mdi-play::before { + content: "\F040A"; +} + +.mdi-play-box::before { + content: "\F127A"; +} + +.mdi-play-box-edit-outline::before { + content: "\F1C3A"; +} + +.mdi-play-box-lock::before { + content: "\F1A16"; +} + +.mdi-play-box-lock-open::before { + content: "\F1A17"; +} + +.mdi-play-box-lock-open-outline::before { + content: "\F1A18"; +} + +.mdi-play-box-lock-outline::before { + content: "\F1A19"; +} + +.mdi-play-box-multiple::before { + content: "\F0D19"; +} + +.mdi-play-box-multiple-outline::before { + content: "\F13E6"; +} + +.mdi-play-box-outline::before { + content: "\F040B"; +} + +.mdi-play-circle::before { + content: "\F040C"; +} + +.mdi-play-circle-outline::before { + content: "\F040D"; +} + +.mdi-play-network::before { + content: "\F088B"; +} + +.mdi-play-network-outline::before { + content: "\F0CB7"; +} + +.mdi-play-outline::before { + content: "\F0F1B"; +} + +.mdi-play-pause::before { + content: "\F040E"; +} + +.mdi-play-protected-content::before { + content: "\F040F"; +} + +.mdi-play-speed::before { + content: "\F08FF"; +} + +.mdi-playlist-check::before { + content: "\F05C7"; +} + +.mdi-playlist-edit::before { + content: "\F0900"; +} + +.mdi-playlist-minus::before { + content: "\F0410"; +} + +.mdi-playlist-music::before { + content: "\F0CB8"; +} + +.mdi-playlist-music-outline::before { + content: "\F0CB9"; +} + +.mdi-playlist-play::before { + content: "\F0411"; +} + +.mdi-playlist-plus::before { + content: "\F0412"; +} + +.mdi-playlist-remove::before { + content: "\F0413"; +} + +.mdi-playlist-star::before { + content: "\F0DF2"; +} + +.mdi-plex::before { + content: "\F06BA"; +} + +.mdi-pliers::before { + content: "\F19A4"; +} + +.mdi-plus::before { + content: "\F0415"; +} + +.mdi-plus-box::before { + content: "\F0416"; +} + +.mdi-plus-box-multiple::before { + content: "\F0334"; +} + +.mdi-plus-box-multiple-outline::before { + content: "\F1143"; +} + +.mdi-plus-box-outline::before { + content: "\F0704"; +} + +.mdi-plus-circle::before { + content: "\F0417"; +} + +.mdi-plus-circle-multiple::before { + content: "\F034C"; +} + +.mdi-plus-circle-multiple-outline::before { + content: "\F0418"; +} + +.mdi-plus-circle-outline::before { + content: "\F0419"; +} + +.mdi-plus-lock::before { + content: "\F1A5D"; +} + +.mdi-plus-lock-open::before { + content: "\F1A5E"; +} + +.mdi-plus-minus::before { + content: "\F0992"; +} + +.mdi-plus-minus-box::before { + content: "\F0993"; +} + +.mdi-plus-minus-variant::before { + content: "\F14C9"; +} + +.mdi-plus-network::before { + content: "\F041A"; +} + +.mdi-plus-network-outline::before { + content: "\F0CBA"; +} + +.mdi-plus-outline::before { + content: "\F0705"; +} + +.mdi-plus-thick::before { + content: "\F11EC"; +} + +.mdi-pocket::before { + content: "\F1CBE"; +} + +.mdi-podcast::before { + content: "\F0994"; +} + +.mdi-podium::before { + content: "\F0D25"; +} + +.mdi-podium-bronze::before { + content: "\F0D26"; +} + +.mdi-podium-gold::before { + content: "\F0D27"; +} + +.mdi-podium-silver::before { + content: "\F0D28"; +} + +.mdi-point-of-sale::before { + content: "\F0D92"; +} + +.mdi-pokeball::before { + content: "\F041D"; +} + +.mdi-pokemon-go::before { + content: "\F0A09"; +} + +.mdi-poker-chip::before { + content: "\F0830"; +} + +.mdi-polaroid::before { + content: "\F041E"; +} + +.mdi-police-badge::before { + content: "\F1167"; +} + +.mdi-police-badge-outline::before { + content: "\F1168"; +} + +.mdi-police-station::before { + content: "\F1839"; +} + +.mdi-poll::before { + content: "\F041F"; +} + +.mdi-polo::before { + content: "\F14C3"; +} + +.mdi-polymer::before { + content: "\F0421"; +} + +.mdi-pool::before { + content: "\F0606"; +} + +.mdi-pool-thermometer::before { + content: "\F1A5F"; +} + +.mdi-popcorn::before { + content: "\F0422"; +} + +.mdi-post::before { + content: "\F1008"; +} + +.mdi-post-lamp::before { + content: "\F1A60"; +} + +.mdi-post-outline::before { + content: "\F1009"; +} + +.mdi-postage-stamp::before { + content: "\F0CBB"; +} + +.mdi-pot::before { + content: "\F02E5"; +} + +.mdi-pot-mix::before { + content: "\F065B"; +} + +.mdi-pot-mix-outline::before { + content: "\F0677"; +} + +.mdi-pot-outline::before { + content: "\F02FF"; +} + +.mdi-pot-steam::before { + content: "\F065A"; +} + +.mdi-pot-steam-outline::before { + content: "\F0326"; +} + +.mdi-pound::before { + content: "\F0423"; +} + +.mdi-pound-box::before { + content: "\F0424"; +} + +.mdi-pound-box-outline::before { + content: "\F117F"; +} + +.mdi-power::before { + content: "\F0425"; +} + +.mdi-power-cycle::before { + content: "\F0901"; +} + +.mdi-power-off::before { + content: "\F0902"; +} + +.mdi-power-on::before { + content: "\F0903"; +} + +.mdi-power-plug::before { + content: "\F06A5"; +} + +.mdi-power-plug-battery::before { + content: "\F1C3B"; +} + +.mdi-power-plug-battery-outline::before { + content: "\F1C3C"; +} + +.mdi-power-plug-off::before { + content: "\F06A6"; +} + +.mdi-power-plug-off-outline::before { + content: "\F1424"; +} + +.mdi-power-plug-outline::before { + content: "\F1425"; +} + +.mdi-power-settings::before { + content: "\F0426"; +} + +.mdi-power-sleep::before { + content: "\F0904"; +} + +.mdi-power-socket::before { + content: "\F0427"; +} + +.mdi-power-socket-au::before { + content: "\F0905"; +} + +.mdi-power-socket-ch::before { + content: "\F0FB3"; +} + +.mdi-power-socket-de::before { + content: "\F1107"; +} + +.mdi-power-socket-eu::before { + content: "\F07E7"; +} + +.mdi-power-socket-fr::before { + content: "\F1108"; +} + +.mdi-power-socket-it::before { + content: "\F14FF"; +} + +.mdi-power-socket-jp::before { + content: "\F1109"; +} + +.mdi-power-socket-uk::before { + content: "\F07E8"; +} + +.mdi-power-socket-us::before { + content: "\F07E9"; +} + +.mdi-power-standby::before { + content: "\F0906"; +} + +.mdi-powershell::before { + content: "\F0A0A"; +} + +.mdi-prescription::before { + content: "\F0706"; +} + +.mdi-presentation::before { + content: "\F0428"; +} + +.mdi-presentation-play::before { + content: "\F0429"; +} + +.mdi-pretzel::before { + content: "\F1562"; +} + +.mdi-printer::before { + content: "\F042A"; +} + +.mdi-printer-3d::before { + content: "\F042B"; +} + +.mdi-printer-3d-nozzle::before { + content: "\F0E5B"; +} + +.mdi-printer-3d-nozzle-alert::before { + content: "\F11C0"; +} + +.mdi-printer-3d-nozzle-alert-outline::before { + content: "\F11C1"; +} + +.mdi-printer-3d-nozzle-heat::before { + content: "\F18B8"; +} + +.mdi-printer-3d-nozzle-heat-outline::before { + content: "\F18B9"; +} + +.mdi-printer-3d-nozzle-off::before { + content: "\F1B19"; +} + +.mdi-printer-3d-nozzle-off-outline::before { + content: "\F1B1A"; +} + +.mdi-printer-3d-nozzle-outline::before { + content: "\F0E5C"; +} + +.mdi-printer-3d-off::before { + content: "\F1B0E"; +} + +.mdi-printer-alert::before { + content: "\F042C"; +} + +.mdi-printer-check::before { + content: "\F1146"; +} + +.mdi-printer-eye::before { + content: "\F1458"; +} + +.mdi-printer-off::before { + content: "\F0E5D"; +} + +.mdi-printer-off-outline::before { + content: "\F1785"; +} + +.mdi-printer-outline::before { + content: "\F1786"; +} + +.mdi-printer-pos::before { + content: "\F1057"; +} + +.mdi-printer-pos-alert::before { + content: "\F1BBC"; +} + +.mdi-printer-pos-alert-outline::before { + content: "\F1BBD"; +} + +.mdi-printer-pos-cancel::before { + content: "\F1BBE"; +} + +.mdi-printer-pos-cancel-outline::before { + content: "\F1BBF"; +} + +.mdi-printer-pos-check::before { + content: "\F1BC0"; +} + +.mdi-printer-pos-check-outline::before { + content: "\F1BC1"; +} + +.mdi-printer-pos-cog::before { + content: "\F1BC2"; +} + +.mdi-printer-pos-cog-outline::before { + content: "\F1BC3"; +} + +.mdi-printer-pos-edit::before { + content: "\F1BC4"; +} + +.mdi-printer-pos-edit-outline::before { + content: "\F1BC5"; +} + +.mdi-printer-pos-minus::before { + content: "\F1BC6"; +} + +.mdi-printer-pos-minus-outline::before { + content: "\F1BC7"; +} + +.mdi-printer-pos-network::before { + content: "\F1BC8"; +} + +.mdi-printer-pos-network-outline::before { + content: "\F1BC9"; +} + +.mdi-printer-pos-off::before { + content: "\F1BCA"; +} + +.mdi-printer-pos-off-outline::before { + content: "\F1BCB"; +} + +.mdi-printer-pos-outline::before { + content: "\F1BCC"; +} + +.mdi-printer-pos-pause::before { + content: "\F1BCD"; +} + +.mdi-printer-pos-pause-outline::before { + content: "\F1BCE"; +} + +.mdi-printer-pos-play::before { + content: "\F1BCF"; +} + +.mdi-printer-pos-play-outline::before { + content: "\F1BD0"; +} + +.mdi-printer-pos-plus::before { + content: "\F1BD1"; +} + +.mdi-printer-pos-plus-outline::before { + content: "\F1BD2"; +} + +.mdi-printer-pos-refresh::before { + content: "\F1BD3"; +} + +.mdi-printer-pos-refresh-outline::before { + content: "\F1BD4"; +} + +.mdi-printer-pos-remove::before { + content: "\F1BD5"; +} + +.mdi-printer-pos-remove-outline::before { + content: "\F1BD6"; +} + +.mdi-printer-pos-star::before { + content: "\F1BD7"; +} + +.mdi-printer-pos-star-outline::before { + content: "\F1BD8"; +} + +.mdi-printer-pos-stop::before { + content: "\F1BD9"; +} + +.mdi-printer-pos-stop-outline::before { + content: "\F1BDA"; +} + +.mdi-printer-pos-sync::before { + content: "\F1BDB"; +} + +.mdi-printer-pos-sync-outline::before { + content: "\F1BDC"; +} + +.mdi-printer-pos-wrench::before { + content: "\F1BDD"; +} + +.mdi-printer-pos-wrench-outline::before { + content: "\F1BDE"; +} + +.mdi-printer-search::before { + content: "\F1457"; +} + +.mdi-printer-settings::before { + content: "\F0707"; +} + +.mdi-printer-wireless::before { + content: "\F0A0B"; +} + +.mdi-priority-high::before { + content: "\F0603"; +} + +.mdi-priority-low::before { + content: "\F0604"; +} + +.mdi-professional-hexagon::before { + content: "\F042D"; +} + +.mdi-progress-alert::before { + content: "\F0CBC"; +} + +.mdi-progress-check::before { + content: "\F0995"; +} + +.mdi-progress-clock::before { + content: "\F0996"; +} + +.mdi-progress-close::before { + content: "\F110A"; +} + +.mdi-progress-download::before { + content: "\F0997"; +} + +.mdi-progress-helper::before { + content: "\F1BA2"; +} + +.mdi-progress-pencil::before { + content: "\F1787"; +} + +.mdi-progress-question::before { + content: "\F1522"; +} + +.mdi-progress-star::before { + content: "\F1788"; +} + +.mdi-progress-star-four-points::before { + content: "\F1C3D"; +} + +.mdi-progress-tag::before { + content: "\F1D0D"; +} + +.mdi-progress-upload::before { + content: "\F0998"; +} + +.mdi-progress-wrench::before { + content: "\F0CBD"; +} + +.mdi-projector::before { + content: "\F042E"; +} + +.mdi-projector-off::before { + content: "\F1A23"; +} + +.mdi-projector-screen::before { + content: "\F042F"; +} + +.mdi-projector-screen-off::before { + content: "\F180D"; +} + +.mdi-projector-screen-off-outline::before { + content: "\F180E"; +} + +.mdi-projector-screen-outline::before { + content: "\F1724"; +} + +.mdi-projector-screen-variant::before { + content: "\F180F"; +} + +.mdi-projector-screen-variant-off::before { + content: "\F1810"; +} + +.mdi-projector-screen-variant-off-outline::before { + content: "\F1811"; +} + +.mdi-projector-screen-variant-outline::before { + content: "\F1812"; +} + +.mdi-propane-tank::before { + content: "\F1357"; +} + +.mdi-propane-tank-outline::before { + content: "\F1358"; +} + +.mdi-protocol::before { + content: "\F0FD8"; +} + +.mdi-publish::before { + content: "\F06A7"; +} + +.mdi-publish-off::before { + content: "\F1945"; +} + +.mdi-pulse::before { + content: "\F0430"; +} + +.mdi-pump::before { + content: "\F1402"; +} + +.mdi-pump-off::before { + content: "\F1B22"; +} + +.mdi-pumpkin::before { + content: "\F0BBF"; +} + +.mdi-purse::before { + content: "\F0F1C"; +} + +.mdi-purse-outline::before { + content: "\F0F1D"; +} + +.mdi-puzzle::before { + content: "\F0431"; +} + +.mdi-puzzle-check::before { + content: "\F1426"; +} + +.mdi-puzzle-check-outline::before { + content: "\F1427"; +} + +.mdi-puzzle-edit::before { + content: "\F14D3"; +} + +.mdi-puzzle-edit-outline::before { + content: "\F14D9"; +} + +.mdi-puzzle-heart::before { + content: "\F14D4"; +} + +.mdi-puzzle-heart-outline::before { + content: "\F14DA"; +} + +.mdi-puzzle-minus::before { + content: "\F14D1"; +} + +.mdi-puzzle-minus-outline::before { + content: "\F14D7"; +} + +.mdi-puzzle-outline::before { + content: "\F0A66"; +} + +.mdi-puzzle-plus::before { + content: "\F14D0"; +} + +.mdi-puzzle-plus-outline::before { + content: "\F14D6"; +} + +.mdi-puzzle-remove::before { + content: "\F14D2"; +} + +.mdi-puzzle-remove-outline::before { + content: "\F14D8"; +} + +.mdi-puzzle-star::before { + content: "\F14D5"; +} + +.mdi-puzzle-star-outline::before { + content: "\F14DB"; +} + +.mdi-pyramid::before { + content: "\F1952"; +} + +.mdi-pyramid-off::before { + content: "\F1953"; +} + +.mdi-qi::before { + content: "\F0999"; +} + +.mdi-qqchat::before { + content: "\F0605"; +} + +.mdi-qrcode::before { + content: "\F0432"; +} + +.mdi-qrcode-edit::before { + content: "\F08B8"; +} + +.mdi-qrcode-minus::before { + content: "\F118C"; +} + +.mdi-qrcode-plus::before { + content: "\F118B"; +} + +.mdi-qrcode-remove::before { + content: "\F118D"; +} + +.mdi-qrcode-scan::before { + content: "\F0433"; +} + +.mdi-quadcopter::before { + content: "\F0434"; +} + +.mdi-quality-high::before { + content: "\F0435"; +} + +.mdi-quality-low::before { + content: "\F0A0C"; +} + +.mdi-quality-medium::before { + content: "\F0A0D"; +} + +.mdi-queue-first-in-last-out::before { + content: "\F1CAF"; +} + +.mdi-quora::before { + content: "\F0D29"; +} + +.mdi-rabbit::before { + content: "\F0907"; +} + +.mdi-rabbit-variant::before { + content: "\F1A61"; +} + +.mdi-rabbit-variant-outline::before { + content: "\F1A62"; +} + +.mdi-racing-helmet::before { + content: "\F0D93"; +} + +.mdi-racquetball::before { + content: "\F0D94"; +} + +.mdi-radar::before { + content: "\F0437"; +} + +.mdi-radiator::before { + content: "\F0438"; +} + +.mdi-radiator-disabled::before { + content: "\F0AD7"; +} + +.mdi-radiator-off::before { + content: "\F0AD8"; +} + +.mdi-radio::before { + content: "\F0439"; +} + +.mdi-radio-am::before { + content: "\F0CBE"; +} + +.mdi-radio-fm::before { + content: "\F0CBF"; +} + +.mdi-radio-handheld::before { + content: "\F043A"; +} + +.mdi-radio-off::before { + content: "\F121C"; +} + +.mdi-radio-tower::before { + content: "\F043B"; +} + +.mdi-radioactive::before { + content: "\F043C"; +} + +.mdi-radioactive-circle::before { + content: "\F185D"; +} + +.mdi-radioactive-circle-outline::before { + content: "\F185E"; +} + +.mdi-radioactive-off::before { + content: "\F0EC1"; +} + +.mdi-radiobox-blank::before { + content: "\F043D"; +} + +.mdi-radiobox-indeterminate-variant::before { + content: "\F1C5E"; +} + +.mdi-radiobox-marked::before { + content: "\F043E"; +} + +.mdi-radiology-box::before { + content: "\F14C5"; +} + +.mdi-radiology-box-outline::before { + content: "\F14C6"; +} + +.mdi-radius::before { + content: "\F0CC0"; +} + +.mdi-radius-outline::before { + content: "\F0CC1"; +} + +.mdi-railroad-light::before { + content: "\F0F1E"; +} + +.mdi-rake::before { + content: "\F1544"; +} + +.mdi-raspberry-pi::before { + content: "\F043F"; +} + +.mdi-raw::before { + content: "\F1A0F"; +} + +.mdi-raw-off::before { + content: "\F1A10"; +} + +.mdi-ray-end::before { + content: "\F0440"; +} + +.mdi-ray-end-arrow::before { + content: "\F0441"; +} + +.mdi-ray-start::before { + content: "\F0442"; +} + +.mdi-ray-start-arrow::before { + content: "\F0443"; +} + +.mdi-ray-start-end::before { + content: "\F0444"; +} + +.mdi-ray-start-vertex-end::before { + content: "\F15D8"; +} + +.mdi-ray-vertex::before { + content: "\F0445"; +} + +.mdi-razor-double-edge::before { + content: "\F1997"; +} + +.mdi-razor-single-edge::before { + content: "\F1998"; +} + +.mdi-react::before { + content: "\F0708"; +} + +.mdi-read::before { + content: "\F0447"; +} + +.mdi-receipt::before { + content: "\F0824"; +} + +.mdi-receipt-clock::before { + content: "\F1C3E"; +} + +.mdi-receipt-clock-outline::before { + content: "\F1C3F"; +} + +.mdi-receipt-outline::before { + content: "\F04F7"; +} + +.mdi-receipt-send::before { + content: "\F1C40"; +} + +.mdi-receipt-send-outline::before { + content: "\F1C41"; +} + +.mdi-receipt-text::before { + content: "\F0449"; +} + +.mdi-receipt-text-arrow-left::before { + content: "\F1C42"; +} + +.mdi-receipt-text-arrow-left-outline::before { + content: "\F1C43"; +} + +.mdi-receipt-text-arrow-right::before { + content: "\F1C44"; +} + +.mdi-receipt-text-arrow-right-outline::before { + content: "\F1C45"; +} + +.mdi-receipt-text-check::before { + content: "\F1A63"; +} + +.mdi-receipt-text-check-outline::before { + content: "\F1A64"; +} + +.mdi-receipt-text-clock::before { + content: "\F1C46"; +} + +.mdi-receipt-text-clock-outline::before { + content: "\F1C47"; +} + +.mdi-receipt-text-edit::before { + content: "\F1C48"; +} + +.mdi-receipt-text-edit-outline::before { + content: "\F1C49"; +} + +.mdi-receipt-text-minus::before { + content: "\F1A65"; +} + +.mdi-receipt-text-minus-outline::before { + content: "\F1A66"; +} + +.mdi-receipt-text-outline::before { + content: "\F19DC"; +} + +.mdi-receipt-text-plus::before { + content: "\F1A67"; +} + +.mdi-receipt-text-plus-outline::before { + content: "\F1A68"; +} + +.mdi-receipt-text-remove::before { + content: "\F1A69"; +} + +.mdi-receipt-text-remove-outline::before { + content: "\F1A6A"; +} + +.mdi-receipt-text-send::before { + content: "\F1C4A"; +} + +.mdi-receipt-text-send-outline::before { + content: "\F1C4B"; +} + +.mdi-record::before { + content: "\F044A"; +} + +.mdi-record-circle::before { + content: "\F0EC2"; +} + +.mdi-record-circle-outline::before { + content: "\F0EC3"; +} + +.mdi-record-player::before { + content: "\F099A"; +} + +.mdi-record-rec::before { + content: "\F044B"; +} + +.mdi-rectangle::before { + content: "\F0E5E"; +} + +.mdi-rectangle-outline::before { + content: "\F0E5F"; +} + +.mdi-recycle::before { + content: "\F044C"; +} + +.mdi-recycle-variant::before { + content: "\F139D"; +} + +.mdi-reddit::before { + content: "\F044D"; +} + +.mdi-redhat::before { + content: "\F111B"; +} + +.mdi-redo::before { + content: "\F044E"; +} + +.mdi-redo-variant::before { + content: "\F044F"; +} + +.mdi-reflect-horizontal::before { + content: "\F0A0E"; +} + +.mdi-reflect-vertical::before { + content: "\F0A0F"; +} + +.mdi-refresh::before { + content: "\F0450"; +} + +.mdi-refresh-auto::before { + content: "\F18F2"; +} + +.mdi-refresh-circle::before { + content: "\F1377"; +} + +.mdi-regex::before { + content: "\F0451"; +} + +.mdi-registered-trademark::before { + content: "\F0A67"; +} + +.mdi-reiterate::before { + content: "\F1588"; +} + +.mdi-relation-many-to-many::before { + content: "\F1496"; +} + +.mdi-relation-many-to-one::before { + content: "\F1497"; +} + +.mdi-relation-many-to-one-or-many::before { + content: "\F1498"; +} + +.mdi-relation-many-to-only-one::before { + content: "\F1499"; +} + +.mdi-relation-many-to-zero-or-many::before { + content: "\F149A"; +} + +.mdi-relation-many-to-zero-or-one::before { + content: "\F149B"; +} + +.mdi-relation-one-or-many-to-many::before { + content: "\F149C"; +} + +.mdi-relation-one-or-many-to-one::before { + content: "\F149D"; +} + +.mdi-relation-one-or-many-to-one-or-many::before { + content: "\F149E"; +} + +.mdi-relation-one-or-many-to-only-one::before { + content: "\F149F"; +} + +.mdi-relation-one-or-many-to-zero-or-many::before { + content: "\F14A0"; +} + +.mdi-relation-one-or-many-to-zero-or-one::before { + content: "\F14A1"; +} + +.mdi-relation-one-to-many::before { + content: "\F14A2"; +} + +.mdi-relation-one-to-one::before { + content: "\F14A3"; +} + +.mdi-relation-one-to-one-or-many::before { + content: "\F14A4"; +} + +.mdi-relation-one-to-only-one::before { + content: "\F14A5"; +} + +.mdi-relation-one-to-zero-or-many::before { + content: "\F14A6"; +} + +.mdi-relation-one-to-zero-or-one::before { + content: "\F14A7"; +} + +.mdi-relation-only-one-to-many::before { + content: "\F14A8"; +} + +.mdi-relation-only-one-to-one::before { + content: "\F14A9"; +} + +.mdi-relation-only-one-to-one-or-many::before { + content: "\F14AA"; +} + +.mdi-relation-only-one-to-only-one::before { + content: "\F14AB"; +} + +.mdi-relation-only-one-to-zero-or-many::before { + content: "\F14AC"; +} + +.mdi-relation-only-one-to-zero-or-one::before { + content: "\F14AD"; +} + +.mdi-relation-zero-or-many-to-many::before { + content: "\F14AE"; +} + +.mdi-relation-zero-or-many-to-one::before { + content: "\F14AF"; +} + +.mdi-relation-zero-or-many-to-one-or-many::before { + content: "\F14B0"; +} + +.mdi-relation-zero-or-many-to-only-one::before { + content: "\F14B1"; +} + +.mdi-relation-zero-or-many-to-zero-or-many::before { + content: "\F14B2"; +} + +.mdi-relation-zero-or-many-to-zero-or-one::before { + content: "\F14B3"; +} + +.mdi-relation-zero-or-one-to-many::before { + content: "\F14B4"; +} + +.mdi-relation-zero-or-one-to-one::before { + content: "\F14B5"; +} + +.mdi-relation-zero-or-one-to-one-or-many::before { + content: "\F14B6"; +} + +.mdi-relation-zero-or-one-to-only-one::before { + content: "\F14B7"; +} + +.mdi-relation-zero-or-one-to-zero-or-many::before { + content: "\F14B8"; +} + +.mdi-relation-zero-or-one-to-zero-or-one::before { + content: "\F14B9"; +} + +.mdi-relative-scale::before { + content: "\F0452"; +} + +.mdi-reload::before { + content: "\F0453"; +} + +.mdi-reload-alert::before { + content: "\F110B"; +} + +.mdi-reminder::before { + content: "\F088C"; +} + +.mdi-remote::before { + content: "\F0454"; +} + +.mdi-remote-desktop::before { + content: "\F08B9"; +} + +.mdi-remote-off::before { + content: "\F0EC4"; +} + +.mdi-remote-tv::before { + content: "\F0EC5"; +} + +.mdi-remote-tv-off::before { + content: "\F0EC6"; +} + +.mdi-rename::before { + content: "\F1C18"; +} + +.mdi-rename-box::before { + content: "\F0455"; +} + +.mdi-rename-box-outline::before { + content: "\F1C19"; +} + +.mdi-rename-outline::before { + content: "\F1C1A"; +} + +.mdi-reorder-horizontal::before { + content: "\F0688"; +} + +.mdi-reorder-vertical::before { + content: "\F0689"; +} + +.mdi-repeat::before { + content: "\F0456"; +} + +.mdi-repeat-off::before { + content: "\F0457"; +} + +.mdi-repeat-once::before { + content: "\F0458"; +} + +.mdi-repeat-variant::before { + content: "\F0547"; +} + +.mdi-replay::before { + content: "\F0459"; +} + +.mdi-reply::before { + content: "\F045A"; +} + +.mdi-reply-all::before { + content: "\F045B"; +} + +.mdi-reply-all-outline::before { + content: "\F0F1F"; +} + +.mdi-reply-circle::before { + content: "\F11AE"; +} + +.mdi-reply-outline::before { + content: "\F0F20"; +} + +.mdi-reproduction::before { + content: "\F045C"; +} + +.mdi-resistor::before { + content: "\F0B44"; +} + +.mdi-resistor-nodes::before { + content: "\F0B45"; +} + +.mdi-resize::before { + content: "\F0A68"; +} + +.mdi-resize-bottom-right::before { + content: "\F045D"; +} + +.mdi-responsive::before { + content: "\F045E"; +} + +.mdi-restart::before { + content: "\F0709"; +} + +.mdi-restart-alert::before { + content: "\F110C"; +} + +.mdi-restart-off::before { + content: "\F0D95"; +} + +.mdi-restore::before { + content: "\F099B"; +} + +.mdi-restore-alert::before { + content: "\F110D"; +} + +.mdi-rewind::before { + content: "\F045F"; +} + +.mdi-rewind-10::before { + content: "\F0D2A"; +} + +.mdi-rewind-15::before { + content: "\F1946"; +} + +.mdi-rewind-30::before { + content: "\F0D96"; +} + +.mdi-rewind-45::before { + content: "\F1B13"; +} + +.mdi-rewind-5::before { + content: "\F11F9"; +} + +.mdi-rewind-60::before { + content: "\F160C"; +} + +.mdi-rewind-outline::before { + content: "\F070A"; +} + +.mdi-rhombus::before { + content: "\F070B"; +} + +.mdi-rhombus-medium::before { + content: "\F0A10"; +} + +.mdi-rhombus-medium-outline::before { + content: "\F14DC"; +} + +.mdi-rhombus-outline::before { + content: "\F070C"; +} + +.mdi-rhombus-split::before { + content: "\F0A11"; +} + +.mdi-rhombus-split-outline::before { + content: "\F14DD"; +} + +.mdi-ribbon::before { + content: "\F0460"; +} + +.mdi-rice::before { + content: "\F07EA"; +} + +.mdi-rickshaw::before { + content: "\F15BB"; +} + +.mdi-rickshaw-electric::before { + content: "\F15BC"; +} + +.mdi-ring::before { + content: "\F07EB"; +} + +.mdi-rivet::before { + content: "\F0E60"; +} + +.mdi-road::before { + content: "\F0461"; +} + +.mdi-road-variant::before { + content: "\F0462"; +} + +.mdi-robber::before { + content: "\F1058"; +} + +.mdi-robot::before { + content: "\F06A9"; +} + +.mdi-robot-angry::before { + content: "\F169D"; +} + +.mdi-robot-angry-outline::before { + content: "\F169E"; +} + +.mdi-robot-confused::before { + content: "\F169F"; +} + +.mdi-robot-confused-outline::before { + content: "\F16A0"; +} + +.mdi-robot-dead::before { + content: "\F16A1"; +} + +.mdi-robot-dead-outline::before { + content: "\F16A2"; +} + +.mdi-robot-excited::before { + content: "\F16A3"; +} + +.mdi-robot-excited-outline::before { + content: "\F16A4"; +} + +.mdi-robot-happy::before { + content: "\F1719"; +} + +.mdi-robot-happy-outline::before { + content: "\F171A"; +} + +.mdi-robot-industrial::before { + content: "\F0B46"; +} + +.mdi-robot-industrial-outline::before { + content: "\F1A1A"; +} + +.mdi-robot-love::before { + content: "\F16A5"; +} + +.mdi-robot-love-outline::before { + content: "\F16A6"; +} + +.mdi-robot-mower::before { + content: "\F11F7"; +} + +.mdi-robot-mower-outline::before { + content: "\F11F3"; +} + +.mdi-robot-off::before { + content: "\F16A7"; +} + +.mdi-robot-off-outline::before { + content: "\F167B"; +} + +.mdi-robot-outline::before { + content: "\F167A"; +} + +.mdi-robot-vacuum::before { + content: "\F070D"; +} + +.mdi-robot-vacuum-alert::before { + content: "\F1B5D"; +} + +.mdi-robot-vacuum-off::before { + content: "\F1C01"; +} + +.mdi-robot-vacuum-variant::before { + content: "\F0908"; +} + +.mdi-robot-vacuum-variant-alert::before { + content: "\F1B5E"; +} + +.mdi-robot-vacuum-variant-off::before { + content: "\F1C02"; +} + +.mdi-rocket::before { + content: "\F0463"; +} + +.mdi-rocket-launch::before { + content: "\F14DE"; +} + +.mdi-rocket-launch-outline::before { + content: "\F14DF"; +} + +.mdi-rocket-outline::before { + content: "\F13AF"; +} + +.mdi-rodent::before { + content: "\F1327"; +} + +.mdi-roller-shade::before { + content: "\F1A6B"; +} + +.mdi-roller-shade-closed::before { + content: "\F1A6C"; +} + +.mdi-roller-skate::before { + content: "\F0D2B"; +} + +.mdi-roller-skate-off::before { + content: "\F0145"; +} + +.mdi-rollerblade::before { + content: "\F0D2C"; +} + +.mdi-rollerblade-off::before { + content: "\F002E"; +} + +.mdi-rollupjs::before { + content: "\F0BC0"; +} + +.mdi-rolodex::before { + content: "\F1AB9"; +} + +.mdi-rolodex-outline::before { + content: "\F1ABA"; +} + +.mdi-roman-numeral-1::before { + content: "\F1088"; +} + +.mdi-roman-numeral-10::before { + content: "\F1091"; +} + +.mdi-roman-numeral-2::before { + content: "\F1089"; +} + +.mdi-roman-numeral-3::before { + content: "\F108A"; +} + +.mdi-roman-numeral-4::before { + content: "\F108B"; +} + +.mdi-roman-numeral-5::before { + content: "\F108C"; +} + +.mdi-roman-numeral-6::before { + content: "\F108D"; +} + +.mdi-roman-numeral-7::before { + content: "\F108E"; +} + +.mdi-roman-numeral-8::before { + content: "\F108F"; +} + +.mdi-roman-numeral-9::before { + content: "\F1090"; +} + +.mdi-room-service::before { + content: "\F088D"; +} + +.mdi-room-service-outline::before { + content: "\F0D97"; +} + +.mdi-rotate-360::before { + content: "\F1999"; +} + +.mdi-rotate-3d::before { + content: "\F0EC7"; +} + +.mdi-rotate-3d-variant::before { + content: "\F0464"; +} + +.mdi-rotate-left::before { + content: "\F0465"; +} + +.mdi-rotate-left-variant::before { + content: "\F0466"; +} + +.mdi-rotate-orbit::before { + content: "\F0D98"; +} + +.mdi-rotate-right::before { + content: "\F0467"; +} + +.mdi-rotate-right-variant::before { + content: "\F0468"; +} + +.mdi-rounded-corner::before { + content: "\F0607"; +} + +.mdi-router::before { + content: "\F11E2"; +} + +.mdi-router-network::before { + content: "\F1087"; +} + +.mdi-router-network-wireless::before { + content: "\F1C97"; +} + +.mdi-router-wireless::before { + content: "\F0469"; +} + +.mdi-router-wireless-off::before { + content: "\F15A3"; +} + +.mdi-router-wireless-settings::before { + content: "\F0A69"; +} + +.mdi-routes::before { + content: "\F046A"; +} + +.mdi-routes-clock::before { + content: "\F1059"; +} + +.mdi-rowing::before { + content: "\F0608"; +} + +.mdi-rss::before { + content: "\F046B"; +} + +.mdi-rss-box::before { + content: "\F046C"; +} + +.mdi-rss-off::before { + content: "\F0F21"; +} + +.mdi-rug::before { + content: "\F1475"; +} + +.mdi-rugby::before { + content: "\F0D99"; +} + +.mdi-ruler::before { + content: "\F046D"; +} + +.mdi-ruler-square::before { + content: "\F0CC2"; +} + +.mdi-ruler-square-compass::before { + content: "\F0EBE"; +} + +.mdi-run::before { + content: "\F070E"; +} + +.mdi-run-fast::before { + content: "\F046E"; +} + +.mdi-rv-truck::before { + content: "\F11D4"; +} + +.mdi-sack::before { + content: "\F0D2E"; +} + +.mdi-sack-outline::before { + content: "\F1C4C"; +} + +.mdi-sack-percent::before { + content: "\F0D2F"; +} + +.mdi-safe::before { + content: "\F0A6A"; +} + +.mdi-safe-square::before { + content: "\F127C"; +} + +.mdi-safe-square-outline::before { + content: "\F127D"; +} + +.mdi-safety-goggles::before { + content: "\F0D30"; +} + +.mdi-sail-boat::before { + content: "\F0EC8"; +} + +.mdi-sail-boat-sink::before { + content: "\F1AEF"; +} + +.mdi-sale::before { + content: "\F046F"; +} + +.mdi-sale-outline::before { + content: "\F1A06"; +} + +.mdi-salesforce::before { + content: "\F088E"; +} + +.mdi-sass::before { + content: "\F07EC"; +} + +.mdi-satellite::before { + content: "\F0470"; +} + +.mdi-satellite-uplink::before { + content: "\F0909"; +} + +.mdi-satellite-variant::before { + content: "\F0471"; +} + +.mdi-sausage::before { + content: "\F08BA"; +} + +.mdi-sausage-off::before { + content: "\F1789"; +} + +.mdi-saw-blade::before { + content: "\F0E61"; +} + +.mdi-sawtooth-wave::before { + content: "\F147A"; +} + +.mdi-saxophone::before { + content: "\F0609"; +} + +.mdi-scale::before { + content: "\F0472"; +} + +.mdi-scale-balance::before { + content: "\F05D1"; +} + +.mdi-scale-bathroom::before { + content: "\F0473"; +} + +.mdi-scale-off::before { + content: "\F105A"; +} + +.mdi-scale-unbalanced::before { + content: "\F19B8"; +} + +.mdi-scan-helper::before { + content: "\F13D8"; +} + +.mdi-scanner::before { + content: "\F06AB"; +} + +.mdi-scanner-off::before { + content: "\F090A"; +} + +.mdi-scatter-plot::before { + content: "\F0EC9"; +} + +.mdi-scatter-plot-outline::before { + content: "\F0ECA"; +} + +.mdi-scent::before { + content: "\F1958"; +} + +.mdi-scent-off::before { + content: "\F1959"; +} + +.mdi-school::before { + content: "\F0474"; +} + +.mdi-school-outline::before { + content: "\F1180"; +} + +.mdi-scissors-cutting::before { + content: "\F0A6B"; +} + +.mdi-scooter::before { + content: "\F15BD"; +} + +.mdi-scooter-electric::before { + content: "\F15BE"; +} + +.mdi-scoreboard::before { + content: "\F127E"; +} + +.mdi-scoreboard-outline::before { + content: "\F127F"; +} + +.mdi-screen-rotation::before { + content: "\F0475"; +} + +.mdi-screen-rotation-lock::before { + content: "\F0478"; +} + +.mdi-screw-flat-top::before { + content: "\F0DF3"; +} + +.mdi-screw-lag::before { + content: "\F0DF4"; +} + +.mdi-screw-machine-flat-top::before { + content: "\F0DF5"; +} + +.mdi-screw-machine-round-top::before { + content: "\F0DF6"; +} + +.mdi-screw-round-top::before { + content: "\F0DF7"; +} + +.mdi-screwdriver::before { + content: "\F0476"; +} + +.mdi-script::before { + content: "\F0BC1"; +} + +.mdi-script-outline::before { + content: "\F0477"; +} + +.mdi-script-text::before { + content: "\F0BC2"; +} + +.mdi-script-text-key::before { + content: "\F1725"; +} + +.mdi-script-text-key-outline::before { + content: "\F1726"; +} + +.mdi-script-text-outline::before { + content: "\F0BC3"; +} + +.mdi-script-text-play::before { + content: "\F1727"; +} + +.mdi-script-text-play-outline::before { + content: "\F1728"; +} + +.mdi-sd::before { + content: "\F0479"; +} + +.mdi-seal::before { + content: "\F047A"; +} + +.mdi-seal-variant::before { + content: "\F0FD9"; +} + +.mdi-search-web::before { + content: "\F070F"; +} + +.mdi-seat::before { + content: "\F0CC3"; +} + +.mdi-seat-flat::before { + content: "\F047B"; +} + +.mdi-seat-flat-angled::before { + content: "\F047C"; +} + +.mdi-seat-individual-suite::before { + content: "\F047D"; +} + +.mdi-seat-legroom-extra::before { + content: "\F047E"; +} + +.mdi-seat-legroom-normal::before { + content: "\F047F"; +} + +.mdi-seat-legroom-reduced::before { + content: "\F0480"; +} + +.mdi-seat-outline::before { + content: "\F0CC4"; +} + +.mdi-seat-passenger::before { + content: "\F1249"; +} + +.mdi-seat-recline-extra::before { + content: "\F0481"; +} + +.mdi-seat-recline-normal::before { + content: "\F0482"; +} + +.mdi-seatbelt::before { + content: "\F0CC5"; +} + +.mdi-security::before { + content: "\F0483"; +} + +.mdi-security-network::before { + content: "\F0484"; +} + +.mdi-seed::before { + content: "\F0E62"; +} + +.mdi-seed-off::before { + content: "\F13FD"; +} + +.mdi-seed-off-outline::before { + content: "\F13FE"; +} + +.mdi-seed-outline::before { + content: "\F0E63"; +} + +.mdi-seed-plus::before { + content: "\F1A6D"; +} + +.mdi-seed-plus-outline::before { + content: "\F1A6E"; +} + +.mdi-seesaw::before { + content: "\F15A4"; +} + +.mdi-segment::before { + content: "\F0ECB"; +} + +.mdi-select::before { + content: "\F0485"; +} + +.mdi-select-all::before { + content: "\F0486"; +} + +.mdi-select-arrow-down::before { + content: "\F1B59"; +} + +.mdi-select-arrow-up::before { + content: "\F1B58"; +} + +.mdi-select-color::before { + content: "\F0D31"; +} + +.mdi-select-compare::before { + content: "\F0AD9"; +} + +.mdi-select-drag::before { + content: "\F0A6C"; +} + +.mdi-select-group::before { + content: "\F0F82"; +} + +.mdi-select-inverse::before { + content: "\F0487"; +} + +.mdi-select-marker::before { + content: "\F1280"; +} + +.mdi-select-multiple::before { + content: "\F1281"; +} + +.mdi-select-multiple-marker::before { + content: "\F1282"; +} + +.mdi-select-off::before { + content: "\F0488"; +} + +.mdi-select-place::before { + content: "\F0FDA"; +} + +.mdi-select-remove::before { + content: "\F17C1"; +} + +.mdi-select-search::before { + content: "\F1204"; +} + +.mdi-selection::before { + content: "\F0489"; +} + +.mdi-selection-drag::before { + content: "\F0A6D"; +} + +.mdi-selection-ellipse::before { + content: "\F0D32"; +} + +.mdi-selection-ellipse-arrow-inside::before { + content: "\F0F22"; +} + +.mdi-selection-ellipse-remove::before { + content: "\F17C2"; +} + +.mdi-selection-marker::before { + content: "\F1283"; +} + +.mdi-selection-multiple::before { + content: "\F1285"; +} + +.mdi-selection-multiple-marker::before { + content: "\F1284"; +} + +.mdi-selection-off::before { + content: "\F0777"; +} + +.mdi-selection-remove::before { + content: "\F17C3"; +} + +.mdi-selection-search::before { + content: "\F1205"; +} + +.mdi-semantic-web::before { + content: "\F1316"; +} + +.mdi-send::before { + content: "\F048A"; +} + +.mdi-send-check::before { + content: "\F1161"; +} + +.mdi-send-check-outline::before { + content: "\F1162"; +} + +.mdi-send-circle::before { + content: "\F0DF8"; +} + +.mdi-send-circle-outline::before { + content: "\F0DF9"; +} + +.mdi-send-clock::before { + content: "\F1163"; +} + +.mdi-send-clock-outline::before { + content: "\F1164"; +} + +.mdi-send-lock::before { + content: "\F07ED"; +} + +.mdi-send-lock-outline::before { + content: "\F1166"; +} + +.mdi-send-outline::before { + content: "\F1165"; +} + +.mdi-send-variant::before { + content: "\F1C4D"; +} + +.mdi-send-variant-clock::before { + content: "\F1C7E"; +} + +.mdi-send-variant-clock-outline::before { + content: "\F1C7F"; +} + +.mdi-send-variant-outline::before { + content: "\F1C4E"; +} + +.mdi-serial-port::before { + content: "\F065C"; +} + +.mdi-server::before { + content: "\F048B"; +} + +.mdi-server-minus::before { + content: "\F048C"; +} + +.mdi-server-minus-outline::before { + content: "\F1C98"; +} + +.mdi-server-network::before { + content: "\F048D"; +} + +.mdi-server-network-off::before { + content: "\F048E"; +} + +.mdi-server-network-outline::before { + content: "\F1C99"; +} + +.mdi-server-off::before { + content: "\F048F"; +} + +.mdi-server-outline::before { + content: "\F1C9A"; +} + +.mdi-server-plus::before { + content: "\F0490"; +} + +.mdi-server-plus-outline::before { + content: "\F1C9B"; +} + +.mdi-server-remove::before { + content: "\F0491"; +} + +.mdi-server-security::before { + content: "\F0492"; +} + +.mdi-set-all::before { + content: "\F0778"; +} + +.mdi-set-center::before { + content: "\F0779"; +} + +.mdi-set-center-right::before { + content: "\F077A"; +} + +.mdi-set-left::before { + content: "\F077B"; +} + +.mdi-set-left-center::before { + content: "\F077C"; +} + +.mdi-set-left-right::before { + content: "\F077D"; +} + +.mdi-set-merge::before { + content: "\F14E0"; +} + +.mdi-set-none::before { + content: "\F077E"; +} + +.mdi-set-right::before { + content: "\F077F"; +} + +.mdi-set-split::before { + content: "\F14E1"; +} + +.mdi-set-square::before { + content: "\F145D"; +} + +.mdi-set-top-box::before { + content: "\F099F"; +} + +.mdi-settings-helper::before { + content: "\F0A6E"; +} + +.mdi-shaker::before { + content: "\F110E"; +} + +.mdi-shaker-outline::before { + content: "\F110F"; +} + +.mdi-shape::before { + content: "\F0831"; +} + +.mdi-shape-circle-plus::before { + content: "\F065D"; +} + +.mdi-shape-outline::before { + content: "\F0832"; +} + +.mdi-shape-oval-plus::before { + content: "\F11FA"; +} + +.mdi-shape-plus::before { + content: "\F0495"; +} + +.mdi-shape-plus-outline::before { + content: "\F1C4F"; +} + +.mdi-shape-polygon-plus::before { + content: "\F065E"; +} + +.mdi-shape-rectangle-plus::before { + content: "\F065F"; +} + +.mdi-shape-square-plus::before { + content: "\F0660"; +} + +.mdi-shape-square-rounded-plus::before { + content: "\F14FA"; +} + +.mdi-share::before { + content: "\F0496"; +} + +.mdi-share-all::before { + content: "\F11F4"; +} + +.mdi-share-all-outline::before { + content: "\F11F5"; +} + +.mdi-share-circle::before { + content: "\F11AD"; +} + +.mdi-share-off::before { + content: "\F0F23"; +} + +.mdi-share-off-outline::before { + content: "\F0F24"; +} + +.mdi-share-outline::before { + content: "\F0932"; +} + +.mdi-share-variant::before { + content: "\F0497"; +} + +.mdi-share-variant-outline::before { + content: "\F1514"; +} + +.mdi-shark::before { + content: "\F18BA"; +} + +.mdi-shark-fin::before { + content: "\F1673"; +} + +.mdi-shark-fin-outline::before { + content: "\F1674"; +} + +.mdi-shark-off::before { + content: "\F18BB"; +} + +.mdi-sheep::before { + content: "\F0CC6"; +} + +.mdi-shield::before { + content: "\F0498"; +} + +.mdi-shield-account::before { + content: "\F088F"; +} + +.mdi-shield-account-outline::before { + content: "\F0A12"; +} + +.mdi-shield-account-variant::before { + content: "\F15A7"; +} + +.mdi-shield-account-variant-outline::before { + content: "\F15A8"; +} + +.mdi-shield-airplane::before { + content: "\F06BB"; +} + +.mdi-shield-airplane-outline::before { + content: "\F0CC7"; +} + +.mdi-shield-alert::before { + content: "\F0ECC"; +} + +.mdi-shield-alert-outline::before { + content: "\F0ECD"; +} + +.mdi-shield-bug::before { + content: "\F13DA"; +} + +.mdi-shield-bug-outline::before { + content: "\F13DB"; +} + +.mdi-shield-car::before { + content: "\F0F83"; +} + +.mdi-shield-check::before { + content: "\F0565"; +} + +.mdi-shield-check-outline::before { + content: "\F0CC8"; +} + +.mdi-shield-cross::before { + content: "\F0CC9"; +} + +.mdi-shield-cross-outline::before { + content: "\F0CCA"; +} + +.mdi-shield-crown::before { + content: "\F18BC"; +} + +.mdi-shield-crown-outline::before { + content: "\F18BD"; +} + +.mdi-shield-edit::before { + content: "\F11A0"; +} + +.mdi-shield-edit-outline::before { + content: "\F11A1"; +} + +.mdi-shield-half::before { + content: "\F1360"; +} + +.mdi-shield-half-full::before { + content: "\F0780"; +} + +.mdi-shield-home::before { + content: "\F068A"; +} + +.mdi-shield-home-outline::before { + content: "\F0CCB"; +} + +.mdi-shield-key::before { + content: "\F0BC4"; +} + +.mdi-shield-key-outline::before { + content: "\F0BC5"; +} + +.mdi-shield-link-variant::before { + content: "\F0D33"; +} + +.mdi-shield-link-variant-outline::before { + content: "\F0D34"; +} + +.mdi-shield-lock::before { + content: "\F099D"; +} + +.mdi-shield-lock-open::before { + content: "\F199A"; +} + +.mdi-shield-lock-open-outline::before { + content: "\F199B"; +} + +.mdi-shield-lock-outline::before { + content: "\F0CCC"; +} + +.mdi-shield-moon::before { + content: "\F1828"; +} + +.mdi-shield-moon-outline::before { + content: "\F1829"; +} + +.mdi-shield-off::before { + content: "\F099E"; +} + +.mdi-shield-off-outline::before { + content: "\F099C"; +} + +.mdi-shield-outline::before { + content: "\F0499"; +} + +.mdi-shield-plus::before { + content: "\F0ADA"; +} + +.mdi-shield-plus-outline::before { + content: "\F0ADB"; +} + +.mdi-shield-refresh::before { + content: "\F00AA"; +} + +.mdi-shield-refresh-outline::before { + content: "\F01E0"; +} + +.mdi-shield-remove::before { + content: "\F0ADC"; +} + +.mdi-shield-remove-outline::before { + content: "\F0ADD"; +} + +.mdi-shield-search::before { + content: "\F0D9A"; +} + +.mdi-shield-star::before { + content: "\F113B"; +} + +.mdi-shield-star-outline::before { + content: "\F113C"; +} + +.mdi-shield-sun::before { + content: "\F105D"; +} + +.mdi-shield-sun-outline::before { + content: "\F105E"; +} + +.mdi-shield-sword::before { + content: "\F18BE"; +} + +.mdi-shield-sword-outline::before { + content: "\F18BF"; +} + +.mdi-shield-sync::before { + content: "\F11A2"; +} + +.mdi-shield-sync-outline::before { + content: "\F11A3"; +} + +.mdi-shimmer::before { + content: "\F1545"; +} + +.mdi-ship-wheel::before { + content: "\F0833"; +} + +.mdi-shipping-pallet::before { + content: "\F184E"; +} + +.mdi-shoe-ballet::before { + content: "\F15CA"; +} + +.mdi-shoe-cleat::before { + content: "\F15C7"; +} + +.mdi-shoe-formal::before { + content: "\F0B47"; +} + +.mdi-shoe-heel::before { + content: "\F0B48"; +} + +.mdi-shoe-print::before { + content: "\F0DFA"; +} + +.mdi-shoe-sneaker::before { + content: "\F15C8"; +} + +.mdi-shopping::before { + content: "\F049A"; +} + +.mdi-shopping-music::before { + content: "\F049B"; +} + +.mdi-shopping-outline::before { + content: "\F11D5"; +} + +.mdi-shopping-search::before { + content: "\F0F84"; +} + +.mdi-shopping-search-outline::before { + content: "\F1A6F"; +} + +.mdi-shore::before { + content: "\F14F9"; +} + +.mdi-shovel::before { + content: "\F0710"; +} + +.mdi-shovel-off::before { + content: "\F0711"; +} + +.mdi-shower::before { + content: "\F09A0"; +} + +.mdi-shower-head::before { + content: "\F09A1"; +} + +.mdi-shredder::before { + content: "\F049C"; +} + +.mdi-shuffle::before { + content: "\F049D"; +} + +.mdi-shuffle-disabled::before { + content: "\F049E"; +} + +.mdi-shuffle-variant::before { + content: "\F049F"; +} + +.mdi-shuriken::before { + content: "\F137F"; +} + +.mdi-sickle::before { + content: "\F18C0"; +} + +.mdi-sigma::before { + content: "\F04A0"; +} + +.mdi-sigma-lower::before { + content: "\F062B"; +} + +.mdi-sign-caution::before { + content: "\F04A1"; +} + +.mdi-sign-direction::before { + content: "\F0781"; +} + +.mdi-sign-direction-minus::before { + content: "\F1000"; +} + +.mdi-sign-direction-plus::before { + content: "\F0FDC"; +} + +.mdi-sign-direction-remove::before { + content: "\F0FDD"; +} + +.mdi-sign-language::before { + content: "\F1B4D"; +} + +.mdi-sign-language-outline::before { + content: "\F1B4E"; +} + +.mdi-sign-pole::before { + content: "\F14F8"; +} + +.mdi-sign-real-estate::before { + content: "\F1118"; +} + +.mdi-sign-text::before { + content: "\F0782"; +} + +.mdi-sign-yield::before { + content: "\F1BAF"; +} + +.mdi-signal::before { + content: "\F04A2"; +} + +.mdi-signal-2g::before { + content: "\F0712"; +} + +.mdi-signal-3g::before { + content: "\F0713"; +} + +.mdi-signal-4g::before { + content: "\F0714"; +} + +.mdi-signal-5g::before { + content: "\F0A6F"; +} + +.mdi-signal-cellular-1::before { + content: "\F08BC"; +} + +.mdi-signal-cellular-2::before { + content: "\F08BD"; +} + +.mdi-signal-cellular-3::before { + content: "\F08BE"; +} + +.mdi-signal-cellular-outline::before { + content: "\F08BF"; +} + +.mdi-signal-distance-variant::before { + content: "\F0E64"; +} + +.mdi-signal-hspa::before { + content: "\F0715"; +} + +.mdi-signal-hspa-plus::before { + content: "\F0716"; +} + +.mdi-signal-off::before { + content: "\F0783"; +} + +.mdi-signal-variant::before { + content: "\F060A"; +} + +.mdi-signature::before { + content: "\F0DFB"; +} + +.mdi-signature-freehand::before { + content: "\F0DFC"; +} + +.mdi-signature-image::before { + content: "\F0DFD"; +} + +.mdi-signature-text::before { + content: "\F0DFE"; +} + +.mdi-silo::before { + content: "\F1B9F"; +} + +.mdi-silo-outline::before { + content: "\F0B49"; +} + +.mdi-silverware::before { + content: "\F04A3"; +} + +.mdi-silverware-clean::before { + content: "\F0FDE"; +} + +.mdi-silverware-fork::before { + content: "\F04A4"; +} + +.mdi-silverware-fork-knife::before { + content: "\F0A70"; +} + +.mdi-silverware-spoon::before { + content: "\F04A5"; +} + +.mdi-silverware-variant::before { + content: "\F04A6"; +} + +.mdi-sim::before { + content: "\F04A7"; +} + +.mdi-sim-alert::before { + content: "\F04A8"; +} + +.mdi-sim-alert-outline::before { + content: "\F15D3"; +} + +.mdi-sim-off::before { + content: "\F04A9"; +} + +.mdi-sim-off-outline::before { + content: "\F15D4"; +} + +.mdi-sim-outline::before { + content: "\F15D5"; +} + +.mdi-simple-icons::before { + content: "\F131D"; +} + +.mdi-sina-weibo::before { + content: "\F0ADF"; +} + +.mdi-sine-wave::before { + content: "\F095B"; +} + +.mdi-sitemap::before { + content: "\F04AA"; +} + +.mdi-sitemap-outline::before { + content: "\F199C"; +} + +.mdi-size-l::before { + content: "\F13A6"; +} + +.mdi-size-m::before { + content: "\F13A5"; +} + +.mdi-size-s::before { + content: "\F13A4"; +} + +.mdi-size-xl::before { + content: "\F13A7"; +} + +.mdi-size-xs::before { + content: "\F13A3"; +} + +.mdi-size-xxl::before { + content: "\F13A8"; +} + +.mdi-size-xxs::before { + content: "\F13A2"; +} + +.mdi-size-xxxl::before { + content: "\F13A9"; +} + +.mdi-skate::before { + content: "\F0D35"; +} + +.mdi-skate-off::before { + content: "\F0699"; +} + +.mdi-skateboard::before { + content: "\F14C2"; +} + +.mdi-skateboarding::before { + content: "\F0501"; +} + +.mdi-skew-less::before { + content: "\F0D36"; +} + +.mdi-skew-more::before { + content: "\F0D37"; +} + +.mdi-ski::before { + content: "\F1304"; +} + +.mdi-ski-cross-country::before { + content: "\F1305"; +} + +.mdi-ski-water::before { + content: "\F1306"; +} + +.mdi-skip-backward::before { + content: "\F04AB"; +} + +.mdi-skip-backward-outline::before { + content: "\F0F25"; +} + +.mdi-skip-forward::before { + content: "\F04AC"; +} + +.mdi-skip-forward-outline::before { + content: "\F0F26"; +} + +.mdi-skip-next::before { + content: "\F04AD"; +} + +.mdi-skip-next-circle::before { + content: "\F0661"; +} + +.mdi-skip-next-circle-outline::before { + content: "\F0662"; +} + +.mdi-skip-next-outline::before { + content: "\F0F27"; +} + +.mdi-skip-previous::before { + content: "\F04AE"; +} + +.mdi-skip-previous-circle::before { + content: "\F0663"; +} + +.mdi-skip-previous-circle-outline::before { + content: "\F0664"; +} + +.mdi-skip-previous-outline::before { + content: "\F0F28"; +} + +.mdi-skull::before { + content: "\F068C"; +} + +.mdi-skull-crossbones::before { + content: "\F0BC6"; +} + +.mdi-skull-crossbones-outline::before { + content: "\F0BC7"; +} + +.mdi-skull-outline::before { + content: "\F0BC8"; +} + +.mdi-skull-scan::before { + content: "\F14C7"; +} + +.mdi-skull-scan-outline::before { + content: "\F14C8"; +} + +.mdi-skype::before { + content: "\F04AF"; +} + +.mdi-skype-business::before { + content: "\F04B0"; +} + +.mdi-slack::before { + content: "\F04B1"; +} + +.mdi-slash-forward::before { + content: "\F0FDF"; +} + +.mdi-slash-forward-box::before { + content: "\F0FE0"; +} + +.mdi-sledding::before { + content: "\F041B"; +} + +.mdi-sleep::before { + content: "\F04B2"; +} + +.mdi-sleep-off::before { + content: "\F04B3"; +} + +.mdi-slide::before { + content: "\F15A5"; +} + +.mdi-slope-downhill::before { + content: "\F0DFF"; +} + +.mdi-slope-uphill::before { + content: "\F0E00"; +} + +.mdi-slot-machine::before { + content: "\F1114"; +} + +.mdi-slot-machine-outline::before { + content: "\F1115"; +} + +.mdi-smart-card::before { + content: "\F10BD"; +} + +.mdi-smart-card-off::before { + content: "\F18F7"; +} + +.mdi-smart-card-off-outline::before { + content: "\F18F8"; +} + +.mdi-smart-card-outline::before { + content: "\F10BE"; +} + +.mdi-smart-card-reader::before { + content: "\F10BF"; +} + +.mdi-smart-card-reader-outline::before { + content: "\F10C0"; +} + +.mdi-smog::before { + content: "\F0A71"; +} + +.mdi-smoke::before { + content: "\F1799"; +} + +.mdi-smoke-detector::before { + content: "\F0392"; +} + +.mdi-smoke-detector-alert::before { + content: "\F192E"; +} + +.mdi-smoke-detector-alert-outline::before { + content: "\F192F"; +} + +.mdi-smoke-detector-off::before { + content: "\F1809"; +} + +.mdi-smoke-detector-off-outline::before { + content: "\F180A"; +} + +.mdi-smoke-detector-outline::before { + content: "\F1808"; +} + +.mdi-smoke-detector-variant::before { + content: "\F180B"; +} + +.mdi-smoke-detector-variant-alert::before { + content: "\F1930"; +} + +.mdi-smoke-detector-variant-off::before { + content: "\F180C"; +} + +.mdi-smoking::before { + content: "\F04B4"; +} + +.mdi-smoking-off::before { + content: "\F04B5"; +} + +.mdi-smoking-pipe::before { + content: "\F140D"; +} + +.mdi-smoking-pipe-off::before { + content: "\F1428"; +} + +.mdi-snail::before { + content: "\F1677"; +} + +.mdi-snake::before { + content: "\F150E"; +} + +.mdi-snapchat::before { + content: "\F04B6"; +} + +.mdi-snowboard::before { + content: "\F1307"; +} + +.mdi-snowflake::before { + content: "\F0717"; +} + +.mdi-snowflake-alert::before { + content: "\F0F29"; +} + +.mdi-snowflake-check::before { + content: "\F1A70"; +} + +.mdi-snowflake-melt::before { + content: "\F12CB"; +} + +.mdi-snowflake-off::before { + content: "\F14E3"; +} + +.mdi-snowflake-thermometer::before { + content: "\F1A71"; +} + +.mdi-snowflake-variant::before { + content: "\F0F2A"; +} + +.mdi-snowman::before { + content: "\F04B7"; +} + +.mdi-snowmobile::before { + content: "\F06DD"; +} + +.mdi-snowshoeing::before { + content: "\F1A72"; +} + +.mdi-soccer::before { + content: "\F04B8"; +} + +.mdi-soccer-field::before { + content: "\F0834"; +} + +.mdi-social-distance-2-meters::before { + content: "\F1579"; +} + +.mdi-social-distance-6-feet::before { + content: "\F157A"; +} + +.mdi-sofa::before { + content: "\F04B9"; +} + +.mdi-sofa-outline::before { + content: "\F156D"; +} + +.mdi-sofa-single::before { + content: "\F156E"; +} + +.mdi-sofa-single-outline::before { + content: "\F156F"; +} + +.mdi-solar-panel::before { + content: "\F0D9B"; +} + +.mdi-solar-panel-large::before { + content: "\F0D9C"; +} + +.mdi-solar-power::before { + content: "\F0A72"; +} + +.mdi-solar-power-variant::before { + content: "\F1A73"; +} + +.mdi-solar-power-variant-outline::before { + content: "\F1A74"; +} + +.mdi-soldering-iron::before { + content: "\F1092"; +} + +.mdi-solid::before { + content: "\F068D"; +} + +.mdi-sony-playstation::before { + content: "\F0414"; +} + +.mdi-sort::before { + content: "\F04BA"; +} + +.mdi-sort-alphabetical-ascending::before { + content: "\F05BD"; +} + +.mdi-sort-alphabetical-ascending-variant::before { + content: "\F1148"; +} + +.mdi-sort-alphabetical-descending::before { + content: "\F05BF"; +} + +.mdi-sort-alphabetical-descending-variant::before { + content: "\F1149"; +} + +.mdi-sort-alphabetical-variant::before { + content: "\F04BB"; +} + +.mdi-sort-ascending::before { + content: "\F04BC"; +} + +.mdi-sort-bool-ascending::before { + content: "\F1385"; +} + +.mdi-sort-bool-ascending-variant::before { + content: "\F1386"; +} + +.mdi-sort-bool-descending::before { + content: "\F1387"; +} + +.mdi-sort-bool-descending-variant::before { + content: "\F1388"; +} + +.mdi-sort-calendar-ascending::before { + content: "\F1547"; +} + +.mdi-sort-calendar-descending::before { + content: "\F1548"; +} + +.mdi-sort-clock-ascending::before { + content: "\F1549"; +} + +.mdi-sort-clock-ascending-outline::before { + content: "\F154A"; +} + +.mdi-sort-clock-descending::before { + content: "\F154B"; +} + +.mdi-sort-clock-descending-outline::before { + content: "\F154C"; +} + +.mdi-sort-descending::before { + content: "\F04BD"; +} + +.mdi-sort-numeric-ascending::before { + content: "\F1389"; +} + +.mdi-sort-numeric-ascending-variant::before { + content: "\F090D"; +} + +.mdi-sort-numeric-descending::before { + content: "\F138A"; +} + +.mdi-sort-numeric-descending-variant::before { + content: "\F0AD2"; +} + +.mdi-sort-numeric-variant::before { + content: "\F04BE"; +} + +.mdi-sort-reverse-variant::before { + content: "\F033C"; +} + +.mdi-sort-variant::before { + content: "\F04BF"; +} + +.mdi-sort-variant-lock::before { + content: "\F0CCD"; +} + +.mdi-sort-variant-lock-open::before { + content: "\F0CCE"; +} + +.mdi-sort-variant-off::before { + content: "\F1ABB"; +} + +.mdi-sort-variant-remove::before { + content: "\F1147"; +} + +.mdi-soundbar::before { + content: "\F17DB"; +} + +.mdi-soundcloud::before { + content: "\F04C0"; +} + +.mdi-source-branch::before { + content: "\F062C"; +} + +.mdi-source-branch-check::before { + content: "\F14CF"; +} + +.mdi-source-branch-minus::before { + content: "\F14CB"; +} + +.mdi-source-branch-plus::before { + content: "\F14CA"; +} + +.mdi-source-branch-refresh::before { + content: "\F14CD"; +} + +.mdi-source-branch-remove::before { + content: "\F14CC"; +} + +.mdi-source-branch-sync::before { + content: "\F14CE"; +} + +.mdi-source-commit::before { + content: "\F0718"; +} + +.mdi-source-commit-end::before { + content: "\F0719"; +} + +.mdi-source-commit-end-local::before { + content: "\F071A"; +} + +.mdi-source-commit-local::before { + content: "\F071B"; +} + +.mdi-source-commit-next-local::before { + content: "\F071C"; +} + +.mdi-source-commit-start::before { + content: "\F071D"; +} + +.mdi-source-commit-start-next-local::before { + content: "\F071E"; +} + +.mdi-source-fork::before { + content: "\F04C1"; +} + +.mdi-source-merge::before { + content: "\F062D"; +} + +.mdi-source-pull::before { + content: "\F04C2"; +} + +.mdi-source-repository::before { + content: "\F0CCF"; +} + +.mdi-source-repository-multiple::before { + content: "\F0CD0"; +} + +.mdi-soy-sauce::before { + content: "\F07EE"; +} + +.mdi-soy-sauce-off::before { + content: "\F13FC"; +} + +.mdi-spa::before { + content: "\F0CD1"; +} + +.mdi-spa-outline::before { + content: "\F0CD2"; +} + +.mdi-space-invaders::before { + content: "\F0BC9"; +} + +.mdi-space-station::before { + content: "\F1383"; +} + +.mdi-spade::before { + content: "\F0E65"; +} + +.mdi-speaker::before { + content: "\F04C3"; +} + +.mdi-speaker-bluetooth::before { + content: "\F09A2"; +} + +.mdi-speaker-message::before { + content: "\F1B11"; +} + +.mdi-speaker-multiple::before { + content: "\F0D38"; +} + +.mdi-speaker-off::before { + content: "\F04C4"; +} + +.mdi-speaker-pause::before { + content: "\F1B73"; +} + +.mdi-speaker-play::before { + content: "\F1B72"; +} + +.mdi-speaker-stop::before { + content: "\F1B74"; +} + +.mdi-speaker-wireless::before { + content: "\F071F"; +} + +.mdi-spear::before { + content: "\F1845"; +} + +.mdi-speedometer::before { + content: "\F04C5"; +} + +.mdi-speedometer-medium::before { + content: "\F0F85"; +} + +.mdi-speedometer-slow::before { + content: "\F0F86"; +} + +.mdi-spellcheck::before { + content: "\F04C6"; +} + +.mdi-sphere::before { + content: "\F1954"; +} + +.mdi-sphere-off::before { + content: "\F1955"; +} + +.mdi-spider::before { + content: "\F11EA"; +} + +.mdi-spider-outline::before { + content: "\F1C75"; +} + +.mdi-spider-thread::before { + content: "\F11EB"; +} + +.mdi-spider-web::before { + content: "\F0BCA"; +} + +.mdi-spirit-level::before { + content: "\F14F1"; +} + +.mdi-spoon-sugar::before { + content: "\F1429"; +} + +.mdi-spotify::before { + content: "\F04C7"; +} + +.mdi-spotlight::before { + content: "\F04C8"; +} + +.mdi-spotlight-beam::before { + content: "\F04C9"; +} + +.mdi-spray::before { + content: "\F0665"; +} + +.mdi-spray-bottle::before { + content: "\F0AE0"; +} + +.mdi-sprinkler::before { + content: "\F105F"; +} + +.mdi-sprinkler-fire::before { + content: "\F199D"; +} + +.mdi-sprinkler-variant::before { + content: "\F1060"; +} + +.mdi-sprout::before { + content: "\F0E66"; +} + +.mdi-sprout-outline::before { + content: "\F0E67"; +} + +.mdi-square::before { + content: "\F0764"; +} + +.mdi-square-circle::before { + content: "\F1500"; +} + +.mdi-square-circle-outline::before { + content: "\F1C50"; +} + +.mdi-square-edit-outline::before { + content: "\F090C"; +} + +.mdi-square-medium::before { + content: "\F0A13"; +} + +.mdi-square-medium-outline::before { + content: "\F0A14"; +} + +.mdi-square-off::before { + content: "\F12EE"; +} + +.mdi-square-off-outline::before { + content: "\F12EF"; +} + +.mdi-square-opacity::before { + content: "\F1854"; +} + +.mdi-square-outline::before { + content: "\F0763"; +} + +.mdi-square-root::before { + content: "\F0784"; +} + +.mdi-square-root-box::before { + content: "\F09A3"; +} + +.mdi-square-rounded::before { + content: "\F14FB"; +} + +.mdi-square-rounded-badge::before { + content: "\F1A07"; +} + +.mdi-square-rounded-badge-outline::before { + content: "\F1A08"; +} + +.mdi-square-rounded-outline::before { + content: "\F14FC"; +} + +.mdi-square-small::before { + content: "\F0A15"; +} + +.mdi-square-wave::before { + content: "\F147B"; +} + +.mdi-squeegee::before { + content: "\F0AE1"; +} + +.mdi-ssh::before { + content: "\F08C0"; +} + +.mdi-stack-exchange::before { + content: "\F060B"; +} + +.mdi-stack-overflow::before { + content: "\F04CC"; +} + +.mdi-stackpath::before { + content: "\F0359"; +} + +.mdi-stadium::before { + content: "\F0FF9"; +} + +.mdi-stadium-outline::before { + content: "\F1B03"; +} + +.mdi-stadium-variant::before { + content: "\F0720"; +} + +.mdi-stairs::before { + content: "\F04CD"; +} + +.mdi-stairs-box::before { + content: "\F139E"; +} + +.mdi-stairs-down::before { + content: "\F12BE"; +} + +.mdi-stairs-up::before { + content: "\F12BD"; +} + +.mdi-stamper::before { + content: "\F0D39"; +} + +.mdi-standard-definition::before { + content: "\F07EF"; +} + +.mdi-star::before { + content: "\F04CE"; +} + +.mdi-star-box::before { + content: "\F0A73"; +} + +.mdi-star-box-multiple::before { + content: "\F1286"; +} + +.mdi-star-box-multiple-outline::before { + content: "\F1287"; +} + +.mdi-star-box-outline::before { + content: "\F0A74"; +} + +.mdi-star-check::before { + content: "\F1566"; +} + +.mdi-star-check-outline::before { + content: "\F156A"; +} + +.mdi-star-circle::before { + content: "\F04CF"; +} + +.mdi-star-circle-outline::before { + content: "\F09A4"; +} + +.mdi-star-cog::before { + content: "\F1668"; +} + +.mdi-star-cog-outline::before { + content: "\F1669"; +} + +.mdi-star-crescent::before { + content: "\F0979"; +} + +.mdi-star-david::before { + content: "\F097A"; +} + +.mdi-star-face::before { + content: "\F09A5"; +} + +.mdi-star-four-points::before { + content: "\F0AE2"; +} + +.mdi-star-four-points-box::before { + content: "\F1C51"; +} + +.mdi-star-four-points-box-outline::before { + content: "\F1C52"; +} + +.mdi-star-four-points-circle::before { + content: "\F1C53"; +} + +.mdi-star-four-points-circle-outline::before { + content: "\F1C54"; +} + +.mdi-star-four-points-outline::before { + content: "\F0AE3"; +} + +.mdi-star-four-points-small::before { + content: "\F1C55"; +} + +.mdi-star-half::before { + content: "\F0246"; +} + +.mdi-star-half-full::before { + content: "\F04D0"; +} + +.mdi-star-minus::before { + content: "\F1564"; +} + +.mdi-star-minus-outline::before { + content: "\F1568"; +} + +.mdi-star-off::before { + content: "\F04D1"; +} + +.mdi-star-off-outline::before { + content: "\F155B"; +} + +.mdi-star-outline::before { + content: "\F04D2"; +} + +.mdi-star-plus::before { + content: "\F1563"; +} + +.mdi-star-plus-outline::before { + content: "\F1567"; +} + +.mdi-star-remove::before { + content: "\F1565"; +} + +.mdi-star-remove-outline::before { + content: "\F1569"; +} + +.mdi-star-settings::before { + content: "\F166A"; +} + +.mdi-star-settings-outline::before { + content: "\F166B"; +} + +.mdi-star-shooting::before { + content: "\F1741"; +} + +.mdi-star-shooting-outline::before { + content: "\F1742"; +} + +.mdi-star-three-points::before { + content: "\F0AE4"; +} + +.mdi-star-three-points-outline::before { + content: "\F0AE5"; +} + +.mdi-state-machine::before { + content: "\F11EF"; +} + +.mdi-steam::before { + content: "\F04D3"; +} + +.mdi-steering::before { + content: "\F04D4"; +} + +.mdi-steering-off::before { + content: "\F090E"; +} + +.mdi-step-backward::before { + content: "\F04D5"; +} + +.mdi-step-backward-2::before { + content: "\F04D6"; +} + +.mdi-step-forward::before { + content: "\F04D7"; +} + +.mdi-step-forward-2::before { + content: "\F04D8"; +} + +.mdi-stethoscope::before { + content: "\F04D9"; +} + +.mdi-sticker::before { + content: "\F1364"; +} + +.mdi-sticker-alert::before { + content: "\F1365"; +} + +.mdi-sticker-alert-outline::before { + content: "\F1366"; +} + +.mdi-sticker-check::before { + content: "\F1367"; +} + +.mdi-sticker-check-outline::before { + content: "\F1368"; +} + +.mdi-sticker-circle-outline::before { + content: "\F05D0"; +} + +.mdi-sticker-emoji::before { + content: "\F0785"; +} + +.mdi-sticker-minus::before { + content: "\F1369"; +} + +.mdi-sticker-minus-outline::before { + content: "\F136A"; +} + +.mdi-sticker-outline::before { + content: "\F136B"; +} + +.mdi-sticker-plus::before { + content: "\F136C"; +} + +.mdi-sticker-plus-outline::before { + content: "\F136D"; +} + +.mdi-sticker-remove::before { + content: "\F136E"; +} + +.mdi-sticker-remove-outline::before { + content: "\F136F"; +} + +.mdi-sticker-text::before { + content: "\F178E"; +} + +.mdi-sticker-text-outline::before { + content: "\F178F"; +} + +.mdi-stocking::before { + content: "\F04DA"; +} + +.mdi-stomach::before { + content: "\F1093"; +} + +.mdi-stool::before { + content: "\F195D"; +} + +.mdi-stool-outline::before { + content: "\F195E"; +} + +.mdi-stop::before { + content: "\F04DB"; +} + +.mdi-stop-circle::before { + content: "\F0666"; +} + +.mdi-stop-circle-outline::before { + content: "\F0667"; +} + +.mdi-storage-tank::before { + content: "\F1A75"; +} + +.mdi-storage-tank-outline::before { + content: "\F1A76"; +} + +.mdi-store::before { + content: "\F04DC"; +} + +.mdi-store-24-hour::before { + content: "\F04DD"; +} + +.mdi-store-alert::before { + content: "\F18C1"; +} + +.mdi-store-alert-outline::before { + content: "\F18C2"; +} + +.mdi-store-check::before { + content: "\F18C3"; +} + +.mdi-store-check-outline::before { + content: "\F18C4"; +} + +.mdi-store-clock::before { + content: "\F18C5"; +} + +.mdi-store-clock-outline::before { + content: "\F18C6"; +} + +.mdi-store-cog::before { + content: "\F18C7"; +} + +.mdi-store-cog-outline::before { + content: "\F18C8"; +} + +.mdi-store-edit::before { + content: "\F18C9"; +} + +.mdi-store-edit-outline::before { + content: "\F18CA"; +} + +.mdi-store-marker::before { + content: "\F18CB"; +} + +.mdi-store-marker-outline::before { + content: "\F18CC"; +} + +.mdi-store-minus::before { + content: "\F165E"; +} + +.mdi-store-minus-outline::before { + content: "\F18CD"; +} + +.mdi-store-off::before { + content: "\F18CE"; +} + +.mdi-store-off-outline::before { + content: "\F18CF"; +} + +.mdi-store-outline::before { + content: "\F1361"; +} + +.mdi-store-plus::before { + content: "\F165F"; +} + +.mdi-store-plus-outline::before { + content: "\F18D0"; +} + +.mdi-store-remove::before { + content: "\F1660"; +} + +.mdi-store-remove-outline::before { + content: "\F18D1"; +} + +.mdi-store-search::before { + content: "\F18D2"; +} + +.mdi-store-search-outline::before { + content: "\F18D3"; +} + +.mdi-store-settings::before { + content: "\F18D4"; +} + +.mdi-store-settings-outline::before { + content: "\F18D5"; +} + +.mdi-storefront::before { + content: "\F07C7"; +} + +.mdi-storefront-check::before { + content: "\F1B7D"; +} + +.mdi-storefront-check-outline::before { + content: "\F1B7E"; +} + +.mdi-storefront-edit::before { + content: "\F1B7F"; +} + +.mdi-storefront-edit-outline::before { + content: "\F1B80"; +} + +.mdi-storefront-minus::before { + content: "\F1B83"; +} + +.mdi-storefront-minus-outline::before { + content: "\F1B84"; +} + +.mdi-storefront-outline::before { + content: "\F10C1"; +} + +.mdi-storefront-plus::before { + content: "\F1B81"; +} + +.mdi-storefront-plus-outline::before { + content: "\F1B82"; +} + +.mdi-storefront-remove::before { + content: "\F1B85"; +} + +.mdi-storefront-remove-outline::before { + content: "\F1B86"; +} + +.mdi-stove::before { + content: "\F04DE"; +} + +.mdi-strategy::before { + content: "\F11D6"; +} + +.mdi-stretch-to-page::before { + content: "\F0F2B"; +} + +.mdi-stretch-to-page-outline::before { + content: "\F0F2C"; +} + +.mdi-string-lights::before { + content: "\F12BA"; +} + +.mdi-string-lights-off::before { + content: "\F12BB"; +} + +.mdi-subdirectory-arrow-left::before { + content: "\F060C"; +} + +.mdi-subdirectory-arrow-right::before { + content: "\F060D"; +} + +.mdi-submarine::before { + content: "\F156C"; +} + +.mdi-subtitles::before { + content: "\F0A16"; +} + +.mdi-subtitles-outline::before { + content: "\F0A17"; +} + +.mdi-subway::before { + content: "\F06AC"; +} + +.mdi-subway-alert-variant::before { + content: "\F0D9D"; +} + +.mdi-subway-variant::before { + content: "\F04DF"; +} + +.mdi-summit::before { + content: "\F0786"; +} + +.mdi-sun-angle::before { + content: "\F1B27"; +} + +.mdi-sun-angle-outline::before { + content: "\F1B28"; +} + +.mdi-sun-clock::before { + content: "\F1A77"; +} + +.mdi-sun-clock-outline::before { + content: "\F1A78"; +} + +.mdi-sun-compass::before { + content: "\F19A5"; +} + +.mdi-sun-snowflake::before { + content: "\F1796"; +} + +.mdi-sun-snowflake-variant::before { + content: "\F1A79"; +} + +.mdi-sun-thermometer::before { + content: "\F18D6"; +} + +.mdi-sun-thermometer-outline::before { + content: "\F18D7"; +} + +.mdi-sun-wireless::before { + content: "\F17FE"; +} + +.mdi-sun-wireless-outline::before { + content: "\F17FF"; +} + +.mdi-sunglasses::before { + content: "\F04E0"; +} + +.mdi-surfing::before { + content: "\F1746"; +} + +.mdi-surround-sound::before { + content: "\F05C5"; +} + +.mdi-surround-sound-2-0::before { + content: "\F07F0"; +} + +.mdi-surround-sound-2-1::before { + content: "\F1729"; +} + +.mdi-surround-sound-3-1::before { + content: "\F07F1"; +} + +.mdi-surround-sound-5-1::before { + content: "\F07F2"; +} + +.mdi-surround-sound-5-1-2::before { + content: "\F172A"; +} + +.mdi-surround-sound-7-1::before { + content: "\F07F3"; +} + +.mdi-svg::before { + content: "\F0721"; +} + +.mdi-swap-horizontal::before { + content: "\F04E1"; +} + +.mdi-swap-horizontal-bold::before { + content: "\F0BCD"; +} + +.mdi-swap-horizontal-circle::before { + content: "\F0FE1"; +} + +.mdi-swap-horizontal-circle-outline::before { + content: "\F0FE2"; +} + +.mdi-swap-horizontal-hidden::before { + content: "\F1D0E"; +} + +.mdi-swap-horizontal-variant::before { + content: "\F08C1"; +} + +.mdi-swap-vertical::before { + content: "\F04E2"; +} + +.mdi-swap-vertical-bold::before { + content: "\F0BCE"; +} + +.mdi-swap-vertical-circle::before { + content: "\F0FE3"; +} + +.mdi-swap-vertical-circle-outline::before { + content: "\F0FE4"; +} + +.mdi-swap-vertical-variant::before { + content: "\F08C2"; +} + +.mdi-swim::before { + content: "\F04E3"; +} + +.mdi-switch::before { + content: "\F04E4"; +} + +.mdi-sword::before { + content: "\F04E5"; +} + +.mdi-sword-cross::before { + content: "\F0787"; +} + +.mdi-syllabary-hangul::before { + content: "\F1333"; +} + +.mdi-syllabary-hiragana::before { + content: "\F1334"; +} + +.mdi-syllabary-katakana::before { + content: "\F1335"; +} + +.mdi-syllabary-katakana-halfwidth::before { + content: "\F1336"; +} + +.mdi-symbol::before { + content: "\F1501"; +} + +.mdi-symfony::before { + content: "\F0AE6"; +} + +.mdi-synagogue::before { + content: "\F1B04"; +} + +.mdi-synagogue-outline::before { + content: "\F1B05"; +} + +.mdi-sync::before { + content: "\F04E6"; +} + +.mdi-sync-alert::before { + content: "\F04E7"; +} + +.mdi-sync-circle::before { + content: "\F1378"; +} + +.mdi-sync-off::before { + content: "\F04E8"; +} + +.mdi-tab::before { + content: "\F04E9"; +} + +.mdi-tab-minus::before { + content: "\F0B4B"; +} + +.mdi-tab-plus::before { + content: "\F075C"; +} + +.mdi-tab-remove::before { + content: "\F0B4C"; +} + +.mdi-tab-search::before { + content: "\F199E"; +} + +.mdi-tab-unselected::before { + content: "\F04EA"; +} + +.mdi-table::before { + content: "\F04EB"; +} + +.mdi-table-account::before { + content: "\F13B9"; +} + +.mdi-table-alert::before { + content: "\F13BA"; +} + +.mdi-table-arrow-down::before { + content: "\F13BB"; +} + +.mdi-table-arrow-left::before { + content: "\F13BC"; +} + +.mdi-table-arrow-right::before { + content: "\F13BD"; +} + +.mdi-table-arrow-up::before { + content: "\F13BE"; +} + +.mdi-table-border::before { + content: "\F0A18"; +} + +.mdi-table-cancel::before { + content: "\F13BF"; +} + +.mdi-table-chair::before { + content: "\F1061"; +} + +.mdi-table-check::before { + content: "\F13C0"; +} + +.mdi-table-clock::before { + content: "\F13C1"; +} + +.mdi-table-cog::before { + content: "\F13C2"; +} + +.mdi-table-column::before { + content: "\F0835"; +} + +.mdi-table-column-plus-after::before { + content: "\F04EC"; +} + +.mdi-table-column-plus-before::before { + content: "\F04ED"; +} + +.mdi-table-column-remove::before { + content: "\F04EE"; +} + +.mdi-table-column-width::before { + content: "\F04EF"; +} + +.mdi-table-edit::before { + content: "\F04F0"; +} + +.mdi-table-eye::before { + content: "\F1094"; +} + +.mdi-table-eye-off::before { + content: "\F13C3"; +} + +.mdi-table-filter::before { + content: "\F1B8C"; +} + +.mdi-table-furniture::before { + content: "\F05BC"; +} + +.mdi-table-headers-eye::before { + content: "\F121D"; +} + +.mdi-table-headers-eye-off::before { + content: "\F121E"; +} + +.mdi-table-heart::before { + content: "\F13C4"; +} + +.mdi-table-key::before { + content: "\F13C5"; +} + +.mdi-table-large::before { + content: "\F04F1"; +} + +.mdi-table-large-plus::before { + content: "\F0F87"; +} + +.mdi-table-large-remove::before { + content: "\F0F88"; +} + +.mdi-table-lock::before { + content: "\F13C6"; +} + +.mdi-table-merge-cells::before { + content: "\F09A6"; +} + +.mdi-table-minus::before { + content: "\F13C7"; +} + +.mdi-table-multiple::before { + content: "\F13C8"; +} + +.mdi-table-network::before { + content: "\F13C9"; +} + +.mdi-table-of-contents::before { + content: "\F0836"; +} + +.mdi-table-off::before { + content: "\F13CA"; +} + +.mdi-table-picnic::before { + content: "\F1743"; +} + +.mdi-table-pivot::before { + content: "\F183C"; +} + +.mdi-table-plus::before { + content: "\F0A75"; +} + +.mdi-table-question::before { + content: "\F1B21"; +} + +.mdi-table-refresh::before { + content: "\F13A0"; +} + +.mdi-table-remove::before { + content: "\F0A76"; +} + +.mdi-table-row::before { + content: "\F0837"; +} + +.mdi-table-row-height::before { + content: "\F04F2"; +} + +.mdi-table-row-plus-after::before { + content: "\F04F3"; +} + +.mdi-table-row-plus-before::before { + content: "\F04F4"; +} + +.mdi-table-row-remove::before { + content: "\F04F5"; +} + +.mdi-table-search::before { + content: "\F090F"; +} + +.mdi-table-settings::before { + content: "\F0838"; +} + +.mdi-table-split-cell::before { + content: "\F142A"; +} + +.mdi-table-star::before { + content: "\F13CB"; +} + +.mdi-table-sync::before { + content: "\F13A1"; +} + +.mdi-table-tennis::before { + content: "\F0E68"; +} + +.mdi-tablet::before { + content: "\F04F6"; +} + +.mdi-tablet-cellphone::before { + content: "\F09A7"; +} + +.mdi-tablet-dashboard::before { + content: "\F0ECE"; +} + +.mdi-taco::before { + content: "\F0762"; +} + +.mdi-tag::before { + content: "\F04F9"; +} + +.mdi-tag-arrow-down::before { + content: "\F172B"; +} + +.mdi-tag-arrow-down-outline::before { + content: "\F172C"; +} + +.mdi-tag-arrow-left::before { + content: "\F172D"; +} + +.mdi-tag-arrow-left-outline::before { + content: "\F172E"; +} + +.mdi-tag-arrow-right::before { + content: "\F172F"; +} + +.mdi-tag-arrow-right-outline::before { + content: "\F1730"; +} + +.mdi-tag-arrow-up::before { + content: "\F1731"; +} + +.mdi-tag-arrow-up-outline::before { + content: "\F1732"; +} + +.mdi-tag-check::before { + content: "\F1A7A"; +} + +.mdi-tag-check-outline::before { + content: "\F1A7B"; +} + +.mdi-tag-edit::before { + content: "\F1C9C"; +} + +.mdi-tag-edit-outline::before { + content: "\F1C9D"; +} + +.mdi-tag-faces::before { + content: "\F04FA"; +} + +.mdi-tag-heart::before { + content: "\F068B"; +} + +.mdi-tag-heart-outline::before { + content: "\F0BCF"; +} + +.mdi-tag-hidden::before { + content: "\F1C76"; +} + +.mdi-tag-minus::before { + content: "\F0910"; +} + +.mdi-tag-minus-outline::before { + content: "\F121F"; +} + +.mdi-tag-multiple::before { + content: "\F04FB"; +} + +.mdi-tag-multiple-outline::before { + content: "\F12F7"; +} + +.mdi-tag-off::before { + content: "\F1220"; +} + +.mdi-tag-off-outline::before { + content: "\F1221"; +} + +.mdi-tag-outline::before { + content: "\F04FC"; +} + +.mdi-tag-plus::before { + content: "\F0722"; +} + +.mdi-tag-plus-outline::before { + content: "\F1222"; +} + +.mdi-tag-remove::before { + content: "\F0723"; +} + +.mdi-tag-remove-outline::before { + content: "\F1223"; +} + +.mdi-tag-search::before { + content: "\F1907"; +} + +.mdi-tag-search-outline::before { + content: "\F1908"; +} + +.mdi-tag-text::before { + content: "\F1224"; +} + +.mdi-tag-text-outline::before { + content: "\F04FD"; +} + +.mdi-tailwind::before { + content: "\F13FF"; +} + +.mdi-tally-mark-1::before { + content: "\F1ABC"; +} + +.mdi-tally-mark-2::before { + content: "\F1ABD"; +} + +.mdi-tally-mark-3::before { + content: "\F1ABE"; +} + +.mdi-tally-mark-4::before { + content: "\F1ABF"; +} + +.mdi-tally-mark-5::before { + content: "\F1AC0"; +} + +.mdi-tangram::before { + content: "\F04F8"; +} + +.mdi-tank::before { + content: "\F0D3A"; +} + +.mdi-tanker-truck::before { + content: "\F0FE5"; +} + +.mdi-tape-drive::before { + content: "\F16DF"; +} + +.mdi-tape-measure::before { + content: "\F0B4D"; +} + +.mdi-target::before { + content: "\F04FE"; +} + +.mdi-target-account::before { + content: "\F0BD0"; +} + +.mdi-target-variant::before { + content: "\F0A77"; +} + +.mdi-taxi::before { + content: "\F04FF"; +} + +.mdi-tea::before { + content: "\F0D9E"; +} + +.mdi-tea-outline::before { + content: "\F0D9F"; +} + +.mdi-teamviewer::before { + content: "\F0500"; +} + +.mdi-teddy-bear::before { + content: "\F18FB"; +} + +.mdi-telescope::before { + content: "\F0B4E"; +} + +.mdi-television::before { + content: "\F0502"; +} + +.mdi-television-ambient-light::before { + content: "\F1356"; +} + +.mdi-television-box::before { + content: "\F0839"; +} + +.mdi-television-classic::before { + content: "\F07F4"; +} + +.mdi-television-classic-off::before { + content: "\F083A"; +} + +.mdi-television-guide::before { + content: "\F0503"; +} + +.mdi-television-off::before { + content: "\F083B"; +} + +.mdi-television-pause::before { + content: "\F0F89"; +} + +.mdi-television-play::before { + content: "\F0ECF"; +} + +.mdi-television-shimmer::before { + content: "\F1110"; +} + +.mdi-television-speaker::before { + content: "\F1B1B"; +} + +.mdi-television-speaker-off::before { + content: "\F1B1C"; +} + +.mdi-television-stop::before { + content: "\F0F8A"; +} + +.mdi-temperature-celsius::before { + content: "\F0504"; +} + +.mdi-temperature-fahrenheit::before { + content: "\F0505"; +} + +.mdi-temperature-kelvin::before { + content: "\F0506"; +} + +.mdi-temple-buddhist::before { + content: "\F1B06"; +} + +.mdi-temple-buddhist-outline::before { + content: "\F1B07"; +} + +.mdi-temple-hindu::before { + content: "\F1B08"; +} + +.mdi-temple-hindu-outline::before { + content: "\F1B09"; +} + +.mdi-tennis::before { + content: "\F0DA0"; +} + +.mdi-tennis-ball::before { + content: "\F0507"; +} + +.mdi-tennis-ball-outline::before { + content: "\F1C5F"; +} + +.mdi-tent::before { + content: "\F0508"; +} + +.mdi-terraform::before { + content: "\F1062"; +} + +.mdi-terrain::before { + content: "\F0509"; +} + +.mdi-test-tube::before { + content: "\F0668"; +} + +.mdi-test-tube-empty::before { + content: "\F0911"; +} + +.mdi-test-tube-off::before { + content: "\F0912"; +} + +.mdi-text::before { + content: "\F09A8"; +} + +.mdi-text-account::before { + content: "\F1570"; +} + +.mdi-text-box::before { + content: "\F021A"; +} + +.mdi-text-box-check::before { + content: "\F0EA6"; +} + +.mdi-text-box-check-outline::before { + content: "\F0EA7"; +} + +.mdi-text-box-edit::before { + content: "\F1A7C"; +} + +.mdi-text-box-edit-outline::before { + content: "\F1A7D"; +} + +.mdi-text-box-minus::before { + content: "\F0EA8"; +} + +.mdi-text-box-minus-outline::before { + content: "\F0EA9"; +} + +.mdi-text-box-multiple::before { + content: "\F0AB7"; +} + +.mdi-text-box-multiple-outline::before { + content: "\F0AB8"; +} + +.mdi-text-box-outline::before { + content: "\F09ED"; +} + +.mdi-text-box-plus::before { + content: "\F0EAA"; +} + +.mdi-text-box-plus-outline::before { + content: "\F0EAB"; +} + +.mdi-text-box-remove::before { + content: "\F0EAC"; +} + +.mdi-text-box-remove-outline::before { + content: "\F0EAD"; +} + +.mdi-text-box-search::before { + content: "\F0EAE"; +} + +.mdi-text-box-search-outline::before { + content: "\F0EAF"; +} + +.mdi-text-long::before { + content: "\F09AA"; +} + +.mdi-text-recognition::before { + content: "\F113D"; +} + +.mdi-text-search::before { + content: "\F13B8"; +} + +.mdi-text-search-variant::before { + content: "\F1A7E"; +} + +.mdi-text-shadow::before { + content: "\F0669"; +} + +.mdi-text-short::before { + content: "\F09A9"; +} + +.mdi-texture::before { + content: "\F050C"; +} + +.mdi-texture-box::before { + content: "\F0FE6"; +} + +.mdi-theater::before { + content: "\F050D"; +} + +.mdi-theme-light-dark::before { + content: "\F050E"; +} + +.mdi-thermometer::before { + content: "\F050F"; +} + +.mdi-thermometer-alert::before { + content: "\F0E01"; +} + +.mdi-thermometer-auto::before { + content: "\F1B0F"; +} + +.mdi-thermometer-bluetooth::before { + content: "\F1895"; +} + +.mdi-thermometer-check::before { + content: "\F1A7F"; +} + +.mdi-thermometer-chevron-down::before { + content: "\F0E02"; +} + +.mdi-thermometer-chevron-up::before { + content: "\F0E03"; +} + +.mdi-thermometer-high::before { + content: "\F10C2"; +} + +.mdi-thermometer-lines::before { + content: "\F0510"; +} + +.mdi-thermometer-low::before { + content: "\F10C3"; +} + +.mdi-thermometer-minus::before { + content: "\F0E04"; +} + +.mdi-thermometer-off::before { + content: "\F1531"; +} + +.mdi-thermometer-plus::before { + content: "\F0E05"; +} + +.mdi-thermometer-probe::before { + content: "\F1B2B"; +} + +.mdi-thermometer-probe-off::before { + content: "\F1B2C"; +} + +.mdi-thermometer-water::before { + content: "\F1A80"; +} + +.mdi-thermostat::before { + content: "\F0393"; +} + +.mdi-thermostat-auto::before { + content: "\F1B17"; +} + +.mdi-thermostat-box::before { + content: "\F0891"; +} + +.mdi-thermostat-box-auto::before { + content: "\F1B18"; +} + +.mdi-thermostat-cog::before { + content: "\F1C80"; +} + +.mdi-thought-bubble::before { + content: "\F07F6"; +} + +.mdi-thought-bubble-outline::before { + content: "\F07F7"; +} + +.mdi-thumb-down::before { + content: "\F0511"; +} + +.mdi-thumb-down-outline::before { + content: "\F0512"; +} + +.mdi-thumb-up::before { + content: "\F0513"; +} + +.mdi-thumb-up-outline::before { + content: "\F0514"; +} + +.mdi-thumbs-up-down::before { + content: "\F0515"; +} + +.mdi-thumbs-up-down-outline::before { + content: "\F1914"; +} + +.mdi-ticket::before { + content: "\F0516"; +} + +.mdi-ticket-account::before { + content: "\F0517"; +} + +.mdi-ticket-confirmation::before { + content: "\F0518"; +} + +.mdi-ticket-confirmation-outline::before { + content: "\F13AA"; +} + +.mdi-ticket-outline::before { + content: "\F0913"; +} + +.mdi-ticket-percent::before { + content: "\F0724"; +} + +.mdi-ticket-percent-outline::before { + content: "\F142B"; +} + +.mdi-tie::before { + content: "\F0519"; +} + +.mdi-tilde::before { + content: "\F0725"; +} + +.mdi-tilde-off::before { + content: "\F18F3"; +} + +.mdi-timelapse::before { + content: "\F051A"; +} + +.mdi-timeline::before { + content: "\F0BD1"; +} + +.mdi-timeline-alert::before { + content: "\F0F95"; +} + +.mdi-timeline-alert-outline::before { + content: "\F0F98"; +} + +.mdi-timeline-check::before { + content: "\F1532"; +} + +.mdi-timeline-check-outline::before { + content: "\F1533"; +} + +.mdi-timeline-clock::before { + content: "\F11FB"; +} + +.mdi-timeline-clock-outline::before { + content: "\F11FC"; +} + +.mdi-timeline-minus::before { + content: "\F1534"; +} + +.mdi-timeline-minus-outline::before { + content: "\F1535"; +} + +.mdi-timeline-outline::before { + content: "\F0BD2"; +} + +.mdi-timeline-plus::before { + content: "\F0F96"; +} + +.mdi-timeline-plus-outline::before { + content: "\F0F97"; +} + +.mdi-timeline-question::before { + content: "\F0F99"; +} + +.mdi-timeline-question-outline::before { + content: "\F0F9A"; +} + +.mdi-timeline-remove::before { + content: "\F1536"; +} + +.mdi-timeline-remove-outline::before { + content: "\F1537"; +} + +.mdi-timeline-text::before { + content: "\F0BD3"; +} + +.mdi-timeline-text-outline::before { + content: "\F0BD4"; +} + +.mdi-timer::before { + content: "\F13AB"; +} + +.mdi-timer-10::before { + content: "\F051C"; +} + +.mdi-timer-3::before { + content: "\F051D"; +} + +.mdi-timer-alert::before { + content: "\F1ACC"; +} + +.mdi-timer-alert-outline::before { + content: "\F1ACD"; +} + +.mdi-timer-cancel::before { + content: "\F1ACE"; +} + +.mdi-timer-cancel-outline::before { + content: "\F1ACF"; +} + +.mdi-timer-check::before { + content: "\F1AD0"; +} + +.mdi-timer-check-outline::before { + content: "\F1AD1"; +} + +.mdi-timer-cog::before { + content: "\F1925"; +} + +.mdi-timer-cog-outline::before { + content: "\F1926"; +} + +.mdi-timer-edit::before { + content: "\F1AD2"; +} + +.mdi-timer-edit-outline::before { + content: "\F1AD3"; +} + +.mdi-timer-lock::before { + content: "\F1AD4"; +} + +.mdi-timer-lock-open::before { + content: "\F1AD5"; +} + +.mdi-timer-lock-open-outline::before { + content: "\F1AD6"; +} + +.mdi-timer-lock-outline::before { + content: "\F1AD7"; +} + +.mdi-timer-marker::before { + content: "\F1AD8"; +} + +.mdi-timer-marker-outline::before { + content: "\F1AD9"; +} + +.mdi-timer-minus::before { + content: "\F1ADA"; +} + +.mdi-timer-minus-outline::before { + content: "\F1ADB"; +} + +.mdi-timer-music::before { + content: "\F1ADC"; +} + +.mdi-timer-music-outline::before { + content: "\F1ADD"; +} + +.mdi-timer-off::before { + content: "\F13AC"; +} + +.mdi-timer-off-outline::before { + content: "\F051E"; +} + +.mdi-timer-outline::before { + content: "\F051B"; +} + +.mdi-timer-pause::before { + content: "\F1ADE"; +} + +.mdi-timer-pause-outline::before { + content: "\F1ADF"; +} + +.mdi-timer-play::before { + content: "\F1AE0"; +} + +.mdi-timer-play-outline::before { + content: "\F1AE1"; +} + +.mdi-timer-plus::before { + content: "\F1AE2"; +} + +.mdi-timer-plus-outline::before { + content: "\F1AE3"; +} + +.mdi-timer-refresh::before { + content: "\F1AE4"; +} + +.mdi-timer-refresh-outline::before { + content: "\F1AE5"; +} + +.mdi-timer-remove::before { + content: "\F1AE6"; +} + +.mdi-timer-remove-outline::before { + content: "\F1AE7"; +} + +.mdi-timer-sand::before { + content: "\F051F"; +} + +.mdi-timer-sand-complete::before { + content: "\F199F"; +} + +.mdi-timer-sand-empty::before { + content: "\F06AD"; +} + +.mdi-timer-sand-full::before { + content: "\F078C"; +} + +.mdi-timer-sand-paused::before { + content: "\F19A0"; +} + +.mdi-timer-settings::before { + content: "\F1923"; +} + +.mdi-timer-settings-outline::before { + content: "\F1924"; +} + +.mdi-timer-star::before { + content: "\F1AE8"; +} + +.mdi-timer-star-outline::before { + content: "\F1AE9"; +} + +.mdi-timer-stop::before { + content: "\F1AEA"; +} + +.mdi-timer-stop-outline::before { + content: "\F1AEB"; +} + +.mdi-timer-sync::before { + content: "\F1AEC"; +} + +.mdi-timer-sync-outline::before { + content: "\F1AED"; +} + +.mdi-timetable::before { + content: "\F0520"; +} + +.mdi-tire::before { + content: "\F1896"; +} + +.mdi-toaster::before { + content: "\F1063"; +} + +.mdi-toaster-off::before { + content: "\F11B7"; +} + +.mdi-toaster-oven::before { + content: "\F0CD3"; +} + +.mdi-toggle-switch::before { + content: "\F0521"; +} + +.mdi-toggle-switch-off::before { + content: "\F0522"; +} + +.mdi-toggle-switch-off-outline::before { + content: "\F0A19"; +} + +.mdi-toggle-switch-outline::before { + content: "\F0A1A"; +} + +.mdi-toggle-switch-variant::before { + content: "\F1A25"; +} + +.mdi-toggle-switch-variant-off::before { + content: "\F1A26"; +} + +.mdi-toilet::before { + content: "\F09AB"; +} + +.mdi-toolbox::before { + content: "\F09AC"; +} + +.mdi-toolbox-outline::before { + content: "\F09AD"; +} + +.mdi-tools::before { + content: "\F1064"; +} + +.mdi-tooltip::before { + content: "\F0523"; +} + +.mdi-tooltip-account::before { + content: "\F000C"; +} + +.mdi-tooltip-cellphone::before { + content: "\F183B"; +} + +.mdi-tooltip-check::before { + content: "\F155C"; +} + +.mdi-tooltip-check-outline::before { + content: "\F155D"; +} + +.mdi-tooltip-edit::before { + content: "\F0524"; +} + +.mdi-tooltip-edit-outline::before { + content: "\F12C5"; +} + +.mdi-tooltip-image::before { + content: "\F0525"; +} + +.mdi-tooltip-image-outline::before { + content: "\F0BD5"; +} + +.mdi-tooltip-minus::before { + content: "\F155E"; +} + +.mdi-tooltip-minus-outline::before { + content: "\F155F"; +} + +.mdi-tooltip-outline::before { + content: "\F0526"; +} + +.mdi-tooltip-plus::before { + content: "\F0BD6"; +} + +.mdi-tooltip-plus-outline::before { + content: "\F0527"; +} + +.mdi-tooltip-question::before { + content: "\F1BBA"; +} + +.mdi-tooltip-question-outline::before { + content: "\F1BBB"; +} + +.mdi-tooltip-remove::before { + content: "\F1560"; +} + +.mdi-tooltip-remove-outline::before { + content: "\F1561"; +} + +.mdi-tooltip-text::before { + content: "\F0528"; +} + +.mdi-tooltip-text-outline::before { + content: "\F0BD7"; +} + +.mdi-tooth::before { + content: "\F08C3"; +} + +.mdi-tooth-outline::before { + content: "\F0529"; +} + +.mdi-toothbrush::before { + content: "\F1129"; +} + +.mdi-toothbrush-electric::before { + content: "\F112C"; +} + +.mdi-toothbrush-paste::before { + content: "\F112A"; +} + +.mdi-torch::before { + content: "\F1606"; +} + +.mdi-tortoise::before { + content: "\F0D3B"; +} + +.mdi-toslink::before { + content: "\F12B8"; +} + +.mdi-touch-text-outline::before { + content: "\F1C60"; +} + +.mdi-tournament::before { + content: "\F09AE"; +} + +.mdi-tow-truck::before { + content: "\F083C"; +} + +.mdi-tower-beach::before { + content: "\F0681"; +} + +.mdi-tower-fire::before { + content: "\F0682"; +} + +.mdi-town-hall::before { + content: "\F1875"; +} + +.mdi-toy-brick::before { + content: "\F1288"; +} + +.mdi-toy-brick-marker::before { + content: "\F1289"; +} + +.mdi-toy-brick-marker-outline::before { + content: "\F128A"; +} + +.mdi-toy-brick-minus::before { + content: "\F128B"; +} + +.mdi-toy-brick-minus-outline::before { + content: "\F128C"; +} + +.mdi-toy-brick-outline::before { + content: "\F128D"; +} + +.mdi-toy-brick-plus::before { + content: "\F128E"; +} + +.mdi-toy-brick-plus-outline::before { + content: "\F128F"; +} + +.mdi-toy-brick-remove::before { + content: "\F1290"; +} + +.mdi-toy-brick-remove-outline::before { + content: "\F1291"; +} + +.mdi-toy-brick-search::before { + content: "\F1292"; +} + +.mdi-toy-brick-search-outline::before { + content: "\F1293"; +} + +.mdi-track-light::before { + content: "\F0914"; +} + +.mdi-track-light-off::before { + content: "\F1B01"; +} + +.mdi-trackpad::before { + content: "\F07F8"; +} + +.mdi-trackpad-lock::before { + content: "\F0933"; +} + +.mdi-tractor::before { + content: "\F0892"; +} + +.mdi-tractor-variant::before { + content: "\F14C4"; +} + +.mdi-trademark::before { + content: "\F0A78"; +} + +.mdi-traffic-cone::before { + content: "\F137C"; +} + +.mdi-traffic-light::before { + content: "\F052B"; +} + +.mdi-traffic-light-outline::before { + content: "\F182A"; +} + +.mdi-train::before { + content: "\F052C"; +} + +.mdi-train-bus::before { + content: "\F1CC7"; +} + +.mdi-train-car::before { + content: "\F0BD8"; +} + +.mdi-train-car-autorack::before { + content: "\F1B2D"; +} + +.mdi-train-car-box::before { + content: "\F1B2E"; +} + +.mdi-train-car-box-full::before { + content: "\F1B2F"; +} + +.mdi-train-car-box-open::before { + content: "\F1B30"; +} + +.mdi-train-car-caboose::before { + content: "\F1B31"; +} + +.mdi-train-car-centerbeam::before { + content: "\F1B32"; +} + +.mdi-train-car-centerbeam-full::before { + content: "\F1B33"; +} + +.mdi-train-car-container::before { + content: "\F1B34"; +} + +.mdi-train-car-flatbed::before { + content: "\F1B35"; +} + +.mdi-train-car-flatbed-car::before { + content: "\F1B36"; +} + +.mdi-train-car-flatbed-tank::before { + content: "\F1B37"; +} + +.mdi-train-car-gondola::before { + content: "\F1B38"; +} + +.mdi-train-car-gondola-full::before { + content: "\F1B39"; +} + +.mdi-train-car-hopper::before { + content: "\F1B3A"; +} + +.mdi-train-car-hopper-covered::before { + content: "\F1B3B"; +} + +.mdi-train-car-hopper-full::before { + content: "\F1B3C"; +} + +.mdi-train-car-intermodal::before { + content: "\F1B3D"; +} + +.mdi-train-car-passenger::before { + content: "\F1733"; +} + +.mdi-train-car-passenger-door::before { + content: "\F1734"; +} + +.mdi-train-car-passenger-door-open::before { + content: "\F1735"; +} + +.mdi-train-car-passenger-variant::before { + content: "\F1736"; +} + +.mdi-train-car-tank::before { + content: "\F1B3E"; +} + +.mdi-train-variant::before { + content: "\F08C4"; +} + +.mdi-tram::before { + content: "\F052D"; +} + +.mdi-tram-side::before { + content: "\F0FE7"; +} + +.mdi-transcribe::before { + content: "\F052E"; +} + +.mdi-transcribe-close::before { + content: "\F052F"; +} + +.mdi-transfer::before { + content: "\F1065"; +} + +.mdi-transfer-down::before { + content: "\F0DA1"; +} + +.mdi-transfer-left::before { + content: "\F0DA2"; +} + +.mdi-transfer-right::before { + content: "\F0530"; +} + +.mdi-transfer-up::before { + content: "\F0DA3"; +} + +.mdi-transit-connection::before { + content: "\F0D3C"; +} + +.mdi-transit-connection-horizontal::before { + content: "\F1546"; +} + +.mdi-transit-connection-variant::before { + content: "\F0D3D"; +} + +.mdi-transit-detour::before { + content: "\F0F8B"; +} + +.mdi-transit-skip::before { + content: "\F1515"; +} + +.mdi-transit-transfer::before { + content: "\F06AE"; +} + +.mdi-transition::before { + content: "\F0915"; +} + +.mdi-transition-masked::before { + content: "\F0916"; +} + +.mdi-translate::before { + content: "\F05CA"; +} + +.mdi-translate-off::before { + content: "\F0E06"; +} + +.mdi-translate-variant::before { + content: "\F1B99"; +} + +.mdi-transmission-tower::before { + content: "\F0D3E"; +} + +.mdi-transmission-tower-export::before { + content: "\F192C"; +} + +.mdi-transmission-tower-import::before { + content: "\F192D"; +} + +.mdi-transmission-tower-off::before { + content: "\F19DD"; +} + +.mdi-trash-can::before { + content: "\F0A79"; +} + +.mdi-trash-can-outline::before { + content: "\F0A7A"; +} + +.mdi-tray::before { + content: "\F1294"; +} + +.mdi-tray-alert::before { + content: "\F1295"; +} + +.mdi-tray-arrow-down::before { + content: "\F0120"; +} + +.mdi-tray-arrow-up::before { + content: "\F011D"; +} + +.mdi-tray-full::before { + content: "\F1296"; +} + +.mdi-tray-minus::before { + content: "\F1297"; +} + +.mdi-tray-plus::before { + content: "\F1298"; +} + +.mdi-tray-remove::before { + content: "\F1299"; +} + +.mdi-treasure-chest::before { + content: "\F0726"; +} + +.mdi-treasure-chest-outline::before { + content: "\F1C77"; +} + +.mdi-tree::before { + content: "\F0531"; +} + +.mdi-tree-outline::before { + content: "\F0E69"; +} + +.mdi-trello::before { + content: "\F0532"; +} + +.mdi-trending-down::before { + content: "\F0533"; +} + +.mdi-trending-neutral::before { + content: "\F0534"; +} + +.mdi-trending-up::before { + content: "\F0535"; +} + +.mdi-triangle::before { + content: "\F0536"; +} + +.mdi-triangle-down::before { + content: "\F1C56"; +} + +.mdi-triangle-down-outline::before { + content: "\F1C57"; +} + +.mdi-triangle-outline::before { + content: "\F0537"; +} + +.mdi-triangle-small-down::before { + content: "\F1A09"; +} + +.mdi-triangle-small-up::before { + content: "\F1A0A"; +} + +.mdi-triangle-wave::before { + content: "\F147C"; +} + +.mdi-triforce::before { + content: "\F0BD9"; +} + +.mdi-trophy::before { + content: "\F0538"; +} + +.mdi-trophy-award::before { + content: "\F0539"; +} + +.mdi-trophy-broken::before { + content: "\F0DA4"; +} + +.mdi-trophy-outline::before { + content: "\F053A"; +} + +.mdi-trophy-variant::before { + content: "\F053B"; +} + +.mdi-trophy-variant-outline::before { + content: "\F053C"; +} + +.mdi-truck::before { + content: "\F053D"; +} + +.mdi-truck-alert::before { + content: "\F19DE"; +} + +.mdi-truck-alert-outline::before { + content: "\F19DF"; +} + +.mdi-truck-cargo-container::before { + content: "\F18D8"; +} + +.mdi-truck-check::before { + content: "\F0CD4"; +} + +.mdi-truck-check-outline::before { + content: "\F129A"; +} + +.mdi-truck-delivery::before { + content: "\F053E"; +} + +.mdi-truck-delivery-outline::before { + content: "\F129B"; +} + +.mdi-truck-fast::before { + content: "\F0788"; +} + +.mdi-truck-fast-outline::before { + content: "\F129C"; +} + +.mdi-truck-flatbed::before { + content: "\F1891"; +} + +.mdi-truck-minus::before { + content: "\F19AE"; +} + +.mdi-truck-minus-outline::before { + content: "\F19BD"; +} + +.mdi-truck-off-road::before { + content: "\F1C9E"; +} + +.mdi-truck-off-road-off::before { + content: "\F1C9F"; +} + +.mdi-truck-outline::before { + content: "\F129D"; +} + +.mdi-truck-plus::before { + content: "\F19AD"; +} + +.mdi-truck-plus-outline::before { + content: "\F19BC"; +} + +.mdi-truck-remove::before { + content: "\F19AF"; +} + +.mdi-truck-remove-outline::before { + content: "\F19BE"; +} + +.mdi-truck-snowflake::before { + content: "\F19A6"; +} + +.mdi-truck-trailer::before { + content: "\F0727"; +} + +.mdi-trumpet::before { + content: "\F1096"; +} + +.mdi-tshirt-crew::before { + content: "\F0A7B"; +} + +.mdi-tshirt-crew-outline::before { + content: "\F053F"; +} + +.mdi-tshirt-v::before { + content: "\F0A7C"; +} + +.mdi-tshirt-v-outline::before { + content: "\F0540"; +} + +.mdi-tsunami::before { + content: "\F1A81"; +} + +.mdi-tumble-dryer::before { + content: "\F0917"; +} + +.mdi-tumble-dryer-alert::before { + content: "\F11BA"; +} + +.mdi-tumble-dryer-off::before { + content: "\F11BB"; +} + +.mdi-tune::before { + content: "\F062E"; +} + +.mdi-tune-variant::before { + content: "\F1542"; +} + +.mdi-tune-vertical::before { + content: "\F066A"; +} + +.mdi-tune-vertical-variant::before { + content: "\F1543"; +} + +.mdi-tunnel::before { + content: "\F183D"; +} + +.mdi-tunnel-outline::before { + content: "\F183E"; +} + +.mdi-turbine::before { + content: "\F1A82"; +} + +.mdi-turkey::before { + content: "\F171B"; +} + +.mdi-turnstile::before { + content: "\F0CD5"; +} + +.mdi-turnstile-outline::before { + content: "\F0CD6"; +} + +.mdi-turtle::before { + content: "\F0CD7"; +} + +.mdi-twitch::before { + content: "\F0543"; +} + +.mdi-twitter::before { + content: "\F0544"; +} + +.mdi-two-factor-authentication::before { + content: "\F09AF"; +} + +.mdi-typewriter::before { + content: "\F0F2D"; +} + +.mdi-ubisoft::before { + content: "\F0BDA"; +} + +.mdi-ubuntu::before { + content: "\F0548"; +} + +.mdi-ufo::before { + content: "\F10C4"; +} + +.mdi-ufo-outline::before { + content: "\F10C5"; +} + +.mdi-ultra-high-definition::before { + content: "\F07F9"; +} + +.mdi-umbraco::before { + content: "\F0549"; +} + +.mdi-umbrella::before { + content: "\F054A"; +} + +.mdi-umbrella-beach::before { + content: "\F188A"; +} + +.mdi-umbrella-beach-outline::before { + content: "\F188B"; +} + +.mdi-umbrella-closed::before { + content: "\F09B0"; +} + +.mdi-umbrella-closed-outline::before { + content: "\F13E2"; +} + +.mdi-umbrella-closed-variant::before { + content: "\F13E1"; +} + +.mdi-umbrella-outline::before { + content: "\F054B"; +} + +.mdi-underwear-outline::before { + content: "\F1D0F"; +} + +.mdi-undo::before { + content: "\F054C"; +} + +.mdi-undo-variant::before { + content: "\F054D"; +} + +.mdi-unfold-less-horizontal::before { + content: "\F054E"; +} + +.mdi-unfold-less-vertical::before { + content: "\F0760"; +} + +.mdi-unfold-more-horizontal::before { + content: "\F054F"; +} + +.mdi-unfold-more-vertical::before { + content: "\F0761"; +} + +.mdi-ungroup::before { + content: "\F0550"; +} + +.mdi-unicode::before { + content: "\F0ED0"; +} + +.mdi-unicorn::before { + content: "\F15C2"; +} + +.mdi-unicorn-variant::before { + content: "\F15C3"; +} + +.mdi-unicycle::before { + content: "\F15E5"; +} + +.mdi-unity::before { + content: "\F06AF"; +} + +.mdi-unreal::before { + content: "\F09B1"; +} + +.mdi-update::before { + content: "\F06B0"; +} + +.mdi-upload::before { + content: "\F0552"; +} + +.mdi-upload-box::before { + content: "\F1D10"; +} + +.mdi-upload-box-outline::before { + content: "\F1D11"; +} + +.mdi-upload-circle::before { + content: "\F1D12"; +} + +.mdi-upload-circle-outline::before { + content: "\F1D13"; +} + +.mdi-upload-lock::before { + content: "\F1373"; +} + +.mdi-upload-lock-outline::before { + content: "\F1374"; +} + +.mdi-upload-multiple::before { + content: "\F083D"; +} + +.mdi-upload-multiple-outline::before { + content: "\F1D14"; +} + +.mdi-upload-network::before { + content: "\F06F6"; +} + +.mdi-upload-network-outline::before { + content: "\F0CD8"; +} + +.mdi-upload-off::before { + content: "\F10C6"; +} + +.mdi-upload-off-outline::before { + content: "\F10C7"; +} + +.mdi-upload-outline::before { + content: "\F0E07"; +} + +.mdi-usb::before { + content: "\F0553"; +} + +.mdi-usb-c-port::before { + content: "\F1CBF"; +} + +.mdi-usb-flash-drive::before { + content: "\F129E"; +} + +.mdi-usb-flash-drive-outline::before { + content: "\F129F"; +} + +.mdi-usb-port::before { + content: "\F11F0"; +} + +.mdi-vacuum::before { + content: "\F19A1"; +} + +.mdi-vacuum-outline::before { + content: "\F19A2"; +} + +.mdi-valve::before { + content: "\F1066"; +} + +.mdi-valve-closed::before { + content: "\F1067"; +} + +.mdi-valve-open::before { + content: "\F1068"; +} + +.mdi-van-passenger::before { + content: "\F07FA"; +} + +.mdi-van-utility::before { + content: "\F07FB"; +} + +.mdi-vanish::before { + content: "\F07FC"; +} + +.mdi-vanish-quarter::before { + content: "\F1554"; +} + +.mdi-vanity-light::before { + content: "\F11E1"; +} + +.mdi-variable::before { + content: "\F0AE7"; +} + +.mdi-variable-box::before { + content: "\F1111"; +} + +.mdi-vector-arrange-above::before { + content: "\F0554"; +} + +.mdi-vector-arrange-below::before { + content: "\F0555"; +} + +.mdi-vector-bezier::before { + content: "\F0AE8"; +} + +.mdi-vector-circle::before { + content: "\F0556"; +} + +.mdi-vector-circle-variant::before { + content: "\F0557"; +} + +.mdi-vector-combine::before { + content: "\F0558"; +} + +.mdi-vector-curve::before { + content: "\F0559"; +} + +.mdi-vector-difference::before { + content: "\F055A"; +} + +.mdi-vector-difference-ab::before { + content: "\F055B"; +} + +.mdi-vector-difference-ba::before { + content: "\F055C"; +} + +.mdi-vector-ellipse::before { + content: "\F0893"; +} + +.mdi-vector-intersection::before { + content: "\F055D"; +} + +.mdi-vector-line::before { + content: "\F055E"; +} + +.mdi-vector-link::before { + content: "\F0FE8"; +} + +.mdi-vector-point::before { + content: "\F01C4"; +} + +.mdi-vector-point-edit::before { + content: "\F09E8"; +} + +.mdi-vector-point-minus::before { + content: "\F1B78"; +} + +.mdi-vector-point-plus::before { + content: "\F1B79"; +} + +.mdi-vector-point-select::before { + content: "\F055F"; +} + +.mdi-vector-polygon::before { + content: "\F0560"; +} + +.mdi-vector-polygon-variant::before { + content: "\F1856"; +} + +.mdi-vector-polyline::before { + content: "\F0561"; +} + +.mdi-vector-polyline-edit::before { + content: "\F1225"; +} + +.mdi-vector-polyline-minus::before { + content: "\F1226"; +} + +.mdi-vector-polyline-plus::before { + content: "\F1227"; +} + +.mdi-vector-polyline-remove::before { + content: "\F1228"; +} + +.mdi-vector-radius::before { + content: "\F074A"; +} + +.mdi-vector-rectangle::before { + content: "\F05C6"; +} + +.mdi-vector-selection::before { + content: "\F0562"; +} + +.mdi-vector-square::before { + content: "\F0001"; +} + +.mdi-vector-square-close::before { + content: "\F1857"; +} + +.mdi-vector-square-edit::before { + content: "\F18D9"; +} + +.mdi-vector-square-minus::before { + content: "\F18DA"; +} + +.mdi-vector-square-open::before { + content: "\F1858"; +} + +.mdi-vector-square-plus::before { + content: "\F18DB"; +} + +.mdi-vector-square-remove::before { + content: "\F18DC"; +} + +.mdi-vector-triangle::before { + content: "\F0563"; +} + +.mdi-vector-union::before { + content: "\F0564"; +} + +.mdi-vhs::before { + content: "\F0A1B"; +} + +.mdi-vibrate::before { + content: "\F0566"; +} + +.mdi-vibrate-off::before { + content: "\F0CD9"; +} + +.mdi-video::before { + content: "\F0567"; +} + +.mdi-video-2d::before { + content: "\F1A1C"; +} + +.mdi-video-3d::before { + content: "\F07FD"; +} + +.mdi-video-3d-off::before { + content: "\F13D9"; +} + +.mdi-video-3d-variant::before { + content: "\F0ED1"; +} + +.mdi-video-4k-box::before { + content: "\F083E"; +} + +.mdi-video-account::before { + content: "\F0919"; +} + +.mdi-video-box::before { + content: "\F00FD"; +} + +.mdi-video-box-off::before { + content: "\F00FE"; +} + +.mdi-video-check::before { + content: "\F1069"; +} + +.mdi-video-check-outline::before { + content: "\F106A"; +} + +.mdi-video-high-definition::before { + content: "\F152E"; +} + +.mdi-video-image::before { + content: "\F091A"; +} + +.mdi-video-input-antenna::before { + content: "\F083F"; +} + +.mdi-video-input-component::before { + content: "\F0840"; +} + +.mdi-video-input-hdmi::before { + content: "\F0841"; +} + +.mdi-video-input-scart::before { + content: "\F0F8C"; +} + +.mdi-video-input-svideo::before { + content: "\F0842"; +} + +.mdi-video-marker::before { + content: "\F19A9"; +} + +.mdi-video-marker-outline::before { + content: "\F19AA"; +} + +.mdi-video-minus::before { + content: "\F09B2"; +} + +.mdi-video-minus-outline::before { + content: "\F02BA"; +} + +.mdi-video-off::before { + content: "\F0568"; +} + +.mdi-video-off-outline::before { + content: "\F0BDB"; +} + +.mdi-video-outline::before { + content: "\F0BDC"; +} + +.mdi-video-plus::before { + content: "\F09B3"; +} + +.mdi-video-plus-outline::before { + content: "\F01D3"; +} + +.mdi-video-stabilization::before { + content: "\F091B"; +} + +.mdi-video-standard-definition::before { + content: "\F1CA0"; +} + +.mdi-video-switch::before { + content: "\F0569"; +} + +.mdi-video-switch-outline::before { + content: "\F0790"; +} + +.mdi-video-vintage::before { + content: "\F0A1C"; +} + +.mdi-video-wireless::before { + content: "\F0ED2"; +} + +.mdi-video-wireless-outline::before { + content: "\F0ED3"; +} + +.mdi-view-agenda::before { + content: "\F056A"; +} + +.mdi-view-agenda-outline::before { + content: "\F11D8"; +} + +.mdi-view-array::before { + content: "\F056B"; +} + +.mdi-view-array-outline::before { + content: "\F1485"; +} + +.mdi-view-carousel::before { + content: "\F056C"; +} + +.mdi-view-carousel-outline::before { + content: "\F1486"; +} + +.mdi-view-column::before { + content: "\F056D"; +} + +.mdi-view-column-outline::before { + content: "\F1487"; +} + +.mdi-view-comfy::before { + content: "\F0E6A"; +} + +.mdi-view-comfy-outline::before { + content: "\F1488"; +} + +.mdi-view-compact::before { + content: "\F0E6B"; +} + +.mdi-view-compact-outline::before { + content: "\F0E6C"; +} + +.mdi-view-dashboard::before { + content: "\F056E"; +} + +.mdi-view-dashboard-edit::before { + content: "\F1947"; +} + +.mdi-view-dashboard-edit-outline::before { + content: "\F1948"; +} + +.mdi-view-dashboard-outline::before { + content: "\F0A1D"; +} + +.mdi-view-dashboard-variant::before { + content: "\F0843"; +} + +.mdi-view-dashboard-variant-outline::before { + content: "\F1489"; +} + +.mdi-view-day::before { + content: "\F056F"; +} + +.mdi-view-day-outline::before { + content: "\F148A"; +} + +.mdi-view-gallery::before { + content: "\F1888"; +} + +.mdi-view-gallery-outline::before { + content: "\F1889"; +} + +.mdi-view-grid::before { + content: "\F0570"; +} + +.mdi-view-grid-compact::before { + content: "\F1C61"; +} + +.mdi-view-grid-outline::before { + content: "\F11D9"; +} + +.mdi-view-grid-plus::before { + content: "\F0F8D"; +} + +.mdi-view-grid-plus-outline::before { + content: "\F11DA"; +} + +.mdi-view-headline::before { + content: "\F0571"; +} + +.mdi-view-list::before { + content: "\F0572"; +} + +.mdi-view-list-outline::before { + content: "\F148B"; +} + +.mdi-view-module::before { + content: "\F0573"; +} + +.mdi-view-module-outline::before { + content: "\F148C"; +} + +.mdi-view-parallel::before { + content: "\F0728"; +} + +.mdi-view-parallel-outline::before { + content: "\F148D"; +} + +.mdi-view-quilt::before { + content: "\F0574"; +} + +.mdi-view-quilt-outline::before { + content: "\F148E"; +} + +.mdi-view-sequential::before { + content: "\F0729"; +} + +.mdi-view-sequential-outline::before { + content: "\F148F"; +} + +.mdi-view-split-horizontal::before { + content: "\F0BCB"; +} + +.mdi-view-split-vertical::before { + content: "\F0BCC"; +} + +.mdi-view-stream::before { + content: "\F0575"; +} + +.mdi-view-stream-outline::before { + content: "\F1490"; +} + +.mdi-view-week::before { + content: "\F0576"; +} + +.mdi-view-week-outline::before { + content: "\F1491"; +} + +.mdi-vimeo::before { + content: "\F0577"; +} + +.mdi-violin::before { + content: "\F060F"; +} + +.mdi-virtual-reality::before { + content: "\F0894"; +} + +.mdi-virus::before { + content: "\F13B6"; +} + +.mdi-virus-off::before { + content: "\F18E1"; +} + +.mdi-virus-off-outline::before { + content: "\F18E2"; +} + +.mdi-virus-outline::before { + content: "\F13B7"; +} + +.mdi-vlc::before { + content: "\F057C"; +} + +.mdi-voicemail::before { + content: "\F057D"; +} + +.mdi-volcano::before { + content: "\F1A83"; +} + +.mdi-volcano-outline::before { + content: "\F1A84"; +} + +.mdi-volleyball::before { + content: "\F09B4"; +} + +.mdi-volume-equal::before { + content: "\F1B10"; +} + +.mdi-volume-high::before { + content: "\F057E"; +} + +.mdi-volume-low::before { + content: "\F057F"; +} + +.mdi-volume-medium::before { + content: "\F0580"; +} + +.mdi-volume-minus::before { + content: "\F075E"; +} + +.mdi-volume-mute::before { + content: "\F075F"; +} + +.mdi-volume-off::before { + content: "\F0581"; +} + +.mdi-volume-plus::before { + content: "\F075D"; +} + +.mdi-volume-source::before { + content: "\F1120"; +} + +.mdi-volume-variant-off::before { + content: "\F0E08"; +} + +.mdi-volume-vibrate::before { + content: "\F1121"; +} + +.mdi-vote::before { + content: "\F0A1F"; +} + +.mdi-vote-outline::before { + content: "\F0A20"; +} + +.mdi-vpn::before { + content: "\F0582"; +} + +.mdi-vuejs::before { + content: "\F0844"; +} + +.mdi-vuetify::before { + content: "\F0E6D"; +} + +.mdi-walk::before { + content: "\F0583"; +} + +.mdi-wall::before { + content: "\F07FE"; +} + +.mdi-wall-fire::before { + content: "\F1A11"; +} + +.mdi-wall-sconce::before { + content: "\F091C"; +} + +.mdi-wall-sconce-flat::before { + content: "\F091D"; +} + +.mdi-wall-sconce-flat-outline::before { + content: "\F17C9"; +} + +.mdi-wall-sconce-flat-variant::before { + content: "\F041C"; +} + +.mdi-wall-sconce-flat-variant-outline::before { + content: "\F17CA"; +} + +.mdi-wall-sconce-outline::before { + content: "\F17CB"; +} + +.mdi-wall-sconce-round::before { + content: "\F0748"; +} + +.mdi-wall-sconce-round-outline::before { + content: "\F17CC"; +} + +.mdi-wall-sconce-round-variant::before { + content: "\F091E"; +} + +.mdi-wall-sconce-round-variant-outline::before { + content: "\F17CD"; +} + +.mdi-wallet::before { + content: "\F0584"; +} + +.mdi-wallet-bifold::before { + content: "\F1C58"; +} + +.mdi-wallet-bifold-outline::before { + content: "\F1C59"; +} + +.mdi-wallet-giftcard::before { + content: "\F0585"; +} + +.mdi-wallet-membership::before { + content: "\F0586"; +} + +.mdi-wallet-outline::before { + content: "\F0BDD"; +} + +.mdi-wallet-plus::before { + content: "\F0F8E"; +} + +.mdi-wallet-plus-outline::before { + content: "\F0F8F"; +} + +.mdi-wallet-travel::before { + content: "\F0587"; +} + +.mdi-wallpaper::before { + content: "\F0E09"; +} + +.mdi-wan::before { + content: "\F0588"; +} + +.mdi-wardrobe::before { + content: "\F0F90"; +} + +.mdi-wardrobe-outline::before { + content: "\F0F91"; +} + +.mdi-warehouse::before { + content: "\F0F81"; +} + +.mdi-washing-machine::before { + content: "\F072A"; +} + +.mdi-washing-machine-alert::before { + content: "\F11BC"; +} + +.mdi-washing-machine-off::before { + content: "\F11BD"; +} + +.mdi-watch::before { + content: "\F0589"; +} + +.mdi-watch-export::before { + content: "\F058A"; +} + +.mdi-watch-export-variant::before { + content: "\F0895"; +} + +.mdi-watch-import::before { + content: "\F058B"; +} + +.mdi-watch-import-variant::before { + content: "\F0896"; +} + +.mdi-watch-variant::before { + content: "\F0897"; +} + +.mdi-watch-vibrate::before { + content: "\F06B1"; +} + +.mdi-watch-vibrate-off::before { + content: "\F0CDA"; +} + +.mdi-water::before { + content: "\F058C"; +} + +.mdi-water-alert::before { + content: "\F1502"; +} + +.mdi-water-alert-outline::before { + content: "\F1503"; +} + +.mdi-water-boiler::before { + content: "\F0F92"; +} + +.mdi-water-boiler-alert::before { + content: "\F11B3"; +} + +.mdi-water-boiler-auto::before { + content: "\F1B98"; +} + +.mdi-water-boiler-off::before { + content: "\F11B4"; +} + +.mdi-water-check::before { + content: "\F1504"; +} + +.mdi-water-check-outline::before { + content: "\F1505"; +} + +.mdi-water-circle::before { + content: "\F1806"; +} + +.mdi-water-minus::before { + content: "\F1506"; +} + +.mdi-water-minus-outline::before { + content: "\F1507"; +} + +.mdi-water-off::before { + content: "\F058D"; +} + +.mdi-water-off-outline::before { + content: "\F1508"; +} + +.mdi-water-opacity::before { + content: "\F1855"; +} + +.mdi-water-outline::before { + content: "\F0E0A"; +} + +.mdi-water-percent::before { + content: "\F058E"; +} + +.mdi-water-percent-alert::before { + content: "\F1509"; +} + +.mdi-water-plus::before { + content: "\F150A"; +} + +.mdi-water-plus-outline::before { + content: "\F150B"; +} + +.mdi-water-polo::before { + content: "\F12A0"; +} + +.mdi-water-pump::before { + content: "\F058F"; +} + +.mdi-water-pump-off::before { + content: "\F0F93"; +} + +.mdi-water-remove::before { + content: "\F150C"; +} + +.mdi-water-remove-outline::before { + content: "\F150D"; +} + +.mdi-water-sync::before { + content: "\F17C6"; +} + +.mdi-water-thermometer::before { + content: "\F1A85"; +} + +.mdi-water-thermometer-outline::before { + content: "\F1A86"; +} + +.mdi-water-well::before { + content: "\F106B"; +} + +.mdi-water-well-outline::before { + content: "\F106C"; +} + +.mdi-waterfall::before { + content: "\F1849"; +} + +.mdi-watering-can::before { + content: "\F1481"; +} + +.mdi-watering-can-outline::before { + content: "\F1482"; +} + +.mdi-watermark::before { + content: "\F0612"; +} + +.mdi-wave::before { + content: "\F0F2E"; +} + +.mdi-wave-arrow-down::before { + content: "\F1CB0"; +} + +.mdi-wave-arrow-up::before { + content: "\F1CB1"; +} + +.mdi-wave-undercurrent::before { + content: "\F1CC0"; +} + +.mdi-waveform::before { + content: "\F147D"; +} + +.mdi-waves::before { + content: "\F078D"; +} + +.mdi-waves-arrow-left::before { + content: "\F1859"; +} + +.mdi-waves-arrow-right::before { + content: "\F185A"; +} + +.mdi-waves-arrow-up::before { + content: "\F185B"; +} + +.mdi-waze::before { + content: "\F0BDE"; +} + +.mdi-weather-cloudy::before { + content: "\F0590"; +} + +.mdi-weather-cloudy-alert::before { + content: "\F0F2F"; +} + +.mdi-weather-cloudy-arrow-right::before { + content: "\F0E6E"; +} + +.mdi-weather-cloudy-clock::before { + content: "\F18F6"; +} + +.mdi-weather-dust::before { + content: "\F1B5A"; +} + +.mdi-weather-fog::before { + content: "\F0591"; +} + +.mdi-weather-hail::before { + content: "\F0592"; +} + +.mdi-weather-hazy::before { + content: "\F0F30"; +} + +.mdi-weather-hurricane::before { + content: "\F0898"; +} + +.mdi-weather-hurricane-outline::before { + content: "\F1C78"; +} + +.mdi-weather-lightning::before { + content: "\F0593"; +} + +.mdi-weather-lightning-rainy::before { + content: "\F067E"; +} + +.mdi-weather-moonset::before { + content: "\F1D15"; +} + +.mdi-weather-moonset-down::before { + content: "\F1D16"; +} + +.mdi-weather-moonset-up::before { + content: "\F1D17"; +} + +.mdi-weather-night::before { + content: "\F0594"; +} + +.mdi-weather-night-partly-cloudy::before { + content: "\F0F31"; +} + +.mdi-weather-partly-cloudy::before { + content: "\F0595"; +} + +.mdi-weather-partly-lightning::before { + content: "\F0F32"; +} + +.mdi-weather-partly-rainy::before { + content: "\F0F33"; +} + +.mdi-weather-partly-snowy::before { + content: "\F0F34"; +} + +.mdi-weather-partly-snowy-rainy::before { + content: "\F0F35"; +} + +.mdi-weather-pouring::before { + content: "\F0596"; +} + +.mdi-weather-rainy::before { + content: "\F0597"; +} + +.mdi-weather-snowy::before { + content: "\F0598"; +} + +.mdi-weather-snowy-heavy::before { + content: "\F0F36"; +} + +.mdi-weather-snowy-rainy::before { + content: "\F067F"; +} + +.mdi-weather-sunny::before { + content: "\F0599"; +} + +.mdi-weather-sunny-alert::before { + content: "\F0F37"; +} + +.mdi-weather-sunny-off::before { + content: "\F14E4"; +} + +.mdi-weather-sunset::before { + content: "\F059A"; +} + +.mdi-weather-sunset-down::before { + content: "\F059B"; +} + +.mdi-weather-sunset-up::before { + content: "\F059C"; +} + +.mdi-weather-tornado::before { + content: "\F0F38"; +} + +.mdi-weather-windy::before { + content: "\F059D"; +} + +.mdi-weather-windy-variant::before { + content: "\F059E"; +} + +.mdi-web::before { + content: "\F059F"; +} + +.mdi-web-box::before { + content: "\F0F94"; +} + +.mdi-web-cancel::before { + content: "\F1790"; +} + +.mdi-web-check::before { + content: "\F0789"; +} + +.mdi-web-clock::before { + content: "\F124A"; +} + +.mdi-web-minus::before { + content: "\F10A0"; +} + +.mdi-web-off::before { + content: "\F0A8E"; +} + +.mdi-web-plus::before { + content: "\F0033"; +} + +.mdi-web-refresh::before { + content: "\F1791"; +} + +.mdi-web-remove::before { + content: "\F0551"; +} + +.mdi-web-sync::before { + content: "\F1792"; +} + +.mdi-webcam::before { + content: "\F05A0"; +} + +.mdi-webcam-off::before { + content: "\F1737"; +} + +.mdi-webhook::before { + content: "\F062F"; +} + +.mdi-webpack::before { + content: "\F072B"; +} + +.mdi-webrtc::before { + content: "\F1248"; +} + +.mdi-wechat::before { + content: "\F0611"; +} + +.mdi-weight::before { + content: "\F05A1"; +} + +.mdi-weight-gram::before { + content: "\F0D3F"; +} + +.mdi-weight-kilogram::before { + content: "\F05A2"; +} + +.mdi-weight-lifter::before { + content: "\F115D"; +} + +.mdi-weight-pound::before { + content: "\F09B5"; +} + +.mdi-whatsapp::before { + content: "\F05A3"; +} + +.mdi-wheel-barrow::before { + content: "\F14F2"; +} + +.mdi-wheelchair::before { + content: "\F1A87"; +} + +.mdi-wheelchair-accessibility::before { + content: "\F05A4"; +} + +.mdi-whistle::before { + content: "\F09B6"; +} + +.mdi-whistle-outline::before { + content: "\F12BC"; +} + +.mdi-white-balance-auto::before { + content: "\F05A5"; +} + +.mdi-white-balance-incandescent::before { + content: "\F05A6"; +} + +.mdi-white-balance-iridescent::before { + content: "\F05A7"; +} + +.mdi-white-balance-sunny::before { + content: "\F05A8"; +} + +.mdi-widgets::before { + content: "\F072C"; +} + +.mdi-widgets-outline::before { + content: "\F1355"; +} + +.mdi-wifi::before { + content: "\F05A9"; +} + +.mdi-wifi-alert::before { + content: "\F16B5"; +} + +.mdi-wifi-arrow-down::before { + content: "\F16B6"; +} + +.mdi-wifi-arrow-left::before { + content: "\F16B7"; +} + +.mdi-wifi-arrow-left-right::before { + content: "\F16B8"; +} + +.mdi-wifi-arrow-right::before { + content: "\F16B9"; +} + +.mdi-wifi-arrow-up::before { + content: "\F16BA"; +} + +.mdi-wifi-arrow-up-down::before { + content: "\F16BB"; +} + +.mdi-wifi-cancel::before { + content: "\F16BC"; +} + +.mdi-wifi-check::before { + content: "\F16BD"; +} + +.mdi-wifi-cog::before { + content: "\F16BE"; +} + +.mdi-wifi-lock::before { + content: "\F16BF"; +} + +.mdi-wifi-lock-open::before { + content: "\F16C0"; +} + +.mdi-wifi-marker::before { + content: "\F16C1"; +} + +.mdi-wifi-minus::before { + content: "\F16C2"; +} + +.mdi-wifi-off::before { + content: "\F05AA"; +} + +.mdi-wifi-plus::before { + content: "\F16C3"; +} + +.mdi-wifi-refresh::before { + content: "\F16C4"; +} + +.mdi-wifi-remove::before { + content: "\F16C5"; +} + +.mdi-wifi-settings::before { + content: "\F16C6"; +} + +.mdi-wifi-star::before { + content: "\F0E0B"; +} + +.mdi-wifi-strength-1::before { + content: "\F091F"; +} + +.mdi-wifi-strength-1-alert::before { + content: "\F0920"; +} + +.mdi-wifi-strength-1-lock::before { + content: "\F0921"; +} + +.mdi-wifi-strength-1-lock-open::before { + content: "\F16CB"; +} + +.mdi-wifi-strength-2::before { + content: "\F0922"; +} + +.mdi-wifi-strength-2-alert::before { + content: "\F0923"; +} + +.mdi-wifi-strength-2-lock::before { + content: "\F0924"; +} + +.mdi-wifi-strength-2-lock-open::before { + content: "\F16CC"; +} + +.mdi-wifi-strength-3::before { + content: "\F0925"; +} + +.mdi-wifi-strength-3-alert::before { + content: "\F0926"; +} + +.mdi-wifi-strength-3-lock::before { + content: "\F0927"; +} + +.mdi-wifi-strength-3-lock-open::before { + content: "\F16CD"; +} + +.mdi-wifi-strength-4::before { + content: "\F0928"; +} + +.mdi-wifi-strength-4-alert::before { + content: "\F0929"; +} + +.mdi-wifi-strength-4-lock::before { + content: "\F092A"; +} + +.mdi-wifi-strength-4-lock-open::before { + content: "\F16CE"; +} + +.mdi-wifi-strength-alert-outline::before { + content: "\F092B"; +} + +.mdi-wifi-strength-lock-open-outline::before { + content: "\F16CF"; +} + +.mdi-wifi-strength-lock-outline::before { + content: "\F092C"; +} + +.mdi-wifi-strength-off::before { + content: "\F092D"; +} + +.mdi-wifi-strength-off-outline::before { + content: "\F092E"; +} + +.mdi-wifi-strength-outline::before { + content: "\F092F"; +} + +.mdi-wifi-sync::before { + content: "\F16C7"; +} + +.mdi-wikipedia::before { + content: "\F05AC"; +} + +.mdi-wind-power::before { + content: "\F1A88"; +} + +.mdi-wind-power-outline::before { + content: "\F1A89"; +} + +.mdi-wind-turbine::before { + content: "\F0DA5"; +} + +.mdi-wind-turbine-alert::before { + content: "\F19AB"; +} + +.mdi-wind-turbine-check::before { + content: "\F19AC"; +} + +.mdi-window-close::before { + content: "\F05AD"; +} + +.mdi-window-closed::before { + content: "\F05AE"; +} + +.mdi-window-closed-variant::before { + content: "\F11DB"; +} + +.mdi-window-maximize::before { + content: "\F05AF"; +} + +.mdi-window-minimize::before { + content: "\F05B0"; +} + +.mdi-window-open::before { + content: "\F05B1"; +} + +.mdi-window-open-variant::before { + content: "\F11DC"; +} + +.mdi-window-restore::before { + content: "\F05B2"; +} + +.mdi-window-shutter::before { + content: "\F111C"; +} + +.mdi-window-shutter-alert::before { + content: "\F111D"; +} + +.mdi-window-shutter-auto::before { + content: "\F1BA3"; +} + +.mdi-window-shutter-cog::before { + content: "\F1A8A"; +} + +.mdi-window-shutter-open::before { + content: "\F111E"; +} + +.mdi-window-shutter-settings::before { + content: "\F1A8B"; +} + +.mdi-windsock::before { + content: "\F15FA"; +} + +.mdi-wiper::before { + content: "\F0AE9"; +} + +.mdi-wiper-wash::before { + content: "\F0DA6"; +} + +.mdi-wiper-wash-alert::before { + content: "\F18DF"; +} + +.mdi-wizard-hat::before { + content: "\F1477"; +} + +.mdi-wordpress::before { + content: "\F05B4"; +} + +.mdi-wrap::before { + content: "\F05B6"; +} + +.mdi-wrap-disabled::before { + content: "\F0BDF"; +} + +.mdi-wrench::before { + content: "\F05B7"; +} + +.mdi-wrench-check::before { + content: "\F1B8F"; +} + +.mdi-wrench-check-outline::before { + content: "\F1B90"; +} + +.mdi-wrench-clock::before { + content: "\F19A3"; +} + +.mdi-wrench-clock-outline::before { + content: "\F1B93"; +} + +.mdi-wrench-cog::before { + content: "\F1B91"; +} + +.mdi-wrench-cog-outline::before { + content: "\F1B92"; +} + +.mdi-wrench-outline::before { + content: "\F0BE0"; +} + +.mdi-xamarin::before { + content: "\F0845"; +} + +.mdi-xml::before { + content: "\F05C0"; +} + +.mdi-xmpp::before { + content: "\F07FF"; +} + +.mdi-yahoo::before { + content: "\F0B4F"; +} + +.mdi-yeast::before { + content: "\F05C1"; +} + +.mdi-yin-yang::before { + content: "\F0680"; +} + +.mdi-yoga::before { + content: "\F117C"; +} + +.mdi-youtube::before { + content: "\F05C3"; +} + +.mdi-youtube-gaming::before { + content: "\F0848"; +} + +.mdi-youtube-studio::before { + content: "\F0847"; +} + +.mdi-youtube-subscription::before { + content: "\F0D40"; +} + +.mdi-youtube-tv::before { + content: "\F0448"; +} + +.mdi-yurt::before { + content: "\F1516"; +} + +.mdi-z-wave::before { + content: "\F0AEA"; +} + +.mdi-zend::before { + content: "\F0AEB"; +} + +.mdi-zigbee::before { + content: "\F0D41"; +} + +.mdi-zip-box::before { + content: "\F05C4"; +} + +.mdi-zip-box-outline::before { + content: "\F0FFA"; +} + +.mdi-zip-disk::before { + content: "\F0A23"; +} + +.mdi-zodiac-aquarius::before { + content: "\F0A7D"; +} + +.mdi-zodiac-aries::before { + content: "\F0A7E"; +} + +.mdi-zodiac-cancer::before { + content: "\F0A7F"; +} + +.mdi-zodiac-capricorn::before { + content: "\F0A80"; +} + +.mdi-zodiac-gemini::before { + content: "\F0A81"; +} + +.mdi-zodiac-leo::before { + content: "\F0A82"; +} + +.mdi-zodiac-libra::before { + content: "\F0A83"; +} + +.mdi-zodiac-pisces::before { + content: "\F0A84"; +} + +.mdi-zodiac-sagittarius::before { + content: "\F0A85"; +} + +.mdi-zodiac-scorpio::before { + content: "\F0A86"; +} + +.mdi-zodiac-taurus::before { + content: "\F0A87"; +} + +.mdi-zodiac-virgo::before { + content: "\F0A88"; +} + +.mdi-blank::before { + content: "\F68C"; + visibility: hidden; +} + +.mdi-18px.mdi-set, .mdi-18px.mdi:before { + font-size: 18px; +} + +.mdi-24px.mdi-set, .mdi-24px.mdi:before { + font-size: 24px; +} + +.mdi-36px.mdi-set, .mdi-36px.mdi:before { + font-size: 36px; +} + +.mdi-48px.mdi-set, .mdi-48px.mdi:before { + font-size: 48px; +} + +.mdi-dark:before { + color: rgba(0, 0, 0, 0.54); +} + +.mdi-dark.mdi-inactive:before { + color: rgba(0, 0, 0, 0.26); +} + +.mdi-light:before { + color: white; +} + +.mdi-light.mdi-inactive:before { + color: rgba(255, 255, 255, 0.3); +} + +.mdi-rotate-45 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(45deg); + transform: scaleX(-1) rotate(45deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(45deg); + -ms-transform: rotate(45deg); + transform: scaleY(-1) rotate(45deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-45:before { + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.mdi-rotate-90 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(90deg); + transform: scaleX(-1) rotate(90deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(90deg); + -ms-transform: rotate(90deg); + transform: scaleY(-1) rotate(90deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-90:before { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.mdi-rotate-135 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(135deg); + transform: scaleX(-1) rotate(135deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(135deg); + -ms-transform: rotate(135deg); + transform: scaleY(-1) rotate(135deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-135:before { + -webkit-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); +} + +.mdi-rotate-180 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(180deg); + transform: scaleX(-1) rotate(180deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(180deg); + -ms-transform: rotate(180deg); + transform: scaleY(-1) rotate(180deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-180:before { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.mdi-rotate-225 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(225deg); + transform: scaleX(-1) rotate(225deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(225deg); + -ms-transform: rotate(225deg); + transform: scaleY(-1) rotate(225deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-225:before { + -webkit-transform: rotate(225deg); + -ms-transform: rotate(225deg); + transform: rotate(225deg); +} + +.mdi-rotate-270 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(270deg); + transform: scaleX(-1) rotate(270deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(270deg); + -ms-transform: rotate(270deg); + transform: scaleY(-1) rotate(270deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-270:before { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} + +.mdi-rotate-315 { + /* + // Not included in production + &.mdi-flip-h:before { + -webkit-transform: scaleX(-1) rotate(315deg); + transform: scaleX(-1) rotate(315deg); + filter: FlipH; + -ms-filter: "FlipH"; + } + &.mdi-flip-v:before { + -webkit-transform: scaleY(-1) rotate(315deg); + -ms-transform: rotate(315deg); + transform: scaleY(-1) rotate(315deg); + filter: FlipV; + -ms-filter: "FlipV"; + } + */ +} + +.mdi-rotate-315:before { + -webkit-transform: rotate(315deg); + -ms-transform: rotate(315deg); + transform: rotate(315deg); +} + +.mdi-flip-h:before { + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; +} + +.mdi-flip-v:before { + -webkit-transform: scaleY(-1); + transform: scaleY(-1); + filter: FlipV; + -ms-filter: "FlipV"; +} + +.mdi-spin:before { + -webkit-animation: mdi-spin 2s infinite linear; + animation: mdi-spin 2s infinite linear; +} + +@-webkit-keyframes mdi-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes mdi-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +/*# sourceMappingURL=materialdesignicons.css.map */ +/* Colors */ +@keyframes v-shake { + 59% { + margin-left: 0; + } + 60%, 80% { + margin-left: 2px; + } + 70%, 90% { + margin-left: -2px; + } +} +/*! * ress.css • v2.0.4 * MIT License * github.com/filipelinhares/ress - */html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:before,:after{background-repeat:no-repeat;box-sizing:inherit}:before,:after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit],[role=button]{cursor:pointer;color:inherit}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}::-ms-clear,::-ms-reveal{display:none}img{border-style:none}progress{vertical-align:baseline}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}@media (prefers-reduced-motion: no-preference){.dialog-transition-enter-active,.dialog-bottom-transition-enter-active,.dialog-top-transition-enter-active{transition-duration:225ms!important;transition-timing-function:cubic-bezier(0,0,.2,1)!important}.dialog-transition-leave-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-leave-active{transition-duration:125ms!important;transition-timing-function:cubic-bezier(.4,0,1,1)!important}.dialog-transition-enter-active,.dialog-transition-leave-active,.dialog-bottom-transition-enter-active,.dialog-bottom-transition-leave-active,.dialog-top-transition-enter-active,.dialog-top-transition-leave-active{transition-property:transform,opacity!important;pointer-events:none}.dialog-transition-enter-from,.dialog-transition-leave-to{transform:scale(.9);opacity:0}.dialog-transition-enter-to,.dialog-transition-leave-from{opacity:1}.dialog-bottom-transition-enter-from,.dialog-bottom-transition-leave-to{transform:translateY(calc(50vh + 50%))}.dialog-top-transition-enter-from,.dialog-top-transition-leave-to{transform:translateY(calc(-50vh - 50%))}.picker-transition-enter-active,.picker-reverse-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move,.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from,.picker-transition-leave-to,.picker-reverse-transition-enter-from,.picker-reverse-transition-leave-to{opacity:0}.picker-transition-leave-from,.picker-transition-leave-active,.picker-transition-leave-to,.picker-reverse-transition-leave-from,.picker-reverse-transition-leave-active,.picker-reverse-transition-leave-to{position:absolute!important}.picker-transition-enter-active,.picker-transition-leave-active,.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-property:transform,opacity!important}.picker-transition-enter-active,.picker-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-transition-enter-from{transform:translate(100%)}.picker-transition-leave-to{transform:translate(-100%)}.picker-reverse-transition-enter-active,.picker-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.picker-reverse-transition-enter-from{transform:translate(-100%)}.picker-reverse-transition-leave-to{transform:translate(100%)}.expand-transition-enter-active,.expand-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-transition-enter-active,.expand-transition-leave-active{transition-property:height!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.expand-x-transition-enter-active,.expand-x-transition-leave-active{transition-property:width!important}.scale-transition-enter-active,.scale-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-transition-leave-to{opacity:0}.scale-transition-leave-active{transition-duration:.1s!important}.scale-transition-enter-from{opacity:0;transform:scale(0)}.scale-transition-enter-active,.scale-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-transition-leave-to{opacity:0}.scale-rotate-transition-leave-active{transition-duration:.1s!important}.scale-rotate-transition-enter-from{opacity:0;transform:scale(0) rotate(-45deg)}.scale-rotate-transition-enter-active,.scale-rotate-transition-leave-active{transition-property:transform,opacity!important}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scale-rotate-reverse-transition-leave-to{opacity:0}.scale-rotate-reverse-transition-leave-active{transition-duration:.1s!important}.scale-rotate-reverse-transition-enter-from{opacity:0;transform:scale(0) rotate(45deg)}.scale-rotate-reverse-transition-enter-active,.scale-rotate-reverse-transition-leave-active{transition-property:transform,opacity!important}.message-transition-enter-active,.message-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.message-transition-enter-from,.message-transition-leave-to{opacity:0;transform:translateY(-15px)}.message-transition-leave-from,.message-transition-leave-active{position:absolute}.message-transition-enter-active,.message-transition-leave-active{transition-property:transform,opacity!important}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-transition-enter-from,.slide-y-transition-leave-to{opacity:0;transform:translateY(-15px)}.slide-y-transition-enter-active,.slide-y-transition-leave-active{transition-property:transform,opacity!important}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-y-reverse-transition-enter-from,.slide-y-reverse-transition-leave-to{opacity:0;transform:translateY(15px)}.slide-y-reverse-transition-enter-active,.slide-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-transition-enter-from,.scroll-y-transition-leave-to{opacity:0}.scroll-y-transition-enter-from{transform:translateY(-15px)}.scroll-y-transition-leave-to{transform:translateY(15px)}.scroll-y-transition-enter-active,.scroll-y-transition-leave-active{transition-property:transform,opacity!important}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-y-reverse-transition-enter-from,.scroll-y-reverse-transition-leave-to{opacity:0}.scroll-y-reverse-transition-enter-from{transform:translateY(15px)}.scroll-y-reverse-transition-leave-to{transform:translateY(-15px)}.scroll-y-reverse-transition-enter-active,.scroll-y-reverse-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-transition-enter-from,.scroll-x-transition-leave-to{opacity:0}.scroll-x-transition-enter-from{transform:translate(-15px)}.scroll-x-transition-leave-to{transform:translate(15px)}.scroll-x-transition-enter-active,.scroll-x-transition-leave-active{transition-property:transform,opacity!important}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.scroll-x-reverse-transition-enter-from,.scroll-x-reverse-transition-leave-to{opacity:0}.scroll-x-reverse-transition-enter-from{transform:translate(15px)}.scroll-x-reverse-transition-leave-to{transform:translate(-15px)}.scroll-x-reverse-transition-enter-active,.scroll-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-transition-enter-from,.slide-x-transition-leave-to{opacity:0;transform:translate(-15px)}.slide-x-transition-enter-active,.slide-x-transition-leave-active{transition-property:transform,opacity!important}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.slide-x-reverse-transition-enter-from,.slide-x-reverse-transition-leave-to{opacity:0;transform:translate(15px)}.slide-x-reverse-transition-enter-active,.slide-x-reverse-transition-leave-active{transition-property:transform,opacity!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fade-transition-enter-from,.fade-transition-leave-to{opacity:0!important}.fade-transition-enter-active,.fade-transition-leave-active{transition-property:opacity!important}.fab-transition-enter-active,.fab-transition-leave-active{transition-duration:.3s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-move{transition-duration:.5s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.fab-transition-enter-from,.fab-transition-leave-to{transform:scale(0) rotate(-45deg)}.fab-transition-enter-active,.fab-transition-leave-active{transition-property:transform!important}}.v-locale--is-rtl{direction:rtl}.v-locale--is-ltr{direction:ltr}.blockquote{padding:16px 0 16px 24px;font-size:18px;font-weight:300}html{font-family:-apple-system,"system-ui",Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;font-size:14px;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0)}html.overflow-y-hidden{overflow-y:hidden!important}:root{--v-theme-overlay-multiplier: 1;--v-scrollbar-offset: 0px}@supports (-webkit-touch-callout: none){body{cursor:pointer}}@media only print{.hidden-print-only{display:none!important}}@media only screen{.hidden-screen-only{display:none!important}}@media (max-width: 599.98px){.hidden-xs{display:none!important}}@media (min-width: 600px) and (max-width: 959.98px){.hidden-sm{display:none!important}}@media (min-width: 960px) and (max-width: 1279.98px){.hidden-md{display:none!important}}@media (min-width: 1280px) and (max-width: 1919.98px){.hidden-lg{display:none!important}}@media (min-width: 1920px) and (max-width: 2559.98px){.hidden-xl{display:none!important}}@media (min-width: 2560px){.hidden-xxl{display:none!important}}@media (min-width: 600px){.hidden-sm-and-up{display:none!important}}@media (min-width: 960px){.hidden-md-and-up{display:none!important}}@media (min-width: 1280px){.hidden-lg-and-up{display:none!important}}@media (min-width: 1920px){.hidden-xl-and-up{display:none!important}}@media (max-width: 959.98px){.hidden-sm-and-down{display:none!important}}@media (max-width: 1279.98px){.hidden-md-and-down{display:none!important}}@media (max-width: 1919.98px){.hidden-lg-and-down{display:none!important}}@media (max-width: 2559.98px){.hidden-xl-and-down{display:none!important}}.elevation-24{box-shadow:0 10px 30px rgba(var(--v-shadow-key-umbra-color),.34),0 0 transparent,0 0 transparent!important}.elevation-23{box-shadow:0 10px 28px rgba(var(--v-shadow-key-umbra-color),.34),0 0 transparent,0 0 transparent!important}.elevation-22{box-shadow:0 9px 27px rgba(var(--v-shadow-key-umbra-color),.32),0 0 transparent,0 0 transparent!important}.elevation-21{box-shadow:0 9px 26px rgba(var(--v-shadow-key-umbra-color),.32),0 0 transparent,0 0 transparent!important}.elevation-20{box-shadow:0 9px 25px rgba(var(--v-shadow-key-umbra-color),.3),0 0 transparent,0 0 transparent!important}.elevation-19{box-shadow:0 8px 24px 6px rgba(var(--v-shadow-key-umbra-color),.28),0 0 transparent,0 0 transparent!important}.elevation-18{box-shadow:0 8px 23px rgba(var(--v-shadow-key-umbra-color),.28),0 0 transparent,0 0 transparent!important}.elevation-17{box-shadow:0 7px 22px rgba(var(--v-shadow-key-umbra-color),.26),0 0 transparent,0 0 transparent!important}.elevation-16{box-shadow:0 7px 21px rgba(var(--v-shadow-key-umbra-color),.26),0 0 transparent,0 0 transparent!important}.elevation-15{box-shadow:0 7px 20px rgba(var(--v-shadow-key-umbra-color),.24),0 0 transparent,0 0 transparent!important}.elevation-14{box-shadow:0 6px 19px rgba(var(--v-shadow-key-umbra-color),.24),0 0 transparent,0 0 transparent!important}.elevation-13{box-shadow:0 6px 18px rgba(var(--v-shadow-key-umbra-color),.22),0 0 transparent,0 0 transparent!important}.elevation-12{box-shadow:0 6px 17px rgba(var(--v-shadow-key-umbra-color),.22),0 0 transparent,0 0 transparent!important}.elevation-11{box-shadow:0 5px 16px rgba(var(--v-shadow-key-umbra-color),.2),0 0 transparent,0 0 transparent!important}.elevation-10{box-shadow:0 8px 28px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xl-opacity)),0 0 transparent,0 0 transparent!important}.elevation-9{box-shadow:0 5px 14px rgba(var(--v-shadow-key-umbra-color),.18),0 0 transparent,0 0 transparent!important}.elevation-8{box-shadow:0 6px 16px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-lg-opacity)),0 0 transparent,0 0 transparent!important}.elevation-7{box-shadow:0 4px 18px rgba(var(--v-shadow-key-umbra-color),.1),0 0 transparent,0 0 transparent!important}.elevation-6{box-shadow:0 4px 10px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-md-opacity)),0 0 transparent,0 0 transparent!important}.elevation-5{box-shadow:0 4px 10px rgba(var(--v-shadow-key-umbra-color),.15),0 0 transparent,0 0 transparent!important}.elevation-4{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent!important}.elevation-3{box-shadow:0 3px 8px rgba(var(--v-shadow-key-umbra-color),.14),0 0 transparent,0 0 transparent!important}.elevation-2{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent!important}.elevation-1{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent!important}.elevation-0{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.pointer-pass-through{pointer-events:none!important}.pointer-pass-through>*{pointer-events:auto!important}.d-sr-only,.d-sr-only-focusable:not(:focus){border:0!important;clip:rect(0,0,0,0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-scroll{overflow-y:scroll!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.v-locale--is-rtl .float-end{float:left!important}.v-locale--is-rtl .float-start,.v-locale--is-ltr .float-end{float:right!important}.v-locale--is-ltr .float-start{float:left!important}.flex-fill,.flex-1-1{flex:1 1 auto!important}.flex-1-0{flex:1 0 auto!important}.flex-0-1{flex:0 1 auto!important}.flex-0-0{flex:0 0 auto!important}.flex-1-1-100{flex:1 1 100%!important}.flex-1-0-100{flex:1 0 100%!important}.flex-0-1-100{flex:0 1 100%!important}.flex-0-0-100{flex:0 0 100%!important}.flex-1-1-0{flex:1 1 0!important}.flex-1-0-0{flex:1 0 0!important}.flex-0-1-0{flex:0 1 0!important}.flex-0-0-0{flex:0 0 0!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.justify-space-between{justify-content:space-between!important}.justify-space-around{justify-content:space-around!important}.justify-space-evenly{justify-content:space-evenly!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.align-center{align-items:center!important}.align-baseline{align-items:baseline!important}.align-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-space-between{align-content:space-between!important}.align-content-space-around{align-content:space-around!important}.align-content-space-evenly{align-content:space-evenly!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-6{order:6!important}.order-7{order:7!important}.order-8{order:8!important}.order-9{order:9!important}.order-10{order:10!important}.order-11{order:11!important}.order-12{order:12!important}.order-last{order:13!important}.ga-0{gap:0px!important}.ga-1{gap:4px!important}.ga-2{gap:8px!important}.ga-3{gap:12px!important}.ga-4{gap:16px!important}.ga-5{gap:20px!important}.ga-6{gap:24px!important}.ga-7{gap:28px!important}.ga-8{gap:32px!important}.ga-9{gap:36px!important}.ga-10{gap:40px!important}.ga-11{gap:44px!important}.ga-12{gap:48px!important}.ga-13{gap:52px!important}.ga-14{gap:56px!important}.ga-15{gap:60px!important}.ga-16{gap:64px!important}.ga-auto{gap:auto!important}.gr-0{row-gap:0px!important}.gr-1{row-gap:4px!important}.gr-2{row-gap:8px!important}.gr-3{row-gap:12px!important}.gr-4{row-gap:16px!important}.gr-5{row-gap:20px!important}.gr-6{row-gap:24px!important}.gr-7{row-gap:28px!important}.gr-8{row-gap:32px!important}.gr-9{row-gap:36px!important}.gr-10{row-gap:40px!important}.gr-11{row-gap:44px!important}.gr-12{row-gap:48px!important}.gr-13{row-gap:52px!important}.gr-14{row-gap:56px!important}.gr-15{row-gap:60px!important}.gr-16{row-gap:64px!important}.gr-auto{row-gap:auto!important}.gc-0{column-gap:0px!important}.gc-1{column-gap:4px!important}.gc-2{column-gap:8px!important}.gc-3{column-gap:12px!important}.gc-4{column-gap:16px!important}.gc-5{column-gap:20px!important}.gc-6{column-gap:24px!important}.gc-7{column-gap:28px!important}.gc-8{column-gap:32px!important}.gc-9{column-gap:36px!important}.gc-10{column-gap:40px!important}.gc-11{column-gap:44px!important}.gc-12{column-gap:48px!important}.gc-13{column-gap:52px!important}.gc-14{column-gap:56px!important}.gc-15{column-gap:60px!important}.gc-16{column-gap:64px!important}.gc-auto{column-gap:auto!important}.ma-0{margin:0!important}.ma-1{margin:4px!important}.ma-2{margin:8px!important}.ma-3{margin:12px!important}.ma-4{margin:16px!important}.ma-5{margin:20px!important}.ma-6{margin:24px!important}.ma-7{margin:28px!important}.ma-8{margin:32px!important}.ma-9{margin:36px!important}.ma-10{margin:40px!important}.ma-11{margin:44px!important}.ma-12{margin:48px!important}.ma-13{margin:52px!important}.ma-14{margin:56px!important}.ma-15{margin:60px!important}.ma-16{margin:64px!important}.ma-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.mx-3{margin-right:12px!important;margin-left:12px!important}.mx-4{margin-right:16px!important;margin-left:16px!important}.mx-5{margin-right:20px!important;margin-left:20px!important}.mx-6{margin-right:24px!important;margin-left:24px!important}.mx-7{margin-right:28px!important;margin-left:28px!important}.mx-8{margin-right:32px!important;margin-left:32px!important}.mx-9{margin-right:36px!important;margin-left:36px!important}.mx-10{margin-right:40px!important;margin-left:40px!important}.mx-11{margin-right:44px!important;margin-left:44px!important}.mx-12{margin-right:48px!important;margin-left:48px!important}.mx-13{margin-right:52px!important;margin-left:52px!important}.mx-14{margin-right:56px!important;margin-left:56px!important}.mx-15{margin-right:60px!important;margin-left:60px!important}.mx-16{margin-right:64px!important;margin-left:64px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.my-3{margin-top:12px!important;margin-bottom:12px!important}.my-4{margin-top:16px!important;margin-bottom:16px!important}.my-5{margin-top:20px!important;margin-bottom:20px!important}.my-6{margin-top:24px!important;margin-bottom:24px!important}.my-7{margin-top:28px!important;margin-bottom:28px!important}.my-8{margin-top:32px!important;margin-bottom:32px!important}.my-9{margin-top:36px!important;margin-bottom:36px!important}.my-10{margin-top:40px!important;margin-bottom:40px!important}.my-11{margin-top:44px!important;margin-bottom:44px!important}.my-12{margin-top:48px!important;margin-bottom:48px!important}.my-13{margin-top:52px!important;margin-bottom:52px!important}.my-14{margin-top:56px!important;margin-bottom:56px!important}.my-15{margin-top:60px!important;margin-bottom:60px!important}.my-16{margin-top:64px!important;margin-bottom:64px!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:4px!important}.mt-2{margin-top:8px!important}.mt-3{margin-top:12px!important}.mt-4{margin-top:16px!important}.mt-5{margin-top:20px!important}.mt-6{margin-top:24px!important}.mt-7{margin-top:28px!important}.mt-8{margin-top:32px!important}.mt-9{margin-top:36px!important}.mt-10{margin-top:40px!important}.mt-11{margin-top:44px!important}.mt-12{margin-top:48px!important}.mt-13{margin-top:52px!important}.mt-14{margin-top:56px!important}.mt-15{margin-top:60px!important}.mt-16{margin-top:64px!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:4px!important}.mr-2{margin-right:8px!important}.mr-3{margin-right:12px!important}.mr-4{margin-right:16px!important}.mr-5{margin-right:20px!important}.mr-6{margin-right:24px!important}.mr-7{margin-right:28px!important}.mr-8{margin-right:32px!important}.mr-9{margin-right:36px!important}.mr-10{margin-right:40px!important}.mr-11{margin-right:44px!important}.mr-12{margin-right:48px!important}.mr-13{margin-right:52px!important}.mr-14{margin-right:56px!important}.mr-15{margin-right:60px!important}.mr-16{margin-right:64px!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:4px!important}.mb-2{margin-bottom:8px!important}.mb-3{margin-bottom:12px!important}.mb-4{margin-bottom:16px!important}.mb-5{margin-bottom:20px!important}.mb-6{margin-bottom:24px!important}.mb-7{margin-bottom:28px!important}.mb-8{margin-bottom:32px!important}.mb-9{margin-bottom:36px!important}.mb-10{margin-bottom:40px!important}.mb-11{margin-bottom:44px!important}.mb-12{margin-bottom:48px!important}.mb-13{margin-bottom:52px!important}.mb-14{margin-bottom:56px!important}.mb-15{margin-bottom:60px!important}.mb-16{margin-bottom:64px!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:4px!important}.ml-2{margin-left:8px!important}.ml-3{margin-left:12px!important}.ml-4{margin-left:16px!important}.ml-5{margin-left:20px!important}.ml-6{margin-left:24px!important}.ml-7{margin-left:28px!important}.ml-8{margin-left:32px!important}.ml-9{margin-left:36px!important}.ml-10{margin-left:40px!important}.ml-11{margin-left:44px!important}.ml-12{margin-left:48px!important}.ml-13{margin-left:52px!important}.ml-14{margin-left:56px!important}.ml-15{margin-left:60px!important}.ml-16{margin-left:64px!important}.ml-auto{margin-left:auto!important}.ms-0{margin-inline-start:0px!important}.ms-1{margin-inline-start:4px!important}.ms-2{margin-inline-start:8px!important}.ms-3{margin-inline-start:12px!important}.ms-4{margin-inline-start:16px!important}.ms-5{margin-inline-start:20px!important}.ms-6{margin-inline-start:24px!important}.ms-7{margin-inline-start:28px!important}.ms-8{margin-inline-start:32px!important}.ms-9{margin-inline-start:36px!important}.ms-10{margin-inline-start:40px!important}.ms-11{margin-inline-start:44px!important}.ms-12{margin-inline-start:48px!important}.ms-13{margin-inline-start:52px!important}.ms-14{margin-inline-start:56px!important}.ms-15{margin-inline-start:60px!important}.ms-16{margin-inline-start:64px!important}.ms-auto{margin-inline-start:auto!important}.me-0{margin-inline-end:0px!important}.me-1{margin-inline-end:4px!important}.me-2{margin-inline-end:8px!important}.me-3{margin-inline-end:12px!important}.me-4{margin-inline-end:16px!important}.me-5{margin-inline-end:20px!important}.me-6{margin-inline-end:24px!important}.me-7{margin-inline-end:28px!important}.me-8{margin-inline-end:32px!important}.me-9{margin-inline-end:36px!important}.me-10{margin-inline-end:40px!important}.me-11{margin-inline-end:44px!important}.me-12{margin-inline-end:48px!important}.me-13{margin-inline-end:52px!important}.me-14{margin-inline-end:56px!important}.me-15{margin-inline-end:60px!important}.me-16{margin-inline-end:64px!important}.me-auto{margin-inline-end:auto!important}.ma-n1{margin:-4px!important}.ma-n2{margin:-8px!important}.ma-n3{margin:-12px!important}.ma-n4{margin:-16px!important}.ma-n5{margin:-20px!important}.ma-n6{margin:-24px!important}.ma-n7{margin:-28px!important}.ma-n8{margin:-32px!important}.ma-n9{margin:-36px!important}.ma-n10{margin:-40px!important}.ma-n11{margin:-44px!important}.ma-n12{margin:-48px!important}.ma-n13{margin:-52px!important}.ma-n14{margin:-56px!important}.ma-n15{margin:-60px!important}.ma-n16{margin:-64px!important}.mx-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-n16{margin-right:-64px!important;margin-left:-64px!important}.my-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-n1{margin-top:-4px!important}.mt-n2{margin-top:-8px!important}.mt-n3{margin-top:-12px!important}.mt-n4{margin-top:-16px!important}.mt-n5{margin-top:-20px!important}.mt-n6{margin-top:-24px!important}.mt-n7{margin-top:-28px!important}.mt-n8{margin-top:-32px!important}.mt-n9{margin-top:-36px!important}.mt-n10{margin-top:-40px!important}.mt-n11{margin-top:-44px!important}.mt-n12{margin-top:-48px!important}.mt-n13{margin-top:-52px!important}.mt-n14{margin-top:-56px!important}.mt-n15{margin-top:-60px!important}.mt-n16{margin-top:-64px!important}.mr-n1{margin-right:-4px!important}.mr-n2{margin-right:-8px!important}.mr-n3{margin-right:-12px!important}.mr-n4{margin-right:-16px!important}.mr-n5{margin-right:-20px!important}.mr-n6{margin-right:-24px!important}.mr-n7{margin-right:-28px!important}.mr-n8{margin-right:-32px!important}.mr-n9{margin-right:-36px!important}.mr-n10{margin-right:-40px!important}.mr-n11{margin-right:-44px!important}.mr-n12{margin-right:-48px!important}.mr-n13{margin-right:-52px!important}.mr-n14{margin-right:-56px!important}.mr-n15{margin-right:-60px!important}.mr-n16{margin-right:-64px!important}.mb-n1{margin-bottom:-4px!important}.mb-n2{margin-bottom:-8px!important}.mb-n3{margin-bottom:-12px!important}.mb-n4{margin-bottom:-16px!important}.mb-n5{margin-bottom:-20px!important}.mb-n6{margin-bottom:-24px!important}.mb-n7{margin-bottom:-28px!important}.mb-n8{margin-bottom:-32px!important}.mb-n9{margin-bottom:-36px!important}.mb-n10{margin-bottom:-40px!important}.mb-n11{margin-bottom:-44px!important}.mb-n12{margin-bottom:-48px!important}.mb-n13{margin-bottom:-52px!important}.mb-n14{margin-bottom:-56px!important}.mb-n15{margin-bottom:-60px!important}.mb-n16{margin-bottom:-64px!important}.ml-n1{margin-left:-4px!important}.ml-n2{margin-left:-8px!important}.ml-n3{margin-left:-12px!important}.ml-n4{margin-left:-16px!important}.ml-n5{margin-left:-20px!important}.ml-n6{margin-left:-24px!important}.ml-n7{margin-left:-28px!important}.ml-n8{margin-left:-32px!important}.ml-n9{margin-left:-36px!important}.ml-n10{margin-left:-40px!important}.ml-n11{margin-left:-44px!important}.ml-n12{margin-left:-48px!important}.ml-n13{margin-left:-52px!important}.ml-n14{margin-left:-56px!important}.ml-n15{margin-left:-60px!important}.ml-n16{margin-left:-64px!important}.ms-n1{margin-inline-start:-4px!important}.ms-n2{margin-inline-start:-8px!important}.ms-n3{margin-inline-start:-12px!important}.ms-n4{margin-inline-start:-16px!important}.ms-n5{margin-inline-start:-20px!important}.ms-n6{margin-inline-start:-24px!important}.ms-n7{margin-inline-start:-28px!important}.ms-n8{margin-inline-start:-32px!important}.ms-n9{margin-inline-start:-36px!important}.ms-n10{margin-inline-start:-40px!important}.ms-n11{margin-inline-start:-44px!important}.ms-n12{margin-inline-start:-48px!important}.ms-n13{margin-inline-start:-52px!important}.ms-n14{margin-inline-start:-56px!important}.ms-n15{margin-inline-start:-60px!important}.ms-n16{margin-inline-start:-64px!important}.me-n1{margin-inline-end:-4px!important}.me-n2{margin-inline-end:-8px!important}.me-n3{margin-inline-end:-12px!important}.me-n4{margin-inline-end:-16px!important}.me-n5{margin-inline-end:-20px!important}.me-n6{margin-inline-end:-24px!important}.me-n7{margin-inline-end:-28px!important}.me-n8{margin-inline-end:-32px!important}.me-n9{margin-inline-end:-36px!important}.me-n10{margin-inline-end:-40px!important}.me-n11{margin-inline-end:-44px!important}.me-n12{margin-inline-end:-48px!important}.me-n13{margin-inline-end:-52px!important}.me-n14{margin-inline-end:-56px!important}.me-n15{margin-inline-end:-60px!important}.me-n16{margin-inline-end:-64px!important}.pa-0{padding:0!important}.pa-1{padding:4px!important}.pa-2{padding:8px!important}.pa-3{padding:12px!important}.pa-4{padding:16px!important}.pa-5{padding:20px!important}.pa-6{padding:24px!important}.pa-7{padding:28px!important}.pa-8{padding:32px!important}.pa-9{padding:36px!important}.pa-10{padding:40px!important}.pa-11{padding:44px!important}.pa-12{padding:48px!important}.pa-13{padding:52px!important}.pa-14{padding:56px!important}.pa-15{padding:60px!important}.pa-16{padding:64px!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:4px!important;padding-left:4px!important}.px-2{padding-right:8px!important;padding-left:8px!important}.px-3{padding-right:12px!important;padding-left:12px!important}.px-4{padding-right:16px!important;padding-left:16px!important}.px-5{padding-right:20px!important;padding-left:20px!important}.px-6{padding-right:24px!important;padding-left:24px!important}.px-7{padding-right:28px!important;padding-left:28px!important}.px-8{padding-right:32px!important;padding-left:32px!important}.px-9{padding-right:36px!important;padding-left:36px!important}.px-10{padding-right:40px!important;padding-left:40px!important}.px-11{padding-right:44px!important;padding-left:44px!important}.px-12{padding-right:48px!important;padding-left:48px!important}.px-13{padding-right:52px!important;padding-left:52px!important}.px-14{padding-right:56px!important;padding-left:56px!important}.px-15{padding-right:60px!important;padding-left:60px!important}.px-16{padding-right:64px!important;padding-left:64px!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.py-3{padding-top:12px!important;padding-bottom:12px!important}.py-4{padding-top:16px!important;padding-bottom:16px!important}.py-5{padding-top:20px!important;padding-bottom:20px!important}.py-6{padding-top:24px!important;padding-bottom:24px!important}.py-7{padding-top:28px!important;padding-bottom:28px!important}.py-8{padding-top:32px!important;padding-bottom:32px!important}.py-9{padding-top:36px!important;padding-bottom:36px!important}.py-10{padding-top:40px!important;padding-bottom:40px!important}.py-11{padding-top:44px!important;padding-bottom:44px!important}.py-12{padding-top:48px!important;padding-bottom:48px!important}.py-13{padding-top:52px!important;padding-bottom:52px!important}.py-14{padding-top:56px!important;padding-bottom:56px!important}.py-15{padding-top:60px!important;padding-bottom:60px!important}.py-16{padding-top:64px!important;padding-bottom:64px!important}.pt-0{padding-top:0!important}.pt-1{padding-top:4px!important}.pt-2{padding-top:8px!important}.pt-3{padding-top:12px!important}.pt-4{padding-top:16px!important}.pt-5{padding-top:20px!important}.pt-6{padding-top:24px!important}.pt-7{padding-top:28px!important}.pt-8{padding-top:32px!important}.pt-9{padding-top:36px!important}.pt-10{padding-top:40px!important}.pt-11{padding-top:44px!important}.pt-12{padding-top:48px!important}.pt-13{padding-top:52px!important}.pt-14{padding-top:56px!important}.pt-15{padding-top:60px!important}.pt-16{padding-top:64px!important}.pr-0{padding-right:0!important}.pr-1{padding-right:4px!important}.pr-2{padding-right:8px!important}.pr-3{padding-right:12px!important}.pr-4{padding-right:16px!important}.pr-5{padding-right:20px!important}.pr-6{padding-right:24px!important}.pr-7{padding-right:28px!important}.pr-8{padding-right:32px!important}.pr-9{padding-right:36px!important}.pr-10{padding-right:40px!important}.pr-11{padding-right:44px!important}.pr-12{padding-right:48px!important}.pr-13{padding-right:52px!important}.pr-14{padding-right:56px!important}.pr-15{padding-right:60px!important}.pr-16{padding-right:64px!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:4px!important}.pb-2{padding-bottom:8px!important}.pb-3{padding-bottom:12px!important}.pb-4{padding-bottom:16px!important}.pb-5{padding-bottom:20px!important}.pb-6{padding-bottom:24px!important}.pb-7{padding-bottom:28px!important}.pb-8{padding-bottom:32px!important}.pb-9{padding-bottom:36px!important}.pb-10{padding-bottom:40px!important}.pb-11{padding-bottom:44px!important}.pb-12{padding-bottom:48px!important}.pb-13{padding-bottom:52px!important}.pb-14{padding-bottom:56px!important}.pb-15{padding-bottom:60px!important}.pb-16{padding-bottom:64px!important}.pl-0{padding-left:0!important}.pl-1{padding-left:4px!important}.pl-2{padding-left:8px!important}.pl-3{padding-left:12px!important}.pl-4{padding-left:16px!important}.pl-5{padding-left:20px!important}.pl-6{padding-left:24px!important}.pl-7{padding-left:28px!important}.pl-8{padding-left:32px!important}.pl-9{padding-left:36px!important}.pl-10{padding-left:40px!important}.pl-11{padding-left:44px!important}.pl-12{padding-left:48px!important}.pl-13{padding-left:52px!important}.pl-14{padding-left:56px!important}.pl-15{padding-left:60px!important}.pl-16{padding-left:64px!important}.ps-0{padding-inline-start:0px!important}.ps-1{padding-inline-start:4px!important}.ps-2{padding-inline-start:8px!important}.ps-3{padding-inline-start:12px!important}.ps-4{padding-inline-start:16px!important}.ps-5{padding-inline-start:20px!important}.ps-6{padding-inline-start:24px!important}.ps-7{padding-inline-start:28px!important}.ps-8{padding-inline-start:32px!important}.ps-9{padding-inline-start:36px!important}.ps-10{padding-inline-start:40px!important}.ps-11{padding-inline-start:44px!important}.ps-12{padding-inline-start:48px!important}.ps-13{padding-inline-start:52px!important}.ps-14{padding-inline-start:56px!important}.ps-15{padding-inline-start:60px!important}.ps-16{padding-inline-start:64px!important}.pe-0{padding-inline-end:0px!important}.pe-1{padding-inline-end:4px!important}.pe-2{padding-inline-end:8px!important}.pe-3{padding-inline-end:12px!important}.pe-4{padding-inline-end:16px!important}.pe-5{padding-inline-end:20px!important}.pe-6{padding-inline-end:24px!important}.pe-7{padding-inline-end:28px!important}.pe-8{padding-inline-end:32px!important}.pe-9{padding-inline-end:36px!important}.pe-10{padding-inline-end:40px!important}.pe-11{padding-inline-end:44px!important}.pe-12{padding-inline-end:48px!important}.pe-13{padding-inline-end:52px!important}.pe-14{padding-inline-end:56px!important}.pe-15{padding-inline-end:60px!important}.pe-16{padding-inline-end:64px!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:2px!important}.rounded{border-radius:4px!important}.rounded-lg{border-radius:8px!important}.rounded-xl{border-radius:24px!important}.rounded-pill{border-radius:9999px!important}.rounded-circle{border-radius:50%!important}.rounded-shaped{border-radius:24px 0!important}.rounded-md{border-radius:4px!important}.rounded-t-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-sm{border-top-left-radius:2px!important;border-top-right-radius:2px!important}.rounded-t{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-t-lg{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-t-xl{border-top-left-radius:24px!important;border-top-right-radius:24px!important}.rounded-t-pill{border-top-left-radius:9999px!important;border-top-right-radius:9999px!important}.rounded-t-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-t-shaped{border-top-left-radius:24px!important;border-top-right-radius:0!important}.rounded-t-md{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-e-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-e-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-e{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-e-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-e-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-e-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-e-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-e-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-e-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-e-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-e-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-e-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-e-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-e-md{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-e-md{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-b-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-b-sm{border-bottom-left-radius:2px!important;border-bottom-right-radius:2px!important}.rounded-b{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-b-lg{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-b-xl{border-bottom-left-radius:24px!important;border-bottom-right-radius:24px!important}.rounded-b-pill{border-bottom-left-radius:9999px!important;border-bottom-right-radius:9999px!important}.rounded-b-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-b-shaped{border-bottom-left-radius:24px!important;border-bottom-right-radius:0!important}.rounded-b-md{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-sm{border-top-left-radius:2px!important;border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-s-sm{border-top-right-radius:2px!important;border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-s{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-s-lg{border-top-left-radius:8px!important;border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-s-lg{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-s-xl{border-top-left-radius:24px!important;border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-s-xl{border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-s-pill{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-s-pill{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-s-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-s-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-s-shaped{border-top-left-radius:24px!important;border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-s-shaped{border-top-right-radius:24px!important;border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-s-md{border-top-left-radius:4px!important;border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-s-md{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-0{border-top-left-radius:0!important}.v-locale--is-rtl .rounded-ts-0{border-top-right-radius:0!important}.v-locale--is-ltr .rounded-ts-sm{border-top-left-radius:2px!important}.v-locale--is-rtl .rounded-ts-sm{border-top-right-radius:2px!important}.v-locale--is-ltr .rounded-ts{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-ts-lg{border-top-left-radius:8px!important}.v-locale--is-rtl .rounded-ts-lg{border-top-right-radius:8px!important}.v-locale--is-ltr .rounded-ts-xl{border-top-left-radius:24px!important}.v-locale--is-rtl .rounded-ts-xl{border-top-right-radius:24px!important}.v-locale--is-ltr .rounded-ts-pill{border-top-left-radius:9999px!important}.v-locale--is-rtl .rounded-ts-pill{border-top-right-radius:9999px!important}.v-locale--is-ltr .rounded-ts-circle{border-top-left-radius:50%!important}.v-locale--is-rtl .rounded-ts-circle{border-top-right-radius:50%!important}.v-locale--is-ltr .rounded-ts-shaped{border-top-left-radius:24px 0!important}.v-locale--is-rtl .rounded-ts-shaped{border-top-right-radius:24px 0!important}.v-locale--is-ltr .rounded-ts-md{border-top-left-radius:4px!important}.v-locale--is-rtl .rounded-ts-md{border-top-right-radius:4px!important}.v-locale--is-ltr .rounded-te-0{border-top-right-radius:0!important}.v-locale--is-rtl .rounded-te-0{border-top-left-radius:0!important}.v-locale--is-ltr .rounded-te-sm{border-top-right-radius:2px!important}.v-locale--is-rtl .rounded-te-sm{border-top-left-radius:2px!important}.v-locale--is-ltr .rounded-te{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-te-lg{border-top-right-radius:8px!important}.v-locale--is-rtl .rounded-te-lg{border-top-left-radius:8px!important}.v-locale--is-ltr .rounded-te-xl{border-top-right-radius:24px!important}.v-locale--is-rtl .rounded-te-xl{border-top-left-radius:24px!important}.v-locale--is-ltr .rounded-te-pill{border-top-right-radius:9999px!important}.v-locale--is-rtl .rounded-te-pill{border-top-left-radius:9999px!important}.v-locale--is-ltr .rounded-te-circle{border-top-right-radius:50%!important}.v-locale--is-rtl .rounded-te-circle{border-top-left-radius:50%!important}.v-locale--is-ltr .rounded-te-shaped{border-top-right-radius:24px 0!important}.v-locale--is-rtl .rounded-te-shaped{border-top-left-radius:24px 0!important}.v-locale--is-ltr .rounded-te-md{border-top-right-radius:4px!important}.v-locale--is-rtl .rounded-te-md{border-top-left-radius:4px!important}.v-locale--is-ltr .rounded-be-0{border-bottom-right-radius:0!important}.v-locale--is-rtl .rounded-be-0{border-bottom-left-radius:0!important}.v-locale--is-ltr .rounded-be-sm{border-bottom-right-radius:2px!important}.v-locale--is-rtl .rounded-be-sm{border-bottom-left-radius:2px!important}.v-locale--is-ltr .rounded-be{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-be-lg{border-bottom-right-radius:8px!important}.v-locale--is-rtl .rounded-be-lg{border-bottom-left-radius:8px!important}.v-locale--is-ltr .rounded-be-xl{border-bottom-right-radius:24px!important}.v-locale--is-rtl .rounded-be-xl{border-bottom-left-radius:24px!important}.v-locale--is-ltr .rounded-be-pill{border-bottom-right-radius:9999px!important}.v-locale--is-rtl .rounded-be-pill{border-bottom-left-radius:9999px!important}.v-locale--is-ltr .rounded-be-circle{border-bottom-right-radius:50%!important}.v-locale--is-rtl .rounded-be-circle{border-bottom-left-radius:50%!important}.v-locale--is-ltr .rounded-be-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-rtl .rounded-be-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-ltr .rounded-be-md{border-bottom-right-radius:4px!important}.v-locale--is-rtl .rounded-be-md{border-bottom-left-radius:4px!important}.v-locale--is-ltr .rounded-bs-0{border-bottom-left-radius:0!important}.v-locale--is-rtl .rounded-bs-0{border-bottom-right-radius:0!important}.v-locale--is-ltr .rounded-bs-sm{border-bottom-left-radius:2px!important}.v-locale--is-rtl .rounded-bs-sm{border-bottom-right-radius:2px!important}.v-locale--is-ltr .rounded-bs{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs{border-bottom-right-radius:4px!important}.v-locale--is-ltr .rounded-bs-lg{border-bottom-left-radius:8px!important}.v-locale--is-rtl .rounded-bs-lg{border-bottom-right-radius:8px!important}.v-locale--is-ltr .rounded-bs-xl{border-bottom-left-radius:24px!important}.v-locale--is-rtl .rounded-bs-xl{border-bottom-right-radius:24px!important}.v-locale--is-ltr .rounded-bs-pill{border-bottom-left-radius:9999px!important}.v-locale--is-rtl .rounded-bs-pill{border-bottom-right-radius:9999px!important}.v-locale--is-ltr .rounded-bs-circle{border-bottom-left-radius:50%!important}.v-locale--is-rtl .rounded-bs-circle{border-bottom-right-radius:50%!important}.v-locale--is-ltr .rounded-bs-shaped{border-bottom-left-radius:24px 0!important}.v-locale--is-rtl .rounded-bs-shaped{border-bottom-right-radius:24px 0!important}.v-locale--is-ltr .rounded-bs-md{border-bottom-left-radius:4px!important}.v-locale--is-rtl .rounded-bs-md{border-bottom-right-radius:4px!important}.border-0{border-width:0!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border,.border-thin{border-width:thin!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-sm{border-width:1px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-md{border-width:2px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-lg{border-width:4px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-xl{border-width:8px!important;border-style:solid!important;border-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-current{border-color:currentColor!important}.border-opacity-0{--v-border-opacity: 0 !important}.border-opacity{--v-border-opacity: .12 !important}.border-opacity-25{--v-border-opacity: .25 !important}.border-opacity-50{--v-border-opacity: .5 !important}.border-opacity-75{--v-border-opacity: .75 !important}.border-opacity-100{--v-border-opacity: 1 !important}.border-t-0{border-block-start-width:0!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t,.border-t-thin{border-block-start-width:thin!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-sm{border-block-start-width:1px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-md{border-block-start-width:2px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-lg{border-block-start-width:4px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-t-xl{border-block-start-width:8px!important;border-block-start-style:solid!important;border-block-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-0{border-inline-end-width:0!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e,.border-e-thin{border-inline-end-width:thin!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-sm{border-inline-end-width:1px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-md{border-inline-end-width:2px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-lg{border-inline-end-width:4px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-e-xl{border-inline-end-width:8px!important;border-inline-end-style:solid!important;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-0{border-block-end-width:0!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b,.border-b-thin{border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-sm{border-block-end-width:1px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-md{border-block-end-width:2px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-lg{border-block-end-width:4px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-b-xl{border-block-end-width:8px!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-0{border-inline-start-width:0!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s,.border-s-thin{border-inline-start-width:thin!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-sm{border-inline-start-width:1px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-md{border-inline-start-width:2px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-lg{border-inline-start-width:4px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-s-xl{border-inline-start-width:8px!important;border-inline-start-style:solid!important;border-inline-start-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.border-solid{border-style:solid!important}.border-dashed{border-style:dashed!important}.border-dotted{border-style:dotted!important}.border-double{border-style:double!important}.border-none{border-style:none!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-start{text-align:start!important}.text-end{text-align:end!important}.text-decoration-line-through{text-decoration:line-through!important}.text-decoration-none{text-decoration:none!important}.text-decoration-overline{text-decoration:overline!important}.text-decoration-underline{text-decoration:underline!important}.text-wrap{white-space:normal!important}.text-no-wrap{white-space:nowrap!important}.text-pre{white-space:pre!important}.text-pre-line{white-space:pre-line!important}.text-pre-wrap{white-space:pre-wrap!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.opacity-hover{opacity:var(--v-hover-opacity)!important}.opacity-focus{opacity:var(--v-focus-opacity)!important}.opacity-selected{opacity:var(--v-selected-opacity)!important}.opacity-activated{opacity:var(--v-activated-opacity)!important}.opacity-pressed{opacity:var(--v-pressed-opacity)!important}.opacity-dragged{opacity:var(--v-dragged-opacity)!important}.opacity-0{opacity:0!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.text-high-emphasis{color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))!important}.text-medium-emphasis{color:rgba(var(--v-theme-on-background),var(--v-medium-emphasis-opacity))!important}.text-disabled{color:rgba(var(--v-theme-on-background),var(--v-disabled-opacity))!important}.text-truncate{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.text-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.text-none{text-transform:none!important}.text-capitalize{text-transform:capitalize!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.font-weight-thin{font-weight:100!important}.font-weight-light{font-weight:300!important}.font-weight-regular{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-bold{font-weight:700!important}.font-weight-black{font-weight:900!important}.font-italic{font-style:italic!important}.text-mono{font-family:monospace!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-fixed{position:fixed!important}.position-absolute{position:absolute!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.cursor-auto{cursor:auto!important}.cursor-default{cursor:default!important}.cursor-pointer{cursor:pointer!important}.cursor-wait{cursor:wait!important}.cursor-text{cursor:text!important}.cursor-move{cursor:move!important}.cursor-help{cursor:help!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-progress{cursor:progress!important}.cursor-grab{cursor:grab!important}.cursor-grabbing{cursor:grabbing!important}.cursor-none{cursor:none!important}.fill-height{height:100%!important}.h-auto{height:auto!important}.h-screen{height:100vh!important}.h-0{height:0!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-screen{height:100dvh!important}.w-auto{width:auto!important}.w-0{width:0!important}.w-25{width:25%!important}.w-33{width:33%!important}.w-50{width:50%!important}.w-66{width:66%!important}.w-75{width:75%!important}.w-100{width:100%!important}@media (min-width: 600px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.float-sm-none{float:none!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.v-locale--is-rtl .float-sm-end{float:left!important}.v-locale--is-rtl .float-sm-start,.v-locale--is-ltr .float-sm-end{float:right!important}.v-locale--is-ltr .float-sm-start{float:left!important}.flex-sm-fill,.flex-sm-1-1{flex:1 1 auto!important}.flex-sm-1-0{flex:1 0 auto!important}.flex-sm-0-1{flex:0 1 auto!important}.flex-sm-0-0{flex:0 0 auto!important}.flex-sm-1-1-100{flex:1 1 100%!important}.flex-sm-1-0-100{flex:1 0 100%!important}.flex-sm-0-1-100{flex:0 1 100%!important}.flex-sm-0-0-100{flex:0 0 100%!important}.flex-sm-1-1-0{flex:1 1 0!important}.flex-sm-1-0-0{flex:1 0 0!important}.flex-sm-0-1-0{flex:0 1 0!important}.flex-sm-0-0-0{flex:0 0 0!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-sm-start{justify-content:flex-start!important}.justify-sm-end{justify-content:flex-end!important}.justify-sm-center{justify-content:center!important}.justify-sm-space-between{justify-content:space-between!important}.justify-sm-space-around{justify-content:space-around!important}.justify-sm-space-evenly{justify-content:space-evenly!important}.align-sm-start{align-items:flex-start!important}.align-sm-end{align-items:flex-end!important}.align-sm-center{align-items:center!important}.align-sm-baseline{align-items:baseline!important}.align-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-space-between{align-content:space-between!important}.align-content-sm-space-around{align-content:space-around!important}.align-content-sm-space-evenly{align-content:space-evenly!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-6{order:6!important}.order-sm-7{order:7!important}.order-sm-8{order:8!important}.order-sm-9{order:9!important}.order-sm-10{order:10!important}.order-sm-11{order:11!important}.order-sm-12{order:12!important}.order-sm-last{order:13!important}.ga-sm-0{gap:0px!important}.ga-sm-1{gap:4px!important}.ga-sm-2{gap:8px!important}.ga-sm-3{gap:12px!important}.ga-sm-4{gap:16px!important}.ga-sm-5{gap:20px!important}.ga-sm-6{gap:24px!important}.ga-sm-7{gap:28px!important}.ga-sm-8{gap:32px!important}.ga-sm-9{gap:36px!important}.ga-sm-10{gap:40px!important}.ga-sm-11{gap:44px!important}.ga-sm-12{gap:48px!important}.ga-sm-13{gap:52px!important}.ga-sm-14{gap:56px!important}.ga-sm-15{gap:60px!important}.ga-sm-16{gap:64px!important}.ga-sm-auto{gap:auto!important}.gr-sm-0{row-gap:0px!important}.gr-sm-1{row-gap:4px!important}.gr-sm-2{row-gap:8px!important}.gr-sm-3{row-gap:12px!important}.gr-sm-4{row-gap:16px!important}.gr-sm-5{row-gap:20px!important}.gr-sm-6{row-gap:24px!important}.gr-sm-7{row-gap:28px!important}.gr-sm-8{row-gap:32px!important}.gr-sm-9{row-gap:36px!important}.gr-sm-10{row-gap:40px!important}.gr-sm-11{row-gap:44px!important}.gr-sm-12{row-gap:48px!important}.gr-sm-13{row-gap:52px!important}.gr-sm-14{row-gap:56px!important}.gr-sm-15{row-gap:60px!important}.gr-sm-16{row-gap:64px!important}.gr-sm-auto{row-gap:auto!important}.gc-sm-0{column-gap:0px!important}.gc-sm-1{column-gap:4px!important}.gc-sm-2{column-gap:8px!important}.gc-sm-3{column-gap:12px!important}.gc-sm-4{column-gap:16px!important}.gc-sm-5{column-gap:20px!important}.gc-sm-6{column-gap:24px!important}.gc-sm-7{column-gap:28px!important}.gc-sm-8{column-gap:32px!important}.gc-sm-9{column-gap:36px!important}.gc-sm-10{column-gap:40px!important}.gc-sm-11{column-gap:44px!important}.gc-sm-12{column-gap:48px!important}.gc-sm-13{column-gap:52px!important}.gc-sm-14{column-gap:56px!important}.gc-sm-15{column-gap:60px!important}.gc-sm-16{column-gap:64px!important}.gc-sm-auto{column-gap:auto!important}.ma-sm-0{margin:0!important}.ma-sm-1{margin:4px!important}.ma-sm-2{margin:8px!important}.ma-sm-3{margin:12px!important}.ma-sm-4{margin:16px!important}.ma-sm-5{margin:20px!important}.ma-sm-6{margin:24px!important}.ma-sm-7{margin:28px!important}.ma-sm-8{margin:32px!important}.ma-sm-9{margin:36px!important}.ma-sm-10{margin:40px!important}.ma-sm-11{margin:44px!important}.ma-sm-12{margin:48px!important}.ma-sm-13{margin:52px!important}.ma-sm-14{margin:56px!important}.ma-sm-15{margin:60px!important}.ma-sm-16{margin:64px!important}.ma-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.mx-sm-3{margin-right:12px!important;margin-left:12px!important}.mx-sm-4{margin-right:16px!important;margin-left:16px!important}.mx-sm-5{margin-right:20px!important;margin-left:20px!important}.mx-sm-6{margin-right:24px!important;margin-left:24px!important}.mx-sm-7{margin-right:28px!important;margin-left:28px!important}.mx-sm-8{margin-right:32px!important;margin-left:32px!important}.mx-sm-9{margin-right:36px!important;margin-left:36px!important}.mx-sm-10{margin-right:40px!important;margin-left:40px!important}.mx-sm-11{margin-right:44px!important;margin-left:44px!important}.mx-sm-12{margin-right:48px!important;margin-left:48px!important}.mx-sm-13{margin-right:52px!important;margin-left:52px!important}.mx-sm-14{margin-right:56px!important;margin-left:56px!important}.mx-sm-15{margin-right:60px!important;margin-left:60px!important}.mx-sm-16{margin-right:64px!important;margin-left:64px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.my-sm-3{margin-top:12px!important;margin-bottom:12px!important}.my-sm-4{margin-top:16px!important;margin-bottom:16px!important}.my-sm-5{margin-top:20px!important;margin-bottom:20px!important}.my-sm-6{margin-top:24px!important;margin-bottom:24px!important}.my-sm-7{margin-top:28px!important;margin-bottom:28px!important}.my-sm-8{margin-top:32px!important;margin-bottom:32px!important}.my-sm-9{margin-top:36px!important;margin-bottom:36px!important}.my-sm-10{margin-top:40px!important;margin-bottom:40px!important}.my-sm-11{margin-top:44px!important;margin-bottom:44px!important}.my-sm-12{margin-top:48px!important;margin-bottom:48px!important}.my-sm-13{margin-top:52px!important;margin-bottom:52px!important}.my-sm-14{margin-top:56px!important;margin-bottom:56px!important}.my-sm-15{margin-top:60px!important;margin-bottom:60px!important}.my-sm-16{margin-top:64px!important;margin-bottom:64px!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:4px!important}.mt-sm-2{margin-top:8px!important}.mt-sm-3{margin-top:12px!important}.mt-sm-4{margin-top:16px!important}.mt-sm-5{margin-top:20px!important}.mt-sm-6{margin-top:24px!important}.mt-sm-7{margin-top:28px!important}.mt-sm-8{margin-top:32px!important}.mt-sm-9{margin-top:36px!important}.mt-sm-10{margin-top:40px!important}.mt-sm-11{margin-top:44px!important}.mt-sm-12{margin-top:48px!important}.mt-sm-13{margin-top:52px!important}.mt-sm-14{margin-top:56px!important}.mt-sm-15{margin-top:60px!important}.mt-sm-16{margin-top:64px!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:4px!important}.mr-sm-2{margin-right:8px!important}.mr-sm-3{margin-right:12px!important}.mr-sm-4{margin-right:16px!important}.mr-sm-5{margin-right:20px!important}.mr-sm-6{margin-right:24px!important}.mr-sm-7{margin-right:28px!important}.mr-sm-8{margin-right:32px!important}.mr-sm-9{margin-right:36px!important}.mr-sm-10{margin-right:40px!important}.mr-sm-11{margin-right:44px!important}.mr-sm-12{margin-right:48px!important}.mr-sm-13{margin-right:52px!important}.mr-sm-14{margin-right:56px!important}.mr-sm-15{margin-right:60px!important}.mr-sm-16{margin-right:64px!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:4px!important}.mb-sm-2{margin-bottom:8px!important}.mb-sm-3{margin-bottom:12px!important}.mb-sm-4{margin-bottom:16px!important}.mb-sm-5{margin-bottom:20px!important}.mb-sm-6{margin-bottom:24px!important}.mb-sm-7{margin-bottom:28px!important}.mb-sm-8{margin-bottom:32px!important}.mb-sm-9{margin-bottom:36px!important}.mb-sm-10{margin-bottom:40px!important}.mb-sm-11{margin-bottom:44px!important}.mb-sm-12{margin-bottom:48px!important}.mb-sm-13{margin-bottom:52px!important}.mb-sm-14{margin-bottom:56px!important}.mb-sm-15{margin-bottom:60px!important}.mb-sm-16{margin-bottom:64px!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:4px!important}.ml-sm-2{margin-left:8px!important}.ml-sm-3{margin-left:12px!important}.ml-sm-4{margin-left:16px!important}.ml-sm-5{margin-left:20px!important}.ml-sm-6{margin-left:24px!important}.ml-sm-7{margin-left:28px!important}.ml-sm-8{margin-left:32px!important}.ml-sm-9{margin-left:36px!important}.ml-sm-10{margin-left:40px!important}.ml-sm-11{margin-left:44px!important}.ml-sm-12{margin-left:48px!important}.ml-sm-13{margin-left:52px!important}.ml-sm-14{margin-left:56px!important}.ml-sm-15{margin-left:60px!important}.ml-sm-16{margin-left:64px!important}.ml-sm-auto{margin-left:auto!important}.ms-sm-0{margin-inline-start:0px!important}.ms-sm-1{margin-inline-start:4px!important}.ms-sm-2{margin-inline-start:8px!important}.ms-sm-3{margin-inline-start:12px!important}.ms-sm-4{margin-inline-start:16px!important}.ms-sm-5{margin-inline-start:20px!important}.ms-sm-6{margin-inline-start:24px!important}.ms-sm-7{margin-inline-start:28px!important}.ms-sm-8{margin-inline-start:32px!important}.ms-sm-9{margin-inline-start:36px!important}.ms-sm-10{margin-inline-start:40px!important}.ms-sm-11{margin-inline-start:44px!important}.ms-sm-12{margin-inline-start:48px!important}.ms-sm-13{margin-inline-start:52px!important}.ms-sm-14{margin-inline-start:56px!important}.ms-sm-15{margin-inline-start:60px!important}.ms-sm-16{margin-inline-start:64px!important}.ms-sm-auto{margin-inline-start:auto!important}.me-sm-0{margin-inline-end:0px!important}.me-sm-1{margin-inline-end:4px!important}.me-sm-2{margin-inline-end:8px!important}.me-sm-3{margin-inline-end:12px!important}.me-sm-4{margin-inline-end:16px!important}.me-sm-5{margin-inline-end:20px!important}.me-sm-6{margin-inline-end:24px!important}.me-sm-7{margin-inline-end:28px!important}.me-sm-8{margin-inline-end:32px!important}.me-sm-9{margin-inline-end:36px!important}.me-sm-10{margin-inline-end:40px!important}.me-sm-11{margin-inline-end:44px!important}.me-sm-12{margin-inline-end:48px!important}.me-sm-13{margin-inline-end:52px!important}.me-sm-14{margin-inline-end:56px!important}.me-sm-15{margin-inline-end:60px!important}.me-sm-16{margin-inline-end:64px!important}.me-sm-auto{margin-inline-end:auto!important}.ma-sm-n1{margin:-4px!important}.ma-sm-n2{margin:-8px!important}.ma-sm-n3{margin:-12px!important}.ma-sm-n4{margin:-16px!important}.ma-sm-n5{margin:-20px!important}.ma-sm-n6{margin:-24px!important}.ma-sm-n7{margin:-28px!important}.ma-sm-n8{margin:-32px!important}.ma-sm-n9{margin:-36px!important}.ma-sm-n10{margin:-40px!important}.ma-sm-n11{margin:-44px!important}.ma-sm-n12{margin:-48px!important}.ma-sm-n13{margin:-52px!important}.ma-sm-n14{margin:-56px!important}.ma-sm-n15{margin:-60px!important}.ma-sm-n16{margin:-64px!important}.mx-sm-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-sm-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-sm-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-sm-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-sm-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-sm-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-sm-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-sm-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-sm-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-sm-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-sm-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-sm-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-sm-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-sm-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-sm-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-sm-n16{margin-right:-64px!important;margin-left:-64px!important}.my-sm-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-sm-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-sm-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-sm-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-sm-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-sm-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-sm-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-sm-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-sm-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-sm-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-sm-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-sm-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-sm-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-sm-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-sm-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-sm-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-sm-n1{margin-top:-4px!important}.mt-sm-n2{margin-top:-8px!important}.mt-sm-n3{margin-top:-12px!important}.mt-sm-n4{margin-top:-16px!important}.mt-sm-n5{margin-top:-20px!important}.mt-sm-n6{margin-top:-24px!important}.mt-sm-n7{margin-top:-28px!important}.mt-sm-n8{margin-top:-32px!important}.mt-sm-n9{margin-top:-36px!important}.mt-sm-n10{margin-top:-40px!important}.mt-sm-n11{margin-top:-44px!important}.mt-sm-n12{margin-top:-48px!important}.mt-sm-n13{margin-top:-52px!important}.mt-sm-n14{margin-top:-56px!important}.mt-sm-n15{margin-top:-60px!important}.mt-sm-n16{margin-top:-64px!important}.mr-sm-n1{margin-right:-4px!important}.mr-sm-n2{margin-right:-8px!important}.mr-sm-n3{margin-right:-12px!important}.mr-sm-n4{margin-right:-16px!important}.mr-sm-n5{margin-right:-20px!important}.mr-sm-n6{margin-right:-24px!important}.mr-sm-n7{margin-right:-28px!important}.mr-sm-n8{margin-right:-32px!important}.mr-sm-n9{margin-right:-36px!important}.mr-sm-n10{margin-right:-40px!important}.mr-sm-n11{margin-right:-44px!important}.mr-sm-n12{margin-right:-48px!important}.mr-sm-n13{margin-right:-52px!important}.mr-sm-n14{margin-right:-56px!important}.mr-sm-n15{margin-right:-60px!important}.mr-sm-n16{margin-right:-64px!important}.mb-sm-n1{margin-bottom:-4px!important}.mb-sm-n2{margin-bottom:-8px!important}.mb-sm-n3{margin-bottom:-12px!important}.mb-sm-n4{margin-bottom:-16px!important}.mb-sm-n5{margin-bottom:-20px!important}.mb-sm-n6{margin-bottom:-24px!important}.mb-sm-n7{margin-bottom:-28px!important}.mb-sm-n8{margin-bottom:-32px!important}.mb-sm-n9{margin-bottom:-36px!important}.mb-sm-n10{margin-bottom:-40px!important}.mb-sm-n11{margin-bottom:-44px!important}.mb-sm-n12{margin-bottom:-48px!important}.mb-sm-n13{margin-bottom:-52px!important}.mb-sm-n14{margin-bottom:-56px!important}.mb-sm-n15{margin-bottom:-60px!important}.mb-sm-n16{margin-bottom:-64px!important}.ml-sm-n1{margin-left:-4px!important}.ml-sm-n2{margin-left:-8px!important}.ml-sm-n3{margin-left:-12px!important}.ml-sm-n4{margin-left:-16px!important}.ml-sm-n5{margin-left:-20px!important}.ml-sm-n6{margin-left:-24px!important}.ml-sm-n7{margin-left:-28px!important}.ml-sm-n8{margin-left:-32px!important}.ml-sm-n9{margin-left:-36px!important}.ml-sm-n10{margin-left:-40px!important}.ml-sm-n11{margin-left:-44px!important}.ml-sm-n12{margin-left:-48px!important}.ml-sm-n13{margin-left:-52px!important}.ml-sm-n14{margin-left:-56px!important}.ml-sm-n15{margin-left:-60px!important}.ml-sm-n16{margin-left:-64px!important}.ms-sm-n1{margin-inline-start:-4px!important}.ms-sm-n2{margin-inline-start:-8px!important}.ms-sm-n3{margin-inline-start:-12px!important}.ms-sm-n4{margin-inline-start:-16px!important}.ms-sm-n5{margin-inline-start:-20px!important}.ms-sm-n6{margin-inline-start:-24px!important}.ms-sm-n7{margin-inline-start:-28px!important}.ms-sm-n8{margin-inline-start:-32px!important}.ms-sm-n9{margin-inline-start:-36px!important}.ms-sm-n10{margin-inline-start:-40px!important}.ms-sm-n11{margin-inline-start:-44px!important}.ms-sm-n12{margin-inline-start:-48px!important}.ms-sm-n13{margin-inline-start:-52px!important}.ms-sm-n14{margin-inline-start:-56px!important}.ms-sm-n15{margin-inline-start:-60px!important}.ms-sm-n16{margin-inline-start:-64px!important}.me-sm-n1{margin-inline-end:-4px!important}.me-sm-n2{margin-inline-end:-8px!important}.me-sm-n3{margin-inline-end:-12px!important}.me-sm-n4{margin-inline-end:-16px!important}.me-sm-n5{margin-inline-end:-20px!important}.me-sm-n6{margin-inline-end:-24px!important}.me-sm-n7{margin-inline-end:-28px!important}.me-sm-n8{margin-inline-end:-32px!important}.me-sm-n9{margin-inline-end:-36px!important}.me-sm-n10{margin-inline-end:-40px!important}.me-sm-n11{margin-inline-end:-44px!important}.me-sm-n12{margin-inline-end:-48px!important}.me-sm-n13{margin-inline-end:-52px!important}.me-sm-n14{margin-inline-end:-56px!important}.me-sm-n15{margin-inline-end:-60px!important}.me-sm-n16{margin-inline-end:-64px!important}.pa-sm-0{padding:0!important}.pa-sm-1{padding:4px!important}.pa-sm-2{padding:8px!important}.pa-sm-3{padding:12px!important}.pa-sm-4{padding:16px!important}.pa-sm-5{padding:20px!important}.pa-sm-6{padding:24px!important}.pa-sm-7{padding:28px!important}.pa-sm-8{padding:32px!important}.pa-sm-9{padding:36px!important}.pa-sm-10{padding:40px!important}.pa-sm-11{padding:44px!important}.pa-sm-12{padding:48px!important}.pa-sm-13{padding:52px!important}.pa-sm-14{padding:56px!important}.pa-sm-15{padding:60px!important}.pa-sm-16{padding:64px!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:4px!important;padding-left:4px!important}.px-sm-2{padding-right:8px!important;padding-left:8px!important}.px-sm-3{padding-right:12px!important;padding-left:12px!important}.px-sm-4{padding-right:16px!important;padding-left:16px!important}.px-sm-5{padding-right:20px!important;padding-left:20px!important}.px-sm-6{padding-right:24px!important;padding-left:24px!important}.px-sm-7{padding-right:28px!important;padding-left:28px!important}.px-sm-8{padding-right:32px!important;padding-left:32px!important}.px-sm-9{padding-right:36px!important;padding-left:36px!important}.px-sm-10{padding-right:40px!important;padding-left:40px!important}.px-sm-11{padding-right:44px!important;padding-left:44px!important}.px-sm-12{padding-right:48px!important;padding-left:48px!important}.px-sm-13{padding-right:52px!important;padding-left:52px!important}.px-sm-14{padding-right:56px!important;padding-left:56px!important}.px-sm-15{padding-right:60px!important;padding-left:60px!important}.px-sm-16{padding-right:64px!important;padding-left:64px!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.py-sm-3{padding-top:12px!important;padding-bottom:12px!important}.py-sm-4{padding-top:16px!important;padding-bottom:16px!important}.py-sm-5{padding-top:20px!important;padding-bottom:20px!important}.py-sm-6{padding-top:24px!important;padding-bottom:24px!important}.py-sm-7{padding-top:28px!important;padding-bottom:28px!important}.py-sm-8{padding-top:32px!important;padding-bottom:32px!important}.py-sm-9{padding-top:36px!important;padding-bottom:36px!important}.py-sm-10{padding-top:40px!important;padding-bottom:40px!important}.py-sm-11{padding-top:44px!important;padding-bottom:44px!important}.py-sm-12{padding-top:48px!important;padding-bottom:48px!important}.py-sm-13{padding-top:52px!important;padding-bottom:52px!important}.py-sm-14{padding-top:56px!important;padding-bottom:56px!important}.py-sm-15{padding-top:60px!important;padding-bottom:60px!important}.py-sm-16{padding-top:64px!important;padding-bottom:64px!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:4px!important}.pt-sm-2{padding-top:8px!important}.pt-sm-3{padding-top:12px!important}.pt-sm-4{padding-top:16px!important}.pt-sm-5{padding-top:20px!important}.pt-sm-6{padding-top:24px!important}.pt-sm-7{padding-top:28px!important}.pt-sm-8{padding-top:32px!important}.pt-sm-9{padding-top:36px!important}.pt-sm-10{padding-top:40px!important}.pt-sm-11{padding-top:44px!important}.pt-sm-12{padding-top:48px!important}.pt-sm-13{padding-top:52px!important}.pt-sm-14{padding-top:56px!important}.pt-sm-15{padding-top:60px!important}.pt-sm-16{padding-top:64px!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:4px!important}.pr-sm-2{padding-right:8px!important}.pr-sm-3{padding-right:12px!important}.pr-sm-4{padding-right:16px!important}.pr-sm-5{padding-right:20px!important}.pr-sm-6{padding-right:24px!important}.pr-sm-7{padding-right:28px!important}.pr-sm-8{padding-right:32px!important}.pr-sm-9{padding-right:36px!important}.pr-sm-10{padding-right:40px!important}.pr-sm-11{padding-right:44px!important}.pr-sm-12{padding-right:48px!important}.pr-sm-13{padding-right:52px!important}.pr-sm-14{padding-right:56px!important}.pr-sm-15{padding-right:60px!important}.pr-sm-16{padding-right:64px!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:4px!important}.pb-sm-2{padding-bottom:8px!important}.pb-sm-3{padding-bottom:12px!important}.pb-sm-4{padding-bottom:16px!important}.pb-sm-5{padding-bottom:20px!important}.pb-sm-6{padding-bottom:24px!important}.pb-sm-7{padding-bottom:28px!important}.pb-sm-8{padding-bottom:32px!important}.pb-sm-9{padding-bottom:36px!important}.pb-sm-10{padding-bottom:40px!important}.pb-sm-11{padding-bottom:44px!important}.pb-sm-12{padding-bottom:48px!important}.pb-sm-13{padding-bottom:52px!important}.pb-sm-14{padding-bottom:56px!important}.pb-sm-15{padding-bottom:60px!important}.pb-sm-16{padding-bottom:64px!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:4px!important}.pl-sm-2{padding-left:8px!important}.pl-sm-3{padding-left:12px!important}.pl-sm-4{padding-left:16px!important}.pl-sm-5{padding-left:20px!important}.pl-sm-6{padding-left:24px!important}.pl-sm-7{padding-left:28px!important}.pl-sm-8{padding-left:32px!important}.pl-sm-9{padding-left:36px!important}.pl-sm-10{padding-left:40px!important}.pl-sm-11{padding-left:44px!important}.pl-sm-12{padding-left:48px!important}.pl-sm-13{padding-left:52px!important}.pl-sm-14{padding-left:56px!important}.pl-sm-15{padding-left:60px!important}.pl-sm-16{padding-left:64px!important}.ps-sm-0{padding-inline-start:0px!important}.ps-sm-1{padding-inline-start:4px!important}.ps-sm-2{padding-inline-start:8px!important}.ps-sm-3{padding-inline-start:12px!important}.ps-sm-4{padding-inline-start:16px!important}.ps-sm-5{padding-inline-start:20px!important}.ps-sm-6{padding-inline-start:24px!important}.ps-sm-7{padding-inline-start:28px!important}.ps-sm-8{padding-inline-start:32px!important}.ps-sm-9{padding-inline-start:36px!important}.ps-sm-10{padding-inline-start:40px!important}.ps-sm-11{padding-inline-start:44px!important}.ps-sm-12{padding-inline-start:48px!important}.ps-sm-13{padding-inline-start:52px!important}.ps-sm-14{padding-inline-start:56px!important}.ps-sm-15{padding-inline-start:60px!important}.ps-sm-16{padding-inline-start:64px!important}.pe-sm-0{padding-inline-end:0px!important}.pe-sm-1{padding-inline-end:4px!important}.pe-sm-2{padding-inline-end:8px!important}.pe-sm-3{padding-inline-end:12px!important}.pe-sm-4{padding-inline-end:16px!important}.pe-sm-5{padding-inline-end:20px!important}.pe-sm-6{padding-inline-end:24px!important}.pe-sm-7{padding-inline-end:28px!important}.pe-sm-8{padding-inline-end:32px!important}.pe-sm-9{padding-inline-end:36px!important}.pe-sm-10{padding-inline-end:40px!important}.pe-sm-11{padding-inline-end:44px!important}.pe-sm-12{padding-inline-end:48px!important}.pe-sm-13{padding-inline-end:52px!important}.pe-sm-14{padding-inline-end:56px!important}.pe-sm-15{padding-inline-end:60px!important}.pe-sm-16{padding-inline-end:64px!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}.text-sm-start{text-align:start!important}.text-sm-end{text-align:end!important}.text-sm-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-sm-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-sm-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-sm-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-sm-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-sm-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-sm-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-sm-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-sm-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-sm-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-sm-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-sm-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-sm-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.h-sm-auto{height:auto!important}.h-sm-screen{height:100vh!important}.h-sm-0{height:0!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.w-sm-auto{width:auto!important}.w-sm-0{width:0!important}.w-sm-25{width:25%!important}.w-sm-33{width:33%!important}.w-sm-50{width:50%!important}.w-sm-66{width:66%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}}@media (min-width: 960px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.float-md-none{float:none!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.v-locale--is-rtl .float-md-end{float:left!important}.v-locale--is-rtl .float-md-start,.v-locale--is-ltr .float-md-end{float:right!important}.v-locale--is-ltr .float-md-start{float:left!important}.flex-md-fill,.flex-md-1-1{flex:1 1 auto!important}.flex-md-1-0{flex:1 0 auto!important}.flex-md-0-1{flex:0 1 auto!important}.flex-md-0-0{flex:0 0 auto!important}.flex-md-1-1-100{flex:1 1 100%!important}.flex-md-1-0-100{flex:1 0 100%!important}.flex-md-0-1-100{flex:0 1 100%!important}.flex-md-0-0-100{flex:0 0 100%!important}.flex-md-1-1-0{flex:1 1 0!important}.flex-md-1-0-0{flex:1 0 0!important}.flex-md-0-1-0{flex:0 1 0!important}.flex-md-0-0-0{flex:0 0 0!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-md-start{justify-content:flex-start!important}.justify-md-end{justify-content:flex-end!important}.justify-md-center{justify-content:center!important}.justify-md-space-between{justify-content:space-between!important}.justify-md-space-around{justify-content:space-around!important}.justify-md-space-evenly{justify-content:space-evenly!important}.align-md-start{align-items:flex-start!important}.align-md-end{align-items:flex-end!important}.align-md-center{align-items:center!important}.align-md-baseline{align-items:baseline!important}.align-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-space-between{align-content:space-between!important}.align-content-md-space-around{align-content:space-around!important}.align-content-md-space-evenly{align-content:space-evenly!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-6{order:6!important}.order-md-7{order:7!important}.order-md-8{order:8!important}.order-md-9{order:9!important}.order-md-10{order:10!important}.order-md-11{order:11!important}.order-md-12{order:12!important}.order-md-last{order:13!important}.ga-md-0{gap:0px!important}.ga-md-1{gap:4px!important}.ga-md-2{gap:8px!important}.ga-md-3{gap:12px!important}.ga-md-4{gap:16px!important}.ga-md-5{gap:20px!important}.ga-md-6{gap:24px!important}.ga-md-7{gap:28px!important}.ga-md-8{gap:32px!important}.ga-md-9{gap:36px!important}.ga-md-10{gap:40px!important}.ga-md-11{gap:44px!important}.ga-md-12{gap:48px!important}.ga-md-13{gap:52px!important}.ga-md-14{gap:56px!important}.ga-md-15{gap:60px!important}.ga-md-16{gap:64px!important}.ga-md-auto{gap:auto!important}.gr-md-0{row-gap:0px!important}.gr-md-1{row-gap:4px!important}.gr-md-2{row-gap:8px!important}.gr-md-3{row-gap:12px!important}.gr-md-4{row-gap:16px!important}.gr-md-5{row-gap:20px!important}.gr-md-6{row-gap:24px!important}.gr-md-7{row-gap:28px!important}.gr-md-8{row-gap:32px!important}.gr-md-9{row-gap:36px!important}.gr-md-10{row-gap:40px!important}.gr-md-11{row-gap:44px!important}.gr-md-12{row-gap:48px!important}.gr-md-13{row-gap:52px!important}.gr-md-14{row-gap:56px!important}.gr-md-15{row-gap:60px!important}.gr-md-16{row-gap:64px!important}.gr-md-auto{row-gap:auto!important}.gc-md-0{column-gap:0px!important}.gc-md-1{column-gap:4px!important}.gc-md-2{column-gap:8px!important}.gc-md-3{column-gap:12px!important}.gc-md-4{column-gap:16px!important}.gc-md-5{column-gap:20px!important}.gc-md-6{column-gap:24px!important}.gc-md-7{column-gap:28px!important}.gc-md-8{column-gap:32px!important}.gc-md-9{column-gap:36px!important}.gc-md-10{column-gap:40px!important}.gc-md-11{column-gap:44px!important}.gc-md-12{column-gap:48px!important}.gc-md-13{column-gap:52px!important}.gc-md-14{column-gap:56px!important}.gc-md-15{column-gap:60px!important}.gc-md-16{column-gap:64px!important}.gc-md-auto{column-gap:auto!important}.ma-md-0{margin:0!important}.ma-md-1{margin:4px!important}.ma-md-2{margin:8px!important}.ma-md-3{margin:12px!important}.ma-md-4{margin:16px!important}.ma-md-5{margin:20px!important}.ma-md-6{margin:24px!important}.ma-md-7{margin:28px!important}.ma-md-8{margin:32px!important}.ma-md-9{margin:36px!important}.ma-md-10{margin:40px!important}.ma-md-11{margin:44px!important}.ma-md-12{margin:48px!important}.ma-md-13{margin:52px!important}.ma-md-14{margin:56px!important}.ma-md-15{margin:60px!important}.ma-md-16{margin:64px!important}.ma-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.mx-md-3{margin-right:12px!important;margin-left:12px!important}.mx-md-4{margin-right:16px!important;margin-left:16px!important}.mx-md-5{margin-right:20px!important;margin-left:20px!important}.mx-md-6{margin-right:24px!important;margin-left:24px!important}.mx-md-7{margin-right:28px!important;margin-left:28px!important}.mx-md-8{margin-right:32px!important;margin-left:32px!important}.mx-md-9{margin-right:36px!important;margin-left:36px!important}.mx-md-10{margin-right:40px!important;margin-left:40px!important}.mx-md-11{margin-right:44px!important;margin-left:44px!important}.mx-md-12{margin-right:48px!important;margin-left:48px!important}.mx-md-13{margin-right:52px!important;margin-left:52px!important}.mx-md-14{margin-right:56px!important;margin-left:56px!important}.mx-md-15{margin-right:60px!important;margin-left:60px!important}.mx-md-16{margin-right:64px!important;margin-left:64px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.my-md-3{margin-top:12px!important;margin-bottom:12px!important}.my-md-4{margin-top:16px!important;margin-bottom:16px!important}.my-md-5{margin-top:20px!important;margin-bottom:20px!important}.my-md-6{margin-top:24px!important;margin-bottom:24px!important}.my-md-7{margin-top:28px!important;margin-bottom:28px!important}.my-md-8{margin-top:32px!important;margin-bottom:32px!important}.my-md-9{margin-top:36px!important;margin-bottom:36px!important}.my-md-10{margin-top:40px!important;margin-bottom:40px!important}.my-md-11{margin-top:44px!important;margin-bottom:44px!important}.my-md-12{margin-top:48px!important;margin-bottom:48px!important}.my-md-13{margin-top:52px!important;margin-bottom:52px!important}.my-md-14{margin-top:56px!important;margin-bottom:56px!important}.my-md-15{margin-top:60px!important;margin-bottom:60px!important}.my-md-16{margin-top:64px!important;margin-bottom:64px!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:4px!important}.mt-md-2{margin-top:8px!important}.mt-md-3{margin-top:12px!important}.mt-md-4{margin-top:16px!important}.mt-md-5{margin-top:20px!important}.mt-md-6{margin-top:24px!important}.mt-md-7{margin-top:28px!important}.mt-md-8{margin-top:32px!important}.mt-md-9{margin-top:36px!important}.mt-md-10{margin-top:40px!important}.mt-md-11{margin-top:44px!important}.mt-md-12{margin-top:48px!important}.mt-md-13{margin-top:52px!important}.mt-md-14{margin-top:56px!important}.mt-md-15{margin-top:60px!important}.mt-md-16{margin-top:64px!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:4px!important}.mr-md-2{margin-right:8px!important}.mr-md-3{margin-right:12px!important}.mr-md-4{margin-right:16px!important}.mr-md-5{margin-right:20px!important}.mr-md-6{margin-right:24px!important}.mr-md-7{margin-right:28px!important}.mr-md-8{margin-right:32px!important}.mr-md-9{margin-right:36px!important}.mr-md-10{margin-right:40px!important}.mr-md-11{margin-right:44px!important}.mr-md-12{margin-right:48px!important}.mr-md-13{margin-right:52px!important}.mr-md-14{margin-right:56px!important}.mr-md-15{margin-right:60px!important}.mr-md-16{margin-right:64px!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:4px!important}.mb-md-2{margin-bottom:8px!important}.mb-md-3{margin-bottom:12px!important}.mb-md-4{margin-bottom:16px!important}.mb-md-5{margin-bottom:20px!important}.mb-md-6{margin-bottom:24px!important}.mb-md-7{margin-bottom:28px!important}.mb-md-8{margin-bottom:32px!important}.mb-md-9{margin-bottom:36px!important}.mb-md-10{margin-bottom:40px!important}.mb-md-11{margin-bottom:44px!important}.mb-md-12{margin-bottom:48px!important}.mb-md-13{margin-bottom:52px!important}.mb-md-14{margin-bottom:56px!important}.mb-md-15{margin-bottom:60px!important}.mb-md-16{margin-bottom:64px!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:4px!important}.ml-md-2{margin-left:8px!important}.ml-md-3{margin-left:12px!important}.ml-md-4{margin-left:16px!important}.ml-md-5{margin-left:20px!important}.ml-md-6{margin-left:24px!important}.ml-md-7{margin-left:28px!important}.ml-md-8{margin-left:32px!important}.ml-md-9{margin-left:36px!important}.ml-md-10{margin-left:40px!important}.ml-md-11{margin-left:44px!important}.ml-md-12{margin-left:48px!important}.ml-md-13{margin-left:52px!important}.ml-md-14{margin-left:56px!important}.ml-md-15{margin-left:60px!important}.ml-md-16{margin-left:64px!important}.ml-md-auto{margin-left:auto!important}.ms-md-0{margin-inline-start:0px!important}.ms-md-1{margin-inline-start:4px!important}.ms-md-2{margin-inline-start:8px!important}.ms-md-3{margin-inline-start:12px!important}.ms-md-4{margin-inline-start:16px!important}.ms-md-5{margin-inline-start:20px!important}.ms-md-6{margin-inline-start:24px!important}.ms-md-7{margin-inline-start:28px!important}.ms-md-8{margin-inline-start:32px!important}.ms-md-9{margin-inline-start:36px!important}.ms-md-10{margin-inline-start:40px!important}.ms-md-11{margin-inline-start:44px!important}.ms-md-12{margin-inline-start:48px!important}.ms-md-13{margin-inline-start:52px!important}.ms-md-14{margin-inline-start:56px!important}.ms-md-15{margin-inline-start:60px!important}.ms-md-16{margin-inline-start:64px!important}.ms-md-auto{margin-inline-start:auto!important}.me-md-0{margin-inline-end:0px!important}.me-md-1{margin-inline-end:4px!important}.me-md-2{margin-inline-end:8px!important}.me-md-3{margin-inline-end:12px!important}.me-md-4{margin-inline-end:16px!important}.me-md-5{margin-inline-end:20px!important}.me-md-6{margin-inline-end:24px!important}.me-md-7{margin-inline-end:28px!important}.me-md-8{margin-inline-end:32px!important}.me-md-9{margin-inline-end:36px!important}.me-md-10{margin-inline-end:40px!important}.me-md-11{margin-inline-end:44px!important}.me-md-12{margin-inline-end:48px!important}.me-md-13{margin-inline-end:52px!important}.me-md-14{margin-inline-end:56px!important}.me-md-15{margin-inline-end:60px!important}.me-md-16{margin-inline-end:64px!important}.me-md-auto{margin-inline-end:auto!important}.ma-md-n1{margin:-4px!important}.ma-md-n2{margin:-8px!important}.ma-md-n3{margin:-12px!important}.ma-md-n4{margin:-16px!important}.ma-md-n5{margin:-20px!important}.ma-md-n6{margin:-24px!important}.ma-md-n7{margin:-28px!important}.ma-md-n8{margin:-32px!important}.ma-md-n9{margin:-36px!important}.ma-md-n10{margin:-40px!important}.ma-md-n11{margin:-44px!important}.ma-md-n12{margin:-48px!important}.ma-md-n13{margin:-52px!important}.ma-md-n14{margin:-56px!important}.ma-md-n15{margin:-60px!important}.ma-md-n16{margin:-64px!important}.mx-md-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-md-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-md-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-md-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-md-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-md-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-md-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-md-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-md-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-md-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-md-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-md-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-md-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-md-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-md-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-md-n16{margin-right:-64px!important;margin-left:-64px!important}.my-md-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-md-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-md-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-md-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-md-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-md-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-md-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-md-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-md-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-md-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-md-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-md-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-md-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-md-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-md-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-md-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-md-n1{margin-top:-4px!important}.mt-md-n2{margin-top:-8px!important}.mt-md-n3{margin-top:-12px!important}.mt-md-n4{margin-top:-16px!important}.mt-md-n5{margin-top:-20px!important}.mt-md-n6{margin-top:-24px!important}.mt-md-n7{margin-top:-28px!important}.mt-md-n8{margin-top:-32px!important}.mt-md-n9{margin-top:-36px!important}.mt-md-n10{margin-top:-40px!important}.mt-md-n11{margin-top:-44px!important}.mt-md-n12{margin-top:-48px!important}.mt-md-n13{margin-top:-52px!important}.mt-md-n14{margin-top:-56px!important}.mt-md-n15{margin-top:-60px!important}.mt-md-n16{margin-top:-64px!important}.mr-md-n1{margin-right:-4px!important}.mr-md-n2{margin-right:-8px!important}.mr-md-n3{margin-right:-12px!important}.mr-md-n4{margin-right:-16px!important}.mr-md-n5{margin-right:-20px!important}.mr-md-n6{margin-right:-24px!important}.mr-md-n7{margin-right:-28px!important}.mr-md-n8{margin-right:-32px!important}.mr-md-n9{margin-right:-36px!important}.mr-md-n10{margin-right:-40px!important}.mr-md-n11{margin-right:-44px!important}.mr-md-n12{margin-right:-48px!important}.mr-md-n13{margin-right:-52px!important}.mr-md-n14{margin-right:-56px!important}.mr-md-n15{margin-right:-60px!important}.mr-md-n16{margin-right:-64px!important}.mb-md-n1{margin-bottom:-4px!important}.mb-md-n2{margin-bottom:-8px!important}.mb-md-n3{margin-bottom:-12px!important}.mb-md-n4{margin-bottom:-16px!important}.mb-md-n5{margin-bottom:-20px!important}.mb-md-n6{margin-bottom:-24px!important}.mb-md-n7{margin-bottom:-28px!important}.mb-md-n8{margin-bottom:-32px!important}.mb-md-n9{margin-bottom:-36px!important}.mb-md-n10{margin-bottom:-40px!important}.mb-md-n11{margin-bottom:-44px!important}.mb-md-n12{margin-bottom:-48px!important}.mb-md-n13{margin-bottom:-52px!important}.mb-md-n14{margin-bottom:-56px!important}.mb-md-n15{margin-bottom:-60px!important}.mb-md-n16{margin-bottom:-64px!important}.ml-md-n1{margin-left:-4px!important}.ml-md-n2{margin-left:-8px!important}.ml-md-n3{margin-left:-12px!important}.ml-md-n4{margin-left:-16px!important}.ml-md-n5{margin-left:-20px!important}.ml-md-n6{margin-left:-24px!important}.ml-md-n7{margin-left:-28px!important}.ml-md-n8{margin-left:-32px!important}.ml-md-n9{margin-left:-36px!important}.ml-md-n10{margin-left:-40px!important}.ml-md-n11{margin-left:-44px!important}.ml-md-n12{margin-left:-48px!important}.ml-md-n13{margin-left:-52px!important}.ml-md-n14{margin-left:-56px!important}.ml-md-n15{margin-left:-60px!important}.ml-md-n16{margin-left:-64px!important}.ms-md-n1{margin-inline-start:-4px!important}.ms-md-n2{margin-inline-start:-8px!important}.ms-md-n3{margin-inline-start:-12px!important}.ms-md-n4{margin-inline-start:-16px!important}.ms-md-n5{margin-inline-start:-20px!important}.ms-md-n6{margin-inline-start:-24px!important}.ms-md-n7{margin-inline-start:-28px!important}.ms-md-n8{margin-inline-start:-32px!important}.ms-md-n9{margin-inline-start:-36px!important}.ms-md-n10{margin-inline-start:-40px!important}.ms-md-n11{margin-inline-start:-44px!important}.ms-md-n12{margin-inline-start:-48px!important}.ms-md-n13{margin-inline-start:-52px!important}.ms-md-n14{margin-inline-start:-56px!important}.ms-md-n15{margin-inline-start:-60px!important}.ms-md-n16{margin-inline-start:-64px!important}.me-md-n1{margin-inline-end:-4px!important}.me-md-n2{margin-inline-end:-8px!important}.me-md-n3{margin-inline-end:-12px!important}.me-md-n4{margin-inline-end:-16px!important}.me-md-n5{margin-inline-end:-20px!important}.me-md-n6{margin-inline-end:-24px!important}.me-md-n7{margin-inline-end:-28px!important}.me-md-n8{margin-inline-end:-32px!important}.me-md-n9{margin-inline-end:-36px!important}.me-md-n10{margin-inline-end:-40px!important}.me-md-n11{margin-inline-end:-44px!important}.me-md-n12{margin-inline-end:-48px!important}.me-md-n13{margin-inline-end:-52px!important}.me-md-n14{margin-inline-end:-56px!important}.me-md-n15{margin-inline-end:-60px!important}.me-md-n16{margin-inline-end:-64px!important}.pa-md-0{padding:0!important}.pa-md-1{padding:4px!important}.pa-md-2{padding:8px!important}.pa-md-3{padding:12px!important}.pa-md-4{padding:16px!important}.pa-md-5{padding:20px!important}.pa-md-6{padding:24px!important}.pa-md-7{padding:28px!important}.pa-md-8{padding:32px!important}.pa-md-9{padding:36px!important}.pa-md-10{padding:40px!important}.pa-md-11{padding:44px!important}.pa-md-12{padding:48px!important}.pa-md-13{padding:52px!important}.pa-md-14{padding:56px!important}.pa-md-15{padding:60px!important}.pa-md-16{padding:64px!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:4px!important;padding-left:4px!important}.px-md-2{padding-right:8px!important;padding-left:8px!important}.px-md-3{padding-right:12px!important;padding-left:12px!important}.px-md-4{padding-right:16px!important;padding-left:16px!important}.px-md-5{padding-right:20px!important;padding-left:20px!important}.px-md-6{padding-right:24px!important;padding-left:24px!important}.px-md-7{padding-right:28px!important;padding-left:28px!important}.px-md-8{padding-right:32px!important;padding-left:32px!important}.px-md-9{padding-right:36px!important;padding-left:36px!important}.px-md-10{padding-right:40px!important;padding-left:40px!important}.px-md-11{padding-right:44px!important;padding-left:44px!important}.px-md-12{padding-right:48px!important;padding-left:48px!important}.px-md-13{padding-right:52px!important;padding-left:52px!important}.px-md-14{padding-right:56px!important;padding-left:56px!important}.px-md-15{padding-right:60px!important;padding-left:60px!important}.px-md-16{padding-right:64px!important;padding-left:64px!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.py-md-3{padding-top:12px!important;padding-bottom:12px!important}.py-md-4{padding-top:16px!important;padding-bottom:16px!important}.py-md-5{padding-top:20px!important;padding-bottom:20px!important}.py-md-6{padding-top:24px!important;padding-bottom:24px!important}.py-md-7{padding-top:28px!important;padding-bottom:28px!important}.py-md-8{padding-top:32px!important;padding-bottom:32px!important}.py-md-9{padding-top:36px!important;padding-bottom:36px!important}.py-md-10{padding-top:40px!important;padding-bottom:40px!important}.py-md-11{padding-top:44px!important;padding-bottom:44px!important}.py-md-12{padding-top:48px!important;padding-bottom:48px!important}.py-md-13{padding-top:52px!important;padding-bottom:52px!important}.py-md-14{padding-top:56px!important;padding-bottom:56px!important}.py-md-15{padding-top:60px!important;padding-bottom:60px!important}.py-md-16{padding-top:64px!important;padding-bottom:64px!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:4px!important}.pt-md-2{padding-top:8px!important}.pt-md-3{padding-top:12px!important}.pt-md-4{padding-top:16px!important}.pt-md-5{padding-top:20px!important}.pt-md-6{padding-top:24px!important}.pt-md-7{padding-top:28px!important}.pt-md-8{padding-top:32px!important}.pt-md-9{padding-top:36px!important}.pt-md-10{padding-top:40px!important}.pt-md-11{padding-top:44px!important}.pt-md-12{padding-top:48px!important}.pt-md-13{padding-top:52px!important}.pt-md-14{padding-top:56px!important}.pt-md-15{padding-top:60px!important}.pt-md-16{padding-top:64px!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:4px!important}.pr-md-2{padding-right:8px!important}.pr-md-3{padding-right:12px!important}.pr-md-4{padding-right:16px!important}.pr-md-5{padding-right:20px!important}.pr-md-6{padding-right:24px!important}.pr-md-7{padding-right:28px!important}.pr-md-8{padding-right:32px!important}.pr-md-9{padding-right:36px!important}.pr-md-10{padding-right:40px!important}.pr-md-11{padding-right:44px!important}.pr-md-12{padding-right:48px!important}.pr-md-13{padding-right:52px!important}.pr-md-14{padding-right:56px!important}.pr-md-15{padding-right:60px!important}.pr-md-16{padding-right:64px!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:4px!important}.pb-md-2{padding-bottom:8px!important}.pb-md-3{padding-bottom:12px!important}.pb-md-4{padding-bottom:16px!important}.pb-md-5{padding-bottom:20px!important}.pb-md-6{padding-bottom:24px!important}.pb-md-7{padding-bottom:28px!important}.pb-md-8{padding-bottom:32px!important}.pb-md-9{padding-bottom:36px!important}.pb-md-10{padding-bottom:40px!important}.pb-md-11{padding-bottom:44px!important}.pb-md-12{padding-bottom:48px!important}.pb-md-13{padding-bottom:52px!important}.pb-md-14{padding-bottom:56px!important}.pb-md-15{padding-bottom:60px!important}.pb-md-16{padding-bottom:64px!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:4px!important}.pl-md-2{padding-left:8px!important}.pl-md-3{padding-left:12px!important}.pl-md-4{padding-left:16px!important}.pl-md-5{padding-left:20px!important}.pl-md-6{padding-left:24px!important}.pl-md-7{padding-left:28px!important}.pl-md-8{padding-left:32px!important}.pl-md-9{padding-left:36px!important}.pl-md-10{padding-left:40px!important}.pl-md-11{padding-left:44px!important}.pl-md-12{padding-left:48px!important}.pl-md-13{padding-left:52px!important}.pl-md-14{padding-left:56px!important}.pl-md-15{padding-left:60px!important}.pl-md-16{padding-left:64px!important}.ps-md-0{padding-inline-start:0px!important}.ps-md-1{padding-inline-start:4px!important}.ps-md-2{padding-inline-start:8px!important}.ps-md-3{padding-inline-start:12px!important}.ps-md-4{padding-inline-start:16px!important}.ps-md-5{padding-inline-start:20px!important}.ps-md-6{padding-inline-start:24px!important}.ps-md-7{padding-inline-start:28px!important}.ps-md-8{padding-inline-start:32px!important}.ps-md-9{padding-inline-start:36px!important}.ps-md-10{padding-inline-start:40px!important}.ps-md-11{padding-inline-start:44px!important}.ps-md-12{padding-inline-start:48px!important}.ps-md-13{padding-inline-start:52px!important}.ps-md-14{padding-inline-start:56px!important}.ps-md-15{padding-inline-start:60px!important}.ps-md-16{padding-inline-start:64px!important}.pe-md-0{padding-inline-end:0px!important}.pe-md-1{padding-inline-end:4px!important}.pe-md-2{padding-inline-end:8px!important}.pe-md-3{padding-inline-end:12px!important}.pe-md-4{padding-inline-end:16px!important}.pe-md-5{padding-inline-end:20px!important}.pe-md-6{padding-inline-end:24px!important}.pe-md-7{padding-inline-end:28px!important}.pe-md-8{padding-inline-end:32px!important}.pe-md-9{padding-inline-end:36px!important}.pe-md-10{padding-inline-end:40px!important}.pe-md-11{padding-inline-end:44px!important}.pe-md-12{padding-inline-end:48px!important}.pe-md-13{padding-inline-end:52px!important}.pe-md-14{padding-inline-end:56px!important}.pe-md-15{padding-inline-end:60px!important}.pe-md-16{padding-inline-end:64px!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}.text-md-start{text-align:start!important}.text-md-end{text-align:end!important}.text-md-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-md-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-md-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-md-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-md-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-md-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-md-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-md-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-md-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-md-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-md-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-md-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-md-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.h-md-auto{height:auto!important}.h-md-screen{height:100vh!important}.h-md-0{height:0!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.w-md-auto{width:auto!important}.w-md-0{width:0!important}.w-md-25{width:25%!important}.w-md-33{width:33%!important}.w-md-50{width:50%!important}.w-md-66{width:66%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}}@media (min-width: 1280px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.float-lg-none{float:none!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.v-locale--is-rtl .float-lg-end{float:left!important}.v-locale--is-rtl .float-lg-start,.v-locale--is-ltr .float-lg-end{float:right!important}.v-locale--is-ltr .float-lg-start{float:left!important}.flex-lg-fill,.flex-lg-1-1{flex:1 1 auto!important}.flex-lg-1-0{flex:1 0 auto!important}.flex-lg-0-1{flex:0 1 auto!important}.flex-lg-0-0{flex:0 0 auto!important}.flex-lg-1-1-100{flex:1 1 100%!important}.flex-lg-1-0-100{flex:1 0 100%!important}.flex-lg-0-1-100{flex:0 1 100%!important}.flex-lg-0-0-100{flex:0 0 100%!important}.flex-lg-1-1-0{flex:1 1 0!important}.flex-lg-1-0-0{flex:1 0 0!important}.flex-lg-0-1-0{flex:0 1 0!important}.flex-lg-0-0-0{flex:0 0 0!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-lg-start{justify-content:flex-start!important}.justify-lg-end{justify-content:flex-end!important}.justify-lg-center{justify-content:center!important}.justify-lg-space-between{justify-content:space-between!important}.justify-lg-space-around{justify-content:space-around!important}.justify-lg-space-evenly{justify-content:space-evenly!important}.align-lg-start{align-items:flex-start!important}.align-lg-end{align-items:flex-end!important}.align-lg-center{align-items:center!important}.align-lg-baseline{align-items:baseline!important}.align-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-space-between{align-content:space-between!important}.align-content-lg-space-around{align-content:space-around!important}.align-content-lg-space-evenly{align-content:space-evenly!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-6{order:6!important}.order-lg-7{order:7!important}.order-lg-8{order:8!important}.order-lg-9{order:9!important}.order-lg-10{order:10!important}.order-lg-11{order:11!important}.order-lg-12{order:12!important}.order-lg-last{order:13!important}.ga-lg-0{gap:0px!important}.ga-lg-1{gap:4px!important}.ga-lg-2{gap:8px!important}.ga-lg-3{gap:12px!important}.ga-lg-4{gap:16px!important}.ga-lg-5{gap:20px!important}.ga-lg-6{gap:24px!important}.ga-lg-7{gap:28px!important}.ga-lg-8{gap:32px!important}.ga-lg-9{gap:36px!important}.ga-lg-10{gap:40px!important}.ga-lg-11{gap:44px!important}.ga-lg-12{gap:48px!important}.ga-lg-13{gap:52px!important}.ga-lg-14{gap:56px!important}.ga-lg-15{gap:60px!important}.ga-lg-16{gap:64px!important}.ga-lg-auto{gap:auto!important}.gr-lg-0{row-gap:0px!important}.gr-lg-1{row-gap:4px!important}.gr-lg-2{row-gap:8px!important}.gr-lg-3{row-gap:12px!important}.gr-lg-4{row-gap:16px!important}.gr-lg-5{row-gap:20px!important}.gr-lg-6{row-gap:24px!important}.gr-lg-7{row-gap:28px!important}.gr-lg-8{row-gap:32px!important}.gr-lg-9{row-gap:36px!important}.gr-lg-10{row-gap:40px!important}.gr-lg-11{row-gap:44px!important}.gr-lg-12{row-gap:48px!important}.gr-lg-13{row-gap:52px!important}.gr-lg-14{row-gap:56px!important}.gr-lg-15{row-gap:60px!important}.gr-lg-16{row-gap:64px!important}.gr-lg-auto{row-gap:auto!important}.gc-lg-0{column-gap:0px!important}.gc-lg-1{column-gap:4px!important}.gc-lg-2{column-gap:8px!important}.gc-lg-3{column-gap:12px!important}.gc-lg-4{column-gap:16px!important}.gc-lg-5{column-gap:20px!important}.gc-lg-6{column-gap:24px!important}.gc-lg-7{column-gap:28px!important}.gc-lg-8{column-gap:32px!important}.gc-lg-9{column-gap:36px!important}.gc-lg-10{column-gap:40px!important}.gc-lg-11{column-gap:44px!important}.gc-lg-12{column-gap:48px!important}.gc-lg-13{column-gap:52px!important}.gc-lg-14{column-gap:56px!important}.gc-lg-15{column-gap:60px!important}.gc-lg-16{column-gap:64px!important}.gc-lg-auto{column-gap:auto!important}.ma-lg-0{margin:0!important}.ma-lg-1{margin:4px!important}.ma-lg-2{margin:8px!important}.ma-lg-3{margin:12px!important}.ma-lg-4{margin:16px!important}.ma-lg-5{margin:20px!important}.ma-lg-6{margin:24px!important}.ma-lg-7{margin:28px!important}.ma-lg-8{margin:32px!important}.ma-lg-9{margin:36px!important}.ma-lg-10{margin:40px!important}.ma-lg-11{margin:44px!important}.ma-lg-12{margin:48px!important}.ma-lg-13{margin:52px!important}.ma-lg-14{margin:56px!important}.ma-lg-15{margin:60px!important}.ma-lg-16{margin:64px!important}.ma-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.mx-lg-3{margin-right:12px!important;margin-left:12px!important}.mx-lg-4{margin-right:16px!important;margin-left:16px!important}.mx-lg-5{margin-right:20px!important;margin-left:20px!important}.mx-lg-6{margin-right:24px!important;margin-left:24px!important}.mx-lg-7{margin-right:28px!important;margin-left:28px!important}.mx-lg-8{margin-right:32px!important;margin-left:32px!important}.mx-lg-9{margin-right:36px!important;margin-left:36px!important}.mx-lg-10{margin-right:40px!important;margin-left:40px!important}.mx-lg-11{margin-right:44px!important;margin-left:44px!important}.mx-lg-12{margin-right:48px!important;margin-left:48px!important}.mx-lg-13{margin-right:52px!important;margin-left:52px!important}.mx-lg-14{margin-right:56px!important;margin-left:56px!important}.mx-lg-15{margin-right:60px!important;margin-left:60px!important}.mx-lg-16{margin-right:64px!important;margin-left:64px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.my-lg-3{margin-top:12px!important;margin-bottom:12px!important}.my-lg-4{margin-top:16px!important;margin-bottom:16px!important}.my-lg-5{margin-top:20px!important;margin-bottom:20px!important}.my-lg-6{margin-top:24px!important;margin-bottom:24px!important}.my-lg-7{margin-top:28px!important;margin-bottom:28px!important}.my-lg-8{margin-top:32px!important;margin-bottom:32px!important}.my-lg-9{margin-top:36px!important;margin-bottom:36px!important}.my-lg-10{margin-top:40px!important;margin-bottom:40px!important}.my-lg-11{margin-top:44px!important;margin-bottom:44px!important}.my-lg-12{margin-top:48px!important;margin-bottom:48px!important}.my-lg-13{margin-top:52px!important;margin-bottom:52px!important}.my-lg-14{margin-top:56px!important;margin-bottom:56px!important}.my-lg-15{margin-top:60px!important;margin-bottom:60px!important}.my-lg-16{margin-top:64px!important;margin-bottom:64px!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:4px!important}.mt-lg-2{margin-top:8px!important}.mt-lg-3{margin-top:12px!important}.mt-lg-4{margin-top:16px!important}.mt-lg-5{margin-top:20px!important}.mt-lg-6{margin-top:24px!important}.mt-lg-7{margin-top:28px!important}.mt-lg-8{margin-top:32px!important}.mt-lg-9{margin-top:36px!important}.mt-lg-10{margin-top:40px!important}.mt-lg-11{margin-top:44px!important}.mt-lg-12{margin-top:48px!important}.mt-lg-13{margin-top:52px!important}.mt-lg-14{margin-top:56px!important}.mt-lg-15{margin-top:60px!important}.mt-lg-16{margin-top:64px!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:4px!important}.mr-lg-2{margin-right:8px!important}.mr-lg-3{margin-right:12px!important}.mr-lg-4{margin-right:16px!important}.mr-lg-5{margin-right:20px!important}.mr-lg-6{margin-right:24px!important}.mr-lg-7{margin-right:28px!important}.mr-lg-8{margin-right:32px!important}.mr-lg-9{margin-right:36px!important}.mr-lg-10{margin-right:40px!important}.mr-lg-11{margin-right:44px!important}.mr-lg-12{margin-right:48px!important}.mr-lg-13{margin-right:52px!important}.mr-lg-14{margin-right:56px!important}.mr-lg-15{margin-right:60px!important}.mr-lg-16{margin-right:64px!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:4px!important}.mb-lg-2{margin-bottom:8px!important}.mb-lg-3{margin-bottom:12px!important}.mb-lg-4{margin-bottom:16px!important}.mb-lg-5{margin-bottom:20px!important}.mb-lg-6{margin-bottom:24px!important}.mb-lg-7{margin-bottom:28px!important}.mb-lg-8{margin-bottom:32px!important}.mb-lg-9{margin-bottom:36px!important}.mb-lg-10{margin-bottom:40px!important}.mb-lg-11{margin-bottom:44px!important}.mb-lg-12{margin-bottom:48px!important}.mb-lg-13{margin-bottom:52px!important}.mb-lg-14{margin-bottom:56px!important}.mb-lg-15{margin-bottom:60px!important}.mb-lg-16{margin-bottom:64px!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:4px!important}.ml-lg-2{margin-left:8px!important}.ml-lg-3{margin-left:12px!important}.ml-lg-4{margin-left:16px!important}.ml-lg-5{margin-left:20px!important}.ml-lg-6{margin-left:24px!important}.ml-lg-7{margin-left:28px!important}.ml-lg-8{margin-left:32px!important}.ml-lg-9{margin-left:36px!important}.ml-lg-10{margin-left:40px!important}.ml-lg-11{margin-left:44px!important}.ml-lg-12{margin-left:48px!important}.ml-lg-13{margin-left:52px!important}.ml-lg-14{margin-left:56px!important}.ml-lg-15{margin-left:60px!important}.ml-lg-16{margin-left:64px!important}.ml-lg-auto{margin-left:auto!important}.ms-lg-0{margin-inline-start:0px!important}.ms-lg-1{margin-inline-start:4px!important}.ms-lg-2{margin-inline-start:8px!important}.ms-lg-3{margin-inline-start:12px!important}.ms-lg-4{margin-inline-start:16px!important}.ms-lg-5{margin-inline-start:20px!important}.ms-lg-6{margin-inline-start:24px!important}.ms-lg-7{margin-inline-start:28px!important}.ms-lg-8{margin-inline-start:32px!important}.ms-lg-9{margin-inline-start:36px!important}.ms-lg-10{margin-inline-start:40px!important}.ms-lg-11{margin-inline-start:44px!important}.ms-lg-12{margin-inline-start:48px!important}.ms-lg-13{margin-inline-start:52px!important}.ms-lg-14{margin-inline-start:56px!important}.ms-lg-15{margin-inline-start:60px!important}.ms-lg-16{margin-inline-start:64px!important}.ms-lg-auto{margin-inline-start:auto!important}.me-lg-0{margin-inline-end:0px!important}.me-lg-1{margin-inline-end:4px!important}.me-lg-2{margin-inline-end:8px!important}.me-lg-3{margin-inline-end:12px!important}.me-lg-4{margin-inline-end:16px!important}.me-lg-5{margin-inline-end:20px!important}.me-lg-6{margin-inline-end:24px!important}.me-lg-7{margin-inline-end:28px!important}.me-lg-8{margin-inline-end:32px!important}.me-lg-9{margin-inline-end:36px!important}.me-lg-10{margin-inline-end:40px!important}.me-lg-11{margin-inline-end:44px!important}.me-lg-12{margin-inline-end:48px!important}.me-lg-13{margin-inline-end:52px!important}.me-lg-14{margin-inline-end:56px!important}.me-lg-15{margin-inline-end:60px!important}.me-lg-16{margin-inline-end:64px!important}.me-lg-auto{margin-inline-end:auto!important}.ma-lg-n1{margin:-4px!important}.ma-lg-n2{margin:-8px!important}.ma-lg-n3{margin:-12px!important}.ma-lg-n4{margin:-16px!important}.ma-lg-n5{margin:-20px!important}.ma-lg-n6{margin:-24px!important}.ma-lg-n7{margin:-28px!important}.ma-lg-n8{margin:-32px!important}.ma-lg-n9{margin:-36px!important}.ma-lg-n10{margin:-40px!important}.ma-lg-n11{margin:-44px!important}.ma-lg-n12{margin:-48px!important}.ma-lg-n13{margin:-52px!important}.ma-lg-n14{margin:-56px!important}.ma-lg-n15{margin:-60px!important}.ma-lg-n16{margin:-64px!important}.mx-lg-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-lg-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-lg-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-lg-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-lg-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-lg-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-lg-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-lg-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-lg-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-lg-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-lg-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-lg-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-lg-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-lg-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-lg-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-lg-n16{margin-right:-64px!important;margin-left:-64px!important}.my-lg-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-lg-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-lg-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-lg-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-lg-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-lg-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-lg-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-lg-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-lg-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-lg-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-lg-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-lg-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-lg-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-lg-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-lg-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-lg-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-lg-n1{margin-top:-4px!important}.mt-lg-n2{margin-top:-8px!important}.mt-lg-n3{margin-top:-12px!important}.mt-lg-n4{margin-top:-16px!important}.mt-lg-n5{margin-top:-20px!important}.mt-lg-n6{margin-top:-24px!important}.mt-lg-n7{margin-top:-28px!important}.mt-lg-n8{margin-top:-32px!important}.mt-lg-n9{margin-top:-36px!important}.mt-lg-n10{margin-top:-40px!important}.mt-lg-n11{margin-top:-44px!important}.mt-lg-n12{margin-top:-48px!important}.mt-lg-n13{margin-top:-52px!important}.mt-lg-n14{margin-top:-56px!important}.mt-lg-n15{margin-top:-60px!important}.mt-lg-n16{margin-top:-64px!important}.mr-lg-n1{margin-right:-4px!important}.mr-lg-n2{margin-right:-8px!important}.mr-lg-n3{margin-right:-12px!important}.mr-lg-n4{margin-right:-16px!important}.mr-lg-n5{margin-right:-20px!important}.mr-lg-n6{margin-right:-24px!important}.mr-lg-n7{margin-right:-28px!important}.mr-lg-n8{margin-right:-32px!important}.mr-lg-n9{margin-right:-36px!important}.mr-lg-n10{margin-right:-40px!important}.mr-lg-n11{margin-right:-44px!important}.mr-lg-n12{margin-right:-48px!important}.mr-lg-n13{margin-right:-52px!important}.mr-lg-n14{margin-right:-56px!important}.mr-lg-n15{margin-right:-60px!important}.mr-lg-n16{margin-right:-64px!important}.mb-lg-n1{margin-bottom:-4px!important}.mb-lg-n2{margin-bottom:-8px!important}.mb-lg-n3{margin-bottom:-12px!important}.mb-lg-n4{margin-bottom:-16px!important}.mb-lg-n5{margin-bottom:-20px!important}.mb-lg-n6{margin-bottom:-24px!important}.mb-lg-n7{margin-bottom:-28px!important}.mb-lg-n8{margin-bottom:-32px!important}.mb-lg-n9{margin-bottom:-36px!important}.mb-lg-n10{margin-bottom:-40px!important}.mb-lg-n11{margin-bottom:-44px!important}.mb-lg-n12{margin-bottom:-48px!important}.mb-lg-n13{margin-bottom:-52px!important}.mb-lg-n14{margin-bottom:-56px!important}.mb-lg-n15{margin-bottom:-60px!important}.mb-lg-n16{margin-bottom:-64px!important}.ml-lg-n1{margin-left:-4px!important}.ml-lg-n2{margin-left:-8px!important}.ml-lg-n3{margin-left:-12px!important}.ml-lg-n4{margin-left:-16px!important}.ml-lg-n5{margin-left:-20px!important}.ml-lg-n6{margin-left:-24px!important}.ml-lg-n7{margin-left:-28px!important}.ml-lg-n8{margin-left:-32px!important}.ml-lg-n9{margin-left:-36px!important}.ml-lg-n10{margin-left:-40px!important}.ml-lg-n11{margin-left:-44px!important}.ml-lg-n12{margin-left:-48px!important}.ml-lg-n13{margin-left:-52px!important}.ml-lg-n14{margin-left:-56px!important}.ml-lg-n15{margin-left:-60px!important}.ml-lg-n16{margin-left:-64px!important}.ms-lg-n1{margin-inline-start:-4px!important}.ms-lg-n2{margin-inline-start:-8px!important}.ms-lg-n3{margin-inline-start:-12px!important}.ms-lg-n4{margin-inline-start:-16px!important}.ms-lg-n5{margin-inline-start:-20px!important}.ms-lg-n6{margin-inline-start:-24px!important}.ms-lg-n7{margin-inline-start:-28px!important}.ms-lg-n8{margin-inline-start:-32px!important}.ms-lg-n9{margin-inline-start:-36px!important}.ms-lg-n10{margin-inline-start:-40px!important}.ms-lg-n11{margin-inline-start:-44px!important}.ms-lg-n12{margin-inline-start:-48px!important}.ms-lg-n13{margin-inline-start:-52px!important}.ms-lg-n14{margin-inline-start:-56px!important}.ms-lg-n15{margin-inline-start:-60px!important}.ms-lg-n16{margin-inline-start:-64px!important}.me-lg-n1{margin-inline-end:-4px!important}.me-lg-n2{margin-inline-end:-8px!important}.me-lg-n3{margin-inline-end:-12px!important}.me-lg-n4{margin-inline-end:-16px!important}.me-lg-n5{margin-inline-end:-20px!important}.me-lg-n6{margin-inline-end:-24px!important}.me-lg-n7{margin-inline-end:-28px!important}.me-lg-n8{margin-inline-end:-32px!important}.me-lg-n9{margin-inline-end:-36px!important}.me-lg-n10{margin-inline-end:-40px!important}.me-lg-n11{margin-inline-end:-44px!important}.me-lg-n12{margin-inline-end:-48px!important}.me-lg-n13{margin-inline-end:-52px!important}.me-lg-n14{margin-inline-end:-56px!important}.me-lg-n15{margin-inline-end:-60px!important}.me-lg-n16{margin-inline-end:-64px!important}.pa-lg-0{padding:0!important}.pa-lg-1{padding:4px!important}.pa-lg-2{padding:8px!important}.pa-lg-3{padding:12px!important}.pa-lg-4{padding:16px!important}.pa-lg-5{padding:20px!important}.pa-lg-6{padding:24px!important}.pa-lg-7{padding:28px!important}.pa-lg-8{padding:32px!important}.pa-lg-9{padding:36px!important}.pa-lg-10{padding:40px!important}.pa-lg-11{padding:44px!important}.pa-lg-12{padding:48px!important}.pa-lg-13{padding:52px!important}.pa-lg-14{padding:56px!important}.pa-lg-15{padding:60px!important}.pa-lg-16{padding:64px!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:4px!important;padding-left:4px!important}.px-lg-2{padding-right:8px!important;padding-left:8px!important}.px-lg-3{padding-right:12px!important;padding-left:12px!important}.px-lg-4{padding-right:16px!important;padding-left:16px!important}.px-lg-5{padding-right:20px!important;padding-left:20px!important}.px-lg-6{padding-right:24px!important;padding-left:24px!important}.px-lg-7{padding-right:28px!important;padding-left:28px!important}.px-lg-8{padding-right:32px!important;padding-left:32px!important}.px-lg-9{padding-right:36px!important;padding-left:36px!important}.px-lg-10{padding-right:40px!important;padding-left:40px!important}.px-lg-11{padding-right:44px!important;padding-left:44px!important}.px-lg-12{padding-right:48px!important;padding-left:48px!important}.px-lg-13{padding-right:52px!important;padding-left:52px!important}.px-lg-14{padding-right:56px!important;padding-left:56px!important}.px-lg-15{padding-right:60px!important;padding-left:60px!important}.px-lg-16{padding-right:64px!important;padding-left:64px!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.py-lg-3{padding-top:12px!important;padding-bottom:12px!important}.py-lg-4{padding-top:16px!important;padding-bottom:16px!important}.py-lg-5{padding-top:20px!important;padding-bottom:20px!important}.py-lg-6{padding-top:24px!important;padding-bottom:24px!important}.py-lg-7{padding-top:28px!important;padding-bottom:28px!important}.py-lg-8{padding-top:32px!important;padding-bottom:32px!important}.py-lg-9{padding-top:36px!important;padding-bottom:36px!important}.py-lg-10{padding-top:40px!important;padding-bottom:40px!important}.py-lg-11{padding-top:44px!important;padding-bottom:44px!important}.py-lg-12{padding-top:48px!important;padding-bottom:48px!important}.py-lg-13{padding-top:52px!important;padding-bottom:52px!important}.py-lg-14{padding-top:56px!important;padding-bottom:56px!important}.py-lg-15{padding-top:60px!important;padding-bottom:60px!important}.py-lg-16{padding-top:64px!important;padding-bottom:64px!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:4px!important}.pt-lg-2{padding-top:8px!important}.pt-lg-3{padding-top:12px!important}.pt-lg-4{padding-top:16px!important}.pt-lg-5{padding-top:20px!important}.pt-lg-6{padding-top:24px!important}.pt-lg-7{padding-top:28px!important}.pt-lg-8{padding-top:32px!important}.pt-lg-9{padding-top:36px!important}.pt-lg-10{padding-top:40px!important}.pt-lg-11{padding-top:44px!important}.pt-lg-12{padding-top:48px!important}.pt-lg-13{padding-top:52px!important}.pt-lg-14{padding-top:56px!important}.pt-lg-15{padding-top:60px!important}.pt-lg-16{padding-top:64px!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:4px!important}.pr-lg-2{padding-right:8px!important}.pr-lg-3{padding-right:12px!important}.pr-lg-4{padding-right:16px!important}.pr-lg-5{padding-right:20px!important}.pr-lg-6{padding-right:24px!important}.pr-lg-7{padding-right:28px!important}.pr-lg-8{padding-right:32px!important}.pr-lg-9{padding-right:36px!important}.pr-lg-10{padding-right:40px!important}.pr-lg-11{padding-right:44px!important}.pr-lg-12{padding-right:48px!important}.pr-lg-13{padding-right:52px!important}.pr-lg-14{padding-right:56px!important}.pr-lg-15{padding-right:60px!important}.pr-lg-16{padding-right:64px!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:4px!important}.pb-lg-2{padding-bottom:8px!important}.pb-lg-3{padding-bottom:12px!important}.pb-lg-4{padding-bottom:16px!important}.pb-lg-5{padding-bottom:20px!important}.pb-lg-6{padding-bottom:24px!important}.pb-lg-7{padding-bottom:28px!important}.pb-lg-8{padding-bottom:32px!important}.pb-lg-9{padding-bottom:36px!important}.pb-lg-10{padding-bottom:40px!important}.pb-lg-11{padding-bottom:44px!important}.pb-lg-12{padding-bottom:48px!important}.pb-lg-13{padding-bottom:52px!important}.pb-lg-14{padding-bottom:56px!important}.pb-lg-15{padding-bottom:60px!important}.pb-lg-16{padding-bottom:64px!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:4px!important}.pl-lg-2{padding-left:8px!important}.pl-lg-3{padding-left:12px!important}.pl-lg-4{padding-left:16px!important}.pl-lg-5{padding-left:20px!important}.pl-lg-6{padding-left:24px!important}.pl-lg-7{padding-left:28px!important}.pl-lg-8{padding-left:32px!important}.pl-lg-9{padding-left:36px!important}.pl-lg-10{padding-left:40px!important}.pl-lg-11{padding-left:44px!important}.pl-lg-12{padding-left:48px!important}.pl-lg-13{padding-left:52px!important}.pl-lg-14{padding-left:56px!important}.pl-lg-15{padding-left:60px!important}.pl-lg-16{padding-left:64px!important}.ps-lg-0{padding-inline-start:0px!important}.ps-lg-1{padding-inline-start:4px!important}.ps-lg-2{padding-inline-start:8px!important}.ps-lg-3{padding-inline-start:12px!important}.ps-lg-4{padding-inline-start:16px!important}.ps-lg-5{padding-inline-start:20px!important}.ps-lg-6{padding-inline-start:24px!important}.ps-lg-7{padding-inline-start:28px!important}.ps-lg-8{padding-inline-start:32px!important}.ps-lg-9{padding-inline-start:36px!important}.ps-lg-10{padding-inline-start:40px!important}.ps-lg-11{padding-inline-start:44px!important}.ps-lg-12{padding-inline-start:48px!important}.ps-lg-13{padding-inline-start:52px!important}.ps-lg-14{padding-inline-start:56px!important}.ps-lg-15{padding-inline-start:60px!important}.ps-lg-16{padding-inline-start:64px!important}.pe-lg-0{padding-inline-end:0px!important}.pe-lg-1{padding-inline-end:4px!important}.pe-lg-2{padding-inline-end:8px!important}.pe-lg-3{padding-inline-end:12px!important}.pe-lg-4{padding-inline-end:16px!important}.pe-lg-5{padding-inline-end:20px!important}.pe-lg-6{padding-inline-end:24px!important}.pe-lg-7{padding-inline-end:28px!important}.pe-lg-8{padding-inline-end:32px!important}.pe-lg-9{padding-inline-end:36px!important}.pe-lg-10{padding-inline-end:40px!important}.pe-lg-11{padding-inline-end:44px!important}.pe-lg-12{padding-inline-end:48px!important}.pe-lg-13{padding-inline-end:52px!important}.pe-lg-14{padding-inline-end:56px!important}.pe-lg-15{padding-inline-end:60px!important}.pe-lg-16{padding-inline-end:64px!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}.text-lg-start{text-align:start!important}.text-lg-end{text-align:end!important}.text-lg-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-lg-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-lg-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-lg-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-lg-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-lg-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-lg-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-lg-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-lg-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-lg-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-lg-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-lg-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-lg-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.h-lg-auto{height:auto!important}.h-lg-screen{height:100vh!important}.h-lg-0{height:0!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.w-lg-auto{width:auto!important}.w-lg-0{width:0!important}.w-lg-25{width:25%!important}.w-lg-33{width:33%!important}.w-lg-50{width:50%!important}.w-lg-66{width:66%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}}@media (min-width: 1920px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.float-xl-none{float:none!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.v-locale--is-rtl .float-xl-end{float:left!important}.v-locale--is-rtl .float-xl-start,.v-locale--is-ltr .float-xl-end{float:right!important}.v-locale--is-ltr .float-xl-start{float:left!important}.flex-xl-fill,.flex-xl-1-1{flex:1 1 auto!important}.flex-xl-1-0{flex:1 0 auto!important}.flex-xl-0-1{flex:0 1 auto!important}.flex-xl-0-0{flex:0 0 auto!important}.flex-xl-1-1-100{flex:1 1 100%!important}.flex-xl-1-0-100{flex:1 0 100%!important}.flex-xl-0-1-100{flex:0 1 100%!important}.flex-xl-0-0-100{flex:0 0 100%!important}.flex-xl-1-1-0{flex:1 1 0!important}.flex-xl-1-0-0{flex:1 0 0!important}.flex-xl-0-1-0{flex:0 1 0!important}.flex-xl-0-0-0{flex:0 0 0!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xl-start{justify-content:flex-start!important}.justify-xl-end{justify-content:flex-end!important}.justify-xl-center{justify-content:center!important}.justify-xl-space-between{justify-content:space-between!important}.justify-xl-space-around{justify-content:space-around!important}.justify-xl-space-evenly{justify-content:space-evenly!important}.align-xl-start{align-items:flex-start!important}.align-xl-end{align-items:flex-end!important}.align-xl-center{align-items:center!important}.align-xl-baseline{align-items:baseline!important}.align-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-space-between{align-content:space-between!important}.align-content-xl-space-around{align-content:space-around!important}.align-content-xl-space-evenly{align-content:space-evenly!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-6{order:6!important}.order-xl-7{order:7!important}.order-xl-8{order:8!important}.order-xl-9{order:9!important}.order-xl-10{order:10!important}.order-xl-11{order:11!important}.order-xl-12{order:12!important}.order-xl-last{order:13!important}.ga-xl-0{gap:0px!important}.ga-xl-1{gap:4px!important}.ga-xl-2{gap:8px!important}.ga-xl-3{gap:12px!important}.ga-xl-4{gap:16px!important}.ga-xl-5{gap:20px!important}.ga-xl-6{gap:24px!important}.ga-xl-7{gap:28px!important}.ga-xl-8{gap:32px!important}.ga-xl-9{gap:36px!important}.ga-xl-10{gap:40px!important}.ga-xl-11{gap:44px!important}.ga-xl-12{gap:48px!important}.ga-xl-13{gap:52px!important}.ga-xl-14{gap:56px!important}.ga-xl-15{gap:60px!important}.ga-xl-16{gap:64px!important}.ga-xl-auto{gap:auto!important}.gr-xl-0{row-gap:0px!important}.gr-xl-1{row-gap:4px!important}.gr-xl-2{row-gap:8px!important}.gr-xl-3{row-gap:12px!important}.gr-xl-4{row-gap:16px!important}.gr-xl-5{row-gap:20px!important}.gr-xl-6{row-gap:24px!important}.gr-xl-7{row-gap:28px!important}.gr-xl-8{row-gap:32px!important}.gr-xl-9{row-gap:36px!important}.gr-xl-10{row-gap:40px!important}.gr-xl-11{row-gap:44px!important}.gr-xl-12{row-gap:48px!important}.gr-xl-13{row-gap:52px!important}.gr-xl-14{row-gap:56px!important}.gr-xl-15{row-gap:60px!important}.gr-xl-16{row-gap:64px!important}.gr-xl-auto{row-gap:auto!important}.gc-xl-0{column-gap:0px!important}.gc-xl-1{column-gap:4px!important}.gc-xl-2{column-gap:8px!important}.gc-xl-3{column-gap:12px!important}.gc-xl-4{column-gap:16px!important}.gc-xl-5{column-gap:20px!important}.gc-xl-6{column-gap:24px!important}.gc-xl-7{column-gap:28px!important}.gc-xl-8{column-gap:32px!important}.gc-xl-9{column-gap:36px!important}.gc-xl-10{column-gap:40px!important}.gc-xl-11{column-gap:44px!important}.gc-xl-12{column-gap:48px!important}.gc-xl-13{column-gap:52px!important}.gc-xl-14{column-gap:56px!important}.gc-xl-15{column-gap:60px!important}.gc-xl-16{column-gap:64px!important}.gc-xl-auto{column-gap:auto!important}.ma-xl-0{margin:0!important}.ma-xl-1{margin:4px!important}.ma-xl-2{margin:8px!important}.ma-xl-3{margin:12px!important}.ma-xl-4{margin:16px!important}.ma-xl-5{margin:20px!important}.ma-xl-6{margin:24px!important}.ma-xl-7{margin:28px!important}.ma-xl-8{margin:32px!important}.ma-xl-9{margin:36px!important}.ma-xl-10{margin:40px!important}.ma-xl-11{margin:44px!important}.ma-xl-12{margin:48px!important}.ma-xl-13{margin:52px!important}.ma-xl-14{margin:56px!important}.ma-xl-15{margin:60px!important}.ma-xl-16{margin:64px!important}.ma-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.mx-xl-3{margin-right:12px!important;margin-left:12px!important}.mx-xl-4{margin-right:16px!important;margin-left:16px!important}.mx-xl-5{margin-right:20px!important;margin-left:20px!important}.mx-xl-6{margin-right:24px!important;margin-left:24px!important}.mx-xl-7{margin-right:28px!important;margin-left:28px!important}.mx-xl-8{margin-right:32px!important;margin-left:32px!important}.mx-xl-9{margin-right:36px!important;margin-left:36px!important}.mx-xl-10{margin-right:40px!important;margin-left:40px!important}.mx-xl-11{margin-right:44px!important;margin-left:44px!important}.mx-xl-12{margin-right:48px!important;margin-left:48px!important}.mx-xl-13{margin-right:52px!important;margin-left:52px!important}.mx-xl-14{margin-right:56px!important;margin-left:56px!important}.mx-xl-15{margin-right:60px!important;margin-left:60px!important}.mx-xl-16{margin-right:64px!important;margin-left:64px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:4px!important}.mt-xl-2{margin-top:8px!important}.mt-xl-3{margin-top:12px!important}.mt-xl-4{margin-top:16px!important}.mt-xl-5{margin-top:20px!important}.mt-xl-6{margin-top:24px!important}.mt-xl-7{margin-top:28px!important}.mt-xl-8{margin-top:32px!important}.mt-xl-9{margin-top:36px!important}.mt-xl-10{margin-top:40px!important}.mt-xl-11{margin-top:44px!important}.mt-xl-12{margin-top:48px!important}.mt-xl-13{margin-top:52px!important}.mt-xl-14{margin-top:56px!important}.mt-xl-15{margin-top:60px!important}.mt-xl-16{margin-top:64px!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:4px!important}.mr-xl-2{margin-right:8px!important}.mr-xl-3{margin-right:12px!important}.mr-xl-4{margin-right:16px!important}.mr-xl-5{margin-right:20px!important}.mr-xl-6{margin-right:24px!important}.mr-xl-7{margin-right:28px!important}.mr-xl-8{margin-right:32px!important}.mr-xl-9{margin-right:36px!important}.mr-xl-10{margin-right:40px!important}.mr-xl-11{margin-right:44px!important}.mr-xl-12{margin-right:48px!important}.mr-xl-13{margin-right:52px!important}.mr-xl-14{margin-right:56px!important}.mr-xl-15{margin-right:60px!important}.mr-xl-16{margin-right:64px!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:4px!important}.mb-xl-2{margin-bottom:8px!important}.mb-xl-3{margin-bottom:12px!important}.mb-xl-4{margin-bottom:16px!important}.mb-xl-5{margin-bottom:20px!important}.mb-xl-6{margin-bottom:24px!important}.mb-xl-7{margin-bottom:28px!important}.mb-xl-8{margin-bottom:32px!important}.mb-xl-9{margin-bottom:36px!important}.mb-xl-10{margin-bottom:40px!important}.mb-xl-11{margin-bottom:44px!important}.mb-xl-12{margin-bottom:48px!important}.mb-xl-13{margin-bottom:52px!important}.mb-xl-14{margin-bottom:56px!important}.mb-xl-15{margin-bottom:60px!important}.mb-xl-16{margin-bottom:64px!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:4px!important}.ml-xl-2{margin-left:8px!important}.ml-xl-3{margin-left:12px!important}.ml-xl-4{margin-left:16px!important}.ml-xl-5{margin-left:20px!important}.ml-xl-6{margin-left:24px!important}.ml-xl-7{margin-left:28px!important}.ml-xl-8{margin-left:32px!important}.ml-xl-9{margin-left:36px!important}.ml-xl-10{margin-left:40px!important}.ml-xl-11{margin-left:44px!important}.ml-xl-12{margin-left:48px!important}.ml-xl-13{margin-left:52px!important}.ml-xl-14{margin-left:56px!important}.ml-xl-15{margin-left:60px!important}.ml-xl-16{margin-left:64px!important}.ml-xl-auto{margin-left:auto!important}.ms-xl-0{margin-inline-start:0px!important}.ms-xl-1{margin-inline-start:4px!important}.ms-xl-2{margin-inline-start:8px!important}.ms-xl-3{margin-inline-start:12px!important}.ms-xl-4{margin-inline-start:16px!important}.ms-xl-5{margin-inline-start:20px!important}.ms-xl-6{margin-inline-start:24px!important}.ms-xl-7{margin-inline-start:28px!important}.ms-xl-8{margin-inline-start:32px!important}.ms-xl-9{margin-inline-start:36px!important}.ms-xl-10{margin-inline-start:40px!important}.ms-xl-11{margin-inline-start:44px!important}.ms-xl-12{margin-inline-start:48px!important}.ms-xl-13{margin-inline-start:52px!important}.ms-xl-14{margin-inline-start:56px!important}.ms-xl-15{margin-inline-start:60px!important}.ms-xl-16{margin-inline-start:64px!important}.ms-xl-auto{margin-inline-start:auto!important}.me-xl-0{margin-inline-end:0px!important}.me-xl-1{margin-inline-end:4px!important}.me-xl-2{margin-inline-end:8px!important}.me-xl-3{margin-inline-end:12px!important}.me-xl-4{margin-inline-end:16px!important}.me-xl-5{margin-inline-end:20px!important}.me-xl-6{margin-inline-end:24px!important}.me-xl-7{margin-inline-end:28px!important}.me-xl-8{margin-inline-end:32px!important}.me-xl-9{margin-inline-end:36px!important}.me-xl-10{margin-inline-end:40px!important}.me-xl-11{margin-inline-end:44px!important}.me-xl-12{margin-inline-end:48px!important}.me-xl-13{margin-inline-end:52px!important}.me-xl-14{margin-inline-end:56px!important}.me-xl-15{margin-inline-end:60px!important}.me-xl-16{margin-inline-end:64px!important}.me-xl-auto{margin-inline-end:auto!important}.ma-xl-n1{margin:-4px!important}.ma-xl-n2{margin:-8px!important}.ma-xl-n3{margin:-12px!important}.ma-xl-n4{margin:-16px!important}.ma-xl-n5{margin:-20px!important}.ma-xl-n6{margin:-24px!important}.ma-xl-n7{margin:-28px!important}.ma-xl-n8{margin:-32px!important}.ma-xl-n9{margin:-36px!important}.ma-xl-n10{margin:-40px!important}.ma-xl-n11{margin:-44px!important}.ma-xl-n12{margin:-48px!important}.ma-xl-n13{margin:-52px!important}.ma-xl-n14{margin:-56px!important}.ma-xl-n15{margin:-60px!important}.ma-xl-n16{margin:-64px!important}.mx-xl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xl-n1{margin-top:-4px!important}.mt-xl-n2{margin-top:-8px!important}.mt-xl-n3{margin-top:-12px!important}.mt-xl-n4{margin-top:-16px!important}.mt-xl-n5{margin-top:-20px!important}.mt-xl-n6{margin-top:-24px!important}.mt-xl-n7{margin-top:-28px!important}.mt-xl-n8{margin-top:-32px!important}.mt-xl-n9{margin-top:-36px!important}.mt-xl-n10{margin-top:-40px!important}.mt-xl-n11{margin-top:-44px!important}.mt-xl-n12{margin-top:-48px!important}.mt-xl-n13{margin-top:-52px!important}.mt-xl-n14{margin-top:-56px!important}.mt-xl-n15{margin-top:-60px!important}.mt-xl-n16{margin-top:-64px!important}.mr-xl-n1{margin-right:-4px!important}.mr-xl-n2{margin-right:-8px!important}.mr-xl-n3{margin-right:-12px!important}.mr-xl-n4{margin-right:-16px!important}.mr-xl-n5{margin-right:-20px!important}.mr-xl-n6{margin-right:-24px!important}.mr-xl-n7{margin-right:-28px!important}.mr-xl-n8{margin-right:-32px!important}.mr-xl-n9{margin-right:-36px!important}.mr-xl-n10{margin-right:-40px!important}.mr-xl-n11{margin-right:-44px!important}.mr-xl-n12{margin-right:-48px!important}.mr-xl-n13{margin-right:-52px!important}.mr-xl-n14{margin-right:-56px!important}.mr-xl-n15{margin-right:-60px!important}.mr-xl-n16{margin-right:-64px!important}.mb-xl-n1{margin-bottom:-4px!important}.mb-xl-n2{margin-bottom:-8px!important}.mb-xl-n3{margin-bottom:-12px!important}.mb-xl-n4{margin-bottom:-16px!important}.mb-xl-n5{margin-bottom:-20px!important}.mb-xl-n6{margin-bottom:-24px!important}.mb-xl-n7{margin-bottom:-28px!important}.mb-xl-n8{margin-bottom:-32px!important}.mb-xl-n9{margin-bottom:-36px!important}.mb-xl-n10{margin-bottom:-40px!important}.mb-xl-n11{margin-bottom:-44px!important}.mb-xl-n12{margin-bottom:-48px!important}.mb-xl-n13{margin-bottom:-52px!important}.mb-xl-n14{margin-bottom:-56px!important}.mb-xl-n15{margin-bottom:-60px!important}.mb-xl-n16{margin-bottom:-64px!important}.ml-xl-n1{margin-left:-4px!important}.ml-xl-n2{margin-left:-8px!important}.ml-xl-n3{margin-left:-12px!important}.ml-xl-n4{margin-left:-16px!important}.ml-xl-n5{margin-left:-20px!important}.ml-xl-n6{margin-left:-24px!important}.ml-xl-n7{margin-left:-28px!important}.ml-xl-n8{margin-left:-32px!important}.ml-xl-n9{margin-left:-36px!important}.ml-xl-n10{margin-left:-40px!important}.ml-xl-n11{margin-left:-44px!important}.ml-xl-n12{margin-left:-48px!important}.ml-xl-n13{margin-left:-52px!important}.ml-xl-n14{margin-left:-56px!important}.ml-xl-n15{margin-left:-60px!important}.ml-xl-n16{margin-left:-64px!important}.ms-xl-n1{margin-inline-start:-4px!important}.ms-xl-n2{margin-inline-start:-8px!important}.ms-xl-n3{margin-inline-start:-12px!important}.ms-xl-n4{margin-inline-start:-16px!important}.ms-xl-n5{margin-inline-start:-20px!important}.ms-xl-n6{margin-inline-start:-24px!important}.ms-xl-n7{margin-inline-start:-28px!important}.ms-xl-n8{margin-inline-start:-32px!important}.ms-xl-n9{margin-inline-start:-36px!important}.ms-xl-n10{margin-inline-start:-40px!important}.ms-xl-n11{margin-inline-start:-44px!important}.ms-xl-n12{margin-inline-start:-48px!important}.ms-xl-n13{margin-inline-start:-52px!important}.ms-xl-n14{margin-inline-start:-56px!important}.ms-xl-n15{margin-inline-start:-60px!important}.ms-xl-n16{margin-inline-start:-64px!important}.me-xl-n1{margin-inline-end:-4px!important}.me-xl-n2{margin-inline-end:-8px!important}.me-xl-n3{margin-inline-end:-12px!important}.me-xl-n4{margin-inline-end:-16px!important}.me-xl-n5{margin-inline-end:-20px!important}.me-xl-n6{margin-inline-end:-24px!important}.me-xl-n7{margin-inline-end:-28px!important}.me-xl-n8{margin-inline-end:-32px!important}.me-xl-n9{margin-inline-end:-36px!important}.me-xl-n10{margin-inline-end:-40px!important}.me-xl-n11{margin-inline-end:-44px!important}.me-xl-n12{margin-inline-end:-48px!important}.me-xl-n13{margin-inline-end:-52px!important}.me-xl-n14{margin-inline-end:-56px!important}.me-xl-n15{margin-inline-end:-60px!important}.me-xl-n16{margin-inline-end:-64px!important}.pa-xl-0{padding:0!important}.pa-xl-1{padding:4px!important}.pa-xl-2{padding:8px!important}.pa-xl-3{padding:12px!important}.pa-xl-4{padding:16px!important}.pa-xl-5{padding:20px!important}.pa-xl-6{padding:24px!important}.pa-xl-7{padding:28px!important}.pa-xl-8{padding:32px!important}.pa-xl-9{padding:36px!important}.pa-xl-10{padding:40px!important}.pa-xl-11{padding:44px!important}.pa-xl-12{padding:48px!important}.pa-xl-13{padding:52px!important}.pa-xl-14{padding:56px!important}.pa-xl-15{padding:60px!important}.pa-xl-16{padding:64px!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:4px!important;padding-left:4px!important}.px-xl-2{padding-right:8px!important;padding-left:8px!important}.px-xl-3{padding-right:12px!important;padding-left:12px!important}.px-xl-4{padding-right:16px!important;padding-left:16px!important}.px-xl-5{padding-right:20px!important;padding-left:20px!important}.px-xl-6{padding-right:24px!important;padding-left:24px!important}.px-xl-7{padding-right:28px!important;padding-left:28px!important}.px-xl-8{padding-right:32px!important;padding-left:32px!important}.px-xl-9{padding-right:36px!important;padding-left:36px!important}.px-xl-10{padding-right:40px!important;padding-left:40px!important}.px-xl-11{padding-right:44px!important;padding-left:44px!important}.px-xl-12{padding-right:48px!important;padding-left:48px!important}.px-xl-13{padding-right:52px!important;padding-left:52px!important}.px-xl-14{padding-right:56px!important;padding-left:56px!important}.px-xl-15{padding-right:60px!important;padding-left:60px!important}.px-xl-16{padding-right:64px!important;padding-left:64px!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:4px!important}.pt-xl-2{padding-top:8px!important}.pt-xl-3{padding-top:12px!important}.pt-xl-4{padding-top:16px!important}.pt-xl-5{padding-top:20px!important}.pt-xl-6{padding-top:24px!important}.pt-xl-7{padding-top:28px!important}.pt-xl-8{padding-top:32px!important}.pt-xl-9{padding-top:36px!important}.pt-xl-10{padding-top:40px!important}.pt-xl-11{padding-top:44px!important}.pt-xl-12{padding-top:48px!important}.pt-xl-13{padding-top:52px!important}.pt-xl-14{padding-top:56px!important}.pt-xl-15{padding-top:60px!important}.pt-xl-16{padding-top:64px!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:4px!important}.pr-xl-2{padding-right:8px!important}.pr-xl-3{padding-right:12px!important}.pr-xl-4{padding-right:16px!important}.pr-xl-5{padding-right:20px!important}.pr-xl-6{padding-right:24px!important}.pr-xl-7{padding-right:28px!important}.pr-xl-8{padding-right:32px!important}.pr-xl-9{padding-right:36px!important}.pr-xl-10{padding-right:40px!important}.pr-xl-11{padding-right:44px!important}.pr-xl-12{padding-right:48px!important}.pr-xl-13{padding-right:52px!important}.pr-xl-14{padding-right:56px!important}.pr-xl-15{padding-right:60px!important}.pr-xl-16{padding-right:64px!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:4px!important}.pb-xl-2{padding-bottom:8px!important}.pb-xl-3{padding-bottom:12px!important}.pb-xl-4{padding-bottom:16px!important}.pb-xl-5{padding-bottom:20px!important}.pb-xl-6{padding-bottom:24px!important}.pb-xl-7{padding-bottom:28px!important}.pb-xl-8{padding-bottom:32px!important}.pb-xl-9{padding-bottom:36px!important}.pb-xl-10{padding-bottom:40px!important}.pb-xl-11{padding-bottom:44px!important}.pb-xl-12{padding-bottom:48px!important}.pb-xl-13{padding-bottom:52px!important}.pb-xl-14{padding-bottom:56px!important}.pb-xl-15{padding-bottom:60px!important}.pb-xl-16{padding-bottom:64px!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:4px!important}.pl-xl-2{padding-left:8px!important}.pl-xl-3{padding-left:12px!important}.pl-xl-4{padding-left:16px!important}.pl-xl-5{padding-left:20px!important}.pl-xl-6{padding-left:24px!important}.pl-xl-7{padding-left:28px!important}.pl-xl-8{padding-left:32px!important}.pl-xl-9{padding-left:36px!important}.pl-xl-10{padding-left:40px!important}.pl-xl-11{padding-left:44px!important}.pl-xl-12{padding-left:48px!important}.pl-xl-13{padding-left:52px!important}.pl-xl-14{padding-left:56px!important}.pl-xl-15{padding-left:60px!important}.pl-xl-16{padding-left:64px!important}.ps-xl-0{padding-inline-start:0px!important}.ps-xl-1{padding-inline-start:4px!important}.ps-xl-2{padding-inline-start:8px!important}.ps-xl-3{padding-inline-start:12px!important}.ps-xl-4{padding-inline-start:16px!important}.ps-xl-5{padding-inline-start:20px!important}.ps-xl-6{padding-inline-start:24px!important}.ps-xl-7{padding-inline-start:28px!important}.ps-xl-8{padding-inline-start:32px!important}.ps-xl-9{padding-inline-start:36px!important}.ps-xl-10{padding-inline-start:40px!important}.ps-xl-11{padding-inline-start:44px!important}.ps-xl-12{padding-inline-start:48px!important}.ps-xl-13{padding-inline-start:52px!important}.ps-xl-14{padding-inline-start:56px!important}.ps-xl-15{padding-inline-start:60px!important}.ps-xl-16{padding-inline-start:64px!important}.pe-xl-0{padding-inline-end:0px!important}.pe-xl-1{padding-inline-end:4px!important}.pe-xl-2{padding-inline-end:8px!important}.pe-xl-3{padding-inline-end:12px!important}.pe-xl-4{padding-inline-end:16px!important}.pe-xl-5{padding-inline-end:20px!important}.pe-xl-6{padding-inline-end:24px!important}.pe-xl-7{padding-inline-end:28px!important}.pe-xl-8{padding-inline-end:32px!important}.pe-xl-9{padding-inline-end:36px!important}.pe-xl-10{padding-inline-end:40px!important}.pe-xl-11{padding-inline-end:44px!important}.pe-xl-12{padding-inline-end:48px!important}.pe-xl-13{padding-inline-end:52px!important}.pe-xl-14{padding-inline-end:56px!important}.pe-xl-15{padding-inline-end:60px!important}.pe-xl-16{padding-inline-end:64px!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}.text-xl-start{text-align:start!important}.text-xl-end{text-align:end!important}.text-xl-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-xl-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-xl-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-xl-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-xl-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-xl-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-xl-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-xl-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-xl-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-xl-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-xl-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-xl-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-xl-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.h-xl-auto{height:auto!important}.h-xl-screen{height:100vh!important}.h-xl-0{height:0!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.w-xl-auto{width:auto!important}.w-xl-0{width:0!important}.w-xl-25{width:25%!important}.w-xl-33{width:33%!important}.w-xl-50{width:50%!important}.w-xl-66{width:66%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}}@media (min-width: 2560px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.float-xxl-none{float:none!important}.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.v-locale--is-rtl .float-xxl-end{float:left!important}.v-locale--is-rtl .float-xxl-start,.v-locale--is-ltr .float-xxl-end{float:right!important}.v-locale--is-ltr .float-xxl-start{float:left!important}.flex-xxl-fill,.flex-xxl-1-1{flex:1 1 auto!important}.flex-xxl-1-0{flex:1 0 auto!important}.flex-xxl-0-1{flex:0 1 auto!important}.flex-xxl-0-0{flex:0 0 auto!important}.flex-xxl-1-1-100{flex:1 1 100%!important}.flex-xxl-1-0-100{flex:1 0 100%!important}.flex-xxl-0-1-100{flex:0 1 100%!important}.flex-xxl-0-0-100{flex:0 0 100%!important}.flex-xxl-1-1-0{flex:1 1 0!important}.flex-xxl-1-0-0{flex:1 0 0!important}.flex-xxl-0-1-0{flex:0 1 0!important}.flex-xxl-0-0-0{flex:0 0 0!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-xxl-start{justify-content:flex-start!important}.justify-xxl-end{justify-content:flex-end!important}.justify-xxl-center{justify-content:center!important}.justify-xxl-space-between{justify-content:space-between!important}.justify-xxl-space-around{justify-content:space-around!important}.justify-xxl-space-evenly{justify-content:space-evenly!important}.align-xxl-start{align-items:flex-start!important}.align-xxl-end{align-items:flex-end!important}.align-xxl-center{align-items:center!important}.align-xxl-baseline{align-items:baseline!important}.align-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-space-between{align-content:space-between!important}.align-content-xxl-space-around{align-content:space-around!important}.align-content-xxl-space-evenly{align-content:space-evenly!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-6{order:6!important}.order-xxl-7{order:7!important}.order-xxl-8{order:8!important}.order-xxl-9{order:9!important}.order-xxl-10{order:10!important}.order-xxl-11{order:11!important}.order-xxl-12{order:12!important}.order-xxl-last{order:13!important}.ga-xxl-0{gap:0px!important}.ga-xxl-1{gap:4px!important}.ga-xxl-2{gap:8px!important}.ga-xxl-3{gap:12px!important}.ga-xxl-4{gap:16px!important}.ga-xxl-5{gap:20px!important}.ga-xxl-6{gap:24px!important}.ga-xxl-7{gap:28px!important}.ga-xxl-8{gap:32px!important}.ga-xxl-9{gap:36px!important}.ga-xxl-10{gap:40px!important}.ga-xxl-11{gap:44px!important}.ga-xxl-12{gap:48px!important}.ga-xxl-13{gap:52px!important}.ga-xxl-14{gap:56px!important}.ga-xxl-15{gap:60px!important}.ga-xxl-16{gap:64px!important}.ga-xxl-auto{gap:auto!important}.gr-xxl-0{row-gap:0px!important}.gr-xxl-1{row-gap:4px!important}.gr-xxl-2{row-gap:8px!important}.gr-xxl-3{row-gap:12px!important}.gr-xxl-4{row-gap:16px!important}.gr-xxl-5{row-gap:20px!important}.gr-xxl-6{row-gap:24px!important}.gr-xxl-7{row-gap:28px!important}.gr-xxl-8{row-gap:32px!important}.gr-xxl-9{row-gap:36px!important}.gr-xxl-10{row-gap:40px!important}.gr-xxl-11{row-gap:44px!important}.gr-xxl-12{row-gap:48px!important}.gr-xxl-13{row-gap:52px!important}.gr-xxl-14{row-gap:56px!important}.gr-xxl-15{row-gap:60px!important}.gr-xxl-16{row-gap:64px!important}.gr-xxl-auto{row-gap:auto!important}.gc-xxl-0{column-gap:0px!important}.gc-xxl-1{column-gap:4px!important}.gc-xxl-2{column-gap:8px!important}.gc-xxl-3{column-gap:12px!important}.gc-xxl-4{column-gap:16px!important}.gc-xxl-5{column-gap:20px!important}.gc-xxl-6{column-gap:24px!important}.gc-xxl-7{column-gap:28px!important}.gc-xxl-8{column-gap:32px!important}.gc-xxl-9{column-gap:36px!important}.gc-xxl-10{column-gap:40px!important}.gc-xxl-11{column-gap:44px!important}.gc-xxl-12{column-gap:48px!important}.gc-xxl-13{column-gap:52px!important}.gc-xxl-14{column-gap:56px!important}.gc-xxl-15{column-gap:60px!important}.gc-xxl-16{column-gap:64px!important}.gc-xxl-auto{column-gap:auto!important}.ma-xxl-0{margin:0!important}.ma-xxl-1{margin:4px!important}.ma-xxl-2{margin:8px!important}.ma-xxl-3{margin:12px!important}.ma-xxl-4{margin:16px!important}.ma-xxl-5{margin:20px!important}.ma-xxl-6{margin:24px!important}.ma-xxl-7{margin:28px!important}.ma-xxl-8{margin:32px!important}.ma-xxl-9{margin:36px!important}.ma-xxl-10{margin:40px!important}.ma-xxl-11{margin:44px!important}.ma-xxl-12{margin:48px!important}.ma-xxl-13{margin:52px!important}.ma-xxl-14{margin:56px!important}.ma-xxl-15{margin:60px!important}.ma-xxl-16{margin:64px!important}.ma-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:4px!important;margin-left:4px!important}.mx-xxl-2{margin-right:8px!important;margin-left:8px!important}.mx-xxl-3{margin-right:12px!important;margin-left:12px!important}.mx-xxl-4{margin-right:16px!important;margin-left:16px!important}.mx-xxl-5{margin-right:20px!important;margin-left:20px!important}.mx-xxl-6{margin-right:24px!important;margin-left:24px!important}.mx-xxl-7{margin-right:28px!important;margin-left:28px!important}.mx-xxl-8{margin-right:32px!important;margin-left:32px!important}.mx-xxl-9{margin-right:36px!important;margin-left:36px!important}.mx-xxl-10{margin-right:40px!important;margin-left:40px!important}.mx-xxl-11{margin-right:44px!important;margin-left:44px!important}.mx-xxl-12{margin-right:48px!important;margin-left:48px!important}.mx-xxl-13{margin-right:52px!important;margin-left:52px!important}.mx-xxl-14{margin-right:56px!important;margin-left:56px!important}.mx-xxl-15{margin-right:60px!important;margin-left:60px!important}.mx-xxl-16{margin-right:64px!important;margin-left:64px!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:4px!important;margin-bottom:4px!important}.my-xxl-2{margin-top:8px!important;margin-bottom:8px!important}.my-xxl-3{margin-top:12px!important;margin-bottom:12px!important}.my-xxl-4{margin-top:16px!important;margin-bottom:16px!important}.my-xxl-5{margin-top:20px!important;margin-bottom:20px!important}.my-xxl-6{margin-top:24px!important;margin-bottom:24px!important}.my-xxl-7{margin-top:28px!important;margin-bottom:28px!important}.my-xxl-8{margin-top:32px!important;margin-bottom:32px!important}.my-xxl-9{margin-top:36px!important;margin-bottom:36px!important}.my-xxl-10{margin-top:40px!important;margin-bottom:40px!important}.my-xxl-11{margin-top:44px!important;margin-bottom:44px!important}.my-xxl-12{margin-top:48px!important;margin-bottom:48px!important}.my-xxl-13{margin-top:52px!important;margin-bottom:52px!important}.my-xxl-14{margin-top:56px!important;margin-bottom:56px!important}.my-xxl-15{margin-top:60px!important;margin-bottom:60px!important}.my-xxl-16{margin-top:64px!important;margin-bottom:64px!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:4px!important}.mt-xxl-2{margin-top:8px!important}.mt-xxl-3{margin-top:12px!important}.mt-xxl-4{margin-top:16px!important}.mt-xxl-5{margin-top:20px!important}.mt-xxl-6{margin-top:24px!important}.mt-xxl-7{margin-top:28px!important}.mt-xxl-8{margin-top:32px!important}.mt-xxl-9{margin-top:36px!important}.mt-xxl-10{margin-top:40px!important}.mt-xxl-11{margin-top:44px!important}.mt-xxl-12{margin-top:48px!important}.mt-xxl-13{margin-top:52px!important}.mt-xxl-14{margin-top:56px!important}.mt-xxl-15{margin-top:60px!important}.mt-xxl-16{margin-top:64px!important}.mt-xxl-auto{margin-top:auto!important}.mr-xxl-0{margin-right:0!important}.mr-xxl-1{margin-right:4px!important}.mr-xxl-2{margin-right:8px!important}.mr-xxl-3{margin-right:12px!important}.mr-xxl-4{margin-right:16px!important}.mr-xxl-5{margin-right:20px!important}.mr-xxl-6{margin-right:24px!important}.mr-xxl-7{margin-right:28px!important}.mr-xxl-8{margin-right:32px!important}.mr-xxl-9{margin-right:36px!important}.mr-xxl-10{margin-right:40px!important}.mr-xxl-11{margin-right:44px!important}.mr-xxl-12{margin-right:48px!important}.mr-xxl-13{margin-right:52px!important}.mr-xxl-14{margin-right:56px!important}.mr-xxl-15{margin-right:60px!important}.mr-xxl-16{margin-right:64px!important}.mr-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:4px!important}.mb-xxl-2{margin-bottom:8px!important}.mb-xxl-3{margin-bottom:12px!important}.mb-xxl-4{margin-bottom:16px!important}.mb-xxl-5{margin-bottom:20px!important}.mb-xxl-6{margin-bottom:24px!important}.mb-xxl-7{margin-bottom:28px!important}.mb-xxl-8{margin-bottom:32px!important}.mb-xxl-9{margin-bottom:36px!important}.mb-xxl-10{margin-bottom:40px!important}.mb-xxl-11{margin-bottom:44px!important}.mb-xxl-12{margin-bottom:48px!important}.mb-xxl-13{margin-bottom:52px!important}.mb-xxl-14{margin-bottom:56px!important}.mb-xxl-15{margin-bottom:60px!important}.mb-xxl-16{margin-bottom:64px!important}.mb-xxl-auto{margin-bottom:auto!important}.ml-xxl-0{margin-left:0!important}.ml-xxl-1{margin-left:4px!important}.ml-xxl-2{margin-left:8px!important}.ml-xxl-3{margin-left:12px!important}.ml-xxl-4{margin-left:16px!important}.ml-xxl-5{margin-left:20px!important}.ml-xxl-6{margin-left:24px!important}.ml-xxl-7{margin-left:28px!important}.ml-xxl-8{margin-left:32px!important}.ml-xxl-9{margin-left:36px!important}.ml-xxl-10{margin-left:40px!important}.ml-xxl-11{margin-left:44px!important}.ml-xxl-12{margin-left:48px!important}.ml-xxl-13{margin-left:52px!important}.ml-xxl-14{margin-left:56px!important}.ml-xxl-15{margin-left:60px!important}.ml-xxl-16{margin-left:64px!important}.ml-xxl-auto{margin-left:auto!important}.ms-xxl-0{margin-inline-start:0px!important}.ms-xxl-1{margin-inline-start:4px!important}.ms-xxl-2{margin-inline-start:8px!important}.ms-xxl-3{margin-inline-start:12px!important}.ms-xxl-4{margin-inline-start:16px!important}.ms-xxl-5{margin-inline-start:20px!important}.ms-xxl-6{margin-inline-start:24px!important}.ms-xxl-7{margin-inline-start:28px!important}.ms-xxl-8{margin-inline-start:32px!important}.ms-xxl-9{margin-inline-start:36px!important}.ms-xxl-10{margin-inline-start:40px!important}.ms-xxl-11{margin-inline-start:44px!important}.ms-xxl-12{margin-inline-start:48px!important}.ms-xxl-13{margin-inline-start:52px!important}.ms-xxl-14{margin-inline-start:56px!important}.ms-xxl-15{margin-inline-start:60px!important}.ms-xxl-16{margin-inline-start:64px!important}.ms-xxl-auto{margin-inline-start:auto!important}.me-xxl-0{margin-inline-end:0px!important}.me-xxl-1{margin-inline-end:4px!important}.me-xxl-2{margin-inline-end:8px!important}.me-xxl-3{margin-inline-end:12px!important}.me-xxl-4{margin-inline-end:16px!important}.me-xxl-5{margin-inline-end:20px!important}.me-xxl-6{margin-inline-end:24px!important}.me-xxl-7{margin-inline-end:28px!important}.me-xxl-8{margin-inline-end:32px!important}.me-xxl-9{margin-inline-end:36px!important}.me-xxl-10{margin-inline-end:40px!important}.me-xxl-11{margin-inline-end:44px!important}.me-xxl-12{margin-inline-end:48px!important}.me-xxl-13{margin-inline-end:52px!important}.me-xxl-14{margin-inline-end:56px!important}.me-xxl-15{margin-inline-end:60px!important}.me-xxl-16{margin-inline-end:64px!important}.me-xxl-auto{margin-inline-end:auto!important}.ma-xxl-n1{margin:-4px!important}.ma-xxl-n2{margin:-8px!important}.ma-xxl-n3{margin:-12px!important}.ma-xxl-n4{margin:-16px!important}.ma-xxl-n5{margin:-20px!important}.ma-xxl-n6{margin:-24px!important}.ma-xxl-n7{margin:-28px!important}.ma-xxl-n8{margin:-32px!important}.ma-xxl-n9{margin:-36px!important}.ma-xxl-n10{margin:-40px!important}.ma-xxl-n11{margin:-44px!important}.ma-xxl-n12{margin:-48px!important}.ma-xxl-n13{margin:-52px!important}.ma-xxl-n14{margin:-56px!important}.ma-xxl-n15{margin:-60px!important}.ma-xxl-n16{margin:-64px!important}.mx-xxl-n1{margin-right:-4px!important;margin-left:-4px!important}.mx-xxl-n2{margin-right:-8px!important;margin-left:-8px!important}.mx-xxl-n3{margin-right:-12px!important;margin-left:-12px!important}.mx-xxl-n4{margin-right:-16px!important;margin-left:-16px!important}.mx-xxl-n5{margin-right:-20px!important;margin-left:-20px!important}.mx-xxl-n6{margin-right:-24px!important;margin-left:-24px!important}.mx-xxl-n7{margin-right:-28px!important;margin-left:-28px!important}.mx-xxl-n8{margin-right:-32px!important;margin-left:-32px!important}.mx-xxl-n9{margin-right:-36px!important;margin-left:-36px!important}.mx-xxl-n10{margin-right:-40px!important;margin-left:-40px!important}.mx-xxl-n11{margin-right:-44px!important;margin-left:-44px!important}.mx-xxl-n12{margin-right:-48px!important;margin-left:-48px!important}.mx-xxl-n13{margin-right:-52px!important;margin-left:-52px!important}.mx-xxl-n14{margin-right:-56px!important;margin-left:-56px!important}.mx-xxl-n15{margin-right:-60px!important;margin-left:-60px!important}.mx-xxl-n16{margin-right:-64px!important;margin-left:-64px!important}.my-xxl-n1{margin-top:-4px!important;margin-bottom:-4px!important}.my-xxl-n2{margin-top:-8px!important;margin-bottom:-8px!important}.my-xxl-n3{margin-top:-12px!important;margin-bottom:-12px!important}.my-xxl-n4{margin-top:-16px!important;margin-bottom:-16px!important}.my-xxl-n5{margin-top:-20px!important;margin-bottom:-20px!important}.my-xxl-n6{margin-top:-24px!important;margin-bottom:-24px!important}.my-xxl-n7{margin-top:-28px!important;margin-bottom:-28px!important}.my-xxl-n8{margin-top:-32px!important;margin-bottom:-32px!important}.my-xxl-n9{margin-top:-36px!important;margin-bottom:-36px!important}.my-xxl-n10{margin-top:-40px!important;margin-bottom:-40px!important}.my-xxl-n11{margin-top:-44px!important;margin-bottom:-44px!important}.my-xxl-n12{margin-top:-48px!important;margin-bottom:-48px!important}.my-xxl-n13{margin-top:-52px!important;margin-bottom:-52px!important}.my-xxl-n14{margin-top:-56px!important;margin-bottom:-56px!important}.my-xxl-n15{margin-top:-60px!important;margin-bottom:-60px!important}.my-xxl-n16{margin-top:-64px!important;margin-bottom:-64px!important}.mt-xxl-n1{margin-top:-4px!important}.mt-xxl-n2{margin-top:-8px!important}.mt-xxl-n3{margin-top:-12px!important}.mt-xxl-n4{margin-top:-16px!important}.mt-xxl-n5{margin-top:-20px!important}.mt-xxl-n6{margin-top:-24px!important}.mt-xxl-n7{margin-top:-28px!important}.mt-xxl-n8{margin-top:-32px!important}.mt-xxl-n9{margin-top:-36px!important}.mt-xxl-n10{margin-top:-40px!important}.mt-xxl-n11{margin-top:-44px!important}.mt-xxl-n12{margin-top:-48px!important}.mt-xxl-n13{margin-top:-52px!important}.mt-xxl-n14{margin-top:-56px!important}.mt-xxl-n15{margin-top:-60px!important}.mt-xxl-n16{margin-top:-64px!important}.mr-xxl-n1{margin-right:-4px!important}.mr-xxl-n2{margin-right:-8px!important}.mr-xxl-n3{margin-right:-12px!important}.mr-xxl-n4{margin-right:-16px!important}.mr-xxl-n5{margin-right:-20px!important}.mr-xxl-n6{margin-right:-24px!important}.mr-xxl-n7{margin-right:-28px!important}.mr-xxl-n8{margin-right:-32px!important}.mr-xxl-n9{margin-right:-36px!important}.mr-xxl-n10{margin-right:-40px!important}.mr-xxl-n11{margin-right:-44px!important}.mr-xxl-n12{margin-right:-48px!important}.mr-xxl-n13{margin-right:-52px!important}.mr-xxl-n14{margin-right:-56px!important}.mr-xxl-n15{margin-right:-60px!important}.mr-xxl-n16{margin-right:-64px!important}.mb-xxl-n1{margin-bottom:-4px!important}.mb-xxl-n2{margin-bottom:-8px!important}.mb-xxl-n3{margin-bottom:-12px!important}.mb-xxl-n4{margin-bottom:-16px!important}.mb-xxl-n5{margin-bottom:-20px!important}.mb-xxl-n6{margin-bottom:-24px!important}.mb-xxl-n7{margin-bottom:-28px!important}.mb-xxl-n8{margin-bottom:-32px!important}.mb-xxl-n9{margin-bottom:-36px!important}.mb-xxl-n10{margin-bottom:-40px!important}.mb-xxl-n11{margin-bottom:-44px!important}.mb-xxl-n12{margin-bottom:-48px!important}.mb-xxl-n13{margin-bottom:-52px!important}.mb-xxl-n14{margin-bottom:-56px!important}.mb-xxl-n15{margin-bottom:-60px!important}.mb-xxl-n16{margin-bottom:-64px!important}.ml-xxl-n1{margin-left:-4px!important}.ml-xxl-n2{margin-left:-8px!important}.ml-xxl-n3{margin-left:-12px!important}.ml-xxl-n4{margin-left:-16px!important}.ml-xxl-n5{margin-left:-20px!important}.ml-xxl-n6{margin-left:-24px!important}.ml-xxl-n7{margin-left:-28px!important}.ml-xxl-n8{margin-left:-32px!important}.ml-xxl-n9{margin-left:-36px!important}.ml-xxl-n10{margin-left:-40px!important}.ml-xxl-n11{margin-left:-44px!important}.ml-xxl-n12{margin-left:-48px!important}.ml-xxl-n13{margin-left:-52px!important}.ml-xxl-n14{margin-left:-56px!important}.ml-xxl-n15{margin-left:-60px!important}.ml-xxl-n16{margin-left:-64px!important}.ms-xxl-n1{margin-inline-start:-4px!important}.ms-xxl-n2{margin-inline-start:-8px!important}.ms-xxl-n3{margin-inline-start:-12px!important}.ms-xxl-n4{margin-inline-start:-16px!important}.ms-xxl-n5{margin-inline-start:-20px!important}.ms-xxl-n6{margin-inline-start:-24px!important}.ms-xxl-n7{margin-inline-start:-28px!important}.ms-xxl-n8{margin-inline-start:-32px!important}.ms-xxl-n9{margin-inline-start:-36px!important}.ms-xxl-n10{margin-inline-start:-40px!important}.ms-xxl-n11{margin-inline-start:-44px!important}.ms-xxl-n12{margin-inline-start:-48px!important}.ms-xxl-n13{margin-inline-start:-52px!important}.ms-xxl-n14{margin-inline-start:-56px!important}.ms-xxl-n15{margin-inline-start:-60px!important}.ms-xxl-n16{margin-inline-start:-64px!important}.me-xxl-n1{margin-inline-end:-4px!important}.me-xxl-n2{margin-inline-end:-8px!important}.me-xxl-n3{margin-inline-end:-12px!important}.me-xxl-n4{margin-inline-end:-16px!important}.me-xxl-n5{margin-inline-end:-20px!important}.me-xxl-n6{margin-inline-end:-24px!important}.me-xxl-n7{margin-inline-end:-28px!important}.me-xxl-n8{margin-inline-end:-32px!important}.me-xxl-n9{margin-inline-end:-36px!important}.me-xxl-n10{margin-inline-end:-40px!important}.me-xxl-n11{margin-inline-end:-44px!important}.me-xxl-n12{margin-inline-end:-48px!important}.me-xxl-n13{margin-inline-end:-52px!important}.me-xxl-n14{margin-inline-end:-56px!important}.me-xxl-n15{margin-inline-end:-60px!important}.me-xxl-n16{margin-inline-end:-64px!important}.pa-xxl-0{padding:0!important}.pa-xxl-1{padding:4px!important}.pa-xxl-2{padding:8px!important}.pa-xxl-3{padding:12px!important}.pa-xxl-4{padding:16px!important}.pa-xxl-5{padding:20px!important}.pa-xxl-6{padding:24px!important}.pa-xxl-7{padding:28px!important}.pa-xxl-8{padding:32px!important}.pa-xxl-9{padding:36px!important}.pa-xxl-10{padding:40px!important}.pa-xxl-11{padding:44px!important}.pa-xxl-12{padding:48px!important}.pa-xxl-13{padding:52px!important}.pa-xxl-14{padding:56px!important}.pa-xxl-15{padding:60px!important}.pa-xxl-16{padding:64px!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:4px!important;padding-left:4px!important}.px-xxl-2{padding-right:8px!important;padding-left:8px!important}.px-xxl-3{padding-right:12px!important;padding-left:12px!important}.px-xxl-4{padding-right:16px!important;padding-left:16px!important}.px-xxl-5{padding-right:20px!important;padding-left:20px!important}.px-xxl-6{padding-right:24px!important;padding-left:24px!important}.px-xxl-7{padding-right:28px!important;padding-left:28px!important}.px-xxl-8{padding-right:32px!important;padding-left:32px!important}.px-xxl-9{padding-right:36px!important;padding-left:36px!important}.px-xxl-10{padding-right:40px!important;padding-left:40px!important}.px-xxl-11{padding-right:44px!important;padding-left:44px!important}.px-xxl-12{padding-right:48px!important;padding-left:48px!important}.px-xxl-13{padding-right:52px!important;padding-left:52px!important}.px-xxl-14{padding-right:56px!important;padding-left:56px!important}.px-xxl-15{padding-right:60px!important;padding-left:60px!important}.px-xxl-16{padding-right:64px!important;padding-left:64px!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:4px!important;padding-bottom:4px!important}.py-xxl-2{padding-top:8px!important;padding-bottom:8px!important}.py-xxl-3{padding-top:12px!important;padding-bottom:12px!important}.py-xxl-4{padding-top:16px!important;padding-bottom:16px!important}.py-xxl-5{padding-top:20px!important;padding-bottom:20px!important}.py-xxl-6{padding-top:24px!important;padding-bottom:24px!important}.py-xxl-7{padding-top:28px!important;padding-bottom:28px!important}.py-xxl-8{padding-top:32px!important;padding-bottom:32px!important}.py-xxl-9{padding-top:36px!important;padding-bottom:36px!important}.py-xxl-10{padding-top:40px!important;padding-bottom:40px!important}.py-xxl-11{padding-top:44px!important;padding-bottom:44px!important}.py-xxl-12{padding-top:48px!important;padding-bottom:48px!important}.py-xxl-13{padding-top:52px!important;padding-bottom:52px!important}.py-xxl-14{padding-top:56px!important;padding-bottom:56px!important}.py-xxl-15{padding-top:60px!important;padding-bottom:60px!important}.py-xxl-16{padding-top:64px!important;padding-bottom:64px!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:4px!important}.pt-xxl-2{padding-top:8px!important}.pt-xxl-3{padding-top:12px!important}.pt-xxl-4{padding-top:16px!important}.pt-xxl-5{padding-top:20px!important}.pt-xxl-6{padding-top:24px!important}.pt-xxl-7{padding-top:28px!important}.pt-xxl-8{padding-top:32px!important}.pt-xxl-9{padding-top:36px!important}.pt-xxl-10{padding-top:40px!important}.pt-xxl-11{padding-top:44px!important}.pt-xxl-12{padding-top:48px!important}.pt-xxl-13{padding-top:52px!important}.pt-xxl-14{padding-top:56px!important}.pt-xxl-15{padding-top:60px!important}.pt-xxl-16{padding-top:64px!important}.pr-xxl-0{padding-right:0!important}.pr-xxl-1{padding-right:4px!important}.pr-xxl-2{padding-right:8px!important}.pr-xxl-3{padding-right:12px!important}.pr-xxl-4{padding-right:16px!important}.pr-xxl-5{padding-right:20px!important}.pr-xxl-6{padding-right:24px!important}.pr-xxl-7{padding-right:28px!important}.pr-xxl-8{padding-right:32px!important}.pr-xxl-9{padding-right:36px!important}.pr-xxl-10{padding-right:40px!important}.pr-xxl-11{padding-right:44px!important}.pr-xxl-12{padding-right:48px!important}.pr-xxl-13{padding-right:52px!important}.pr-xxl-14{padding-right:56px!important}.pr-xxl-15{padding-right:60px!important}.pr-xxl-16{padding-right:64px!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:4px!important}.pb-xxl-2{padding-bottom:8px!important}.pb-xxl-3{padding-bottom:12px!important}.pb-xxl-4{padding-bottom:16px!important}.pb-xxl-5{padding-bottom:20px!important}.pb-xxl-6{padding-bottom:24px!important}.pb-xxl-7{padding-bottom:28px!important}.pb-xxl-8{padding-bottom:32px!important}.pb-xxl-9{padding-bottom:36px!important}.pb-xxl-10{padding-bottom:40px!important}.pb-xxl-11{padding-bottom:44px!important}.pb-xxl-12{padding-bottom:48px!important}.pb-xxl-13{padding-bottom:52px!important}.pb-xxl-14{padding-bottom:56px!important}.pb-xxl-15{padding-bottom:60px!important}.pb-xxl-16{padding-bottom:64px!important}.pl-xxl-0{padding-left:0!important}.pl-xxl-1{padding-left:4px!important}.pl-xxl-2{padding-left:8px!important}.pl-xxl-3{padding-left:12px!important}.pl-xxl-4{padding-left:16px!important}.pl-xxl-5{padding-left:20px!important}.pl-xxl-6{padding-left:24px!important}.pl-xxl-7{padding-left:28px!important}.pl-xxl-8{padding-left:32px!important}.pl-xxl-9{padding-left:36px!important}.pl-xxl-10{padding-left:40px!important}.pl-xxl-11{padding-left:44px!important}.pl-xxl-12{padding-left:48px!important}.pl-xxl-13{padding-left:52px!important}.pl-xxl-14{padding-left:56px!important}.pl-xxl-15{padding-left:60px!important}.pl-xxl-16{padding-left:64px!important}.ps-xxl-0{padding-inline-start:0px!important}.ps-xxl-1{padding-inline-start:4px!important}.ps-xxl-2{padding-inline-start:8px!important}.ps-xxl-3{padding-inline-start:12px!important}.ps-xxl-4{padding-inline-start:16px!important}.ps-xxl-5{padding-inline-start:20px!important}.ps-xxl-6{padding-inline-start:24px!important}.ps-xxl-7{padding-inline-start:28px!important}.ps-xxl-8{padding-inline-start:32px!important}.ps-xxl-9{padding-inline-start:36px!important}.ps-xxl-10{padding-inline-start:40px!important}.ps-xxl-11{padding-inline-start:44px!important}.ps-xxl-12{padding-inline-start:48px!important}.ps-xxl-13{padding-inline-start:52px!important}.ps-xxl-14{padding-inline-start:56px!important}.ps-xxl-15{padding-inline-start:60px!important}.ps-xxl-16{padding-inline-start:64px!important}.pe-xxl-0{padding-inline-end:0px!important}.pe-xxl-1{padding-inline-end:4px!important}.pe-xxl-2{padding-inline-end:8px!important}.pe-xxl-3{padding-inline-end:12px!important}.pe-xxl-4{padding-inline-end:16px!important}.pe-xxl-5{padding-inline-end:20px!important}.pe-xxl-6{padding-inline-end:24px!important}.pe-xxl-7{padding-inline-end:28px!important}.pe-xxl-8{padding-inline-end:32px!important}.pe-xxl-9{padding-inline-end:36px!important}.pe-xxl-10{padding-inline-end:40px!important}.pe-xxl-11{padding-inline-end:44px!important}.pe-xxl-12{padding-inline-end:48px!important}.pe-xxl-13{padding-inline-end:52px!important}.pe-xxl-14{padding-inline-end:56px!important}.pe-xxl-15{padding-inline-end:60px!important}.pe-xxl-16{padding-inline-end:64px!important}.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}.text-xxl-justify{text-align:justify!important}.text-xxl-start{text-align:start!important}.text-xxl-end{text-align:end!important}.text-xxl-h1{font-size:60px!important;font-weight:500;line-height:60px;letter-spacing:-.4px!important;font-family:inherit;text-transform:none!important}.text-xxl-h2{font-size:35px!important;font-weight:500;line-height:40px;letter-spacing:-.16px!important;font-family:inherit;text-transform:none!important}.text-xxl-h3{font-size:28px!important;font-weight:500;line-height:36px;letter-spacing:-.12px!important;font-family:inherit;text-transform:none!important}.text-xxl-h4{font-size:24px!important;font-weight:500;line-height:32px;letter-spacing:-.1px!important;font-family:inherit;text-transform:none!important}.text-xxl-h5{font-size:20px!important;font-weight:500;line-height:28px;letter-spacing:-.08px!important;font-family:inherit;text-transform:none!important}.text-xxl-h6{font-size:18px!important;font-weight:500;line-height:26px;letter-spacing:-.04px!important;font-family:inherit;text-transform:none!important}.text-xxl-subtitle-1{font-size:16px!important;font-weight:500;line-height:24px;letter-spacing:.009375em!important;font-family:inherit;text-transform:none!important}.text-xxl-subtitle-2{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.15px!important;font-family:inherit;text-transform:none!important}.text-xxl-body-1{font-size:16px!important;font-weight:400;line-height:1.5;letter-spacing:.03125em!important;font-family:inherit;text-transform:none!important}.text-xxl-body-2{font-size:14px!important;font-weight:400;line-height:20px;letter-spacing:.0178571429em!important;font-family:inherit;text-transform:none!important}.text-xxl-button{font-size:14px!important;font-weight:500;line-height:20px;letter-spacing:.0892857143em!important;font-family:inherit;text-transform:none!important}.text-xxl-caption{font-size:12px!important;font-weight:400;line-height:16px;letter-spacing:.04px!important;font-family:inherit;text-transform:none!important}.text-xxl-overline{font-size:12px!important;font-weight:400;line-height:26px;letter-spacing:.04px!important;font-family:inherit;text-transform:uppercase!important}.h-xxl-auto{height:auto!important}.h-xxl-screen{height:100vh!important}.h-xxl-0{height:0!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.w-xxl-auto{width:auto!important}.w-xxl-0{width:0!important}.w-xxl-25{width:25%!important}.w-xxl-33{width:33%!important}.w-xxl-50{width:50%!important}.w-xxl-66{width:66%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.float-print-none{float:none!important}.float-print-left{float:left!important}.float-print-right{float:right!important}.v-locale--is-rtl .float-print-end{float:left!important}.v-locale--is-rtl .float-print-start,.v-locale--is-ltr .float-print-end{float:right!important}.v-locale--is-ltr .float-print-start{float:left!important}}.v-application{display:flex;background:rgb(var(--v-theme-background));color:rgba(var(--v-theme-on-background),var(--v-high-emphasis-opacity))}.v-application__wrap{backface-visibility:hidden;display:flex;flex-direction:column;flex:1 1 auto;max-width:100%;min-height:100vh;min-height:100dvh;position:relative}.v-app-bar{display:flex}.v-app-bar.v-toolbar{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-app-bar.v-toolbar:not(.v-toolbar--flat){box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-app-bar:not(.v-toolbar--absolute){padding-inline-end:var(--v-scrollbar-offset)}.v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}@media (prefers-reduced-motion: reduce){.v-toolbar{transition-property:box-shadow}}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden;border-end-end-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0}.v-img{--v-theme-overlay-multiplier: 3;z-index:0}.v-img.v-img--absolute{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-img--booting .v-responsive__sizer{transition:none}.v-img--rounded{border-radius:4px}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{z-index:-1}.v-img__img,.v-img__picture,.v-img__gradient,.v-img__placeholder,.v-img__error{position:absolute;top:0;left:0;width:100%;height:100%}.v-img__img--preload{filter:blur(4px)}.v-img__img--contain{object-fit:contain}.v-img__img--cover{object-fit:cover}.v-img__gradient{background-repeat:no-repeat}.v-responsive{display:flex;flex:1 0 auto;max-height:100%;max-width:100%;overflow:hidden;position:relative}.v-responsive--inline{display:inline-flex;flex:0 0 auto}.v-responsive__content{flex:1 0 0px;max-width:100%}.v-responsive__sizer~.v-responsive__content{margin-inline-start:-100%}.v-responsive__sizer{flex:1 0 0px;transition:padding-bottom .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.v-btn{align-items:center;border-radius:4px;display:inline-grid;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;font-weight:500;justify-content:center;letter-spacing:.0892857143em;line-height:normal;max-width:100%;outline:none;position:relative;text-decoration:none;text-indent:.0892857143em;text-transform:none;transition-property:box-shadow,transform,opacity,background;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;vertical-align:middle;flex-shrink:0}.v-locale--is-rtl .v-btn{text-indent:-.0892857143em}.v-btn--size-x-small{--v-btn-size: 13.75px;--v-btn-height: 20px;font-size:var(--v-btn-size);min-width:36px;padding:0 8px}.v-btn--size-small{--v-btn-size: 13.875px;--v-btn-height: 28px;font-size:var(--v-btn-size);min-width:50px;padding:0 12px}.v-btn--size-default{--v-btn-size: 14px;--v-btn-height: 36px;font-size:var(--v-btn-size);min-width:64px;padding:0 16px}.v-btn--size-large{--v-btn-size: 14.125px;--v-btn-height: 44px;font-size:var(--v-btn-size);min-width:78px;padding:0 20px}.v-btn--size-x-large{--v-btn-size: 14.25px;--v-btn-height: 52px;font-size:var(--v-btn-size);min-width:92px;padding:0 24px}.v-btn.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -8px)}.v-btn.v-btn--density-compact{height:calc(var(--v-btn-height) + -12px)}.v-btn{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn--border{border-width:thin;box-shadow:none}.v-btn--absolute{position:absolute}.v-btn--fixed{position:fixed}.v-btn:hover>.v-btn__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-btn:focus-visible>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn:focus>.v-btn__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-btn--active>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn--active:hover>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn--active:focus-visible>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn--active:focus>.v-btn__overlay,.v-btn[aria-haspopup=menu][aria-expanded=true]:focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn--variant-plain,.v-btn--variant-outlined,.v-btn--variant-text,.v-btn--variant-tonal{background:transparent;color:inherit}.v-btn--variant-plain{opacity:.62}.v-btn--variant-plain:focus,.v-btn--variant-plain:hover{opacity:1}.v-btn--variant-plain .v-btn__overlay{display:none}.v-btn--variant-elevated,.v-btn--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-btn--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-btn--variant-outlined{border:thin solid currentColor}.v-btn--variant-text .v-btn__overlay{background:currentColor}.v-btn--variant-tonal .v-btn__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-btn .v-btn__underlay{position:absolute}@supports selector(:focus-visible){.v-btn:after{pointer-events:none;border:2px solid currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-btn:focus-visible:after{opacity:calc(.25 * var(--v-theme-overlay-multiplier))}}.v-btn--icon{border-radius:50%;min-width:0;padding:0}.v-btn--icon.v-btn--size-default{--v-btn-size: 1rem}.v-btn--icon.v-btn--density-default{width:calc(var(--v-btn-height) + 12px);height:calc(var(--v-btn-height) + 12px)}.v-btn--icon.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px);height:calc(var(--v-btn-height) + 0px)}.v-btn--icon.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px);height:calc(var(--v-btn-height) + -8px)}.v-btn--elevated:hover,.v-btn--elevated:focus{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-btn--elevated:active{box-shadow:0 6px 16px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-lg-opacity)),0 0 transparent,0 0 transparent}.v-btn--flat{box-shadow:none}.v-btn--block{display:flex;flex:1 0 auto;min-width:100%}.v-btn--spaced{display:grid;grid-template-columns:max-content 1fr max-content}.v-btn--spaced.v-btn--spaced-start>.v-btn__content{justify-content:end}.v-btn--spaced.v-btn--spaced-end>.v-btn__content{justify-content:start}.v-btn--disabled{pointer-events:none;opacity:.26}.v-btn--disabled:hover{opacity:.26}.v-btn--disabled.v-btn--variant-elevated,.v-btn--disabled.v-btn--variant-flat{box-shadow:none;opacity:1;color:rgba(var(--v-theme-on-surface),.26);background:rgb(var(--v-theme-surface))}.v-btn--disabled.v-btn--variant-elevated .v-btn__overlay,.v-btn--disabled.v-btn--variant-flat .v-btn__overlay{opacity:.4615384615}.v-btn--loading{pointer-events:none}.v-btn--loading .v-btn__content,.v-btn--loading .v-btn__prepend,.v-btn--loading .v-btn__append{opacity:0}.v-btn--stacked{grid-template-areas:"prepend" "content" "append";grid-template-columns:auto;grid-template-rows:max-content max-content max-content;justify-items:center;align-content:center}.v-btn--stacked .v-btn__content{flex-direction:column;line-height:1.25}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--start,.v-btn--stacked .v-btn__content>.v-icon--end{margin-inline:0}.v-btn--stacked .v-btn__prepend,.v-btn--stacked .v-btn__content>.v-icon--start{margin-bottom:4px}.v-btn--stacked .v-btn__append,.v-btn--stacked .v-btn__content>.v-icon--end{margin-top:4px}.v-btn--stacked.v-btn--size-x-small{--v-btn-size: 13.75px;--v-btn-height: 56px;font-size:var(--v-btn-size);min-width:56px;padding:0 12px}.v-btn--stacked.v-btn--size-small{--v-btn-size: 13.875px;--v-btn-height: 64px;font-size:var(--v-btn-size);min-width:64px;padding:0 14px}.v-btn--stacked.v-btn--size-default{--v-btn-size: 14px;--v-btn-height: 72px;font-size:var(--v-btn-size);min-width:72px;padding:0 16px}.v-btn--stacked.v-btn--size-large{--v-btn-size: 14.125px;--v-btn-height: 80px;font-size:var(--v-btn-size);min-width:80px;padding:0 18px}.v-btn--stacked.v-btn--size-x-large{--v-btn-size: 14.25px;--v-btn-height: 88px;font-size:var(--v-btn-size);min-width:88px;padding:0 20px}.v-btn--stacked.v-btn--density-default{height:calc(var(--v-btn-height) + 0px)}.v-btn--stacked.v-btn--density-comfortable{height:calc(var(--v-btn-height) + -16px)}.v-btn--stacked.v-btn--density-compact{height:calc(var(--v-btn-height) + -24px)}.v-btn--slim{padding:0 8px}.v-btn--readonly{pointer-events:none}.v-btn--rounded{border-radius:24px}.v-btn--rounded.v-btn--icon{border-radius:4px}.v-btn .v-icon{--v-icon-size-multiplier: .8571428571}.v-btn--icon .v-icon{--v-icon-size-multiplier: 1}.v-btn--stacked .v-icon{--v-icon-size-multiplier: 1.1428571429}.v-btn--stacked.v-btn--block{min-width:100%}.v-btn__loader{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-btn__loader>.v-progress-circular{width:1.5em;height:1.5em}.v-btn__content,.v-btn__prepend,.v-btn__append{align-items:center;display:flex;transition:transform,opacity .2s cubic-bezier(.4,0,.2,1)}.v-btn__prepend{grid-area:prepend;margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn--slim .v-btn__prepend{margin-inline-start:0}.v-btn__append{grid-area:append;margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--slim .v-btn__append{margin-inline-end:0}.v-btn__content{grid-area:content;justify-content:center;white-space:nowrap}.v-btn__content>.v-icon--start{margin-inline:calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5)}.v-btn__content>.v-icon--end{margin-inline:calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9)}.v-btn--stacked .v-btn__content{white-space:normal}.v-btn__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-btn__overlay,.v-btn__underlay{pointer-events:none}.v-btn__overlay,.v-btn__underlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-pagination .v-btn{width:auto;padding-inline:5px}.v-pagination .v-btn.v-btn--density-default{min-width:calc(var(--v-btn-height) + 12px)}.v-pagination .v-btn.v-btn--density-comfortable{min-width:calc(var(--v-btn-height) + 0px)}.v-pagination .v-btn.v-btn--density-compact{min-width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-btn{border-radius:4px}.v-pagination .v-btn--rounded{border-radius:50%}.v-pagination .v-btn__overlay{transition:none}.v-pagination__prev .v-btn,.v-pagination__next .v-btn{padding-inline:0}.v-pagination__prev .v-btn.v-btn--density-default,.v-pagination__next .v-btn.v-btn--density-default{width:calc(var(--v-btn-height) + 12px)}.v-pagination__prev .v-btn.v-btn--density-comfortable,.v-pagination__next .v-btn.v-btn--density-comfortable{width:calc(var(--v-btn-height) + 0px)}.v-pagination__prev .v-btn.v-btn--density-compact,.v-pagination__next .v-btn.v-btn--density-compact{width:calc(var(--v-btn-height) + -8px)}.v-pagination .v-pagination__item--is-active .v-btn__overlay{opacity:var(--v-border-opacity)}@media (forced-colors: active){.v-btn:not(.v-btn--variant-text,.v-btn--variant-plain){border:thin solid}.v-btn:focus-visible{outline:2px solid;outline-offset:2px}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled)>.v-btn__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):hover>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus-visible>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled):focus>.v-btn__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-btn-toggle>.v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain{opacity:1}.v-btn-group{display:inline-flex;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-y:hidden;overflow-x:auto;vertical-align:middle}.v-btn-group{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-btn-group--border{border-width:thin;box-shadow:none}.v-btn-group{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-btn-group{border-radius:4px}.v-btn-group{background:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-btn-group--density-default.v-btn-group{height:48px}.v-btn-group--density-comfortable.v-btn-group{height:40px}.v-btn-group--density-compact.v-btn-group{height:36px}.v-btn-group .v-btn{border-radius:0;border-color:inherit}.v-btn-group--tile{border-radius:0}.v-btn-group--horizontal .v-btn:not(:last-child){border-inline-end:none}.v-btn-group--horizontal .v-btn:not(:first-child){border-inline-start:none}.v-btn-group--horizontal .v-btn:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}.v-btn-group--horizontal .v-btn:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}.v-btn-group--horizontal.v-btn-group--divided .v-btn:not(:last-child){border-inline-end-width:thin;border-inline-end-style:solid;border-inline-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-btn-group--vertical{flex-direction:column;height:auto!important}.v-btn-group--vertical .v-btn:not(:last-child){border-block-end:none}.v-btn-group--vertical .v-btn:not(:first-child){border-block-start:none}.v-btn-group--vertical .v-btn:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit}.v-btn-group--vertical .v-btn:last-child{border-end-start-radius:inherit;border-end-end-radius:inherit}.v-btn-group--vertical.v-btn-group--divided .v-btn:not(:last-child){border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-icon{--v-icon-size-multiplier: 1;align-items:center;display:inline-flex;font-feature-settings:"liga";height:1em;justify-content:center;letter-spacing:normal;line-height:1;position:relative;opacity:var(--v-icon-opacity, 1);text-indent:0;text-align:center;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1em;min-width:1em}.v-icon--clickable{cursor:pointer}.v-icon--disabled{pointer-events:none;opacity:.38}.v-icon--size-x-small{font-size:calc(var(--v-icon-size-multiplier) * 1em)}.v-icon--size-small{font-size:calc(var(--v-icon-size-multiplier) * 1.25em)}.v-icon--size-default{font-size:calc(var(--v-icon-size-multiplier) * 1.5em)}.v-icon--size-large{font-size:calc(var(--v-icon-size-multiplier) * 1.75em)}.v-icon--size-x-large{font-size:calc(var(--v-icon-size-multiplier) * 2em)}.v-icon__svg{fill:currentColor;width:100%;height:100%}.v-icon--start{margin-inline-end:8px}.v-icon--end{margin-inline-start:8px}.v-progress-circular{align-items:center;display:inline-flex;justify-content:center;position:relative;vertical-align:middle}.v-progress-circular>svg{width:100%;height:100%;margin:auto;position:absolute;inset:0;z-index:0}.v-progress-circular__content{align-items:center;display:flex;justify-content:center}.v-progress-circular__underlay{color:rgba(var(--v-border-color),var(--v-border-opacity));stroke:currentColor;z-index:1}.v-progress-circular__overlay{stroke:currentColor;transition:all .2s ease-in-out,stroke-width 0s;z-index:2}.v-progress-circular--size-x-small{height:16px;width:16px}.v-progress-circular--size-small{height:24px;width:24px}.v-progress-circular--size-default{height:32px;width:32px}.v-progress-circular--size-large{height:48px;width:48px}.v-progress-circular--size-x-large{height:64px;width:64px}.v-progress-circular--indeterminate>svg{animation:progress-circular-rotate 1.4s linear infinite;transform-origin:center center;transition:all .2s ease-in-out}.v-progress-circular--indeterminate .v-progress-circular__overlay{animation:progress-circular-dash 1.4s ease-in-out infinite,progress-circular-rotate 1.4s linear infinite;stroke-dasharray:25,200;stroke-dashoffset:0;stroke-linecap:round;transform-origin:center center;transform:rotate(-90deg)}.v-progress-circular--disable-shrink>svg{animation-duration:.7s}.v-progress-circular--disable-shrink .v-progress-circular__overlay{animation:none}.v-progress-circular--indeterminate:not(.v-progress-circular--visible)>svg,.v-progress-circular--indeterminate:not(.v-progress-circular--visible) .v-progress-circular__overlay{animation-play-state:paused!important}@keyframes progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0px}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-124px}}@keyframes progress-circular-rotate{to{transform:rotate(270deg)}}.v-progress-linear{background:transparent;overflow:hidden;position:relative;transition:.2s cubic-bezier(.4,0,.2,1),mask-size 0s;width:100%}@media (forced-colors: active){.v-progress-linear{border:thin solid buttontext}}.v-progress-linear__background,.v-progress-linear__buffer{background:currentColor;bottom:0;left:0;opacity:var(--v-border-opacity);position:absolute;top:0;width:100%;transition-property:width,left,right;transition:inherit}@media (forced-colors: active){.v-progress-linear__buffer{background-color:highlight!important;opacity:.5!important}}.v-progress-linear__content{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.v-progress-linear--clickable .v-progress-linear__content{pointer-events:none}.v-progress-linear__determinate,.v-progress-linear__indeterminate{background:currentColor}@media (forced-colors: active){.v-progress-linear__determinate,.v-progress-linear__indeterminate{background-color:highlight!important}}.v-progress-linear__determinate{height:inherit;left:0;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear__indeterminate .long,.v-progress-linear__indeterminate .short{animation-play-state:paused;animation-duration:2.2s;animation-iteration-count:infinite;height:inherit;inset:0 auto 0 0;position:absolute;width:auto}.v-progress-linear__indeterminate .long{animation-name:indeterminate-ltr}.v-progress-linear__indeterminate .short{animation-name:indeterminate-short-ltr}.v-progress-linear__stream{animation:stream .25s infinite linear;animation-play-state:paused;bottom:0;left:auto;opacity:.3;pointer-events:none;position:absolute;transition:inherit;transition-property:width,left,right}.v-progress-linear--reverse .v-progress-linear__background,.v-progress-linear--reverse .v-progress-linear__determinate,.v-progress-linear--reverse .v-progress-linear__content,.v-progress-linear--reverse .v-progress-linear__indeterminate .long,.v-progress-linear--reverse .v-progress-linear__indeterminate .short{left:auto;right:0}.v-progress-linear--reverse .v-progress-linear__indeterminate .long{animation-name:indeterminate-rtl}.v-progress-linear--reverse .v-progress-linear__indeterminate .short{animation-name:indeterminate-short-rtl}.v-progress-linear--reverse .v-progress-linear__stream{right:auto}.v-progress-linear--absolute,.v-progress-linear--fixed{left:0;z-index:1}.v-progress-linear--absolute{position:absolute}.v-progress-linear--fixed{position:fixed}.v-progress-linear--rounded{border-radius:9999px}.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate{border-radius:inherit}.v-progress-linear--striped .v-progress-linear__determinate{animation:progress-linear-stripes 1s infinite linear;background-image:linear-gradient(135deg,hsla(0,0%,100%,.25) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.25) 0,hsla(0,0%,100%,.25) 75%,transparent 0,transparent);background-repeat:repeat;background-size:var(--v-progress-linear-height)}.v-progress-linear--active .v-progress-linear__indeterminate .long,.v-progress-linear--active .v-progress-linear__indeterminate .short,.v-progress-linear--active .v-progress-linear__stream{animation-play-state:running}.v-progress-linear--rounded-bar .v-progress-linear__determinate,.v-progress-linear--rounded-bar .v-progress-linear__indeterminate,.v-progress-linear--rounded-bar .v-progress-linear__stream+.v-progress-linear__background{border-radius:9999px}.v-progress-linear--rounded-bar .v-progress-linear__determinate{border-start-start-radius:0;border-end-start-radius:0}@keyframes indeterminate-ltr{0%{left:-90%;right:100%}60%{left:-90%;right:100%}to{left:100%;right:-35%}}@keyframes indeterminate-rtl{0%{left:100%;right:-90%}60%{left:100%;right:-90%}to{left:-35%;right:100%}}@keyframes indeterminate-short-ltr{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short-rtl{0%{left:100%;right:-200%}60%{left:-8%;right:107%}to{left:-8%;right:107%}}@keyframes stream{to{transform:translate(var(--v-progress-linear-stream-to))}}@keyframes progress-linear-stripes{0%{background-position-x:var(--v-progress-linear-height)}}.v-ripple__container{color:inherit;border-radius:inherit;position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;z-index:0;pointer-events:none;contain:strict}.v-ripple__animation{color:inherit;position:absolute;top:0;left:0;border-radius:50%;background:currentColor;opacity:0;pointer-events:none;overflow:hidden;will-change:transform,opacity}.v-ripple__animation--enter{transition:none;opacity:0}.v-ripple__animation--in{transition:transform .25s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1);opacity:calc(.25 * var(--v-theme-overlay-multiplier))}@media (prefers-reduced-motion: reduce){.v-ripple__animation--in{transition-property:opacity;transition-duration:.1s}}.v-ripple__animation--out{transition:opacity .3s cubic-bezier(0,0,.2,1);opacity:0}.v-alert{display:grid;flex:1 1;grid-template-areas:"prepend content append close" ". content . .";grid-template-columns:max-content auto max-content max-content;position:relative;padding:16px;overflow:hidden;--v-border-color: currentColor}.v-alert--absolute{position:absolute}.v-alert--fixed{position:fixed}.v-alert--sticky{position:sticky}.v-alert{border-radius:4px}.v-alert--variant-plain,.v-alert--variant-outlined,.v-alert--variant-text,.v-alert--variant-tonal{background:transparent;color:inherit}.v-alert--variant-plain{opacity:.62}.v-alert--variant-plain:focus,.v-alert--variant-plain:hover{opacity:1}.v-alert--variant-plain .v-alert__overlay{display:none}.v-alert--variant-elevated,.v-alert--variant-flat{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-alert--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-alert--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-alert--variant-outlined{border:thin solid currentColor}.v-alert--variant-text .v-alert__overlay{background:currentColor}.v-alert--variant-tonal .v-alert__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-alert .v-alert__underlay{position:absolute}.v-alert--prominent{grid-template-areas:"prepend content append close" "prepend content . ."}.v-alert.v-alert--border{--v-border-opacity: .38}.v-alert.v-alert--border.v-alert--border-start{padding-inline-start:24px}.v-alert.v-alert--border.v-alert--border-end{padding-inline-end:24px}.v-alert--variant-plain{transition:.2s opacity cubic-bezier(.4,0,.2,1)}.v-alert--density-default{padding-bottom:16px;padding-top:16px}.v-alert--density-default.v-alert--border-top{padding-top:24px}.v-alert--density-default.v-alert--border-bottom{padding-bottom:24px}.v-alert--density-comfortable{padding-bottom:12px;padding-top:12px}.v-alert--density-comfortable.v-alert--border-top{padding-top:20px}.v-alert--density-comfortable.v-alert--border-bottom{padding-bottom:20px}.v-alert--density-compact{padding-bottom:8px;padding-top:8px}.v-alert--density-compact.v-alert--border-top{padding-top:16px}.v-alert--density-compact.v-alert--border-bottom{padding-bottom:16px}.v-alert:not(:has(.v-alert-title)) .v-alert__content{padding-block:.125rem}.v-alert__border{border-radius:inherit;inset:0;opacity:var(--v-border-opacity);position:absolute;pointer-events:none;width:100%}.v-alert__border{border-color:currentColor;border-style:solid;border-width:0}.v-alert__border--border{border-width:8px;box-shadow:none}.v-alert--border-start .v-alert__border{border-inline-start-width:8px}.v-alert--border-end .v-alert__border{border-inline-end-width:8px}.v-alert--border-top .v-alert__border{border-top-width:8px}.v-alert--border-bottom .v-alert__border{border-bottom-width:8px}.v-alert__close{flex:0 1 auto;grid-area:close}.v-alert__close>.v-btn{margin-block:calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2)}.v-alert__content{align-self:center;grid-area:content;overflow:hidden}.v-alert__append,.v-alert__close{margin-inline-start:16px}.v-alert__append{align-self:flex-start;grid-area:append}.v-alert__append+.v-alert__close{margin-inline-start:16px}.v-alert__prepend{align-self:flex-start;display:flex;align-items:center;grid-area:prepend;margin-inline-end:16px;min-height:1.75rem}.v-alert__prepend>.v-icon{font-size:1.75rem;height:1.75rem;width:1.75rem}.v-alert--prominent .v-alert__prepend{align-self:center}.v-alert__underlay{grid-area:none;position:absolute}.v-alert--border-start .v-alert__underlay{border-top-left-radius:0;border-bottom-left-radius:0}.v-alert--border-end .v-alert__underlay{border-top-right-radius:0;border-bottom-right-radius:0}.v-alert--border-top .v-alert__underlay{border-top-left-radius:0;border-top-right-radius:0}.v-alert--border-bottom .v-alert__underlay{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-alert-title{align-items:center;align-self:center;display:flex;font-size:18px;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.04px;line-height:1.75rem;overflow-wrap:normal;text-transform:none;word-break:normal;word-wrap:break-word}@media (forced-colors: active){.v-alert:not(.v-alert--variant-text,.v-alert--variant-plain){border-style:solid}.v-alert--variant-outlined,.v-alert--variant-tonal{border-width:medium}.v-alert--variant-elevated,.v-alert--variant-flat{border-width:thick}}.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-autocomplete .v-field .v-text-field__prefix,.v-autocomplete .v-field .v-text-field__suffix,.v-autocomplete .v-field .v-field__input,.v-autocomplete .v-field.v-field{cursor:text}.v-autocomplete .v-field .v-field__input>input{flex:1 1}.v-autocomplete .v-field input{min-width:64px}.v-autocomplete .v-field:not(.v-field--focused) input{min-width:0}.v-autocomplete .v-field--dirty .v-autocomplete__selection{margin-inline-end:2px}.v-autocomplete .v-autocomplete__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-autocomplete__content{overflow:hidden}.v-autocomplete__content{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-menu>.v-overlay__content.v-autocomplete__content{border-radius:4px}.v-autocomplete__mask{background:rgb(var(--v-theme-surface-light))}.v-autocomplete__selection{display:inline-flex;align-items:center;height:24px;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-autocomplete__selection:first-child{margin-inline-start:0}.v-autocomplete--selecting-index .v-autocomplete__selection{opacity:var(--v-medium-emphasis-opacity)}.v-autocomplete--selecting-index .v-autocomplete__selection--selected{opacity:1}.v-autocomplete--selecting-index .v-field__input>input{caret-color:transparent}.v-autocomplete--single:not(.v-autocomplete--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--active input{transition:none}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--focused .v-autocomplete__selection{opacity:0}.v-autocomplete__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-autocomplete--active-menu .v-autocomplete__menu-icon{transform:rotate(180deg)}.v-avatar{flex:none;align-items:center;display:inline-flex;justify-content:center;line-height:normal;overflow:hidden;position:relative;text-align:center;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:width,height;vertical-align:middle}.v-avatar.v-avatar--size-x-small{--v-avatar-height: 24px}.v-avatar.v-avatar--size-small{--v-avatar-height: 32px}.v-avatar.v-avatar--size-default{--v-avatar-height: 40px}.v-avatar.v-avatar--size-large{--v-avatar-height: 48px}.v-avatar.v-avatar--size-x-large{--v-avatar-height: 56px}.v-avatar.v-avatar--density-default{height:calc(var(--v-avatar-height) + 0px);width:calc(var(--v-avatar-height) + 0px)}.v-avatar.v-avatar--density-comfortable{height:calc(var(--v-avatar-height) + -4px);width:calc(var(--v-avatar-height) + -4px)}.v-avatar.v-avatar--density-compact{height:calc(var(--v-avatar-height) + -8px);width:calc(var(--v-avatar-height) + -8px)}.v-avatar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-avatar--border{border-width:thin;box-shadow:none}.v-avatar{border-radius:50%}.v-avatar--variant-plain,.v-avatar--variant-outlined,.v-avatar--variant-text,.v-avatar--variant-tonal{background:transparent;color:inherit}.v-avatar--variant-plain{opacity:.62}.v-avatar--variant-plain:focus,.v-avatar--variant-plain:hover{opacity:1}.v-avatar--variant-plain .v-avatar__overlay{display:none}.v-avatar--variant-elevated,.v-avatar--variant-flat{background:var(--v-theme-surface);color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-avatar--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-avatar--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-avatar--variant-outlined{border:thin solid currentColor}.v-avatar--variant-text .v-avatar__overlay{background:currentColor}.v-avatar--variant-tonal .v-avatar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-avatar .v-avatar__underlay{position:absolute}.v-avatar--rounded{border-radius:4px}.v-avatar--start{margin-inline-end:8px}.v-avatar--end{margin-inline-start:8px}.v-avatar .v-img{height:100%;width:100%}.v-checkbox.v-input{flex:0 1 auto}.v-checkbox .v-selection-control{min-height:var(--v-input-control-height)}.v-selection-control{align-items:center;contain:layout;display:flex;flex:1 0;grid-area:control;position:relative;-webkit-user-select:none;user-select:none}.v-selection-control .v-label{white-space:normal;word-break:break-word;height:100%;opacity:1}.v-selection-control--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-label{color:rgb(var(--v-theme-error))}.v-selection-control--inline{display:inline-flex;flex:0 0 auto;min-width:0;max-width:100%}.v-selection-control--inline .v-label{width:auto}.v-selection-control--density-default{--v-selection-control-size: 40px}.v-selection-control--density-comfortable{--v-selection-control-size: 36px}.v-selection-control--density-compact{--v-selection-control-size: 28px}.v-selection-control__wrapper{width:var(--v-selection-control-size);height:var(--v-selection-control-size);display:inline-flex;align-items:center;position:relative;justify-content:center;flex:none}.v-selection-control__input{width:var(--v-selection-control-size);height:var(--v-selection-control-size);align-items:center;display:flex;flex:none;justify-content:center;position:relative;border-radius:50%}.v-selection-control__input input{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0}.v-selection-control__input:before{border-radius:100%;background-color:currentColor;opacity:0;pointer-events:none}.v-selection-control__input:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-selection-control__input:hover:before{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-selection-control__input>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-selection-control--disabled .v-selection-control__input>.v-icon,.v-selection-control--dirty .v-selection-control__input>.v-icon,.v-selection-control--error .v-selection-control__input>.v-icon{opacity:1}.v-selection-control--error:not(.v-selection-control--disabled) .v-selection-control__input>.v-icon{color:rgb(var(--v-theme-error))}.v-selection-control--focus-visible .v-selection-control__input:before{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}.v-label{align-items:center;color:inherit;display:inline-flex;font-size:1rem;letter-spacing:.009375em;min-width:0;opacity:var(--v-medium-emphasis-opacity);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-label--clickable{cursor:pointer}.v-selection-control-group{grid-area:control;display:flex;flex-direction:column}.v-selection-control-group--inline{flex-direction:row;flex-wrap:wrap}.v-input{display:grid;flex:1 1 auto;font-size:16px;font-weight:400;line-height:1.5}.v-input--disabled{pointer-events:none}.v-input--density-default{--v-input-control-height: 56px;--v-input-padding-top: 16px}.v-input--density-comfortable{--v-input-control-height: 48px;--v-input-padding-top: 12px}.v-input--density-compact{--v-input-control-height: 40px;--v-input-padding-top: 8px}.v-input--vertical{grid-template-areas:"append" "control" "prepend";grid-template-rows:max-content auto max-content;grid-template-columns:min-content}.v-input--vertical .v-input__prepend{margin-block-start:16px}.v-input--vertical .v-input__append{margin-block-end:16px}.v-input--horizontal{grid-template-areas:"prepend control append" "a messages b";grid-template-columns:max-content minmax(0,1fr) max-content;grid-template-rows:1fr auto}.v-input--horizontal .v-input__prepend{margin-inline-end:16px}.v-input--horizontal .v-input__append{margin-inline-start:16px}.v-input__details{align-items:flex-end;display:flex;font-size:.75rem;font-weight:400;grid-area:messages;letter-spacing:.0333333333em;line-height:normal;min-height:22px;padding-top:6px;overflow:hidden;justify-content:space-between}.v-input__details>.v-icon,.v-input__prepend>.v-icon,.v-input__append>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-input--disabled .v-input__details>.v-icon,.v-input--disabled .v-input__details .v-messages,.v-input--error .v-input__details>.v-icon,.v-input--error .v-input__details .v-messages,.v-input--disabled .v-input__prepend>.v-icon,.v-input--disabled .v-input__prepend .v-messages,.v-input--error .v-input__prepend>.v-icon,.v-input--error .v-input__prepend .v-messages,.v-input--disabled .v-input__append>.v-icon,.v-input--disabled .v-input__append .v-messages,.v-input--error .v-input__append>.v-icon,.v-input--error .v-input__append .v-messages{opacity:1}.v-input--glow.v-input--focused .v-input__details>.v-icon,.v-input--glow.v-input--focused .v-input__prepend>.v-icon,.v-input--glow.v-input--focused .v-input__append>.v-icon{opacity:1}.v-input--disabled .v-input__details,.v-input--disabled .v-input__prepend,.v-input--disabled .v-input__append{opacity:var(--v-disabled-opacity)}.v-input--error:not(.v-input--disabled) .v-input__details>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__details .v-messages,.v-input--error:not(.v-input--disabled) .v-input__prepend>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__prepend .v-messages,.v-input--error:not(.v-input--disabled) .v-input__append>.v-icon,.v-input--error:not(.v-input--disabled) .v-input__append .v-messages{color:rgb(var(--v-theme-error))}.v-input__prepend,.v-input__append{display:flex;align-items:flex-start;padding-top:var(--v-input-padding-top)}.v-input--center-affix .v-input__prepend,.v-input--center-affix .v-input__append{align-items:center;padding-top:0}.v-input__prepend{grid-area:prepend}.v-input__append{grid-area:append}.v-input__control{display:flex;grid-area:control}.v-input--hide-spin-buttons input::-webkit-outer-spin-button,.v-input--hide-spin-buttons input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-input--hide-spin-buttons input[type=number]{-moz-appearance:textfield}.v-input--plain-underlined .v-input__prepend,.v-input--plain-underlined .v-input__append{align-items:flex-start}.v-input--density-default.v-input--plain-underlined .v-input__prepend,.v-input--density-default.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 4px)}.v-input--density-comfortable.v-input--plain-underlined .v-input__prepend,.v-input--density-comfortable.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 2px)}.v-input--density-compact.v-input--plain-underlined .v-input__prepend,.v-input--density-compact.v-input--plain-underlined .v-input__append{padding-top:calc(var(--v-input-padding-top) + 0px)}.v-messages{flex:1 1 auto;font-size:12px;min-height:14px;min-width:1px;opacity:var(--v-medium-emphasis-opacity);position:relative}.v-messages__message{line-height:12px;word-break:break-word;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;transition-duration:.15s}.v-chip{align-items:center;display:inline-flex;font-weight:400;max-width:100%;min-width:0;overflow:hidden;position:relative;text-decoration:none;white-space:nowrap;vertical-align:middle}.v-chip .v-icon{--v-icon-size-multiplier: .8571428571}.v-chip.v-chip--size-x-small{--v-chip-size: 13.75px;--v-chip-height: 20px;font-size:13.75px;padding:0 8px}.v-chip.v-chip--size-x-small .v-avatar{--v-avatar-height: 14px}.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar{--v-avatar-height: 20px}.v-chip.v-chip--size-x-small .v-avatar--start{margin-inline-start:-5.6px;margin-inline-end:4px}.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--start{margin-inline-start:-8px}.v-chip.v-chip--size-x-small .v-avatar--end{margin-inline-start:4px;margin-inline-end:-5.6px}.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--end{margin-inline-end:-8px}.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--end+.v-chip__close{margin-inline-start:12px}.v-chip.v-chip--size-x-small .v-icon--start,.v-chip.v-chip--size-x-small .v-chip__filter{margin-inline-start:-4px;margin-inline-end:4px}.v-chip.v-chip--size-x-small .v-icon--end,.v-chip.v-chip--size-x-small .v-chip__close{margin-inline-start:4px;margin-inline-end:-4px}.v-chip.v-chip--size-x-small .v-icon--end+.v-chip__close,.v-chip.v-chip--size-x-small .v-avatar--end+.v-chip__close,.v-chip.v-chip--size-x-small .v-chip__append+.v-chip__close{margin-inline-start:8px}.v-chip.v-chip--size-small{--v-chip-size: 13.875px;--v-chip-height: 26px;font-size:13.875px;padding:0 10px}.v-chip.v-chip--size-small .v-avatar{--v-avatar-height: 20px}.v-chip--pill.v-chip.v-chip--size-small .v-avatar{--v-avatar-height: 26px}.v-chip.v-chip--size-small .v-avatar--start{margin-inline-start:-7px;margin-inline-end:5px}.v-chip--pill.v-chip.v-chip--size-small .v-avatar--start{margin-inline-start:-10px}.v-chip.v-chip--size-small .v-avatar--end{margin-inline-start:5px;margin-inline-end:-7px}.v-chip--pill.v-chip.v-chip--size-small .v-avatar--end{margin-inline-end:-10px}.v-chip--pill.v-chip.v-chip--size-small .v-avatar--end+.v-chip__close{margin-inline-start:15px}.v-chip.v-chip--size-small .v-icon--start,.v-chip.v-chip--size-small .v-chip__filter{margin-inline-start:-5px;margin-inline-end:5px}.v-chip.v-chip--size-small .v-icon--end,.v-chip.v-chip--size-small .v-chip__close{margin-inline-start:5px;margin-inline-end:-5px}.v-chip.v-chip--size-small .v-icon--end+.v-chip__close,.v-chip.v-chip--size-small .v-avatar--end+.v-chip__close,.v-chip.v-chip--size-small .v-chip__append+.v-chip__close{margin-inline-start:10px}.v-chip.v-chip--size-default{--v-chip-size: 14px;--v-chip-height: 32px;font-size:14px;padding:0 12px}.v-chip.v-chip--size-default .v-avatar{--v-avatar-height: 26px}.v-chip--pill.v-chip.v-chip--size-default .v-avatar{--v-avatar-height: 32px}.v-chip.v-chip--size-default .v-avatar--start{margin-inline-start:-8.4px;margin-inline-end:6px}.v-chip--pill.v-chip.v-chip--size-default .v-avatar--start{margin-inline-start:-12px}.v-chip.v-chip--size-default .v-avatar--end{margin-inline-start:6px;margin-inline-end:-8.4px}.v-chip--pill.v-chip.v-chip--size-default .v-avatar--end{margin-inline-end:-12px}.v-chip--pill.v-chip.v-chip--size-default .v-avatar--end+.v-chip__close{margin-inline-start:18px}.v-chip.v-chip--size-default .v-icon--start,.v-chip.v-chip--size-default .v-chip__filter{margin-inline-start:-6px;margin-inline-end:6px}.v-chip.v-chip--size-default .v-icon--end,.v-chip.v-chip--size-default .v-chip__close{margin-inline-start:6px;margin-inline-end:-6px}.v-chip.v-chip--size-default .v-icon--end+.v-chip__close,.v-chip.v-chip--size-default .v-avatar--end+.v-chip__close,.v-chip.v-chip--size-default .v-chip__append+.v-chip__close{margin-inline-start:12px}.v-chip.v-chip--size-large{--v-chip-size: 14.125px;--v-chip-height: 38px;font-size:14.125px;padding:0 14px}.v-chip.v-chip--size-large .v-avatar{--v-avatar-height: 32px}.v-chip--pill.v-chip.v-chip--size-large .v-avatar{--v-avatar-height: 38px}.v-chip.v-chip--size-large .v-avatar--start{margin-inline-start:-9.8px;margin-inline-end:7px}.v-chip--pill.v-chip.v-chip--size-large .v-avatar--start{margin-inline-start:-14px}.v-chip.v-chip--size-large .v-avatar--end{margin-inline-start:7px;margin-inline-end:-9.8px}.v-chip--pill.v-chip.v-chip--size-large .v-avatar--end{margin-inline-end:-14px}.v-chip--pill.v-chip.v-chip--size-large .v-avatar--end+.v-chip__close{margin-inline-start:21px}.v-chip.v-chip--size-large .v-icon--start,.v-chip.v-chip--size-large .v-chip__filter{margin-inline-start:-7px;margin-inline-end:7px}.v-chip.v-chip--size-large .v-icon--end,.v-chip.v-chip--size-large .v-chip__close{margin-inline-start:7px;margin-inline-end:-7px}.v-chip.v-chip--size-large .v-icon--end+.v-chip__close,.v-chip.v-chip--size-large .v-avatar--end+.v-chip__close,.v-chip.v-chip--size-large .v-chip__append+.v-chip__close{margin-inline-start:14px}.v-chip.v-chip--size-x-large{--v-chip-size: 14.25px;--v-chip-height: 44px;font-size:14.25px;padding:0 17px}.v-chip.v-chip--size-x-large .v-avatar{--v-avatar-height: 38px}.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar{--v-avatar-height: 44px}.v-chip.v-chip--size-x-large .v-avatar--start{margin-inline-start:-11.9px;margin-inline-end:8.5px}.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--start{margin-inline-start:-17px}.v-chip.v-chip--size-x-large .v-avatar--end{margin-inline-start:8.5px;margin-inline-end:-11.9px}.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--end{margin-inline-end:-17px}.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--end+.v-chip__close{margin-inline-start:25.5px}.v-chip.v-chip--size-x-large .v-icon--start,.v-chip.v-chip--size-x-large .v-chip__filter{margin-inline-start:-8.5px;margin-inline-end:8.5px}.v-chip.v-chip--size-x-large .v-icon--end,.v-chip.v-chip--size-x-large .v-chip__close{margin-inline-start:8.5px;margin-inline-end:-8.5px}.v-chip.v-chip--size-x-large .v-icon--end+.v-chip__close,.v-chip.v-chip--size-x-large .v-avatar--end+.v-chip__close,.v-chip.v-chip--size-x-large .v-chip__append+.v-chip__close{margin-inline-start:17px}.v-chip.v-chip--density-default{height:calc(var(--v-chip-height) + 0px)}.v-chip.v-chip--density-comfortable{height:calc(var(--v-chip-height) + -4px)}.v-chip.v-chip--density-compact{height:calc(var(--v-chip-height) + -8px)}.v-chip{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-chip:hover>.v-chip__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-chip:focus-visible>.v-chip__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-chip:focus>.v-chip__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-chip--active>.v-chip__overlay,.v-chip[aria-haspopup=menu][aria-expanded=true]>.v-chip__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-chip--active:hover>.v-chip__overlay,.v-chip[aria-haspopup=menu][aria-expanded=true]:hover>.v-chip__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-chip--active:focus-visible>.v-chip__overlay,.v-chip[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-chip__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-chip--active:focus>.v-chip__overlay,.v-chip[aria-haspopup=menu][aria-expanded=true]:focus>.v-chip__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-chip{border-radius:4px}.v-chip--variant-plain,.v-chip--variant-outlined,.v-chip--variant-text,.v-chip--variant-tonal{background:transparent;color:inherit}.v-chip--variant-plain{opacity:.62}.v-chip--variant-plain:focus,.v-chip--variant-plain:hover{opacity:1}.v-chip--variant-plain .v-chip__overlay{display:none}.v-chip--variant-elevated,.v-chip--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-chip--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-chip--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-chip--variant-outlined{border:thin solid currentColor}.v-chip--variant-text .v-chip__overlay{background:currentColor}.v-chip--variant-tonal .v-chip__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-chip .v-chip__underlay{position:absolute}.v-chip--border{border-width:thin}.v-chip--link{cursor:pointer}.v-chip--link,.v-chip--filter{-webkit-user-select:none;user-select:none}.v-chip__content{align-items:center;display:inline-flex}.v-autocomplete__selection .v-chip__content,.v-combobox__selection .v-chip__content,.v-select__selection .v-chip__content{overflow:hidden}.v-chip__filter,.v-chip__prepend,.v-chip__append,.v-chip__close{align-items:center;display:inline-flex}.v-chip__close{cursor:pointer;flex:0 1 auto;font-size:18px;max-height:18px;max-width:18px;-webkit-user-select:none;user-select:none}.v-chip__close .v-icon{font-size:inherit}.v-chip__filter{transition:.15s cubic-bezier(.4,0,.2,1)}.v-chip__overlay{background-color:currentColor;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}.v-chip__overlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-chip--disabled{opacity:.3;pointer-events:none;-webkit-user-select:none;user-select:none}.v-chip--label{border-radius:4px}@media (forced-colors: active){.v-chip:not(.v-chip--variant-text,.v-chip--variant-plain){border:thin solid}}.v-chip-group{display:flex;max-width:100%;min-width:0;overflow-x:auto;padding:4px 0}.v-chip-group .v-chip{margin:4px 8px 4px 0}@media (forced-colors: active){.v-chip-group .v-chip{background-color:buttonface!important;color:buttontext!important}.v-chip-group .v-chip:hover{color:highlight!important}}.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled) .v-chip__overlay{opacity:var(--v-activated-opacity)}@media (forced-colors: active){.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled){color:highlight!important;forced-color-adjust:preserve-parent-color}.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled):focus-visible{outline-offset:2px}.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-elevated,.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-flat{background-color:highlight!important;color:highlighttext!important}.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-outlined,.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-tonal{border-width:medium}}.v-chip-group--column .v-slide-group__content{white-space:normal;flex-wrap:wrap;max-width:100%}.v-slide-group{display:flex;overflow:hidden}.v-slide-group__next,.v-slide-group__prev{align-items:center;display:flex;flex:0 1 52px;justify-content:center;min-width:52px;cursor:pointer}.v-slide-group__next--disabled,.v-slide-group__prev--disabled{pointer-events:none;opacity:var(--v-disabled-opacity)}.v-slide-group__content{display:flex;flex:1 0 auto;position:relative;transition:.2s all cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-slide-group__content>*{white-space:initial}.v-slide-group__container{contain:content;display:flex;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scrollbar-color:rgba(0,0,0,0)}.v-slide-group__container::-webkit-scrollbar{display:none}.v-slide-group--vertical{max-height:inherit}.v-slide-group--vertical,.v-slide-group--vertical .v-slide-group__container,.v-slide-group--vertical .v-slide-group__content{flex-direction:column}.v-slide-group--vertical .v-slide-group__container{overflow-x:hidden;overflow-y:auto}.v-divider{display:block;flex:1 1 100%;height:0px;max-height:0px;opacity:var(--v-border-opacity);transition:inherit}.v-divider{border-style:solid;border-width:thin 0 0 0}.v-divider--vertical{align-self:stretch;border-width:0 thin 0 0;display:inline-flex;height:auto;margin-left:-1px;max-height:100%;max-width:0px;vertical-align:text-bottom;width:0px}.v-divider--inset:not(.v-divider--vertical){max-width:calc(100% - 72px);margin-inline-start:72px}.v-divider--inset.v-divider--vertical{margin-bottom:8px;margin-top:8px;max-height:calc(100% - 16px)}.v-divider__content{padding:0 16px;text-wrap:nowrap}.v-divider__wrapper--vertical .v-divider__content{padding:4px 0}.v-divider__wrapper{display:flex;align-items:center;justify-content:center}.v-divider__wrapper--vertical{flex-direction:column;height:100%}.v-divider__wrapper--vertical .v-divider{margin:0 auto}.v-list{overflow:auto;padding:8px 0;position:relative;outline:none}.v-list{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list--border{border-width:thin;box-shadow:none}.v-list{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-list{border-radius:0}.v-list{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-list--nav{padding-inline:8px}.v-list--rounded{border-radius:4px}.v-list--subheader{padding-top:0}.v-list-img{border-radius:inherit;display:flex;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-list-subheader{align-items:center;background:inherit;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));display:flex;font-size:.875rem;font-weight:400;line-height:1.375rem;padding-inline-end:16px;min-height:40px;transition:.2s min-height cubic-bezier(.4,0,.2,1)}.v-list-subheader__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-list--density-default .v-list-subheader{min-height:40px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-comfortable .v-list-subheader{min-height:36px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list--density-compact .v-list-subheader{min-height:32px;padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-subheader--inset{--indent-padding: 56px}.v-list--nav .v-list-subheader{font-size:.75rem}.v-list-subheader--sticky{background:inherit;left:0;position:sticky;top:0;z-index:1}.v-list__overlay{background-color:currentColor;border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease-in-out}.v-list-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content 1fr auto;outline:none;max-width:100%;padding:4px 16px;position:relative;text-decoration:none}.v-list-item{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-list-item--border{border-width:thin;box-shadow:none}.v-list-item:hover>.v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item:focus-visible>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item:focus>.v-list-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-list-item--active>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]>.v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--active:hover>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:hover>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-list-item--active:focus-visible>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-list-item--active:focus>.v-list-item__overlay,.v-list-item[aria-haspopup=menu][aria-expanded=true]:focus>.v-list-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-list-item{border-radius:0}.v-list-item--variant-plain,.v-list-item--variant-outlined,.v-list-item--variant-text,.v-list-item--variant-tonal{background:transparent;color:inherit}.v-list-item--variant-plain{opacity:.62}.v-list-item--variant-plain:focus,.v-list-item--variant-plain:hover{opacity:1}.v-list-item--variant-plain .v-list-item__overlay{display:none}.v-list-item--variant-elevated,.v-list-item--variant-flat{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-list-item--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-list-item--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-list-item--variant-outlined{border:thin solid currentColor}.v-list-item--variant-text .v-list-item__overlay{background:currentColor}.v-list-item--variant-tonal .v-list-item__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-list-item .v-list-item__underlay{position:absolute}@supports selector(:focus-visible){.v-list-item:after{pointer-events:none;border:2px solid currentColor;border-radius:4px;opacity:0;transition:opacity .2s ease-in-out}.v-list-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-list-item:focus-visible:after{opacity:calc(.15 * var(--v-theme-overlay-multiplier))}}.v-list-item__prepend>.v-badge .v-icon,.v-list-item__prepend>.v-icon,.v-list-item__append>.v-badge .v-icon,.v-list-item__append>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-list-item--active .v-list-item__prepend>.v-badge .v-icon,.v-list-item--active .v-list-item__prepend>.v-icon,.v-list-item--active .v-list-item__append>.v-badge .v-icon,.v-list-item--active .v-list-item__append>.v-icon{opacity:1}.v-list-item--active:not(.v-list-item--link) .v-list-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-list-item--rounded{border-radius:4px}.v-list-item--disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.v-list-item--link{cursor:pointer}.v-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item .v-avatar,.v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item .v-avatar{--v-avatar-height: 24px}.v-list-item__prepend{align-items:center;align-self:center;display:flex;grid-area:prepend}.v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:32px}.v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:16px}.v-list-item--slim .v-list-item__prepend>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-tooltip~.v-list-item__spacer{width:20px}.v-list-item--slim .v-list-item__prepend>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__prepend>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:4px}.v-list-item--slim .v-list-item__prepend>.v-list-item-action~.v-list-item__spacer{width:4px}.v-list-item--three-line .v-list-item__prepend{align-self:start}.v-list-item__append{align-self:center;display:flex;align-items:center;grid-area:append}.v-list-item__append .v-list-item__spacer{order:-1;transition:.15s width cubic-bezier(.4,0,.2,1)}.v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item__append>.v-tooltip~.v-list-item__spacer{width:32px}.v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:16px}.v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:16px}.v-list-item--slim .v-list-item__append>.v-badge~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-icon~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-tooltip~.v-list-item__spacer{width:20px}.v-list-item--slim .v-list-item__append>.v-avatar~.v-list-item__spacer,.v-list-item--slim .v-list-item__append>.v-badge:is(:has(.v-avatar))~.v-list-item__spacer{width:4px}.v-list-item--slim .v-list-item__append>.v-list-item-action~.v-list-item__spacer{width:4px}.v-list-item--three-line .v-list-item__append{align-self:start}.v-list-item__content{align-self:center;grid-area:content;overflow:hidden;min-width:40px}.v-list-item-action{align-self:center;display:flex;align-items:center;flex:none;transition:inherit;transition-property:height,width}.v-list-item-action--start{margin-inline-end:8px;margin-inline-start:-8px}.v-list-item-action--end{margin-inline-start:8px;margin-inline-end:-8px}.v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-media--start{margin-inline-end:16px}.v-list-item-media--end{margin-inline-start:16px}.v-list-item--two-line .v-list-item-media{margin-top:-4px;margin-bottom:-4px}.v-list-item--three-line .v-list-item-media{margin-top:0;margin-bottom:0}.v-list-item-subtitle{-webkit-box-orient:vertical;display:-webkit-box;opacity:var(--v-list-item-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0;text-overflow:ellipsis;overflow-wrap:break-word;word-break:initial}.v-list-item--one-line .v-list-item-subtitle{-webkit-line-clamp:1}.v-list-item--two-line .v-list-item-subtitle{-webkit-line-clamp:2}.v-list-item--three-line .v-list-item-subtitle{-webkit-line-clamp:3}.v-list-item-subtitle{font-size:14px;font-weight:400;letter-spacing:.0178571429em;line-height:1rem;text-transform:none}.v-list-item--nav .v-list-item-subtitle{font-size:.75rem;font-weight:400;letter-spacing:.0178571429em;line-height:1rem}.v-list-item-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;overflow:hidden;padding:0;white-space:nowrap;text-overflow:ellipsis;word-break:normal;word-wrap:break-word}.v-list-item-title{font-size:16px;font-weight:400;letter-spacing:.009375em;line-height:1.5;text-transform:none}.v-list-item--nav .v-list-item-title{font-size:.8125rem;font-weight:500;letter-spacing:normal;line-height:1rem}.v-list-item--density-default{min-height:40px}.v-list-item--density-default.v-list-item--one-line{min-height:48px;padding-top:4px;padding-bottom:4px}.v-list-item--density-default.v-list-item--two-line{min-height:64px;padding-top:12px;padding-bottom:12px}.v-list-item--density-default.v-list-item--three-line{min-height:88px;padding-top:16px;padding-bottom:16px}.v-list-item--density-default.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-default.v-list-item--three-line .v-list-item__append{padding-top:8px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-default:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-comfortable{min-height:36px}.v-list-item--density-comfortable.v-list-item--one-line{min-height:44px}.v-list-item--density-comfortable.v-list-item--two-line{min-height:60px;padding-top:8px;padding-bottom:8px}.v-list-item--density-comfortable.v-list-item--three-line{min-height:84px;padding-top:12px;padding-bottom:12px}.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__append{padding-top:6px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--density-compact{min-height:32px}.v-list-item--density-compact.v-list-item--one-line{min-height:40px}.v-list-item--density-compact.v-list-item--two-line{min-height:56px;padding-top:4px;padding-bottom:4px}.v-list-item--density-compact.v-list-item--three-line{min-height:80px;padding-top:8px;padding-bottom:8px}.v-list-item--density-compact.v-list-item--three-line .v-list-item__prepend,.v-list-item--density-compact.v-list-item--three-line .v-list-item__append{padding-top:4px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--two-line{padding-inline:16px}.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--three-line{padding-inline:16px}.v-list-item--nav{padding-inline:8px}.v-list .v-list-item--nav:not(:only-child){margin-bottom:4px}.v-list-item__underlay{position:absolute}.v-list-item__overlay{background-color:currentColor;border-radius:inherit;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease-in-out}.v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay{--v-theme-overlay-multiplier: 0}.v-list{--indent-padding: 0px}.v-list--nav{--indent-padding: -8px}.v-list-group{--list-indent-size: 16px;--parent-padding: var(--indent-padding);--prepend-width: 40px}.v-list--slim .v-list-group{--prepend-width: 28px}.v-list-group--fluid{--list-indent-size: 0px}.v-list-group--prepend{--parent-padding: calc(var(--indent-padding) + var(--prepend-width))}.v-list-group--fluid.v-list-group--prepend{--parent-padding: var(--indent-padding)}.v-list-group__items{--indent-padding: calc(var(--parent-padding) + var(--list-indent-size));min-width:min-content}.v-navigation-drawer--rail .v-list-group__items{min-width:0}.v-list-group__items .v-list-item{padding-inline-start:calc(16px + var(--indent-padding))!important}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:not(:focus-visible) .v-list-item__overlay{opacity:0}.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:hover .v-list-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}@media (forced-colors: active){.v-list-item:not(.v-list-item--active){color:buttontext}.v-list-item--variant-plain.v-list-item--active{color:highlight!important}.v-list-item:not(.v-list-item--variant-plain).v-list-item--active{background-color:highlight!important;color:highlighttext!important}.v-list-item-title{forced-color-adjust:preserve-parent-color}.v-list-item--active .v-list-item__prepend>.v-badge .v-icon,.v-list-item--active .v-list-item__prepend>.v-icon,.v-list-item--active .v-list-item__append>.v-badge .v-icon,.v-list-item--active .v-list-item__append>.v-icon{forced-color-adjust:preserve-parent-color}@supports selector(:focus-visible){.v-list-item:after{color:buttontext}.v-list-item:focus-visible:after{opacity:1}}}.v-menu>.v-overlay__content{display:flex;flex-direction:column}.v-menu>.v-overlay__content{border-radius:4px}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{background:rgb(var(--v-theme-surface));border-radius:inherit;overflow:auto;height:100%}.v-menu>.v-overlay__content>.v-card,.v-menu>.v-overlay__content>.v-sheet,.v-menu>.v-overlay__content>.v-list{box-shadow:0 6px 16px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-lg-opacity)),0 0 transparent,0 0 transparent}.v-overlay-container{contain:layout;left:0;pointer-events:none;position:absolute;top:0;display:contents}.v-overlay-scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-overlay-scroll-blocked:not(html){overflow-y:hidden!important}html.v-overlay-scroll-blocked{position:fixed;top:var(--v-body-scroll-y);left:var(--v-body-scroll-x);width:100%;height:100%}.v-overlay{--v-overlay-opacity: .32;border-radius:inherit;display:flex;inset:0;pointer-events:none;position:fixed}.v-overlay__content{outline:none;position:absolute;pointer-events:auto;contain:layout}.v-overlay__scrim{pointer-events:auto;background:#000;border-radius:inherit;inset:0;opacity:var(--v-overlay-opacity);position:fixed}.v-overlay--absolute,.v-overlay--contained .v-overlay__scrim{position:absolute}.v-overlay--scroll-blocked{padding-inline-end:var(--v-scrollbar-offset)}.v-select--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-select--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-select .v-field .v-text-field__prefix,.v-select .v-field .v-text-field__suffix,.v-select .v-field .v-field__input,.v-select .v-field.v-field{cursor:pointer}.v-select .v-field .v-field__input>input{align-self:flex-start;opacity:1;flex:0 0;position:absolute;left:0;right:0;width:100%;transition:none;pointer-events:none;caret-color:transparent;padding-inline:inherit}.v-select .v-field--dirty .v-select__selection{margin-inline-end:2px}.v-select .v-select__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-select__content{overflow:hidden}.v-select__content{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-menu>.v-overlay__content.v-select__content{border-radius:4px}.v-select__selection{display:inline-flex;align-items:center;letter-spacing:inherit;line-height:inherit;max-width:100%}.v-select .v-select__selection:first-child{margin-inline-start:0}.v-select--selected .v-field .v-field__input>input{opacity:0}.v-select__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-select--active-menu .v-select__menu-icon{transform:rotate(180deg)}.v-text-field input{color:inherit;opacity:0;flex:1;transition:.15s opacity cubic-bezier(.4,0,.2,1);min-width:0}.v-text-field input:focus,.v-text-field input:active{outline:none}.v-text-field input:invalid{box-shadow:none}.v-text-field .v-field{cursor:text}.v-text-field--prefixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-start: 6px}.v-text-field--suffixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-end: 0}.v-text-field--prefixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-end: 6px}.v-text-field--suffixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-start: 0}.v-text-field .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-text-field .v-input__details{padding-inline:0}.v-text-field .v-field--no-label input,.v-text-field .v-field--active input{opacity:1}.v-text-field .v-field--single-line input{transition:none}.v-text-field__prefix,.v-text-field__suffix{align-items:center;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));cursor:default;display:flex;opacity:0;transition:inherit;white-space:nowrap;min-height:max(var(--v-input-control-height, 56px),24px + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));padding-top:calc(var(--v-field-padding-top, 4px) + var(--v-input-padding-top, 0));padding-bottom:var(--v-field-padding-bottom, 6px)}.v-field--active .v-text-field__prefix,.v-field--active .v-text-field__suffix{opacity:1}.v-field--disabled .v-text-field__prefix,.v-field--disabled .v-text-field__suffix{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-field:not(.v-field--reverse) .v-text-field__prefix{padding-inline-start:var(--v-field-padding-start)}.v-field.v-field--reverse .v-text-field__prefix{padding-inline-end:var(--v-field-padding-end)}.v-field:not(.v-field--reverse) .v-text-field__suffix{padding-inline-end:var(--v-field-padding-end)}.v-field.v-field--reverse .v-text-field__suffix{padding-inline-start:var(--v-field-padding-start)}.v-counter{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));flex:0 1 auto;font-size:12px;transition-duration:.15s}.v-field{display:grid;grid-template-areas:"prepend-inner field clear append-inner";grid-template-columns:min-content minmax(0,1fr) min-content min-content;font-size:16px;letter-spacing:.009375em;max-width:100%;border-radius:4px;contain:layout;flex:1 0;grid-area:control;position:relative;--v-theme-overlay-multiplier: 1;--v-field-padding-start: 16px;--v-field-padding-end: 16px;--v-field-padding-top: 8px;--v-field-padding-bottom: 4px;--v-field-input-padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px));--v-field-input-padding-bottom: var(--v-field-padding-bottom, 4px)}.v-field--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-field .v-chip{--v-chip-height: 24px}.v-field--prepended{padding-inline-start:12px}.v-field--appended{padding-inline-end:12px}.v-field--variant-solo,.v-field--variant-solo-filled{background:rgb(var(--v-theme-surface));border-color:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-field--variant-solo,.v-field--variant-solo-filled{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-field--variant-solo-inverted{background:rgb(var(--v-theme-surface));border-color:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-field--variant-solo-inverted{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-field--variant-solo-inverted.v-field--focused{color:rgb(var(--v-theme-on-surface-variant))}.v-field--variant-filled{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-input--density-default .v-field--variant-solo,.v-input--density-default .v-field--variant-solo-inverted,.v-input--density-default .v-field--variant-solo-filled,.v-input--density-default .v-field--variant-filled{--v-input-control-height: 56px;--v-field-padding-bottom: 4px}.v-input--density-comfortable .v-field--variant-solo,.v-input--density-comfortable .v-field--variant-solo-inverted,.v-input--density-comfortable .v-field--variant-solo-filled,.v-input--density-comfortable .v-field--variant-filled{--v-input-control-height: 48px;--v-field-padding-bottom: 0px}.v-input--density-compact .v-field--variant-solo,.v-input--density-compact .v-field--variant-solo-inverted,.v-input--density-compact .v-field--variant-solo-filled,.v-input--density-compact .v-field--variant-filled{--v-input-control-height: 40px;--v-field-padding-bottom: 0px}.v-field--variant-outlined,.v-field--single-line,.v-field--no-label{--v-field-padding-top: 0px}.v-input--density-default .v-field--variant-outlined,.v-input--density-default .v-field--single-line,.v-input--density-default .v-field--no-label{--v-field-padding-bottom: 16px}.v-input--density-comfortable .v-field--variant-outlined,.v-input--density-comfortable .v-field--single-line,.v-input--density-comfortable .v-field--no-label{--v-field-padding-bottom: 12px}.v-input--density-compact .v-field--variant-outlined,.v-input--density-compact .v-field--single-line,.v-input--density-compact .v-field--no-label{--v-field-padding-bottom: 8px}.v-field--variant-plain,.v-field--variant-underlined{border-radius:0;padding:0}.v-field--variant-plain.v-field,.v-field--variant-underlined.v-field{--v-field-padding-start: 0px;--v-field-padding-end: 0px}.v-input--density-default .v-field--variant-plain,.v-input--density-default .v-field--variant-underlined{--v-input-control-height: 48px;--v-field-padding-top: 4px;--v-field-padding-bottom: 4px}.v-input--density-comfortable .v-field--variant-plain,.v-input--density-comfortable .v-field--variant-underlined{--v-input-control-height: 40px;--v-field-padding-top: 2px;--v-field-padding-bottom: 0px}.v-input--density-compact .v-field--variant-plain,.v-input--density-compact .v-field--variant-underlined{--v-input-control-height: 32px;--v-field-padding-top: 0px;--v-field-padding-bottom: 0px}.v-field--flat{box-shadow:none}.v-field--rounded{border-radius:24px}.v-field.v-field--prepended{--v-field-padding-start: 6px}.v-field.v-field--appended{--v-field-padding-end: 6px}.v-field__input{align-items:center;color:inherit;column-gap:2px;display:flex;flex-wrap:wrap;letter-spacing:.009375em;opacity:var(--v-high-emphasis-opacity);min-height:max(var(--v-input-control-height, 56px),24px + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));min-width:0;padding-inline:var(--v-field-padding-start) var(--v-field-padding-end);padding-top:var(--v-field-input-padding-top);padding-bottom:var(--v-field-input-padding-bottom);position:relative;width:100%}.v-input--density-default .v-field__input{row-gap:8px}.v-input--density-comfortable .v-field__input{row-gap:6px}.v-input--density-compact .v-field__input{row-gap:4px}.v-field__input input{letter-spacing:inherit}.v-field__input input::placeholder,input.v-field__input::placeholder,textarea.v-field__input::placeholder{color:currentColor;opacity:var(--v-disabled-opacity)}.v-field__input:focus,.v-field__input:active{outline:none}.v-field__input:invalid{box-shadow:none}.v-field__field{flex:1 0;grid-area:field;position:relative;align-items:flex-start;display:flex}.v-field__prepend-inner{grid-area:prepend-inner;padding-inline-end:var(--v-field-padding-after)}.v-field__clearable{grid-area:clear}.v-field__append-inner{grid-area:append-inner;padding-inline-start:var(--v-field-padding-after)}.v-field__append-inner,.v-field__clearable,.v-field__prepend-inner{display:flex;align-items:flex-start;padding-top:var(--v-input-padding-top, 8px)}.v-field--center-affix .v-field__append-inner,.v-field--center-affix .v-field__clearable,.v-field--center-affix .v-field__prepend-inner{align-items:center;padding-top:0}.v-field.v-field--variant-underlined .v-field__append-inner,.v-field.v-field--variant-underlined .v-field__clearable,.v-field.v-field--variant-underlined .v-field__prepend-inner,.v-field.v-field--variant-plain .v-field__append-inner,.v-field.v-field--variant-plain .v-field__clearable,.v-field.v-field--variant-plain .v-field__prepend-inner{align-items:flex-start;padding-top:calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px));padding-bottom:var(--v-field-padding-bottom, 4px)}.v-field--focused .v-field__prepend-inner,.v-field--focused .v-field__append-inner{opacity:1}.v-field__prepend-inner>.v-icon,.v-field__append-inner>.v-icon,.v-field__clearable>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-field--disabled .v-field__prepend-inner>.v-icon,.v-field--error .v-field__prepend-inner>.v-icon,.v-field--glow.v-field--focused .v-field__prepend-inner>.v-icon,.v-field--disabled .v-field__append-inner>.v-icon,.v-field--error .v-field__append-inner>.v-icon,.v-field--glow.v-field--focused .v-field__append-inner>.v-icon,.v-field--disabled .v-field__clearable>.v-icon,.v-field--error .v-field__clearable>.v-icon,.v-field--glow.v-field--focused .v-field__clearable>.v-icon{opacity:1}.v-field--error:not(.v-field--disabled) .v-field__prepend-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__append-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__clearable>.v-icon{color:rgb(var(--v-theme-error))}.v-field__clearable{cursor:pointer;opacity:0;overflow:hidden;margin-inline:4px;transition:.15s cubic-bezier(.4,0,.2,1);transition-property:opacity,transform,width}@media (prefers-reduced-motion: reduce){.v-field__clearable{transition-property:opacity}}.v-field--focused .v-field__clearable,.v-field--persistent-clear .v-field__clearable{opacity:1}@media (hover: hover){.v-field:hover .v-field__clearable{opacity:1}}@media (hover: none){.v-field__clearable{opacity:1}}.v-label.v-field-label{contain:layout paint;display:block;margin-inline-start:var(--v-field-padding-start);margin-inline-end:var(--v-field-padding-end);max-width:calc(100% - var(--v-field-padding-start) - var(--v-field-padding-end));pointer-events:none;position:absolute;top:var(--v-input-padding-top);transform-origin:left center;z-index:1}@media (prefers-reduced-motion: no-preference){.v-label.v-field-label{transition:.15s cubic-bezier(.4,0,.2,1);transition-property:opacity,transform}}.v-field--variant-underlined .v-label.v-field-label,.v-field--variant-plain .v-label.v-field-label{top:calc(var(--v-input-padding-top) + var(--v-field-padding-top))}.v-field--center-affix .v-label.v-field-label{top:50%;transform:translateY(-50%)}.v-field--active .v-label.v-field-label{visibility:hidden}.v-field--focused .v-label.v-field-label,.v-field--error .v-label.v-field-label{opacity:1}.v-field--error:not(.v-field--disabled) .v-label.v-field-label{color:rgb(var(--v-theme-error))}.v-label.v-field-label--floating{--v-field-label-scale: .75em;font-size:var(--v-field-label-scale);visibility:hidden}.v-field--variant-outlined .v-label.v-field-label--floating{max-width:100%}.v-field--center-affix .v-label.v-field-label--floating{transform:none}.v-field.v-field--active .v-label.v-field-label--floating{visibility:unset}.v-input--density-default .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-filled .v-label.v-field-label--floating{top:7px}.v-input--density-comfortable .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-filled .v-label.v-field-label--floating{top:5px}.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:3px}.v-field--variant-plain .v-label.v-field-label--floating,.v-field--variant-underlined .v-label.v-field-label--floating{transform:translateY(-16px);margin:0;top:var(--v-input-padding-top)}.v-field--variant-outlined .v-label.v-field-label--floating{transform:translateY(-50%);transform-origin:center;position:static;margin:0 4px}.v-field__outline{--v-field-border-width: 1px;--v-field-border-opacity: .38;align-items:stretch;contain:layout;display:flex;height:100%;left:0;pointer-events:none;position:absolute;right:0;width:100%}@media (hover: hover){.v-field:hover .v-field__outline{--v-field-border-opacity: var(--v-high-emphasis-opacity)}}.v-field--error:not(.v-field--disabled) .v-field__outline{color:rgb(var(--v-theme-error))}.v-field.v-field--focused .v-field__outline,.v-input.v-input--error .v-field__outline{--v-field-border-opacity: 1}.v-field--variant-outlined.v-field--focused .v-field__outline{--v-field-border-width: 2px}.v-field--variant-filled .v-field__outline:before,.v-field--variant-underlined .v-field__outline:before{border-color:currentColor;border-style:solid;border-width:0 0 var(--v-field-border-width);opacity:var(--v-field-border-opacity);transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled .v-field__outline:before,.v-field--variant-underlined .v-field__outline:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-filled .v-field__outline:after,.v-field--variant-underlined .v-field__outline:after{border-color:currentColor;border-style:solid;border-width:0 0 2px;transform:scaleX(0);transition:transform .15s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled .v-field__outline:after,.v-field--variant-underlined .v-field__outline:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--focused.v-field--variant-filled .v-field__outline:after,.v-field--focused.v-field--variant-underlined .v-field__outline:after{transform:scaleX(1)}.v-field--variant-outlined .v-field__outline{border-radius:inherit}.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{border:0 solid currentColor;opacity:var(--v-field-border-opacity)}@media (prefers-reduced-motion: no-preference){.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{transition:opacity .25s cubic-bezier(.4,0,.2,1)}}.v-field--variant-outlined .v-field__outline__start{flex:0 0 12px;border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-start-width:var(--v-field-border-width);border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit}.v-field--rounded.v-field--variant-outlined .v-field__outline__start,[class^=rounded-].v-field--variant-outlined .v-field__outline__start,[class*=" rounded-"].v-field--variant-outlined .v-field__outline__start{flex-basis:calc(var(--v-input-control-height) / 2 + 2px)}.v-field--reverse.v-field--variant-outlined .v-field__outline__start{border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0;border-inline-end-width:var(--v-field-border-width);border-inline-start-width:0}.v-field--variant-outlined .v-field__outline__notch{flex:none;position:relative;max-width:calc(100% - 24px)}.v-field--rounded.v-field--variant-outlined .v-field__outline__notch,[class^=rounded-].v-field--variant-outlined .v-field__outline__notch,[class*=" rounded-"].v-field--variant-outlined .v-field__outline__notch{max-width:calc(100% - var(--v-input-control-height))}.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after{opacity:var(--v-field-border-opacity)}.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-outlined .v-field__outline__notch:before{border-width:var(--v-field-border-width) 0 0}.v-field--variant-outlined .v-field__outline__notch:after{bottom:0;border-width:0 0 var(--v-field-border-width)}.v-field--active.v-field--variant-outlined .v-field__outline__notch:before{opacity:0}.v-field--variant-outlined .v-field__outline__end{flex:1;border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-end-width:var(--v-field-border-width);border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0}.v-field--reverse.v-field--variant-outlined .v-field__outline__end{border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit;border-inline-end-width:0;border-inline-start-width:var(--v-field-border-width)}.v-field__loader{top:calc(100% - 2px);left:0;position:absolute;right:0;width:100%;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden}.v-field--variant-outlined .v-field__loader{top:calc(100% - 3px);width:calc(100% - 2px);left:1px}.v-field__overlay{border-radius:inherit;pointer-events:none}.v-field__overlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-filled .v-field__overlay{background-color:currentColor;opacity:.04;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled.v-field--has-background .v-field__overlay{opacity:0}@media (hover: hover){.v-field--variant-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-filled .v-field__overlay{background-color:currentColor;opacity:.04;transition:opacity .25s cubic-bezier(.4,0,.2,1)}@media (hover: hover){.v-field--variant-solo-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-inverted .v-field__overlay{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-solo-inverted.v-field--has-background .v-field__overlay{opacity:0}@media (hover: hover){.v-field--variant-solo-inverted:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-inverted.v-field--focused .v-field__overlay{background-color:rgb(var(--v-theme-surface-variant));opacity:1}.v-field--reverse .v-field__field,.v-field--reverse .v-field__input,.v-field--reverse .v-field__outline{flex-direction:row-reverse}.v-field--reverse .v-field__input,.v-field--reverse input{text-align:end}.v-input--disabled .v-field--variant-filled .v-field__outline:before,.v-input--disabled .v-field--variant-underlined .v-field__outline:before{border-image:repeating-linear-gradient(to right,rgba(var(--v-theme-on-surface),var(--v-disabled-opacity)) 0px,rgba(var(--v-theme-on-surface),var(--v-disabled-opacity)) 2px,transparent 2px,transparent 4px) 1 repeat}.v-field--loading .v-field__outline:after,.v-field--loading .v-field__outline:before{opacity:0}.v-virtual-scroll{display:block;flex:1 1 auto;max-width:100%;overflow:auto;position:relative}.v-virtual-scroll__container{display:block}.v-badge{display:inline-block;line-height:1}.v-badge__badge{align-items:center;display:inline-flex;border-radius:10px;font-family:-apple-system,"system-ui",Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:.75rem;font-weight:500;height:1.25rem;justify-content:center;min-width:20px;padding:4px 6px;pointer-events:auto;position:absolute;text-align:center;text-indent:0;transition:.225s cubic-bezier(.4,0,.2,1);white-space:nowrap}.v-badge__badge{background:rgb(var(--v-theme-surface-variant));color:rgba(var(--v-theme-on-surface-variant),var(--v-high-emphasis-opacity))}.v-badge__badge:has(.v-icon){padding:4px 6px}.v-badge--bordered .v-badge__badge:after{border-radius:inherit;border-style:solid;border-width:2px;color:rgb(var(--v-theme-background));content:"";inset:0;position:absolute;transform:scale(1.05)}.v-badge--dot .v-badge__badge{border-radius:4.5px;height:9px;min-width:0;padding:0;width:9px}.v-badge--dot .v-badge__badge:after{border-width:1.5px}.v-badge--inline .v-badge__badge{position:relative;vertical-align:middle}.v-badge__badge .v-icon{color:inherit;font-size:.75rem;margin:0 -2px}.v-badge__badge img,.v-badge__badge .v-img{height:100%;width:100%}.v-badge__wrapper{display:flex;position:relative}.v-badge--inline .v-badge__wrapper{align-items:center;display:inline-flex;justify-content:center;margin:0 4px}.v-banner{display:grid;flex:1 1;font-size:14px;grid-template-areas:"prepend content actions";grid-template-columns:max-content auto max-content;grid-template-rows:max-content max-content;line-height:20px;overflow:hidden;padding-inline:16px 8px;padding-top:16px;padding-bottom:16px;position:relative;width:100%}.v-banner{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0 0 thin 0}.v-banner--border{border-width:thin;box-shadow:none}.v-banner{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-banner--absolute{position:absolute}.v-banner--fixed{position:fixed}.v-banner--sticky{position:sticky}.v-banner{border-radius:0}.v-banner{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-banner--rounded{border-radius:4px}.v-banner--stacked:not(.v-banner--one-line){grid-template-areas:"prepend content" ". actions"}.v-banner--stacked .v-banner-text{padding-inline-end:36px}.v-banner--density-default .v-banner-actions{margin-bottom:-8px}.v-banner--density-default.v-banner--one-line{padding-top:8px;padding-bottom:8px}.v-banner--density-default.v-banner--one-line .v-banner-actions{margin-bottom:0}.v-banner--density-default.v-banner--one-line{padding-top:10px}.v-banner--density-default.v-banner--two-line{padding-top:16px;padding-bottom:16px}.v-banner--density-default.v-banner--three-line{padding-top:24px;padding-bottom:16px}.v-banner--density-default:not(.v-banner--one-line) .v-banner-actions,.v-banner--density-default.v-banner--two-line .v-banner-actions,.v-banner--density-default.v-banner--three-line .v-banner-actions{margin-top:20px}.v-banner--density-comfortable .v-banner-actions{margin-bottom:-4px}.v-banner--density-comfortable.v-banner--one-line{padding-top:4px;padding-bottom:4px}.v-banner--density-comfortable.v-banner--one-line .v-banner-actions{margin-bottom:0}.v-banner--density-comfortable.v-banner--two-line{padding-top:12px;padding-bottom:12px}.v-banner--density-comfortable.v-banner--three-line{padding-top:20px;padding-bottom:12px}.v-banner--density-comfortable:not(.v-banner--one-line) .v-banner-actions,.v-banner--density-comfortable.v-banner--two-line .v-banner-actions,.v-banner--density-comfortable.v-banner--three-line .v-banner-actions{margin-top:16px}.v-banner--density-compact .v-banner-actions{margin-bottom:0}.v-banner--density-compact.v-banner--one-line{padding-top:0;padding-bottom:0}.v-banner--density-compact.v-banner--one-line .v-banner-actions{margin-bottom:0}.v-banner--density-compact.v-banner--two-line{padding-top:8px;padding-bottom:8px}.v-banner--density-compact.v-banner--three-line{padding-top:16px;padding-bottom:8px}.v-banner--density-compact:not(.v-banner--one-line) .v-banner-actions,.v-banner--density-compact.v-banner--two-line .v-banner-actions,.v-banner--density-compact.v-banner--three-line .v-banner-actions{margin-top:12px}.v-banner--sticky{top:0;z-index:1}.v-banner__content{align-items:center;display:flex;grid-area:content}.v-banner__prepend{align-self:flex-start;grid-area:prepend;margin-inline-end:24px}.v-banner-actions{align-self:flex-end;display:flex;flex:0 1;grid-area:actions;justify-content:flex-end}.v-banner--two-line .v-banner-actions,.v-banner--three-line .v-banner-actions{margin-top:20px}.v-banner-text{-webkit-box-orient:vertical;display:-webkit-box;padding-inline-end:90px;overflow:hidden}.v-banner--one-line .v-banner-text{-webkit-line-clamp:1}.v-banner--two-line .v-banner-text{-webkit-line-clamp:2}.v-banner--three-line .v-banner-text{-webkit-line-clamp:3}.v-banner--two-line .v-banner-text,.v-banner--three-line .v-banner-text{align-self:flex-start}.v-bottom-navigation{display:flex;max-width:100%;overflow:hidden;position:absolute;transition:transform,color,.2s,.1s cubic-bezier(.4,0,.2,1)}.v-bottom-navigation{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-bottom-navigation--border{border-width:thin;box-shadow:none}.v-bottom-navigation{border-radius:0}.v-bottom-navigation{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-bottom-navigation--active{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-bottom-navigation__content{display:flex;flex:none;font-size:12px;justify-content:center;transition:inherit;width:100%}.v-bottom-navigation .v-bottom-navigation__content>.v-btn{font-size:inherit;height:100%;max-width:168px;min-width:80px;text-transform:none;transition:inherit;width:auto}.v-bottom-navigation .v-bottom-navigation__content>.v-btn{border-radius:0}.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__content,.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__icon{transition:inherit}.v-bottom-navigation .v-bottom-navigation__content>.v-btn .v-btn__icon{font-size:1.5rem}.v-bottom-navigation--grow .v-bottom-navigation__content>.v-btn{flex-basis:0;flex-grow:1}.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content>span{transition:inherit;opacity:0}.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content{transform:translateY(.5rem)}.bottom-sheet-transition-enter-from,.bottom-sheet-transition-leave-to{transform:translateY(100%)}.v-bottom-sheet>.v-bottom-sheet__content.v-overlay__content{align-self:flex-end;border-radius:0;flex:0 1 auto;left:0;right:0;margin-inline:auto;margin-bottom:0;transition-duration:.2s;width:100%;max-width:100%;overflow:visible}.v-bottom-sheet>.v-bottom-sheet__content.v-overlay__content{box-shadow:0 6px 17px rgba(var(--v-shadow-key-umbra-color),.22),0 0 transparent,0 0 transparent}@media (prefers-reduced-motion: reduce){.v-bottom-sheet>.v-bottom-sheet__content.v-overlay__content{transition:none}}.v-bottom-sheet>.v-bottom-sheet__content.v-overlay__content>.v-card,.v-bottom-sheet>.v-bottom-sheet__content.v-overlay__content>.v-sheet{border-radius:0}.v-bottom-sheet.v-bottom-sheet--inset{max-width:none}@media (min-width: 600px){.v-bottom-sheet.v-bottom-sheet--inset{max-width:70%}}.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px}.v-dialog>.v-overlay__content,.v-dialog>.v-overlay__content>form{display:flex;flex-direction:column;min-height:0}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:4px;overflow-y:auto;flex:1 1 100%}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{box-shadow:0 10px 30px rgba(var(--v-shadow-key-umbra-color),.34),0 0 transparent,0 0 transparent}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:16px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.03125em;line-height:inherit;padding:16px 24px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-actions,.v-dialog>.v-overlay__content>form>.v-card>.v-card-actions{justify-content:flex-end}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 100%;flex-direction:column}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}.v-breadcrumbs{display:flex;align-items:center;line-height:20px;padding:16px 12px}.v-breadcrumbs--rounded{border-radius:4px}.v-breadcrumbs--density-default{padding-top:16px;padding-bottom:16px}.v-breadcrumbs--density-comfortable{padding-top:12px;padding-bottom:12px}.v-breadcrumbs--density-compact{padding-top:8px;padding-bottom:8px}.v-breadcrumbs__prepend{align-items:center;display:inline-flex}.v-breadcrumbs-item{align-items:center;color:inherit;display:inline-flex;padding:0 4px;text-decoration:none;vertical-align:middle}.v-breadcrumbs-item--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-breadcrumbs-item--link{color:inherit;text-decoration:none}.v-breadcrumbs-item--link:hover{text-decoration:underline}.v-breadcrumbs-item .v-icon{font-size:16px;margin-inline:-4px 2px}.v-breadcrumbs-divider{display:inline-block;padding:0 8px;vertical-align:middle}.v-card{display:block;overflow:hidden;overflow-wrap:break-word;position:relative;padding:0;text-decoration:none;transition-duration:.28s;transition-property:box-shadow,opacity,background;transition-timing-function:cubic-bezier(.4,0,.2,1);z-index:0}.v-card{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-card--border{border-width:thin;box-shadow:none}.v-card--absolute{position:absolute}.v-card--fixed{position:fixed}.v-card{border-radius:4px}.v-card:hover>.v-card__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-card:focus-visible>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card:focus>.v-card__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-card--active>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]>.v-card__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-card--active:hover>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:hover>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-card--active:focus-visible>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-card--active:focus>.v-card__overlay,.v-card[aria-haspopup=menu][aria-expanded=true]:focus>.v-card__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-card--variant-plain,.v-card--variant-outlined,.v-card--variant-text,.v-card--variant-tonal{background:transparent;color:inherit}.v-card--variant-plain{opacity:.62}.v-card--variant-plain:focus,.v-card--variant-plain:hover{opacity:1}.v-card--variant-plain .v-card__overlay{display:none}.v-card--variant-elevated,.v-card--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-card--variant-elevated{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-card--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-card--variant-outlined{border:thin solid currentColor}.v-card--variant-text .v-card__overlay{background:currentColor}.v-card--variant-tonal .v-card__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-card .v-card__underlay{position:absolute}.v-card--disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.v-card--disabled>:not(.v-card__loader){opacity:.6}.v-card--flat{box-shadow:none}.v-card--hover{cursor:pointer}.v-card--hover:before,.v-card--hover:after{border-radius:inherit;content:"";display:block;inset:0;pointer-events:none;position:absolute;transition:inherit}.v-card--hover:before{opacity:1;z-index:-1}.v-card--hover:before{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-card--hover:after{z-index:1;opacity:0}.v-card--hover:after{box-shadow:0 6px 16px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-lg-opacity)),0 0 transparent,0 0 transparent}.v-card--hover:hover:after{opacity:1}.v-card--hover:hover:before{opacity:0}.v-card--hover:hover{box-shadow:0 6px 16px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-lg-opacity)),0 0 transparent,0 0 transparent}.v-card--link{cursor:pointer}.v-card-actions{align-items:center;display:flex;flex:none;min-height:52px;padding:.5rem;gap:.5rem}.v-card-item{align-items:center;display:grid;flex:none;grid-template-areas:"prepend content append";grid-template-columns:max-content auto max-content;padding:16px}.v-card-item+.v-card-text{padding-top:0}.v-card-item__prepend,.v-card-item__append{align-items:center;display:flex}.v-card-item__prepend{grid-area:prepend;padding-inline-end:.5rem}.v-card-item__append{grid-area:append;padding-inline-start:.5rem}.v-card-item__content{align-self:center;grid-area:content;overflow:hidden}.v-card-title{display:block;flex:none;font-size:18px;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.04px;min-width:0;overflow-wrap:normal;overflow:hidden;padding:.5rem 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap;word-break:normal;word-wrap:break-word}.v-card .v-card-title{line-height:26px}.v-card--density-comfortable .v-card-title{line-height:1.75rem}.v-card--density-compact .v-card-title{line-height:1.55rem}.v-card-item .v-card-title{padding:0}.v-card-title+.v-card-text,.v-card-title+.v-card-actions{padding-top:0}.v-card-subtitle{display:block;flex:none;font-size:14px;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity));overflow:hidden;padding:0 1rem;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.v-card .v-card-subtitle{line-height:20px}.v-card--density-comfortable .v-card-subtitle{line-height:1.125rem}.v-card--density-compact .v-card-subtitle{line-height:1rem}.v-card-item .v-card-subtitle{padding:0 0 .25rem}.v-card-text{flex:1 1 auto;font-size:14px;font-weight:400;letter-spacing:.0178571429em;opacity:var(--v-card-text-opacity, 1);padding:1rem;text-transform:none}.v-card .v-card-text{line-height:20px}.v-card--density-comfortable .v-card-text{line-height:1.2rem}.v-card--density-compact .v-card-text{line-height:1.15rem}.v-card__image{display:flex;height:100%;flex:1 1 auto;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.v-card__content{border-radius:inherit;overflow:hidden;position:relative}.v-card__loader{inset:0 0 auto;position:absolute;width:100%;z-index:1}@media (forced-colors: active){.v-card__loader .v-progress-linear{border:none}}.v-card__overlay{background-color:currentColor;border-radius:inherit;position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}@media (forced-colors: active){.v-card:not(.v-card--variant-text,.v-card--variant-plain){border:thin solid}}.v-carousel{overflow:hidden;position:relative;width:100%}.v-carousel__controls{align-items:center;bottom:0;display:flex;height:50px;justify-content:center;list-style-type:none;position:absolute;width:100%;z-index:1}.v-carousel__controls{background:rgba(var(--v-theme-surface-variant),.3);color:rgb(var(--v-theme-on-surface-variant))}.v-carousel__controls>.v-item-group{flex:0 1 auto}.v-carousel__controls__item{margin:0 8px}.v-carousel__controls__item .v-icon{opacity:.5}.v-carousel__controls__item--active .v-icon{opacity:1;vertical-align:middle}.v-carousel__controls__item:hover{background:none}.v-carousel__controls__item:hover .v-icon{opacity:.8}.v-carousel__progress{margin:0;bottom:0;left:0;right:0}.v-carousel-item{display:block;height:inherit;text-decoration:none}.v-carousel-item>.v-img{height:inherit}.v-carousel--hide-delimiter-background .v-carousel__controls{background:transparent}.v-carousel--vertical-delimiters .v-carousel__controls{flex-direction:column;height:100%!important;width:50px}.v-window{overflow:hidden}.v-window__container{display:flex;flex-direction:column;height:inherit;position:relative;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window__controls{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;pointer-events:none}.v-window__controls>*{pointer-events:auto}.v-window--show-arrows-on-hover{overflow:hidden}.v-window--show-arrows-on-hover .v-window__left{transform:translate(-200%)}:has(.v-window__controls--right).v-window--show-arrows-on-hover .v-window__left{transform:translate(200%)}.v-window--show-arrows-on-hover .v-window__right{transform:translate(200%)}:has(.v-window__controls--left).v-window--show-arrows-on-hover .v-window__right{transform:translate(-200%)}.v-window--show-arrows-on-hover:hover .v-window__left,.v-window--show-arrows-on-hover:hover .v-window__right{transform:translate(0)}.v-window--vertical-arrows .v-window__controls{flex-direction:column;justify-content:center;gap:12px}.v-window--vertical-arrows .v-window__controls--left{align-items:start}.v-window--vertical-arrows .v-window__controls--right{align-items:end}.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon,.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon{transform:rotate(90deg)}@container style(--v-window-transition-duration){.v-window .v-window-item{transition-duration:var(--v-window-transition-duration)!important}}.v-window--crossfade>.v-window__container{isolation:isolate}.v-window--crossfade>.v-window__container>.v-window-item{mix-blend-mode:plus-lighter}.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){.v-window-x-transition-enter-active,.v-window-x-transition-leave-active,.v-window-x-reverse-transition-enter-active,.v-window-x-reverse-transition-leave-active,.v-window-y-transition-enter-active,.v-window-y-transition-leave-active,.v-window-y-reverse-transition-enter-active,.v-window-y-reverse-transition-leave-active{transition-duration:0s}}.v-window-x-transition-leave-from,.v-window-x-transition-leave-to,.v-window-x-reverse-transition-leave-from,.v-window-x-reverse-transition-leave-to,.v-window-y-transition-leave-from,.v-window-y-transition-leave-to,.v-window-y-reverse-transition-leave-from,.v-window-y-reverse-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-x-transition-enter-from{transform:translate(100%)}.v-window-x-transition-leave-to,.v-window-x-reverse-transition-enter-from{transform:translate(-100%)}.v-window-x-reverse-transition-leave-to{transform:translate(100%)}.v-window-y-transition-enter-from{transform:translateY(100%)}.v-window-y-transition-leave-to,.v-window-y-reverse-transition-enter-from{transform:translateY(-100%)}.v-window-y-reverse-transition-leave-to{transform:translateY(100%)}.v-window-crossfade-transition-enter-active,.v-window-crossfade-transition-leave-active{transition:.3s cubic-bezier(.25,.8,.5,1)}.v-window-crossfade-transition-leave-from,.v-window-crossfade-transition-leave-to{position:absolute!important;top:0;width:100%}.v-window-crossfade-transition-enter-from,.v-window-crossfade-transition-leave-to{opacity:0}.v-code{background-color:rgb(var(--v-theme-code));color:rgb(var(--v-theme-on-code));border-radius:4px;line-height:1.8;font-size:.9em;font-weight:400;padding:.2em .4em}.v-code:has(>pre){display:inline-block}.v-color-picker{align-self:flex-start;contain:content;width:300px}.v-color-picker.v-sheet.v-picker{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-color-picker.v-sheet.v-picker{border-radius:4px}.v-color-picker__controls{display:flex;flex-direction:column;padding:16px;width:100%}.v-color-picker--flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-color-picker--flat .v-color-picker__track:not(.v-input--is-disabled) .v-slider__thumb{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-color-picker-canvas{display:flex;position:relative;overflow:hidden;contain:content;touch-action:none;width:100%}.v-color-picker-canvas__dot{position:absolute;top:0;left:0;width:15px;height:15px;background:transparent;border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1.5px #0000004d}.v-color-picker-canvas__dot--disabled{box-shadow:0 0 0 1.5px #ffffffb3,inset 0 0 1px 1.5px #0000004d}.v-color-picker-canvas:hover .v-color-picker-canvas__dot{will-change:transform}.v-color-picker-edit{display:flex;margin-top:24px}.v-color-picker-edit__input{width:100%;display:flex;flex-wrap:wrap;justify-content:center;text-align:center}.v-color-picker-edit__input>input::-webkit-outer-spin-button,.v-color-picker-edit__input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-color-picker-edit__input:not(:last-child){margin-inline-end:8px}.v-color-picker-edit__input input{border-radius:4px;margin-bottom:8px;min-width:0;outline:none;text-align:center;width:100%;height:32px;background:rgba(var(--v-theme-surface-variant),.2);color:rgba(var(--v-theme-on-surface))}.v-color-picker-edit__input span{font-size:.75rem}.v-color-picker-preview__alpha .v-slider-track__background{background-color:transparent!important}.v-locale--is-ltr.v-color-picker-preview__alpha .v-slider-track__background,.v-locale--is-ltr .v-color-picker-preview__alpha .v-slider-track__background{background-image:linear-gradient(to right,transparent,var(--v-color-picker-color-hsv))}.v-locale--is-rtl.v-color-picker-preview__alpha .v-slider-track__background,.v-locale--is-rtl .v-color-picker-preview__alpha .v-slider-track__background{background-image:linear-gradient(to left,transparent,var(--v-color-picker-color-hsv))}.v-color-picker-preview__alpha .v-slider-track__background:after{content:"";z-index:-1;left:0;top:0;width:100%;height:100%;position:absolute;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat;border-radius:inherit}.v-color-picker-preview__sliders{display:flex;flex:1 0 auto;flex-direction:column;padding-inline-end:16px}.v-color-picker-preview__dot{position:relative;height:30px;width:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat;border-radius:50%;overflow:hidden;margin-inline-end:24px}.v-color-picker-preview__dot>div{width:100%;height:100%}.v-locale--is-ltr.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background,.v-locale--is-ltr .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background{background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.v-locale--is-rtl.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background,.v-locale--is-rtl .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background{background:linear-gradient(to left,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.v-color-picker-preview__track{position:relative;width:100%;margin:0!important}.v-color-picker-preview__track .v-slider-track__fill{display:none}.v-color-picker-preview{align-items:center;display:flex;margin-bottom:0}.v-color-picker-preview__eye-dropper{position:relative;margin-right:12px}.v-slider .v-slider__container input{cursor:default;padding:0;width:100%;display:none}.v-slider>.v-input__append,.v-slider>.v-input__prepend{padding:0}.v-slider__container{position:relative;min-height:inherit;width:100%;height:100%;display:flex;justify-content:center;align-items:center;cursor:pointer}.v-input--disabled .v-slider__container{opacity:var(--v-disabled-opacity)}.v-input--error:not(.v-input--disabled) .v-slider__container{color:rgb(var(--v-theme-error))}.v-slider.v-input--horizontal{align-items:center;margin-inline:8px 8px}.v-slider.v-input--horizontal>.v-input__control{min-height:32px;display:flex;align-items:center}.v-slider.v-input--vertical{justify-content:center;margin-top:12px;margin-bottom:12px}.v-slider.v-input--vertical>.v-input__control{min-height:300px}.v-slider.v-input--disabled{pointer-events:none}.v-slider--has-labels>.v-input__control{margin-bottom:4px}.v-slider__label{margin-inline-end:12px}.v-slider-thumb{touch-action:none;color:rgb(var(--v-theme-surface-variant))}.v-input--error:not(.v-input--disabled) .v-slider-thumb{color:inherit}.v-slider-thumb__label{background:rgba(var(--v-theme-surface-variant),.7);color:rgb(var(--v-theme-on-surface-variant))}.v-slider-thumb__label>.v-slider-thumb__label-wedge{background:inherit}.v-slider-thumb{outline:none;position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-slider-thumb__surface{cursor:pointer;width:var(--v-slider-thumb-size);height:var(--v-slider-thumb-size);border-radius:50%;-webkit-user-select:none;user-select:none;background-color:currentColor}@media (forced-colors: active){.v-slider-thumb__surface{background-color:highlight}}.v-slider-thumb__surface:before{transition:.3s cubic-bezier(.4,0,.2,1);content:"";color:inherit;top:0;left:0;width:100%;height:100%;border-radius:50%;background:currentColor;position:absolute;pointer-events:none;opacity:0}.v-slider-thumb__surface:after{content:"";width:42px;height:42px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v-slider-thumb__label-container{position:absolute;transition:.2s cubic-bezier(.4,0,1,1)}.v-slider-thumb__label{display:flex;align-items:center;justify-content:center;font-size:12px;min-width:35px;height:25px;border-radius:4px;padding:6px;position:absolute;-webkit-user-select:none;user-select:none;transition:.2s cubic-bezier(.4,0,1,1)}.v-slider-thumb__label>.v-slider-thumb__label-wedge{width:12px;height:12px;position:absolute}.v-slider-thumb__ripple{position:absolute;left:calc(var(--v-slider-thumb-size) / -2);top:calc(var(--v-slider-thumb-size) / -2);width:calc(var(--v-slider-thumb-size) * 2);height:calc(var(--v-slider-thumb-size) * 2);background:inherit}.v-slider.v-input--horizontal .v-slider-thumb{top:50%;transform:translateY(-50%);inset-inline-start:calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2)}.v-slider.v-input--horizontal .v-slider-thumb__label-container{left:calc(var(--v-slider-thumb-size) / 2);top:0}.v-slider.v-input--horizontal .v-slider-thumb__label{bottom:calc(var(--v-slider-thumb-size) / 2)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-thumb__label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-thumb__label{transform:translate(-50%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-thumb__label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-thumb__label{transform:translate(50%)}.v-slider.v-input--horizontal .v-slider-thumb__label>.v-slider-thumb__label-wedge{clip-path:polygon(50% 100%,0 50%,100% 50%);bottom:-5.8px}.v-slider.v-input--vertical .v-slider-thumb{top:calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2)}.v-slider.v-input--vertical .v-slider-thumb__label-container{top:calc(var(--v-slider-thumb-size) / 2);right:0}.v-slider.v-input--vertical .v-slider-thumb__label{top:-12.5px;left:calc(var(--v-slider-thumb-size) / 2)}.v-slider.v-input--vertical .v-slider-thumb__label>.v-slider-thumb__label-wedge{clip-path:polygon(0 50%,50% 0,50% 100%);left:-5.8px}.v-slider-thumb--focused .v-slider-thumb__surface:before{transform:scale(2);opacity:var(--v-focus-opacity)}.v-slider-thumb--pressed{transition:none}.v-slider-thumb--pressed .v-slider-thumb__surface:before{opacity:var(--v-pressed-opacity)}@media (hover: hover){.v-slider-thumb:hover .v-slider-thumb__surface:before{transform:scale(2)}.v-slider-thumb:hover:not(.v-slider-thumb--focused) .v-slider-thumb__surface:before{opacity:var(--v-hover-opacity)}}.v-slider-track__background{background-color:rgb(var(--v-theme-surface-variant))}@media (forced-colors: active){.v-slider-track__background{background-color:highlight}}.v-slider-track__fill{background-color:rgb(var(--v-theme-surface-variant))}@media (forced-colors: active){.v-slider-track__fill{background-color:highlight}}.v-slider-track__tick{background-color:rgb(var(--v-theme-surface-variant))}.v-slider-track__tick--filled{background-color:rgb(var(--v-theme-surface-light))}.v-slider-track{border-radius:6px}@media (forced-colors: active){.v-slider-track{border:thin solid buttontext}}.v-slider-track__background,.v-slider-track__fill{position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1);border-radius:inherit}.v-slider--pressed .v-slider-track__background,.v-slider--pressed .v-slider-track__fill{transition:none}.v-input--error:not(.v-input--disabled) .v-slider-track__background,.v-input--error:not(.v-input--disabled) .v-slider-track__fill{background-color:currentColor}.v-slider-track__ticks{height:100%;width:100%;position:relative}.v-slider-track__tick{position:absolute;opacity:0;transition:.2s opacity cubic-bezier(.4,0,.2,1);border-radius:2px;width:var(--v-slider-tick-size);height:var(--v-slider-tick-size);transform:translate(calc(var(--v-slider-tick-size) / -2),calc(var(--v-slider-tick-size) / -2))}.v-locale--is-ltr.v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-ltr .v-slider-track__tick--first .v-slider-track__tick-label{transform:none}.v-locale--is-rtl.v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl .v-slider-track__tick--first .v-slider-track__tick-label{transform:translate(100%)}.v-locale--is-ltr.v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-ltr .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(-100%)}.v-locale--is-rtl.v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-rtl .v-slider-track__tick--last .v-slider-track__tick-label{transform:none}.v-slider-track__tick-label{position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.v-slider.v-input--horizontal .v-slider-track{display:flex;align-items:center;width:100%;height:calc(var(--v-slider-track-size) + 2px);touch-action:pan-y}.v-slider.v-input--horizontal .v-slider-track__background{height:var(--v-slider-track-size)}.v-slider.v-input--horizontal .v-slider-track__fill{height:inherit}.v-slider.v-input--horizontal .v-slider-track__tick{margin-top:calc(calc(var(--v-slider-track-size) + 2px) / 2)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick{transform:translate(calc(var(--v-slider-tick-size) / 2),calc(var(--v-slider-tick-size) / -2))}.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{margin-top:calc(var(--v-slider-track-size) / 2 + 8px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{transform:translate(-50%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{transform:translate(50%)}.v-slider.v-input--horizontal .v-slider-track__tick--first{margin-inline-start:calc(var(--v-slider-tick-size) + 1px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label{transform:translate(0)}.v-slider.v-input--horizontal .v-slider-track__tick--last{margin-inline-start:calc(100% - var(--v-slider-tick-size) - 1px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(-100%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(100%)}.v-slider.v-input--vertical .v-slider-track{height:100%;display:flex;justify-content:center;width:calc(var(--v-slider-track-size) + 2px);touch-action:pan-x}.v-slider.v-input--vertical .v-slider-track__background{width:var(--v-slider-track-size)}.v-slider.v-input--vertical .v-slider-track__fill{width:inherit}.v-slider.v-input--vertical .v-slider-track__ticks{height:100%}.v-slider.v-input--vertical .v-slider-track__tick{margin-inline-start:calc(calc(var(--v-slider-track-size) + 2px) / 2);transform:translate(calc(var(--v-slider-tick-size) / -2),calc(var(--v-slider-tick-size) / 2))}.v-locale--is-rtl.v-slider.v-input--vertical .v-slider-track__tick,.v-locale--is-rtl .v-slider.v-input--vertical .v-slider-track__tick{transform:translate(calc(var(--v-slider-tick-size) / 2),calc(var(--v-slider-tick-size) / 2))}.v-slider.v-input--vertical .v-slider-track__tick--first{bottom:calc(0% + var(--v-slider-tick-size) + 1px)}.v-slider.v-input--vertical .v-slider-track__tick--last{bottom:calc(100% - var(--v-slider-tick-size) - 1px)}.v-slider.v-input--vertical .v-slider-track__tick .v-slider-track__tick-label{margin-inline-start:calc(var(--v-slider-track-size) / 2 + 12px);transform:translateY(-50%)}.v-slider-track__ticks--always-show .v-slider-track__tick,.v-slider--focused .v-slider-track__tick{opacity:1}.v-slider-track__background--opacity{opacity:.38}.v-color-picker-swatches{overflow-y:auto}.v-color-picker-swatches>div{display:flex;flex-wrap:wrap;justify-content:center;padding:8px}.v-color-picker-swatches__swatch{display:flex;flex-direction:column;margin-bottom:10px}.v-color-picker-swatches__color{position:relative;height:18px;max-height:18px;width:45px;margin:2px 4px;border-radius:2px;-webkit-user-select:none;user-select:none;overflow:hidden;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat;cursor:pointer}.v-color-picker-swatches__color>div{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.v-picker.v-sheet{display:grid;grid-auto-rows:min-content;grid-template-areas:"title" "header" "body";grid-template-columns:minmax(0,1fr);overflow:hidden}.v-picker.v-sheet{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-picker.v-sheet{border-radius:4px}.v-picker.v-sheet.v-picker--with-actions{grid-template-areas:"title" "header" "body" "actions"}.v-picker__body{grid-area:body;overflow:hidden;position:relative;display:flex;justify-content:center;flex-wrap:wrap}.v-picker__header{grid-area:header}.v-picker__actions{grid-area:actions;padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end}.v-picker__actions .v-btn{min-width:48px}.v-picker__actions .v-btn:not(:last-child){margin-inline-end:8px}.v-picker--divided .v-picker__header{border-bottom-color:rgba(var(--v-border-color),var(--v-border-opacity));border-bottom-style:solid;border-bottom-width:thin}.v-picker--landscape{grid-template-areas:"title" "header body" "header body"}.v-picker--landscape.v-picker--with-actions{grid-template-areas:"title" "header body" "header actions"}.v-picker-title{text-transform:uppercase;font-size:.75rem;grid-area:title;padding-inline:24px 12px;padding-top:16px;padding-bottom:16px;font-weight:400;letter-spacing:.1666666667em}.v-sheet{display:block}.v-sheet{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-sheet--border{border-width:thin;box-shadow:none}.v-sheet{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-sheet--absolute{position:absolute}.v-sheet--fixed{position:fixed}.v-sheet--relative{position:relative}.v-sheet--sticky{position:sticky}.v-sheet{border-radius:0}.v-sheet{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-sheet--rounded{border-radius:4px}.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-combobox .v-field .v-text-field__prefix,.v-combobox .v-field .v-text-field__suffix,.v-combobox .v-field .v-field__input,.v-combobox .v-field.v-field{cursor:text}.v-combobox .v-field .v-field__input>input{flex:1 1}.v-combobox .v-field input{min-width:64px}.v-combobox .v-field:not(.v-field--focused) input{min-width:0}.v-combobox .v-field--dirty .v-combobox__selection{margin-inline-end:2px}.v-combobox .v-combobox__selection-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-combobox__content{overflow:hidden}.v-combobox__content{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-menu>.v-overlay__content.v-combobox__content{border-radius:4px}.v-combobox__mask{background:rgb(var(--v-theme-surface-light))}.v-combobox__selection{display:inline-flex;align-items:center;height:24px;letter-spacing:inherit;line-height:inherit;max-width:calc(100% - 4px)}.v-combobox__selection:first-child{margin-inline-start:0}.v-combobox--selecting-index .v-combobox__selection{opacity:var(--v-medium-emphasis-opacity)}.v-combobox--selecting-index .v-combobox__selection--selected{opacity:1}.v-combobox--selecting-index .v-field__input>input{caret-color:transparent}.v-combobox--single:not(.v-combobox--selection-slot).v-text-field input{flex:1 1;position:absolute;left:0;right:0;width:100%;padding-inline:inherit}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--active input{transition:none}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--dirty:not(.v-field--focused) input{opacity:0}.v-combobox--single:not(.v-combobox--selection-slot) .v-field--focused .v-combobox__selection{opacity:0}.v-combobox__menu-icon{margin-inline-start:4px;transition:.2s cubic-bezier(.4,0,.2,1)}.v-combobox--active-menu .v-combobox__menu-icon{transform:rotate(180deg)}.v-data-table{width:100%}.v-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.v-data-table__tr--focus{border:1px dotted black}.v-data-table__tr--clickable{cursor:pointer}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end{text-align:end}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end .v-data-table-header__content{flex-direction:row-reverse}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center{text-align:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center .v-data-table-header__content{justify-content:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--no-padding{padding:0 8px}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--empty,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--empty{padding:0}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap .v-data-table-header__content{display:contents}.v-data-table .v-table__wrapper>table>thead>tr>th,.v-data-table .v-table__wrapper>table tbody>tr>th{align-items:center}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--fixed,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--fixed{position:sticky}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:focus,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:focus{cursor:pointer;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon{opacity:0}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon{opacity:.5}.v-data-table .v-table__wrapper>table>thead>tr.v-data-table__tr--mobile>td,.v-data-table .v-table__wrapper>table tbody>tr.v-data-table__tr--mobile>td{height:fit-content}.v-data-table-column--fixed,.v-data-table-column--fixed-end,.v-data-table__th--sticky{background-color:rgb(var(--v-theme-surface));background-image:inherit;position:sticky!important;left:0;z-index:1}.v-data-table-column--fixed-end{left:unset;right:0}.v-data-table-column--last-fixed{border-right:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table-column--first-fixed-end{border-left:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed,.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed-end{z-index:2}.v-data-table-group-header-row td{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface))}.v-data-table-group-header-row td>span{padding-left:5px}.v-data-table--loading .v-data-table__td{opacity:var(--v-disabled-opacity)}.v-data-table-group-header-row__column{padding-inline-start:calc(var(--v-data-table-group-header-row-depth) * 16px)!important}.v-data-table-header__content{display:flex;align-items:center}.v-data-table-header__sort-badge{display:inline-flex;justify-content:center;align-items:center;font-size:.875rem;padding:4px;border-radius:50%;background:rgba(var(--v-border-color),var(--v-border-opacity));min-width:20px;min-height:20px;width:20px;height:20px}.v-data-table-progress>th{border:none!important;height:auto!important;padding:0!important}.v-data-table-progress__loader{position:relative}.v-data-table-rows-loading,.v-data-table-rows-no-data{text-align:center}.v-data-table__tr--mobile>.v-data-table__td--expanded-row{grid-template-columns:auto;justify-content:center}.v-data-table__tr--mobile>.v-data-table__td--select-row{grid-template-columns:0;justify-content:end}.v-data-table__tr--mobile>td{align-items:center;column-gap:4px;display:grid;grid-template-columns:repeat(2,1fr);min-height:var(--v-table-row-height)}.v-data-table__tr--mobile>td:not(:last-child){border-bottom:0!important}.v-data-table__td-title{font-weight:500;text-align:start}.v-data-table__td-value{text-align:end}.v-data-table__td-sort-icon{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-data-table__td-sort-icon-active{color:rgba(var(--v-theme-on-surface))}.v-data-table-footer{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:8px 4px}.v-data-table-footer__items-per-page{align-items:center;display:flex;justify-content:center}.v-data-table-footer__items-per-page>span{padding-inline-end:8px}.v-data-table-footer__items-per-page>.v-select{width:90px}.v-data-table-footer__info{display:flex;justify-content:flex-end;min-width:116px;padding:0 16px}.v-data-table-footer__paginationz{align-items:center;display:flex;margin-inline-start:16px}.v-data-table-footer__page{padding:0 8px}.v-pagination__list{display:inline-flex;list-style-type:none;justify-content:center;width:100%}.v-pagination__item,.v-pagination__first,.v-pagination__prev,.v-pagination__next,.v-pagination__last{margin:.3rem}.v-table{font-size:14px;transition-duration:.28s;transition-property:box-shadow,opacity,background,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-table{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-grey-darken-3),var(--v-high-emphasis-opacity))}.v-table .v-table-divider{border-right:thin solid #e0e0e0}.v-table .v-table__wrapper>table>thead>tr>th{border-bottom:thin solid #e0e0e0}.v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>td,.v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>th{border-bottom:thin solid #e0e0e0}.v-table .v-table__wrapper>table>tfoot>tr>td,.v-table .v-table__wrapper>table>tfoot>tr>th{border-top:thin solid #e0e0e0}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr>td{position:relative}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr:hover>td:after{background:rgba(var(--v-border-color),var(--v-hover-opacity));pointer-events:none}.v-table.v-table--hover>.v-table__wrapper>table>tbody>tr:hover>td:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-table.v-table--striped-even>.v-table__wrapper>table>tbody>tr:nth-child(2n){background-image:linear-gradient(0deg,rgba(var(--v-border-color),var(--v-hover-opacity)),rgba(var(--v-border-color),var(--v-hover-opacity)))}.v-table.v-table--striped-odd>.v-table__wrapper>table>tbody>tr:nth-child(odd){background-image:linear-gradient(0deg,rgba(var(--v-border-color),var(--v-hover-opacity)),rgba(var(--v-border-color),var(--v-hover-opacity)))}.v-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th{background:rgb(var(--v-theme-surface));box-shadow:inset 0 -1px #e0e0e0;z-index:1}.v-table.v-table--fixed-footer>tfoot>tr>th,.v-table.v-table--fixed-footer>tfoot>tr>td{background:rgb(var(--v-theme-surface));box-shadow:inset 0 1px #e0e0e0}.v-table{border-radius:inherit;line-height:1.5;max-width:100%;display:flex;flex-direction:column}.v-table>.v-table__wrapper>table{width:100%;border-spacing:0}.v-table>.v-table__wrapper>table>tbody>tr>td,.v-table>.v-table__wrapper>table>tbody>tr>th,.v-table>.v-table__wrapper>table>thead>tr>td,.v-table>.v-table__wrapper>table>thead>tr>th,.v-table>.v-table__wrapper>table>tfoot>tr>td,.v-table>.v-table__wrapper>table>tfoot>tr>th{padding:0 16px;transition-duration:.28s;transition-property:box-shadow,opacity,background,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-table>.v-table__wrapper>table>tbody>tr>td,.v-table>.v-table__wrapper>table>thead>tr>td,.v-table>.v-table__wrapper>table>tfoot>tr>td{height:var(--v-table-row-height)}.v-table>.v-table__wrapper>table>tbody>tr>th,.v-table>.v-table__wrapper>table>thead>tr>th,.v-table>.v-table__wrapper>table>tfoot>tr>th{height:var(--v-table-header-height);font-weight:500;-webkit-user-select:none;user-select:none;text-align:start}.v-table--density-default{--v-table-header-height: 44px;--v-table-row-height: 60px}.v-table--density-comfortable{--v-table-header-height: 36px;--v-table-row-height: 52px}.v-table--density-compact{--v-table-header-height: 28px;--v-table-row-height: 44px}.v-table__wrapper{border-radius:inherit;overflow:auto;flex:1 1 auto}.v-table--has-top>.v-table__wrapper{border-top-left-radius:0;border-top-right-radius:0}.v-table--has-bottom>.v-table__wrapper{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-table--fixed-height>.v-table__wrapper{overflow-y:auto}.v-table--fixed-header>.v-table__wrapper>table>thead{position:sticky;top:0;z-index:2}.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th{border-bottom:0px!important}.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr{position:sticky;bottom:0;z-index:1}.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr>td,.v-table--fixed-footer>.v-table__wrapper>table>tfoot>tr>th{border-top:0px!important}.v-date-picker{overflow:hidden;width:328px}.v-date-picker--show-week{width:368px}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding-top:4px;padding-bottom:4px;padding-inline-start:6px;padding-inline-end:12px;flex:1}.v-date-picker-controls>.v-btn:first-child{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls--variant-classic{padding-inline-start:12px}.v-date-picker-controls--variant-modern .v-date-picker__title:not(:hover){opacity:.7}.v-date-picker--month .v-date-picker-controls--variant-modern .v-date-picker__title{cursor:pointer}.v-date-picker--year .v-date-picker-controls--variant-modern .v-date-picker__title{opacity:1}.v-date-picker-controls .v-btn:last-child{margin-inline-start:4px}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls--variant-classic .v-date-picker-controls__date{margin:auto;text-align:center}.v-date-picker-controls__month{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__month{flex-direction:row-reverse}.v-date-picker-controls--variant-classic .v-date-picker-controls__month{flex:1 0 auto}.v-date-picker__title{display:inline-block}.v-container{width:100%;padding:16px;margin-right:auto;margin-left:auto}@media (min-width: 960px){.v-container{max-width:900px}}@media (min-width: 1280px){.v-container{max-width:1200px}}@media (min-width: 1920px){.v-container{max-width:1800px}}@media (min-width: 2560px){.v-container{max-width:2400px}}.v-container--fluid{max-width:100%}.v-container.fill-height{align-items:center;display:flex;flex-wrap:wrap}.v-row{display:flex;flex-wrap:wrap;flex:1 1 auto;margin:-12px}.v-row+.v-row{margin-top:12px}.v-row+.v-row--dense{margin-top:4px}.v-row--dense{margin:-4px}.v-row--dense>.v-col,.v-row--dense>[class*=v-col-]{padding:4px}.v-row.v-row--no-gutters{margin:0}.v-row.v-row--no-gutters>.v-col,.v-row.v-row--no-gutters>[class*=v-col-]{padding:0}.v-spacer{flex-grow:1}.v-col-xxl,.v-col-xxl-auto,.v-col-xxl-12,.v-col-xxl-11,.v-col-xxl-10,.v-col-xxl-9,.v-col-xxl-8,.v-col-xxl-7,.v-col-xxl-6,.v-col-xxl-5,.v-col-xxl-4,.v-col-xxl-3,.v-col-xxl-2,.v-col-xxl-1,.v-col-xl,.v-col-xl-auto,.v-col-xl-12,.v-col-xl-11,.v-col-xl-10,.v-col-xl-9,.v-col-xl-8,.v-col-xl-7,.v-col-xl-6,.v-col-xl-5,.v-col-xl-4,.v-col-xl-3,.v-col-xl-2,.v-col-xl-1,.v-col-lg,.v-col-lg-auto,.v-col-lg-12,.v-col-lg-11,.v-col-lg-10,.v-col-lg-9,.v-col-lg-8,.v-col-lg-7,.v-col-lg-6,.v-col-lg-5,.v-col-lg-4,.v-col-lg-3,.v-col-lg-2,.v-col-lg-1,.v-col-md,.v-col-md-auto,.v-col-md-12,.v-col-md-11,.v-col-md-10,.v-col-md-9,.v-col-md-8,.v-col-md-7,.v-col-md-6,.v-col-md-5,.v-col-md-4,.v-col-md-3,.v-col-md-2,.v-col-md-1,.v-col-sm,.v-col-sm-auto,.v-col-sm-12,.v-col-sm-11,.v-col-sm-10,.v-col-sm-9,.v-col-sm-8,.v-col-sm-7,.v-col-sm-6,.v-col-sm-5,.v-col-sm-4,.v-col-sm-3,.v-col-sm-2,.v-col-sm-1,.v-col,.v-col-auto,.v-col-12,.v-col-11,.v-col-10,.v-col-9,.v-col-8,.v-col-7,.v-col-6,.v-col-5,.v-col-4,.v-col-3,.v-col-2,.v-col-1{width:100%;padding:12px}.v-col{flex-basis:0;flex-grow:1;max-width:100%}.v-col-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-3{flex:0 0 25%;max-width:25%}.v-col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-6{flex:0 0 50%;max-width:50%}.v-col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-9{flex:0 0 75%;max-width:75%}.v-col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-inline-start:8.3333333333%}.offset-2{margin-inline-start:16.6666666667%}.offset-3{margin-inline-start:25%}.offset-4{margin-inline-start:33.3333333333%}.offset-5{margin-inline-start:41.6666666667%}.offset-6{margin-inline-start:50%}.offset-7{margin-inline-start:58.3333333333%}.offset-8{margin-inline-start:66.6666666667%}.offset-9{margin-inline-start:75%}.offset-10{margin-inline-start:83.3333333333%}.offset-11{margin-inline-start:91.6666666667%}@media (min-width: 600px){.v-col-sm{flex-basis:0;flex-grow:1;max-width:100%}.v-col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-sm-3{flex:0 0 25%;max-width:25%}.v-col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-sm-6{flex:0 0 50%;max-width:50%}.v-col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-sm-9{flex:0 0 75%;max-width:75%}.v-col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-inline-start:0}.offset-sm-1{margin-inline-start:8.3333333333%}.offset-sm-2{margin-inline-start:16.6666666667%}.offset-sm-3{margin-inline-start:25%}.offset-sm-4{margin-inline-start:33.3333333333%}.offset-sm-5{margin-inline-start:41.6666666667%}.offset-sm-6{margin-inline-start:50%}.offset-sm-7{margin-inline-start:58.3333333333%}.offset-sm-8{margin-inline-start:66.6666666667%}.offset-sm-9{margin-inline-start:75%}.offset-sm-10{margin-inline-start:83.3333333333%}.offset-sm-11{margin-inline-start:91.6666666667%}}@media (min-width: 960px){.v-col-md{flex-basis:0;flex-grow:1;max-width:100%}.v-col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-md-3{flex:0 0 25%;max-width:25%}.v-col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-md-6{flex:0 0 50%;max-width:50%}.v-col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-md-9{flex:0 0 75%;max-width:75%}.v-col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-inline-start:0}.offset-md-1{margin-inline-start:8.3333333333%}.offset-md-2{margin-inline-start:16.6666666667%}.offset-md-3{margin-inline-start:25%}.offset-md-4{margin-inline-start:33.3333333333%}.offset-md-5{margin-inline-start:41.6666666667%}.offset-md-6{margin-inline-start:50%}.offset-md-7{margin-inline-start:58.3333333333%}.offset-md-8{margin-inline-start:66.6666666667%}.offset-md-9{margin-inline-start:75%}.offset-md-10{margin-inline-start:83.3333333333%}.offset-md-11{margin-inline-start:91.6666666667%}}@media (min-width: 1280px){.v-col-lg{flex-basis:0;flex-grow:1;max-width:100%}.v-col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-lg-3{flex:0 0 25%;max-width:25%}.v-col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-lg-6{flex:0 0 50%;max-width:50%}.v-col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-lg-9{flex:0 0 75%;max-width:75%}.v-col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-inline-start:0}.offset-lg-1{margin-inline-start:8.3333333333%}.offset-lg-2{margin-inline-start:16.6666666667%}.offset-lg-3{margin-inline-start:25%}.offset-lg-4{margin-inline-start:33.3333333333%}.offset-lg-5{margin-inline-start:41.6666666667%}.offset-lg-6{margin-inline-start:50%}.offset-lg-7{margin-inline-start:58.3333333333%}.offset-lg-8{margin-inline-start:66.6666666667%}.offset-lg-9{margin-inline-start:75%}.offset-lg-10{margin-inline-start:83.3333333333%}.offset-lg-11{margin-inline-start:91.6666666667%}}@media (min-width: 1920px){.v-col-xl{flex-basis:0;flex-grow:1;max-width:100%}.v-col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-xl-3{flex:0 0 25%;max-width:25%}.v-col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-xl-6{flex:0 0 50%;max-width:50%}.v-col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-xl-9{flex:0 0 75%;max-width:75%}.v-col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-inline-start:0}.offset-xl-1{margin-inline-start:8.3333333333%}.offset-xl-2{margin-inline-start:16.6666666667%}.offset-xl-3{margin-inline-start:25%}.offset-xl-4{margin-inline-start:33.3333333333%}.offset-xl-5{margin-inline-start:41.6666666667%}.offset-xl-6{margin-inline-start:50%}.offset-xl-7{margin-inline-start:58.3333333333%}.offset-xl-8{margin-inline-start:66.6666666667%}.offset-xl-9{margin-inline-start:75%}.offset-xl-10{margin-inline-start:83.3333333333%}.offset-xl-11{margin-inline-start:91.6666666667%}}@media (min-width: 2560px){.v-col-xxl{flex-basis:0;flex-grow:1;max-width:100%}.v-col-xxl-auto{flex:0 0 auto;width:auto;max-width:100%}.v-col-xxl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.v-col-xxl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.v-col-xxl-3{flex:0 0 25%;max-width:25%}.v-col-xxl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.v-col-xxl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.v-col-xxl-6{flex:0 0 50%;max-width:50%}.v-col-xxl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.v-col-xxl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.v-col-xxl-9{flex:0 0 75%;max-width:75%}.v-col-xxl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.v-col-xxl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.v-col-xxl-12{flex:0 0 100%;max-width:100%}.offset-xxl-0{margin-inline-start:0}.offset-xxl-1{margin-inline-start:8.3333333333%}.offset-xxl-2{margin-inline-start:16.6666666667%}.offset-xxl-3{margin-inline-start:25%}.offset-xxl-4{margin-inline-start:33.3333333333%}.offset-xxl-5{margin-inline-start:41.6666666667%}.offset-xxl-6{margin-inline-start:50%}.offset-xxl-7{margin-inline-start:58.3333333333%}.offset-xxl-8{margin-inline-start:66.6666666667%}.offset-xxl-9{margin-inline-start:75%}.offset-xxl-10{margin-inline-start:83.3333333333%}.offset-xxl-11{margin-inline-start:91.6666666667%}}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.v-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:16px}.v-empty-state--start{align-items:flex-start}.v-empty-state--center{align-items:center}.v-empty-state--end{align-items:flex-end}.v-empty-state__media{text-align:center;width:100%}.v-empty-state__media .v-icon{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.v-empty-state__headline{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));font-size:35px;font-weight:500;line-height:40px;text-align:center;margin-bottom:8px}.v-empty-state--mobile .v-empty-state__headline{font-size:24px}.v-empty-state__title{font-size:18px;font-weight:500;line-height:26px;margin-bottom:4px;text-align:center}.v-empty-state__text{font-size:14px;font-weight:400;line-height:20px;padding:0 16px;text-align:center}.v-empty-state__content{padding:24px 0}.v-empty-state__actions{display:flex;gap:8px;padding:16px}.v-empty-state__action-btn.v-btn{background-color:initial;color:initial}.v-expansion-panel{background-color:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-expansion-panel:not(:first-child):after{border-color:rgba(var(--v-border-color),var(--v-border-opacity))}.v-expansion-panel--disabled .v-expansion-panel-title{color:rgba(var(--v-theme-on-surface),.26)}.v-expansion-panel--disabled .v-expansion-panel-title .v-expansion-panel-title__overlay{opacity:.4615384615}.v-expansion-panels{display:flex;flex-wrap:wrap;justify-content:center;list-style-type:none;padding:0;width:100%;position:relative;z-index:1}.v-expansion-panels:not(.v-expansion-panels--variant-accordion)>:not(:first-child):not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.v-expansion-panels:not(.v-expansion-panels--variant-accordion)>:not(:first-child):not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active){border-top-left-radius:0!important;border-top-right-radius:0!important}.v-expansion-panels:not(.v-expansion-panels--variant-accordion)>:first-child:not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.v-expansion-panels:not(.v-expansion-panels--variant-accordion)>:last-child:not(:first-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active){border-top-left-radius:0!important;border-top-right-radius:0!important}.v-expansion-panels--variant-accordion>:first-child:not(:last-child){border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.v-expansion-panels--variant-accordion>:last-child:not(:first-child){border-top-left-radius:0!important;border-top-right-radius:0!important}.v-expansion-panels--variant-accordion>:last-child:not(:first-child) .v-expansion-panel-title--active{border-bottom-left-radius:initial;border-bottom-right-radius:initial}.v-expansion-panels--variant-accordion>:not(:first-child):not(:last-child){border-radius:0!important}.v-expansion-panels--variant-accordion .v-expansion-panel-title__overlay{transition:.3s border-radius cubic-bezier(.4,0,.2,1)}.v-expansion-panel{flex:1 0 100%;max-width:100%;position:relative;transition:.3s all cubic-bezier(.4,0,.2,1);transition-property:margin-top,border-radius,border,max-width;border-radius:4px}@media (prefers-reduced-motion: reduce){.v-expansion-panel{transition-property:border-radius,border}}.v-expansion-panel:not(:first-child):after{border-top-style:solid;border-top-width:thin;content:"";left:0;position:absolute;right:0;top:0;transition:.3s opacity cubic-bezier(.4,0,.2,1)}.v-expansion-panel--disabled .v-expansion-panel-title{pointer-events:none}.v-expansion-panel--active:not(:first-child),.v-expansion-panel--active+.v-expansion-panel{margin-top:16px}.v-expansion-panel--active:not(:first-child):after,.v-expansion-panel--active+.v-expansion-panel:after{opacity:0}.v-expansion-panel--active>.v-expansion-panel-title{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-expansion-panel--active>.v-expansion-panel-title:not(.v-expansion-panel-title--static){min-height:64px}.v-expansion-panel__shadow{border-radius:inherit;z-index:-1}.v-expansion-panel__shadow{position:absolute;top:0;left:0;width:100%;height:100%}.v-expansion-panel__shadow{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-expansion-panel-title{align-items:center;text-align:start;border-radius:inherit;display:flex;font-size:.9375rem;line-height:1;min-height:48px;outline:none;padding:16px 24px;position:relative;width:100%;justify-content:space-between}@media (prefers-reduced-motion: no-preference){.v-expansion-panel-title{transition:.3s min-height cubic-bezier(.4,0,.2,1)}}.v-expansion-panel-title:hover>.v-expansion-panel-title__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-expansion-panel-title:focus-visible>.v-expansion-panel-title__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-expansion-panel-title:focus>.v-expansion-panel-title__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-expansion-panel-title--focusable.v-expansion-panel-title--active .v-expansion-panel-title__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-expansion-panel-title--focusable.v-expansion-panel-title--active:hover .v-expansion-panel-title__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus-visible .v-expansion-panel-title__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus .v-expansion-panel-title__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-expansion-panel-title__overlay{background-color:currentColor;border-radius:inherit;opacity:0}.v-expansion-panel-title__overlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-expansion-panel-title__icon{display:inline-flex;margin-bottom:-4px;margin-top:-4px;-webkit-user-select:none;user-select:none;margin-inline-start:auto}.v-expansion-panel-text{display:flex}.v-expansion-panel-text__wrapper{padding:8px 24px 16px;flex:1 1 auto;max-width:100%}.v-expansion-panels--variant-accordion>.v-expansion-panel{margin-top:0}.v-expansion-panels--variant-accordion>.v-expansion-panel:after{opacity:1}.v-expansion-panels--variant-popout>.v-expansion-panel{max-width:calc(100% - 32px)}.v-expansion-panels--variant-popout>.v-expansion-panel--active{max-width:calc(100% + 16px)}.v-expansion-panels--variant-inset>.v-expansion-panel{max-width:100%}.v-expansion-panels--variant-inset>.v-expansion-panel--active{max-width:calc(100% - 32px)}.v-expansion-panels--flat>.v-expansion-panel:after{border-top:none}.v-expansion-panels--flat>.v-expansion-panel .v-expansion-panel__shadow{display:none}.v-expansion-panels--tile{border-radius:0}.v-expansion-panels--tile>.v-expansion-panel{border-radius:0}.v-fab{align-items:center;display:inline-flex;flex:1 1 auto;pointer-events:none;position:relative;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);vertical-align:middle}.v-fab .v-btn{pointer-events:auto}.v-fab .v-btn--variant-elevated{box-shadow:0 3px 8px rgba(var(--v-shadow-key-umbra-color),.14),0 0 transparent,0 0 transparent}.v-fab--app,.v-fab--absolute{display:flex}.v-fab--absolute{position:absolute;inset:0}.v-fab--start,.v-fab--left{justify-content:flex-start}.v-fab--center{align-items:center;justify-content:center}.v-fab--end,.v-fab--right{justify-content:flex-end}.v-fab--bottom{align-items:flex-end}.v-fab--top{align-items:flex-start}.v-fab--extended .v-btn{border-radius:9999px!important}.v-fab__container{align-self:center;display:inline-flex;vertical-align:middle}.v-fab--app .v-fab__container{margin:12px;position:fixed}.v-fab--absolute .v-fab__container{position:absolute;z-index:4}.v-fab--offset.v-fab--top .v-fab__container{transform:translateY(-50%)}.v-fab--offset.v-fab--bottom .v-fab__container{transform:translateY(50%)}.v-fab--top .v-fab__container{top:0}.v-fab--bottom .v-fab__container{bottom:0}.v-fab--left .v-fab__container,.v-fab--start .v-fab__container{left:0}.v-fab--right .v-fab__container,.v-fab--end .v-fab__container{right:0}.v-file-input--hide.v-input .v-field,.v-file-input--hide.v-input .v-input__control,.v-file-input--hide.v-input .v-input__details{display:none}.v-file-input--hide.v-input .v-input__prepend{grid-area:control;margin:0 auto}.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-file-input .v-field__input{word-break:break-word}.v-file-input input[type=file]{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:0}.v-file-input--dragging input[type=file]{z-index:1}.v-file-input .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-file-input .v-input__details{padding-inline:0}.v-footer{align-items:center;display:flex;flex:1 1 auto;padding:8px 16px;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom}.v-footer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-footer--border{border-width:thin;box-shadow:none}.v-footer{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-footer--absolute{position:absolute}.v-footer--fixed{position:fixed}.v-footer{border-radius:0}.v-footer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-footer--rounded{border-radius:4px}.v-infinite-scroll--horizontal{display:flex;flex-direction:row;overflow-x:auto}.v-infinite-scroll--horizontal .v-infinite-scroll-intersect{height:100%;width:var(--v-infinite-margin-size, 1px)}.v-infinite-scroll--vertical{display:flex;flex-direction:column;overflow-y:auto}.v-infinite-scroll--vertical .v-infinite-scroll-intersect{height:1px;width:100%}.v-infinite-scroll-intersect{pointer-events:none;margin-top:var(--v-infinite-margin);margin-bottom:calc(var(--v-infinite-margin) * -1)}.v-infinite-scroll-intersect:nth-child(2){--v-infinite-margin: var(--v-infinite-margin-size, 1px)}.v-infinite-scroll-intersect:nth-last-child(2){--v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1)}.v-infinite-scroll__side{align-items:center;display:flex;justify-content:center;padding:8px}.v-item-group{flex:0 1 auto;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1)}.v-kbd{font-family:Roboto,sans-serif;align-items:center;align-self:stretch;background:rgb(var(--v-theme-kbd));color:rgb(var(--v-theme-on-kbd));display:inline-flex;font-size:.875em;font-weight:400;line-height:1;justify-content:center;min-height:1em;min-width:20px;padding:3px 6px;vertical-align:baseline;margin-inline:1px}.v-kbd{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:thin}.v-kbd--border{border-width:thin;box-shadow:none}.v-kbd{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),.12),0 0 transparent,0 0 transparent}.v-kbd{border-radius:4px}.v-layout{--v-scrollbar-offset: 0px;display:flex;flex:1 1 auto}.v-layout--full-height{--v-scrollbar-offset: inherit;height:100%}.v-layout-item{position:absolute;transition:.2s cubic-bezier(.4,0,.2,1)}.v-layout-item--absolute{position:absolute}.v-locale-provider{display:contents}.v-main{flex:1 0 auto;max-width:100%;transition:.2s cubic-bezier(.4,0,.2,1);padding-left:var(--v-layout-left);padding-right:var(--v-layout-right);padding-top:var(--v-layout-top);padding-bottom:var(--v-layout-bottom)}@media (prefers-reduced-motion: reduce){.v-main{transition:none}}.v-main__scroller{max-width:100%;position:relative}.v-main--scrollable{display:flex}.v-main--scrollable{position:absolute;top:0;left:0;width:100%;height:100%}.v-main--scrollable>.v-main__scroller{flex:1 1 auto;overflow-y:auto;--v-layout-left: 0px;--v-layout-right: 0px;--v-layout-top: 0px;--v-layout-bottom: 0px}.v-navigation-drawer{-webkit-overflow-scrolling:touch;background:rgb(var(--v-theme-surface));display:flex;flex-direction:column;height:100%;max-width:100%;pointer-events:auto;transition-duration:.2s;transition-property:box-shadow,transform,visibility,width,height,left,right,top,bottom;transition-timing-function:cubic-bezier(.4,0,.2,1);position:absolute}.v-navigation-drawer{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-navigation-drawer--border{border-width:thin;box-shadow:none}.v-navigation-drawer{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-navigation-drawer{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}@media (prefers-reduced-motion: reduce){.v-navigation-drawer{transition:none}}.v-navigation-drawer--rounded{border-radius:4px}.v-navigation-drawer--top{top:0;border-bottom-width:thin}.v-navigation-drawer--bottom{left:0;border-top-width:thin}.v-navigation-drawer--left{top:0;left:0;right:auto;border-right-width:thin}.v-navigation-drawer--right{top:0;left:auto;right:0;border-left-width:thin}.v-navigation-drawer--floating{border:none}.v-navigation-drawer--temporary.v-navigation-drawer--active{box-shadow:0 7px 21px rgba(var(--v-shadow-key-umbra-color),.26),0 0 transparent,0 0 transparent}.v-navigation-drawer--sticky{height:auto;transition:box-shadow,transform,visibility,width,height,left,right}.v-navigation-drawer .v-list{overflow:hidden}.v-navigation-drawer__content{flex:0 1 auto;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}.v-navigation-drawer__img{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.v-navigation-drawer__img img:not(.v-img__img){height:inherit;object-fit:cover;width:inherit}.v-navigation-drawer__scrim{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;transition:opacity .2s cubic-bezier(.4,0,.2,1);z-index:1}.v-navigation-drawer__prepend,.v-navigation-drawer__append{flex:none;overflow:hidden}.v-number-input input[type=number]{-moz-appearance:textfield}.v-number-input input[type=number]::-webkit-outer-spin-button,.v-number-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}.v-number-input .v-field:has(.v-field__prepend-inner>.v-number-input__control:first-child){padding-inline-start:0}.v-number-input .v-field:has(.v-field__append-inner>.v-number-input__control:last-child){padding-inline-end:0}.v-number-input .v-field__prepend-inner:has(.v-number-input__control)>.v-icon{margin-inline-end:4px}.v-number-input .v-field__prepend-inner:has(.v-number-input__control)>hr+.v-icon,.v-number-input .v-field__prepend-inner:has(.v-number-input__control)>.v-number-input__control+.v-icon{margin-inline:8px 0}.v-number-input .v-field__append-inner:has(.v-number-input__control)>.v-icon{margin-inline-start:4px}.v-number-input .v-field__append-inner:has(.v-number-input__control)>.v-icon:has(+hr),.v-number-input .v-field__append-inner:has(.v-number-input__control)>.v-icon:has(+.v-number-input__control){margin-inline:0 8px}.v-number-input .v-field__clearable:has(+.v-field__append-inner>hr:first-child){margin-inline-end:8px}.v-number-input--inset .v-divider{height:55%;width:55%;align-self:center}.v-number-input--split .v-field__input{text-align:center}.v-number-input--stacked .v-number-input__control{flex-direction:column-reverse}.v-number-input--stacked .v-number-input__control .v-btn{flex:1}.v-number-input--hide-input .v-field{flex:none}.v-number-input--hide-input .v-field__input{width:0;padding-inline:0}.v-number-input__control{display:flex;height:100%}.v-number-input__control .v-btn{background-color:transparent;border-radius:0}.v-otp-input{align-items:center;display:flex;justify-content:center;padding:.5rem 0;position:relative}.v-otp-input{border-radius:4px}.v-otp-input .v-field{height:100%}.v-otp-input__divider{margin:0 8px}.v-otp-input__content{align-items:center;display:flex;gap:.5rem;height:64px;padding:.5rem;justify-content:center;max-width:320px;position:relative;border-radius:inherit}.v-otp-input--divided .v-otp-input__content{max-width:360px}.v-otp-input__field{color:inherit;font-size:1.25rem;height:100%;outline:none;text-align:center;width:100%}.v-otp-input__field[type=number]::-webkit-outer-spin-button,.v-otp-input__field[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-otp-input__field[type=number]{-moz-appearance:textfield}.v-otp-input__loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.v-otp-input__loader .v-progress-linear{position:absolute}.v-parallax{position:relative;overflow:hidden}.v-parallax--active>.v-img__img{will-change:transform}.v-radio-group>.v-input__control{flex-direction:column}.v-radio-group>.v-input__control>.v-label{margin-inline-start:16px}.v-radio-group>.v-input__control>.v-label+.v-selection-control-group{padding-inline-start:6px;margin-top:8px}.v-radio-group .v-input__details{padding-inline:16px}.v-rating{max-width:100%;display:inline-flex;white-space:nowrap}.v-rating--readonly{pointer-events:none}.v-rating__wrapper{align-items:center;display:inline-flex;flex-direction:column}.v-rating__wrapper--bottom{flex-direction:column-reverse}.v-rating__item{display:inline-flex;position:relative}.v-rating__item label{cursor:pointer}.v-rating__item .v-btn--variant-plain{opacity:1}.v-rating__item .v-btn{transition-property:transform}.v-rating__item .v-btn .v-icon{transition:inherit;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-rating--hover .v-rating__item:hover:not(.v-rating__item--focused) .v-btn{transform:scale(1.25)}.v-rating__item--half{overflow:hidden;position:absolute;clip-path:polygon(0 0,50% 0,50% 100%,0 100%);z-index:1}.v-rating__item--half .v-btn__overlay,.v-rating__item--half:hover .v-btn__overlay{opacity:0}.v-rating__hidden{height:0;opacity:0;position:absolute;width:0}.v-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}}.v-snackbar{justify-content:center;z-index:10000;margin:8px;margin-inline-end:calc(8px + var(--v-scrollbar-offset));padding:var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left)}.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top){align-items:flex-end}.v-snackbar__wrapper{align-items:center;display:flex;max-width:672px;min-height:48px;min-width:344px;overflow:hidden;padding:0}.v-snackbar__wrapper{border-radius:4px}.v-snackbar--variant-plain,.v-snackbar--variant-outlined,.v-snackbar--variant-text,.v-snackbar--variant-tonal{background:transparent;color:inherit}.v-snackbar--variant-plain{opacity:.62}.v-snackbar--variant-plain:focus,.v-snackbar--variant-plain:hover{opacity:1}.v-snackbar--variant-plain .v-snackbar__overlay{display:none}.v-snackbar--variant-elevated,.v-snackbar--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-snackbar--variant-elevated{box-shadow:0 4px 10px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-md-opacity)),0 0 transparent,0 0 transparent}.v-snackbar--variant-flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-snackbar--variant-outlined{border:thin solid currentColor}.v-snackbar--variant-text .v-snackbar__overlay{background:currentColor}.v-snackbar--variant-tonal .v-snackbar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-snackbar .v-snackbar__underlay{position:absolute}@media (forced-colors: active){.v-snackbar__wrapper{border:thick solid}}.v-snackbar__content{flex-grow:1;font-size:14px;font-weight:400;letter-spacing:.0178571429em;line-height:20px;margin-right:auto;padding:14px 16px;text-align:initial}.v-snackbar__actions{align-items:center;align-self:center;display:flex;margin-inline-end:8px}.v-snackbar__actions>.v-btn{padding:0 8px;min-width:auto}.v-snackbar__timer{width:100%;position:absolute;top:0}.v-snackbar__timer .v-progress-linear{transition:.2s linear}.v-snackbar--absolute{position:absolute;z-index:1}.v-snackbar--multi-line .v-snackbar__wrapper{min-height:68px}.v-snackbar--vertical .v-snackbar__wrapper{flex-direction:column}.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions{align-self:flex-end;margin-bottom:8px}.v-snackbar--center{align-items:center;justify-content:center}.v-snackbar--top{align-items:flex-start}.v-snackbar--bottom{align-items:flex-end}.v-snackbar--left,.v-snackbar--start{justify-content:flex-start}.v-snackbar--right,.v-snackbar--end{justify-content:flex-end}.v-snackbar-transition-enter-active,.v-snackbar-transition-leave-active{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-snackbar-transition-enter-active{transition-property:opacity,transform}@media (prefers-reduced-motion: reduce){.v-snackbar-transition-enter-active{transition-property:opacity}}.v-snackbar-transition-enter-from{opacity:0;transform:scale(.8)}.v-snackbar-transition-leave-active{transition-property:opacity}.v-snackbar-transition-leave-to{opacity:0}.v-speed-dial__content{gap:8px}.v-speed-dial__content.v-overlay__content.v-speed-dial__content--end,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--end-center,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--right,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--right-center{flex-direction:row}.v-speed-dial__content.v-overlay__content.v-speed-dial__content--left,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--left-center,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--start,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--start-center{flex-direction:row-reverse}.v-speed-dial__content.v-overlay__content.v-speed-dial__content--top,.v-speed-dial__content.v-overlay__content.v-speed-dial__content--top-center{flex-direction:column-reverse}.v-speed-dial__content>*:nth-child(1){transition-delay:1ms}.v-speed-dial__content>*:nth-child(2){transition-delay:.05s}.v-speed-dial__content>*:nth-child(3){transition-delay:.1s}.v-speed-dial__content>*:nth-child(4){transition-delay:.15s}.v-speed-dial__content>*:nth-child(5){transition-delay:.2s}.v-speed-dial__content>*:nth-child(6){transition-delay:.25s}.v-speed-dial__content>*:nth-child(7){transition-delay:.3s}.v-speed-dial__content>*:nth-child(8){transition-delay:.35s}.v-speed-dial__content>*:nth-child(9){transition-delay:.4s}.v-speed-dial__content>*:nth-child(10){transition-delay:.45s}.v-stepper.v-sheet{overflow:hidden}.v-stepper.v-sheet{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-stepper.v-sheet{border-radius:4px}.v-stepper.v-sheet.v-stepper--flat{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-stepper-header{align-items:center;display:flex;position:relative;overflow-x:auto;justify-content:space-between;z-index:1}.v-stepper-header{box-shadow:0 2px 4px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-xs-opacity)),0 0 transparent,0 0 transparent}.v-stepper-header .v-divider{margin:0 -16px}.v-stepper-header .v-divider:last-child{margin-inline-end:0}.v-stepper-header .v-divider:first-child{margin-inline-start:0}.v-stepper--alt-labels .v-stepper-header{height:auto}.v-stepper--alt-labels .v-stepper-header .v-divider{align-self:flex-start;margin:35px -67px 0}.v-stepper-window{margin:1.5rem}.v-stepper-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem}.v-stepper .v-stepper-actions{padding:0 1.5rem 1rem}.v-stepper-window-item .v-stepper-actions{padding:1.5rem 0 0}.v-stepper-item{align-items:center;align-self:stretch;display:inline-flex;flex:none;outline:none;opacity:var(--v-medium-emphasis-opacity);padding:1.5rem;position:relative;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.v-stepper-item:hover>.v-stepper-item__overlay{opacity:calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier))}.v-stepper-item:focus-visible>.v-stepper-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-stepper-item:focus>.v-stepper-item__overlay{opacity:calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier))}}.v-stepper-item--active>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]>.v-stepper-item__overlay{opacity:calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier))}.v-stepper-item--active:hover>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:hover>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}.v-stepper-item--active:focus-visible>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus-visible>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}@supports not selector(:focus-visible){.v-stepper-item--active:focus>.v-stepper-item__overlay,.v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus>.v-stepper-item__overlay{opacity:calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}}.v-stepper--non-linear .v-stepper-item{opacity:var(--v-high-emphasis-opacity)}.v-stepper-item--selected{opacity:1}.v-stepper-item--error{color:rgb(var(--v-theme-error))}.v-stepper-item--disabled{opacity:var(--v-medium-emphasis-opacity)}.v-stepper-item[disabled],.v-stepper-item--disabled{pointer-events:none}.v-stepper--alt-labels .v-stepper-item{flex-direction:column;justify-content:flex-start;align-items:center;flex-basis:175px}.v-stepper-item__avatar.v-avatar{background:rgba(var(--v-theme-surface-variant),var(--v-medium-emphasis-opacity));color:rgb(var(--v-theme-on-surface-variant));font-size:.75rem;margin-inline-end:8px}.v-stepper--mobile .v-stepper-item__avatar.v-avatar{margin-inline-end:0}.v-stepper-item__avatar.v-avatar .v-icon{font-size:.875rem}.v-stepper-item--selected .v-stepper-item__avatar.v-avatar,.v-stepper-item--complete .v-stepper-item__avatar.v-avatar{background:rgb(var(--v-theme-surface-variant))}.v-stepper-item--error .v-stepper-item__avatar.v-avatar{background:rgb(var(--v-theme-error))}.v-stepper--alt-labels .v-stepper-item__avatar.v-avatar{margin-bottom:16px;margin-inline-end:0}.v-stepper-item__content{text-align:start}.v-stepper--alt-labels .v-stepper-item__content{text-align:center}.v-stepper-item__title{line-height:1}.v-stepper--mobile .v-stepper-item__title{display:none}.v-stepper-item__subtitle{font-size:.75rem;line-height:1;opacity:var(--v-medium-emphasis-opacity)}.v-stepper--mobile .v-stepper-item__subtitle{display:none}.v-stepper-item__overlay{background-color:currentColor;border-radius:inherit;opacity:0;transition:opacity .2s ease-in-out}.v-stepper-item__overlay,.v-stepper-item__underlay{pointer-events:none}.v-stepper-item__overlay,.v-stepper-item__underlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-switch .v-label{padding-inline-start:10px}.v-switch__loader{display:flex}.v-switch__loader .v-progress-circular{color:rgb(var(--v-theme-surface))}.v-switch__track,.v-switch__thumb{transition:none}.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__track,.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__thumb{background-color:rgb(var(--v-theme-error));color:rgb(var(--v-theme-on-error))}.v-switch__track-true{margin-inline-end:auto}.v-selection-control:not(.v-selection-control--dirty) .v-switch__track-true{opacity:0}.v-switch__track-false{margin-inline-start:auto}.v-selection-control--dirty .v-switch__track-false{opacity:0}.v-switch__track{display:inline-flex;align-items:center;font-size:.5rem;padding:0 5px;background-color:rgb(var(--v-theme-surface-variant));border-radius:9999px;height:14px;opacity:.6;min-width:36px;cursor:pointer;transition:.2s background-color cubic-bezier(.4,0,.2,1)}.v-switch--inset .v-switch__track{border-radius:9999px;font-size:.75rem;height:32px;min-width:52px}.v-switch__thumb{align-items:center;background-color:rgb(var(--v-theme-surface-bright));color:rgb(var(--v-theme-on-surface-bright));border-radius:50%;display:flex;font-size:.75rem;height:20px;justify-content:center;width:20px;pointer-events:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1),.2s color cubic-bezier(.4,0,.2,1),.2s background-color cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.v-switch:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 3px 6px rgba(var(--v-shadow-key-umbra-color),var(--v-shadow-sm-opacity)),0 0 transparent,0 0 transparent}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-switch--inset .v-switch__thumb{height:24px;width:24px;transform:scale(.6666666667)}.v-switch--inset .v-switch__thumb--filled{transform:none}.v-switch--inset .v-selection-control--dirty .v-switch__thumb{transform:none;transition:.15s .05s transform cubic-bezier(0,0,.2,1)}.v-switch.v-input{flex:0 1 auto}.v-switch .v-selection-control{min-height:var(--v-input-control-height)}.v-switch .v-selection-control__input{border-radius:50%;transition:.2s transform cubic-bezier(.4,0,.2,1);position:absolute}.v-locale--is-ltr.v-switch .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control__input{transform:translate(-10px)}.v-locale--is-rtl.v-switch .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control__input{transform:translate(10px)}.v-switch .v-selection-control__input .v-icon{position:absolute}.v-locale--is-ltr.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-ltr .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(10px)}.v-locale--is-rtl.v-switch .v-selection-control--dirty .v-selection-control__input,.v-locale--is-rtl .v-switch .v-selection-control--dirty .v-selection-control__input{transform:translate(-10px)}.v-switch.v-switch--indeterminate .v-selection-control__input{transform:scale(.8)}.v-switch.v-switch--indeterminate .v-switch__thumb{transform:scale(.75);box-shadow:none}.v-switch.v-switch--inset .v-selection-control__wrapper{width:auto}.v-switch.v-input--vertical .v-label{min-width:max-content}.v-switch.v-input--vertical .v-selection-control__wrapper{transform:rotate(-90deg)}@media (forced-colors: active){.v-switch .v-switch__loader .v-progress-circular{color:currentColor}.v-switch .v-switch__thumb{background-color:buttontext}.v-switch .v-switch__track,.v-switch .v-switch__thumb{border:1px solid;color:buttontext}.v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track{background-color:highlight}.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track,.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{color:highlight}.v-switch.v-switch--inset .v-switch__track{border-width:2px}.v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb{background-color:highlighttext;color:highlighttext}.v-switch.v-input--disabled .v-switch__thumb{background-color:graytext}.v-switch.v-input--disabled .v-switch__track,.v-switch.v-input--disabled .v-switch__thumb{color:graytext}.v-switch.v-switch--loading .v-switch__thumb{background-color:canvas}.v-switch.v-switch--loading.v-switch--inset .v-switch__thumb,.v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb{border-width:0}}.v-system-bar{align-items:center;display:flex;flex:1 1 auto;height:24px;justify-content:flex-end;max-width:100%;padding-inline:8px;position:relative;text-align:end;width:100%}.v-system-bar .v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-system-bar{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-system-bar--absolute{position:absolute}.v-system-bar--fixed{position:fixed}.v-system-bar{background:rgba(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-system-bar{font-size:12px;font-weight:400;letter-spacing:.04px;line-height:16px;text-transform:none}.v-system-bar--rounded{border-radius:0}.v-system-bar--window{height:32px}.v-system-bar:not(.v-system-bar--absolute){padding-inline-end:calc(var(--v-scrollbar-offset) + 8px)}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}}.v-textarea .v-field{--v-textarea-control-height: var(--v-input-control-height)}.v-textarea .v-field__field{--v-input-control-height: var(--v-textarea-control-height)}.v-textarea .v-field__input{flex:1 1 auto;outline:none;-webkit-mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px));mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px))}.v-textarea .v-field__input.v-textarea__sizer{visibility:hidden;position:absolute;top:0;left:0;height:0!important;min-height:0!important;pointer-events:none}.v-textarea--no-resize .v-field__input{resize:none}.v-textarea .v-field--no-label textarea,.v-textarea .v-field--active textarea{opacity:1}.v-textarea textarea{opacity:0;flex:1;min-width:0;height:100%;transition:.15s opacity cubic-bezier(.4,0,.2,1)}.v-textarea textarea:focus,.v-textarea textarea:active{outline:none}.v-textarea textarea:invalid{box-shadow:none}.v-theme-provider{background:rgb(var(--v-theme-background));color:rgb(var(--v-theme-on-background))}.v-timeline .v-timeline-divider__dot{background:rgb(var(--v-theme-surface-light))}@media (forced-colors: active){.v-timeline .v-timeline-divider__dot{border:2px solid}}.v-timeline .v-timeline-divider__inner-dot{background:rgb(var(--v-theme-on-surface))}@media (forced-colors: active){.v-timeline .v-timeline-divider__inner-dot{background-color:transparent!important}}.v-timeline{display:grid;grid-auto-flow:dense;position:relative}.v-timeline--horizontal.v-timeline{grid-column-gap:24px;width:100%}.v-timeline--horizontal.v-timeline .v-timeline--side-end>.v-timeline-item .v-timeline-item__body,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-start)>.v-timeline-item--side-end .v-timeline-item__body,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-start)>.v-timeline-item:nth-child(odd):not(.v-timeline-item--side-start) .v-timeline-item__body{grid-row:3;align-self:flex-start;padding-block-start:24px}.v-timeline--horizontal.v-timeline .v-timeline--side-end>.v-timeline-item .v-timeline-item__opposite,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-start)>.v-timeline-item--side-end .v-timeline-item__opposite,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-start)>.v-timeline-item:nth-child(odd):not(.v-timeline-item--side-start) .v-timeline-item__opposite{grid-row:1;align-self:flex-end;padding-block-end:24px}.v-timeline--horizontal.v-timeline .v-timeline--side-start>.v-timeline-item .v-timeline-item__body,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-end)>.v-timeline-item--side-start .v-timeline-item__body,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-end)>.v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__body{grid-row:1;align-self:flex-end;padding-block-end:24px}.v-timeline--horizontal.v-timeline .v-timeline--side-start>.v-timeline-item .v-timeline-item__opposite,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-end)>.v-timeline-item--side-start .v-timeline-item__opposite,.v-timeline--horizontal.v-timeline:not(.v-timeline--side-end)>.v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__opposite{grid-row:3;align-self:flex-start;padding-block-start:24px}.v-timeline--vertical.v-timeline{row-gap:24px;height:100%}.v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-divider,.v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-item__body,.v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-item__opposite{padding-block-start:24px}.v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-divider,.v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-item__body,.v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-item__opposite{padding-block-end:24px}.v-timeline--vertical.v-timeline .v-timeline--side-start>.v-timeline-item .v-timeline-item__body,.v-timeline--vertical.v-timeline:not(.v-timeline--side-end)>.v-timeline-item--side-start .v-timeline-item__body,.v-timeline--vertical.v-timeline:not(.v-timeline--side-end)>.v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__body{grid-column:1;justify-self:flex-end;padding-inline-end:24px}.v-timeline--vertical.v-timeline .v-timeline--side-start>.v-timeline-item .v-timeline-item__opposite,.v-timeline--vertical.v-timeline:not(.v-timeline--side-end)>.v-timeline-item--side-start .v-timeline-item__opposite,.v-timeline--vertical.v-timeline:not(.v-timeline--side-end)>.v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__opposite{grid-column:3;justify-self:flex-start;padding-inline-start:24px}.v-timeline--vertical.v-timeline .v-timeline--side-end>.v-timeline-item .v-timeline-item__body,.v-timeline--vertical.v-timeline:not(.v-timeline--side-start)>.v-timeline-item--side-end .v-timeline-item__body,.v-timeline--vertical.v-timeline:not(.v-timeline--side-start)>.v-timeline-item:nth-child(odd):not(.v-timeline-item--side-start) .v-timeline-item__body{grid-column:3;justify-self:flex-start;padding-inline-start:24px}.v-timeline--vertical.v-timeline .v-timeline--side-end>.v-timeline-item .v-timeline-item__opposite,.v-timeline--vertical.v-timeline:not(.v-timeline--side-start)>.v-timeline-item--side-end .v-timeline-item__opposite,.v-timeline--vertical.v-timeline:not(.v-timeline--side-start)>.v-timeline-item:nth-child(odd):not(.v-timeline-item--side-start) .v-timeline-item__opposite{grid-column:1;justify-self:flex-end;padding-inline-end:24px}.v-timeline-item{display:contents}.v-timeline-divider{position:relative;display:flex;align-items:center}.v-timeline--horizontal .v-timeline-divider{flex-direction:row;grid-row:2;width:100%}.v-timeline--vertical .v-timeline-divider{height:100%;flex-direction:column;grid-column:2}.v-timeline-divider__before{background:rgba(var(--v-border-color),var(--v-border-opacity));position:absolute}.v-timeline--horizontal .v-timeline-divider__before{height:var(--v-timeline-line-thickness);width:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));inset-inline-start:-12px;inset-inline-end:initial}.v-timeline--vertical .v-timeline-divider__before{height:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));width:var(--v-timeline-line-thickness);top:-12px}@media (forced-colors: active){.v-timeline-divider__before{background:canvastext}}.v-timeline-divider__after{background:rgba(var(--v-border-color),var(--v-border-opacity));position:absolute}.v-timeline--horizontal .v-timeline-divider__after{height:var(--v-timeline-line-thickness);width:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));inset-inline-end:-12px;inset-inline-start:initial}.v-timeline--vertical .v-timeline-divider__after{height:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));width:var(--v-timeline-line-thickness);bottom:-12px}@media (forced-colors: active){.v-timeline-divider__after{background:canvastext}}.v-timeline--vertical .v-timeline-item:first-child .v-timeline-divider__before{height:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));top:0}.v-timeline--horizontal .v-timeline-item:first-child .v-timeline-divider__before{width:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));inset-inline-start:0;inset-inline-end:initial}.v-timeline--vertical .v-timeline-item:first-child .v-timeline-divider__after{height:calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset))}.v-timeline--horizontal .v-timeline-item:first-child .v-timeline-divider__after{width:calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset));inset-inline-end:-12px;inset-inline-start:initial}.v-timeline--vertical .v-timeline-item:last-child .v-timeline-divider__before{height:calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset))}.v-timeline--horizontal .v-timeline-item:last-child .v-timeline-divider__before{width:calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset))}.v-timeline--vertical .v-timeline-item:last-child .v-timeline-divider__after{height:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));bottom:0}.v-timeline--horizontal .v-timeline-item:last-child .v-timeline-divider__after{width:calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset));inset-inline-end:0;inset-inline-start:initial}.v-timeline--vertical .v-timeline-item:only-child .v-timeline-divider__after{height:calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset))}.v-timeline-divider__dot{z-index:1;flex-shrink:0;border-radius:50%;display:flex;justify-content:center;align-items:center}.v-timeline-divider__dot{box-shadow:0 0 rgba(var(--v-shadow-key-umbra-color),1),0 0 transparent,0 0 transparent}.v-timeline-divider__dot--size-x-small{height:22px;width:22px}.v-timeline-divider__dot--size-x-small .v-timeline-divider__inner-dot{height:calc(100% - 6px);width:calc(100% - 6px)}.v-timeline-divider__dot--size-small{height:30px;width:30px}.v-timeline-divider__dot--size-small .v-timeline-divider__inner-dot{height:calc(100% - 8px);width:calc(100% - 8px)}.v-timeline-divider__dot--size-default{height:38px;width:38px}.v-timeline-divider__dot--size-default .v-timeline-divider__inner-dot{height:calc(100% - 8px);width:calc(100% - 8px)}.v-timeline-divider__dot--size-large{height:46px;width:46px}.v-timeline-divider__dot--size-large .v-timeline-divider__inner-dot{height:calc(100% - 8px);width:calc(100% - 8px)}.v-timeline-divider__dot--size-x-large{height:54px;width:54px}.v-timeline-divider__dot--size-x-large .v-timeline-divider__inner-dot{height:calc(100% - 10px);width:calc(100% - 10px)}.v-timeline-divider__inner-dot{align-items:center;border-radius:50%;display:flex;justify-content:center}.v-timeline--horizontal.v-timeline--justify-center{grid-template-rows:minmax(auto,50%) min-content minmax(auto,50%)}.v-timeline--vertical.v-timeline--justify-center{grid-template-columns:minmax(auto,50%) min-content minmax(auto,50%)}.v-timeline--horizontal.v-timeline--justify-auto{grid-template-rows:auto min-content auto}.v-timeline--vertical.v-timeline--justify-auto{grid-template-columns:auto min-content auto}.v-timeline--horizontal.v-timeline--density-comfortable{height:100%}.v-timeline--horizontal.v-timeline--density-comfortable.v-timeline--side-end{grid-template-rows:min-content min-content auto}.v-timeline--horizontal.v-timeline--density-comfortable.v-timeline--side-start{grid-template-rows:auto min-content min-content}.v-timeline--vertical.v-timeline--density-comfortable{width:100%}.v-timeline--vertical.v-timeline--density-comfortable.v-timeline--side-end{grid-template-columns:min-content min-content auto}.v-timeline--vertical.v-timeline--density-comfortable.v-timeline--side-start{grid-template-columns:auto min-content min-content}.v-timeline--horizontal.v-timeline--density-compact.v-timeline--side-end{grid-template-rows:0 min-content auto}.v-timeline--horizontal.v-timeline--density-compact.v-timeline--side-start{grid-template-rows:auto min-content 0}.v-timeline--horizontal.v-timeline--density-compact .v-timeline-item__body{grid-row:1}.v-timeline--vertical.v-timeline--density-compact.v-timeline--side-end{grid-template-columns:0 min-content auto}.v-timeline--vertical.v-timeline--density-compact.v-timeline--side-start{grid-template-columns:auto min-content 0}.v-timeline--vertical.v-timeline--density-compact .v-timeline-item__body{grid-column:3}.v-timeline--horizontal.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__body{grid-row:3;align-self:flex-start;padding-block-end:initial;padding-block-start:24px}.v-timeline--horizontal.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__opposite{grid-row:1;align-self:flex-end;padding-block-end:24px;padding-block-start:initial}.v-timeline--vertical.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__body{grid-column:3;justify-self:flex-start;padding-inline-start:24px;padding-inline-end:initial}.v-timeline--vertical.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__opposite{grid-column:1;justify-self:flex-end;padding-inline-end:24px;padding-inline-start:initial}.v-timeline--horizontal.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__body{grid-row:1;align-self:flex-end;padding-block-end:24px;padding-block-start:initial}.v-timeline--horizontal.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__opposite{grid-row:3;align-self:flex-start;padding-block-end:initial;padding-block-start:24px}.v-timeline--vertical.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__body{grid-column:1;justify-self:flex-end;padding-inline-end:24px}.v-timeline--vertical.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__opposite{grid-column:3;justify-self:flex-start;padding-inline-start:24px}.v-timeline-divider--fill-dot .v-timeline-divider__inner-dot{height:inherit;width:inherit}.v-timeline--align-center{--v-timeline-line-size-base: 50%;--v-timeline-line-size-offset: 0px}.v-timeline--horizontal.v-timeline--align-center{justify-items:center}.v-timeline--horizontal.v-timeline--align-center .v-timeline-item__body,.v-timeline--horizontal.v-timeline--align-center .v-timeline-item__opposite{padding-inline:12px}.v-timeline--horizontal.v-timeline--align-center .v-timeline-divider{justify-content:center}.v-timeline--vertical.v-timeline--align-center{align-items:center}.v-timeline--vertical.v-timeline--align-center .v-timeline-divider{justify-content:center}.v-timeline--align-start{--v-timeline-line-size-base: 100%;--v-timeline-line-size-offset: 12px}.v-timeline--align-start .v-timeline-item:first-child .v-timeline-divider__before{--v-timeline-line-size-offset: 24px}.v-timeline--align-start .v-timeline-item:first-child .v-timeline-divider__after{--v-timeline-line-size-offset: -12px}.v-timeline--align-start .v-timeline-item:last-child .v-timeline-divider__after{--v-timeline-line-size-offset: 0px}.v-timeline--horizontal.v-timeline--align-start{justify-items:flex-start}.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider{justify-content:flex-start}.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider .v-timeline-divider__before{width:calc(var(--v-timeline-line-size-offset) + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))}.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider .v-timeline-divider__after{width:calc(var(--v-timeline-line-size-base) - var(--v-timeline-dot-size) / 2 + var(--v-timeline-line-size-offset) - var(--v-timeline-line-inset))}.v-timeline--vertical.v-timeline--align-start{align-items:flex-start}.v-timeline--vertical.v-timeline--align-start .v-timeline-divider{justify-content:flex-start}.v-timeline--vertical.v-timeline--align-start .v-timeline-divider .v-timeline-divider__before{height:calc(var(--v-timeline-line-size-offset) + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset))}.v-timeline--vertical.v-timeline--align-start .v-timeline-divider .v-timeline-divider__after{height:calc(var(--v-timeline-line-size-base) - var(--v-timeline-dot-size) / 2 + var(--v-timeline-line-size-offset) - var(--v-timeline-line-inset))}.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider__before{display:none}.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider__after{--v-timeline-line-size-offset: 12px}.v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider,.v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__body,.v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__opposite{padding-block-start:0}.v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider,.v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__body,.v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__opposite{padding-inline-start:0}.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider__after{display:none}.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider__before{--v-timeline-line-size-offset: 12px}.v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider,.v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__body,.v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__opposite{padding-block-end:0}.v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider,.v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__body,.v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__opposite{padding-inline-end:0}.v-time-picker.v-picker{min-width:328px}.v-time-picker-clock{background:rgb(var(--v-theme-background));color:rgb(var(--v-theme-on-background))}.v-time-picker-clock:after{color:rgb(var(--v-theme-primary))}.v-time-picker-clock .v-time-picker-clock__item--active{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-time-picker-clock{margin:18px 24px 24px;background:rgb(var(--v-theme-surface-light));border-radius:50%;position:relative;transition:none;-webkit-user-select:none;user-select:none;max-width:256px;aspect-ratio:1;flex:100%}.v-time-picker-clock__container{display:flex;flex-direction:column;flex-basis:290px;justify-content:center;padding:10px}.v-time-picker-clock__hand{background-color:currentColor;height:calc(50% - 4px);width:2px;bottom:50%;left:calc(50% - 1px);transform-origin:center bottom;position:absolute;will-change:transform;z-index:1}.v-time-picker-clock__hand:before{background:transparent;border-width:2px;border-style:solid;border-color:currentColor;border-radius:100%;width:10px;height:10px;content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}.v-time-picker-clock__hand:after{content:"";position:absolute;height:8px;width:8px;top:100%;left:50%;border-radius:100%;background-color:currentColor;transform:translate(-50%,-50%)}.v-time-picker-clock__hand--inner:after{height:14px}.v-time-picker-clock--readonly{pointer-events:none}.v-time-picker-clock .v-time-picker-clock__item--disabled{opacity:var(--v-disabled-opacity)}.v-picker--full-width .v-time-picker-clock__container{max-width:290px}.v-time-picker-clock__inner{position:absolute;inset:27px}.v-time-picker-clock__item{align-items:center;border-radius:100%;cursor:default;display:flex;font-size:16px;justify-content:center;height:40px;position:absolute;text-align:center;width:40px;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%)}.v-time-picker-clock__item>span{z-index:1}.v-time-picker-clock__item:before,.v-time-picker-clock__item:after{content:"";border-radius:100%;position:absolute;top:50%;left:50%;height:14px;width:14px;transform:translate(-50%,-50%)}.v-time-picker-clock__item:after,.v-time-picker-clock__item:before{height:40px;width:40px}.v-time-picker-clock__item--active{cursor:default;z-index:2}.v-time-picker-clock__item--disabled{pointer-events:none}.v-picker--landscape .v-time-picker-clock__container{flex-direction:row}.v-time-picker-controls{display:flex;align-items:center;justify-content:center;font-size:.875rem;padding-top:4px;padding-bottom:4px;margin-inline:24px;margin-bottom:18px}.v-time-picker-controls__text{padding-bottom:12px}.v-time-picker-controls__time{display:flex;white-space:nowrap;direction:ltr;justify-content:center}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn{width:96px;height:80px;font-size:56px}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn__active{background:rgb(var(--v-theme-primary))}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-ampm__btn{width:96px;height:80px}.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-seconds__btn{width:64px;height:80px;font-size:40px}.v-time-picker-controls__time__separator{font-size:56px;height:80px;width:24px;text-align:center}.v-time-picker-controls__time__separator.v-time-picker-controls--with-seconds__time__separator{height:80px;font-size:56px}.v-time-picker-controls__ampm{margin-left:12px;align-self:flex-end;display:flex;flex-direction:column;font-size:18px;text-transform:uppercase}.v-time-picker-controls__ampm--readonly{pointer-events:none}.v-time-picker-controls__ampm--readonly .v-picker__title__btn.v-picker__title__btn--active{opacity:.6}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default{font-size:18px;padding:0 8px;min-width:52px;height:40px}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__am{border-radius:4px 4px 0 0;border:1px solid}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__pm{border-radius:0 0 4px 4px;border:1px solid;border-top:none}.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default__active{background:rgb(var(--v-theme-primary))}.v-picker__title--landscape .v-time-picker-controls{flex-direction:column;justify-content:center;height:100%}.v-picker__title--landscape .v-time-picker-controls__time{text-align:right}.v-picker__title--landscape .v-time-picker-controls__time .v-picker__title__btn,.v-picker__title--landscape .v-time-picker-controls__time span{height:55px;font-size:55px}.v-picker__title--landscape .v-time-picker-controls__ampm{margin:16px 0 0;align-self:initial;text-align:center}.v-picker--time .v-picker__title--landscape{padding:0}.v-picker--time .v-picker__title--landscape .v-time-picker-controls__time{text-align:center}.v-tooltip>.v-overlay__content{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant));border-radius:4px;font-size:.875rem;line-height:1.6;display:inline-block;padding:5px 16px;text-transform:initial;width:auto;opacity:1;transition-property:opacity,transform;overflow-wrap:break-word}.v-tooltip>.v-overlay__content[class*=enter-active]{transition-timing-function:cubic-bezier(0,0,.2,1);transition-duration:.15s}.v-tooltip>.v-overlay__content[class*=leave-active]{transition-timing-function:cubic-bezier(.4,0,1,1);transition-duration:75ms}.v-tooltip:not(.v-tooltip--interactive)>.v-overlay__content{pointer-events:none}.v-treeview-item{--list-indent-size: 28px}.v-treeview-item.v-treeview-item--filtered{display:none}.v-treeview-item.v-list-item--disabled:not(a){pointer-events:auto}.v-treeview-item.v-list-item--disabled:not(a) .v-selection-control{pointer-events:none}.v-treeview-item__level{width:28px}.v-treeview--fluid .v-treeview-item__level{width:0}.v-treeview.v-list{--indent-padding: 16px}.v-treeview.v-list--disabled .v-list-item__prepend{pointer-events:auto}.v-treeview .v-list-item--slim>.v-list-item__prepend>.v-icon~.v-list-item__spacer{width:10px}.v-treeview .v-list-item--slim>.v-list-item__prepend:not(:has(.v-list-item-action))>.v-icon{margin-inline-start:-6px}.v-treeview:has(.v-treeview-indent-lines) .v-list-item-action:first-child>.v-selection-control,.v-treeview:has(.v-treeview-indent-lines) .v-treeview-indent-lines+.v-list-item-action>.v-selection-control{margin-inline:min(0px,-1 * (var(--v-selection-control-size) - 28px) / 2)}.v-treeview-indent-lines{position:absolute;inset-inline-start:0;height:100%;display:grid;padding-inline-start:8px;padding-block:0;grid-template-columns:repeat(var(--v-indent-parts, 1),var(--prepend-width));opacity:.4;pointer-events:none}.v-treeview-indent-line,.v-treeview-indent-line:before{border:0px solid rgb(var(--v-theme-on-surface))}.v-treeview-indent-line--leaf,.v-treeview-indent-line--line{border-inline-start-width:1px;height:100%;width:calc(50% + 1px);justify-self:end}.v-treeview-indent-line--leaf{position:relative}.v-treeview-indent-line--leaf:before{content:"";position:absolute;border-bottom-width:1px;height:calc(50% + 1px);width:100%}.v-treeview-indent-line--leaf:last-child:before{width:calc(100% - 4px)}.v-treeview-indent-line--leaf-link{border-bottom-width:1px;height:calc(50% + 1px);margin-inline-start:0;margin-inline-end:6px}.v-treeview-indent-line--last-leaf{border-inline-start-width:1px;border-bottom-width:1px;height:calc(50% + 1px);margin-inline-start:calc(50% - 1px);border-bottom-left-radius:4px}.v-locale--is-rtl.v-treeview-indent-line--last-leaf,.v-locale--is-rtl .v-treeview-indent-line--last-leaf{border-bottom-left-radius:0;border-bottom-right-radius:4px}.v-treeview-indent-line--last-leaf:last-child{margin-inline-end:4px}.v-treeview-group.v-list-group{--list-indent-size: 0px}.v-treeview-group.v-list-group>.v-treeview-item__level{width:0px}.v-treeview-group.v-list-group .v-list-group__items .v-list-item{padding-inline-start:calc(var(--indent-padding))!important}.v-table>.v-table__wrapper>table>tbody>tr>th,.v-table>.v-table__wrapper>table>thead>tr>th,.v-table>.v-table__wrapper>table>tfoot>tr>th{color:var(--v-theme-on-background);background-color:#fafafa}.v-table tbody td .v-chip.v-chip--size-default{--v-chip-height: 28px;font-size:12px}.v-table tbody td .v-selection-control--dirty{color:rgb(var(--v-theme-primary))}.v-table>.v-table__wrapper>table{border:thin solid #e0e0e0;border-radius:4px;overflow:hidden}table{table-layout:auto;word-break:break-word}.v-slide-group:not(.vx-tabs-wrap)~.v-window{padding-left:20px;padding-right:20px;padding-bottom:20px;margin-left:-20px;margin-right:-20px;margin-bottom:-20px}.v-card--variant-outlined{border-color:#e0e0e0}.v-card-actions .v-btn~.v-btn:not(.v-btn-toggle .v-btn){margin-inline-start:12px}.v-input--density-compact{--v-input-control-height: 32px;--v-field-padding-start: 12px;--v-field-input-padding-top: 4px;--v-field-input-padding-bottom: 4px;font-size:14px}.v-input--density-compact .v-field{--v-input-control-height: 40px}.v-input--density-compact .v-chip--size-small{--v-chip-height: 20px;font-size:12px;padding:0 8px}.v-input--density-compact .v-field__append-inner i{--v-theme-on-surface: var(--v-theme-grey-darken-2);--v-medium-emphasis-opacity: 1}.v-btn__content{letter-spacing:.61px}.v-btn--variant-elevated{box-shadow:0 1px 3px rgba(var(--v-shadow-key-umbra-color),.14),0 2px 1px rgba(var(--v-shadow-key-umbra-color),.12),0 1px 1px rgba(var(--v-shadow-key-umbra-color),.14)}.fix-btn-icon.v-btn--size-x-small .v-icon{font-size:calc(var(--v-icon-size-multiplier) * 1em)}.textarea-with-bottom-btns.v-textarea .v-input__control .v-field__field{padding-bottom:12px}.v-slide-group:not(.vx-tabs-wrap) .v-slide-group__content{flex:initial;border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.v-slide-group:not(.vx-tabs-wrap) .v-tab.v-tab.v-btn{min-width:auto}.v-slide-group:not(.vx-tabs-wrap) .v-btn.v-tab--selected{color:rgba(var(--v-theme-primary),var(--v-high-emphasis-opacity))}.v-slide-group:not(.vx-tabs-wrap) .v-btn{--v-theme-on-surface: 97, 97, 97;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-theme--light .v-navigation-drawer__content{position:relative}.v-theme--light .menu-wrap:before{position:absolute;content:"";width:100%;height:180px;background-repeat:no-repeat}.menu-wrap{display:flex;flex-direction:column}.menu-wrap .menu-content{overflow:auto}.menu-wrap .v-list,.menu-wrap .v-app-bar.v-toolbar{--v-theme-on-surface: 97, 97, 97}.menu-wrap button.v-btn.i18n-switcher-btn{height:32px;padding:0 16px;border-radius:9999px;min-width:0;width:0}.menu-wrap button.v-btn.menu-control-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);margin-left:8px}.menu-wrap .i18n-divider{height:32px;align-self:center;--v-border-opacity: .079}.menu-wrap .v-list.bg-transparent{background:transparent}.menu-wrap .v-list-item--variant-text .v-list-item__overlay{background:rgb(var(--v-theme-primary))}.menu-wrap .v-list-group{--prepend-width: 20px}.menu-wrap .v-list-group__items{--list-indent-size: 8px}.menu-wrap .v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line{padding-inline:8px}.menu-wrap .v-list-item__prepend,.menu-wrap .v-list-item__append{display:initial;width:36px}.menu-wrap .v-list-item__append{text-align:right}.menu-wrap .v-list{padding:8px 0 0}.menu-wrap .v-list-item{grid-template-columns:auto 1fr auto;min-height:32px;padding-top:0;padding-bottom:0;margin-bottom:8px}.menu-wrap .v-main>.v-container{padding-top:14px}.menu-wrap .menu-profile-btn-divider{height:32px;margin:0 16px;--v-border-opacity: .079;align-self:center}.v-theme--light .menu-wrap:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC1CAYAAACwAiEUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAKrSSURBVHgB7f3db2RJlicG2nUyg/FBMhjMcDLIYkZ5ZbMqsSSmWgCVLfRCi+RA+9I7M4BeWMACi4Ue9qm1WOg/COd/IAywDcyTNK9FPQ6qHzTAMF+UmFZzoBwVKWQWkeUZxU4PpkcyIoMfwWAyeHV+58PsmPl1RvagNY3R8EQ47712zezatWvn2PmyY9XaP6vfO38QqqDwZjJU+yeh5otn+9UynyyHy6leNX58WV9OjdOxw/f3+U46Xk5ZPb2APPtUxurthNGwcG+86p9e1uWxzHf5Yrz6YCmEdK+T378Xqg8C7geqI1Q4Smt6lLND9w+qcSrb0/xL9Bwcx4v6esehXi6evW/vQe84Pk/1UsL9iXC1Q323GkbD7otQr+3shJ21tbCmaTv0W0Wf7+2F3YWVuqmc5Z36Rai39Xydftt6PKZ27FA719DnVP9U/7gOn6zz/bUvQxXLfUrXCzsVatzph/gsrmNBvtdUX/Ja/aE4X6N89AZhjd5hh54VfrFW+zaU7ZqitGNtg38nru/LnWqdym/T/TXtC/++1j+4Pu/vVWFlhdMwLid0XO6i//Yo7U8o7a9CvTu7X60+Wq53n+F99ukbyXft0XjFeU/Hq31TfEv+jtROjFl870BjtYMyYfRYHTUuR93DeMXRxux149un9eY7deeQcKfT4QbZeDP8Qrt92X13vvrI9RFO0E+z1E+U/obwef/RRb0aVmL+VvYWNCAn/mqvRsFlypwekB7BiB2kMR7pL7VDuTOBbHQNpFuiTsDPOqMJPtuTF/edMyp/0wcAsuNYIj8IApAeiI6j5e/Qb2mo/g7/ZWIxlQiivV9H37fnOv/7N6GFvsLg3NU0dPIb13dAdCA/AAObB7UD3F9VAowjcuIHpET+Y9cWINUaIdDxlzucZsjP9xamOG39021GdORZD4q8/bV6qh+G+k0Iwg4TAuSTo9S9rWUDXQORgbRMcLTsth7xjG19FogNkB/3dhT5t8uHUj3HivyYeNapDfb+O5rGfRZkEN9+IfUA+a1vlwnRMajD/j4P7mXtd4/88s3G47ezb2ojuWfI7773JY0TmxSawMYexijGJ469r9O9BS1r98cfXNZA/j8c0PO+lqPBpcMJ3Ou7ialziEmmU/de6zfTGdYjPtq+HxIxW5YsPBbfUP9wH+F8Fkgv5faJSBryY2JC347N/r+747iYu0Od0G6HMBiEN2+/r1DdLP0L/PcotC4+pIfOVl9dyINwnDbqSTAzEaor+uHIL0X/Zujf0ztHYfq8VR1QZ8zoi7fuXPHxJw9b1ctvW9X0RKu6Opffq1ch4IjOQ0fiPvIDLI9cdxjxX357UN2fng4nP4Tw8laoWnq8umVEYTqcnU7XrR+mw9WtV9XTH67CS0rnNo1d1tPfWp3T1KaDavbOYx4cRyG9nz/i/b56Rr2yzF0TvqB+WKDfferst08F8Seoo7mT6TeHH/Utfo/P6f0ft6sBHfGbOxlwn+NDzNKgt8EOuKBnLeKE/vQvZFYHiuwQAi1+169Cvx+mphbrC5xbmc5iNbHQCe9fIG8/fEb3+r9YrNcudqqLqX61SL8+/Yi6VL0Trj18RMeLqR1CuH74qE/1uXx9ul6bWqw++26n6vx2kerdYcRco3qtDRf8jLX6fSICn6He7xar8B0hOP0m3k8zKpC+/768B5B8nN4fv8/oPdEXeH/uk9/vcZ+gvwY0FvvUX/cJud+eHFU2iGcf0ftR30/cmq3fngARjuh7LIejoyMah63YH5j5ZyZm+Nv58fnyIkSkxxi149W3r6pA4w/ji8feLRoXP1wNjVnkP6Oxc0L3Jut07/40jT0aT7hn43Tqlozp2UdX4em3kh/XGN9+/CPvS24HOICZepo4gJnTGX4W2n11Ghj30HaMTXsHw7fWYxmPaa6mk6NZ6q/Zeln772hyNqAvx+k4d2ev+vy8TYVJBED25Tf7rf2ji3p59pajgMLgXzIl7UQKdOlmpVEAAsCzLFHAYJRvSWZpUEJ0wKhZHlQzhJxiGhy8uqz/dGW8yu8txTJcjn7zL0J1+EDa+4GmHRBXsGScAJUHUQLFHz9dqoH84w+WhmZJDJ5O8b7gzA6IOtMEFGjcBYhMy5MyIwFAACILFoTaGstvLC2f230VAzI2mGbGtX+MGb68sVM2MWUBp4H7yqqL0LET7+O4TtzANs3qdu/8wR0iPCt1YsbD8CP1eopnbyUC7nlSUkqsQ/TQGT6C5/UJPqS+2HPvH4H6xvrKjpGb4o7eZwKA2Q2z2rKKq7gWEbVTXzqxE2O2/H5N3xPc4QHNwBivPCZsXLqxazP5jwEb2xirS9NJbPVpPl+sW59n47BHrD+4gVHtHnou8NNk8gy031SMsj6dIHGgWv11fQsJNmsBcL1ESH9wbOy2SE8l4ns5264/exau/vRRaDEL/kKQbf7eGB8PT98yS3TxQq5vPXhb4xzHH9O5TR/hg6WlIM8qOscRBEP8+dtj1eH5W27vPD33kJ6LDkf70DZ0fNM7+WsAy2R4BM1SB5FN2w/os+17navlZzknMATF4N/95nUN+Rriwe1SJzCEPHvVVy9eD9ULHQDEgJ2Gov4IaEJ6pO1SvWvugUjD8Tal2/2y7lWu63Ut5EbK7eiTmD78CyJkC80D14tDIIKrXhflxuRjGri/w8m+aZsSLNGYPGB2vhfZ71xM7MSzpm8JsHEKsLEQ/pZQlivHqkf8dwETgE4Q9mkEjCIIKHZwXL5jogiY5Fd5EpIxGAlAWRFmfamskys27KFf90L4aScMNYzSO5QOhEwzeTN2W6dd0XEhCIEII2D4wxiGH9C9JbqnL70ks3+fWFpA68FCnViQEihz0bYmLsAGjhx7tQ2qSAiIXUvEUmtW+RPpQ4TAOAElBCt0jhnRkP+8T+LAQhjRFztEBO4wEUhI6++uZQjPCj6e8QXOFWHLWg3ZfX0+bbUo5+sxzuKYnpOIxorLKzM66v3QIXnGBayshFFQjs+lqeXKD3JPBEwOFyLQCaPUelFPRMhvyNmE/AcYDzSmI/IuyZj5dyEUjfWPIAzXjcNR3CqXo36w/sjvJCKAmf/x5K3q6clF3ULn/ny5pKo2eKHw2+cOxrXnAC6LRgPh0UBBflDUA0b8P2QVL0VuALCjndHSo79n0JQGgnF1z2TfpQDkt+urF3IE4gvyJxy/epHq8udol+9QvItxFH7WEELWSe+s7BkTSfSh/kA8D0iJA+Qv+xaE9zHErCgOrESGAIiPo0d+jzAZKxAEyXSu5V+ahXf4uMMKPkP+tVjas+yCsGuE5Alhd7QueYYQhN0h5F9x3MBatCi091aucG8n5hXdhhGVr+jcfvFFnFgEQoEZ3275c5n9l6m/94eQ366B+P1T+ZYyDjuxNK4vVWFs4xIc5NJKJ3KojOBcsRyXqIzdZ9DBdKhjyyCO06WlkIGrj8v4+3g28MjwQu8dmAjgqjEuxZDfdG+4xvmCiraXjchfwkr4HdGDXRp31fI//d0Ep6mMJZWIqW9JtaTxvJj1hXouEQVLFAmIM/5ANPDzhIxZR6Hz9CWBqC2d/Y0AXGkn+vSrggCAU+i744+FFrH7HumZ4yjbFkAIRJwwFs6ujYtIhII4HVIGQAS4PExyJ0ylqS+XaYD2qgGJBejsVeO8/GS35xPkHAQAiJ8hyZBkrqnQ5KvmfpU5ghXHEXgj207kDsAVgDCkuyR+PEjsOBAY14LIVqqpDTsudW0ohzcvewWnN+95vQiQ/elJyERROfPG5hCE3e/wubHC41EM6GjpHosDf1CZ2hDIzoH4n0E0NPa/QFwRG6n9ivA8exfjJUtzY9uAx78nKtflQz12j44m2vL7OhHFxFTjqpPY2ss4nsQJgFhKv4kpUEylP6ckcAAiAlDHYxDD9OAHMz+AFSuF0oQblDQkaOwfnKIvmEJDX5iRmV6QkV5f1LNDo5AdYIhe3v+GrhfpGsc1EgH6jhzYs8I10Mo+Zmq7KSnD0M0Q37VJjgRAJFg6TETT39s/ImWV2mM5YS/+YY7g6VESE0oOIBGCHAETkoZGFJX7mLnX4jXX72boVa0jfxOpBflBUFa1nBGX8+K6CZrJVXqnBhVgeEwI/9TJ/U9PbMACRMdy4HxQ3qUUM0T3+qg4yxqCB0HAWzQe/hAcMhYwKn3kvQLR528HtpqMqsODKa3HPQGgug72eqpUbBqDPf5rilDzgegQMSg5AvMJgGg6dv//9v8av/zhFWUkq8HpS9U4kslOzSlXEy/p3gybKNAQmMuuzslcAnuJwivYNcjcZvL3KZni5t/S8Q6Sp0N1Zyqy5vX5SVWTaeQE53Ssfqizo28okP5Y08p7U3qN45en39fHVB7nC0QyJqrD1vnUo7o+h238hPM/vEPmGSemP3owVR0P+hXahqbzj+A+v096zsGr6Xp64pWw+iSvhTcn1AcwxMzEPGC/Tn44CvPhpHXww1GwfmtdPKfZ6hUdZ8LsHRlsMFuNT9JJG792ePy2TYN+tg4DEIJQff+aTOWPQ/XiXESC43H5eECaF+eL8Zm4Pn7R5ntIxUy9yP8E+XCEmaevaTw46PryzqDC0cxuAz7fo7SnXArI/fn5H8fyAOR5TD+kiTzfrnFN47lenBInofQUgfwqAd6Jrc0uDch+/2lCfsD3F3JEf8nZbHj1eCYs/RDIbEZpE0k7PtNwDsBYhZlYxmvIEHI6molpMvnu+3Bnbro6vQzhlMYDiIPdN0C6B5/nlMpjnANADPi6mOW5bpfvOrDhd2XmbJQhgjI9YSbI6QYiMsO/K37/l2wOBTF4dTGc80Myo74/Oxu+pT4fm/2z/9946+IqHHEBsl/SEYXBPp388JgrfRlSh3LDrEMZ8KLTseVAfiQx8jsA4ocGqBsQ3JC1RHpLf/uK7KYTqQ9+dn+8NVZJ1hP6d/c9wuvLU8p7HPPsE0GYcm04OTnJuYAgxOubO/Ie8/eEkGGwXd07rf5m8if1Un3C1Pfltyc8qH7ycLqC/8HULRxn6Piqgm3Y4Eo/AigyiIABEwCF7ycx8xHi/4zOn0ragBDk8vf0IVfEVg54cR4ysOtzRl4g8WJ1Sbbdyztt9jlAOSBhJAhkrjuvXla3x2W2/1zLrxI7vktpIBQfEULfG7TrHiE1zt9XX4S++4Fo2My+qDNwn+SQxUVBeSFUYSRcEnEDWfEEAMj+/eQsn4MYGPKn2V/L/kC2cRqPPZdmCA82GHO8+JocRL8Oywe5epqIAaj7/NvTCgiNWfkAk8D8TxhBDUrk94AyyJvlMeTHLD81FU7vTvP5Fz1CWo/wLp9/nq97crz5np+V7N1wxHtjDEofyEQEwMwP5MfYw2QkE9IMs/6Q/4+OwAnM1uwJeKlKv8upJjNFL555JQpj+ZI38ksSEOeqMMkldnxhqHYgNRDajvgh/RsabXYOwPnz11c8eMemr2qfF+lWB55xiLSZ+RrXkqbNXFgIb++0hpWK2l7zG8B7JMXiAbd6CXlY1Bm2KBg7ZsondD73nFoGIFqZNxagHNgG4AD4RMXi2y/CO9nFXbYGEBJTIdPK49zYdG+zh5XBawVYuefOocjbDns8JnAeZXg11yHPunooZuZGqtuUlSauWNnzB8Pvytp/1XyanG9HrwOI4hL7ovQq7tdOGAJT1OIWxifL+SAI0Nc4Zd6VU7RhTB6eh/obp5X3YqONCUZqvcYPZSzd7oEbQNmd/YO6T2zRAY0R5Ftyz7K8AKvjwI0l3EdZ3Cvzl+KEiQSewIk3LPJ0+BpiaHId7tQ2Ef1O+xM/9LkqAZeDKPyaOveg6p8mJYr0Zs7eiEJvoQbyNynmWg/wUuKdBsT+5YcJmYG4htB2nJ+nTjqUsuU9n8cQ3/LZ84D0IAB2/fblYTVG1zhSMSpH9xZUv0CdvkCEAdMbEwCvywjC0pnSESDKGjmHgjC3LYviCWeDZ0tX5h7tndBNEYMjFINeLwBO4CnSX4TMJg5CIIi0x/K7yNBJijalnTkficJxhcvtEPIiDchf2t1xjA5KAFXGcbmgqkMtj/xD/gSFWzOeMUq+z99D5H0MRlhJfrfvPVeWnbIKnn/i6IPz5OTTyeplpKdv0NPrP4WSLCTZ3OR900GV+iF8f4wDA+MMjQik8Wv5MW4sryEzcUT3RuudUp3Deb4h3PEo5fP4cq1CCWmEznQGmKzGeRLqBVMIel1UspjsR6U/iQD/dLwJ+aHxn5kh9v/bV1XO8gdhoZw8U31HMj41BFLSSfZiof7Z/dD63bNQ/+KnxNp9c1b90QdVBeSem6mq46MqIjTy12+Ejz8fu6rtvOl4eErIflFVqOP0VDuKRs3bO2dV6/IRiQDE/t+eZMRv0fHZi+Nw9+2ZyGuog+63KA1iAODkZIrbXZ8H0k/0q0e3SD9w3q8gtpzoRwDL+MXVFMt942M0ICgvfq/YdVTasHBvhojBdH0Ct2NlTeG++UuSW1+B7T8S+QvsF2Rb6AVssEMs+F5Fgzmw/+3Uj5d3bPBBht9j2R+yPGy531+8DZ/TOVyOwVbPkdww1x4QERiE2RNJB4xPUVm4HgeZ9QPO6Qd324GWffz503r8q37YIVFhle5dankgtsn0GPd2/jnVOcDvy6dhbuq9Cs94ABdeEJR2egEQtPU7Ihr8Avcp7f7JUfVXRxd1eP09t+nn6soLWT/J/XR1Il5+YGElRTTc87MHLfSzIT/uTNI5vo8xyzZGjV03XRS+J74tjkgDqz4VxU3SwPK3n6qA6BgiGBdAdDseDwJxlocsYqKev6HxD+QHIfnycIrG+lR19t5UDT2TjTHWfTkRFHnt3hSNNzwT9Uy+zQkEyqCNVak/oPOf6Lue0fvL+avQ4j6hd/sBeaETSCLASxLmW6RHgYswuw1TfxMHULMZMDehJIgmh6XkNMNaf5cH1BHIvrYMNiY0AjqMSAfN7IcxDbM4wCUFm/1tRvdigCcWWd13acY/u6qZK9CZfqzgAMIImKd/z9WbD20UziQ3Mg7rCmDegU03DPkYjT9o9hocgv3hpAknJhg34O8/ntxn5w27jjO+XqdViWpv3BvOE1ze6K6sM/8uIe4axAQ3s1u+tYVkbchW68VHJsem0quvaFUE00Szp99+spRI9+wTL7AcLYCi2e6QZnt4nPpZcFwXgYURUM7AzC0qN+rPm8RVP/NLfoyX+TqlewN1Osr9fqxfOA6ZIK/jGkpoKTezdtFv7dxauFoq3nO8wTKQ+iyHcRVPVQcQqo7rVJb1leVnRHfIHxzye7bIkP/hnebOR0cZ8s8r5uPSI7+lAUzGB3LbvSbkBzcA5Of7x1RGkf/hS9W6K/Jz2u1WdUgfAEjP7VDktzbj44je4LACW2bPwKt7mW8U8ofCB6TTSc5CfFSkXzpMfTTxaASBWB5OenoCLbnZzG9VfzaJdRsrjKSG/NAD7CryA9a+WanfzKZ8IXhCQfm/Ib0BIa7I4CsZUrPoQOVxPHcr9gBDyO/OS+Q3Zx5Dfu/Z1z7ttX7HbtS9av2nvZa9N0xY4ExhljbW/08fHejq1V6sG2fedIvrgwYzrcnpZXpCeH+eI7+NDxvfabzIJCPigyC7THQ5ERDisKD5F2J+IH/UUXHeJqKzkB2B9BBrlhqInKx+1fHGOExmwBETu0HrUtdBv/EyfsidJ+TJovSbLzoRRABskVFGm01LePsqzcJvj4n9BBEwFkCPHtkt7flUO6+P0n2++Q8XKitred8S8h8GQf5DEJ7XwhU8P2/X83cWqre3B5Wf+XF8qx8OHwkDQSizfJTFe0lBI31hfZK/Y0mBez13bz7pAg4cVwDk+LmmQxQw2dcrw3JvOEEjcAJ/ydxA7lm08+BOjE+wC4Re3Kv2j5ZpZhUEF1iJs//O4lq1q+m8tJmIRVwyyvcDO+1Ebz5dsrwbHFfhlHrvArwLZn3zQIW3pLfvg0guTclyWPSTyLAdV0OHfzY2cWUT0rjK+mvvy8TmlWyLNGvKWYncufXJ32dkXsjHNM7LMZ4mi34kCqkeIwYlayxj699+5TnOpG2ytmDcYebH2POKwUxJKC/L7w/8hPgO/BWntU6WDf3pJ/uq89/9/vYQS+WdJgoNJKgobO2HhWLkOnir7P9DQnxD0kPqxHkiCsa+R2LAN5UNcGlcVmf6SDBcfbFjgiE02naoKZSXkP75OcpbnYcBHIGkEYcAIkHtHHudRAdj3cpBg/RIDABOKdjkp80OQtnCIUn3yi5/bmCKwj/7E/HeAoALEFFgmZHfkHCZuIGJk7QMWZSBe4VYABCCgXXiE5DBlRggfTXLo2Vc0q6eW52RhYcDz5GIJuzU5Oz55tCTHHsE8ZPiT7wljQBkrr3Lwi31MsNfh/+KaOr6+MG7WH9RQicofUkN8Q5ZgfzwpYqDC8WsrFxAs9joMsXrfvY8U2ADnruxNix+Dvu6Jtf2g7BoXrMNjkXCEZmnYFoTYQulYJ2yQD9jM//lfzO+8IKUXWxTPKig9Is1QcNlix9Y8UdfZ34qQEEGBcfZe6IYkRcIpBQRZJ97bzKeQ+EmlZ2GM7bdi6Zr8j2apccm6xYUIQ6h716cVWezpHqanOTr31/dq5H3bOIepwVo/SaljrOXJ/EceZFHlHw2ECbpBaWNZzQ65NmHRHwmqc7TzDHI2tm61Profb59gbOpYMoggy8PQ/1zc3Ryg/CK++IV+0mInwD8AqYD4geE18Qp4XiU8ntllz8HgCuAPXyOdGn3ScHzl3+YvZoYE1v59xdmM29XExdtUvy1wxeUdp8Iw/iFW/M9aBNyk5IuIA+Quq0/GhivZ+O52OTbHLtgl6+lTsAu3Zwb7HE9q21TNEq+BbXdf//0mYgBpPi7/2g22vGlrbmLL9qF9znltfyzTNheXXwomemdWVk6G+La9iNSYmHGmunMhDs/nND4nK6gdJ2iOs6gjH0YeA0/Hx1gojIFGn/fc+Po7ENO8e8hKY7PSHEsSr3JgB9u3T0/5fTg/H8gVmJcn6mdHlwthiMU0Dmc0D1SSE9MxucgL3xXoMSGklvG3lSs53yMJqBY5iSWk19SJOJ9fj43XZkfC94TuAjfAXNO2sNRFfcSc+AVxxsQvx5xEoKPymNSDDIBOLmDG70AJxYEMojvYTM/aRyhBb96K55z0JCadtSyWqe0uBNt1k8ANhxI9/D2a0VGduVsQVsvGQ4DEJ8RPaTZnfNcCscAQmAIz9dvTuVayzZBi/ib9+lwd1w+HojA5HvEedDs//vjOW6T5fWz/5lzxvDIDzj+gVgn6uiKPR3d75W4OJ/+UPPxm+9qJgaz99WBiiwDj+lXemdh1vs3ZCn5z/6BWAgAp7dCdInFcWIsDMH/dLEXEfU+r/WerTmkGyEXiMAXP5sNqwNBWEN2zPyC/C5gCcqT8u2L12KWXHgtYaTG6ThYARFqs3OS5Q3uyPWMtyWgDOp5ul+ZU48BEN4IATv9XCRfiKWpVxU8/MLs8Ptd/iBebS/hjPaSvgOsKzTmfvJQZn8muOq0RRaV5EGnmn7z9jTt+8LCFFt8PFafKcG3IwN9b1iS7mIiuy1JQP7nNJk8fGvjCIh/HJEfSFzTeDSkt3NB/Em+9pYs/OZmZKLEPZxP0li++96hEB4FIUxuooJligYkdAJAeryjiQdjEHLgMajID04UyA+lPRzVBGb09zKcENfFBAAXFvUkEgBj/533EkwcP58LlSEEZsm778kvUkXlAE6D2ueY5aYrMplMvvcoIj8ASGmI+fChdMYVIX5FRMAIgSF/+3LQat+/J3lvsxtr3Xk0ycTBiEIJqOvwGVFKIjLZs4gIQR/ABCW2U82Dl8N1GXdjEwhmH7P/grUEIYDsNUmmJPYTIM7pzeRPajOfmgclzFdHGpmmpV5a8M4CQYBJ8KjgDvADIfifiOP4T9uh9X1BOID8hsTjeg/HOS4/Wx09FcQGIsd8hPw4f0zWrlnHdQD5AQt6tDJr4ySHn4foymxg9QHQNkPyEvkB3z5VM2fh4Qet//jYjHBFFs3GFUcUHO9yLX2JqDuyWMuc407nBfnZDf2OmPs4/TL3QL399oxneZvtPeAbH78nHGurTZMYjZnjcxrL92lcvqVxCELQl/GYkP2RlDuiyY7aMDY2r5arQ0X00+w4Nj1f2zkACG8E4Jy4YeEuEgd6dtkPQH7xgAVRSNwAiADeDeZGe1cGwldw6xh/Jsqb6zDEpnPqc4y/8eMZEX1BABCTzMJyxY4F4tPPWCk8CElwVTQCYOyQEYBvKO2+cgBAJGGrBcEm36v0fJIRsyZW//XYvdoIhx2RXinyw2rQIcIAksREQYkBricd0RkFKDNp4oJj3TwRQpvADZxdzvF5TcRrriBqdvyGEBHID5HgmPqhYgoceJZBl5ydvq1ZVPqhju7SXh9w5fzUYZ8tFwyBEyi5A/YXeJt8B7wbMSvULkQW/+KHWZ6FoayDG/H4z+hbULmJIyFUcyvCzoOFhwx/eSJxDA2J7+vMvxsS0cDxDdWx61h/A39ts7oHm+1xNG4G4PUcGVGZlRkfSN+aNOtJL3gCgAEN92uw/iACBw/A6sJXXuTisXlxwbVZX5A/sf2CRP0gLH/6vjgnwZA5QPERETGgJjHglHj8lnGplPbNST9MzlSVIbshcGBRYJInQNyrZyQNYIgf0zAnQpqFuymlwyrGE5NrE4iKcQoQGURcOazg5g6iAMXj1K2TKq5pcX4Ck/Te/9vYVBQDMBYxCcFlWJBf4iFiEhp7+V/8t2OduZcc6wyIv3dwWf989r0WKjlldv+k8t5I4ryQL4ywRk+FnJLa7B/fmM6vjl9XLWLtgehNP9RjROBu/bo6PTsLdg8cgAkoxik0nfv8Jy/k+lvSF4AY2H3kh2IQnQlR4I8I4U9VP3Gqv5bTY4CgTalDCXeBikAnJ6KltUVOZ+grfAidnmz294BFKy9p5v+lIjxs3tPECrOjhlszACUgEN70A95pCEgPORoIO3tyVM3+bLb6QjkJcyJCuS9+Bhk+sAQANh4iQc7eE9K3Ic8HxmqkHU0q8aDnoQ7cIzUAp719RGUvcmIA8D78ADu3I5SZeBYcof5qn7iPgqPAIp8TUpaCAMjMD5C+AOIbQcXCsysiAlhsNmZrNu4E9rkHB4BBiMkKYuo3p1OEJKUb+lQ2Zu0c39fEVv7ehPT2gwUJnMDxd4fV/fajAAJhnC7GOhBeWH96R0q7y2Pp1IZ8eEaiAohGHFxGxCfld046KdTHRxUZTCQAAQIRQBrEElMUChc6VQP5WzrmeCES4SwcoKbdAqhx4gD82oFXT3v0YWis3ZkJbAWw2HyYrd4nc0kWtYQq8EE22AqgjgwGRkGHAYgvmnggXks19mDhvx2I6mlOPcbs+m8DqM/q9XX6++Ai2ndz/4EBOw1JmzAoIQ40P0HeSSwEZlUIMc27iOIcs49ZB8Y1ghBMVBatOK+7x3+h4PLLh5euCejg13ObKc0HIGW7Pdxt+zRrr+T2fh+jMITklmvuyEFjG3oHIW+hsDpiHD4XprvU9NszTH+RL+u9HvKl570wHDdySVed0pikcXi4n4LB5JCb80zj7s8BQDiMBRu/Zh42YmAu5EPnajXCOfuWOHMi7pmlwOvCHh63mDib5ckgK9+ARuAg0E4ck7Ugd1wCTmLsgRPCGoQ4FhsiXrGl6tWliQD/7bgt8QV7haWRpsjC4gmwFrIqb4HZXXAAokhJLAuzQcWMDzn7zfG9Giw18mLGtZkas7I1CDM8fkDKe+9VP2qQAJAfHALOMaOjjhLAAYQfXg/VieeAI5iC0jETB9IbCEyyxeDunUNVXqoVMgjLVlN/tNgSIspRv5ILyzixtBg/Cydmq7a8Iwtmfb9iEBwBiADN0vVCFVpeJBBOAILyclioeq03sx8yEbCIr5iVP6dvgpkas7jN0mYqvP8siRDmXvyYZHxwAEf6HFP08UKktqxcxDnqNaQHmUUkZBMhytneAHoBQ34QEXODNoAO4Jdz+o7LpvQTXQlY1UuyTmHAZst5pxX5geA0DE/visxfKbeaak+c6l21SgFEB6AWK0V+IKpZgU5ZDExyOsQAO38/vG7ZGPB5JnXciihZ8z3U8/5Uys/PJivAWcO2An9EurGoMzvN7wHpcTQOQ9p/xs8xvQA4ARt3tvrwC0JbXv1YgPUlrAA/QTRiXFjMfLMdeg7A4vV5j6bgDqBwRuXmtRNAxjCrvtVBBsR/qI4LD283zwQfzY61Zm9XFX7hR0A5qzfBt2E0V4EPX7YF1zkBPgzz8PxSfwF5Nwd9sy9LZwgF1vqxiIjGUlopmBYMlRBXujkA0owO7bTPYcjePBsOQ76q9/1sv2yORM678I2mnbuNTbzLMNI5rvykrArEPdswZk1X/Fk5m+n9cTi6j7j7AizEHDiP+I77vj9C5EgvXxyM+M7JMSt3ikkOOOLROey4A67QZlRclxYrgfmh63LmLqG83zhmgsz42bWf9udDfLTN/EPPKfwOZs8PGY+NU8eRPQXVeY+rVb8Bm/nhH9Cncy6IFUReWYXM8y5UF/BePJOcR1MffvdFxwZhp5te2thzOw7O8k44Oq9rf/RQEoVEKNqN+QZnytIPyvwhFgFRek4DyIhAee3BRITyA3/jHDXMVdh8u2ENMNdMDOKF6KTScT8BcAAHGsJp6Z0x3ZZDdJBfXma84c0yJr17sYvw7Hd6sjSIDpiZJxOSx9r1HIQAefDzXn9GECyPR3R/fHqSmzE9lO9n7z3e8N4f+Kg6L1Lf+sg6TetPjNVfbHAOMsS/Hg51MlO3dSYi8405m8a7QTlmkNeLC9eVNeTH8Rt9yeRqDOhHByJPBIecgyweYUixPHnV6k/ZE7C+bd5raeGPBM0c9kXSFF0+i0ss711cUPdbePfRjJlk6yuS0eUFIet7Gd0QEgjvz8MIQB5/P10bEVBNFx353tTDGpucFDQiRaJohywqRWuq/Y5BkfMG3pU49s5CWl7MLpwNUWOF0PaCeWdh5reItk1Wgeuiu0YAIdjfZ7IQuYFntl2Wbe8m+QzxDbGDuy87xwiUhMNzFH6brutgOKxXDni/7a/DlS0Airsw0W9bo0sDMC4vLL4eF1xqDMOVvP2a4k6Y/34YmvXxLZt0WML5NY0L0WuZdyl8XOa1Pu9dmtejcnvD/UZwzfE6gPQ+uS7DwMzT3oN33vVdtrXe17oYCFQWYsAfwkFoWuSS/KUdOdA+NuQ3dtkr1oD8hlhA/jm3RBTI62f9Ucg/SiRIyO8xOrA32hfvPbyy8wTtdNBiZd1ouxdXDA7N7dNR63LA4IN45Dcw1uvgQRL+RLHVC4EVgAJeCWj5gByhgKWmoC2K/PuqGGRRAOeEgMvLFkhzXLbSgthgR08cgsz+u1reELxp38NIPBSw3Hf3RbPyz9J+vly+hxA3IP+lcgB2r4eeUeTH5JQFYdFBbev8U8TnftXkQmuLd8yHH4hfLlhrVmA3K4eB9FbKkD/d/duLCVLeu7y3KlYWzsv6FoiqpqvI6lFFY0oR7hxEkLkB45wQnMRzS7a92QvhAOLegB8EaA4ttLGwEagSEVOeZzJLTl3fvrRGpAZ+OxBkwrkdgWzv0vR7Vh1HiAnvIgzG7s/efi7twKSfIXAbMe1q3BicN4sdvp0l4IPP2+zBH/yqHmugvNZHnh2F/oQvl3QjUv0mItuOR4WXH/x+xreZ0cMBR2guiICKArwhCZ3jyDM4/O3V5/7evc7VvhMNRJVIyHx0UUeeQgkJYFf1C6b5t3PbB3HZiQ5+f0OAIb63IpTy/4F7b95TMgxveml9haPNYLbSb17l3LRQdYHH7ENG8IXYFr94J2rtFeFNFh/jBWMuoIyy/gnZEwhRmI95MDZkfJjFqwQjCvOubkP8EOYbVs8+n5K2YO0Lt3XecS5OJ+A5UEw88A0AB5CtU/EreYNMPmD/P1NdAIsA8eY9ifYrpj4ZzD6ctpkdvqGOXjSlHmlrsXbHR/ExaEIqY91Llj5BmtWB3O27qY782vK1tV7SMNuLl2z/CGXg7HESPbxJUbiYdnjO9Q1/VGMZx4ZMSwn7fTTjfHu0pYZ1282DP4JFxVb23+/aZIhs535n3FhM0y1E2XKRN+36fFlHwqDbm7Hm/6/26us27ngX2Hr/UeBFHW8GxKq2P13pDHEAoyL0jlqc5s3U3nw3ChKbPh9+HNgYmb/m/nx23rQ47V3QNPF48JG3Wg0hzMsduKAIZA7AFFQHGtNOlh+Cmrytfd/bLPdL1TpC/n/+JkggjjfGJielGpCpZLNzZV87KewiJKRu3w3OKtAOQP7EJUg+m/mbkH92IucE/GIYID/aIOJCO3jk53dFbLZIwFL8AKPgYwXrV2pL4hVTYHfDdSj6PUP8ZQmBFfV8BrpElsM4BVlC64qEfXcOJJcgEILcSOsocluVQHac3/v67MquLUAERAZwBd5vYHf2VrVb7M7TtJtUfl/63mv/S/DcABD/8qiX1YkQ2EP+Ew0xGX/MqlT7Xu9CfkA+Y4dMJLTzQzf7Hl6LmId6/zBLy0UBTyDmHZfg8sQ4GaPbb0vzY9gzt6dBCHm4e9u1K4oA0FYv3ctNLhAJFn0sfqr4rYu3B/aFlX+HSRR4fh5GstkGCakHZP573kpY2w4JuX15rzt4WONn5dN5goG24eiNtcUrCgepXprl28eBRA316y84FnEkMrlvPlo5Yn/oEayYDyDi15jzh1gS5xWTy2zZKsern8pNdMZuRwXcss2Q+/VS3LNBMu9n58saQ4fj6ASbzfdDmuEttyH76U/vtnA+7rgJFhl0tjdrAfQJXjSIFgHdrnv4JzEOrnP+AbLHWd8Qn+T+BRfQ4oMi8GUGOrgx6MGtlkTgm9N8DT+OIALzXt5WRLtOE8/lnXXIxrdn3ZMIADgMObLPF/clLbP3qfhg7TDiMF8EsE3OQPm74v3x845pEAn8npw4+g10bVkwiwDmsZbv6NEQwFDXRnPUnegdNwyj5OkmELa+qZ7ECfytoI3ZncSBqZwQzU48r47eJGIxe2ycw8PaKxKhwGzyKCwfY3EHUkp/yDPLlIG5WeYg2wHWwEKH2cYsCIhRPjPy+/tNm2R4K0LMOFSUn1GIA9l9t0OUpVn+hiBFGaTwXlJSdp8Jdfs0tEprBpB+fLZTZ7N+sddkI/KXW28peC9MIIEp/vza/eSvYlr/Jrk9ea8Km06TgFq3fC4QBBAD3Ft9MGj5icF0B2Wa+QVc53l6nZWAcU45gNKUifd8b0bk/xJvm61RlzV0AcwBYCb6gJNT5/poKjajIUiCuUIC+U0xOab+AJ4tKpFmWJsvs30z8sv9vw3wLO6MAoOCE/ni+4eZRp05iamHjkOQwt863J9zPgO+7NhQ1KNh05NFcsG5j6L0QVhq3PiRQ19dh/yAiNPLwSM/l+F9HC3Faf5DHu7diwsdlx6Re38/5l8lUcCLB1YeafthOIw8Zn/P7uO8yaEpQ/6fBpn53V6TC24br9hXS8rKQp5tCO3V76fQ3eU9mzGBQKzwK1huANh0c2LzhAGITgrOVikGeE4gIbSUwXWO5IfOl6RdWAFCJkpm93Op4Vr2H0Su3/9x4hAACwDBBUQR4A9FBvgT2wabFiuPmRs1WwAJ3n4vD3twHlqeSnpZ2vQA19n4PRg7/mNg1n0U1hccyzVm/4/uJ/GG71Ne6AQsjycWs5nVIFEAEAO03xMz9nbspFlFIjuVpqcWr5ewdRNeYYV+XiiDOdLsD7kdiI/9BkEI9vdzwXnJYgoW07BzC9KtspbZs9C2h0KefPZOZz0VE5oIBGCXYwnmaV6f0HOEwSwTS9qGlN48ICPyS0tCH2ZS7D1J0M82ahUflXm3r2OpADwYMlun72NWADMHWnSqEmDHN9nfz+BAdPuVZYadxobrzR2I5ofKAWcOhyaU+XiAHoBNg3fFNHgdiAXksPL7YfjZHztbmRgA/Qo4gGgFKMMppRjqolUU9tZrUOezjvAdZFp0z0rDpJfcd3/87G7a/UzLPyIPzmtSClZTw3oBUwhGvYCXMAZiRhz2LRDwBMATulIM8As1YlnqQ7CnO9+Fq05IMew9EWjaa9BHE24KJ+bh0pnTSqvAckOBiSPS8M96H4Dlxor97F8KFc3iQHOqj/Y7xPr/VGzScEvtzXayPe8N+WUjDF+j8w683RyJunT8AfixW7L117Ho5fgGNIkFo/I3lR+dP1kUoqXAGxkKByF5V7FC5UcZh61i/02cG/sfOQDeVul02K/anCswi3mvo/mCFLEsdHgYKZshv589Bfk94guSRfv9CDDEtuNsg6vud+F5sHuM/A5/a5L18QPiJ6Wga8KQhbBZ92AczS876fm59NjPIsyiz7zsv6RuwR9Ybl0nMNHO20QMAP88eOT3M+q+rvW/93W46inyA4EuszDQy6ogFMTHNZYDLztk3S+Q37gCUyRKLfkxhJxzEA7A1I77Wfu8PwOQP4yAMny138lXnzJUBjJvqwjF7h1/fHpSAh7yjJ879Qyz6IkTGEbeUcjv85eKw+vyJ64gKROj9+Bd4QDKNQSxvJqgm0zRQHyP/B44CJDtM87bJOuWRiGrQpb+evNJqTZB43lVlRICgBcDAKbd92Y9gNfi1yejiUHtzH2eCFg6yhohqB1RAUF4/+HDSAhqVf7VBeGBOTCtLxhkOgu/lJlDmevAmtcu+ibrrwQgoLYFlSesxm2B8CJysEd4XPtowkvFQGtyFBKETsjZU/2AIFSyD5z+tNdK6Mk1RJOggc303icA4B2GLM3rBtKd5SgONDkyNcFn40tX0AEsFEt/jQP4g9lRD5yS2lkBJCEN/JGRqTMTYPLaw6xvlh65HlSmALTcTeY/MxE23eN2jED85vUmTSIGTZqH4hiEn1kFzCswtwakkOQ2Ee0o0hvym1UAiI/ZH5xA5giUrAEJrnTppWxiABlKHYAc29LE4pTIn+sA0gxr7DsQuJp8eC2rb8BsvhIOIxoz1Dkv7yUK+X54yLoAIDyIAESA754/D/6+EYz3gydEw05DmQ5AfR7M7DlWLIhqWpnScttTlU5AcV+7To74gKFNRfab1wdABDBCXmr1y2Mq08s0+6XoYFDeB8GA/8Ab1Q/wPSIOy3ydnvSuRU259h9/OiGtkXAb0ijIZjRQAOq28sXW26L9diy9EwGMIwCh/mV0Csq52BLhAZHQ/0hW/98FmutosFAUYoAtY87Lpb0J/u3zH64W3cwP5Ee/QQfwhwMRA5gDwM0FZU95P7Xbsoda0qjKrOZXVUEB6BttTjOl+69BE/IPBmaPT/VksjwhNhDdfjbrG/JzOuV5Pil1vySqN3MqFNIjtz3LIz8A91FPFf0Kmr0FIc6Aq8E7mbdjcn+Wc/wevrx+tgPyo2/Rz03yv0f+aAs/dOz+iTgIeRdaQ9QeFtSEhH4emf3R8otvgFkRlrN0K9spOAMPQH5fpvPTu610JXD9isYgSA/537T/rADsxNvoF8z+QHyso/iDmk8N5t3SVznm/Q/kMG6U1wBAg469HYpQ8TE/I3+x4Cu6+TaDmQHL9DItrSVx4qMpKRsJSI78zPoXDoP2bqLc9JyNiKLmv3OlK3vNF6D0BByb+S+74y/dVseyT9pPRIP4IIX9NkDIbfzwMhagE8E2Ed8PwT7QMATcAOKUQTrACby+vMvn9+7dS3XqLP6H704lyIeGBqtahKDIP35W3Q13wx16zvn5XUb+50RU7k5X9Oyqet6S8/Nb0pevgzz3+avTcO9BO9y9Gg4KAiLx+gG16YrazsfX1LZTbWPKh/dCmzgy7vcp3cKNyxc55bBO4WQ4jnvl9pVH0Abbwqr1Q8pnwULsaIFDMKv/8iehmqb+HjebxmwI06cSSgzxMzH7PxxL8TSPUja+d+dZqL9AwFGXLvd6vA38w4vnMQ15gPhfXVxx6GhsGx/bSLP82ztjnAYu4KE7pnzLoTG6ZwMg+MnVs5fVyRsqi36FDwCIwMxM1i9/4Ci3LY7+i1mf9/vDkfoVpur7urU3ArOWY9WCaNj53ZrGFSed8k/iQOL7+Rhd6doiUWOM//5Yo1IX8GPS0D6LYWl4Y3litOsMEvLDAtC6l5r3sG5VZ4g6rXEE72pg27tFmPv43oT4CFaLAD8eEP8TQYBZBOgFob3XiQDiT52gSfMf3gEiCjxsnPEBRgggCphIYLK6zfqWFwTgo9ttlvtxvvyWgyKHsXuztZ/9AdABlBwA11koDJMBICV69n8UywdikEJFDVsB7NzvXxcaAAgPJR7EASj+wAFEMWAUjx68v38K+IjrcacYHI++9j29B78Brw1ohqbHvsshyHKVG37g6DkDiAG26q9n76DnpRMQuICle52qaaMas7SM2pfSw8MRIkDpvZeVaRB3m0SGlD/duz5fcibip6pJUByLZBxh9l+9HG/J5jlCEHix0OGouAaNC/iZEJgJ0LiAuBbA9hkz5PdigO1JBjbKd8uo4BnXQekL4JGSNfiTqrADIXiY8pm8j1kb5zh65H9IhAXyP35Rrn+YKoD2HzMazu2IcqwQbKslgpE/Nwt4RSY4m+j84ToC5zn7L/1lPhQ4NzbV+rcUAwzMBAZxIEN+gMPCJkuAR0oQkp4zCfaO92M9QPx7X3euEmovZw5B3L6GJccp97CD0SXv4zeeWR4AsmZByAaWNnvkXyoW/TB8nfYAMicgcwRaUgWhOQPx+W0Zn/PXjEPTBVjkqqFl3Krwy92BbbXgMJtu56Xzj4gTuedOMi0OMiWhtw6wAl1FDb/y1Kpm5J9y+xdOObOgQnJ77mdu6FwFIb7pAS5If4IfCMH4A7ca8LotlUrK2uT+651+rucEcvNanOWdAhBEAcjLikEn73sOoJTxmQO4P9ba//7t1cPC4/C5Eh2kG7HgF3f15m0c1gWklYEJzA5ss39aIaj2V12Q0bR1EyAGDdV93sMI+DGKwHJmbpr10+rAZUXi3pCHn68DAM1/puwLQ2uU+NqQP+3zZ/U2qR9zMGUg+wY0OA0ZJwAnliXTFxTuwD/W+w0ARaAhm0SvGoxwvU0uwe+C3CegebXfdX4DgOvaE2f97KE/jgMAYEryYf5MARg5ALCmJVtqJqwfw1bFMu8UAwS5WMF3ksx3RgQsl1kFPCfv2X8gvyn8AMwBvLliIlA+EfcM6R82BBdh5WJcJNisCGziduxjQgFo7qVjLlrrVaGkMkA/jxdxAhdGEGDbUzAmKJaWCrYmpOy5PONxdWBSE/rFQt4UaG6+gF2n7PPPsTx2vU1WAUP66KLMPgeFrOLAED8G/iiQf0FDqdm1R/7SFbjJD8CfP8wW7hxW3sbOM/TxqMVAPhyY1tfAbcBVuFwSXK72m/fRgQu34kNWqudh5zxH8tyFz7O2lgFCBIZd0jH7HxY+AD7SclwLYJ2NzsWsLzOXbU2cOhWPLX3hMfNbtJ+m+H1y1h669/x1nVj+IIgPYoBzPj4cttcbeJMfAKw9iIC/9mJACaZINB2ErB0QSuDjFRpXM9qmO6jMD+Ctsl/PHRcQl2YqLBTsP7Tc/cIzEADk91YAQOlWy9tnW4BNTes0ut7us9suBx91CG4sfc/Z/GHiy/wCHy2ngCEaXSiaD7F0GCsFHZcQ1yjOWsjy5tnfHIKMmBm3Yv1gnNEQd1REuAGkaEB9Hqvv2s03gVoJpq6L4nMYOQbOm40DY/OTF19TEBGBpNkvRYqcM5iXGd8TECtKvxfj7Sv2DXDuzflzZMY2MmCOQHbXWH+IAdEV2IsA6ExEARIzwnBstVIE8E4ydh0awPsC1CeJELD9vsHDyQjBKALA3IHDb6/os3MgeJsIU+kDEJ8B9t+vFA6DofaW7L98YJ+W4snzzFJ4Y5UiAGb/ywZ/AA/eN+DAD97SH7chuaM+AZ3Mzm+Lg3pZ0I9ytZ/VZ/dWNcQYPw6IrufXKQFt51/bt8ByNykBS7gctW7AJicdyDu3Fq7WsH+F69t3iQExzv+PCAgiUIoAh0WMQLknrL13jzedQI7EPrL0sKuxZ/uHVyiyeKlmP97DgM5tWfC//apfLy6kidrAVgXGvTxCEgOGRAAejERZIQqgwCjkt+Z5AIJ4HwDjBOaKeHxJ+9/OFHRAfnACOPezP1jzTEY3/LVjMbmb7gBwFIOTVOz514T8ANQ/GJRmAGuvtMnWM6RAIe26jBQ0pgEfSuT/psn98h3IDzDR4KCYuTh6rnIFnhtoctM1tl/s/PLPZH7PBQCA/Gb3x49ndUJkDv6JQKGkC7DgIKsaVmxftwMvz7H8t0R+fhdCfB/52L9TyNqtfhGmGCwAgxhK6+GIQLms+s3pKDfgwpW9MRCPR8LE2puM7glDPns3Iz/Aixwx92sZR7svaFbnlT+BHU2iSFLY/A35Y51U/pcfpvBnWSzKyMVrgB83FjHzGyfQstDVB+xyKQVl4LoQ4KF8xRy8z38zqzxQn39DMEFIQ/iHdxJHYCIBkBbIz9YBOOxMivbfI77XAwAM0c3dd5QIAPEAdZopMW9n7rJsuw4NxwRw1J61y4BcCwtC2qShLpWuC/eun73gBATEZyRSpaDNpCLDJ1HAZn9z9vEuwub0Y6v5OmWQkOWEsBwGLGgMQGPx6T4HDAWB+JOVCjEGmUBoABHM/nE3Y0qXQKD7bA7EuSkvPRdw4MyWIbjIwC4oqN3DzF/GuAOYiOWRvikcuBcFjAg8LPaXSEuCJVcOh6Fc5tuEEU1Rga0+iw6ULSqzdQkaIwQiiQUGzZwBdeb3yr9cvJHdgVJchBQVyMNne7IYCL+x2f9Hdxy72KzSD74Wk9ho8JYsZ5U91nKFyqnvDt2o04OJBLxzjjr0AOBcMxichQ/ev0dpZ+G8Jcj9+uyMCUF1SxyEzl6Kd98H0+0K53fv3uU03Mcx3E3PMscfD8wxjMtzXxeOSCAISDsHfRs/q2RPuHtB/IYGsZ0gVHfo/tSDNu9iBGcg99YhOY5Ib3ylW5/X7xFdKcSZqal8xyBAyQF4J6CsL3WjzFl8GzzSfGyAWOrZg6SvLkDUZLPHaWXzjyjDLP3DzG+OPgtHz+p7cxMtOPqguDn7oMppIgatyZkwofsN3n/7fYVz7DcYJmd5+3HbOgyAdN4+jNKxV+A45bFNQv024Eh/ODvDsQFs16Npt0U6zJhwZPK+C34TVexaZTtXrT6c5jFqm2DCMxBb1i/QwD97MFVP4py3AO/z7jmyxfdp3AnYdvU9nTwNd45f0/iqw9lsPobMmUZ2+Tlx31k2+nuIchNzLn0YYLufdLtcJQed0zDJO2XJFvVSHz1nog53X1R8jGWobeb0Y2Dhwb2DE3Dyftu2sO/zDknA+eqNEMUK5XWfStvxa5W+e3/ssj754SqwJyC80l5iGyHqWNsQFMifL7SY0i3AEA2IMPQ9wtsGL6hyo0/zCMSM2poAgp3Rr82z/HnrbkR8g/en71ZASkZEqgN5kMZEABzDS6oXCOuKYSa/d9lmpDbk98AOP9iNuCAIKMNixgOq7AzuVvYbEAEgs+Gr0/hOsploiINJPAEnyQw4Wd99CzOgDIdn9LH91qkgAH6BFcSsEtGDS+sEbBeWoGXfGlhq7nx6tO3EBOlnWOveuviQM8xqRtt5GwBPPmwJ9VI993A0D0B49O0fHYWBbu+9oMe5IKQRW4H5HYHt+JaIE34gAkYMPBEoA4IC8Q35eTOQMX3PC9m51iM/xIAZ9QzEtnXswPLqQAb0q2leF/TofKrCJrvwFKxvnejmtQu8hdb99mT49kXabhtbcAN56qNTRizetddt8YW9/2z7L96WW7f6EpBdpJ/zTr2eILQS4urcAOSP6Qgp99DXox/0UDYPtbIe+fVxoUR+7qeJfFtz4KTt1g0chUckCCF/Q/p3+sMrMZu6LetBDtgT8NurFDTDtK257GBLLTUU2B0JBfbwmsURZhGw47fR5/9h7S0BJveX4OV1ExEia68OQuz//zw5BrVDO3gfAYsHYMdSJMAR+aKOYWDLkhvXBzMRw7vtvghXuRnoUMKj0cAxzf9iUbZf2FEhZpUigA8M2gtiAbBfVjjTvu1Hf/6eOtwkeT8vkq8BSKHAljWcOGT8CY37t+rK2q5B5d4Afk8A2z3Izss9AUQnoPcfybntEZB5BRoH4N6540KEmV4EVhNZH0As9AvoApTdvdcfGrf9flKMGauMsetZaN6YU1l9/pb3205Dn5vkWFaPXH+DMOwkhsx5pzAJPrzGXD7vgoHg12Trb9L8i/jTj56R0hc69oglOHiVtlkT64rqAOLCE1VO2dJV8wMAF4DKH96xOICH1eiNFEJUnOVusynIhikDWTuvyOSjAEXtv/oKmIegpb9vSoCH4g9gykIrjzQgPPJB+w8iYITACMnRAU0CxOj4wCFGoNIy5USg8D5mrjEFINv/CfHHZiwoQ6tqcgM2N9UDx/Z7EaAT0mq+cbdPnkUAsiNHC973qJyOncIub3dKe7036QHhgbC4B2cf3kdANxMJbnMQC07q9wcAvCm2/DJi8XTEjkFGBFKU4NyUIVGRxPQJ60dyDu65XAfhM+o7cAJLQH7rx6Vhhatxr6Ufiy0MMsRaxPJZXdFpkYOz7+oUeiyr+8g8hw7Rvc6wSTXgrj1xYFn/MI8yPa8KwVFhwI2YGV7ye4AAnibvU34kVqFiYieC2fmppCWzaifErcFw6dcBePNBvg/ZgguwKB2cfKOvXxtQbuX1rmW/fs1/qcUvTYTm4cfLfo9D9cX5gM1/BrYkmAmDMxdWDRGFSw7AmwHLvQ+SF6Da/m0zBYVyHYCP/GPBQXjVm856rOjDeWHuKz3/xMceFLzBJtgAZuYzDX7c9gs7A+l2YeX24eW1B5S//4dw9f0HoWV6gTdOR4DznweJCQjEH7VNuG13DgKIPgB9My9FIY0JerpV2CUh9jjN7u+rGRBcwM7pgfSfbYXF3qu5U4wPEwbEmX972GIisBAiF4d7tqZjJByK4rBE4uiso2G85l/lIby8D7/lK+v1EDcudcQqBTptivyzwNuk4zh/TzmjGD/hQJZTq2+FxVzsP3AxAQEWrSZ3YzVrAFsSs92APZTa/9wMSJRHZ9tZXtr7/J1r/mEpQJ7cOajWc0FSQ2BGfmXlMbOzSEDIzjEA6QekN24AJkLjCjyRSZGJfKyCKhI59tg6FKSH8tPiAPAegRg8C8NmU+OicG6sv/3G3c7BQHwMfiA/z/gOr6EkG0b+jl5LpjKmX0kSsCsQjm+Kbb+W3V6BPr+x/cbq+x2BgpbfeZD2B/R1YouwCd0c1Gb934UkEliatEc1/tpwGCGW/gGIAd6vp+JAj/OaOGALWg4Rhv2ARel6Kcg//h4vDPkFvAgABALy//JhaEXWuj96pjWiIA9MXniZ41DDTJ+F81ZuYAj5PZdQ1GHbgZXiSopzeFX7vQEh688+PGy1NDS9IL9trCpIb7EV2MeErifACXytnoCX6njiG5EcCNLAfu62xYoRge/nbpI285d7AVqIsDyuvwfvhPO8KvO8/zDlQ06LE2Br+vmWhgTH0ZAdyThGLoLagZDgKXR4Ek3mCnfgl+89vAJhQ9tNlwHW3/ZDsI/yDTggzBxMJxeiKbBcDASK7F2BDXr0W58SVp+R3WFwGVXHFtiY/71Hdh/N19+zTTzA4i8rItt23xnyhnxTUGwD7vOaCFDqBYxY4GhbhL0pdhkOri1mHkzvlBYr9Xq9GBodRx8hGTKs95qMce7d0oBD3RhDtgoTPYABvhXMgyMjBiknYD9b5GXr8Q3x5zko7nxt7gCWHk2K6qdfbuxxOH0lJrzDlNf7JJh772jPRQMJ0WfErU//jp7PX4EDOIhxEw4ix3nJ4pBEo47xJ5SjirsDI9FisKG83xDEHmo7A6Njns+kqDijwHsJ5iJBm+V+2RREkG8Y6dPOP0fqD/DFH8DaDy8rTiUGoV1wHsb+h3Ld76DcJng4GCjAEzHWA+BERQFm/S0iUD/+icA8Ewajbs0EZwzIZEsa6sry2RLeTrjOU26Y1d9X7zzbHdg89/jaZnm9BpQ7+touv36333Ln32yHID2uFuW9UnCU2LC7txfgL+C3CxeRYD/6GGDjk234KNC5uEH3gokC4hotooGJAUjHORSCS06xahGCRi0RLiQ1Bi8i2JJhEIG0zDvt0GubdZpTjs3SDy4HrTEa76ZnsDxAfBYJHPgdf025Xu4APBr6GZceufUDVYayPkRmf0F8992x4nJW/EOwHoPNgFdkYvmATIAwRcHcApMB7IfV/E/YJCglT3hmOyOzypniRIu0B89eNAdFAMB0BsTH0fsEwPB+7717HBwEQThwDdOgOOC8rmCDhxnu6au7Ney5yPOa2BQJIiJ5gez3wr3seWeol8x5HORjQiIBn4/d1Zc3Ex+ZJMmW+5ps/GL6y5EfG5Xce+8sBjThgCDjbt02vevpaYoI/PAtmQapHx6SKZBNPSCQb8/4/Ew/Tn2L+g3y6tvTauzV98G2YjfTH+z4Dy+SndzMZDkcDaecHFVsrJudDQtqvz8i893RU5LtH81WRwgaQnlg3jui+3OEhLZjskfeWTXj4Rzmvts0839OSGAmwPtq3rNrMwGa6c9MhOAQYBL84iLlMTBCav4B31IbF6pXrVdsklxmW+WryZkwS23F+1ydyuwPXwiUk+MMsbAH1SsanzBn4RfCdJh+KCIVzNnwaYHPBYKFVG+m45gD0sNcBq7geKD6qzsapMOQHxSbbLhnNKbnyF6PY4vMifhZTH6Y4fBjk/ib0wxhz1v32P/FEPn4SI5TVCnKzM1MRlOk1YVnT5I9EIE9cM+3K52DWp2wbwPMmzhOT06ynw7yPHowJX4m0zCLnpCt/yfBb/JzdU7WuTvaSDKrYqxZdOaxyU/+P++Nj03X8AMAIXilsxUcBq7enmaIfZfsm2dkW2XySfZtbAw61hCJxYMRAXAC7fv3KosSZIieou9IOq6B4CAO96hTJILQmf6Snf6DGF1ooGlBCAKNMyA/1/U2bwt2B3r9luqGfR/taJ/pY/EHXMlJ3b4r0YOA+Gb/t4/hCR3IVouedff8kImiOJw8YkLAG6gSFZ4GISUiylGBqF8tKgscW7wvwEOH8M3ID8JA9luy8e8fzdazd464HewXRLP+LCHTF4T4mH0ZSQnpQRBwDkecOfxQQJHQEN1md7PlHyniAvmXFenNAcgIwdFFMpZy/dpeOx+/SETji8J3wIC3HKN2vziCjf9I3u3Zc0b8oAQATkncV5OBiYF4R7ykfnscnYOefnsUZh/NMNJffRuqnxAhuE+57tDMP3Z3msYlZsapmm3jRMRBAPxYte/KE9qJ/L55L9Q/q0IrD/ceMsQF+G26jIjYcXJSCIQhuD3nrkYFQlkQA5z7nwEIh5WVdkxx48SXYIrH2rcvjnlcYYIBIcAivklCfnCZ8/dONQLQK5pspuuI/EH4KYyxq7kZ9rlo2WzELClHW2lyABaIYa+dwgtEoHHFtFOX23oB0wMgzZvZ0gahaYee5D4s6WnPQG9OtNnbwaDcFDTdOHpTS5m2tKnl3DpbUB6SXGY+DJKW4huIInCg7CApAfFh+iHz/zetbFxPsbQU3TGhkPFsv3f/9av6RoEp/rDKLiYqa89BOd123ebHDwT3PwDSl58lPYCX0aO/v6axRyBp+y19QrX8y04HsFscfflV9wzP+mOp8GPdPxCE4EDdkHnvw+V8qZEth8aGKTn04hJhzP4HyuZC2Xq4rysLdZymbcNGjGyXvPhitAux2d+9cs5vQGIVlasRfVkAyl4n5+e6gP5QY334edMzAfFvuXO7712pOyE3qkL0ZBk82375QLYE58qpoqEFLV6pQso1/DR+Cv+NTg7ZeuVh0xrAiIDfAjz54WfL9FRP4EOKFzt7GLT9pqACtg9gKpsW+VhbvPKy3OPAogFlYaKLkMzcH6ogzWQzjWD7h8InOyldJQrOqO3Bfx7xwXQADkFI7gcyYjlulNv3gpP/BVHtCGDb/qOk9Asu3Wv6TdG3o0o9nEM0wM/7BngF4CjA880KgNl/dQWWgX1eNSiEQawRB8Ty/9y/6r4oBSEK4Gj6AIgB8GP/wAUGgV4lRrQiOXhew7Hj2q+Ms9gB5dFDc7RdrmnEfcuzMLLs9cuS/TOG/fsBtvks3qHcc4LBmfmCOkuV0NO/vCxc02Q14IPkJcSgYxXriJfKitwuWEkJ6FYoNWyk6bfYAjKVm28mMGSXmRrHtDjn+TXbizUQAgUgf9wD0C355baEnEuxNtoeB/w+dFz9qe0iK+GjvtE39kujTSvbGAFIkT/1cc/d7IQm+LnDczGdiW1Q0lWpB8ceW31nyrsVQbj9v0pmOEb4Pa1MjzY7A0rzYKm5N6JwTsTACAJgTQkCjri+7Y52ntofYpvtiB8Ig+wkvM++AyG9XoxfeBl3Re7xX8S0x4/vFV6VjPgIgqE+ApZuu1xZmu0q3LRYyxjcFG13IXizW37PFiEthIeNy4wTwvj7cu4X3C00WZKVQPXZ0ae8d5XtOYm4iYrHNN5SPIXLItZEh/9a8DUJC+6QH8EXbd31wlDH5CnGBgPmOZABIYj+vMujrKiTcyBXubLOa9ptlsfRnIeG9xUYFEcFqwcERn+M/HweMjqBGb9Ndl0jRua9aFWlTR986OirGr951toS5/M8xLC5YnIqogLH9dfC+osbq/YlzWIStacXcoIg4F1pdw15CTOifd2zyqTc89p43F9dsXuE6Ci/Ak28bCKCaz7HbBx0Oe9efEim9ffIvVsgOwjCuRIEXIM47Go6l39RzHj6CNP8QwyQDUVlyv9LeoffOUcGzPw8+2cbkPSCDOJO+OxZuPLbrBnyW9zAQze7A/G/uRWu4DfgXYXTOo2+IqCfiU2867udsfrunlwbcppzTr5PpGzWYWnmspuDXKM9aJe1I3Ep4uHng8uU4ebA/bAlBG7Sbg9AgHCbvWC/TrCw8PuBzIC/v335YrxZ/tSll1eZSbAhSIiaPADD2y77gOb5foLmKzCaI/gxMMKMB2LgZvxRYMTHvBl3vz6s83BLeVAIg9J5xExL9tH8RiCXmdmvF9Ksj4/RCT1HANIW3wJ+9gTAnMYsv9uK22ZVY8XhYINZn9lzEAAQgz29b+crIAx7lCaUQpBeMHR3YaVe7e9FO/4aXYcGOFeEX6PzHU2DH4Cf/c/7lGcBkW5DBYR/eiRcCoCv3fvZwqEYPMStCzATIPdRES3J+rcXdIcrNYHZROa5gbh24AXWvOTnaYORfjM+MCTPWIO0LfzwJrE42ua6SXb3+fIygHfFkwT47dANOOq0cpve86+cYDoh6ZRa8AaKYYKKh/B1IQKAghkjAMTP7J28b1bp5WguT7n7k1838O8KsvOwyfej7PzXg3fyYTv/fLmDax4Rhs+cEga6gCZ50tul87BWncAMmAW+UCKAfz5Ipy2c8a6zANjSDeH/khR0YJe9LG9l+WRPEXvP5TFCwLi+oqIACIHjABT5GQj5d/R6xz3Dn587sYA5gYZ0qx7EwM4N+UEIQKhs1eAdvwjKuT+Yy3QZKs0U2UuOkxW/CwTCSB6Dh84By09j9t3AwY2KMJziPGjoscJBLt3T+hdki67njfv59UecOwc83V06NIDXb2S14v2Ar0u5jskDOCogPzxKMUmoK3CnMTLthTbARxZheqBtTsEJdGacd1FLSvdGd8ZKNt1BGPH3WtfGZAOiN98HksJbr0yfixJFkve92OFXLMp5GGprHvLLiJZ4Qv7SuXpCYQOiW7L/FmXJy1+ivDqoGN1ZEdOJ+ZkLcGz948nhgWgstd3DrLp/sqz+9/vRfVcQPCF09NLTa863MKwIDERcMPvjh/OggT6YCOjzcPRs/5oe1/v5gNwJSSdgMAmupD/8XiAEfzYbKtN7/M57RGpaJwgX0OlIb3W0rBHSXMl6kGnC2UKwFG/x77BQ/sVVsP0+LywqZ98SkfsjbWV6v9+PIjOOR7fnh8YpL945Tc9hf36d+WXTU7l3UCiQDxsiTRmIp6mJnJJm4wxHOIxd6loSOIlVne7vbwe37DIqqmC20vh15UNK9sTHY/PeTOw8ETHfsf8Isgm9gB5lO3FBsCv1twbS4zwdrw85Xnoc/tj8ORxyxBZb0vvWBUI1S4ex/vi25X50NiccOjGg42oH8n/2bIkHgt8J1+Qxr+EHMgARcBy1wg5IP3Gy7JR1JB48I/GAZPpdIO+eU/QhSCdkfSD5XiICQEiUi1p8un/7X+7UYW2NEb1EYgCQe03PTQywe2vF/R26WF1MfWTPNDFgFCTOZz8jjEwEVGyCaRDGAfRr/zQ3sUqgW6kjeg1iLNsCmSWdSdWDzrsTI92jd+nS7ZH2qkE5B4S3CQGcwihi4e/JIp5+VDqCxJgXKYNFQlKO3DaZAZTjTKDHfzG24mYwNPtH92rVu4zNrP834+H7l6EzM8OuFuJdRQ+YnuYgIXASutJgIQbwDhQnhFDBscK8rPhFJiajowMirwBhJOjCJCPSKc3+HIWF+DGJxjLJXoKnZwi8kcJwIR1qbUD7PrYAO6tej4kzETwC4VCEfChryAyOwLYow7nl8Z6Idm0eigIQX07DH01SC98L1Zw6bOB4TjP8XT222AvrsEKgCXxfcSoRLy04nJzC4eS8X/H2Va9ehdk700xQ4V0pW35Nc+QeOP4gkMfjiZkKvf7q8QyZPmaZdX97gjh8oYan3MSj2fr7EY5B/EEvZpkI4Ahsvz95q9q/tVwjms/R5LOwSqLNLolDjzHbD57JjE7Ij+vxKYldgOPsCRFK3COuCDqG/i/+OMwqYhsxnKIZ/jOSzXH9EZ1f2Pr9c6nHfh75AYuL8ozLx5SfGLJ1Om6Ph3ru97JmA+1585Z0JZPFu9H12xP1eaC+gdcT/AT+F8QvnHhVndAgfnUpjkKvXkxnZV9+K55vV+fYWjw5XcFZCNevXpFsTOP6eHpKkWqaj/DUREAc/Cr3M4DHHQfKeQvvzpPqb374Pvzi1k8qePqdscPRVPgb+vZwQrK8GBNIu//DT8KjW5R2SvnmpziQCVYxYmuz6rspJkDHCMRDhOCUhiHGELcH24DBMe873ZcOwVAIF/cI6acVP2eaBgeNKxDKo4k00Tw+fcn9hn58xQFgLupq+Z/WExyjXfdmW1jpcAFTIFyWclW2TNhWCQqY51Lp0xx9nXlGzWUDm+WHX0DmXcjdZkbMy+XRiK/bqbXcp715U0jdNz7Irqto65hb+jzGafIeeGX28/fLn4vIqwDrPy9edcK7Ns5MSr0SHjest5fZWzR7uyzTqyJvL4iyUBcGmRhwW9l5D6uOpY8afCIEUP4ZF5DN6iFHcgMv83vloK//QzqP0okqJK/jBkzRyQBOYF8WQpnzUKkPMFgoFrjZd+Dx7GfTA/EbiN+tmGlL4NWGqgMApzfMDV+vvAOApV/i/Q1k2a74iyywM9MScy3CkmTt8uDalvR2wimAExKOSOL+8TbghWIZYHoi0QH8tCOOKCoKvGu3GnFGMPNEcKYSqTSKAGr3tBVPcT8BRwPm4vW8+6VMQNBkJkxx10uC4PdY4+2W5vN7eSz2dm2/pNwzJj+GYo3lrd1LM2kJqS02iX1yulA3fSzrR/QvB70Iyb7tQbziYBPPPeHKxTNhBAiC77lzMe/d/uY1s/0l8gMpgaAmw98uzX2K/MbeGzIjzRC6VArualmvEyjrz2Av6SLie1C+x8r+w0SY3lk9BQ1iP/X4L3QDpiQE8hPDk8nc8TvANm6E4UAUAofK0mOCAztt1oODhujNYkakb22KXyt7O1Q+mlYjqP4hIj/riUJUKAL5RQyAKS/UI2V9tFtXlvbdsnLrD/ORiL4SbrwJ4u/HcSWOQLwaDZl6ui3zZaMGkVezwe0yixwk+7M1vfiY2kWBVLaYIprPDnVZJSFyUiSWi6ttl5XDOs7OIzZa5Ny6VReWKB82BC2yNfx2btdjWifkf1uVdXh6VZcaWrD9FnkW751pYpfEEaN8Zoy4pCG9mRAUFNnkfJvhcSxDawFuFw43DC/ERAcuYJfOxXYvSA/YWbxTwcZ/W015q4WNHqw9kNeQeafIAwQ+V+WfIbMnCucPksXACApgeyERCSsPSKpJgQ08a09uoG5+tuJ2Ci8O2A9+9yFPDID42/9rMg2y/K+rK5siLtvyWAOTvQ3h+EgI9qdFCPdEOFJdULQZPhyO4EDjLL0U4iK9wwbiAl3Fd4h8TBmWpg+q+YYNPeR8ie38IHoGE20s9bXJphOP9jNziulWwFWhb1swB8iGEZ2I9L14PmwdgHnLniuaytEvDvi3HHOtObbZYRDTITiF+WLmt1j7spBarodCkTVgObwTn/dgzguN9+wcS5ptWy/Z+HQ+/NI2j6C2Luq6fnA63v/JuK9o8tPBgI/c0Ty2rz3AU2e2ay/7WPj7TJHN/GXID/NeOdt79pyPhNSM4myi28ucbs4fCNJDe28z/yjnnOOFxAkYkrb38tkzEQJB9jXNueN4gFIkWHVEo7yPWX/3G+IK6GjiAOiVFyHQD4b85jWY7zOgg1zjBXQ0qhDOvYm136gg06lYAUhn32tJ18WwHT0MexpKplScw5MpoWja72FcQ5gd6GzP+QoLxC26BkInpeVSIkQhbeSRO/cs1W8GYlXid+2Ze1SnkcNMW7XJYOM+pbSx8f/i/zuGSLFXEy/Zv/rhD4/pbmBu4PLFCSmwXlVnY0scTRQNw8qrn2gI8did9GI/n8NqK1GIBY2Li9lyEYqPy1zDY8soeanlhCy3lBDdk2n5pXerJOVcC8svj6jc2GQN5dwpL8gXsiEKOkQslg7EfQRdtTCtIAZYwgsRASGU6/PD6jRAQTnJcr0937fTXD/P3gv1Fz16o1ui7OS96L8LvPQSXEBFCqbxsVBD8YRll1h9BTnzjJQzwkHN8Az11TNZ7IaZ62B+pt6/FepfVq9aWBFn9n4ovU6xiq8h6OrlnVy+Xn/crr6iY3+KTKnnbUK4vQrHNfqN0++S7j8+hwKuzWg6+P1etUjnUNQZXwNF3+fnSamHa5QxZR9+QMqBKvoe/L5N+XYYsSEHrxKhAdchisKdkNSAi6wctHpxbjkem9JwUa7nTsRRqHLv50OKj0/Oxj5A/0BEOjqCS/RsOMJYPpIfogrbcXpKxi+QQdYQeuhxRFweyzqmTV/AqwxVYQjFYcv9eMUh/RB9GN8b3xpjgM8p3cp53MCk8PIWRz6uJ10MAzzvjNKwehFHPAvjC/o9pMn5KyYErTtHofc1fatHj0m5KQp64CQUyuez0/XZLVLS62rJExpXr56Jghk/AXTSLCmk0ScSAxou1/dPjqrvf0a2VygBkQnRZMZ5/zjxCjQFQprXdCA2UMQ8AEM/mkHM/9p8oJO3VDIX+kjDKd5gHiAhig+6/NLvlCL1quLxo3m3U29aj/TcLQ7C6kVcc/SXwpuPCVZ8P/PfblXvkexvZh0v6pgcx8oaSh+PEVgOKtvzbyiyL38TNW3tW1y8NNNZFi8CmGhgOjMAzr/S2dxmWu+ZZ1Ca7Ex8KM9xLMs2gdVnPMBa5AdykeA2EQaIF8cLzUq6sk6IAqYP3Lsmr/WLDzUO8N6D6N7O0CzYCeaFKbPmUqbrKpW114EFJPGKRn9+3e5PPphJWc6uwTGUXIK0z/CxJ2/EZlAhdOZNKiY+6xPpA3P8OXCOZiACfylWgN9NgLVqYht+DPIzHHAgohhFyNtBAcNukDl45Df4hsovFmsPvNeh3yPN14Pjcw3WifMsqstM4b4bBM05wlH5fCUGOHqFsI++0gT+w9H3YdYsEoGI+Pnoxaw2pN0nZPyzD0KrSRSAJv0rFQmQD557uyrje1bewIhDWU9ogFLDv1PUg5RznfnXWAhYY+5jl/QOa0NeAM0WA5/2oSK+J0Y/hgiUAUYZsoWS+3HnIwDE2j99dNDy/gLXwUJDmLy/a/jxz+jpsRNMw8/ieYySlESh4e3j94dqg2XoMXZ7onE3dvSf/dOx2Tv7vEMMRIE8K2yJM5GFMnaoZHNekV1ymn4V2SoRAIPZZLWJws55enzMebGk8VjZHf8UZv8fhGwXImyoIbugHAfZ7SWEZ0fHYey2RFexaCuSG2g8lQIrIPIL2epbtzXyCh3r89OKryVrQAy/b/X67nuH1fnUZP3oQRJjpm4hEtIUtxWBJeD7gGgrZ4r8QPSrh8LePSVb7/R5YBlNdvk5YBZthjruBArWH4i1Jjbt1eMP9XvMcrA/Dn4RcDgi9vaoMnYXWvCJtrDBACC5iQWXxMofj4vS8nNlrR8ra282e2Pz11wa8oKVZ7HAseTI95Ha+K1MBLpY7CvLvhZi2LPPzy/pVl8RuU/1XYb+L9bqxe92qqn+Wv3q8V4LYsjUL0L9/nfpm5qQYKIF2vHiXMQb/NBGvGeTE7fvA/TLEPJzR6bf0aPZ+uGR+Fq8pDH8f5kV5Id+YGbi3VxJ0+YtnZCLE7i+07Cj06j8BmjDf0JtOCjKlbsi4foxXb+kWqCjuyKbPnbzMeRHnqvTmap3/Lye/mGWd5GCaDkeg0eZc1keTQobxLxPx6ckbrb+jINOph3kSg11z/mtG8RNGkLyRgLYKiwGPcLmafP4GnWWX9bYOvV2dP9RZGXW0kfzLDLkXrb9YOy5iAZ9lx5kWre1CjrzP3Rhny0LOBJrF2T95M6bKljQei3eetqQ8iA7LClbZ/0is4wyZcvGAXQiy4/kuJlGVHAlwIIZM4XtqmY8mtjcwhyvdQeA5Tatvs3FxqpLfqfvX5M8MNdBY48jroG0VpdlRdoOxsCam73X1uKRD6bY/AT+RCtXzP5/qdp/ayTVY/V7ZeTtF7nJkO/v5YpN7oO9nC9AxOR4sZwfLYBpT1fAyazZaxANhiHbqOVY9ivAeem/0Qsa1t2l84YuUQmZg9WDALA9l9bR8zIozGURDh6svuEnZv7oHkH/bIHUsveg1CXk+7ah6yPZAIaXYSON+rP1O9UMLumecnYU88ElN846LXtRaDeDmjjULmkIYmYP2DvXVCyQHUrFhgrEZ+TPNOp9t5hGUa/wr1+MEsFCeO+n81dj096ByEKk9vnXOkfUHt2RFchPaRy51zlm+urB5ptfg7QvtTch/AG7iR7oyrPYFw+S9ll2te2FKKvpR7IPiZmL5X7EzldbtqyFd/zrihABnJrvvHfCAZQsPdIhb4tWf4cRGKz5mqJsIhTKyO9oqU+EMLCs7lT223q98wsg8k4V8NtJAsGUvg+OUzT7o6odmv3Dp1SW8m67p1mxNSIIRhTsUVP9RBCsdjYHklnAEzcJJLISrA95q9PZ4Zl835ZL557VhUlsOABLr2mXIkoDsi6HFLgViNaJdQqy41EdrQNI6Mv7Z+SeC/K3o8SgE3IY16XiUldH/ffFXD/ORAm7P7v330/PK1eQZlCsEalWu/WtN7P5Vs5NsMQN7cWmmn3VwjT/Qb2nbPmrFHLCc1zQsBT8woyre7KazpSFFlLLipmzDZSMs+eHLVtU4VdKZb7Xhf7BwHbo4XsL4nrhFZbs2TVCHouRVtVzLAVcTEoksP2ivBE204imKWhs4GHWkoGbPP7iMlmcz6YlstfJ6auFh165HFfy7NH561pk9tdZXTLbr8W0Y/q+htTbmrauR1yv6f1tTfd5OI0QH8SE8xKS80zv0nxd6+55IAhhxPsFXq6cL2de1p2KsyAoQe9ZBOR9CYLCXMCwCMzAyGxIbYi6nNQ0GQEpzw2WhzdzKa9NIYlxkHZC7rlKOsH77Vu93MZD17aQPxdgO0ZP0Nh5kxFDHVvoPwSImUTEqAvqr1vVPh1Xnba1Wv11fQtFOFAj2QXf6OD0T8sVhJ3QBJkW1EcXanCpNNHBtOhAMFs5lawHfnciAZ+edn/R5we3fQkhK2IY+PLDq65HRe95ZwLDsMa4p8dO8B/YPnxTHWYBkI+liTbYddEMbOWlIs1r170GvnTXFS19CEYAYLZDKs7XCfl5ZufCxAO4Nq6HYSIQQkLe7SJ9CD7dJo5ivdqhdiLf8QKZDul5a47IAEAEwB00WSn42pYl8xoGcxiIfxhsyzIf3tz6lOMi8I6JyyVDwABkvPd1uPLIY/nK3YoATXEKskhtIwiFTZ7jrI0PcSYPDeCJgCE4EzNl7W0buY4jYFLOETHs4WDjKnh3ce0z7WMQWXEFtkgtzAnsa+eM6wN7vK0UR2dhFsqxuzjvSFkgfzRFcCgi9UrSZbHpXHUItiRTWW/w434JpEXTiUcO6pAIhc/L186LC09DLr9R4ijkj7v3IHCnu/9Bsyt4I8hGnhK9pkT+Emydf7perjPnnAb1d8n+bzt2XUVwltNz85wgP5Ryt1lDD47iNZ9zHYT8zAFQBUDK9TCM1LgGkm5/WqR/mgiEAa4xmyPv8cKUiC0LQmDwHOYK3Iy/jeOO6CC4xb8Qd2HTEQCg7+Dfi50YROS2ejt6iOHL1LvNPAj3Yyg1GuyPErIYYCzvzopIhmvcNw/j3r1wxTI2R18KEbHjMuXkUxPv7Tew3sa6x41cQ4rJ1wlJNInyvSMgBw0mZLTZiyQWVQpcwITuH8lu4Iz8ykFliy32gncBH5tb7Y5xmOifzbIm2rJ9NfthPXsyy9tPY5/5yx961Vd0Dn3iywuRXVibSmrOHjV05pSuOzOh97JHOtcZftFXdx6HSdhcYTKYfhWu2JEBMd01Xvsr/U1jFd1JdayrDBnIqmAWBkvDiqjTo1fBr0ysdDtzxN5vWex9WB7UIuHzWV5POPhaw0iN0f3707r79CshAnDoEYeRy/rpt1dh9Y9a7BjV6VA/qIoX2lcoZa5OX8b+62CwqGMGf0/6QEevQ7j/dr96y7H6n/GqvS+ePgurJ21ZHmvq7xXR1l+eEJX/MrDa3Nji8VXRzAensodTzWe/DdVHhDyd34ZwMbVYmS3gs5PF0J+S5a19IgaLeg4OACz6Z8c71fvfLVYXpK2fINVw51NpPNoPZJ36NyLzbn9Nj7uQPNsdeW7P/UAUsHizRyz/R79dpOfSkZ69jftU9iPoFShPf02e8f6UiAnHF4KUH1G9aAN+IVocxK/g8/M/DnO/H1Ts0UhcwWAwCI/JEgLLwWPsYUCWkTlK++JnH/G+CANCfthTFp7SOeXBOVZZ3pkN9Rcncg0AwszRt9ul2dXG9SxOCMMQ/nyZ8h7R/dmnxEmodh1IPnsiEZdwtJkf91En8nqlO/AHrt5q8KHr52SZaPH2bv+GzqenXjGOvXqMMbIfZjk0uo6ZW/KM7HlB2kfjicPJz+ozvvgZjS0messcwl2CuLbr2ehgtRcH2Pj5U+1grNP+Z/V7rGENKcLrsttKijeQ1G2nl1UcwExnspL5X1tkG/zvfdrj3Ugv74GLWIqLKpaIGIyPsMNeXPRbraYVWeUxOOuDWytt8eBi3pDCIgXdI23+xViMGVcutJC8IXPzBAHwqyJzV8zkJAUqbHKjsXbgmqzfsCtv6ltVAuJjkT12VZfoBhfDDwDWv1yMA0gsfyEYrCXFXNAZe1vdfK0UuAEcIT5AjNiGApA4ASjv1i39FzJL2/11X98nOvt/ImnrwcEnQjDkORBRxCQozxMRIObVsibGsCLQlWflI8kGIFLgFKKIQMjvrSAmMpiogBgIHOZMlYUmGgDB8X0m1HfA71SM44QFTV1J4dQCIik/kjiLpksYqVcwIuBYdYGkiR+GXMEg+CXpE/bcZ47APEpbs1m1cTenmC/J/hwDUiM+AW4XTmPSf3vV2No/6Y7BHtvHTjBUECvvsMnE7KPZChtOCLU8kk0o6PiQN6cQxQY2b8Ds9xXM7XT+kGa7q9e96uWM2D9nsYkD2TrBBUzT7D9OMyeciVrO/gnPKKzdHhubqq90VyL+AXBUpI9xCSjtlc+j+WzTjZhO5c6gX0B8A15DDQ6ijnHiYn6rgrgK2PTZz4Hs+3sHRPHvyiYeANnM4yjADvvwJ49p9hcn03Ga5Wdng2qPZkPr2XOiyB8y18Q9pnLYnP5s3Tu4gAXsXDLQvQ6wdp9mtcdTsn6e3/lc3HVhvxd6bRO/eOH3f7FYL3YC70lI8nbo0SzaI4TB7Hqh7ryQwzETX9DMP0FHIB3SOnTv/QucL9brQD6diSd+KzP5Np2vI5Oy+zjtfC3tQrmPToQQWNrxxQ5bWD58sHh1Ntim509U9sylf71Y37kfWv3fakVfywHPQTv5eRfCwYADmJqC/4BwJUj77Dt5l89PBtXs43Z0LYbfwCycoNC3hPQD+ArQfZsBv/hfaFb8WagWaCZ9q7sffTEpm5bgGjMsZnjZNEXqxH3eYIUmyV3i1pbBFdMHRl4jKG8faVnKc/Qz5RA0BuPbE1Pwztb4xnbMBpthtfmC0HGW40HM1jY+eEMWPIPavDApc/es+s9M7NPYvK9V7THq1WFMXKcxsYzzuKJ30DE1RxzS5eNBBd+MWUJ6HHfo+JjEwbFFIgBMFcByUucZBzBxa7jh4EwwsHF8SGzHPtqv74HhfvkTaiACi0zMUGfNhK9Oexzw4ikhzSyJA4xIhfOD7VrCikNCVMzE7Af96rJuPXocrjTogbnXgiVHgI3709PB/KXbY6etL777oZ72jkzT4tcNxEX+s1Nh5U/JInh6p2bRw56FKKqr7ZkKAVBs156ZLMpCL8CnX34vFfkDu2IiKIUFWGBn/8jCCdXH1lyz6uTDH0ePHLUn6OBDFB76UN5BBmC+895BR7j/RXbA+ej9xTBBA+QzQvw1IAtYeCDwWkLkjpaDKIC3WITDD6W/r1wA7oO97zPLLnm38Ty6jzq2tfzHK6H+zSBUHa5LVZ1fJ4MnkPzFh/3qX/7+S7pep2d/Sb8LKt8Le3Mdfua6llkP6Tn/+b+meudo3JwIYZnqb9dwoZxgkWCn+owIwbquKcBaBusbABMFSltFQBOauDDQd+mI8cs7JQ32wvh9wWzb+mzZLa/+2WFgFhnptoMRfvxdEFYSEyFwgJB0AesS1DELxAM7K4G4oI7QdjslTQaeQIHAwCHTSeC7Gz5B/Ju9M1ZN7D+rx0lsQX0Tt3J533ZYCto2JmgXIprgueO6hRsmi3NdUbnblq3hgPh+TGE9yOeE9HDdGpA4xc5YLAaQaLzerccHK6HlXTEzcYBZnsTCJKbGGBZNX861rPuHGCxRMDC3mCHF2HXukOafjbDl/Qafbdjc/3RlnM1vseMeDIeGkitpwdKL8Qqhz5dIPDnYu6x5z3knmpiGNdXY02MnlK4dfudaeemC1dNNOj0bVm60gXME3fTr9SGSYUXeKD96Y88B60Fk6w1C0K8+DC1o89kkF0QTb3b27SBIzWWDld2mf+u5iU7Z+233vPWQNP9teg7hFbfLnwcut+3KWb3b+qThuoZATYbsc/ALEUsMTDwYZQL1VpI4hpkVXhnataj8DixmPch3PDarwxuNwBzTVnILhK8zC4ii5SHivXEaeYM3Kq8H3TSVy0D0VnHR6kcY9u8/CK2JBlfx1QfN44PfzywoWBGq/TWlPh1+BUcLg8w689x3SkjbQlvFGN6r0XPNDXaTUzTPPvsn9xhBhAj0hIXkzL3MQeIzF7jB708AKCPppLQe14OtocT2LoscZGVXqqPvfBJ6IRGfJQ2DbnvOA/nN4zEhfy8E5/cQ3TfUIoKj9Q0ffdSaIPoTj/x+sLB9ln4WV9/Cbpt8j497/I9zM58hctQBACE+FeRfp+utPdGyG/Jvf7IeErJvs0be6ljXOtor69Cuc57tkOR9nIOgWN5ty78rCL+t9/gc91EHnvuJIL38pNZtegYIBZ6DOu0cdQWDT+THdeB9+sd1cNaC6FEYBNFBHIfXKIiOYMc8Bp0uwAdE5XyK7LaxSSPya1DUDHENUdVL0de7UyCjry+a4wpPRt61iQjMrj1TozcBbmv9aCuQP3pIWllF6l3XZs6DcaUTCr8j6VJufyhenFHHEi0ta2Gs/0/+ydjsg5e8lNT8xLE5JDoHfueiE3hGrMXbsPxoTOPPBd5wcgAN6YloPUlKYjlm+gew/cIsQx7G+oKXpPF8SSIDfjMT2JQQ3kwz9dWzXvWfzMFXW+DkW6roe5Krx+SexSo8ILb8ZWTDe5q7E2SpsiA/lnhi6SQ2j/SANLDtk4T0T+l8mpeCknih+YD4sF7MvJwJuY84WTKojdAMS7tfcswEaEOwHBX777FMRogPfYltbLlPbJ/pTxbUt58/ksbXY7kecqruiRA0DWwa5H34u+M7QKY31h8mMmaPoeV/X+Rljs0HjXpH5Hdo1z8ehPqMd77tqGy+zUSvvdup/+WdL5UAbutb94hV7FQ9asL6Sqg+vkdl6YgsH/+GEH09VKgDCDtHdUIEIEab++djKvMbTdtD+TaZo6h876+3qx4hfGfQi/34cbtDxGm7Wl/pVL/5a0K0tug592h0duh521Su89fy3CQedNhKwDoArFNAJ9B796ELWIPlgsYnr1OALmSR5VqwuFgTAZZ+QKzvGtZHnKdl1Dabfq5rDQb6PYBgbEnQdQj8eHyXuJMyWivXEC/A5j9W1vpSxQfWnUHebtM33RtIOfrBygPWH3b4OexnPZB9KEAIFoj1Z+sbb9y6J2og7NVAz+Idmwn3uADlj9wFlcO7DXTnZjwf74FrtImXfdN7Qw8C9h9y/+cP/pitRAysRFoMi7w+gwQC0iFVa2QFyBxLHoB6FCpp1pCmAG7lXnDmmhm9sEL0QmbLQQjewcIHH1G3y697PBuzg4SLT8jIMau+z+yP0KnX1akiLVe2pctJLIAFIuhA4rK6lBJBFbLIKrBmcJTZlHfIO4yXSi/LdeFJkjmduO22bZY39jNyAdcs1S3P11Ubb9r97ZC87Uwrf+xY+vWQtPRyTzTvSRyYorzHKg6sywxNMzbqaq8Mi2ADQmoaz3WZxuUpfSMI14Hn+vJbQQiC5fFpOLc6t/Qe8jAnYSLNp8kase3fOYhPgj3n/Ks9XpEYgilFdU2C9mRcKeniEZbv6MWJyL7b7K9RlGJMROMSinSu54FMmFLHXpyl114g316166Izy4YsIeIT7oEDjCKJPt/vr7Cq1o/YFrD3bvVn+S64n2/mssO+GOx7obO/9TNzAD2yG5tpefUOYu4RNXsBStOu5ng33RR0EtRqgK20gypMCAEWSHv5BZRdmAGJHeiobfNIFYaz+gMgHesNXvExVFgt17ozE7fFvnpNMy1xAEi7mnvJ9ZhpDbPwS11fJauiAB3Wzht3IMq7TrC95H97NF2/un9ElghC/rFh5F+mY7RmkNJylp6HFVm8dTK3aVaCTRBgVR/yMZE7QlAFaH9n2e7qt9tmUMqNWYhX4t0hwkr9+fn5cKCNoUi6a2LXxz1oxO2NoD3HCWZ8KPowQ352kkxqH/02aeyhhGNiSH2CtI9O5CW2+a86dYPIftIJ984EuX9zxsqvCtdnpD/5k7+m2YWut/S9cP/js2ARvMIGOIF2KhM0H8p+7Orc0LKdeykfyq/bs6Bc/Fo4AGm7vCO/zych8i0f/Y/b4eL4O7Jc9EmZdckjdk1tI+BiH59jxl5k0edqXJWEugIyhLT60U+In6uSlf0ufi+IZhyZxDYYUPpAODb6mZ7GAqzgOwInPie8eUw4Axv77J0/ZrwBVzIAPrXBNVC9U0/J2vZeRRwVK+guUWZciMSAOIdV3aBml46zNHsP6LmrGrEZvg48yytyR+4wJOuQWYvA/UypRUV4pDVWqH5EM37vU7XufC0WmJbZiZN30Ota1noHZlvtc5WzPjc0yKxuR9YRHC3XtsPNst/mNQhHALBwTneaPJ1sxj8STgFlIG/b/nDj2T5xISSRoJeldYKsyuuo19XtZ+dXvfJhIALcsP3YUpv9bZGH//GqPuSFyeeR3DdZ603DltnJP58+GjzYHAdwe0TwDV6v512HP5VZk7kBnQlt1odosG7l1Ja+sZuUfCKJr9MMI555SN+A3K+Aa8zUNtsDUW2GRnqXWHTcs5mcZ309+vOg5zar+zqCK2vPsnKWr616iLCSFJbmEbgekuzKXAy4mv5aLSsZ4Vsg5PO2W+vg3aTX3AIn7xORn4n+QGIqpFR4HfKPN0rJg6r6oKnGiQCRBZP2OD5jAAF54fU7a3FNAz/vhYVqW2Flnfk4yOy9ErdksyCtOF8dEUHZXtM4nrTGwl58LUABuK5jCGMF46hlhXd0qeiOu5bFJCuJrVURICoYXsBPWZcaYo96NHZWWOIJXdziiQA7xjxKrLUdf56x1pIOQgBOAWXWp8Z1RVaKWAToaJop9+Q6uVx6orBP5TqRzb/kQArRw5NEl1X4T8MtU4kSt/ORuF3acUJ34kUSiz1um+2JhsAdOO4wWwYWb6/KnHmU4k71c0LAycqqmbYfSGMIsa0s8TouPh12yR2sGlu+XpsibodYf1wD+Qckjwe+J8RgXZHfkNcQFGBIi3PmAvaU9Xf3cW7EY0PLI5/dN/CigU8zYKUjiQImTnA+tSzwmoJP5T1wbT11zK7GfgrbkaXLwUUuUozdORYt+NramgYqTfENkY/3Q1QEZkRmhaLkOWcC/ppn6lX3HeGizNf0ELEEmMu1TaBCBNb0+lxZd8YlVSjeLqIu7yqRQd14nhEFIS5BCAs7SYlib1XT/UpK162cb+pfmLu1rtbEhYqKVfhnf/1eLofmhhWWYV6sxDXpsrgkDyflzRxvioUZ0aTIHoWAZd31Zj/Ygg0hAsvhL/8KK+X2I4Ij/nsv+J1zfJqFPAZiC1dxWey2U0ZGudSyDLBQHMo6ByMCosk3LX6Iq6aiB5+uujKnD4OoiVWZszQJ2TX32ZoMynVFaNZw20yuH8U8+KaK7ba2QzLTtZ0m3sxxuG/ae1a8oQwQ312z3B8EaUs538/oQOLdlfQOHllDyDmAQSHzN9VnBIBkzytwFhsj8oWQdA0ReNBu8+mamjZZxxHy8Wp6A4N1d450LEaC7oAJcki6g1Ud42tu+sMCKuEqUv0yKVp6CGmqXHOT6FoRD0kXY+2JSZCViUVMh/OGFZxWHFGdbdaPnLnezM2ga8IZ6tjBmFpznplc5JNkMsZ4QA+Nrf+n/6wFjy2J7SL/REbqU8NecmeZjDSrTir4mezxOcm2C5MfxWaZs4Qd5zR9TgM8wtPq56Q9R/BLpCPQIyKWTtyHn3zIPKfmH38YXj4zncFV3BAClgVEMALg+OriQz2H/P4yKhmnSY6HbgGEAd55X108J8HnSn6kr3hJ9SxrPft0PU31ow64YsKv+u0/mGWHC7wDvL/gfQVPL3hmgcB9cZGcNNiJRLXCfZb5RbsMTe246gEWpVtZToPXXoeOFx2SdS+EEJhX3Mf/OtQvPkzXNoDX9QP2VoQA4SN+vCLveg+y+IqTxUn7/hto4+mIvHt0hHZ++x6ZMFXWH4X8jKyDNJvjuKf3Ue5jJ+8DoCtoK9JuhXwPQlyb8cv0AqUoiTrPnH7A9AWM+F9vh47ycxBldvpfMscHD8Me1jX0F9nTETqRba1vPQjvx5YE0qWgjxdpLIALGPzN0/ARlelN7VQiO/fpu5FcTvI41hyIjmCRA6uatmCHU8QB63FMF/xANKRF1eQsqkbiXL3tkE9w6HXdn/pjKrtDugVxxPEengO3uxL0BqhvB08jZRB0ASiPtgUuR3WTKQV6ELhKT7y/GDpwCKPxBLm+R/0Aj0vI+XAQW1Q9USfI/Y93xZrTId0PLD9jvf/nPxn7iGSpC+2QRfdhPlevob422KgUKwuVGPSp4+Z0e+7bamYxpAeSAIHsyB+bft+qW6YFw5y9I55y3k0Wx6Mjie9k2xiNa5j0lhKDVxemCDyi61d0LW64WHjzy7le64DMeJJfFIkvNb8FSQLyXzLSX4VZ4gC+IrPl7DIRKXWBhknPPMMWjLBpG40w2LuyNxk4JPQJy37taPY712i7oMp9fCiYYZQAwJNvO8hHg7ccPtDWqrja4sP1dDCv2weEWU6VZ0DqPSICQHYgmiGmAe6vK3IB6TtkikMeU+gZgs6BkIBQKLIj/S/o+CvlAmz2ByL3tNxA28D3VkLL6jPkNkLgf0YMPAGwdv9GlYtGYFA3FIyBiNb7hPhQYk6c/F+pfzr1b+bI3Ei9t06I39F6tjvSR0D6pb8J9Z1HoQXrCZAfx88ulDB81696vFiqzyrEoAQASLaoqCwcwMtKkBGILWTBFIg7evU5I3/OMXOkY8KJSyYo7Ugw0qS6GCeEoKX6wce5CvpMOYNSUTgDmOqfsvJTlsGv0btgIVefzKX9auK3XwaMKDGlbtNY6bCJ+LPfSp3op230/1yo+JwI6xyNh2r9X9XjmFVs6SbA1o+XzEzO/hML8mCtCoVHUpOy0Fhg834q73M59YhKG0E0AwjB+k/vtizCKbgHiA18/JNQZWy8Bt+QxR371SrHO9CFTlpf5r2IPyrKZGZO+GVjK241BWVbaIXkTVYu2ImmPAUzt/olrwBjx3Fujj3bYRiQ3mSyM2iSsz1kbDZYQCcO8Ds7tn+rKMfXe+zMk4kFG8XR8pd1jWL5rYxvd1YnRBdq57bK/uvBexKup0o/yTkArgsKTOg3TKT4Mo3xtbiiIkQDol9Mvc7sNCnNOG6CaNNT3lSLFwDytJR7xxGInFzk5xkLH5+xM9RWMROvZcFZzPxrsG198UkaUzF9JYlrLShV1j+RlWJYFYZje2/lChpWfuhayGSNFLppTRSBQXeLCW7/uRf5VlPmmrnvVsUBmpDdYpZNOOWivw/PKR/eOOoMICeVnrh/Ih9+mVd2JeQ3WHVeXuLlqM/aS1tsoY33FflDGA5dFetSrz4/DDjghV4z0n9iIbZC1Mr7c/5QxUDeUA86zlPY200xZ2keyXC+rhr8UjaXutZrID4jypagoZ/tAd09VszVUalXEIeyXv8s1IVyW3s5MUqInSsK24UOIVoeYLUA8qviclv7BcTL+oOJog7yDUdEcA3CiiOUiBjTQBz8RPlqeq47cVzYWDcFowVNWe+n1YxT8XwnK7WjcnjIQFY1eiQ3/c5O38dwEOtF2lLNqzLT8+OzP5WVnIjrYLI++1J8InWtB7eSc0XGHvpp3bUMfdPCQCgDPsTKqOG8LLMvMz4HjnQk0DsrwCKw5hDfdw3AnCi8owxvXElHi/cWXSWdxyQQHkRgoiAEBkYsJAJKskowKEHYt+W3MTjicp1twefXMbjYc4D7E8tX5+rowazsA7c81XEE8t57GWW35blxBx3tZyMCNlgHohxjZI/fAufO1x7mvSYEp+/UsjqAcO0GZVypVDNtvtUTNjaYI9giQlCa97pWSAmBn+23ijo9whsHgPLdgkhtOU7CEzD/3IHTKRinwuXZjLnOBGPd5YnuyW1Rhtqsj3NzU7Zz9P2xcrwgArs04SVV2lqcsdcjp7ajsROlhF/qLMq3nCB4ZMe9Yw6+kjhE9slfEMLEE4O5eRuH2Nc4i1rXjpp91xwxYCUongtipu0EQZAxts1t3LZOo29rXOa262uksQjgzUloFLM+9lKfBKGCa6q+LpigyKpghiw93byPtc2qMIP097IB+cbFeWNRwHkivlECgCvbBdfSVp2nnbc+eB98fqYel909bKu9f0KEYFI35ThxBMY8tfy+Vaq9zZm9UGhi3Q3tHM/usyebppVsGWZ+b45bd9r9dtTsE9FY0Q85GDbJDQqTnsG6U/gNChEhIxZEAFZXN8S0qTN4NzgiYPCEfpvpkjkHRWorw3U7JIfmP1h9IAyK+MZ1dDVPaQ2w91nHICbkL4mEcU0x/qAjDFxWvRW3gxcf7Cpk/Y+jxTO0md9r2C1mQealqOC9Fxk+zes0S8/xlynmQgqZJvetqMVciFr8uIinQH7Lb3X0t+u1zOMzcUujrC9jH/+jboX129Amzw3kgR1dN26aVSw7vZjAOu3F2iK2wEPtQtdpz6o/tXm4Pfi9Lt88T55Y8Ky6PCGF4YluzQ2kUs+n8dcf0e8ZX8+xqzG8DeUc6aJpl3Ss+x5/+oyPTCzMn/4iKevikk59URzvK4GwtPGLZwGeW7tjs1TmGXs5whsLy0DhubWLc80Lry203ytqDMdNaSoKIlUeffWUNLh0p79DWv7FakIViNBIs1//l6LkM+jRDxrZgSrAWEmnPvMfy+vxYEcenJtSDwqzjvO6M2QBMrVVc8/fUzXsQMTTe4nBMgLCyjdCsD+Z+0dcf3d3q/pVtVrb4AKS/sVAZ1NC/u3NNLi69PuVOIsyEVgPif38///Xof7Vqk4ug0RItgepPOoNg5Rnz1kJvGLxjBRW986SEtGUh1iLwEpDOp79NfVFW/rHkJ/fX3/sLXkiKdshKcb4G3wdOOLRhw/CFcpDu/4Z/QL9vEcia9thienI8mWMc6xVWLSISqhLCQOUcLheugr1HrWNlXJm/cE6Bwyir2X5NpcLgvS4Rh1REdyBkniRlZ48jkiJ+ZFq9rGse0LzrS18x5zJtlpN1vX9emT5gaLWFLgG6MuxvdXuGMwqWAiCdeHWKR/pCH+fKM+ErjtHOl4UC1Xe/07kW6/pNhPhq8ehhdBVZvLCD4s6rhbaYfzLp6R5f48XOhiS7tKXf0yzKwI+APHNrHZ7oV0z0VDkZw5goD72zCkEXbAhbPis219uTtNghmMW/ZWcp9cfsKmHA6EwsQHyW1wuIgaDQSQkcPk0Y1DS1BpIL4h22FxUsVBFcy5K3xnl73yqQTBAXL+Wj26zOrJ7V1k7MiE4S8hq7rimPZ/TWd1MdVaXIY8hP2YAS9tz96krsWqzOt39n8NgfZWR35B+PQiSYjYHontxcT2keXRukAiCHWnqZZazG4Zt8t2iDvy2lUtY1fbDCjH351Q3NfK0I432JsbVvdz8CORnkelrNYtq/AI8r/OJIO+2WVIG0jY8F2ZVMnuyuQyLldg9mRCWNepUQZsI75wuWDJOA98RiMdmW7p/+Vif86labZQrwWInJtQd1fF8LW34zx+HGs/gl9F6GdHflzo6+p44MiH5Wp6Lsn7yMBMffnD/BvJDaQo3b4j3WITV+ettwu1e2FBrkY0pQGtdlQPmIMDLNPl6mxtl7AS/uMoy9vB19VbDeaYc+5DOd3K9KKgv7KPn//c7lVcY8sckhLYljAbsLgmxQhdNrOoxd5cc3u3Wg3fGyePo77G3Vr54Q9l8eFrpzrq3v3nN4gK8wkxRtBY1vPZy5mqZ3jZKABovfzskUQB9vaMhszd2k5edKeSaPOk8q7/e3q7iPc0Q5f4Np5TcEG5g1bHanv3L5HIQ/7B+BfbfZHfM5sSvcx4cf/0rYiGtbBgN3eJ8VBnWD6iOwLfJrrdcud0t+k5b8i5b7n53Jfda5H5UhdeWW7YcTLeiCjFzmlr3DfokXRsBxTXKxfgH6p2I75QpZE0UUeLI9SihgCXC3LmN37DnbIekwNyG0/anIQuvHkHr3db2t73yswCum3C3rS7fwONt9QI13Y//jXX+q27r3j+nzl3XxRsdkT87ngZ9LewTQlBhyeneubD+zM50XEQaGtigsrC5wtYNROAFLVQO6Vd/02a75uzJexVmfMzutvgCsz/SMNtylBdEJ8JSx3PZ+mqcg2SSbXVKli0z8mJ55p20Wquc9cfdtlPmowBbPWyzMd4e7LS6FJqfqyuvmHOh2RvLKwM/8ykRQxKBiP2CkgjOJBx553+k3wJYun4FfwrYobHMcpGu8cO79wI4KWERsSQWswq69V5HWFiAzd5gP//7e5LmnW7s/r0z+S6C3FvMFzFLDOQnRFndkMwYtGbHx4fHDD03SIP7L5TV5nv/9WbYXl/PWHqc/8N1kZ//4s9DC8t312XQMWcQB1vIRQR/H4Tj03VBchAZiAS4bq+kGZ6fSdfrg1QX2gQxYV3Fjb0/l+XDhET8flvSGfXGnog5JhIYgeMFSCpCdahMT8U6HLkP2zLTQ8z62PJBbLgnBAbLk/EuPXtHIPLXScxAnfgBAcE5d4KIEOAsOI+K0hz67GtpE8TsDpSXGllpVTkUW1bNjlto40A4jw2ra0XahfO9tvO8/FrKg3tJy7M7lK8T8LMxE/ScOT0SA4TD3Ao2/bIOAGu/7/3zrXDvf17ljpYKt9lbyB5++Xt5GTSop8je0Q7HEeGjmFBcSGiqniMIUGBAnup/t1PB+eKxrqICArP4QEj3mGbbncXEYts20t75Ashos6s5U0QvKrfnnXnfmc8CzsGpvD+eVuJBpGDkh9POnQHpK2Q9/m1bcYW15YhAOyUYCi+wXtw/rx8+WxMnlON/EFjGv/hukWVBfne0h65BMNg7qxNYjmRWcqAf9J/LNzA23Mu1xqIb2/8rZnW3aLYDsm8FHDFb7q0MSK7rhF9tCCK1V3lGZLn7L1ZlxthziOkJwK/U6Qdpu3++zux9cPkA/0oR2K67IRGH9dCcNqf6ADwXIsCTLjTNUocRFGuH1bs9SPX9hZaHGDD3P8g53qe9Je9P45MRn4hE5ZF+Tlce+r6MyG59nMZ95DCMsJooBTn5Y0M2IxJnMu5/o/eA4OAA5lTcAJuPvLb6seOQFojfVsQEksJbk+MtVEJA5uj+bwYdJgjcRhy3qS7qq98Q6/4xye/mdEWMKZc3MYzjMei7Ix6Dd7Ia6LsE9542maAf5ftviSMQf3iwn6Zp9dpmz9Z8oh/MNK8OtoPLV4BoVJOn1GqxHbXXpAc9N6cIu87WX4dhzTs72fxj0bKXTks7ri2Wbs8PIXfKWHemmDwkl/qbR21winS7blmMffs0xPBbsQ/0Omr0w7D/uynxSieZlG9Ly224qwTdjY3EEm4Os+AbytrbtbH6xGNXG2QK9Bp8zN6/+nVoeTu+rw91QSzY7CY23ur0Yoe3JPjyoWib5d0tLAndJ3LcJQKA4yq9I0QC66eyv3AerQ4OLO96gwu0wbqLdxBCbm0wLXpQ3Aj6nG3sQ7uS1lVkFpq9bVV4kyyu59t4jjNrgkXHFfCOibM6PLXdqs2thvY3xWso+2RQWH/y/PLmLW8S2o4P3dbG5dR+OyQl0LZ7MBRclm87+KWICmsJ+QFmNzdCYM4PoUCY4DeJcLL+2tqw2Y3z78RLBtNLRDE9JGem3WIVli8HGKzstaITD7dLclrgCtyDHX/d9cu25l8PKdS1hb6CdpnrpQGEn1fWAUrkDyFfdpvDFv/r7m2I7M/HDZaVu3TZ3Uw5d52cvVogf9Q1FMjPR7rz6w1pM4gB1/skITPyV4r89RP9Nk/Exu+fZ/mDO7KH4JOcGFheXwZEBu/CCM/ETd7R6wF8f623h5G+vBY9yzbXYeXNpwLfwK9stOfY0mi+cAQc7wHkNx3OVgjZ6knJvx59LtrqzMSxE5FPkX/b7uP5wEElEL6NdvRLrbdcHj+WNly7rR5/LuIj9D0b9VjY6Lb+q79OCz6EnejUe0rpwMaYXANtJ1gQsLQY/JCHwOr8y8fOZ121o9sdDVFFstVnv92pZAGGIHVfzYfGsl+ox9z6ifhy24ssFmGhzeoAEyRCY7FJEtf/JtQWCdfqYvEBzhdqtfhIt6pGsI2PqHxPy4KlX7dw1G6jis/PRfOPdoMTMV9umERZY0siwNw9XYE3ENYe72/a2qDaXva9/kRkx7b252/ayR/fs22mnY3KUUIGyOqmGd9S3a1pcNcHq2Huz1cDie+sKQfbv7Gl7PNABlbJsm8HZbEV+S3PrrLtQfOC9f+Hm4SAhKj/kNjVf0VIXm0KwuO+sfYov/lpcmNmeMJKtzgpANmfrIeaRACMD9EXFJNLcOc44jloD46wBLRFv1H/xf/ArHm1t8FeitVeGLaUmAnUWP85QvjfkKgE8Qk6E4hNGyE3KXoTmbHcdv0rZ1Zdd/e23DOYG3BIuK54xN9xi8Tr9X/Ezlbt3UH9GzoHfKzy+qrK6SEkMTByM2GYyzHzr5mAvWVo1fWn1/Zb+VV9H5zvrpAIsPHregyVekeMyC7ok0uRYKNkeYzlLZZjRj9sZY3XQ+4YEZwoYeGKsnshhMz5ApyG3ovsOXwS/oXMtsHqt40n3V50ZWBJgDlncL06Y9v5sWPh5Vk7vPttydrb+0afa21Hk1OP9WMT21rOZk0grC2xwkS5w4qwxDz78/mGKAI38xm36TyMuB8a7gOe6AyPB9b0BzM/Zn1uABOFTcrzhK+REYRCCpIlQevYlOKgBfWvtkKrSTTwXAmuWWSBsm/LORQ9SRyOjddYxlk6ojUjiOWkPUhORF5E8Gz+EAsfmsUMg/Ib+npCaBZPBt5JKQyvpWhqTxlGbb1BXCyfNyqN61CnLXBr7EZaIr+vgE0gK867zEwQNsCVILDM/qlc24+9sBQpOAaZRrJlH+gvU0cw8vcFsZkTCMm7aTuoKyTqNJEASLYmCGzXQHb8bA86JGe7z66JKLDe1/3nHL+P9G19VnCy/7be31GXTq5T78Mby9w5g/ZDifyJ9UvmKP+xPSsLYHfajej1F+XMrVD4/LMsulGzCMAfUsx3wDIgZnTBDUkE6GpZf9xYyeX38tyuK/2DBkDmD0oQpEGbTCE2mS5I1jq7L/DELqv0btY+a0cpMrDZaksGKvQNLDpsJr1AV/uGyxRmTutZYZsH9RafS09j5uu64CYeybwnoR1LJB6FdCWrjfLerBtCHhPR2r/ezsWaLZevlPMtrXyuH1eSthX7aNX9NrS/rN+qbrdu+cAPzMp8QoqNBgpVvrSnSKHQDazrMc6kQA4nJ3P4KuUQ1kPIwlL72Rxpx7qRZXSjnJK13euuTTFvsQNt030rux0KB5VPkwNHE/j823qELR9ReNqOSJZUfKuhrm4RcAPgEcN+MX9oni0ZGTabZ3d/7pVrRv39M7oNZdkPoNaZPzRDtblJ3MCTepOO4AJiOspUVV3V9D8kDiDO3pZRZ3RcQ6wAgXliz91sJlBNkNyRt5ggxvx0nRAljeL1EUo0gP9+Q67FoZlTa5rtR503jQeD7l6+BNsmZ79asmnlpOWLvhT83hvZxJE9R3/MAWy5RRys2HAupRYTbqAOKH6RBlFneTnTfgdFEOegYKvggFxQiOG+zZQDJRxcTrmG6Bih19vMMUgoo+gTTQi8Vuz0uu7Ot0OupMQ5r5wakZcdJ/ChP5FzA+9owSupCsKE39Zq8tUH2AexhTn8vIKrAvilsltKnbt6D0cgKfI86Sai4I8RgTdD9LkvoRvy2bSrMzO4jDiLPtEZ+4lT8mkaMHeTkNBertJfcEc7R7lNxtlQRYJR15VrC+rGc6JCMQSH/E8E+Tlz7cQIBXtHe6fdgnvhgU6DHoqtEGSWDyouyQwpX8Zmfu7DkHNfXnzws7kpB7kdIUdgTzSsPsMbS499sJdPEv4XbHYunJtsnPhFXk0rJ3cN+VU07O5tjKLZGVSBOICue1ApTwHxtwfQZAoTta7XyJMtMtlLH2xbj+v488mImfUTQz45X/90RDmr7xOXN6RQWri1pmZGEAgvNxl3EULiImB2WdPgkhHZdaXYxiAPreXfqYS204msh5xYlCYX46q43MCx+AXbep3JLIRmmd2b63z+XTfL+/JRY+9keSD5Ez3aM0zut7x+HqlSfZWx9pZWNxSJuoGQdAS1KhX5+UFY+6F3ddyBTy/NmVkZO2c2f2OIywKsFrOsgScM65k5L7dMWJ6uwxUrv1pwdv47x3oKXYWV97P/RkObfTmfZ7XBVGs/D5bmucFWt+EhyW10i+UnOdtQM8ogUsKMhXKzY7DdX1bEvdWv1jJXTb5mM9p2WsPNSLQttWicgm29XmfExdpnmsnpnPeQC4L8sMfv6Ao74yoMeeOqLrPZE7LvKPIjyuy2mlzwF1rabSYw28L+OZfLtltTbQo9L/b42QRgMwCOxlX5wBvdkOSzUsb3HyyEZjl+Q2XnSmfNjUzux0y4yexwN2KWHG1m3fTI3xWFHsrWTuFnv806DWiP6B7565AjvD6xCi6dRQFFetzp6rU18YlyIlb6iSM7T7pJfCnNmXY/hFTWZsCtQgb2rs5d/fHMu5fiHuAcdv9YneGEmyRt1o3I7sobbKmyzesqRuX1s305KXDZYoI2YrNaEELPDXa1LzzsOuIJYB1ACM0aVa8cLFkd5g6ABJ+Exs0eAPlyTl3e6pwtzFmCHSM+3c6DPcQIMOu6/vpY1kQjLpwi8Lrm8PqF9ZCDafCnbBklb5Yhdfv8bYuYG8QfAuLN1kb+PqUypFxaW8pmJRgn4AeX13xfB90Rv6b74ArERm8f/4kQBbKldwnjunTdVQ29ydlPVKvvG2LXm06Dn+UhGR9s/qhy8Vx1ASGM1iX4QkyMNpOPweZmzv439Uco+mLD6QSSWJBzRZYP500clJ1HGTsMc2BlXUOcwV5aJp1ZORy+dYu2h6Id1+mGyvFj7SgVqqPuJQ6gpCYZ8m+pswQQJM1zPBsORn/TiBy6MIMJwl9Y2nYVI9earGzlCEEtfn17d6u2BUlxrTNmXp651zW/lFsrNtPc5r878QpEANzGNte7Xvt8hvxt9doarG6z4iXT0G4kAgkOwIJSmBy3XTiRrO4NL14B8vOMXlB0g25ICrFukWbnTWxtlOmDzO6Sb0URZxM7ztQ8o0JR56ZWIJix+92k8GekN7a9y9ly5Pe6AEszHUDZts26bhmHMHQzJDbB9AddTtrkdkO5GEJuLWjqE8tj6cmKksQAP767TWlaD/recw5dpzz1zylnW8sb0/Zy56bV4l4T4lr9lm5cRCi4QCsD64i12dKbkH/XEbonqodBWqsbctnAK1cwbL1yBLbUVfM+c1AqNkpT4von23xk76WNxDEAyc37sG3nypIPLIz1hjwN9+PKxBWJE79t9ePPJyn88bZeAyTMGbgH4SRAdDg+/qrUD8cMLqPtGDiXzabZ3JQ03RCuRD+SKwCzj+q4J2MzI0Xfaw62YWlgu7suzTzneHBuJA4iEorNsq7NMAq6isz+I1UhZCy3B88FuDqqza4gtlRQsZIPvxLRn1TVVWh4nv2sfnt+VwiVvveTiNDct05M6IYwpOgs062sPTcSkYYZ365NrGoktCE30fp83Ya8/Ard9K3tOR5hvRnU12v3thwR6rr24p4Re+iB/P3s/ElSMuNn3xJpLd/QUqboqjklzWZbKl8mlp8dNbxxdMOCXG7HwQ/CAe7BfpxPfZ/9jBn1Cryj7LrTL6zHUE9AZIsOsx7EsuB3mm27uGfrwSkRsQxXCciWm+23qPEQQTZCUkLyOmrnr+01uvaaXZbr0UYhf6UOwCto7LyJXeuGEQNoM0+HMgysPcvjm8kWb+64Xae0i9p+mvUjIkmVbKvv6uyesekh1/J3EzLarFx76gBk7XqFomn8K8f2W/3OGmBQF0dPfGptLMyLSK+fOG5oU9yDrV/80XEy8dxzDUC6KEO79K0Rs7GlGQKv6mxcO8uMcQu+Hb4efEMgp6VZnX4NxSjlbzckDmC30ENYOSMotlx71xzEXB1dVfLG9m2m57R8Q8uGxwaBEER76oaGcVKTChw1dPTzGvQtk/3X62Q6FMtBW39I86axLXftbaXber+tftMbttsNIachG2zwgz9XU4lb6806AVXY2Q446yERBQsvZfHStnTHnLb6bjeZgOxdSqKVzEtbTBi8omZ3BKtvkCF5cIPoiZax2Q7HOiKeeOC5AV+HfOB3rRKrDqz/pijWuiFX9PmGecJgs7JPC4rYJqcb+9515kKce+7AiRKZMjHrEKrXCFTQ9/AiRTckwmZii49XgPuVEkacm96ATZ72Pt2ktNtys7fd99+iSTQzAuIVrzjfUHNtWY89x9e1uzK8eKrrntMk5vDkm0RPmZTdEem/+vVWS/JuiDDFIlSIouGmemx207oNHkfRDOgfmGzUimbKCZQdYk4oNs44cMMGIwavTd+INWywF9ag3Y4umU2OGPLM0Oh2GTtoRGZvftlyrsvmW9DkUhkanuVn7iYWMBTvEeIb5jU2KXt8Ld3i3Jtm/H0+4qPp4C7Z5chCK5WPDYbsTEjfRV5R1oVRYGU84uuz65JLaMy/6TTxdUrreldgaX+c6RXZo7hQEp2scXVCbi+O+HyVFE6TFp5VOd+CkBPYUcpXn6dMayrflP/H1Dmq3ifdRGAAG9eMC//bdcpOAVX2qpu27zPfl0PID0jmEHE37YbhmSo7V5aMGYEMazcyBBOTomRoF6uTQnEcFAsrPPtt97ccNWClzpbSBOeu3HZ7zfmNKQ2a0rbCsBY4nW9E06i9Y7ynLrmeNTNlT+yr0PwRtwrWVH6bPNt1GZm5joiYNmNGguC0+MgH9hnlGEnqekj+zk/y2flJEKWfRzbJXw0pAll3YIpEIUkydrriBhRFiidSpyU8KUSKWJfqJ9jCEORh/MwniXBY+3zZ2uXpWsZuobd4kojtln6j0tGq7ubI5mdo+zYe+ZGf63GKtVBAt+Hcp9kzvbhg9/Ecr0OwexuFUpCVvMW7mJgIRSqLTUqpaycuihnwSYgOF9Y50R68WYRtanqZJ82DG2u4bf22lWlycihnX4NyPbNp2aMtd0QZHNvrhPDbzgzZbt54wrehdM/NuBEg6IpwNaVzpzfxdMPoGaE06UT2XgloVPjofXPFBaNNmnQe+KNmv3JmLGdpn1efX1k+/GEXXCUi3c2coABKDsOXKR4R82Zt2xzOu1k8Z9O3KeQmxCb+pSl/2EwLlXzbu2F4ti3B38vyKadraZF7cHjD2ZzJ0uq4zozpv3fWhifpBUNoxrlQ1PVEHatwnXRFm/m70qRQcnTCAWzm8gbLBqisGn4QKvfrvw1hDMlj3i1ZoSaBHATFSzMJINpYnYxjSAKENW7Euz+ynL0xHP/e8gH5wYl4l2Ze061lVt3R+1yX1Dtzt4wa/Y2oELU3iPZl6EkKhV7X1WHvIgt2tioV1eIHR3tqJ+fa7Fe5ubIbkkluM1nQTMaOM2Mdhmdqnx7zVTJnG3IahkfCoHK+OQtZeVZidUsxXo48GIt5sNtNxIPb7rwP80rkYO8GPqJbMC12MUQsJDEjKNVmrkPo+mc9SenqCp0Is/bHE+Nc3L3IIW/mSD1EaAyPrA+K5/7aWXO6+iwTq58EaatxFvWTfHKxvDJexFwq7afz7iaLV10gvP+FZKq1Pqu6ZKO1wWByW3czV8SU7pge/MtmL+qolyBF0gcEnU1DnFVz5Z85T+DUy+JMQFYalnzarKnLYrkeXUbK9WoBEIWuLpmNM/ZKctMMznHDP88vtEjvlGSubtEfoxR/Jt9F3Yn7mJWuvS8HdbeY5Qw2VYYOIQ32biFTZzNrZdyEztyKkN1u+uZeq28VcR2usnJG5zEDFrWbH62dpeqhkYNw1KnkcMr3LmGIADTds5nRxnPQ99V8UV9QJxHLuCDfHtNj2Afoqm4G9ZScjOVxetgof3cd52ffvCxj7UFbMv3PZh6EhcttGvexGYldrXJ/t0HUyvooegImf0wlAKZEEPDsqz2kPHbd9Sgli1kQgi5lLTWkpfKtkb1+EmJkmMhRaBpcYHdXnvA68qY27gYOhlnbIhrLt7uVCIl/1yYljClcusH5pavveQjDbGZTX3iFGcB/mCZE97N51yG/5Td22OeJA2vTrelX5DbELRHUp3Pe4Gb72rcNk0hdRcJQCTHxs78nIlnZyiFnnaibR+LNEYTP0Yqsz7ohVx768v5eqYy0Oj0R7YZkaqxLUcbncQTYtyuMuDZiROWGCEZZVzcMr7PoatvLvP753UIMxMcAB1m2I727k69sSSeWeHrk74ZcSWK25+Dul0c5F3JmCFXKuL4M4F2IF+FJGJKbeeXXxsa12lJ+htNHgAVzwStC6TvTDflsPooIWtvBwntCUsqOvu1xFgjDQTO6BdX2g9lDE6HoumMc5G6UNMntRhTsnNvg8slsD2ce08/lDfTsfiQc9XDdo8AITWVEomEZsUHkZEIYyR1sOuLn+60bGnQGoRlpS4JaF/V2r0HYxncsnt9tIOy+Pt8Po9oU3Htx34Rc91NOBJEI+vx14cu9WVLSQobZKJDA0kuFCBBCgkYKMbF8u7peO4Tc2cLKlIjWDTmYnMa/zeEoMl4UKSGrS5GwFG8wM0MTu1o8vxuaA1fau5fEI3EkosVlds6xfLaOvhyEDAUClLOV5Y/KpSdpMPo8Ma0KSeirC8LhxL1mZI1z9BA0IXqa/SvV3w2X8ZxCyZ/abJQhgmtr+a4leCTl92qY6XVmrP1y5Zi/qq4q1Tt0R3Be73p2+bwmbsS/W9auMEyYrnuGLx9CQS3DMLdY1pvpAEpKyQ+rZMa35ZvdoMoUp1yxY7mk1MSI4M49N4DUrb1mn/ey7iYvulCUs1/kHp4EiZFnGtuQCIcvH0KuRd1YafbY89cbDUTqujYBfB8aG9r08bJBHwrZPo4SIRJdr3EvZ2aXv3KjqwkpSw6gKU+Z3pw3onCViMcwMaiqiuWM+OwRrGokLOGaUV/0U0QSR0hLJNt0uPKkmOmbHlPO/qO+kU/ziFq2z57blA/Hbsj1OZthWOyz9l133QTeItOyQegLdTWNG1iL6+OmZ5VDQvhatZHd4GakkFwSRXu5GTJtSEhux96t0v9CcRylf/D5rX3RE88hP+fflFk5hs1yTaoc4fLIj9m71OxvFFyHHc2e2w2bxhmkPE+SA0a0iYfmD8UPUzt4d9S31IFtMyn3vY4Y1txXIbLVsUgYRvSmWdx0BPnjbIavMhlfyqY0cRVIooL8BA8rfSd5Th3rkHeOFk9ZMqxlefDrtWYMQ8sPXT/ZuPV9ZO9ehZxdtp/vH6ujCsP1b4bkGRlcnich+Whses6jqhpn3q57ruHfZvokmbNUSO2O46Xr8nZdUy2/vav5bcS6bUyp/oHHCUSAzZDLSrGCsuM2i9n/STM7ZJpOk9NNwehFAcBuoRPoppdqnPWZle7m38aXs+uNUV5ejhBIhaFR7m+qswm6je2Gu+WTITneQEdJ1OrGtFTHO1k8m1u7TjaP6SFl9sJu5Wb/Jpv8KDm+eeavFH+B00lESHlGz/x5HUYoFP0jMUizf7ebxpr3T/CcjL27NDSvYzM0s+UNNGSkIjVrt3uMx5u6yFNfU59vQ2ioL4yq+8csq254Vjc06w64DSYClB1T9GdoIg7d0KwMCfoGNhMC8TfienQjCE+yRnvZW8rEZzBsrFwfBcZ+Xj7fKMxxmTmxeMZIomHHJyGz+5bPkpdQqbIe7mgP5YDZDMNKK9/v3TCskBpVX3SuKREkhEz+zspXzdTKI7/N3qwzqpr8cowsWZnhfHXtBBhHOLrQE3WfuNvpXai9rs48Hfk3N6WOJ12V3TebnZOG3s3qdNdNSOyRuRsSWx6K8qGhbHyPkpBov2w63HtXfY33Cj1G+fwm4pfXU4kJ0DfYZvd6RKFNJeucN0SEjM4FADz0yZN8Zv/1xsZVd3MzQ36/4Ag1eQQvfxk8yc6zfvHIb4socI32mNhR0B5Gbr9oxPQF8b6+uIk6ZhqyMvLbFNaMBrMhbR3SIPK/DKrELnY9MdXMcToIjh9U2Cy/VZUf7dzqw+gF4iTWvBn5U3m8QmLd5V41ArkKf56GfJqm3ILwK4L8XTU7ym1niahNzADh8unMkG52mQPid1I8Mg4h9VeVXVdVeCdUxZHrDcLmmziS4QcaXhVlqrzsZkgLm0CosFjqifvefqyU4ldZ5aa9BhPZ4TYbSei6ScOPlaxy+AHgY9ix5r4U6wCn15peS3oYkW5HpNs9+rAtekDLjlh4xD/k1XPLj+fHn17HNlgbNW9weeuiLqub2xDS+1j+YGXcO1odPk+34Ye67PmxPVbGtc/ev+yrUDy3bEO3a4EzhvPY82Nfh/woSJL6rLwnw0LOm+8FJ9PH2TqEERaAf1dIbQssR7j2hrrh3VIbyrYHaz9/4y6PM/3+1m/aXyGk/ivHq/Vt+V1imXKcuPzB40pIx7INZbtCWY+rYyjN5fXtDyVOSufmY0r7279fxJlYl3Zw06D0L9j40KbOYQTpJiSg8/QS3VZJPLojkDk0ESZHPHyaR2zfjliff06dI69/VigIRNeXdUTJX2f563wglchfEgb7cN2SKIWEmLVDgHJQ2nVKL5G7iRj4a0P62s3KaTzkiBv+zomAR3xHaCrfHmtf7I+MUITsWDsiUYeSkCQkLZF2CDkyJComvjj2GvraPScbtyEnLCWh8cSjkQCEAidDMSmEZiIUJ61r2hxq34A6DagS2bsjZrGhAe2Qvuw8T/kiEtbF7F6PpsxDnECBqKGg2B4h/bOydy2Q2iNt183oJVcQ6oLK183PLtObCIMnhMMfqBmBfVo+KLotTzDcTO8QJqaFYlYNeb3/x4BD8Ijwitg+V+M715EAhKrME0KBZI11KMEtEHcI8f09/3P1Zt9G21xyaiO5uaK9Hll9Wihw06eNmrib0oK+e9H/VWisuGGwhoYKS+JQ1/lM2ISkoxBgVOPDj0yv62ZiVb+jnrItTWW6TTP3iD5qakuTWCODI4SMkDg2PjQQ5aZ+aspviKwcV6hzVtuQOyK5S/t7A2tTM/GpPYfi3r3baiKCo66v688mkTMvJ9+mJK5lXdcQroxgjMwTGu6HEWO35BzCcF3NYyT75sOFhCB0h5DIz1I2eMvZLxvkIZdB8sE+fF4i0hDChdTw7ggdxMhOb6h7FLForDdEijk0uzchfzm4mtroZ6vsvIHCNw+whCCj8ydZO0e0//CgHv5GGVEYjVhcuiH9+v5uIiBN3FUzwRhdvul+iZhN71M++13jpKlcgfzDD4wsZES6ekhWyWb/hlntOlnGs9plXXWdI7tP714nKlxTXxNCN/26DQq8UDez8E3PLfMNEZpihvFcUaiHqXP5gZsG9/UDZIjFzohC+A8Qyvbb+8m5v99MIIfv1z9ilrS6rZ7yWele+b2antn0vcq25+96HQf4495tFJHJOlU6AcivspUhYWjuqCEE8kq7kA/6EhkMwbMyJcI0IFRouPazcxMxiFxI3TwL13UzwpZ1Xkc8/L2SkIjsqP1YsGzZhwrDYlLqGz8A/Yf0g7TOEKEBYap80P4davX+PUHZ9jiIQ/ne/HeIMAwjgO+7Ed825H08nNe3bfQYKevSUo3tKtNS3uE2FP1SpPvn+WPqN8cS8o2QHWXw5g/UARyGXs51QGjuqHxQ1xmFKxG4CdmvQ8bQgMShzjmGbt0sivg66nf8uiP0HXXDs5vamHFRIX//UfK/zAAF5Q6NiO6R4NqBWNbxHwroO4Thdyn7IO+nPH85bo1ojKrL6rmeCFjZJiS8DtnLNuVIm7dlFJHIcDQMj4mR4+DHZMwrv54bGDWI8zR5ucw+2aA1b0Jon56dU43d6/QHTWVG5O1eo0TsNikM9dlDBKYYaCXha+rH4cE5nNY0eecDdXgQ/McEJVL+2H5o6sNR91PacLnr6nnXM65v23VErczLZ+9+lhssOPhB1kgEmn7l7O7Tc4roBnwolIoRmUYja4mEo+4HRcofg+xl+SEzzjWI77mMkURqCHn9R6sbZpLh/i7L/MeI1DfwfyDogLKB5c7jwBxiN5qUVcO/nG3yBMJfe+QLDUgZ3P0mrqNx1m1A4tLslsnceq9sjydMwb9DJDQO8Yv3imlDIlHJFjbN2mV/l8T4Bm7g7wjcgBoaZDkil+xV88Asz9OxgRNwCFYidUk4cuS4/tc0A9cNYkyJuMHJ5dmMHnIiE0YQhtTOklhKf+X9XRLLnBMYLQLcEIAb+DuEOmF0Obgqj/AlgpcDsYkQpOPwIE7acT0CCcKwqFBfh/AN94Z0DiFH5FHciOWV50qbclfbRBy6zg2zUYkXCk7jmnf4MQTtZua/gb83yAfeKMVCOVhTnh8z4K8XJUYhUXqun7WbCE424zcQi+uRLq8nhB9HTMp8Xi9yg8w38B8VeDa3nFGbEKXb6OI6mpCMIiolkpf5zM7exHL763e7il5P2JoIXLiBG/h7hn8vg1AGe4oS47kIv/bc8uliZxUfgotOgzwhWJSZ4Wg1lW5Ka3U1QRU3rrVyzdFvUjuafWbkPfLINr4tLmfxjv59wg3cwN8jtMK/B/DRX9Ku0aZ4T8rFEjmTGJHy+hBTkifFmcsJTFXngTEM2XLkdzlqa1OKe2f1pfI+Jp7UkyLflHVKwA3zpZL6UjitG+S/gb9/+PdCAAzSDG4IW0aRkaNHJCMedrSZM0doO5cZVojC6Jkb91P0HEN8Y8tT2dI85xE9j5oz/J7pPbzOxDiAnAu6gRu4gQYo2fi/rdzclP/H1PFjnzucL4y0hNzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzA/xngfwcwanmRHQU8CgAAAABJRU5ErkJggg==)}.v-main .v-tabs--density-compact{--v-tabs-height: 44px}.v-main .v-tabs--density-compact .v-slide-group__content{color:rgba(var(--v-theme-grey-darken-2),var(--v-high-emphasis-opacity))}.v-main .v-tabs--density-compact .v-btn{font-weight:500}.page-builder-autoCmp .v-input__control{height:36px;--v-input-control-height: 36px}.dialog-close-btn .v-icon{color:rgba(var(--v-theme-grey-darken-1),var(--v-high-emphasis-opacity))}.common-dialog .v-card-title{text-overflow:initial;white-space:inherit}.common-dialog .v-btn--size-small .v-btn__content{font-size:12px;font-weight:400}.v-dialog .listing-compo-wrap{padding-left:16px;padding-right:16px}.v-pagination .v-pagination__item .v-btn{--v-btn-size: 16px;font-weight:500}.v-pagination .v-pagination__item .v-btn.v-btn--density-compact{width:auto}.v-pagination .v-pagination__item .v-btn.v-btn--density-compact .v-btn__content{padding:0 10px;min-width:28px}.section-title-wrap{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px;margin-left:0;margin-right:0}.section-title-wrap .section-title{font-size:24px;font-weight:500;color:rgb(var(--v-theme-on-surface));line-height:32px;letter-spacing:-.1px}.section-wrap.edit-view .section-body{margin-top:24px}.section-wrap.edit-view .section-body .v-card-text{background:rgb(var(--v-theme-grey-lighten-5))}.section-wrap.can-edit .section-body:hover>.v-card{box-shadow:0 3px 5px #00000024,0 1px 18px #0000001f,0 6px 10px #00000024}.section-wrap.can-edit .thead-gap th{padding-top:10px!important;padding-bottom:10px!important}.section-wrap .section-body.can-edit:hover{box-shadow:0 3px 5px #00000024,0 1px 18px #0000001f,0 6px 10px #00000024}.section-wrap .value-type-media-wrap .media-box-wrap,.section-wrap .timeline-block .media-box-wrap,.section-wrap .section-content .media-box-wrap{padding-left:12px;padding-top:0;padding-bottom:0;margin-bottom:16px;margin-top:16px}.section-wrap .value-type-media-wrap .media-box-wrap .v-card,.section-wrap .timeline-block .media-box-wrap .v-card,.section-wrap .section-content .media-box-wrap .v-card{overflow:hidden;box-shadow:none;width:194px;height:80px}.section-body{margin-left:0;margin-right:0}.section-body .v-card,.section-body.v-card{background:transparent;border:thin solid rgb(var(--v-theme-grey-lighten-3));border-radius:8px}.section-body .media-box-wrap .v-row{gap:0}.section-body .media-box-wrap .v-row:not(:last-child){margin-bottom:0}.section-body .v-row{gap:16px}.section-body .v-row:not(:last-child){margin-bottom:24px}.section-body .text-caption{font-size:14px!important;font-weight:500;color:rgb(var(--v-theme-on-surface));--v-medium-emphasis-opacity: 1;margin-bottom:12px;line-height:20px}.section-body .text-caption+*{color:rgb(var(--v-theme-grey-darken-1));font-size:16px;line-height:24px}.section-body .v-card-text{padding-left:16px}.section-body .field-item:first-child .field-item-label{padding-right:140px}.section-body .field-item-title{color:rgb(var(--v-thtme-on-surface));font-size:14px;font-style:normal;font-weight:500;line-height:20px}.section-body .field-item-label{display:flex;align-items:center}.section-body .field-item-label .v-icon.v-icon--size-small{font-size:16px}.section-body .field-item-label .v-icon{color:rgb(var(--v-theme-grey-darken-1))}.section-body .field-item-value{color:rgb(var(--v-theme-grey-darken-3));font-size:16px;font-style:normal;line-height:24px}.section-body .field-item-value .v-chip{font-size:12px;font-weight:400}.section-body .field-item-value .v-chip.text-primary{color:rgb(var(--v-theme-primary))!important}.section-body .field-item-value-switch .v-switch__track:not(.bg-primary){opacity:1;background-color:rgb(var(--v-theme-grey-lighten-1))}.section-body .field-item-value-switch .v-label{--v-medium-emphasis-opacity: 1;padding-inline-start:14px;color:rgb(var(--v-theme-grey-darken-3));font-size:16px;line-height:24px}.section-body .field-item-tooltip-icon{color:rgb(var(--v-theme-grey-lighten-1));cursor:pointer}.section-content{position:relative}.section-edit-area{text-align:right}.section-edit-area.top-area{position:absolute;right:0;top:0}.section-edit-area .v-btn{color:rgb(var(--v-theme-primary));border-radius:4px;height:24px;font-size:12px;padding:0 8px;font-weight:400}.section-edit-area .v-btn .v-btn__prepend{margin-inline:initial;margin-right:4px}.section-edit-area .v-btn.bg-grey-lighten-3 .v-btn__content{color:rgb(var(--v-theme-grey-darken-3))}.section-field-wrap .section-field .v-field__outline{color:rgb(var(--v-theme-grey-lighten-1))}.sortable-label:hover .section-sortable-area{display:block}.section-sortable-area{display:none;position:absolute;border:1px solid transparent;padding-right:4px;margin-left:-30px;z-index:1}.section-sortable-area .section-sortable-group .v-btn.v-btn--disabled{background:#fff}.section-sortable-area .section-sortable-group .v-btn.v-btn--disabled .v-btn__overlay{opacity:0}.activity-timeline-wrap{display:flex;flex-direction:column;margin-bottom:32px;width:271px}.v-row .v-col-12 .activity-timeline-wrap{width:100%}.v-chip.text-primary{color:rgb(var(--v-theme-primary))!important}.filter-comp-wrap .filter-selectGroup-wrap{display:flex;flex-grow:1;align-items:center}.filter-comp-wrap .filter-selectGroup-wrap .v-chip{--v-chip-height: 40px}.version-select-wrap{padding:0 8px;border-color:rgb(var(--v-theme-grey-lighten-1));display:flex}.version-select-wrap .v-chip__content{flex:1;max-width:calc(100% - 26px)}.media-box-wrap .img-upload-btn,.media-box-wrap .img-delete-btn{font-weight:400}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github a,.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github a>span{color:currentColor;opacity:.8;text-decoration:underline}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h1,.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h2{border-bottom:none}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h1{font-size:48px;line-height:57px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h2{font-size:32px;line-height:38px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h3{font-size:24px;font-weight:400;line-height:29px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h4{font-size:20px;font-weight:400;line-height:24px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h5{font-size:16px;font-weight:400;line-height:19px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h6{font-size:14px;font-weight:400;line-height:17px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github p{line-height:19px;font-size:16px}.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github ul,.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github ol{padding-left:1em}.v-app-bar.v-toolbar .v-toolbar-title{font-size:16px;line-height:24px;font-weight:500;letter-spacing:.15px}.list-table-wrap{padding-left:8px;padding-right:8px;padding-bottom:8px}.detailing-page-wrap .layout-center{display:table;margin:0 auto;padding:0 8px;max-width:1440px}.detailing-page-wrap .page-content-layout{max-width:1440px;padding-top:0;padding-right:8px;padding-left:8px}.detailing-page-wrap .page-main-title{font-weight:500}.detailing-page-wrap .tagList-bar-warp{display:flex}.detailing-page-wrap .detailing-title-wrap{margin-bottom:40px;display:inline-flex;align-items:center}.detailing-page-wrap .detailing-title-wrap .detailing-back-btn{color:rgb(var(--v-theme-secondary));--v-btn-height: 24px}.detailing-page-wrap .detailing-title-wrap .detailing-title{margin-left:16px;font-size:28px;font-style:normal;font-weight:500;line-height:36px;letter-spacing:-.12px}.detailing-page-wrap .section-wrap:not(.edit-view) .value-type-media-wrap .media-box-wrap,.detailing-page-wrap .section-wrap:not(.edit-view) .timeline-block .media-box-wrap,.detailing-page-wrap .section-wrap:not(.edit-view) .section-content .media-box-wrap{margin-top:0}.detailing-page-wrap .go-plaid-portal .section-wrap.with-border-b{border-block-end-width:1px}.detailing-page-wrap .go-plaid-portal:last-child .section-wrap.with-border-b{border-block-end-width:0;margin-bottom:0;padding-bottom:0}.detailing-page-wrap .section-wrap.border-b,.detailing-page-wrap .section-wrap.with-border-b,.detailing-page-wrap .section-body.border-b{border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgb(var(--v-theme-grey-darken-3),var(--v-border-opacity));padding-bottom:40px;margin-bottom:40px}.detailing-page-wrap .section-wrap:not(:last-child) .listing-compo-wrap{margin-bottom:40px;border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))}.detailing-page-wrap .amount-detail-wrap{margin:24px 0 0;padding:16px;border-radius:4px;background:rgb(var(--v-theme-grey-lighten-5))}.detailing-page-wrap .amount-detail-wrap>div{height:52px;align-items:center}.detailing-page-wrap .amount-detail-title{width:352px;color:rgb(var(--v-theme-grey-darken-3))!important}.detailing-page-wrap .listing-compo-wrap .list-table-wrap{padding:0 0 40px}.detailing-page-wrap .v-slide-group:not(.vx-tabs-wrap){border-block-end-width:thin!important;border-block-end-style:solid!important;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.detailing-page-wrap .v-slide-group:not(.vx-tabs-wrap) .v-slide-group__content{border-block-end-width:0}.detailing-page-wrap .vx-tabs-wrap>.v-slide-group{border-block-end-width:0!important}.detailing-page-wrap .section-body .v-row+.v-row:has(.media-box-thumb){margin-top:-12px}.detailing-page-wrap .section-body .v-row+.v-row .media-box-thumb{padding-top:20px}.page-builder-edit-bar-wrap{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:36px;width:100%}.page-builder-edit-bar-wrap .tagList-bar-warp{display:flex;width:calc(100% - 364px)}.pb-drawer-btn.v-btn--icon.v-btn--density-default{position:absolute;top:24px;right:0;margin-right:-16px;width:32px;height:32px;z-index:902}.pb-drawer-btn.v-btn--icon.v-btn--density-default.drawer-btn-left{right:0;margin-right:-16px}.pb-drawer-btn.v-btn--icon.v-btn--density-default.drawer-btn-right{left:0;margin-left:-16px}.v-navigation-drawer.draggable-el:before{position:absolute;content:"";height:100%;width:5px;left:-5px;top:0}.v-navigation-drawer.border-left-draggable-highlight{cursor:col-resize;transition-duration:unset}.v-navigation-drawer.border-left-draggable-highlight:after{position:absolute;content:"";height:100%;background:rgb(var(--v-theme-primary));transition:background-color ease .3s;width:2px;left:0;top:0;z-index:901}.v-navigation-drawer .v-card--variant-flat .media-box-wrap,.v-navigation-drawer .v-card.v-card--variant-flat .v-card--variant-flat .media-box-wrap{padding-left:12px}.v-navigation-drawer .v-card.v-card--variant-flat .v-card--variant-outlined .media-box-wrap{padding-left:0}.pageBuilder-right-drawer .pageBuilder-right-drawer .v-toolbar__content:not(.vuetify-pro-tiptap .v-toolbar__content){height:56px!important;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.pageBuilder-right-drawer .v-card-text>div>.wrapper-field-label{font-weight:500;font-size:14px!important;line-height:20px;opacity:1;color:#616161}.pageBuilder-right-drawer .wrapper-field-label+.v-card{border:0;padding-left:0!important}.pageBuilder-right-drawer .wrapper-field-label+.v-card .v-label{font-weight:500;font-size:14px!important;line-height:20px;opacity:1;color:#212121}.v-container div,.v-container span,.v-container h1,.v-container h2,.v-container h3,.v-container h4,.v-container h5,.v-container h6{word-break:break-word}.v-container h1+.v-chip{flex-shrink:0}a{color:rgb(var(--v-theme-primary));text-decoration:none}.v-app-bar.v-toolbar,.v-list-item-title{font-weight:500}.ellipsis,.ellipsis-flex{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ellipsis-flex{flex:1}.pt-17{padding-top:68px}.pt-18{padding-top:72px}.pt-19{padding-top:76px}.pt-20{padding-top:80px}.pt-21{padding-top:84px}.pt-22{padding-top:88px}.pt-23{padding-top:92px}.ml-abs-1{margin-left:1px}.h-abs-26{height:26px}.h-abs-36{height:36px}.content-box{box-sizing:content-box}.color-grey-darken-1{color:var(--v-theme-grey-darken-1)}.timeline-block{position:relative;padding:16px;margin-left:8px;word-break:break-word}.timeline-block:before{position:absolute;top:0;left:0;content:"";width:1px;height:100%;background:#e0e0e0}.container-item-inline-b-layout>*{display:inline-block}.bg-transparent{background:transparent}.k-theme.v-theme--light .menu-wrap:before{background-image:url(data:image/png;base64,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)}.vuetify-pro-tiptap{overflow-wrap:anywhere}.vuetify-pro-tiptap-editor{display:flex;flex-direction:column;width:100%;max-height:100%}.vuetify-pro-tiptap-editor--fullscreen{position:fixed!important;inset:0!important;z-index:200;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important}.vuetify-pro-tiptap-editor__menu-bubble .v-toolbar__content{padding:0}.vuetify-pro-tiptap-editor__toolbar .v-toolbar__content{flex-wrap:wrap;row-gap:4px;padding:4px 12px}.vuetify-pro-tiptap-editor__toolbar .v-toolbar__content .v-divider--vertical{height:inherit}.vuetify-pro-tiptap-editor__content :focus-visible{outline:-webkit-focus-ring-color auto 0}.vuetify-pro-tiptap-editor__content img{display:inline-block;float:none}.vuetify-pro-tiptap-editor__content img[data-display=inline]{padding-right:12px;padding-left:12px}.vuetify-pro-tiptap-editor__content img[data-display=block]{display:block}.vuetify-pro-tiptap-editor__content img[data-display=left]{float:left;padding-right:12px;padding-left:0}.vuetify-pro-tiptap-editor__content img[data-display=right]{float:right;padding-right:0;padding-left:12px}.vuetify-pro-tiptap-editor__content .task-list{padding-left:0;list-style:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item{display:flex;list-style:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item>label{flex:0 0 auto;padding-right:8px;padding-left:8px;-webkit-user-select:none;user-select:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item>div{flex:1 1 auto}.vuetify-pro-tiptap .ProseMirror{padding:8px 18px;overflow-wrap:anywhere}.vuetify-pro-tiptap .ProseMirror p.is-editor-empty:first-child:before{float:left;height:0;color:#adb5bd;pointer-events:none;content:attr(data-placeholder)}.vuetify-pro-tiptap .ProseMirror .iframe-wrapper.focus>div,.vuetify-pro-tiptap .ProseMirror .iframe-wrapper.ProseMirror-selectednode>div{outline:4px solid #409eff;transition:outline .15s ease-in}.vuetify-pro-tiptap .ProseMirror table.table-wrapper .selectedCell{position:relative}.vuetify-pro-tiptap .ProseMirror table.table-wrapper .selectedCell:after{position:absolute;inset:0;z-index:2;pointer-events:none;content:"";background:#c8c8ff66}.vuetify-pro-tiptap .ProseMirror .image-view{display:inline-block;float:none;max-width:100%;line-height:0;vertical-align:baseline;-webkit-user-select:none;user-select:none}.vuetify-pro-tiptap .ProseMirror .image-view--inline{margin-right:0;margin-left:0}.vuetify-pro-tiptap .ProseMirror .image-view--block{display:block}.vuetify-pro-tiptap .ProseMirror .image-view--left{float:left;margin-right:12px;margin-left:0}.vuetify-pro-tiptap .ProseMirror .image-view--right{float:right;margin-right:0;margin-left:12px}.vuetify-pro-tiptap .ProseMirror .image-view__body{position:relative;display:inline-block;max-width:100%;clear:both;outline:transparent solid 2px;transition:all .2s ease-in}.vuetify-pro-tiptap .ProseMirror .image-view__body:hover{outline-color:#ffc83d}.vuetify-pro-tiptap .ProseMirror .image-view__body--focused:hover,.vuetify-pro-tiptap .ProseMirror .image-view__body--resizing:hover{outline-color:transparent}.vuetify-pro-tiptap .ProseMirror .image-view__body__placeholder{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.vuetify-pro-tiptap .ProseMirror .image-view__body__image{margin:0;cursor:pointer!important}.vuetify-pro-tiptap .ProseMirror .image-view.focus img,.vuetify-pro-tiptap .ProseMirror .image-view.ProseMirror-selectednode img{outline:2px solid #409eff;transition:outline .15s ease-in}.vuetify-pro-tiptap .ProseMirror .image-resizer{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;border:1px solid #409eff}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler{position:absolute;z-index:2;box-sizing:border-box;display:block;width:12px;height:12px;background-color:#409eff;border:1px solid #fff;border-radius:2px}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--tl{top:-6px;left:-6px;cursor:nw-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--tr{top:-6px;right:-6px;cursor:ne-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--bl{bottom:-6px;left:-6px;cursor:sw-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--br{right:-6px;bottom:-6px;cursor:se-resize}.vuetify-pro-tiptap.dense .ProseMirror{min-height:32px;padding:6px 12px}.vuetify-pro-tiptap.dense p{padding:0;line-height:1.2rem}.table-grid-size-editor__cell__inner{box-sizing:border-box;width:16px;height:16px;padding:4px;border:1px solid #dcdfe6;border-radius:2px}.table-grid-size-editor__cell--selected .table-grid-size-editor__cell__inner{background-color:#ecf5ff;border-color:#409eff}.vuetify-pro-tiptap-editor__content.markdown-theme-default{overflow-x:hidden;font-size:14px;font-weight:400;line-height:1.75;color:var(--cyanosis-base-color);word-break:break-word;transition:color .35s;--cyanosis-base-color: #353535;--cyanosis-title-color: #005bb7;--cyanosis-strong-color: #2196f3;--cyanosis-em-color: #4fc3f7;--cyanosis-del-color: #ccc;--cyanosis-link-color: #3da8f5;--cyanosis-linkh-color: #007fff;--cyanosis-border-color: #bedcff;--cyanosis-border-color-2: #ececec;--cyanosis-bg-color: #fff;--cyanosis-blockquote-color: #8c8c8c;--cyanosis-blockquote-bg-color: #f0fdff;--cyanosis-code-color: #c2185b;--cyanosis-code-bg-color: #fff4f4;--cyanosis-code-pre-color: #f8f8f8;--cyanosis-table-border-color: #c3e0fd;--cyanosis-table-th-color: #dff0ff;--cyanosis-table-tht-color: #005bb7;--cyanosis-table-tr-nc-color: #f7fbff;--cyanosis-table-trh-color: #e0edf7;--cyanosis-slct-title-color: #005bb7;--cyanosis-slct-titlebg-color: rgba(175, 207, 247, .25);--cyanosis-slct-text-color: #c80000;--cyanosis-slct-bg-color: rgba(175, 207, 247, .25);--cyanosis-slct-del-color: #999;--cyanosis-slct-elbg-color: #e8ebec;--cyanosis-slct-codebg-color: #ffeaeb;--cyanosis-slct-prebg-color: rgba(160, 200, 255, .25)}.vuetify-pro-tiptap-editor__content.markdown-theme-default.__dark{--cyanosis-base-color: #cacaca;--cyanosis-title-color: #ddd;--cyanosis-strong-color: #fe9900;--cyanosis-em-color: #ffd28e;--cyanosis-del-color: #ccc;--cyanosis-link-color: #ffb648;--cyanosis-linkh-color: #fe9900;--cyanosis-border-color: #ffe3ba;--cyanosis-border-color-2: #ffcb7b;--cyanosis-bg-color: #2f2f2f;--cyanosis-blockquote-color: #c7c7c7;--cyanosis-blockquote-bg-color: rgba(255, 199, 116, .1);--cyanosis-code-color: #000;--cyanosis-code-bg-color: #ffcb7b;--cyanosis-code-pre-color: rgba(255, 227, 185, .5);--cyanosis-table-border-color: #fe9900;--cyanosis-table-th-color: #ffb648;--cyanosis-table-tht-color: #000;--cyanosis-table-tr-nc-color: #6d5736;--cyanosis-table-trh-color: #947443;--cyanosis-slct-title-color: #000;--cyanosis-slct-titlebg-color: #fe9900;--cyanosis-slct-text-color: #00c888;--cyanosis-slct-bg-color: rgba(175, 207, 247, .25);--cyanosis-slct-del-color: #999;--cyanosis-slct-elbg-color: #000;--cyanosis-slct-codebg-color: #ffcb7b;--cyanosis-slct-prebg-color: rgba(160, 200, 255, .25)}.vuetify-pro-tiptap-editor__content.markdown-theme-default h1{padding-bottom:4px;margin-top:36px;margin-bottom:10px;font-size:30px;line-height:1.5;color:var(--cyanosis-title-color);transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2{position:relative;padding-right:10px;padding-left:10px;border-bottom:1px solid var(--cyanosis-border-color-2);padding-bottom:10px;margin-top:36px;margin-bottom:10px;font-size:24px;line-height:1.5;color:var(--cyanosis-title-color);transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2:before{position:relative;top:-6px;left:auto;content:"「"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2:after{position:relative;top:6px;right:auto;content:"」"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3{position:relative;padding-bottom:0;margin-top:30px;margin-bottom:10px;font-size:20px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3:before{padding-right:6px;color:var(--cyanosis-strong-color);content:"»"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h4{padding-bottom:0;margin-top:24px;margin-bottom:10px;font-size:16px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h5{padding-bottom:0;margin-top:18px;margin-bottom:10px;font-size:14px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h6{padding-bottom:0;margin-top:12px;margin-bottom:10px;font-size:12px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default p{margin-top:16px;margin-bottom:16px;line-height:inherit}.vuetify-pro-tiptap-editor__content.markdown-theme-default p:empty:after{content:" "}.vuetify-pro-tiptap-editor__content.markdown-theme-default img{max-width:100%}.vuetify-pro-tiptap-editor__content.markdown-theme-default hr{position:relative;width:98%;height:1px;margin-top:32px;margin-bottom:32px;overflow:visible;background-image:linear-gradient(90deg,var(--cyanosis-link-color),rgba(255,0,0,.3),var(--cyanosis-link-color));border-width:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default code{padding:.065em .4em;overflow-x:auto;font-family:menlo,monaco,consolas,Courier New,monospace;font-size:.87em;color:var(--cyanosis-code-color);word-break:break-word;background-color:var(--cyanosis-code-bg-color);border-radius:2px}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre{position:relative;overflow:auto;font-family:menlo,monaco,consolas,Courier New,monospace;line-height:1.75}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code{display:block;padding:16px 12px;margin:0;overflow-x:auto;font-size:12px;color:#333;word-break:normal;background:var(--cyanosis-code-pre-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar{width:4px;height:4px}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar-track{background-color:var(--cyanosis-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar-thumb{background-color:var(--cyanosis-strong-color);border-radius:10px}.vuetify-pro-tiptap-editor__content.markdown-theme-default a{position:relative;color:var(--cyanosis-link-color);text-decoration:none;border-bottom:1px solid var(--cyanosis-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:hover{color:var(--cyanosis-linkh-color);border-bottom-color:var(--cyanosis-linkh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:active{color:var(--cyanosis-linkh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:after{position:absolute;top:100%;left:0;width:100%;content:"";border-bottom:1px solid var(--cyanosis-border-color);opacity:0;transition:top .3s,opacity .3s;transform:translateZ(0)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:hover:after{top:0;border-bottom-color:var(--cyanosis-linkh-color);opacity:1}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper{display:inline-block!important;width:auto;max-width:100%;overflow:auto;font-size:12px;border-spacing:0;border-collapse:collapse;border:1px solid var(--cyanosis-table-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper thead{font-size:14px;color:#000;text-align:left;background:#f6f6f6}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper p{margin:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper tr:nth-child(2n){background-color:var(--cyanosis-table-tr-nc-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper tr:hover{background-color:var(--cyanosis-table-trh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper th,.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper td{padding:12px 8px;line-height:24px;border:1px solid var(--cyanosis-table-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper th{color:var(--cyanosis-table-tht-color);background-color:var(--cyanosis-table-th-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper td{min-width:120px}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote{color:var(--cyanosis-blockquote-color);background-color:var(--cyanosis-blockquote-bg-color);border-left:4px solid var(--cyanosis-strong-color);padding:1px 20px;margin:22px 0;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote:after{display:block;content:""}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>p{margin:10px 0}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>b,.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>strong{color:var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default b,.vuetify-pro-tiptap-editor__content.markdown-theme-default strong{color:var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default i,.vuetify-pro-tiptap-editor__content.markdown-theme-default em{color:var(--cyanosis-em-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default del{color:var(--cyanosis-del-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul{padding-left:28px}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li{margin-bottom:0;list-style:inherit}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li p,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li p{margin:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item{list-style:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item ol{margin-top:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul ol{margin-top:4px}.vuetify-pro-tiptap-editor__content.markdown-theme-default details>summary{font-size:20px;font-weight:bolder;color:var(--cyanosis-title-color);cursor:pointer;border-bottom:1px solid var(--cyanosis-border-color);outline:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default details>p{padding:10px 20px;margin:10px 0 0;color:#666;background-color:var(--cyanosis-blockquote-bg-color);border:2px dashed var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default h1::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h2::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h3::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h4::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h5::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h6::selection{color:var(--cyanosis-slct-title-color);background-color:var(--cyanosis-slct-titlebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default p::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li::selection{color:var(--cyanosis-slct-text-color);background-color:var(--cyanosis-slct-bg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default b::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default strong::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default i::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default em::selection{background-color:var(--cyanosis-slct-elbg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default del::selection{color:var(--cyanosis-slct-del-color);background-color:var(--cyanosis-slct-elbg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table thead th::selection{background-color:transparent}.vuetify-pro-tiptap-editor__content.markdown-theme-default table tbody td::selection{background-color:var(--cyanosis-slct-bg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default code::selection{background-color:var(--cyanosis-slct-codebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::selection{background-color:var(--cyanosis-slct-prebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list{padding-left:0;list-style:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]{position:relative}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]:before{position:absolute;inset:0;z-index:1;box-sizing:border-box;width:inherit;height:inherit;content:"";background:#f0f8ff;border:1px solid #add6ff;border-radius:2px}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]:checked:after{position:absolute;inset:-12px 0 0;z-index:2;width:0;height:0;font-size:20px;font-weight:700;color:#f55;content:"✓"}@media (width <= 720px){.vuetify-pro-tiptap-editor__content.markdown-theme-default h1{font-size:24px}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2{font-size:20px}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3{font-size:18px}}.iframe-wrapper[data-v-15ecd644]{display:flex;justify-content:center}.iframe-container[data-v-15ecd644]{position:absolute;top:0;left:0;width:100%;height:100%}.vx-time-select-wrap[data-v-7b1ba3be]{display:flex;align-items:center}.vx-time-select-wrap .separate[data-v-7b1ba3be]{font-weight:700;line-height:1}.vx-time-select-wrap .time-select[data-v-7b1ba3be] *{cursor:pointer}.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-field__prepend-inner{cursor:pointer;position:absolute;width:45px;height:40px;display:flex;align-items:center;justify-content:center}.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-btn--disabled{opacity:.3}.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-btn--disabled .v-btn__overlay{background-color:transparent}.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-field__field{height:40px}.vx-time-select-wrap .time-select[data-v-7b1ba3be] input{display:none}.v-picker-wrap[data-v-89fca598]{padding:8px 0;width:292px}.v-picker-wrap[data-v-89fca598] .v-date-picker-years,.v-picker-wrap[data-v-89fca598] .v-date-picker-months{height:256px}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days{flex:initial;column-gap:2px}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-btn.v-btn--variant-outlined{color:rgb(var(--v-theme-primary))}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__day{width:36px;height:36px}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-btn.v-date-picker-month__day-btn{--v-btn-size: 14px;--v-btn-height: 20px}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__weekday{color:rgb(var(--v-theme-grey-darken-1))}.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-primary))}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls{display:block;position:relative;padding-inline-start:15px;padding-inline-end:15px;padding-bottom:20px}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month-btn{position:absolute;left:50%;margin-left:-10px;transform:translate(-50%);top:2px}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month-btn .v-btn__content{color:rgb(var(--v-theme-on-surface))}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__mode-btn{position:absolute;left:50%;transform:translate(-50%);margin-left:65.5px;top:2px}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month{display:flex;width:100%}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month .v-btn{--v-btn-height: 20px}.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month>:nth-child(2){margin-left:auto}.time-select-wrap[data-v-89fca598]{justify-content:center;width:292px}.vx-range-picker-field .current[data-v-b6f7cc17]>.v-input:not(.v-input--error) .v-field:after{height:3px!important;transition:all ease .3s;background:#3e63dd;width:calc(100% - 24px)}.vx-range-picker-field[data-v-b6f7cc17]>.v-input .v-field--variant-plain{padding:0 12px}.vx-range-picker-field[data-v-b6f7cc17]>.v-input .v-field--variant-plain .v-field__input{padding-bottom:8px}.vx-range-picker-field[data-v-b6f7cc17]>.v-input .vx-range-picker-group+input{display:none}.vx-range-picker-field[data-v-b6f7cc17]>.v-input>.v-input__control>.v-field{padding-inline-start:0}.vx-range-picker-field[data-v-b6f7cc17]>.v-input>.v-input__control>.v-field>.v-field__field>.v-field__input{padding:0}.vx-range-picker-field[data-v-b6f7cc17]>.v-input>.v-input__control>.v-field .v-field{position:relative}.vx-range-picker-field[data-v-b6f7cc17]>.v-input>.v-input__control>.v-field .v-field:after{transition:all ease .3s;position:absolute;height:0;content:"";bottom:-2px;left:12px}.vx-range-picker-wrap[data-v-b6f7cc17] .v-field,.vx-range-picker-wrap[data-v-b6f7cc17] .v-field *{cursor:pointer}.vx-date-picker-group[data-v-b6f7cc17] .v-picker-wrap{padding-bottom:0}.vx-date-picker-group[data-v-b6f7cc17] .v-picker-wrap .v-date-picker-month{padding-bottom:4px}.separator[data-v-b6f7cc17]{display:flex;justify-content:center;align-items:center}.separator[data-v-b6f7cc17]:before{display:block;content:"";height:1px;background:rgb(var(--v-theme-grey));width:16px}.v-menu[data-v-8168a3e7] .v-overlay__content{border-radius:8px!important}.vx-datepicker-wrap[data-v-8168a3e7] .v-input .input-cover{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.vx-datepicker-wrap[data-v-8168a3e7] .v-input input:not(.input-cover){display:none}.vx-datepicker-wrap[data-v-8168a3e7] .v-input .v-field{cursor:pointer}.v-picker-wrap .v-date-picker-month__days .v-date-picker-month__day--selected .v-btn[disabled]{color:#fff}.filter-item-wrap[data-v-5d1731a7]{display:flex;flex-wrap:wrap;gap:8px 0}.filter-item-wrap[data-v-5d1731a7] .v-chip .v-chip__content i.v-icon{vertical-align:text-top}.v-menu[data-v-3e6805c3] .v-overlay__content{border-radius:8px!important}.vx-timepicker-wrap[data-v-3e6805c3] .v-input .input-cover{position:absolute;width:100%;height:100%;z-index:1;pointer-events:none}.vx-timepicker-wrap[data-v-3e6805c3] .v-input .v-field{cursor:pointer}.vx-timepicker-wrap[data-v-3e6805c3] .v-input input:not(.input-cover){display:none}.time-select-wrap[data-v-3e6805c3]{justify-content:center;width:100%}.toggle-label-wrap>.v-icon[data-v-469ef166]{transform:rotate(-90deg);transition:transform ease .3s}.toggle-label-wrap>.v-icon.v-icon--size-default[data-v-469ef166]{font-size:18px}.toggle-label-wrap>.v-icon.isFolded[data-v-469ef166]{transform:rotate(0)}.toggle-label-wrap label[data-v-469ef166]{cursor:pointer}.vx-label-title .v-icon[data-v-469ef166]{color:rgb(var(--v-theme-grey-darken-1));cursor:pointer}.vx-label-title .v-icon--size-small[data-v-469ef166]{font-size:16px}.tooltip-display[data-v-469ef166]{max-width:50vw;white-space:pre-wrap;word-break:break-all}.required-symbol[data-v-469ef166]{line-height:1}.vx-field-wrap[data-v-ec474b05]{margin-bottom:2px}.vx-field-wrap .v-input.v-input--disabled[data-v-ec474b05] .v-field{background-color:rgb(var(--v-theme-grey-lighten-4));color:rgb(var(--v-theme-grey))}.vx-field-wrap .v-input[data-v-ec474b05] .v-field{--v-theme-overlay-multiplier: var(--v-theme-background-overlay-multiplier);background-color:rgb(var(--v-theme-background))}.vx-field-wrap .v-input[data-v-ec474b05] .v-field__outline{--v-field-border-width: 1px;--v-field-border-opacity: 1;transition:color .3s ease}.vx-field-wrap .v-input[data-v-ec474b05]:not(.v-input--error) .v-field__outline{color:rgb(var(--v-theme-grey-lighten-2))}.vx-field-wrap .v-input.v-input--error[data-v-ec474b05] .v-field__clearable .v-icon,.vx-field-wrap .v-input.v-input--error[data-v-ec474b05] .v-field__append-inner .v-icon{color:rgb(var(--v-theme-grey-darken-3))}.vx-field-wrap .v-input[data-v-ec474b05] .v-input__details>.v-messages{order:1}.vx-field-wrap .v-input[data-v-ec474b05] .v-counter{order:0;margin-right:8px;white-space:nowrap;color:rgb(var(--v-theme-grey-darken-1));letter-spacing:0;word-spacing:-3px}.vx-field-wrap .v-input[data-v-ec474b05] .v-input__details,.vx-field-wrap .v-input[data-v-ec474b05] .v-messages__message{padding:0;min-height:20px;line-height:20px;align-items:flex-start}.vx-field-wrap .v-input[data-v-ec474b05]:not(.v-input--error,.v-input--readonly) .v-field__outline{color:rgb(var(--v-theme-grey-lighten-2));transition:color .3s ease}.vx-field-wrap .v-input[data-v-ec474b05]:not(.v-input--error,.v-input--readonly) .v-field:not(.v-field--focused):hover .v-field__outline{color:rgb(var(--v-theme-primary))}.vx-field-wrap .v-input[data-v-ec474b05]:not(.v-input--error,.v-input--readonly) .v-field--focused .v-field__outline{color:rgb(var(--v-theme-primary))}.vx-field-wrap .v-input[data-v-ec474b05] input{color:rgb(var(--v-theme-grey-darken-3))}.vx-field-wrap .v-input.v-input--density-compact[data-v-ec474b05] input::placeholder{font-size:16px;color:rgb(var(--v-theme-grey));opacity:1}.vx-field-wrap[data-v-ec474b05] .v-field__clearable i{font-size:16px;color:rgb(var(--v-theme-grey-darken-3));--v-medium-emphasis-opacity: 1}.vx-field-wrap[data-v-ec474b05] .v-field__append-inner i{font-size:16px;color:rgb(var(--v-theme-grey-darken-3))}.vx-field-wrap .number-field[data-v-ec474b05] .v-number-input__control .v-btn{--v-btn-size: 13.75px;--v-btn-height: 12px;font-size:var(--v-btn-size)}.vx-field-wrap .number-field[data-v-ec474b05] .v-number-input__control .v-btn--variant-elevated{box-shadow:none}.vx-field-wrap .number-field[data-v-ec474b05] .v-number-input__control .v-divider{display:none}.vx-select-wrap .v-input.v-input--disabled[data-v-e220bcd1] .v-field{background-color:rgb(var(--v-theme-grey-lighten-4));color:rgb(var(--v-theme-grey))}.vx-select-wrap .v-input[data-v-e220bcd1] .v-autocomplete__selection,.vx-select-wrap .v-input[data-v-e220bcd1] .v-select__selection{margin-inline-end:4px}.vx-select-wrap .v-input[data-v-e220bcd1] .v-autocomplete__selection .v-chip,.vx-select-wrap .v-input[data-v-e220bcd1] .v-select__selection .v-chip{color:rgb(var(--v-theme-primary))}.vx-select-wrap .v-input[data-v-e220bcd1] .v-field{--v-theme-overlay-multiplier: var(--v-theme-background-overlay-multiplier);background-color:rgb(var(--v-theme-background))}.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-field__clearable .mdi-close-circle{font-size:18px;color:rgb(var(--v-theme-grey-darken-3));--v-medium-emphasis-opacity: 1}.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-field__append-inner .mdi-menu-down,.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-chip__close .mdi-close-circle{font-size:16px}.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-chip__close .mdi-close-circle:before{content:"󰅖"}.vx-select-wrap .v-input[data-v-e220bcd1] .v-field__outline{--v-field-border-width: 1px;--v-field-border-opacity: 1;transition:color .3s ease}.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field__outline{color:rgb(var(--v-theme-grey-lighten-2))}.vx-select-wrap .v-input.v-input--error[data-v-e220bcd1] .v-field__clearable .v-icon,.vx-select-wrap .v-input.v-input--error[data-v-e220bcd1] .v-field__append-inner .v-icon{color:rgb(var(--v-theme-grey-darken-3))}.vx-select-wrap .v-input[data-v-e220bcd1] .v-input__details{padding:0;min-height:20px;align-items:center}.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field:not(.v-field--focused):hover .v-field__outline{color:rgb(var(--v-theme-primary))}.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field--focused .v-field__outline{color:rgb(var(--v-theme-primary))}.vx-select-wrap .v-input[data-v-e220bcd1] input{color:rgb(var(--v-theme-grey-darken-3))}.vx-select-wrap .v-input.v-input--density-compact[data-v-e220bcd1] input::placeholder{font-size:16px;color:rgb(var(--v-theme-grey));opacity:1}.v-input.readonly[data-v-35490af0] .v-selection-control{pointer-events:none}.v-input[data-v-35490af0] .v-label{color:rgb(var(--v-theme-grey-darken-3))}.v-input[data-v-35490af0] .v-icon{color:var(--b55b878c);opacity:1}.vx-toolbar[data-v-b76d451d]{font-size:16px;font-style:normal;font-weight:400;line-height:24px;padding:8px 16px;border-radius:8px}.vx-toolbar-default[data-v-b76d451d]{background-color:rgb(var(--v-theme-grey-lighten-4))}.dialog-content-text[data-v-73820235]{font-size:14px;font-weight:400;line-height:20px;color:rgb(var(--v-theme-grey-darken-2))}.v-card-actions[data-v-73820235]{padding:0 24px 24px}.v-card-actions.default .v-btn.v-btn--size-small[data-v-73820235]{min-width:initial;padding:0 12px;font-size:12px;font-weight:400}.v-card-actions.default .v-btn.v-btn--size-small[data-v-73820235] .v-btn__content{letter-spacing:.04px}.v-card-actions .v-btn.v-btn--size-default[data-v-73820235]{min-width:initial;padding:0 16px;font-weight:500}.v-card-actions .v-btn.v-btn--size-default[data-v-73820235] .v-btn__content{letter-spacing:.25px}.v-card-actions .v-btn~.v-btn[data-v-73820235]:not(.v-btn-toggle .v-btn){margin-inline-start:10px}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item{flex-shrink:.05;margin-left:.15em;margin-right:.15em}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn{--v-btn-size: unset;font-weight:500;width:auto}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--size-small{--v-btn-size: 13.875px}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--size-default{--v-btn-size: 16px}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--density-compact .v-btn__content{padding:0 10px;min-width:28px}.vx-btn-wrap .v-btn[data-v-16e11348]{height:unset}.vx-btn-wrap.presets-default.presets-icon .v-btn[data-v-16e11348]{padding:8px}.vx-btn-wrap.presets-default .v-btn[data-v-16e11348]{padding:8px 16px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append{margin-left:4px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend{margin-right:4px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend,.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append{margin-inline:unset}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend .v-icon,.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append .v-icon{font-size:20px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content{line-height:20px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content .v-icon{font-size:20px}.vx-btn-wrap.presets-large.presets-icon .v-btn[data-v-16e11348]{padding:12px}.vx-btn-wrap.presets-large .v-btn[data-v-16e11348]{padding:12px 24px;min-width:initial}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__content{letter-spacing:.244px;font-size:16px;font-weight:400;line-height:24px}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__content .v-icon{font-size:24px}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append{margin-left:4px}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend{margin-right:4px}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend,.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append{margin-inline:unset}.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend .v-icon,.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append .v-icon{font-size:24px}.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content{letter-spacing:.091px;font-weight:500}.vx-btn-wrap.presets-small.presets-icon .v-btn[data-v-16e11348]{padding:6px}.vx-btn-wrap.presets-small .v-btn[data-v-16e11348]{padding:6px 12px;min-width:initial}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append{margin-left:4px}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend{margin-right:4px}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append,.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend{margin-inline:unset}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append .v-icon,.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend .v-icon{font-size:16px}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__content{letter-spacing:-.143px;font-size:12px;line-height:16px;font-weight:400}.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__content .v-icon{font-size:16px}.vx-btn-wrap.presets-x-small[data-v-16e11348]{line-height:1}.vx-btn-wrap.presets-x-small.presets-icon .v-btn[data-v-16e11348]{padding:4px}.vx-btn-wrap.presets-x-small .v-btn[data-v-16e11348]{padding:4px 8px}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append{margin-left:4px}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend{margin-right:4px}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append,.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend{margin-inline:unset}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append .v-icon,.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend .v-icon{font-size:16px}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__content{letter-spacing:-.14px;font-size:12px;line-height:16px;font-weight:400}.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__content .v-icon{font-size:16px}.vx-btn-group-wrap[data-v-c7086825]{line-height:1}.vx-btn-group-wrap .v-btn-group[data-v-c7086825]{height:auto}.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:not(:last-child) .v-btn{border-inline-end:none}.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:not(:first-child) .v-btn{border-inline-start:none}.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:first-child,.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:first-child .v-btn{border-start-start-radius:inherit;border-end-start-radius:inherit}.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:last-child,.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:last-child .v-btn{border-start-end-radius:inherit;border-end-end-radius:inherit}.vx-btn-group-wrap .v-btn-group--divided[data-v-c7086825] .vx-btn-wrap:not(:last-child) .v-btn{border-inline-end-width:var(--08e74a11);border-inline-end-style:solid;border-inline-end-color:var(--07d04bae)}.vx-btn-group-wrap .v-btn-group--divided[data-v-c7086825] .vx-btn-wrap:first-child .v-btn{border-start-start-radius:inherit;border-end-start-radius:inherit}.vx-chip-wrap.presets-round .v-chip[data-v-6fd0ea00]{border-radius:999px!important}.vx-chip-wrap.presets-badge.presets-round.prepend-icon .v-chip[data-v-6fd0ea00]{padding-right:6px}.vx-chip-wrap.presets-badge.presets-round.append-icon .v-chip[data-v-6fd0ea00]{padding-left:6px}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon--start,.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon__filter{margin-inline-start:0}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon--end,.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon__close{margin-inline-end:0}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00]{font-size:12px;line-height:20px;padding:0 4px}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-chip__content{letter-spacing:.293px}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-btn__content{letter-spacing:-.41px;font-size:12px;font-weight:400}.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-btn__content .v-icon{font-size:16px}.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__append,.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__prepend{margin-inline:unset}.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__append .v-icon,.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__prepend .v-icon{font-size:12px}.vx-avatar[data-v-9fd03e9f]{overflow:hidden;display:inline-flex;justify-content:center;align-items:center;color:rgba(var(--v-theme-primary),1);background-color:rgba(var(--v-theme-primary-lighten-2),1);background-size:cover;width:var(--0411202f);height:var(--0411202f);background-image:var(--3368e75a)}.vx-tabs-wrap[data-v-2c74f5d9] .v-slide-group__content{border-block-end-width:0}.vx-tabs-wrap .vx-tabs.v-tabs--horizontal.underline-border-contain[data-v-2c74f5d9] .v-btn{border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.vx-tabs-wrap .vx-tabs.v-tabs--horizontal.underline-border-full[data-v-2c74f5d9] .v-slide-group__content{flex:1;border-block-end-width:thin;border-block-end-style:solid;border-block-end-color:rgba(var(--v-border-color),var(--v-border-opacity))!important}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab{border-radius:4px;padding:0 8px;margin:0;font-size:12px;font-weight:400;background-color:#eee;color:#757575;height:24px;min-height:24px;line-height:24px;display:flex;align-items:center;justify-content:center;flex:1}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab:before,.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab:after{display:none!important;opacity:0!important;background-color:transparent!important}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab .v-ripple__container{display:none!important;opacity:0!important}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab.v-tab--selected{background-color:#fff;color:#212121}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-slide-group__content{gap:4px;background-color:#eee;border-radius:4px;padding:4px;height:32px;width:100%;display:flex;align-items:center;justify-content:space-between}.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tabs__bar{height:auto}.vx-tabs-wrap .vx-tabs[data-v-2c74f5d9] .v-slide-group__container .v-tab.v-tab.v-btn{min-width:auto}.iframe-emitter-wrapper[data-v-2bf8deba]{height:50vh;width:100%}.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item{padding-left:0;padding-right:0}.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item,.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-divider{color:rgb(var(--v-theme-grey-darken-3))}.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--disabled:has(.v-breadcrumbs-item--link){--v-disabled-opacity: 1}.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--disabled:has(.v-breadcrumbs-item--link) .v-breadcrumbs-item--link{color:rgb(var(--v-theme-grey-darken-3))}.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--link{color:rgb(var(--v-theme-primary))}.vx-treeview-wrap.presets-compact[data-v-57be4cea] .v-list-item{min-height:32px}.vx-treeview-wrap[data-v-57be4cea] .v-list-item__spacer{width:8px!important}.vx-treeview-wrap[data-v-57be4cea] .v-list-item-title{font-weight:400}.vx-treeview-wrap[data-v-57be4cea] .v-list-item[aria-selected=true] .v-list-item__prepend .v-icon{color:var(--2edc7782)!important}.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]){color:var(--v-theme-on-surface)!important}.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]) .v-list-item__prepend .v-icon{--v-medium-emphasis-opacity: 1;color:var(--v-theme-on-surface)!important}.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]) .v-list-item-action .v-btn__content{color:var(--v-theme-grey-darken-3)!important}.vx-treeview-wrap[data-v-57be4cea] .v-list-item .v-list-item__overlay{border-radius:4px}.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content{color:rgb(var(--v-theme-grey-darken-1))}.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content .mdi-menu-right:before{content:"󰅂"}.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content .mdi-menu-down:before{content:"󰅀"}.tiptap-wrapper .vuetify-pro-tiptap-editor__content{cursor:text!important}.vx-condition-switch-wrap.disabled[data-v-2068d448],.vx-condition-switch-wrap.disabled .vx-condition-btn-group div[data-v-2068d448],.vx-condition-switch-wrap.disabled .vx-condition-select[data-v-2068d448]{cursor:not-allowed}.vx-condition-switch-wrap .vx-condition-btn-group[data-v-2068d448]{background-color:#eee;width:96px;height:32px;display:flex;justify-content:space-between;border-radius:4px;padding:4px;position:relative}.vx-condition-switch-wrap .vx-condition-btn-group .active-background[data-v-2068d448]{position:absolute;width:40px;height:24px;background-color:#fff;border-radius:4px;transition:transform .3s ease;z-index:1}.vx-condition-switch-wrap .vx-condition-btn-group div[data-v-2068d448]{color:#757575;width:40px;text-align:center;line-height:24px;height:24px;border-radius:4px;font-size:12px;cursor:pointer;position:relative;z-index:2;transition:color .3s ease}.vx-condition-switch-wrap .vx-condition-btn-group div.active[data-v-2068d448]{color:#212121}.vx-condition-switch-wrap .vx-condition-select-wrap[data-v-2068d448]{position:relative;width:56px}.vx-condition-switch-wrap .vx-condition-select-wrap .vx-condition-select[data-v-2068d448]{position:absolute;top:0;left:0;width:100%;height:24px;opacity:0;z-index:2;cursor:pointer}.vx-condition-switch-wrap .vx-condition-select-wrap .select-display[data-v-2068d448]{position:relative;width:100%;height:24px;background:#eee;border-radius:4px;padding:0 8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.vx-condition-switch-wrap .vx-condition-select-wrap .select-value[data-v-2068d448]{font-size:12px;color:#424242;white-space:nowrap}.vx-condition-switch-wrap .vx-condition-select-wrap .select-arrow[data-v-2068d448]{margin-left:4px;display:flex;align-items:center;justify-content:center}.vx-segment-item-wrap[data-v-60c74169]{position:relative;background:#fafafa;border-radius:4px;border:1px solid rgb(224,224,224);padding:8px;margin-right:25px}.vx-segment-item-wrap.readonly[data-v-60c74169]{background:#f5f5f5}.condition-group[data-v-60c74169]{display:flex;flex-wrap:wrap;gap:8px}.delete-icon[data-v-60c74169]{position:absolute;top:50%;right:-30px;transform:translateY(-50%);cursor:pointer}.condition-text[data-v-60c74169]{color:#9e9e9e;line-height:40px}.vx-segment-item-wrap[data-v-5a135201]{display:flex}.condition-left[data-v-5a135201]{display:flex;align-items:stretch;min-height:128px;position:relative}.condition-left .connect-decoration[data-v-5a135201]{position:absolute;top:50%;transform:translateY(-50%);left:32px;width:1px;height:calc(100% - 100px);background:#bdbdbd}.condition-left[data-v-5a135201]:before{content:"";position:absolute;top:28px;right:0;width:24px;height:24px;border-top-left-radius:8px;border-left:1px solid rgb(189,189,189);border-top:1px solid rgb(189,189,189)}.condition-left[data-v-5a135201]:after{content:"";position:absolute;bottom:28px;right:0;width:24px;height:24px;border-bottom-left-radius:8px;border-left:1px solid rgb(189,189,189);border-bottom:1px solid rgb(189,189,189)}.vx-switcher[data-v-5a135201]{align-self:center}.content-right[data-v-5a135201]{position:relative;margin-left:8px;padding-bottom:56px;flex:1;display:flex;flex-direction:column;gap:16px}.add-btn[data-v-5a135201]{position:absolute;bottom:14px;left:0}.vx-segment-form .vx-segment-form-block .content[data-v-da361be2]{position:relative;padding:16px 0 16px 24px}.vx-segment-form .vx-segment-form-block .content[data-v-da361be2]:before{content:"";position:absolute;top:0;left:14px;width:1px;background:#bdbdbd;height:100%}.funnel-chart-container[data-v-ba5be0f8]{width:100%;height:100%;display:flex;flex-direction:column}.funnel-header[data-v-ba5be0f8]{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;height:56px;width:100%;box-sizing:border-box}.campaign-name-container[data-v-ba5be0f8]{display:flex;align-items:center;height:40px}.campaign-name[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:35px;font-weight:510;line-height:40px;color:#212121;letter-spacing:-.16px;margin:0}.badge-container[data-v-ba5be0f8]{display:flex;gap:8px}.badge[data-v-ba5be0f8]{height:20px;padding:2px 8px;border-radius:4px;display:flex;align-items:center}.badge.light-badge[data-v-ba5be0f8]{background-color:#f5f5f5}.badge-text[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;font-weight:400;color:#424242;letter-spacing:.04px}.funnel-summary-cards[data-v-ba5be0f8]{display:flex;margin:16px 0;gap:16px;padding:0 24px}.summary-card[data-v-ba5be0f8]{flex:1;border:1px solid #e0e0e0;border-radius:12px;padding:12px;background-color:#fff;height:128px;display:flex;flex-direction:column;justify-content:space-between}.summary-tag[data-v-ba5be0f8]{display:flex;align-items:center;padding:4px 8px;border-radius:4px;width:fit-content;height:24px}.summary-tag.blue[data-v-ba5be0f8]{background-color:#e4ecfe}.summary-tag.red[data-v-ba5be0f8]{background-color:#ffe5e5}.summary-tag.orange[data-v-ba5be0f8]{background-color:#ffe8d7}.tag-dot[data-v-ba5be0f8]{width:8px;height:8px;border-radius:50%;margin-right:8px}.tag-dot.blue-dot[data-v-ba5be0f8]{background-color:#3e63dd}.tag-dot.red-dot[data-v-ba5be0f8]{background-color:#e5484d}.tag-dot.orange-dot[data-v-ba5be0f8]{background-color:#f76808}.tag-text[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:400}.tag-text.blue-text[data-v-ba5be0f8]{color:#3e63dd}.tag-text.red-text[data-v-ba5be0f8]{color:#e5484d}.tag-text.orange-text[data-v-ba5be0f8]{color:#f76808}.summary-desc[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:400;color:#616161;margin-top:12px}.summary-value[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-size:24px;font-weight:510;letter-spacing:-.1px;color:#212121;align-self:flex-start}.funnel-cols[data-v-ba5be0f8]{position:relative;display:flex;width:100%;flex:1;transition:gap .3s ease;box-sizing:border-box;z-index:1}.funnel-cols[style*=gap] .funnel-col[data-v-ba5be0f8]{border-right:none!important;border-left:1px solid #e0e0e0}.funnel-cols[style*=gap] .funnel-col[data-v-ba5be0f8]:first-child{border-left:none}.funnel-col[data-v-ba5be0f8]{display:flex;flex-direction:column;border-right:1px solid #e0e0e0;transition:all .3s ease;min-width:0;box-sizing:border-box;overflow:hidden}.funnel-col[data-v-ba5be0f8]:last-child{border-right:none}.funnel-col[data-v-ba5be0f8]:nth-child(n+7){border-right-width:.5px}.funnel-card[data-v-ba5be0f8]{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:12px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;transition:all .3s ease;min-height:0}.funnel-card-text[data-v-ba5be0f8]{font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:510;letter-spacing:.15px;color:#212121;flex:1;min-width:0;word-break:break-word;transition:font-size .3s ease;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.funnel-card-text.cardText[data-v-ba5be0f8] *{font-size:var(--5393550c)!important;line-height:var(--60a4f952)!important}.funnel-card-text.cardText[data-v-ba5be0f8] .text-subtitle-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.funnel-col:nth-child(n+7) .funnel-card-text[data-v-ba5be0f8]{white-space:normal;line-height:1.2}.funnel-card-icon[data-v-ba5be0f8]{flex-shrink:0;background-color:#fff;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.funnel-stat-card[data-v-ba5be0f8]{transition:all .3s ease;min-height:0}.funnel-stat-value[data-v-ba5be0f8]{display:inline-block;vertical-align:middle;margin-right:8px;font-family:SF Pro,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:510;letter-spacing:-.12px;color:#212121;word-break:break-word;transition:all .3s ease;overflow:hidden;text-overflow:ellipsis}.funnel-stat-value.lighter[data-v-ba5be0f8]{color:#9e9e9e}.funnel-stat-trend[data-v-ba5be0f8]{display:inline-flex;vertical-align:middle;align-items:center;color:#616161;font-weight:700;transition:all .3s ease;min-height:0}.trend-text[data-v-ba5be0f8]{transition:all .3s ease;word-break:break-word;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#616161}.funnel-col:nth-child(n+7) .trend-text[data-v-ba5be0f8]{white-space:normal;line-height:1.2}.funnel-visual[data-v-ba5be0f8]{width:100%;position:absolute;bottom:0;z-index:2}.funnel-cols-container[data-v-ba5be0f8]{position:relative;transition:all .3s ease}.funnel-cols-container .funnel-cols[data-v-ba5be0f8]{flex-direction:row;position:absolute;inset:0;z-index:2}@media (max-width: 768px){.funnel-col[data-v-ba5be0f8]{border-bottom:1px solid #e0e0e0}.funnel-col[data-v-ba5be0f8]:last-child{border-bottom:none}.funnel-cols[data-v-ba5be0f8]{flex-direction:column}}.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col[data-v-ba5be0f8]{border-right-width:.5px}.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col .funnel-card-text[data-v-ba5be0f8],.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col .trend-text[data-v-ba5be0f8]{font-size:.9em;line-height:1.2}.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .funnel-card-text[data-v-ba5be0f8],.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .trend-text[data-v-ba5be0f8]{font-size:.8em;line-height:1.1}.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .funnel-stat-value[data-v-ba5be0f8]{font-size:.9em}.vx-chart-wrap[data-v-db5dec1d]{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.vx-chart-wrap .vx-chart-title[data-v-db5dec1d]{font-size:18px;font-weight:510;color:#212121;margin:16px 0 0 16px;text-align:left}.vx-chart-wrap .vx-chart-container[data-v-db5dec1d]{flex:1;width:100%;min-height:var(--724a2771)} + */ +/* # ================================================================= + # Global selectors + # ================================================================= */ +html { + box-sizing: border-box; + overflow-y: scroll; /* All browsers without overlaying scrollbars */ + -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */ + word-break: normal; + -moz-tab-size: 4; + tab-size: 4; +} + +*, +::before, +::after { + background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */ + box-sizing: inherit; +} + +::before, +::after { + text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */ + vertical-align: inherit; +} + +* { + padding: 0; /* Reset `padding` and `margin` of all elements */ + margin: 0; +} + +/* # ================================================================= + # General elements + # ================================================================= */ +hr { + overflow: visible; /* Show the overflow in Edge and IE */ + height: 0; /* Add the correct box sizing in Firefox */ +} + +details, +main { + display: block; /* Render the `main` element consistently in IE. */ +} + +summary { + display: list-item; /* Add the correct display in all browsers */ +} + +small { + font-size: 80%; /* Set font-size to 80% in `small` elements */ +} + +[hidden] { + display: none; /* Add the correct display in IE */ +} + +abbr[title] { + border-bottom: none; /* Remove the bottom border in Chrome 57 */ + /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */ + text-decoration: underline; + text-decoration: underline dotted; +} + +a { + background-color: transparent; /* Remove the gray background on active links in IE 10 */ +} + +a:active, +a:hover { + outline-width: 0; /* Remove the outline when hovering in all browsers */ +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; /* Specify the font family of code elements */ +} + +pre { + font-size: 1em; /* Correct the odd `em` font sizing in all browsers */ +} + +b, +strong { + font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */ +} + +/* https://gist.github.com/unruthless/413930 */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* # ================================================================= + # Forms + # ================================================================= */ +input { + border-radius: 0; +} + +/* Replace pointer cursor in disabled elements */ +[disabled] { + cursor: default; +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */ +} + +[type=search] { + -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */ + outline-offset: -2px; /* Correct the outline style in Safari */ +} + +[type=search]::-webkit-search-cancel-button, +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */ +} + +textarea { + overflow: auto; /* Internet Explorer 11+ */ + resize: vertical; /* Specify textarea resizability */ +} + +button, +input, +optgroup, +select, +textarea { + font: inherit; /* Specify font inheritance of form elements */ +} + +optgroup { + font-weight: bold; /* Restore the font weight unset by the previous rule */ +} + +button { + overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ +} + +button, +select { + text-transform: none; /* Firefox 40+, Internet Explorer 11- */ +} + +/* Apply cursor pointer to button elements */ +button, +[type=button], +[type=reset], +[type=submit], +[role=button] { + cursor: pointer; + color: inherit; +} + +/* Remove inner padding and border in Firefox 4+ */ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/* Replace focus style removed in the border reset above */ +button:-moz-focusring, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + outline: 1px dotted ButtonText; +} + +button, +html [type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */ +} + +/* Remove the default button styling in all browsers */ +button, +input, +select, +textarea { + background-color: transparent; + border-style: none; +} + +/* Style select like a standard input */ +select { + -moz-appearance: none; /* Firefox 36+ */ + -webkit-appearance: none; /* Chrome 41+ */ +} + +select::-ms-expand { + display: none; /* Internet Explorer 11+ */ +} + +select::-ms-value { + color: currentColor; /* Internet Explorer 11+ */ +} + +legend { + border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */ + color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */ + display: table; /* Correct the text wrapping in Edge and IE */ + max-width: 100%; /* Correct the text wrapping in Edge and IE */ + white-space: normal; /* Correct the text wrapping in Edge and IE */ + max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */ +} + +::-webkit-file-upload-button { + /* Correct the inability to style clickable types in iOS and Safari */ + -webkit-appearance: button; + color: inherit; + font: inherit; /* Change font properties to `inherit` in Chrome and Safari */ +} + +::-ms-clear, +::-ms-reveal { + display: none; +} + +/* # ================================================================= + # Specify media element style + # ================================================================= */ +img { + border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */ +} + +/* Add the correct vertical alignment in Chrome, Firefox, and Opera */ +progress { + vertical-align: baseline; +} + +/* # ================================================================= + # Accessibility + # ================================================================= */ +/* Hide content from screens but not screenreaders */ +@media screen { + [hidden~=screen] { + display: inherit; + } + [hidden~=screen]:not(:active):not(:focus):not(:target) { + position: absolute !important; + clip: rect(0 0 0 0) !important; + } +} +/* Specify the progress cursor of updating elements */ +[aria-busy=true] { + cursor: progress; +} + +/* Specify the pointer cursor of trigger elements */ +[aria-controls] { + cursor: pointer; +} + +/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */ +[aria-disabled=true] { + cursor: default; +} + +@media (prefers-reduced-motion: no-preference) { + .dialog-transition-enter-active, + .dialog-bottom-transition-enter-active, + .dialog-top-transition-enter-active { + transition-duration: 225ms !important; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important; + } + .dialog-transition-leave-active, + .dialog-bottom-transition-leave-active, + .dialog-top-transition-leave-active { + transition-duration: 125ms !important; + transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important; + } + .dialog-transition-enter-active, .dialog-transition-leave-active, + .dialog-bottom-transition-enter-active, + .dialog-bottom-transition-leave-active, + .dialog-top-transition-enter-active, + .dialog-top-transition-leave-active { + transition-property: transform, opacity !important; + pointer-events: none; + } + .dialog-transition-enter-from, .dialog-transition-leave-to { + transform: scale(0.9); + opacity: 0; + } + .dialog-transition-enter-to, .dialog-transition-leave-from { + opacity: 1; + } + .dialog-bottom-transition-enter-from, .dialog-bottom-transition-leave-to { + transform: translateY(calc(50vh + 50%)); + } + .dialog-top-transition-enter-from, .dialog-top-transition-leave-to { + transform: translateY(calc(-50vh - 50%)); + } + .picker-transition-enter-active, + .picker-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-leave-active, + .picker-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-move, + .picker-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-enter-from, .picker-transition-leave-to, + .picker-reverse-transition-enter-from, + .picker-reverse-transition-leave-to { + opacity: 0; + } + .picker-transition-leave-from, .picker-transition-leave-active, .picker-transition-leave-to, + .picker-reverse-transition-leave-from, + .picker-reverse-transition-leave-active, + .picker-reverse-transition-leave-to { + position: absolute !important; + } + .picker-transition-enter-active, .picker-transition-leave-active, + .picker-reverse-transition-enter-active, + .picker-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .picker-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-transition-enter-from { + transform: translate(100%, 0); + } + .picker-transition-leave-to { + transform: translate(-100%, 0); + } + .picker-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .picker-reverse-transition-enter-from { + transform: translate(-100%, 0); + } + .picker-reverse-transition-leave-to { + transform: translate(100%, 0); + } + .expand-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-transition-enter-active, .expand-transition-leave-active { + transition-property: height !important; + } + .expand-x-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-x-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-x-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .expand-x-transition-enter-active, .expand-x-transition-leave-active { + transition-property: width !important; + } + .scale-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-transition-leave-to { + opacity: 0; + } + .scale-transition-leave-active { + transition-duration: 100ms !important; + } + .scale-transition-enter-from { + opacity: 0; + transform: scale(0); + } + .scale-transition-enter-active, .scale-transition-leave-active { + transition-property: transform, opacity !important; + } + .scale-rotate-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-transition-leave-to { + opacity: 0; + } + .scale-rotate-transition-leave-active { + transition-duration: 100ms !important; + } + .scale-rotate-transition-enter-from { + opacity: 0; + transform: scale(0) rotate(-45deg); + } + .scale-rotate-transition-enter-active, .scale-rotate-transition-leave-active { + transition-property: transform, opacity !important; + } + .scale-rotate-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scale-rotate-reverse-transition-leave-to { + opacity: 0; + } + .scale-rotate-reverse-transition-leave-active { + transition-duration: 100ms !important; + } + .scale-rotate-reverse-transition-enter-from { + opacity: 0; + transform: scale(0) rotate(45deg); + } + .scale-rotate-reverse-transition-enter-active, .scale-rotate-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .message-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .message-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .message-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .message-transition-enter-from, .message-transition-leave-to { + opacity: 0; + transform: translateY(-15px); + } + .message-transition-leave-from, .message-transition-leave-active { + position: absolute; + } + .message-transition-enter-active, .message-transition-leave-active { + transition-property: transform, opacity !important; + } + .slide-y-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-transition-enter-from, .slide-y-transition-leave-to { + opacity: 0; + transform: translateY(-15px); + } + .slide-y-transition-enter-active, .slide-y-transition-leave-active { + transition-property: transform, opacity !important; + } + .slide-y-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-y-reverse-transition-enter-from, .slide-y-reverse-transition-leave-to { + opacity: 0; + transform: translateY(15px); + } + .slide-y-reverse-transition-enter-active, .slide-y-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .scroll-y-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-transition-enter-from, .scroll-y-transition-leave-to { + opacity: 0; + } + .scroll-y-transition-enter-from { + transform: translateY(-15px); + } + .scroll-y-transition-leave-to { + transform: translateY(15px); + } + .scroll-y-transition-enter-active, .scroll-y-transition-leave-active { + transition-property: transform, opacity !important; + } + .scroll-y-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-y-reverse-transition-enter-from, .scroll-y-reverse-transition-leave-to { + opacity: 0; + } + .scroll-y-reverse-transition-enter-from { + transform: translateY(15px); + } + .scroll-y-reverse-transition-leave-to { + transform: translateY(-15px); + } + .scroll-y-reverse-transition-enter-active, .scroll-y-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .scroll-x-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-transition-enter-from, .scroll-x-transition-leave-to { + opacity: 0; + } + .scroll-x-transition-enter-from { + transform: translateX(-15px); + } + .scroll-x-transition-leave-to { + transform: translateX(15px); + } + .scroll-x-transition-enter-active, .scroll-x-transition-leave-active { + transition-property: transform, opacity !important; + } + .scroll-x-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .scroll-x-reverse-transition-enter-from, .scroll-x-reverse-transition-leave-to { + opacity: 0; + } + .scroll-x-reverse-transition-enter-from { + transform: translateX(15px); + } + .scroll-x-reverse-transition-leave-to { + transform: translateX(-15px); + } + .scroll-x-reverse-transition-enter-active, .scroll-x-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .slide-x-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-transition-enter-from, .slide-x-transition-leave-to { + opacity: 0; + transform: translateX(-15px); + } + .slide-x-transition-enter-active, .slide-x-transition-leave-active { + transition-property: transform, opacity !important; + } + .slide-x-reverse-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-reverse-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-reverse-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .slide-x-reverse-transition-enter-from, .slide-x-reverse-transition-leave-to { + opacity: 0; + transform: translateX(15px); + } + .slide-x-reverse-transition-enter-active, .slide-x-reverse-transition-leave-active { + transition-property: transform, opacity !important; + } + .fade-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fade-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fade-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fade-transition-enter-from, .fade-transition-leave-to { + opacity: 0 !important; + } + .fade-transition-enter-active, .fade-transition-leave-active { + transition-property: opacity !important; + } + .fab-transition-enter-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fab-transition-leave-active { + transition-duration: 0.3s !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fab-transition-move { + transition-duration: 0.5s !important; + transition-property: transform !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + } + .fab-transition-enter-from, .fab-transition-leave-to { + transform: scale(0) rotate(-45deg); + } + .fab-transition-enter-active, .fab-transition-leave-active { + transition-property: transform !important; + } +} +.v-locale--is-rtl { + direction: rtl; +} +.v-locale--is-ltr { + direction: ltr; +} + +.blockquote { + padding: 16px 0 16px 24px; + font-size: 18px; + font-weight: 300; +} + +html { + font-family: -apple-system, "system-ui", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + line-height: 1.5; + font-size: 14px; + overflow-x: hidden; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +html.overflow-y-hidden { + overflow-y: hidden !important; +} + +:root { + --v-theme-overlay-multiplier: 1; + --v-scrollbar-offset: 0px; +} + +@supports (-webkit-touch-callout: none) { + body { + cursor: pointer; + } +} +@media only print { + .hidden-print-only { + display: none !important; + } +} + +@media only screen { + .hidden-screen-only { + display: none !important; + } +} + +@media (max-width: 599.98px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 600px) and (max-width: 959.98px) { + .hidden-sm { + display: none !important; + } +} + +@media (min-width: 960px) and (max-width: 1279.98px) { + .hidden-md { + display: none !important; + } +} + +@media (min-width: 1280px) and (max-width: 1919.98px) { + .hidden-lg { + display: none !important; + } +} + +@media (min-width: 1920px) and (max-width: 2559.98px) { + .hidden-xl { + display: none !important; + } +} + +@media (min-width: 2560px) { + .hidden-xxl { + display: none !important; + } +} + +@media (min-width: 600px) { + .hidden-sm-and-up { + display: none !important; + } +} + +@media (min-width: 960px) { + .hidden-md-and-up { + display: none !important; + } +} + +@media (min-width: 1280px) { + .hidden-lg-and-up { + display: none !important; + } +} + +@media (min-width: 1920px) { + .hidden-xl-and-up { + display: none !important; + } +} + +@media (max-width: 959.98px) { + .hidden-sm-and-down { + display: none !important; + } +} + +@media (max-width: 1279.98px) { + .hidden-md-and-down { + display: none !important; + } +} + +@media (max-width: 1919.98px) { + .hidden-lg-and-down { + display: none !important; + } +} + +@media (max-width: 2559.98px) { + .hidden-xl-and-down { + display: none !important; + } +} + +.elevation-24 { + box-shadow: 0 10px 30px rgba(var(--v-shadow-key-umbra-color), 0.34), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-23 { + box-shadow: 0 10px 28px rgba(var(--v-shadow-key-umbra-color), 0.34), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-22 { + box-shadow: 0 9px 27px rgba(var(--v-shadow-key-umbra-color), 0.32), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-21 { + box-shadow: 0 9px 26px rgba(var(--v-shadow-key-umbra-color), 0.32), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-20 { + box-shadow: 0 9px 25px rgba(var(--v-shadow-key-umbra-color), 0.3), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-19 { + box-shadow: 0 8px 24px 6px rgba(var(--v-shadow-key-umbra-color), 0.28), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-18 { + box-shadow: 0 8px 23px rgba(var(--v-shadow-key-umbra-color), 0.28), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-17 { + box-shadow: 0 7px 22px rgba(var(--v-shadow-key-umbra-color), 0.26), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-16 { + box-shadow: 0 7px 21px rgba(var(--v-shadow-key-umbra-color), 0.26), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-15 { + box-shadow: 0 7px 20px rgba(var(--v-shadow-key-umbra-color), 0.24), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-14 { + box-shadow: 0 6px 19px rgba(var(--v-shadow-key-umbra-color), 0.24), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-13 { + box-shadow: 0 6px 18px rgba(var(--v-shadow-key-umbra-color), 0.22), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-12 { + box-shadow: 0 6px 17px rgba(var(--v-shadow-key-umbra-color), 0.22), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-11 { + box-shadow: 0 5px 16px rgba(var(--v-shadow-key-umbra-color), 0.2), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-10 { + box-shadow: 0 8px 28px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xl-opacity)), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-9 { + box-shadow: 0 5px 14px rgba(var(--v-shadow-key-umbra-color), 0.18), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-8 { + box-shadow: 0 6px 16px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-lg-opacity)), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-7 { + box-shadow: 0 4px 18px rgba(var(--v-shadow-key-umbra-color), 0.1), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-6 { + box-shadow: 0 4px 10px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-md-opacity)), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-5 { + box-shadow: 0 4px 10px rgba(var(--v-shadow-key-umbra-color), 0.15), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-4 { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-3 { + box-shadow: 0 3px 8px rgba(var(--v-shadow-key-umbra-color), 0.14), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-2 { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-1 { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent !important; +} + +.elevation-0 { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent !important; +} + +.pointer-events-none { + pointer-events: none !important; +} + +.pointer-events-auto { + pointer-events: auto !important; +} + +.pointer-pass-through { + pointer-events: none !important; +} +.pointer-pass-through > * { + pointer-events: auto !important; +} + +.d-sr-only, +.d-sr-only-focusable:not(:focus) { + border: 0 !important; + clip: rect(0, 0, 0, 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + white-space: nowrap !important; + width: 1px !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.float-none { + float: none !important; +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.v-locale--is-rtl .float-end { + float: left !important; +} + +.v-locale--is-rtl .float-start { + float: right !important; +} + +.v-locale--is-ltr .float-end { + float: right !important; +} + +.v-locale--is-ltr .float-start { + float: left !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-1-1 { + flex: 1 1 auto !important; +} + +.flex-1-0 { + flex: 1 0 auto !important; +} + +.flex-0-1 { + flex: 0 1 auto !important; +} + +.flex-0-0 { + flex: 0 0 auto !important; +} + +.flex-1-1-100 { + flex: 1 1 100% !important; +} + +.flex-1-0-100 { + flex: 1 0 100% !important; +} + +.flex-0-1-100 { + flex: 0 1 100% !important; +} + +.flex-0-0-100 { + flex: 0 0 100% !important; +} + +.flex-1-1-0 { + flex: 1 1 0 !important; +} + +.flex-1-0-0 { + flex: 1 0 0 !important; +} + +.flex-0-1-0 { + flex: 0 1 0 !important; +} + +.flex-0-0-0 { + flex: 0 0 0 !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-start { + justify-content: flex-start !important; +} + +.justify-end { + justify-content: flex-end !important; +} + +.justify-center { + justify-content: center !important; +} + +.justify-space-between { + justify-content: space-between !important; +} + +.justify-space-around { + justify-content: space-around !important; +} + +.justify-space-evenly { + justify-content: space-evenly !important; +} + +.align-start { + align-items: flex-start !important; +} + +.align-end { + align-items: flex-end !important; +} + +.align-center { + align-items: center !important; +} + +.align-baseline { + align-items: baseline !important; +} + +.align-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-space-between { + align-content: space-between !important; +} + +.align-content-space-around { + align-content: space-around !important; +} + +.align-content-space-evenly { + align-content: space-evenly !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-6 { + order: 6 !important; +} + +.order-7 { + order: 7 !important; +} + +.order-8 { + order: 8 !important; +} + +.order-9 { + order: 9 !important; +} + +.order-10 { + order: 10 !important; +} + +.order-11 { + order: 11 !important; +} + +.order-12 { + order: 12 !important; +} + +.order-last { + order: 13 !important; +} + +.ga-0 { + gap: 0px !important; +} + +.ga-1 { + gap: 4px !important; +} + +.ga-2 { + gap: 8px !important; +} + +.ga-3 { + gap: 12px !important; +} + +.ga-4 { + gap: 16px !important; +} + +.ga-5 { + gap: 20px !important; +} + +.ga-6 { + gap: 24px !important; +} + +.ga-7 { + gap: 28px !important; +} + +.ga-8 { + gap: 32px !important; +} + +.ga-9 { + gap: 36px !important; +} + +.ga-10 { + gap: 40px !important; +} + +.ga-11 { + gap: 44px !important; +} + +.ga-12 { + gap: 48px !important; +} + +.ga-13 { + gap: 52px !important; +} + +.ga-14 { + gap: 56px !important; +} + +.ga-15 { + gap: 60px !important; +} + +.ga-16 { + gap: 64px !important; +} + +.ga-auto { + gap: auto !important; +} + +.gr-0 { + row-gap: 0px !important; +} + +.gr-1 { + row-gap: 4px !important; +} + +.gr-2 { + row-gap: 8px !important; +} + +.gr-3 { + row-gap: 12px !important; +} + +.gr-4 { + row-gap: 16px !important; +} + +.gr-5 { + row-gap: 20px !important; +} + +.gr-6 { + row-gap: 24px !important; +} + +.gr-7 { + row-gap: 28px !important; +} + +.gr-8 { + row-gap: 32px !important; +} + +.gr-9 { + row-gap: 36px !important; +} + +.gr-10 { + row-gap: 40px !important; +} + +.gr-11 { + row-gap: 44px !important; +} + +.gr-12 { + row-gap: 48px !important; +} + +.gr-13 { + row-gap: 52px !important; +} + +.gr-14 { + row-gap: 56px !important; +} + +.gr-15 { + row-gap: 60px !important; +} + +.gr-16 { + row-gap: 64px !important; +} + +.gr-auto { + row-gap: auto !important; +} + +.gc-0 { + column-gap: 0px !important; +} + +.gc-1 { + column-gap: 4px !important; +} + +.gc-2 { + column-gap: 8px !important; +} + +.gc-3 { + column-gap: 12px !important; +} + +.gc-4 { + column-gap: 16px !important; +} + +.gc-5 { + column-gap: 20px !important; +} + +.gc-6 { + column-gap: 24px !important; +} + +.gc-7 { + column-gap: 28px !important; +} + +.gc-8 { + column-gap: 32px !important; +} + +.gc-9 { + column-gap: 36px !important; +} + +.gc-10 { + column-gap: 40px !important; +} + +.gc-11 { + column-gap: 44px !important; +} + +.gc-12 { + column-gap: 48px !important; +} + +.gc-13 { + column-gap: 52px !important; +} + +.gc-14 { + column-gap: 56px !important; +} + +.gc-15 { + column-gap: 60px !important; +} + +.gc-16 { + column-gap: 64px !important; +} + +.gc-auto { + column-gap: auto !important; +} + +.ma-0 { + margin: 0px !important; +} + +.ma-1 { + margin: 4px !important; +} + +.ma-2 { + margin: 8px !important; +} + +.ma-3 { + margin: 12px !important; +} + +.ma-4 { + margin: 16px !important; +} + +.ma-5 { + margin: 20px !important; +} + +.ma-6 { + margin: 24px !important; +} + +.ma-7 { + margin: 28px !important; +} + +.ma-8 { + margin: 32px !important; +} + +.ma-9 { + margin: 36px !important; +} + +.ma-10 { + margin: 40px !important; +} + +.ma-11 { + margin: 44px !important; +} + +.ma-12 { + margin: 48px !important; +} + +.ma-13 { + margin: 52px !important; +} + +.ma-14 { + margin: 56px !important; +} + +.ma-15 { + margin: 60px !important; +} + +.ma-16 { + margin: 64px !important; +} + +.ma-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0px !important; + margin-left: 0px !important; +} + +.mx-1 { + margin-right: 4px !important; + margin-left: 4px !important; +} + +.mx-2 { + margin-right: 8px !important; + margin-left: 8px !important; +} + +.mx-3 { + margin-right: 12px !important; + margin-left: 12px !important; +} + +.mx-4 { + margin-right: 16px !important; + margin-left: 16px !important; +} + +.mx-5 { + margin-right: 20px !important; + margin-left: 20px !important; +} + +.mx-6 { + margin-right: 24px !important; + margin-left: 24px !important; +} + +.mx-7 { + margin-right: 28px !important; + margin-left: 28px !important; +} + +.mx-8 { + margin-right: 32px !important; + margin-left: 32px !important; +} + +.mx-9 { + margin-right: 36px !important; + margin-left: 36px !important; +} + +.mx-10 { + margin-right: 40px !important; + margin-left: 40px !important; +} + +.mx-11 { + margin-right: 44px !important; + margin-left: 44px !important; +} + +.mx-12 { + margin-right: 48px !important; + margin-left: 48px !important; +} + +.mx-13 { + margin-right: 52px !important; + margin-left: 52px !important; +} + +.mx-14 { + margin-right: 56px !important; + margin-left: 56px !important; +} + +.mx-15 { + margin-right: 60px !important; + margin-left: 60px !important; +} + +.mx-16 { + margin-right: 64px !important; + margin-left: 64px !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; +} + +.my-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; +} + +.my-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; +} + +.my-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; +} + +.my-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; +} + +.my-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; +} + +.my-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; +} + +.my-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; +} + +.my-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; +} + +.my-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; +} + +.my-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; +} + +.my-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; +} + +.my-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; +} + +.my-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; +} + +.my-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; +} + +.my-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; +} + +.my-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0px !important; +} + +.mt-1 { + margin-top: 4px !important; +} + +.mt-2 { + margin-top: 8px !important; +} + +.mt-3 { + margin-top: 12px !important; +} + +.mt-4 { + margin-top: 16px !important; +} + +.mt-5 { + margin-top: 20px !important; +} + +.mt-6 { + margin-top: 24px !important; +} + +.mt-7 { + margin-top: 28px !important; +} + +.mt-8 { + margin-top: 32px !important; +} + +.mt-9 { + margin-top: 36px !important; +} + +.mt-10 { + margin-top: 40px !important; +} + +.mt-11 { + margin-top: 44px !important; +} + +.mt-12 { + margin-top: 48px !important; +} + +.mt-13 { + margin-top: 52px !important; +} + +.mt-14 { + margin-top: 56px !important; +} + +.mt-15 { + margin-top: 60px !important; +} + +.mt-16 { + margin-top: 64px !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-0 { + margin-right: 0px !important; +} + +.mr-1 { + margin-right: 4px !important; +} + +.mr-2 { + margin-right: 8px !important; +} + +.mr-3 { + margin-right: 12px !important; +} + +.mr-4 { + margin-right: 16px !important; +} + +.mr-5 { + margin-right: 20px !important; +} + +.mr-6 { + margin-right: 24px !important; +} + +.mr-7 { + margin-right: 28px !important; +} + +.mr-8 { + margin-right: 32px !important; +} + +.mr-9 { + margin-right: 36px !important; +} + +.mr-10 { + margin-right: 40px !important; +} + +.mr-11 { + margin-right: 44px !important; +} + +.mr-12 { + margin-right: 48px !important; +} + +.mr-13 { + margin-right: 52px !important; +} + +.mr-14 { + margin-right: 56px !important; +} + +.mr-15 { + margin-right: 60px !important; +} + +.mr-16 { + margin-right: 64px !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0px !important; +} + +.mb-1 { + margin-bottom: 4px !important; +} + +.mb-2 { + margin-bottom: 8px !important; +} + +.mb-3 { + margin-bottom: 12px !important; +} + +.mb-4 { + margin-bottom: 16px !important; +} + +.mb-5 { + margin-bottom: 20px !important; +} + +.mb-6 { + margin-bottom: 24px !important; +} + +.mb-7 { + margin-bottom: 28px !important; +} + +.mb-8 { + margin-bottom: 32px !important; +} + +.mb-9 { + margin-bottom: 36px !important; +} + +.mb-10 { + margin-bottom: 40px !important; +} + +.mb-11 { + margin-bottom: 44px !important; +} + +.mb-12 { + margin-bottom: 48px !important; +} + +.mb-13 { + margin-bottom: 52px !important; +} + +.mb-14 { + margin-bottom: 56px !important; +} + +.mb-15 { + margin-bottom: 60px !important; +} + +.mb-16 { + margin-bottom: 64px !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-0 { + margin-left: 0px !important; +} + +.ml-1 { + margin-left: 4px !important; +} + +.ml-2 { + margin-left: 8px !important; +} + +.ml-3 { + margin-left: 12px !important; +} + +.ml-4 { + margin-left: 16px !important; +} + +.ml-5 { + margin-left: 20px !important; +} + +.ml-6 { + margin-left: 24px !important; +} + +.ml-7 { + margin-left: 28px !important; +} + +.ml-8 { + margin-left: 32px !important; +} + +.ml-9 { + margin-left: 36px !important; +} + +.ml-10 { + margin-left: 40px !important; +} + +.ml-11 { + margin-left: 44px !important; +} + +.ml-12 { + margin-left: 48px !important; +} + +.ml-13 { + margin-left: 52px !important; +} + +.ml-14 { + margin-left: 56px !important; +} + +.ml-15 { + margin-left: 60px !important; +} + +.ml-16 { + margin-left: 64px !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.ms-0 { + margin-inline-start: 0px !important; +} + +.ms-1 { + margin-inline-start: 4px !important; +} + +.ms-2 { + margin-inline-start: 8px !important; +} + +.ms-3 { + margin-inline-start: 12px !important; +} + +.ms-4 { + margin-inline-start: 16px !important; +} + +.ms-5 { + margin-inline-start: 20px !important; +} + +.ms-6 { + margin-inline-start: 24px !important; +} + +.ms-7 { + margin-inline-start: 28px !important; +} + +.ms-8 { + margin-inline-start: 32px !important; +} + +.ms-9 { + margin-inline-start: 36px !important; +} + +.ms-10 { + margin-inline-start: 40px !important; +} + +.ms-11 { + margin-inline-start: 44px !important; +} + +.ms-12 { + margin-inline-start: 48px !important; +} + +.ms-13 { + margin-inline-start: 52px !important; +} + +.ms-14 { + margin-inline-start: 56px !important; +} + +.ms-15 { + margin-inline-start: 60px !important; +} + +.ms-16 { + margin-inline-start: 64px !important; +} + +.ms-auto { + margin-inline-start: auto !important; +} + +.me-0 { + margin-inline-end: 0px !important; +} + +.me-1 { + margin-inline-end: 4px !important; +} + +.me-2 { + margin-inline-end: 8px !important; +} + +.me-3 { + margin-inline-end: 12px !important; +} + +.me-4 { + margin-inline-end: 16px !important; +} + +.me-5 { + margin-inline-end: 20px !important; +} + +.me-6 { + margin-inline-end: 24px !important; +} + +.me-7 { + margin-inline-end: 28px !important; +} + +.me-8 { + margin-inline-end: 32px !important; +} + +.me-9 { + margin-inline-end: 36px !important; +} + +.me-10 { + margin-inline-end: 40px !important; +} + +.me-11 { + margin-inline-end: 44px !important; +} + +.me-12 { + margin-inline-end: 48px !important; +} + +.me-13 { + margin-inline-end: 52px !important; +} + +.me-14 { + margin-inline-end: 56px !important; +} + +.me-15 { + margin-inline-end: 60px !important; +} + +.me-16 { + margin-inline-end: 64px !important; +} + +.me-auto { + margin-inline-end: auto !important; +} + +.ma-n1 { + margin: -4px !important; +} + +.ma-n2 { + margin: -8px !important; +} + +.ma-n3 { + margin: -12px !important; +} + +.ma-n4 { + margin: -16px !important; +} + +.ma-n5 { + margin: -20px !important; +} + +.ma-n6 { + margin: -24px !important; +} + +.ma-n7 { + margin: -28px !important; +} + +.ma-n8 { + margin: -32px !important; +} + +.ma-n9 { + margin: -36px !important; +} + +.ma-n10 { + margin: -40px !important; +} + +.ma-n11 { + margin: -44px !important; +} + +.ma-n12 { + margin: -48px !important; +} + +.ma-n13 { + margin: -52px !important; +} + +.ma-n14 { + margin: -56px !important; +} + +.ma-n15 { + margin: -60px !important; +} + +.ma-n16 { + margin: -64px !important; +} + +.mx-n1 { + margin-right: -4px !important; + margin-left: -4px !important; +} + +.mx-n2 { + margin-right: -8px !important; + margin-left: -8px !important; +} + +.mx-n3 { + margin-right: -12px !important; + margin-left: -12px !important; +} + +.mx-n4 { + margin-right: -16px !important; + margin-left: -16px !important; +} + +.mx-n5 { + margin-right: -20px !important; + margin-left: -20px !important; +} + +.mx-n6 { + margin-right: -24px !important; + margin-left: -24px !important; +} + +.mx-n7 { + margin-right: -28px !important; + margin-left: -28px !important; +} + +.mx-n8 { + margin-right: -32px !important; + margin-left: -32px !important; +} + +.mx-n9 { + margin-right: -36px !important; + margin-left: -36px !important; +} + +.mx-n10 { + margin-right: -40px !important; + margin-left: -40px !important; +} + +.mx-n11 { + margin-right: -44px !important; + margin-left: -44px !important; +} + +.mx-n12 { + margin-right: -48px !important; + margin-left: -48px !important; +} + +.mx-n13 { + margin-right: -52px !important; + margin-left: -52px !important; +} + +.mx-n14 { + margin-right: -56px !important; + margin-left: -56px !important; +} + +.mx-n15 { + margin-right: -60px !important; + margin-left: -60px !important; +} + +.mx-n16 { + margin-right: -64px !important; + margin-left: -64px !important; +} + +.my-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; +} + +.my-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; +} + +.my-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; +} + +.my-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; +} + +.my-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; +} + +.my-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; +} + +.my-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; +} + +.my-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; +} + +.my-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; +} + +.my-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; +} + +.my-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; +} + +.my-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; +} + +.my-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; +} + +.my-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; +} + +.my-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; +} + +.my-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; +} + +.mt-n1 { + margin-top: -4px !important; +} + +.mt-n2 { + margin-top: -8px !important; +} + +.mt-n3 { + margin-top: -12px !important; +} + +.mt-n4 { + margin-top: -16px !important; +} + +.mt-n5 { + margin-top: -20px !important; +} + +.mt-n6 { + margin-top: -24px !important; +} + +.mt-n7 { + margin-top: -28px !important; +} + +.mt-n8 { + margin-top: -32px !important; +} + +.mt-n9 { + margin-top: -36px !important; +} + +.mt-n10 { + margin-top: -40px !important; +} + +.mt-n11 { + margin-top: -44px !important; +} + +.mt-n12 { + margin-top: -48px !important; +} + +.mt-n13 { + margin-top: -52px !important; +} + +.mt-n14 { + margin-top: -56px !important; +} + +.mt-n15 { + margin-top: -60px !important; +} + +.mt-n16 { + margin-top: -64px !important; +} + +.mr-n1 { + margin-right: -4px !important; +} + +.mr-n2 { + margin-right: -8px !important; +} + +.mr-n3 { + margin-right: -12px !important; +} + +.mr-n4 { + margin-right: -16px !important; +} + +.mr-n5 { + margin-right: -20px !important; +} + +.mr-n6 { + margin-right: -24px !important; +} + +.mr-n7 { + margin-right: -28px !important; +} + +.mr-n8 { + margin-right: -32px !important; +} + +.mr-n9 { + margin-right: -36px !important; +} + +.mr-n10 { + margin-right: -40px !important; +} + +.mr-n11 { + margin-right: -44px !important; +} + +.mr-n12 { + margin-right: -48px !important; +} + +.mr-n13 { + margin-right: -52px !important; +} + +.mr-n14 { + margin-right: -56px !important; +} + +.mr-n15 { + margin-right: -60px !important; +} + +.mr-n16 { + margin-right: -64px !important; +} + +.mb-n1 { + margin-bottom: -4px !important; +} + +.mb-n2 { + margin-bottom: -8px !important; +} + +.mb-n3 { + margin-bottom: -12px !important; +} + +.mb-n4 { + margin-bottom: -16px !important; +} + +.mb-n5 { + margin-bottom: -20px !important; +} + +.mb-n6 { + margin-bottom: -24px !important; +} + +.mb-n7 { + margin-bottom: -28px !important; +} + +.mb-n8 { + margin-bottom: -32px !important; +} + +.mb-n9 { + margin-bottom: -36px !important; +} + +.mb-n10 { + margin-bottom: -40px !important; +} + +.mb-n11 { + margin-bottom: -44px !important; +} + +.mb-n12 { + margin-bottom: -48px !important; +} + +.mb-n13 { + margin-bottom: -52px !important; +} + +.mb-n14 { + margin-bottom: -56px !important; +} + +.mb-n15 { + margin-bottom: -60px !important; +} + +.mb-n16 { + margin-bottom: -64px !important; +} + +.ml-n1 { + margin-left: -4px !important; +} + +.ml-n2 { + margin-left: -8px !important; +} + +.ml-n3 { + margin-left: -12px !important; +} + +.ml-n4 { + margin-left: -16px !important; +} + +.ml-n5 { + margin-left: -20px !important; +} + +.ml-n6 { + margin-left: -24px !important; +} + +.ml-n7 { + margin-left: -28px !important; +} + +.ml-n8 { + margin-left: -32px !important; +} + +.ml-n9 { + margin-left: -36px !important; +} + +.ml-n10 { + margin-left: -40px !important; +} + +.ml-n11 { + margin-left: -44px !important; +} + +.ml-n12 { + margin-left: -48px !important; +} + +.ml-n13 { + margin-left: -52px !important; +} + +.ml-n14 { + margin-left: -56px !important; +} + +.ml-n15 { + margin-left: -60px !important; +} + +.ml-n16 { + margin-left: -64px !important; +} + +.ms-n1 { + margin-inline-start: -4px !important; +} + +.ms-n2 { + margin-inline-start: -8px !important; +} + +.ms-n3 { + margin-inline-start: -12px !important; +} + +.ms-n4 { + margin-inline-start: -16px !important; +} + +.ms-n5 { + margin-inline-start: -20px !important; +} + +.ms-n6 { + margin-inline-start: -24px !important; +} + +.ms-n7 { + margin-inline-start: -28px !important; +} + +.ms-n8 { + margin-inline-start: -32px !important; +} + +.ms-n9 { + margin-inline-start: -36px !important; +} + +.ms-n10 { + margin-inline-start: -40px !important; +} + +.ms-n11 { + margin-inline-start: -44px !important; +} + +.ms-n12 { + margin-inline-start: -48px !important; +} + +.ms-n13 { + margin-inline-start: -52px !important; +} + +.ms-n14 { + margin-inline-start: -56px !important; +} + +.ms-n15 { + margin-inline-start: -60px !important; +} + +.ms-n16 { + margin-inline-start: -64px !important; +} + +.me-n1 { + margin-inline-end: -4px !important; +} + +.me-n2 { + margin-inline-end: -8px !important; +} + +.me-n3 { + margin-inline-end: -12px !important; +} + +.me-n4 { + margin-inline-end: -16px !important; +} + +.me-n5 { + margin-inline-end: -20px !important; +} + +.me-n6 { + margin-inline-end: -24px !important; +} + +.me-n7 { + margin-inline-end: -28px !important; +} + +.me-n8 { + margin-inline-end: -32px !important; +} + +.me-n9 { + margin-inline-end: -36px !important; +} + +.me-n10 { + margin-inline-end: -40px !important; +} + +.me-n11 { + margin-inline-end: -44px !important; +} + +.me-n12 { + margin-inline-end: -48px !important; +} + +.me-n13 { + margin-inline-end: -52px !important; +} + +.me-n14 { + margin-inline-end: -56px !important; +} + +.me-n15 { + margin-inline-end: -60px !important; +} + +.me-n16 { + margin-inline-end: -64px !important; +} + +.pa-0 { + padding: 0px !important; +} + +.pa-1 { + padding: 4px !important; +} + +.pa-2 { + padding: 8px !important; +} + +.pa-3 { + padding: 12px !important; +} + +.pa-4 { + padding: 16px !important; +} + +.pa-5 { + padding: 20px !important; +} + +.pa-6 { + padding: 24px !important; +} + +.pa-7 { + padding: 28px !important; +} + +.pa-8 { + padding: 32px !important; +} + +.pa-9 { + padding: 36px !important; +} + +.pa-10 { + padding: 40px !important; +} + +.pa-11 { + padding: 44px !important; +} + +.pa-12 { + padding: 48px !important; +} + +.pa-13 { + padding: 52px !important; +} + +.pa-14 { + padding: 56px !important; +} + +.pa-15 { + padding: 60px !important; +} + +.pa-16 { + padding: 64px !important; +} + +.px-0 { + padding-right: 0px !important; + padding-left: 0px !important; +} + +.px-1 { + padding-right: 4px !important; + padding-left: 4px !important; +} + +.px-2 { + padding-right: 8px !important; + padding-left: 8px !important; +} + +.px-3 { + padding-right: 12px !important; + padding-left: 12px !important; +} + +.px-4 { + padding-right: 16px !important; + padding-left: 16px !important; +} + +.px-5 { + padding-right: 20px !important; + padding-left: 20px !important; +} + +.px-6 { + padding-right: 24px !important; + padding-left: 24px !important; +} + +.px-7 { + padding-right: 28px !important; + padding-left: 28px !important; +} + +.px-8 { + padding-right: 32px !important; + padding-left: 32px !important; +} + +.px-9 { + padding-right: 36px !important; + padding-left: 36px !important; +} + +.px-10 { + padding-right: 40px !important; + padding-left: 40px !important; +} + +.px-11 { + padding-right: 44px !important; + padding-left: 44px !important; +} + +.px-12 { + padding-right: 48px !important; + padding-left: 48px !important; +} + +.px-13 { + padding-right: 52px !important; + padding-left: 52px !important; +} + +.px-14 { + padding-right: 56px !important; + padding-left: 56px !important; +} + +.px-15 { + padding-right: 60px !important; + padding-left: 60px !important; +} + +.px-16 { + padding-right: 64px !important; + padding-left: 64px !important; +} + +.py-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; +} + +.py-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; +} + +.py-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; +} + +.py-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; +} + +.py-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; +} + +.py-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; +} + +.py-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; +} + +.py-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; +} + +.py-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; +} + +.py-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; +} + +.py-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; +} + +.py-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; +} + +.py-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; +} + +.py-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; +} + +.py-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; +} + +.py-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; +} + +.py-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; +} + +.pt-0 { + padding-top: 0px !important; +} + +.pt-1 { + padding-top: 4px !important; +} + +.pt-2 { + padding-top: 8px !important; +} + +.pt-3 { + padding-top: 12px !important; +} + +.pt-4 { + padding-top: 16px !important; +} + +.pt-5 { + padding-top: 20px !important; +} + +.pt-6 { + padding-top: 24px !important; +} + +.pt-7 { + padding-top: 28px !important; +} + +.pt-8 { + padding-top: 32px !important; +} + +.pt-9 { + padding-top: 36px !important; +} + +.pt-10 { + padding-top: 40px !important; +} + +.pt-11 { + padding-top: 44px !important; +} + +.pt-12 { + padding-top: 48px !important; +} + +.pt-13 { + padding-top: 52px !important; +} + +.pt-14 { + padding-top: 56px !important; +} + +.pt-15 { + padding-top: 60px !important; +} + +.pt-16 { + padding-top: 64px !important; +} + +.pr-0 { + padding-right: 0px !important; +} + +.pr-1 { + padding-right: 4px !important; +} + +.pr-2 { + padding-right: 8px !important; +} + +.pr-3 { + padding-right: 12px !important; +} + +.pr-4 { + padding-right: 16px !important; +} + +.pr-5 { + padding-right: 20px !important; +} + +.pr-6 { + padding-right: 24px !important; +} + +.pr-7 { + padding-right: 28px !important; +} + +.pr-8 { + padding-right: 32px !important; +} + +.pr-9 { + padding-right: 36px !important; +} + +.pr-10 { + padding-right: 40px !important; +} + +.pr-11 { + padding-right: 44px !important; +} + +.pr-12 { + padding-right: 48px !important; +} + +.pr-13 { + padding-right: 52px !important; +} + +.pr-14 { + padding-right: 56px !important; +} + +.pr-15 { + padding-right: 60px !important; +} + +.pr-16 { + padding-right: 64px !important; +} + +.pb-0 { + padding-bottom: 0px !important; +} + +.pb-1 { + padding-bottom: 4px !important; +} + +.pb-2 { + padding-bottom: 8px !important; +} + +.pb-3 { + padding-bottom: 12px !important; +} + +.pb-4 { + padding-bottom: 16px !important; +} + +.pb-5 { + padding-bottom: 20px !important; +} + +.pb-6 { + padding-bottom: 24px !important; +} + +.pb-7 { + padding-bottom: 28px !important; +} + +.pb-8 { + padding-bottom: 32px !important; +} + +.pb-9 { + padding-bottom: 36px !important; +} + +.pb-10 { + padding-bottom: 40px !important; +} + +.pb-11 { + padding-bottom: 44px !important; +} + +.pb-12 { + padding-bottom: 48px !important; +} + +.pb-13 { + padding-bottom: 52px !important; +} + +.pb-14 { + padding-bottom: 56px !important; +} + +.pb-15 { + padding-bottom: 60px !important; +} + +.pb-16 { + padding-bottom: 64px !important; +} + +.pl-0 { + padding-left: 0px !important; +} + +.pl-1 { + padding-left: 4px !important; +} + +.pl-2 { + padding-left: 8px !important; +} + +.pl-3 { + padding-left: 12px !important; +} + +.pl-4 { + padding-left: 16px !important; +} + +.pl-5 { + padding-left: 20px !important; +} + +.pl-6 { + padding-left: 24px !important; +} + +.pl-7 { + padding-left: 28px !important; +} + +.pl-8 { + padding-left: 32px !important; +} + +.pl-9 { + padding-left: 36px !important; +} + +.pl-10 { + padding-left: 40px !important; +} + +.pl-11 { + padding-left: 44px !important; +} + +.pl-12 { + padding-left: 48px !important; +} + +.pl-13 { + padding-left: 52px !important; +} + +.pl-14 { + padding-left: 56px !important; +} + +.pl-15 { + padding-left: 60px !important; +} + +.pl-16 { + padding-left: 64px !important; +} + +.ps-0 { + padding-inline-start: 0px !important; +} + +.ps-1 { + padding-inline-start: 4px !important; +} + +.ps-2 { + padding-inline-start: 8px !important; +} + +.ps-3 { + padding-inline-start: 12px !important; +} + +.ps-4 { + padding-inline-start: 16px !important; +} + +.ps-5 { + padding-inline-start: 20px !important; +} + +.ps-6 { + padding-inline-start: 24px !important; +} + +.ps-7 { + padding-inline-start: 28px !important; +} + +.ps-8 { + padding-inline-start: 32px !important; +} + +.ps-9 { + padding-inline-start: 36px !important; +} + +.ps-10 { + padding-inline-start: 40px !important; +} + +.ps-11 { + padding-inline-start: 44px !important; +} + +.ps-12 { + padding-inline-start: 48px !important; +} + +.ps-13 { + padding-inline-start: 52px !important; +} + +.ps-14 { + padding-inline-start: 56px !important; +} + +.ps-15 { + padding-inline-start: 60px !important; +} + +.ps-16 { + padding-inline-start: 64px !important; +} + +.pe-0 { + padding-inline-end: 0px !important; +} + +.pe-1 { + padding-inline-end: 4px !important; +} + +.pe-2 { + padding-inline-end: 8px !important; +} + +.pe-3 { + padding-inline-end: 12px !important; +} + +.pe-4 { + padding-inline-end: 16px !important; +} + +.pe-5 { + padding-inline-end: 20px !important; +} + +.pe-6 { + padding-inline-end: 24px !important; +} + +.pe-7 { + padding-inline-end: 28px !important; +} + +.pe-8 { + padding-inline-end: 32px !important; +} + +.pe-9 { + padding-inline-end: 36px !important; +} + +.pe-10 { + padding-inline-end: 40px !important; +} + +.pe-11 { + padding-inline-end: 44px !important; +} + +.pe-12 { + padding-inline-end: 48px !important; +} + +.pe-13 { + padding-inline-end: 52px !important; +} + +.pe-14 { + padding-inline-end: 56px !important; +} + +.pe-15 { + padding-inline-end: 60px !important; +} + +.pe-16 { + padding-inline-end: 64px !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-sm { + border-radius: 2px !important; +} + +.rounded { + border-radius: 4px !important; +} + +.rounded-lg { + border-radius: 8px !important; +} + +.rounded-xl { + border-radius: 24px !important; +} + +.rounded-pill { + border-radius: 9999px !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-shaped { + border-radius: 24px 0 !important; +} + +.rounded-md { + border-radius: 4px !important; +} + +.rounded-t-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-t-sm { + border-top-left-radius: 2px !important; + border-top-right-radius: 2px !important; +} + +.rounded-t { + border-top-left-radius: 4px !important; + border-top-right-radius: 4px !important; +} + +.rounded-t-lg { + border-top-left-radius: 8px !important; + border-top-right-radius: 8px !important; +} + +.rounded-t-xl { + border-top-left-radius: 24px !important; + border-top-right-radius: 24px !important; +} + +.rounded-t-pill { + border-top-left-radius: 9999px !important; + border-top-right-radius: 9999px !important; +} + +.rounded-t-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-t-shaped { + border-top-left-radius: 24px !important; + border-top-right-radius: 0 !important; +} + +.rounded-t-md { + border-top-left-radius: 4px !important; + border-top-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-e-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-e-0 { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-e-sm { + border-top-right-radius: 2px !important; + border-bottom-right-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-e-sm { + border-top-left-radius: 2px !important; + border-bottom-left-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-e { + border-top-right-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-e { + border-top-left-radius: 4px !important; + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-e-lg { + border-top-right-radius: 8px !important; + border-bottom-right-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-e-lg { + border-top-left-radius: 8px !important; + border-bottom-left-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-e-xl { + border-top-right-radius: 24px !important; + border-bottom-right-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-e-xl { + border-top-left-radius: 24px !important; + border-bottom-left-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-e-pill { + border-top-right-radius: 9999px !important; + border-bottom-right-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-e-pill { + border-top-left-radius: 9999px !important; + border-bottom-left-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-e-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-e-circle { + border-top-left-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-e-shaped { + border-top-right-radius: 24px !important; + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-e-shaped { + border-top-left-radius: 24px !important; + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-e-md { + border-top-right-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-e-md { + border-top-left-radius: 4px !important; + border-bottom-left-radius: 4px !important; +} + +.rounded-b-0 { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-b-sm { + border-bottom-left-radius: 2px !important; + border-bottom-right-radius: 2px !important; +} + +.rounded-b { + border-bottom-left-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.rounded-b-lg { + border-bottom-left-radius: 8px !important; + border-bottom-right-radius: 8px !important; +} + +.rounded-b-xl { + border-bottom-left-radius: 24px !important; + border-bottom-right-radius: 24px !important; +} + +.rounded-b-pill { + border-bottom-left-radius: 9999px !important; + border-bottom-right-radius: 9999px !important; +} + +.rounded-b-circle { + border-bottom-left-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-b-shaped { + border-bottom-left-radius: 24px !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-b-md { + border-bottom-left-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-s-0 { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-s-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-s-sm { + border-top-left-radius: 2px !important; + border-bottom-left-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-s-sm { + border-top-right-radius: 2px !important; + border-bottom-right-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-s { + border-top-left-radius: 4px !important; + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-s { + border-top-right-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-s-lg { + border-top-left-radius: 8px !important; + border-bottom-left-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-s-lg { + border-top-right-radius: 8px !important; + border-bottom-right-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-s-xl { + border-top-left-radius: 24px !important; + border-bottom-left-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-s-xl { + border-top-right-radius: 24px !important; + border-bottom-right-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-s-pill { + border-top-left-radius: 9999px !important; + border-bottom-left-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-s-pill { + border-top-right-radius: 9999px !important; + border-bottom-right-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-s-circle { + border-top-left-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-s-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-s-shaped { + border-top-left-radius: 24px !important; + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-s-shaped { + border-top-right-radius: 24px !important; + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-s-md { + border-top-left-radius: 4px !important; + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-s-md { + border-top-right-radius: 4px !important; + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-ts-0 { + border-top-left-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-ts-0 { + border-top-right-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-ts-sm { + border-top-left-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-ts-sm { + border-top-right-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-ts { + border-top-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-ts { + border-top-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-ts-lg { + border-top-left-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-ts-lg { + border-top-right-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-ts-xl { + border-top-left-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-ts-xl { + border-top-right-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-ts-pill { + border-top-left-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-ts-pill { + border-top-right-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-ts-circle { + border-top-left-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-ts-circle { + border-top-right-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-ts-shaped { + border-top-left-radius: 24px 0 !important; +} + +.v-locale--is-rtl .rounded-ts-shaped { + border-top-right-radius: 24px 0 !important; +} + +.v-locale--is-ltr .rounded-ts-md { + border-top-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-ts-md { + border-top-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-te-0 { + border-top-right-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-te-0 { + border-top-left-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-te-sm { + border-top-right-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-te-sm { + border-top-left-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-te { + border-top-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-te { + border-top-left-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-te-lg { + border-top-right-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-te-lg { + border-top-left-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-te-xl { + border-top-right-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-te-xl { + border-top-left-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-te-pill { + border-top-right-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-te-pill { + border-top-left-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-te-circle { + border-top-right-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-te-circle { + border-top-left-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-te-shaped { + border-top-right-radius: 24px 0 !important; +} + +.v-locale--is-rtl .rounded-te-shaped { + border-top-left-radius: 24px 0 !important; +} + +.v-locale--is-ltr .rounded-te-md { + border-top-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-te-md { + border-top-left-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-be-0 { + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-be-0 { + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-be-sm { + border-bottom-right-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-be-sm { + border-bottom-left-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-be { + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-be { + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-be-lg { + border-bottom-right-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-be-lg { + border-bottom-left-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-be-xl { + border-bottom-right-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-be-xl { + border-bottom-left-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-be-pill { + border-bottom-right-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-be-pill { + border-bottom-left-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-be-circle { + border-bottom-right-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-be-circle { + border-bottom-left-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-be-shaped { + border-bottom-right-radius: 24px 0 !important; +} + +.v-locale--is-rtl .rounded-be-shaped { + border-bottom-left-radius: 24px 0 !important; +} + +.v-locale--is-ltr .rounded-be-md { + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-be-md { + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-bs-0 { + border-bottom-left-radius: 0 !important; +} + +.v-locale--is-rtl .rounded-bs-0 { + border-bottom-right-radius: 0 !important; +} + +.v-locale--is-ltr .rounded-bs-sm { + border-bottom-left-radius: 2px !important; +} + +.v-locale--is-rtl .rounded-bs-sm { + border-bottom-right-radius: 2px !important; +} + +.v-locale--is-ltr .rounded-bs { + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-bs { + border-bottom-right-radius: 4px !important; +} + +.v-locale--is-ltr .rounded-bs-lg { + border-bottom-left-radius: 8px !important; +} + +.v-locale--is-rtl .rounded-bs-lg { + border-bottom-right-radius: 8px !important; +} + +.v-locale--is-ltr .rounded-bs-xl { + border-bottom-left-radius: 24px !important; +} + +.v-locale--is-rtl .rounded-bs-xl { + border-bottom-right-radius: 24px !important; +} + +.v-locale--is-ltr .rounded-bs-pill { + border-bottom-left-radius: 9999px !important; +} + +.v-locale--is-rtl .rounded-bs-pill { + border-bottom-right-radius: 9999px !important; +} + +.v-locale--is-ltr .rounded-bs-circle { + border-bottom-left-radius: 50% !important; +} + +.v-locale--is-rtl .rounded-bs-circle { + border-bottom-right-radius: 50% !important; +} + +.v-locale--is-ltr .rounded-bs-shaped { + border-bottom-left-radius: 24px 0 !important; +} + +.v-locale--is-rtl .rounded-bs-shaped { + border-bottom-right-radius: 24px 0 !important; +} + +.v-locale--is-ltr .rounded-bs-md { + border-bottom-left-radius: 4px !important; +} + +.v-locale--is-rtl .rounded-bs-md { + border-bottom-right-radius: 4px !important; +} + +.border-0 { + border-width: 0 !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border { + border-width: thin !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-thin { + border-width: thin !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-sm { + border-width: 1px !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-md { + border-width: 2px !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-lg { + border-width: 4px !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-xl { + border-width: 8px !important; + border-style: solid !important; + border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-current { + border-color: currentColor !important; +} + +.border-opacity-0 { + --v-border-opacity: 0 !important; +} + +.border-opacity { + --v-border-opacity: 0.12 !important; +} + +.border-opacity-25 { + --v-border-opacity: 0.25 !important; +} + +.border-opacity-50 { + --v-border-opacity: 0.5 !important; +} + +.border-opacity-75 { + --v-border-opacity: 0.75 !important; +} + +.border-opacity-100 { + --v-border-opacity: 1 !important; +} + +.border-t-0 { + border-block-start-width: 0 !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t { + border-block-start-width: thin !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t-thin { + border-block-start-width: thin !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t-sm { + border-block-start-width: 1px !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t-md { + border-block-start-width: 2px !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t-lg { + border-block-start-width: 4px !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-t-xl { + border-block-start-width: 8px !important; + border-block-start-style: solid !important; + border-block-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-0 { + border-inline-end-width: 0 !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e { + border-inline-end-width: thin !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-thin { + border-inline-end-width: thin !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-sm { + border-inline-end-width: 1px !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-md { + border-inline-end-width: 2px !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-lg { + border-inline-end-width: 4px !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-e-xl { + border-inline-end-width: 8px !important; + border-inline-end-style: solid !important; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-0 { + border-block-end-width: 0 !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b { + border-block-end-width: thin !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-thin { + border-block-end-width: thin !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-sm { + border-block-end-width: 1px !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-md { + border-block-end-width: 2px !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-lg { + border-block-end-width: 4px !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-b-xl { + border-block-end-width: 8px !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-0 { + border-inline-start-width: 0 !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s { + border-inline-start-width: thin !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-thin { + border-inline-start-width: thin !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-sm { + border-inline-start-width: 1px !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-md { + border-inline-start-width: 2px !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-lg { + border-inline-start-width: 4px !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-s-xl { + border-inline-start-width: 8px !important; + border-inline-start-style: solid !important; + border-inline-start-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} + +.border-solid { + border-style: solid !important; +} + +.border-dashed { + border-style: dashed !important; +} + +.border-dotted { + border-style: dotted !important; +} + +.border-double { + border-style: double !important; +} + +.border-none { + border-style: none !important; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-start { + text-align: start !important; +} + +.text-end { + text-align: end !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-overline { + text-decoration: overline !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-no-wrap { + white-space: nowrap !important; +} + +.text-pre { + white-space: pre !important; +} + +.text-pre-line { + white-space: pre-line !important; +} + +.text-pre-wrap { + white-space: pre-wrap !important; +} + +.text-break { + overflow-wrap: break-word !important; + word-break: break-word !important; +} + +.opacity-hover { + opacity: var(--v-hover-opacity) !important; +} + +.opacity-focus { + opacity: var(--v-focus-opacity) !important; +} + +.opacity-selected { + opacity: var(--v-selected-opacity) !important; +} + +.opacity-activated { + opacity: var(--v-activated-opacity) !important; +} + +.opacity-pressed { + opacity: var(--v-pressed-opacity) !important; +} + +.opacity-dragged { + opacity: var(--v-dragged-opacity) !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-10 { + opacity: 0.1 !important; +} + +.opacity-20 { + opacity: 0.2 !important; +} + +.opacity-30 { + opacity: 0.3 !important; +} + +.opacity-40 { + opacity: 0.4 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-60 { + opacity: 0.6 !important; +} + +.opacity-70 { + opacity: 0.7 !important; +} + +.opacity-80 { + opacity: 0.8 !important; +} + +.opacity-90 { + opacity: 0.9 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.text-high-emphasis { + color: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity)) !important; +} + +.text-medium-emphasis { + color: rgba(var(--v-theme-on-background), var(--v-medium-emphasis-opacity)) !important; +} + +.text-disabled { + color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity)) !important; +} + +.text-truncate { + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; +} + +.text-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; +} + +.text-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; +} + +.text-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; +} + +.text-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; +} + +.text-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; +} + +.text-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; +} + +.text-none { + text-transform: none !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.font-weight-thin { + font-weight: 100 !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-regular { + font-weight: 400 !important; +} + +.font-weight-medium { + font-weight: 500 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-black { + font-weight: 900 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-mono { + font-family: monospace !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.right-0 { + right: 0 !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.left-0 { + left: 0 !important; +} + +.cursor-auto { + cursor: auto !important; +} + +.cursor-default { + cursor: default !important; +} + +.cursor-pointer { + cursor: pointer !important; +} + +.cursor-wait { + cursor: wait !important; +} + +.cursor-text { + cursor: text !important; +} + +.cursor-move { + cursor: move !important; +} + +.cursor-help { + cursor: help !important; +} + +.cursor-not-allowed { + cursor: not-allowed !important; +} + +.cursor-progress { + cursor: progress !important; +} + +.cursor-grab { + cursor: grab !important; +} + +.cursor-grabbing { + cursor: grabbing !important; +} + +.cursor-none { + cursor: none !important; +} + +.fill-height { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.h-screen { + height: 100vh !important; +} + +.h-0 { + height: 0 !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-screen { + height: 100dvh !important; +} + +.w-auto { + width: auto !important; +} + +.w-0 { + width: 0 !important; +} + +.w-25 { + width: 25% !important; +} + +.w-33 { + width: 33% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-66 { + width: 66% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +@media (min-width: 600px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .float-sm-none { + float: none !important; + } + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .v-locale--is-rtl .float-sm-end { + float: left !important; + } + .v-locale--is-rtl .float-sm-start { + float: right !important; + } + .v-locale--is-ltr .float-sm-end { + float: right !important; + } + .v-locale--is-ltr .float-sm-start { + float: left !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-1-1 { + flex: 1 1 auto !important; + } + .flex-sm-1-0 { + flex: 1 0 auto !important; + } + .flex-sm-0-1 { + flex: 0 1 auto !important; + } + .flex-sm-0-0 { + flex: 0 0 auto !important; + } + .flex-sm-1-1-100 { + flex: 1 1 100% !important; + } + .flex-sm-1-0-100 { + flex: 1 0 100% !important; + } + .flex-sm-0-1-100 { + flex: 0 1 100% !important; + } + .flex-sm-0-0-100 { + flex: 0 0 100% !important; + } + .flex-sm-1-1-0 { + flex: 1 1 0 !important; + } + .flex-sm-1-0-0 { + flex: 1 0 0 !important; + } + .flex-sm-0-1-0 { + flex: 0 1 0 !important; + } + .flex-sm-0-0-0 { + flex: 0 0 0 !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-sm-start { + justify-content: flex-start !important; + } + .justify-sm-end { + justify-content: flex-end !important; + } + .justify-sm-center { + justify-content: center !important; + } + .justify-sm-space-between { + justify-content: space-between !important; + } + .justify-sm-space-around { + justify-content: space-around !important; + } + .justify-sm-space-evenly { + justify-content: space-evenly !important; + } + .align-sm-start { + align-items: flex-start !important; + } + .align-sm-end { + align-items: flex-end !important; + } + .align-sm-center { + align-items: center !important; + } + .align-sm-baseline { + align-items: baseline !important; + } + .align-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-space-between { + align-content: space-between !important; + } + .align-content-sm-space-around { + align-content: space-around !important; + } + .align-content-sm-space-evenly { + align-content: space-evenly !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-6 { + order: 6 !important; + } + .order-sm-7 { + order: 7 !important; + } + .order-sm-8 { + order: 8 !important; + } + .order-sm-9 { + order: 9 !important; + } + .order-sm-10 { + order: 10 !important; + } + .order-sm-11 { + order: 11 !important; + } + .order-sm-12 { + order: 12 !important; + } + .order-sm-last { + order: 13 !important; + } + .ga-sm-0 { + gap: 0px !important; + } + .ga-sm-1 { + gap: 4px !important; + } + .ga-sm-2 { + gap: 8px !important; + } + .ga-sm-3 { + gap: 12px !important; + } + .ga-sm-4 { + gap: 16px !important; + } + .ga-sm-5 { + gap: 20px !important; + } + .ga-sm-6 { + gap: 24px !important; + } + .ga-sm-7 { + gap: 28px !important; + } + .ga-sm-8 { + gap: 32px !important; + } + .ga-sm-9 { + gap: 36px !important; + } + .ga-sm-10 { + gap: 40px !important; + } + .ga-sm-11 { + gap: 44px !important; + } + .ga-sm-12 { + gap: 48px !important; + } + .ga-sm-13 { + gap: 52px !important; + } + .ga-sm-14 { + gap: 56px !important; + } + .ga-sm-15 { + gap: 60px !important; + } + .ga-sm-16 { + gap: 64px !important; + } + .ga-sm-auto { + gap: auto !important; + } + .gr-sm-0 { + row-gap: 0px !important; + } + .gr-sm-1 { + row-gap: 4px !important; + } + .gr-sm-2 { + row-gap: 8px !important; + } + .gr-sm-3 { + row-gap: 12px !important; + } + .gr-sm-4 { + row-gap: 16px !important; + } + .gr-sm-5 { + row-gap: 20px !important; + } + .gr-sm-6 { + row-gap: 24px !important; + } + .gr-sm-7 { + row-gap: 28px !important; + } + .gr-sm-8 { + row-gap: 32px !important; + } + .gr-sm-9 { + row-gap: 36px !important; + } + .gr-sm-10 { + row-gap: 40px !important; + } + .gr-sm-11 { + row-gap: 44px !important; + } + .gr-sm-12 { + row-gap: 48px !important; + } + .gr-sm-13 { + row-gap: 52px !important; + } + .gr-sm-14 { + row-gap: 56px !important; + } + .gr-sm-15 { + row-gap: 60px !important; + } + .gr-sm-16 { + row-gap: 64px !important; + } + .gr-sm-auto { + row-gap: auto !important; + } + .gc-sm-0 { + column-gap: 0px !important; + } + .gc-sm-1 { + column-gap: 4px !important; + } + .gc-sm-2 { + column-gap: 8px !important; + } + .gc-sm-3 { + column-gap: 12px !important; + } + .gc-sm-4 { + column-gap: 16px !important; + } + .gc-sm-5 { + column-gap: 20px !important; + } + .gc-sm-6 { + column-gap: 24px !important; + } + .gc-sm-7 { + column-gap: 28px !important; + } + .gc-sm-8 { + column-gap: 32px !important; + } + .gc-sm-9 { + column-gap: 36px !important; + } + .gc-sm-10 { + column-gap: 40px !important; + } + .gc-sm-11 { + column-gap: 44px !important; + } + .gc-sm-12 { + column-gap: 48px !important; + } + .gc-sm-13 { + column-gap: 52px !important; + } + .gc-sm-14 { + column-gap: 56px !important; + } + .gc-sm-15 { + column-gap: 60px !important; + } + .gc-sm-16 { + column-gap: 64px !important; + } + .gc-sm-auto { + column-gap: auto !important; + } + .ma-sm-0 { + margin: 0px !important; + } + .ma-sm-1 { + margin: 4px !important; + } + .ma-sm-2 { + margin: 8px !important; + } + .ma-sm-3 { + margin: 12px !important; + } + .ma-sm-4 { + margin: 16px !important; + } + .ma-sm-5 { + margin: 20px !important; + } + .ma-sm-6 { + margin: 24px !important; + } + .ma-sm-7 { + margin: 28px !important; + } + .ma-sm-8 { + margin: 32px !important; + } + .ma-sm-9 { + margin: 36px !important; + } + .ma-sm-10 { + margin: 40px !important; + } + .ma-sm-11 { + margin: 44px !important; + } + .ma-sm-12 { + margin: 48px !important; + } + .ma-sm-13 { + margin: 52px !important; + } + .ma-sm-14 { + margin: 56px !important; + } + .ma-sm-15 { + margin: 60px !important; + } + .ma-sm-16 { + margin: 64px !important; + } + .ma-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0px !important; + margin-left: 0px !important; + } + .mx-sm-1 { + margin-right: 4px !important; + margin-left: 4px !important; + } + .mx-sm-2 { + margin-right: 8px !important; + margin-left: 8px !important; + } + .mx-sm-3 { + margin-right: 12px !important; + margin-left: 12px !important; + } + .mx-sm-4 { + margin-right: 16px !important; + margin-left: 16px !important; + } + .mx-sm-5 { + margin-right: 20px !important; + margin-left: 20px !important; + } + .mx-sm-6 { + margin-right: 24px !important; + margin-left: 24px !important; + } + .mx-sm-7 { + margin-right: 28px !important; + margin-left: 28px !important; + } + .mx-sm-8 { + margin-right: 32px !important; + margin-left: 32px !important; + } + .mx-sm-9 { + margin-right: 36px !important; + margin-left: 36px !important; + } + .mx-sm-10 { + margin-right: 40px !important; + margin-left: 40px !important; + } + .mx-sm-11 { + margin-right: 44px !important; + margin-left: 44px !important; + } + .mx-sm-12 { + margin-right: 48px !important; + margin-left: 48px !important; + } + .mx-sm-13 { + margin-right: 52px !important; + margin-left: 52px !important; + } + .mx-sm-14 { + margin-right: 56px !important; + margin-left: 56px !important; + } + .mx-sm-15 { + margin-right: 60px !important; + margin-left: 60px !important; + } + .mx-sm-16 { + margin-right: 64px !important; + margin-left: 64px !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; + } + .my-sm-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; + } + .my-sm-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + .my-sm-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; + } + .my-sm-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; + } + .my-sm-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; + } + .my-sm-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; + } + .my-sm-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .my-sm-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; + } + .my-sm-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; + } + .my-sm-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; + } + .my-sm-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; + } + .my-sm-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; + } + .my-sm-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; + } + .my-sm-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; + } + .my-sm-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; + } + .my-sm-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0px !important; + } + .mt-sm-1 { + margin-top: 4px !important; + } + .mt-sm-2 { + margin-top: 8px !important; + } + .mt-sm-3 { + margin-top: 12px !important; + } + .mt-sm-4 { + margin-top: 16px !important; + } + .mt-sm-5 { + margin-top: 20px !important; + } + .mt-sm-6 { + margin-top: 24px !important; + } + .mt-sm-7 { + margin-top: 28px !important; + } + .mt-sm-8 { + margin-top: 32px !important; + } + .mt-sm-9 { + margin-top: 36px !important; + } + .mt-sm-10 { + margin-top: 40px !important; + } + .mt-sm-11 { + margin-top: 44px !important; + } + .mt-sm-12 { + margin-top: 48px !important; + } + .mt-sm-13 { + margin-top: 52px !important; + } + .mt-sm-14 { + margin-top: 56px !important; + } + .mt-sm-15 { + margin-top: 60px !important; + } + .mt-sm-16 { + margin-top: 64px !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .mr-sm-0 { + margin-right: 0px !important; + } + .mr-sm-1 { + margin-right: 4px !important; + } + .mr-sm-2 { + margin-right: 8px !important; + } + .mr-sm-3 { + margin-right: 12px !important; + } + .mr-sm-4 { + margin-right: 16px !important; + } + .mr-sm-5 { + margin-right: 20px !important; + } + .mr-sm-6 { + margin-right: 24px !important; + } + .mr-sm-7 { + margin-right: 28px !important; + } + .mr-sm-8 { + margin-right: 32px !important; + } + .mr-sm-9 { + margin-right: 36px !important; + } + .mr-sm-10 { + margin-right: 40px !important; + } + .mr-sm-11 { + margin-right: 44px !important; + } + .mr-sm-12 { + margin-right: 48px !important; + } + .mr-sm-13 { + margin-right: 52px !important; + } + .mr-sm-14 { + margin-right: 56px !important; + } + .mr-sm-15 { + margin-right: 60px !important; + } + .mr-sm-16 { + margin-right: 64px !important; + } + .mr-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0px !important; + } + .mb-sm-1 { + margin-bottom: 4px !important; + } + .mb-sm-2 { + margin-bottom: 8px !important; + } + .mb-sm-3 { + margin-bottom: 12px !important; + } + .mb-sm-4 { + margin-bottom: 16px !important; + } + .mb-sm-5 { + margin-bottom: 20px !important; + } + .mb-sm-6 { + margin-bottom: 24px !important; + } + .mb-sm-7 { + margin-bottom: 28px !important; + } + .mb-sm-8 { + margin-bottom: 32px !important; + } + .mb-sm-9 { + margin-bottom: 36px !important; + } + .mb-sm-10 { + margin-bottom: 40px !important; + } + .mb-sm-11 { + margin-bottom: 44px !important; + } + .mb-sm-12 { + margin-bottom: 48px !important; + } + .mb-sm-13 { + margin-bottom: 52px !important; + } + .mb-sm-14 { + margin-bottom: 56px !important; + } + .mb-sm-15 { + margin-bottom: 60px !important; + } + .mb-sm-16 { + margin-bottom: 64px !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-0 { + margin-left: 0px !important; + } + .ml-sm-1 { + margin-left: 4px !important; + } + .ml-sm-2 { + margin-left: 8px !important; + } + .ml-sm-3 { + margin-left: 12px !important; + } + .ml-sm-4 { + margin-left: 16px !important; + } + .ml-sm-5 { + margin-left: 20px !important; + } + .ml-sm-6 { + margin-left: 24px !important; + } + .ml-sm-7 { + margin-left: 28px !important; + } + .ml-sm-8 { + margin-left: 32px !important; + } + .ml-sm-9 { + margin-left: 36px !important; + } + .ml-sm-10 { + margin-left: 40px !important; + } + .ml-sm-11 { + margin-left: 44px !important; + } + .ml-sm-12 { + margin-left: 48px !important; + } + .ml-sm-13 { + margin-left: 52px !important; + } + .ml-sm-14 { + margin-left: 56px !important; + } + .ml-sm-15 { + margin-left: 60px !important; + } + .ml-sm-16 { + margin-left: 64px !important; + } + .ml-sm-auto { + margin-left: auto !important; + } + .ms-sm-0 { + margin-inline-start: 0px !important; + } + .ms-sm-1 { + margin-inline-start: 4px !important; + } + .ms-sm-2 { + margin-inline-start: 8px !important; + } + .ms-sm-3 { + margin-inline-start: 12px !important; + } + .ms-sm-4 { + margin-inline-start: 16px !important; + } + .ms-sm-5 { + margin-inline-start: 20px !important; + } + .ms-sm-6 { + margin-inline-start: 24px !important; + } + .ms-sm-7 { + margin-inline-start: 28px !important; + } + .ms-sm-8 { + margin-inline-start: 32px !important; + } + .ms-sm-9 { + margin-inline-start: 36px !important; + } + .ms-sm-10 { + margin-inline-start: 40px !important; + } + .ms-sm-11 { + margin-inline-start: 44px !important; + } + .ms-sm-12 { + margin-inline-start: 48px !important; + } + .ms-sm-13 { + margin-inline-start: 52px !important; + } + .ms-sm-14 { + margin-inline-start: 56px !important; + } + .ms-sm-15 { + margin-inline-start: 60px !important; + } + .ms-sm-16 { + margin-inline-start: 64px !important; + } + .ms-sm-auto { + margin-inline-start: auto !important; + } + .me-sm-0 { + margin-inline-end: 0px !important; + } + .me-sm-1 { + margin-inline-end: 4px !important; + } + .me-sm-2 { + margin-inline-end: 8px !important; + } + .me-sm-3 { + margin-inline-end: 12px !important; + } + .me-sm-4 { + margin-inline-end: 16px !important; + } + .me-sm-5 { + margin-inline-end: 20px !important; + } + .me-sm-6 { + margin-inline-end: 24px !important; + } + .me-sm-7 { + margin-inline-end: 28px !important; + } + .me-sm-8 { + margin-inline-end: 32px !important; + } + .me-sm-9 { + margin-inline-end: 36px !important; + } + .me-sm-10 { + margin-inline-end: 40px !important; + } + .me-sm-11 { + margin-inline-end: 44px !important; + } + .me-sm-12 { + margin-inline-end: 48px !important; + } + .me-sm-13 { + margin-inline-end: 52px !important; + } + .me-sm-14 { + margin-inline-end: 56px !important; + } + .me-sm-15 { + margin-inline-end: 60px !important; + } + .me-sm-16 { + margin-inline-end: 64px !important; + } + .me-sm-auto { + margin-inline-end: auto !important; + } + .ma-sm-n1 { + margin: -4px !important; + } + .ma-sm-n2 { + margin: -8px !important; + } + .ma-sm-n3 { + margin: -12px !important; + } + .ma-sm-n4 { + margin: -16px !important; + } + .ma-sm-n5 { + margin: -20px !important; + } + .ma-sm-n6 { + margin: -24px !important; + } + .ma-sm-n7 { + margin: -28px !important; + } + .ma-sm-n8 { + margin: -32px !important; + } + .ma-sm-n9 { + margin: -36px !important; + } + .ma-sm-n10 { + margin: -40px !important; + } + .ma-sm-n11 { + margin: -44px !important; + } + .ma-sm-n12 { + margin: -48px !important; + } + .ma-sm-n13 { + margin: -52px !important; + } + .ma-sm-n14 { + margin: -56px !important; + } + .ma-sm-n15 { + margin: -60px !important; + } + .ma-sm-n16 { + margin: -64px !important; + } + .mx-sm-n1 { + margin-right: -4px !important; + margin-left: -4px !important; + } + .mx-sm-n2 { + margin-right: -8px !important; + margin-left: -8px !important; + } + .mx-sm-n3 { + margin-right: -12px !important; + margin-left: -12px !important; + } + .mx-sm-n4 { + margin-right: -16px !important; + margin-left: -16px !important; + } + .mx-sm-n5 { + margin-right: -20px !important; + margin-left: -20px !important; + } + .mx-sm-n6 { + margin-right: -24px !important; + margin-left: -24px !important; + } + .mx-sm-n7 { + margin-right: -28px !important; + margin-left: -28px !important; + } + .mx-sm-n8 { + margin-right: -32px !important; + margin-left: -32px !important; + } + .mx-sm-n9 { + margin-right: -36px !important; + margin-left: -36px !important; + } + .mx-sm-n10 { + margin-right: -40px !important; + margin-left: -40px !important; + } + .mx-sm-n11 { + margin-right: -44px !important; + margin-left: -44px !important; + } + .mx-sm-n12 { + margin-right: -48px !important; + margin-left: -48px !important; + } + .mx-sm-n13 { + margin-right: -52px !important; + margin-left: -52px !important; + } + .mx-sm-n14 { + margin-right: -56px !important; + margin-left: -56px !important; + } + .mx-sm-n15 { + margin-right: -60px !important; + margin-left: -60px !important; + } + .mx-sm-n16 { + margin-right: -64px !important; + margin-left: -64px !important; + } + .my-sm-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; + } + .my-sm-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; + } + .my-sm-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; + } + .my-sm-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; + } + .my-sm-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; + } + .my-sm-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; + } + .my-sm-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; + } + .my-sm-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; + } + .my-sm-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; + } + .my-sm-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; + } + .my-sm-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; + } + .my-sm-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; + } + .my-sm-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; + } + .my-sm-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; + } + .my-sm-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; + } + .my-sm-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; + } + .mt-sm-n1 { + margin-top: -4px !important; + } + .mt-sm-n2 { + margin-top: -8px !important; + } + .mt-sm-n3 { + margin-top: -12px !important; + } + .mt-sm-n4 { + margin-top: -16px !important; + } + .mt-sm-n5 { + margin-top: -20px !important; + } + .mt-sm-n6 { + margin-top: -24px !important; + } + .mt-sm-n7 { + margin-top: -28px !important; + } + .mt-sm-n8 { + margin-top: -32px !important; + } + .mt-sm-n9 { + margin-top: -36px !important; + } + .mt-sm-n10 { + margin-top: -40px !important; + } + .mt-sm-n11 { + margin-top: -44px !important; + } + .mt-sm-n12 { + margin-top: -48px !important; + } + .mt-sm-n13 { + margin-top: -52px !important; + } + .mt-sm-n14 { + margin-top: -56px !important; + } + .mt-sm-n15 { + margin-top: -60px !important; + } + .mt-sm-n16 { + margin-top: -64px !important; + } + .mr-sm-n1 { + margin-right: -4px !important; + } + .mr-sm-n2 { + margin-right: -8px !important; + } + .mr-sm-n3 { + margin-right: -12px !important; + } + .mr-sm-n4 { + margin-right: -16px !important; + } + .mr-sm-n5 { + margin-right: -20px !important; + } + .mr-sm-n6 { + margin-right: -24px !important; + } + .mr-sm-n7 { + margin-right: -28px !important; + } + .mr-sm-n8 { + margin-right: -32px !important; + } + .mr-sm-n9 { + margin-right: -36px !important; + } + .mr-sm-n10 { + margin-right: -40px !important; + } + .mr-sm-n11 { + margin-right: -44px !important; + } + .mr-sm-n12 { + margin-right: -48px !important; + } + .mr-sm-n13 { + margin-right: -52px !important; + } + .mr-sm-n14 { + margin-right: -56px !important; + } + .mr-sm-n15 { + margin-right: -60px !important; + } + .mr-sm-n16 { + margin-right: -64px !important; + } + .mb-sm-n1 { + margin-bottom: -4px !important; + } + .mb-sm-n2 { + margin-bottom: -8px !important; + } + .mb-sm-n3 { + margin-bottom: -12px !important; + } + .mb-sm-n4 { + margin-bottom: -16px !important; + } + .mb-sm-n5 { + margin-bottom: -20px !important; + } + .mb-sm-n6 { + margin-bottom: -24px !important; + } + .mb-sm-n7 { + margin-bottom: -28px !important; + } + .mb-sm-n8 { + margin-bottom: -32px !important; + } + .mb-sm-n9 { + margin-bottom: -36px !important; + } + .mb-sm-n10 { + margin-bottom: -40px !important; + } + .mb-sm-n11 { + margin-bottom: -44px !important; + } + .mb-sm-n12 { + margin-bottom: -48px !important; + } + .mb-sm-n13 { + margin-bottom: -52px !important; + } + .mb-sm-n14 { + margin-bottom: -56px !important; + } + .mb-sm-n15 { + margin-bottom: -60px !important; + } + .mb-sm-n16 { + margin-bottom: -64px !important; + } + .ml-sm-n1 { + margin-left: -4px !important; + } + .ml-sm-n2 { + margin-left: -8px !important; + } + .ml-sm-n3 { + margin-left: -12px !important; + } + .ml-sm-n4 { + margin-left: -16px !important; + } + .ml-sm-n5 { + margin-left: -20px !important; + } + .ml-sm-n6 { + margin-left: -24px !important; + } + .ml-sm-n7 { + margin-left: -28px !important; + } + .ml-sm-n8 { + margin-left: -32px !important; + } + .ml-sm-n9 { + margin-left: -36px !important; + } + .ml-sm-n10 { + margin-left: -40px !important; + } + .ml-sm-n11 { + margin-left: -44px !important; + } + .ml-sm-n12 { + margin-left: -48px !important; + } + .ml-sm-n13 { + margin-left: -52px !important; + } + .ml-sm-n14 { + margin-left: -56px !important; + } + .ml-sm-n15 { + margin-left: -60px !important; + } + .ml-sm-n16 { + margin-left: -64px !important; + } + .ms-sm-n1 { + margin-inline-start: -4px !important; + } + .ms-sm-n2 { + margin-inline-start: -8px !important; + } + .ms-sm-n3 { + margin-inline-start: -12px !important; + } + .ms-sm-n4 { + margin-inline-start: -16px !important; + } + .ms-sm-n5 { + margin-inline-start: -20px !important; + } + .ms-sm-n6 { + margin-inline-start: -24px !important; + } + .ms-sm-n7 { + margin-inline-start: -28px !important; + } + .ms-sm-n8 { + margin-inline-start: -32px !important; + } + .ms-sm-n9 { + margin-inline-start: -36px !important; + } + .ms-sm-n10 { + margin-inline-start: -40px !important; + } + .ms-sm-n11 { + margin-inline-start: -44px !important; + } + .ms-sm-n12 { + margin-inline-start: -48px !important; + } + .ms-sm-n13 { + margin-inline-start: -52px !important; + } + .ms-sm-n14 { + margin-inline-start: -56px !important; + } + .ms-sm-n15 { + margin-inline-start: -60px !important; + } + .ms-sm-n16 { + margin-inline-start: -64px !important; + } + .me-sm-n1 { + margin-inline-end: -4px !important; + } + .me-sm-n2 { + margin-inline-end: -8px !important; + } + .me-sm-n3 { + margin-inline-end: -12px !important; + } + .me-sm-n4 { + margin-inline-end: -16px !important; + } + .me-sm-n5 { + margin-inline-end: -20px !important; + } + .me-sm-n6 { + margin-inline-end: -24px !important; + } + .me-sm-n7 { + margin-inline-end: -28px !important; + } + .me-sm-n8 { + margin-inline-end: -32px !important; + } + .me-sm-n9 { + margin-inline-end: -36px !important; + } + .me-sm-n10 { + margin-inline-end: -40px !important; + } + .me-sm-n11 { + margin-inline-end: -44px !important; + } + .me-sm-n12 { + margin-inline-end: -48px !important; + } + .me-sm-n13 { + margin-inline-end: -52px !important; + } + .me-sm-n14 { + margin-inline-end: -56px !important; + } + .me-sm-n15 { + margin-inline-end: -60px !important; + } + .me-sm-n16 { + margin-inline-end: -64px !important; + } + .pa-sm-0 { + padding: 0px !important; + } + .pa-sm-1 { + padding: 4px !important; + } + .pa-sm-2 { + padding: 8px !important; + } + .pa-sm-3 { + padding: 12px !important; + } + .pa-sm-4 { + padding: 16px !important; + } + .pa-sm-5 { + padding: 20px !important; + } + .pa-sm-6 { + padding: 24px !important; + } + .pa-sm-7 { + padding: 28px !important; + } + .pa-sm-8 { + padding: 32px !important; + } + .pa-sm-9 { + padding: 36px !important; + } + .pa-sm-10 { + padding: 40px !important; + } + .pa-sm-11 { + padding: 44px !important; + } + .pa-sm-12 { + padding: 48px !important; + } + .pa-sm-13 { + padding: 52px !important; + } + .pa-sm-14 { + padding: 56px !important; + } + .pa-sm-15 { + padding: 60px !important; + } + .pa-sm-16 { + padding: 64px !important; + } + .px-sm-0 { + padding-right: 0px !important; + padding-left: 0px !important; + } + .px-sm-1 { + padding-right: 4px !important; + padding-left: 4px !important; + } + .px-sm-2 { + padding-right: 8px !important; + padding-left: 8px !important; + } + .px-sm-3 { + padding-right: 12px !important; + padding-left: 12px !important; + } + .px-sm-4 { + padding-right: 16px !important; + padding-left: 16px !important; + } + .px-sm-5 { + padding-right: 20px !important; + padding-left: 20px !important; + } + .px-sm-6 { + padding-right: 24px !important; + padding-left: 24px !important; + } + .px-sm-7 { + padding-right: 28px !important; + padding-left: 28px !important; + } + .px-sm-8 { + padding-right: 32px !important; + padding-left: 32px !important; + } + .px-sm-9 { + padding-right: 36px !important; + padding-left: 36px !important; + } + .px-sm-10 { + padding-right: 40px !important; + padding-left: 40px !important; + } + .px-sm-11 { + padding-right: 44px !important; + padding-left: 44px !important; + } + .px-sm-12 { + padding-right: 48px !important; + padding-left: 48px !important; + } + .px-sm-13 { + padding-right: 52px !important; + padding-left: 52px !important; + } + .px-sm-14 { + padding-right: 56px !important; + padding-left: 56px !important; + } + .px-sm-15 { + padding-right: 60px !important; + padding-left: 60px !important; + } + .px-sm-16 { + padding-right: 64px !important; + padding-left: 64px !important; + } + .py-sm-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; + } + .py-sm-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; + } + .py-sm-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + .py-sm-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; + } + .py-sm-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; + } + .py-sm-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; + } + .py-sm-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; + } + .py-sm-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .py-sm-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; + } + .py-sm-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; + } + .py-sm-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .py-sm-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; + } + .py-sm-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; + } + .py-sm-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; + } + .py-sm-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; + } + .py-sm-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .py-sm-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; + } + .pt-sm-0 { + padding-top: 0px !important; + } + .pt-sm-1 { + padding-top: 4px !important; + } + .pt-sm-2 { + padding-top: 8px !important; + } + .pt-sm-3 { + padding-top: 12px !important; + } + .pt-sm-4 { + padding-top: 16px !important; + } + .pt-sm-5 { + padding-top: 20px !important; + } + .pt-sm-6 { + padding-top: 24px !important; + } + .pt-sm-7 { + padding-top: 28px !important; + } + .pt-sm-8 { + padding-top: 32px !important; + } + .pt-sm-9 { + padding-top: 36px !important; + } + .pt-sm-10 { + padding-top: 40px !important; + } + .pt-sm-11 { + padding-top: 44px !important; + } + .pt-sm-12 { + padding-top: 48px !important; + } + .pt-sm-13 { + padding-top: 52px !important; + } + .pt-sm-14 { + padding-top: 56px !important; + } + .pt-sm-15 { + padding-top: 60px !important; + } + .pt-sm-16 { + padding-top: 64px !important; + } + .pr-sm-0 { + padding-right: 0px !important; + } + .pr-sm-1 { + padding-right: 4px !important; + } + .pr-sm-2 { + padding-right: 8px !important; + } + .pr-sm-3 { + padding-right: 12px !important; + } + .pr-sm-4 { + padding-right: 16px !important; + } + .pr-sm-5 { + padding-right: 20px !important; + } + .pr-sm-6 { + padding-right: 24px !important; + } + .pr-sm-7 { + padding-right: 28px !important; + } + .pr-sm-8 { + padding-right: 32px !important; + } + .pr-sm-9 { + padding-right: 36px !important; + } + .pr-sm-10 { + padding-right: 40px !important; + } + .pr-sm-11 { + padding-right: 44px !important; + } + .pr-sm-12 { + padding-right: 48px !important; + } + .pr-sm-13 { + padding-right: 52px !important; + } + .pr-sm-14 { + padding-right: 56px !important; + } + .pr-sm-15 { + padding-right: 60px !important; + } + .pr-sm-16 { + padding-right: 64px !important; + } + .pb-sm-0 { + padding-bottom: 0px !important; + } + .pb-sm-1 { + padding-bottom: 4px !important; + } + .pb-sm-2 { + padding-bottom: 8px !important; + } + .pb-sm-3 { + padding-bottom: 12px !important; + } + .pb-sm-4 { + padding-bottom: 16px !important; + } + .pb-sm-5 { + padding-bottom: 20px !important; + } + .pb-sm-6 { + padding-bottom: 24px !important; + } + .pb-sm-7 { + padding-bottom: 28px !important; + } + .pb-sm-8 { + padding-bottom: 32px !important; + } + .pb-sm-9 { + padding-bottom: 36px !important; + } + .pb-sm-10 { + padding-bottom: 40px !important; + } + .pb-sm-11 { + padding-bottom: 44px !important; + } + .pb-sm-12 { + padding-bottom: 48px !important; + } + .pb-sm-13 { + padding-bottom: 52px !important; + } + .pb-sm-14 { + padding-bottom: 56px !important; + } + .pb-sm-15 { + padding-bottom: 60px !important; + } + .pb-sm-16 { + padding-bottom: 64px !important; + } + .pl-sm-0 { + padding-left: 0px !important; + } + .pl-sm-1 { + padding-left: 4px !important; + } + .pl-sm-2 { + padding-left: 8px !important; + } + .pl-sm-3 { + padding-left: 12px !important; + } + .pl-sm-4 { + padding-left: 16px !important; + } + .pl-sm-5 { + padding-left: 20px !important; + } + .pl-sm-6 { + padding-left: 24px !important; + } + .pl-sm-7 { + padding-left: 28px !important; + } + .pl-sm-8 { + padding-left: 32px !important; + } + .pl-sm-9 { + padding-left: 36px !important; + } + .pl-sm-10 { + padding-left: 40px !important; + } + .pl-sm-11 { + padding-left: 44px !important; + } + .pl-sm-12 { + padding-left: 48px !important; + } + .pl-sm-13 { + padding-left: 52px !important; + } + .pl-sm-14 { + padding-left: 56px !important; + } + .pl-sm-15 { + padding-left: 60px !important; + } + .pl-sm-16 { + padding-left: 64px !important; + } + .ps-sm-0 { + padding-inline-start: 0px !important; + } + .ps-sm-1 { + padding-inline-start: 4px !important; + } + .ps-sm-2 { + padding-inline-start: 8px !important; + } + .ps-sm-3 { + padding-inline-start: 12px !important; + } + .ps-sm-4 { + padding-inline-start: 16px !important; + } + .ps-sm-5 { + padding-inline-start: 20px !important; + } + .ps-sm-6 { + padding-inline-start: 24px !important; + } + .ps-sm-7 { + padding-inline-start: 28px !important; + } + .ps-sm-8 { + padding-inline-start: 32px !important; + } + .ps-sm-9 { + padding-inline-start: 36px !important; + } + .ps-sm-10 { + padding-inline-start: 40px !important; + } + .ps-sm-11 { + padding-inline-start: 44px !important; + } + .ps-sm-12 { + padding-inline-start: 48px !important; + } + .ps-sm-13 { + padding-inline-start: 52px !important; + } + .ps-sm-14 { + padding-inline-start: 56px !important; + } + .ps-sm-15 { + padding-inline-start: 60px !important; + } + .ps-sm-16 { + padding-inline-start: 64px !important; + } + .pe-sm-0 { + padding-inline-end: 0px !important; + } + .pe-sm-1 { + padding-inline-end: 4px !important; + } + .pe-sm-2 { + padding-inline-end: 8px !important; + } + .pe-sm-3 { + padding-inline-end: 12px !important; + } + .pe-sm-4 { + padding-inline-end: 16px !important; + } + .pe-sm-5 { + padding-inline-end: 20px !important; + } + .pe-sm-6 { + padding-inline-end: 24px !important; + } + .pe-sm-7 { + padding-inline-end: 28px !important; + } + .pe-sm-8 { + padding-inline-end: 32px !important; + } + .pe-sm-9 { + padding-inline-end: 36px !important; + } + .pe-sm-10 { + padding-inline-end: 40px !important; + } + .pe-sm-11 { + padding-inline-end: 44px !important; + } + .pe-sm-12 { + padding-inline-end: 48px !important; + } + .pe-sm-13 { + padding-inline-end: 52px !important; + } + .pe-sm-14 { + padding-inline-end: 56px !important; + } + .pe-sm-15 { + padding-inline-end: 60px !important; + } + .pe-sm-16 { + padding-inline-end: 64px !important; + } + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } + .text-sm-justify { + text-align: justify !important; + } + .text-sm-start { + text-align: start !important; + } + .text-sm-end { + text-align: end !important; + } + .text-sm-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-sm-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; + } + .h-sm-auto { + height: auto !important; + } + .h-sm-screen { + height: 100vh !important; + } + .h-sm-0 { + height: 0 !important; + } + .h-sm-25 { + height: 25% !important; + } + .h-sm-50 { + height: 50% !important; + } + .h-sm-75 { + height: 75% !important; + } + .h-sm-100 { + height: 100% !important; + } + .w-sm-auto { + width: auto !important; + } + .w-sm-0 { + width: 0 !important; + } + .w-sm-25 { + width: 25% !important; + } + .w-sm-33 { + width: 33% !important; + } + .w-sm-50 { + width: 50% !important; + } + .w-sm-66 { + width: 66% !important; + } + .w-sm-75 { + width: 75% !important; + } + .w-sm-100 { + width: 100% !important; + } +} +@media (min-width: 960px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .float-md-none { + float: none !important; + } + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .v-locale--is-rtl .float-md-end { + float: left !important; + } + .v-locale--is-rtl .float-md-start { + float: right !important; + } + .v-locale--is-ltr .float-md-end { + float: right !important; + } + .v-locale--is-ltr .float-md-start { + float: left !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-1-1 { + flex: 1 1 auto !important; + } + .flex-md-1-0 { + flex: 1 0 auto !important; + } + .flex-md-0-1 { + flex: 0 1 auto !important; + } + .flex-md-0-0 { + flex: 0 0 auto !important; + } + .flex-md-1-1-100 { + flex: 1 1 100% !important; + } + .flex-md-1-0-100 { + flex: 1 0 100% !important; + } + .flex-md-0-1-100 { + flex: 0 1 100% !important; + } + .flex-md-0-0-100 { + flex: 0 0 100% !important; + } + .flex-md-1-1-0 { + flex: 1 1 0 !important; + } + .flex-md-1-0-0 { + flex: 1 0 0 !important; + } + .flex-md-0-1-0 { + flex: 0 1 0 !important; + } + .flex-md-0-0-0 { + flex: 0 0 0 !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-md-start { + justify-content: flex-start !important; + } + .justify-md-end { + justify-content: flex-end !important; + } + .justify-md-center { + justify-content: center !important; + } + .justify-md-space-between { + justify-content: space-between !important; + } + .justify-md-space-around { + justify-content: space-around !important; + } + .justify-md-space-evenly { + justify-content: space-evenly !important; + } + .align-md-start { + align-items: flex-start !important; + } + .align-md-end { + align-items: flex-end !important; + } + .align-md-center { + align-items: center !important; + } + .align-md-baseline { + align-items: baseline !important; + } + .align-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-space-between { + align-content: space-between !important; + } + .align-content-md-space-around { + align-content: space-around !important; + } + .align-content-md-space-evenly { + align-content: space-evenly !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-6 { + order: 6 !important; + } + .order-md-7 { + order: 7 !important; + } + .order-md-8 { + order: 8 !important; + } + .order-md-9 { + order: 9 !important; + } + .order-md-10 { + order: 10 !important; + } + .order-md-11 { + order: 11 !important; + } + .order-md-12 { + order: 12 !important; + } + .order-md-last { + order: 13 !important; + } + .ga-md-0 { + gap: 0px !important; + } + .ga-md-1 { + gap: 4px !important; + } + .ga-md-2 { + gap: 8px !important; + } + .ga-md-3 { + gap: 12px !important; + } + .ga-md-4 { + gap: 16px !important; + } + .ga-md-5 { + gap: 20px !important; + } + .ga-md-6 { + gap: 24px !important; + } + .ga-md-7 { + gap: 28px !important; + } + .ga-md-8 { + gap: 32px !important; + } + .ga-md-9 { + gap: 36px !important; + } + .ga-md-10 { + gap: 40px !important; + } + .ga-md-11 { + gap: 44px !important; + } + .ga-md-12 { + gap: 48px !important; + } + .ga-md-13 { + gap: 52px !important; + } + .ga-md-14 { + gap: 56px !important; + } + .ga-md-15 { + gap: 60px !important; + } + .ga-md-16 { + gap: 64px !important; + } + .ga-md-auto { + gap: auto !important; + } + .gr-md-0 { + row-gap: 0px !important; + } + .gr-md-1 { + row-gap: 4px !important; + } + .gr-md-2 { + row-gap: 8px !important; + } + .gr-md-3 { + row-gap: 12px !important; + } + .gr-md-4 { + row-gap: 16px !important; + } + .gr-md-5 { + row-gap: 20px !important; + } + .gr-md-6 { + row-gap: 24px !important; + } + .gr-md-7 { + row-gap: 28px !important; + } + .gr-md-8 { + row-gap: 32px !important; + } + .gr-md-9 { + row-gap: 36px !important; + } + .gr-md-10 { + row-gap: 40px !important; + } + .gr-md-11 { + row-gap: 44px !important; + } + .gr-md-12 { + row-gap: 48px !important; + } + .gr-md-13 { + row-gap: 52px !important; + } + .gr-md-14 { + row-gap: 56px !important; + } + .gr-md-15 { + row-gap: 60px !important; + } + .gr-md-16 { + row-gap: 64px !important; + } + .gr-md-auto { + row-gap: auto !important; + } + .gc-md-0 { + column-gap: 0px !important; + } + .gc-md-1 { + column-gap: 4px !important; + } + .gc-md-2 { + column-gap: 8px !important; + } + .gc-md-3 { + column-gap: 12px !important; + } + .gc-md-4 { + column-gap: 16px !important; + } + .gc-md-5 { + column-gap: 20px !important; + } + .gc-md-6 { + column-gap: 24px !important; + } + .gc-md-7 { + column-gap: 28px !important; + } + .gc-md-8 { + column-gap: 32px !important; + } + .gc-md-9 { + column-gap: 36px !important; + } + .gc-md-10 { + column-gap: 40px !important; + } + .gc-md-11 { + column-gap: 44px !important; + } + .gc-md-12 { + column-gap: 48px !important; + } + .gc-md-13 { + column-gap: 52px !important; + } + .gc-md-14 { + column-gap: 56px !important; + } + .gc-md-15 { + column-gap: 60px !important; + } + .gc-md-16 { + column-gap: 64px !important; + } + .gc-md-auto { + column-gap: auto !important; + } + .ma-md-0 { + margin: 0px !important; + } + .ma-md-1 { + margin: 4px !important; + } + .ma-md-2 { + margin: 8px !important; + } + .ma-md-3 { + margin: 12px !important; + } + .ma-md-4 { + margin: 16px !important; + } + .ma-md-5 { + margin: 20px !important; + } + .ma-md-6 { + margin: 24px !important; + } + .ma-md-7 { + margin: 28px !important; + } + .ma-md-8 { + margin: 32px !important; + } + .ma-md-9 { + margin: 36px !important; + } + .ma-md-10 { + margin: 40px !important; + } + .ma-md-11 { + margin: 44px !important; + } + .ma-md-12 { + margin: 48px !important; + } + .ma-md-13 { + margin: 52px !important; + } + .ma-md-14 { + margin: 56px !important; + } + .ma-md-15 { + margin: 60px !important; + } + .ma-md-16 { + margin: 64px !important; + } + .ma-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0px !important; + margin-left: 0px !important; + } + .mx-md-1 { + margin-right: 4px !important; + margin-left: 4px !important; + } + .mx-md-2 { + margin-right: 8px !important; + margin-left: 8px !important; + } + .mx-md-3 { + margin-right: 12px !important; + margin-left: 12px !important; + } + .mx-md-4 { + margin-right: 16px !important; + margin-left: 16px !important; + } + .mx-md-5 { + margin-right: 20px !important; + margin-left: 20px !important; + } + .mx-md-6 { + margin-right: 24px !important; + margin-left: 24px !important; + } + .mx-md-7 { + margin-right: 28px !important; + margin-left: 28px !important; + } + .mx-md-8 { + margin-right: 32px !important; + margin-left: 32px !important; + } + .mx-md-9 { + margin-right: 36px !important; + margin-left: 36px !important; + } + .mx-md-10 { + margin-right: 40px !important; + margin-left: 40px !important; + } + .mx-md-11 { + margin-right: 44px !important; + margin-left: 44px !important; + } + .mx-md-12 { + margin-right: 48px !important; + margin-left: 48px !important; + } + .mx-md-13 { + margin-right: 52px !important; + margin-left: 52px !important; + } + .mx-md-14 { + margin-right: 56px !important; + margin-left: 56px !important; + } + .mx-md-15 { + margin-right: 60px !important; + margin-left: 60px !important; + } + .mx-md-16 { + margin-right: 64px !important; + margin-left: 64px !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; + } + .my-md-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; + } + .my-md-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + .my-md-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; + } + .my-md-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; + } + .my-md-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; + } + .my-md-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; + } + .my-md-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .my-md-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; + } + .my-md-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; + } + .my-md-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; + } + .my-md-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; + } + .my-md-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; + } + .my-md-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; + } + .my-md-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; + } + .my-md-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; + } + .my-md-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0px !important; + } + .mt-md-1 { + margin-top: 4px !important; + } + .mt-md-2 { + margin-top: 8px !important; + } + .mt-md-3 { + margin-top: 12px !important; + } + .mt-md-4 { + margin-top: 16px !important; + } + .mt-md-5 { + margin-top: 20px !important; + } + .mt-md-6 { + margin-top: 24px !important; + } + .mt-md-7 { + margin-top: 28px !important; + } + .mt-md-8 { + margin-top: 32px !important; + } + .mt-md-9 { + margin-top: 36px !important; + } + .mt-md-10 { + margin-top: 40px !important; + } + .mt-md-11 { + margin-top: 44px !important; + } + .mt-md-12 { + margin-top: 48px !important; + } + .mt-md-13 { + margin-top: 52px !important; + } + .mt-md-14 { + margin-top: 56px !important; + } + .mt-md-15 { + margin-top: 60px !important; + } + .mt-md-16 { + margin-top: 64px !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .mr-md-0 { + margin-right: 0px !important; + } + .mr-md-1 { + margin-right: 4px !important; + } + .mr-md-2 { + margin-right: 8px !important; + } + .mr-md-3 { + margin-right: 12px !important; + } + .mr-md-4 { + margin-right: 16px !important; + } + .mr-md-5 { + margin-right: 20px !important; + } + .mr-md-6 { + margin-right: 24px !important; + } + .mr-md-7 { + margin-right: 28px !important; + } + .mr-md-8 { + margin-right: 32px !important; + } + .mr-md-9 { + margin-right: 36px !important; + } + .mr-md-10 { + margin-right: 40px !important; + } + .mr-md-11 { + margin-right: 44px !important; + } + .mr-md-12 { + margin-right: 48px !important; + } + .mr-md-13 { + margin-right: 52px !important; + } + .mr-md-14 { + margin-right: 56px !important; + } + .mr-md-15 { + margin-right: 60px !important; + } + .mr-md-16 { + margin-right: 64px !important; + } + .mr-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0px !important; + } + .mb-md-1 { + margin-bottom: 4px !important; + } + .mb-md-2 { + margin-bottom: 8px !important; + } + .mb-md-3 { + margin-bottom: 12px !important; + } + .mb-md-4 { + margin-bottom: 16px !important; + } + .mb-md-5 { + margin-bottom: 20px !important; + } + .mb-md-6 { + margin-bottom: 24px !important; + } + .mb-md-7 { + margin-bottom: 28px !important; + } + .mb-md-8 { + margin-bottom: 32px !important; + } + .mb-md-9 { + margin-bottom: 36px !important; + } + .mb-md-10 { + margin-bottom: 40px !important; + } + .mb-md-11 { + margin-bottom: 44px !important; + } + .mb-md-12 { + margin-bottom: 48px !important; + } + .mb-md-13 { + margin-bottom: 52px !important; + } + .mb-md-14 { + margin-bottom: 56px !important; + } + .mb-md-15 { + margin-bottom: 60px !important; + } + .mb-md-16 { + margin-bottom: 64px !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ml-md-0 { + margin-left: 0px !important; + } + .ml-md-1 { + margin-left: 4px !important; + } + .ml-md-2 { + margin-left: 8px !important; + } + .ml-md-3 { + margin-left: 12px !important; + } + .ml-md-4 { + margin-left: 16px !important; + } + .ml-md-5 { + margin-left: 20px !important; + } + .ml-md-6 { + margin-left: 24px !important; + } + .ml-md-7 { + margin-left: 28px !important; + } + .ml-md-8 { + margin-left: 32px !important; + } + .ml-md-9 { + margin-left: 36px !important; + } + .ml-md-10 { + margin-left: 40px !important; + } + .ml-md-11 { + margin-left: 44px !important; + } + .ml-md-12 { + margin-left: 48px !important; + } + .ml-md-13 { + margin-left: 52px !important; + } + .ml-md-14 { + margin-left: 56px !important; + } + .ml-md-15 { + margin-left: 60px !important; + } + .ml-md-16 { + margin-left: 64px !important; + } + .ml-md-auto { + margin-left: auto !important; + } + .ms-md-0 { + margin-inline-start: 0px !important; + } + .ms-md-1 { + margin-inline-start: 4px !important; + } + .ms-md-2 { + margin-inline-start: 8px !important; + } + .ms-md-3 { + margin-inline-start: 12px !important; + } + .ms-md-4 { + margin-inline-start: 16px !important; + } + .ms-md-5 { + margin-inline-start: 20px !important; + } + .ms-md-6 { + margin-inline-start: 24px !important; + } + .ms-md-7 { + margin-inline-start: 28px !important; + } + .ms-md-8 { + margin-inline-start: 32px !important; + } + .ms-md-9 { + margin-inline-start: 36px !important; + } + .ms-md-10 { + margin-inline-start: 40px !important; + } + .ms-md-11 { + margin-inline-start: 44px !important; + } + .ms-md-12 { + margin-inline-start: 48px !important; + } + .ms-md-13 { + margin-inline-start: 52px !important; + } + .ms-md-14 { + margin-inline-start: 56px !important; + } + .ms-md-15 { + margin-inline-start: 60px !important; + } + .ms-md-16 { + margin-inline-start: 64px !important; + } + .ms-md-auto { + margin-inline-start: auto !important; + } + .me-md-0 { + margin-inline-end: 0px !important; + } + .me-md-1 { + margin-inline-end: 4px !important; + } + .me-md-2 { + margin-inline-end: 8px !important; + } + .me-md-3 { + margin-inline-end: 12px !important; + } + .me-md-4 { + margin-inline-end: 16px !important; + } + .me-md-5 { + margin-inline-end: 20px !important; + } + .me-md-6 { + margin-inline-end: 24px !important; + } + .me-md-7 { + margin-inline-end: 28px !important; + } + .me-md-8 { + margin-inline-end: 32px !important; + } + .me-md-9 { + margin-inline-end: 36px !important; + } + .me-md-10 { + margin-inline-end: 40px !important; + } + .me-md-11 { + margin-inline-end: 44px !important; + } + .me-md-12 { + margin-inline-end: 48px !important; + } + .me-md-13 { + margin-inline-end: 52px !important; + } + .me-md-14 { + margin-inline-end: 56px !important; + } + .me-md-15 { + margin-inline-end: 60px !important; + } + .me-md-16 { + margin-inline-end: 64px !important; + } + .me-md-auto { + margin-inline-end: auto !important; + } + .ma-md-n1 { + margin: -4px !important; + } + .ma-md-n2 { + margin: -8px !important; + } + .ma-md-n3 { + margin: -12px !important; + } + .ma-md-n4 { + margin: -16px !important; + } + .ma-md-n5 { + margin: -20px !important; + } + .ma-md-n6 { + margin: -24px !important; + } + .ma-md-n7 { + margin: -28px !important; + } + .ma-md-n8 { + margin: -32px !important; + } + .ma-md-n9 { + margin: -36px !important; + } + .ma-md-n10 { + margin: -40px !important; + } + .ma-md-n11 { + margin: -44px !important; + } + .ma-md-n12 { + margin: -48px !important; + } + .ma-md-n13 { + margin: -52px !important; + } + .ma-md-n14 { + margin: -56px !important; + } + .ma-md-n15 { + margin: -60px !important; + } + .ma-md-n16 { + margin: -64px !important; + } + .mx-md-n1 { + margin-right: -4px !important; + margin-left: -4px !important; + } + .mx-md-n2 { + margin-right: -8px !important; + margin-left: -8px !important; + } + .mx-md-n3 { + margin-right: -12px !important; + margin-left: -12px !important; + } + .mx-md-n4 { + margin-right: -16px !important; + margin-left: -16px !important; + } + .mx-md-n5 { + margin-right: -20px !important; + margin-left: -20px !important; + } + .mx-md-n6 { + margin-right: -24px !important; + margin-left: -24px !important; + } + .mx-md-n7 { + margin-right: -28px !important; + margin-left: -28px !important; + } + .mx-md-n8 { + margin-right: -32px !important; + margin-left: -32px !important; + } + .mx-md-n9 { + margin-right: -36px !important; + margin-left: -36px !important; + } + .mx-md-n10 { + margin-right: -40px !important; + margin-left: -40px !important; + } + .mx-md-n11 { + margin-right: -44px !important; + margin-left: -44px !important; + } + .mx-md-n12 { + margin-right: -48px !important; + margin-left: -48px !important; + } + .mx-md-n13 { + margin-right: -52px !important; + margin-left: -52px !important; + } + .mx-md-n14 { + margin-right: -56px !important; + margin-left: -56px !important; + } + .mx-md-n15 { + margin-right: -60px !important; + margin-left: -60px !important; + } + .mx-md-n16 { + margin-right: -64px !important; + margin-left: -64px !important; + } + .my-md-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; + } + .my-md-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; + } + .my-md-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; + } + .my-md-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; + } + .my-md-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; + } + .my-md-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; + } + .my-md-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; + } + .my-md-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; + } + .my-md-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; + } + .my-md-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; + } + .my-md-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; + } + .my-md-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; + } + .my-md-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; + } + .my-md-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; + } + .my-md-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; + } + .my-md-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; + } + .mt-md-n1 { + margin-top: -4px !important; + } + .mt-md-n2 { + margin-top: -8px !important; + } + .mt-md-n3 { + margin-top: -12px !important; + } + .mt-md-n4 { + margin-top: -16px !important; + } + .mt-md-n5 { + margin-top: -20px !important; + } + .mt-md-n6 { + margin-top: -24px !important; + } + .mt-md-n7 { + margin-top: -28px !important; + } + .mt-md-n8 { + margin-top: -32px !important; + } + .mt-md-n9 { + margin-top: -36px !important; + } + .mt-md-n10 { + margin-top: -40px !important; + } + .mt-md-n11 { + margin-top: -44px !important; + } + .mt-md-n12 { + margin-top: -48px !important; + } + .mt-md-n13 { + margin-top: -52px !important; + } + .mt-md-n14 { + margin-top: -56px !important; + } + .mt-md-n15 { + margin-top: -60px !important; + } + .mt-md-n16 { + margin-top: -64px !important; + } + .mr-md-n1 { + margin-right: -4px !important; + } + .mr-md-n2 { + margin-right: -8px !important; + } + .mr-md-n3 { + margin-right: -12px !important; + } + .mr-md-n4 { + margin-right: -16px !important; + } + .mr-md-n5 { + margin-right: -20px !important; + } + .mr-md-n6 { + margin-right: -24px !important; + } + .mr-md-n7 { + margin-right: -28px !important; + } + .mr-md-n8 { + margin-right: -32px !important; + } + .mr-md-n9 { + margin-right: -36px !important; + } + .mr-md-n10 { + margin-right: -40px !important; + } + .mr-md-n11 { + margin-right: -44px !important; + } + .mr-md-n12 { + margin-right: -48px !important; + } + .mr-md-n13 { + margin-right: -52px !important; + } + .mr-md-n14 { + margin-right: -56px !important; + } + .mr-md-n15 { + margin-right: -60px !important; + } + .mr-md-n16 { + margin-right: -64px !important; + } + .mb-md-n1 { + margin-bottom: -4px !important; + } + .mb-md-n2 { + margin-bottom: -8px !important; + } + .mb-md-n3 { + margin-bottom: -12px !important; + } + .mb-md-n4 { + margin-bottom: -16px !important; + } + .mb-md-n5 { + margin-bottom: -20px !important; + } + .mb-md-n6 { + margin-bottom: -24px !important; + } + .mb-md-n7 { + margin-bottom: -28px !important; + } + .mb-md-n8 { + margin-bottom: -32px !important; + } + .mb-md-n9 { + margin-bottom: -36px !important; + } + .mb-md-n10 { + margin-bottom: -40px !important; + } + .mb-md-n11 { + margin-bottom: -44px !important; + } + .mb-md-n12 { + margin-bottom: -48px !important; + } + .mb-md-n13 { + margin-bottom: -52px !important; + } + .mb-md-n14 { + margin-bottom: -56px !important; + } + .mb-md-n15 { + margin-bottom: -60px !important; + } + .mb-md-n16 { + margin-bottom: -64px !important; + } + .ml-md-n1 { + margin-left: -4px !important; + } + .ml-md-n2 { + margin-left: -8px !important; + } + .ml-md-n3 { + margin-left: -12px !important; + } + .ml-md-n4 { + margin-left: -16px !important; + } + .ml-md-n5 { + margin-left: -20px !important; + } + .ml-md-n6 { + margin-left: -24px !important; + } + .ml-md-n7 { + margin-left: -28px !important; + } + .ml-md-n8 { + margin-left: -32px !important; + } + .ml-md-n9 { + margin-left: -36px !important; + } + .ml-md-n10 { + margin-left: -40px !important; + } + .ml-md-n11 { + margin-left: -44px !important; + } + .ml-md-n12 { + margin-left: -48px !important; + } + .ml-md-n13 { + margin-left: -52px !important; + } + .ml-md-n14 { + margin-left: -56px !important; + } + .ml-md-n15 { + margin-left: -60px !important; + } + .ml-md-n16 { + margin-left: -64px !important; + } + .ms-md-n1 { + margin-inline-start: -4px !important; + } + .ms-md-n2 { + margin-inline-start: -8px !important; + } + .ms-md-n3 { + margin-inline-start: -12px !important; + } + .ms-md-n4 { + margin-inline-start: -16px !important; + } + .ms-md-n5 { + margin-inline-start: -20px !important; + } + .ms-md-n6 { + margin-inline-start: -24px !important; + } + .ms-md-n7 { + margin-inline-start: -28px !important; + } + .ms-md-n8 { + margin-inline-start: -32px !important; + } + .ms-md-n9 { + margin-inline-start: -36px !important; + } + .ms-md-n10 { + margin-inline-start: -40px !important; + } + .ms-md-n11 { + margin-inline-start: -44px !important; + } + .ms-md-n12 { + margin-inline-start: -48px !important; + } + .ms-md-n13 { + margin-inline-start: -52px !important; + } + .ms-md-n14 { + margin-inline-start: -56px !important; + } + .ms-md-n15 { + margin-inline-start: -60px !important; + } + .ms-md-n16 { + margin-inline-start: -64px !important; + } + .me-md-n1 { + margin-inline-end: -4px !important; + } + .me-md-n2 { + margin-inline-end: -8px !important; + } + .me-md-n3 { + margin-inline-end: -12px !important; + } + .me-md-n4 { + margin-inline-end: -16px !important; + } + .me-md-n5 { + margin-inline-end: -20px !important; + } + .me-md-n6 { + margin-inline-end: -24px !important; + } + .me-md-n7 { + margin-inline-end: -28px !important; + } + .me-md-n8 { + margin-inline-end: -32px !important; + } + .me-md-n9 { + margin-inline-end: -36px !important; + } + .me-md-n10 { + margin-inline-end: -40px !important; + } + .me-md-n11 { + margin-inline-end: -44px !important; + } + .me-md-n12 { + margin-inline-end: -48px !important; + } + .me-md-n13 { + margin-inline-end: -52px !important; + } + .me-md-n14 { + margin-inline-end: -56px !important; + } + .me-md-n15 { + margin-inline-end: -60px !important; + } + .me-md-n16 { + margin-inline-end: -64px !important; + } + .pa-md-0 { + padding: 0px !important; + } + .pa-md-1 { + padding: 4px !important; + } + .pa-md-2 { + padding: 8px !important; + } + .pa-md-3 { + padding: 12px !important; + } + .pa-md-4 { + padding: 16px !important; + } + .pa-md-5 { + padding: 20px !important; + } + .pa-md-6 { + padding: 24px !important; + } + .pa-md-7 { + padding: 28px !important; + } + .pa-md-8 { + padding: 32px !important; + } + .pa-md-9 { + padding: 36px !important; + } + .pa-md-10 { + padding: 40px !important; + } + .pa-md-11 { + padding: 44px !important; + } + .pa-md-12 { + padding: 48px !important; + } + .pa-md-13 { + padding: 52px !important; + } + .pa-md-14 { + padding: 56px !important; + } + .pa-md-15 { + padding: 60px !important; + } + .pa-md-16 { + padding: 64px !important; + } + .px-md-0 { + padding-right: 0px !important; + padding-left: 0px !important; + } + .px-md-1 { + padding-right: 4px !important; + padding-left: 4px !important; + } + .px-md-2 { + padding-right: 8px !important; + padding-left: 8px !important; + } + .px-md-3 { + padding-right: 12px !important; + padding-left: 12px !important; + } + .px-md-4 { + padding-right: 16px !important; + padding-left: 16px !important; + } + .px-md-5 { + padding-right: 20px !important; + padding-left: 20px !important; + } + .px-md-6 { + padding-right: 24px !important; + padding-left: 24px !important; + } + .px-md-7 { + padding-right: 28px !important; + padding-left: 28px !important; + } + .px-md-8 { + padding-right: 32px !important; + padding-left: 32px !important; + } + .px-md-9 { + padding-right: 36px !important; + padding-left: 36px !important; + } + .px-md-10 { + padding-right: 40px !important; + padding-left: 40px !important; + } + .px-md-11 { + padding-right: 44px !important; + padding-left: 44px !important; + } + .px-md-12 { + padding-right: 48px !important; + padding-left: 48px !important; + } + .px-md-13 { + padding-right: 52px !important; + padding-left: 52px !important; + } + .px-md-14 { + padding-right: 56px !important; + padding-left: 56px !important; + } + .px-md-15 { + padding-right: 60px !important; + padding-left: 60px !important; + } + .px-md-16 { + padding-right: 64px !important; + padding-left: 64px !important; + } + .py-md-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; + } + .py-md-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; + } + .py-md-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + .py-md-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; + } + .py-md-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; + } + .py-md-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; + } + .py-md-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; + } + .py-md-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .py-md-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; + } + .py-md-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; + } + .py-md-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .py-md-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; + } + .py-md-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; + } + .py-md-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; + } + .py-md-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; + } + .py-md-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .py-md-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; + } + .pt-md-0 { + padding-top: 0px !important; + } + .pt-md-1 { + padding-top: 4px !important; + } + .pt-md-2 { + padding-top: 8px !important; + } + .pt-md-3 { + padding-top: 12px !important; + } + .pt-md-4 { + padding-top: 16px !important; + } + .pt-md-5 { + padding-top: 20px !important; + } + .pt-md-6 { + padding-top: 24px !important; + } + .pt-md-7 { + padding-top: 28px !important; + } + .pt-md-8 { + padding-top: 32px !important; + } + .pt-md-9 { + padding-top: 36px !important; + } + .pt-md-10 { + padding-top: 40px !important; + } + .pt-md-11 { + padding-top: 44px !important; + } + .pt-md-12 { + padding-top: 48px !important; + } + .pt-md-13 { + padding-top: 52px !important; + } + .pt-md-14 { + padding-top: 56px !important; + } + .pt-md-15 { + padding-top: 60px !important; + } + .pt-md-16 { + padding-top: 64px !important; + } + .pr-md-0 { + padding-right: 0px !important; + } + .pr-md-1 { + padding-right: 4px !important; + } + .pr-md-2 { + padding-right: 8px !important; + } + .pr-md-3 { + padding-right: 12px !important; + } + .pr-md-4 { + padding-right: 16px !important; + } + .pr-md-5 { + padding-right: 20px !important; + } + .pr-md-6 { + padding-right: 24px !important; + } + .pr-md-7 { + padding-right: 28px !important; + } + .pr-md-8 { + padding-right: 32px !important; + } + .pr-md-9 { + padding-right: 36px !important; + } + .pr-md-10 { + padding-right: 40px !important; + } + .pr-md-11 { + padding-right: 44px !important; + } + .pr-md-12 { + padding-right: 48px !important; + } + .pr-md-13 { + padding-right: 52px !important; + } + .pr-md-14 { + padding-right: 56px !important; + } + .pr-md-15 { + padding-right: 60px !important; + } + .pr-md-16 { + padding-right: 64px !important; + } + .pb-md-0 { + padding-bottom: 0px !important; + } + .pb-md-1 { + padding-bottom: 4px !important; + } + .pb-md-2 { + padding-bottom: 8px !important; + } + .pb-md-3 { + padding-bottom: 12px !important; + } + .pb-md-4 { + padding-bottom: 16px !important; + } + .pb-md-5 { + padding-bottom: 20px !important; + } + .pb-md-6 { + padding-bottom: 24px !important; + } + .pb-md-7 { + padding-bottom: 28px !important; + } + .pb-md-8 { + padding-bottom: 32px !important; + } + .pb-md-9 { + padding-bottom: 36px !important; + } + .pb-md-10 { + padding-bottom: 40px !important; + } + .pb-md-11 { + padding-bottom: 44px !important; + } + .pb-md-12 { + padding-bottom: 48px !important; + } + .pb-md-13 { + padding-bottom: 52px !important; + } + .pb-md-14 { + padding-bottom: 56px !important; + } + .pb-md-15 { + padding-bottom: 60px !important; + } + .pb-md-16 { + padding-bottom: 64px !important; + } + .pl-md-0 { + padding-left: 0px !important; + } + .pl-md-1 { + padding-left: 4px !important; + } + .pl-md-2 { + padding-left: 8px !important; + } + .pl-md-3 { + padding-left: 12px !important; + } + .pl-md-4 { + padding-left: 16px !important; + } + .pl-md-5 { + padding-left: 20px !important; + } + .pl-md-6 { + padding-left: 24px !important; + } + .pl-md-7 { + padding-left: 28px !important; + } + .pl-md-8 { + padding-left: 32px !important; + } + .pl-md-9 { + padding-left: 36px !important; + } + .pl-md-10 { + padding-left: 40px !important; + } + .pl-md-11 { + padding-left: 44px !important; + } + .pl-md-12 { + padding-left: 48px !important; + } + .pl-md-13 { + padding-left: 52px !important; + } + .pl-md-14 { + padding-left: 56px !important; + } + .pl-md-15 { + padding-left: 60px !important; + } + .pl-md-16 { + padding-left: 64px !important; + } + .ps-md-0 { + padding-inline-start: 0px !important; + } + .ps-md-1 { + padding-inline-start: 4px !important; + } + .ps-md-2 { + padding-inline-start: 8px !important; + } + .ps-md-3 { + padding-inline-start: 12px !important; + } + .ps-md-4 { + padding-inline-start: 16px !important; + } + .ps-md-5 { + padding-inline-start: 20px !important; + } + .ps-md-6 { + padding-inline-start: 24px !important; + } + .ps-md-7 { + padding-inline-start: 28px !important; + } + .ps-md-8 { + padding-inline-start: 32px !important; + } + .ps-md-9 { + padding-inline-start: 36px !important; + } + .ps-md-10 { + padding-inline-start: 40px !important; + } + .ps-md-11 { + padding-inline-start: 44px !important; + } + .ps-md-12 { + padding-inline-start: 48px !important; + } + .ps-md-13 { + padding-inline-start: 52px !important; + } + .ps-md-14 { + padding-inline-start: 56px !important; + } + .ps-md-15 { + padding-inline-start: 60px !important; + } + .ps-md-16 { + padding-inline-start: 64px !important; + } + .pe-md-0 { + padding-inline-end: 0px !important; + } + .pe-md-1 { + padding-inline-end: 4px !important; + } + .pe-md-2 { + padding-inline-end: 8px !important; + } + .pe-md-3 { + padding-inline-end: 12px !important; + } + .pe-md-4 { + padding-inline-end: 16px !important; + } + .pe-md-5 { + padding-inline-end: 20px !important; + } + .pe-md-6 { + padding-inline-end: 24px !important; + } + .pe-md-7 { + padding-inline-end: 28px !important; + } + .pe-md-8 { + padding-inline-end: 32px !important; + } + .pe-md-9 { + padding-inline-end: 36px !important; + } + .pe-md-10 { + padding-inline-end: 40px !important; + } + .pe-md-11 { + padding-inline-end: 44px !important; + } + .pe-md-12 { + padding-inline-end: 48px !important; + } + .pe-md-13 { + padding-inline-end: 52px !important; + } + .pe-md-14 { + padding-inline-end: 56px !important; + } + .pe-md-15 { + padding-inline-end: 60px !important; + } + .pe-md-16 { + padding-inline-end: 64px !important; + } + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } + .text-md-justify { + text-align: justify !important; + } + .text-md-start { + text-align: start !important; + } + .text-md-end { + text-align: end !important; + } + .text-md-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-md-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; + } + .h-md-auto { + height: auto !important; + } + .h-md-screen { + height: 100vh !important; + } + .h-md-0 { + height: 0 !important; + } + .h-md-25 { + height: 25% !important; + } + .h-md-50 { + height: 50% !important; + } + .h-md-75 { + height: 75% !important; + } + .h-md-100 { + height: 100% !important; + } + .w-md-auto { + width: auto !important; + } + .w-md-0 { + width: 0 !important; + } + .w-md-25 { + width: 25% !important; + } + .w-md-33 { + width: 33% !important; + } + .w-md-50 { + width: 50% !important; + } + .w-md-66 { + width: 66% !important; + } + .w-md-75 { + width: 75% !important; + } + .w-md-100 { + width: 100% !important; + } +} +@media (min-width: 1280px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .float-lg-none { + float: none !important; + } + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .v-locale--is-rtl .float-lg-end { + float: left !important; + } + .v-locale--is-rtl .float-lg-start { + float: right !important; + } + .v-locale--is-ltr .float-lg-end { + float: right !important; + } + .v-locale--is-ltr .float-lg-start { + float: left !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-1-1 { + flex: 1 1 auto !important; + } + .flex-lg-1-0 { + flex: 1 0 auto !important; + } + .flex-lg-0-1 { + flex: 0 1 auto !important; + } + .flex-lg-0-0 { + flex: 0 0 auto !important; + } + .flex-lg-1-1-100 { + flex: 1 1 100% !important; + } + .flex-lg-1-0-100 { + flex: 1 0 100% !important; + } + .flex-lg-0-1-100 { + flex: 0 1 100% !important; + } + .flex-lg-0-0-100 { + flex: 0 0 100% !important; + } + .flex-lg-1-1-0 { + flex: 1 1 0 !important; + } + .flex-lg-1-0-0 { + flex: 1 0 0 !important; + } + .flex-lg-0-1-0 { + flex: 0 1 0 !important; + } + .flex-lg-0-0-0 { + flex: 0 0 0 !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-lg-start { + justify-content: flex-start !important; + } + .justify-lg-end { + justify-content: flex-end !important; + } + .justify-lg-center { + justify-content: center !important; + } + .justify-lg-space-between { + justify-content: space-between !important; + } + .justify-lg-space-around { + justify-content: space-around !important; + } + .justify-lg-space-evenly { + justify-content: space-evenly !important; + } + .align-lg-start { + align-items: flex-start !important; + } + .align-lg-end { + align-items: flex-end !important; + } + .align-lg-center { + align-items: center !important; + } + .align-lg-baseline { + align-items: baseline !important; + } + .align-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-space-between { + align-content: space-between !important; + } + .align-content-lg-space-around { + align-content: space-around !important; + } + .align-content-lg-space-evenly { + align-content: space-evenly !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-6 { + order: 6 !important; + } + .order-lg-7 { + order: 7 !important; + } + .order-lg-8 { + order: 8 !important; + } + .order-lg-9 { + order: 9 !important; + } + .order-lg-10 { + order: 10 !important; + } + .order-lg-11 { + order: 11 !important; + } + .order-lg-12 { + order: 12 !important; + } + .order-lg-last { + order: 13 !important; + } + .ga-lg-0 { + gap: 0px !important; + } + .ga-lg-1 { + gap: 4px !important; + } + .ga-lg-2 { + gap: 8px !important; + } + .ga-lg-3 { + gap: 12px !important; + } + .ga-lg-4 { + gap: 16px !important; + } + .ga-lg-5 { + gap: 20px !important; + } + .ga-lg-6 { + gap: 24px !important; + } + .ga-lg-7 { + gap: 28px !important; + } + .ga-lg-8 { + gap: 32px !important; + } + .ga-lg-9 { + gap: 36px !important; + } + .ga-lg-10 { + gap: 40px !important; + } + .ga-lg-11 { + gap: 44px !important; + } + .ga-lg-12 { + gap: 48px !important; + } + .ga-lg-13 { + gap: 52px !important; + } + .ga-lg-14 { + gap: 56px !important; + } + .ga-lg-15 { + gap: 60px !important; + } + .ga-lg-16 { + gap: 64px !important; + } + .ga-lg-auto { + gap: auto !important; + } + .gr-lg-0 { + row-gap: 0px !important; + } + .gr-lg-1 { + row-gap: 4px !important; + } + .gr-lg-2 { + row-gap: 8px !important; + } + .gr-lg-3 { + row-gap: 12px !important; + } + .gr-lg-4 { + row-gap: 16px !important; + } + .gr-lg-5 { + row-gap: 20px !important; + } + .gr-lg-6 { + row-gap: 24px !important; + } + .gr-lg-7 { + row-gap: 28px !important; + } + .gr-lg-8 { + row-gap: 32px !important; + } + .gr-lg-9 { + row-gap: 36px !important; + } + .gr-lg-10 { + row-gap: 40px !important; + } + .gr-lg-11 { + row-gap: 44px !important; + } + .gr-lg-12 { + row-gap: 48px !important; + } + .gr-lg-13 { + row-gap: 52px !important; + } + .gr-lg-14 { + row-gap: 56px !important; + } + .gr-lg-15 { + row-gap: 60px !important; + } + .gr-lg-16 { + row-gap: 64px !important; + } + .gr-lg-auto { + row-gap: auto !important; + } + .gc-lg-0 { + column-gap: 0px !important; + } + .gc-lg-1 { + column-gap: 4px !important; + } + .gc-lg-2 { + column-gap: 8px !important; + } + .gc-lg-3 { + column-gap: 12px !important; + } + .gc-lg-4 { + column-gap: 16px !important; + } + .gc-lg-5 { + column-gap: 20px !important; + } + .gc-lg-6 { + column-gap: 24px !important; + } + .gc-lg-7 { + column-gap: 28px !important; + } + .gc-lg-8 { + column-gap: 32px !important; + } + .gc-lg-9 { + column-gap: 36px !important; + } + .gc-lg-10 { + column-gap: 40px !important; + } + .gc-lg-11 { + column-gap: 44px !important; + } + .gc-lg-12 { + column-gap: 48px !important; + } + .gc-lg-13 { + column-gap: 52px !important; + } + .gc-lg-14 { + column-gap: 56px !important; + } + .gc-lg-15 { + column-gap: 60px !important; + } + .gc-lg-16 { + column-gap: 64px !important; + } + .gc-lg-auto { + column-gap: auto !important; + } + .ma-lg-0 { + margin: 0px !important; + } + .ma-lg-1 { + margin: 4px !important; + } + .ma-lg-2 { + margin: 8px !important; + } + .ma-lg-3 { + margin: 12px !important; + } + .ma-lg-4 { + margin: 16px !important; + } + .ma-lg-5 { + margin: 20px !important; + } + .ma-lg-6 { + margin: 24px !important; + } + .ma-lg-7 { + margin: 28px !important; + } + .ma-lg-8 { + margin: 32px !important; + } + .ma-lg-9 { + margin: 36px !important; + } + .ma-lg-10 { + margin: 40px !important; + } + .ma-lg-11 { + margin: 44px !important; + } + .ma-lg-12 { + margin: 48px !important; + } + .ma-lg-13 { + margin: 52px !important; + } + .ma-lg-14 { + margin: 56px !important; + } + .ma-lg-15 { + margin: 60px !important; + } + .ma-lg-16 { + margin: 64px !important; + } + .ma-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0px !important; + margin-left: 0px !important; + } + .mx-lg-1 { + margin-right: 4px !important; + margin-left: 4px !important; + } + .mx-lg-2 { + margin-right: 8px !important; + margin-left: 8px !important; + } + .mx-lg-3 { + margin-right: 12px !important; + margin-left: 12px !important; + } + .mx-lg-4 { + margin-right: 16px !important; + margin-left: 16px !important; + } + .mx-lg-5 { + margin-right: 20px !important; + margin-left: 20px !important; + } + .mx-lg-6 { + margin-right: 24px !important; + margin-left: 24px !important; + } + .mx-lg-7 { + margin-right: 28px !important; + margin-left: 28px !important; + } + .mx-lg-8 { + margin-right: 32px !important; + margin-left: 32px !important; + } + .mx-lg-9 { + margin-right: 36px !important; + margin-left: 36px !important; + } + .mx-lg-10 { + margin-right: 40px !important; + margin-left: 40px !important; + } + .mx-lg-11 { + margin-right: 44px !important; + margin-left: 44px !important; + } + .mx-lg-12 { + margin-right: 48px !important; + margin-left: 48px !important; + } + .mx-lg-13 { + margin-right: 52px !important; + margin-left: 52px !important; + } + .mx-lg-14 { + margin-right: 56px !important; + margin-left: 56px !important; + } + .mx-lg-15 { + margin-right: 60px !important; + margin-left: 60px !important; + } + .mx-lg-16 { + margin-right: 64px !important; + margin-left: 64px !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; + } + .my-lg-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; + } + .my-lg-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + .my-lg-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; + } + .my-lg-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; + } + .my-lg-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; + } + .my-lg-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; + } + .my-lg-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .my-lg-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; + } + .my-lg-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; + } + .my-lg-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; + } + .my-lg-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; + } + .my-lg-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; + } + .my-lg-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; + } + .my-lg-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; + } + .my-lg-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; + } + .my-lg-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0px !important; + } + .mt-lg-1 { + margin-top: 4px !important; + } + .mt-lg-2 { + margin-top: 8px !important; + } + .mt-lg-3 { + margin-top: 12px !important; + } + .mt-lg-4 { + margin-top: 16px !important; + } + .mt-lg-5 { + margin-top: 20px !important; + } + .mt-lg-6 { + margin-top: 24px !important; + } + .mt-lg-7 { + margin-top: 28px !important; + } + .mt-lg-8 { + margin-top: 32px !important; + } + .mt-lg-9 { + margin-top: 36px !important; + } + .mt-lg-10 { + margin-top: 40px !important; + } + .mt-lg-11 { + margin-top: 44px !important; + } + .mt-lg-12 { + margin-top: 48px !important; + } + .mt-lg-13 { + margin-top: 52px !important; + } + .mt-lg-14 { + margin-top: 56px !important; + } + .mt-lg-15 { + margin-top: 60px !important; + } + .mt-lg-16 { + margin-top: 64px !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .mr-lg-0 { + margin-right: 0px !important; + } + .mr-lg-1 { + margin-right: 4px !important; + } + .mr-lg-2 { + margin-right: 8px !important; + } + .mr-lg-3 { + margin-right: 12px !important; + } + .mr-lg-4 { + margin-right: 16px !important; + } + .mr-lg-5 { + margin-right: 20px !important; + } + .mr-lg-6 { + margin-right: 24px !important; + } + .mr-lg-7 { + margin-right: 28px !important; + } + .mr-lg-8 { + margin-right: 32px !important; + } + .mr-lg-9 { + margin-right: 36px !important; + } + .mr-lg-10 { + margin-right: 40px !important; + } + .mr-lg-11 { + margin-right: 44px !important; + } + .mr-lg-12 { + margin-right: 48px !important; + } + .mr-lg-13 { + margin-right: 52px !important; + } + .mr-lg-14 { + margin-right: 56px !important; + } + .mr-lg-15 { + margin-right: 60px !important; + } + .mr-lg-16 { + margin-right: 64px !important; + } + .mr-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0px !important; + } + .mb-lg-1 { + margin-bottom: 4px !important; + } + .mb-lg-2 { + margin-bottom: 8px !important; + } + .mb-lg-3 { + margin-bottom: 12px !important; + } + .mb-lg-4 { + margin-bottom: 16px !important; + } + .mb-lg-5 { + margin-bottom: 20px !important; + } + .mb-lg-6 { + margin-bottom: 24px !important; + } + .mb-lg-7 { + margin-bottom: 28px !important; + } + .mb-lg-8 { + margin-bottom: 32px !important; + } + .mb-lg-9 { + margin-bottom: 36px !important; + } + .mb-lg-10 { + margin-bottom: 40px !important; + } + .mb-lg-11 { + margin-bottom: 44px !important; + } + .mb-lg-12 { + margin-bottom: 48px !important; + } + .mb-lg-13 { + margin-bottom: 52px !important; + } + .mb-lg-14 { + margin-bottom: 56px !important; + } + .mb-lg-15 { + margin-bottom: 60px !important; + } + .mb-lg-16 { + margin-bottom: 64px !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-0 { + margin-left: 0px !important; + } + .ml-lg-1 { + margin-left: 4px !important; + } + .ml-lg-2 { + margin-left: 8px !important; + } + .ml-lg-3 { + margin-left: 12px !important; + } + .ml-lg-4 { + margin-left: 16px !important; + } + .ml-lg-5 { + margin-left: 20px !important; + } + .ml-lg-6 { + margin-left: 24px !important; + } + .ml-lg-7 { + margin-left: 28px !important; + } + .ml-lg-8 { + margin-left: 32px !important; + } + .ml-lg-9 { + margin-left: 36px !important; + } + .ml-lg-10 { + margin-left: 40px !important; + } + .ml-lg-11 { + margin-left: 44px !important; + } + .ml-lg-12 { + margin-left: 48px !important; + } + .ml-lg-13 { + margin-left: 52px !important; + } + .ml-lg-14 { + margin-left: 56px !important; + } + .ml-lg-15 { + margin-left: 60px !important; + } + .ml-lg-16 { + margin-left: 64px !important; + } + .ml-lg-auto { + margin-left: auto !important; + } + .ms-lg-0 { + margin-inline-start: 0px !important; + } + .ms-lg-1 { + margin-inline-start: 4px !important; + } + .ms-lg-2 { + margin-inline-start: 8px !important; + } + .ms-lg-3 { + margin-inline-start: 12px !important; + } + .ms-lg-4 { + margin-inline-start: 16px !important; + } + .ms-lg-5 { + margin-inline-start: 20px !important; + } + .ms-lg-6 { + margin-inline-start: 24px !important; + } + .ms-lg-7 { + margin-inline-start: 28px !important; + } + .ms-lg-8 { + margin-inline-start: 32px !important; + } + .ms-lg-9 { + margin-inline-start: 36px !important; + } + .ms-lg-10 { + margin-inline-start: 40px !important; + } + .ms-lg-11 { + margin-inline-start: 44px !important; + } + .ms-lg-12 { + margin-inline-start: 48px !important; + } + .ms-lg-13 { + margin-inline-start: 52px !important; + } + .ms-lg-14 { + margin-inline-start: 56px !important; + } + .ms-lg-15 { + margin-inline-start: 60px !important; + } + .ms-lg-16 { + margin-inline-start: 64px !important; + } + .ms-lg-auto { + margin-inline-start: auto !important; + } + .me-lg-0 { + margin-inline-end: 0px !important; + } + .me-lg-1 { + margin-inline-end: 4px !important; + } + .me-lg-2 { + margin-inline-end: 8px !important; + } + .me-lg-3 { + margin-inline-end: 12px !important; + } + .me-lg-4 { + margin-inline-end: 16px !important; + } + .me-lg-5 { + margin-inline-end: 20px !important; + } + .me-lg-6 { + margin-inline-end: 24px !important; + } + .me-lg-7 { + margin-inline-end: 28px !important; + } + .me-lg-8 { + margin-inline-end: 32px !important; + } + .me-lg-9 { + margin-inline-end: 36px !important; + } + .me-lg-10 { + margin-inline-end: 40px !important; + } + .me-lg-11 { + margin-inline-end: 44px !important; + } + .me-lg-12 { + margin-inline-end: 48px !important; + } + .me-lg-13 { + margin-inline-end: 52px !important; + } + .me-lg-14 { + margin-inline-end: 56px !important; + } + .me-lg-15 { + margin-inline-end: 60px !important; + } + .me-lg-16 { + margin-inline-end: 64px !important; + } + .me-lg-auto { + margin-inline-end: auto !important; + } + .ma-lg-n1 { + margin: -4px !important; + } + .ma-lg-n2 { + margin: -8px !important; + } + .ma-lg-n3 { + margin: -12px !important; + } + .ma-lg-n4 { + margin: -16px !important; + } + .ma-lg-n5 { + margin: -20px !important; + } + .ma-lg-n6 { + margin: -24px !important; + } + .ma-lg-n7 { + margin: -28px !important; + } + .ma-lg-n8 { + margin: -32px !important; + } + .ma-lg-n9 { + margin: -36px !important; + } + .ma-lg-n10 { + margin: -40px !important; + } + .ma-lg-n11 { + margin: -44px !important; + } + .ma-lg-n12 { + margin: -48px !important; + } + .ma-lg-n13 { + margin: -52px !important; + } + .ma-lg-n14 { + margin: -56px !important; + } + .ma-lg-n15 { + margin: -60px !important; + } + .ma-lg-n16 { + margin: -64px !important; + } + .mx-lg-n1 { + margin-right: -4px !important; + margin-left: -4px !important; + } + .mx-lg-n2 { + margin-right: -8px !important; + margin-left: -8px !important; + } + .mx-lg-n3 { + margin-right: -12px !important; + margin-left: -12px !important; + } + .mx-lg-n4 { + margin-right: -16px !important; + margin-left: -16px !important; + } + .mx-lg-n5 { + margin-right: -20px !important; + margin-left: -20px !important; + } + .mx-lg-n6 { + margin-right: -24px !important; + margin-left: -24px !important; + } + .mx-lg-n7 { + margin-right: -28px !important; + margin-left: -28px !important; + } + .mx-lg-n8 { + margin-right: -32px !important; + margin-left: -32px !important; + } + .mx-lg-n9 { + margin-right: -36px !important; + margin-left: -36px !important; + } + .mx-lg-n10 { + margin-right: -40px !important; + margin-left: -40px !important; + } + .mx-lg-n11 { + margin-right: -44px !important; + margin-left: -44px !important; + } + .mx-lg-n12 { + margin-right: -48px !important; + margin-left: -48px !important; + } + .mx-lg-n13 { + margin-right: -52px !important; + margin-left: -52px !important; + } + .mx-lg-n14 { + margin-right: -56px !important; + margin-left: -56px !important; + } + .mx-lg-n15 { + margin-right: -60px !important; + margin-left: -60px !important; + } + .mx-lg-n16 { + margin-right: -64px !important; + margin-left: -64px !important; + } + .my-lg-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; + } + .my-lg-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; + } + .my-lg-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; + } + .my-lg-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; + } + .my-lg-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; + } + .my-lg-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; + } + .my-lg-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; + } + .my-lg-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; + } + .my-lg-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; + } + .my-lg-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; + } + .my-lg-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; + } + .my-lg-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; + } + .my-lg-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; + } + .my-lg-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; + } + .my-lg-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; + } + .my-lg-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; + } + .mt-lg-n1 { + margin-top: -4px !important; + } + .mt-lg-n2 { + margin-top: -8px !important; + } + .mt-lg-n3 { + margin-top: -12px !important; + } + .mt-lg-n4 { + margin-top: -16px !important; + } + .mt-lg-n5 { + margin-top: -20px !important; + } + .mt-lg-n6 { + margin-top: -24px !important; + } + .mt-lg-n7 { + margin-top: -28px !important; + } + .mt-lg-n8 { + margin-top: -32px !important; + } + .mt-lg-n9 { + margin-top: -36px !important; + } + .mt-lg-n10 { + margin-top: -40px !important; + } + .mt-lg-n11 { + margin-top: -44px !important; + } + .mt-lg-n12 { + margin-top: -48px !important; + } + .mt-lg-n13 { + margin-top: -52px !important; + } + .mt-lg-n14 { + margin-top: -56px !important; + } + .mt-lg-n15 { + margin-top: -60px !important; + } + .mt-lg-n16 { + margin-top: -64px !important; + } + .mr-lg-n1 { + margin-right: -4px !important; + } + .mr-lg-n2 { + margin-right: -8px !important; + } + .mr-lg-n3 { + margin-right: -12px !important; + } + .mr-lg-n4 { + margin-right: -16px !important; + } + .mr-lg-n5 { + margin-right: -20px !important; + } + .mr-lg-n6 { + margin-right: -24px !important; + } + .mr-lg-n7 { + margin-right: -28px !important; + } + .mr-lg-n8 { + margin-right: -32px !important; + } + .mr-lg-n9 { + margin-right: -36px !important; + } + .mr-lg-n10 { + margin-right: -40px !important; + } + .mr-lg-n11 { + margin-right: -44px !important; + } + .mr-lg-n12 { + margin-right: -48px !important; + } + .mr-lg-n13 { + margin-right: -52px !important; + } + .mr-lg-n14 { + margin-right: -56px !important; + } + .mr-lg-n15 { + margin-right: -60px !important; + } + .mr-lg-n16 { + margin-right: -64px !important; + } + .mb-lg-n1 { + margin-bottom: -4px !important; + } + .mb-lg-n2 { + margin-bottom: -8px !important; + } + .mb-lg-n3 { + margin-bottom: -12px !important; + } + .mb-lg-n4 { + margin-bottom: -16px !important; + } + .mb-lg-n5 { + margin-bottom: -20px !important; + } + .mb-lg-n6 { + margin-bottom: -24px !important; + } + .mb-lg-n7 { + margin-bottom: -28px !important; + } + .mb-lg-n8 { + margin-bottom: -32px !important; + } + .mb-lg-n9 { + margin-bottom: -36px !important; + } + .mb-lg-n10 { + margin-bottom: -40px !important; + } + .mb-lg-n11 { + margin-bottom: -44px !important; + } + .mb-lg-n12 { + margin-bottom: -48px !important; + } + .mb-lg-n13 { + margin-bottom: -52px !important; + } + .mb-lg-n14 { + margin-bottom: -56px !important; + } + .mb-lg-n15 { + margin-bottom: -60px !important; + } + .mb-lg-n16 { + margin-bottom: -64px !important; + } + .ml-lg-n1 { + margin-left: -4px !important; + } + .ml-lg-n2 { + margin-left: -8px !important; + } + .ml-lg-n3 { + margin-left: -12px !important; + } + .ml-lg-n4 { + margin-left: -16px !important; + } + .ml-lg-n5 { + margin-left: -20px !important; + } + .ml-lg-n6 { + margin-left: -24px !important; + } + .ml-lg-n7 { + margin-left: -28px !important; + } + .ml-lg-n8 { + margin-left: -32px !important; + } + .ml-lg-n9 { + margin-left: -36px !important; + } + .ml-lg-n10 { + margin-left: -40px !important; + } + .ml-lg-n11 { + margin-left: -44px !important; + } + .ml-lg-n12 { + margin-left: -48px !important; + } + .ml-lg-n13 { + margin-left: -52px !important; + } + .ml-lg-n14 { + margin-left: -56px !important; + } + .ml-lg-n15 { + margin-left: -60px !important; + } + .ml-lg-n16 { + margin-left: -64px !important; + } + .ms-lg-n1 { + margin-inline-start: -4px !important; + } + .ms-lg-n2 { + margin-inline-start: -8px !important; + } + .ms-lg-n3 { + margin-inline-start: -12px !important; + } + .ms-lg-n4 { + margin-inline-start: -16px !important; + } + .ms-lg-n5 { + margin-inline-start: -20px !important; + } + .ms-lg-n6 { + margin-inline-start: -24px !important; + } + .ms-lg-n7 { + margin-inline-start: -28px !important; + } + .ms-lg-n8 { + margin-inline-start: -32px !important; + } + .ms-lg-n9 { + margin-inline-start: -36px !important; + } + .ms-lg-n10 { + margin-inline-start: -40px !important; + } + .ms-lg-n11 { + margin-inline-start: -44px !important; + } + .ms-lg-n12 { + margin-inline-start: -48px !important; + } + .ms-lg-n13 { + margin-inline-start: -52px !important; + } + .ms-lg-n14 { + margin-inline-start: -56px !important; + } + .ms-lg-n15 { + margin-inline-start: -60px !important; + } + .ms-lg-n16 { + margin-inline-start: -64px !important; + } + .me-lg-n1 { + margin-inline-end: -4px !important; + } + .me-lg-n2 { + margin-inline-end: -8px !important; + } + .me-lg-n3 { + margin-inline-end: -12px !important; + } + .me-lg-n4 { + margin-inline-end: -16px !important; + } + .me-lg-n5 { + margin-inline-end: -20px !important; + } + .me-lg-n6 { + margin-inline-end: -24px !important; + } + .me-lg-n7 { + margin-inline-end: -28px !important; + } + .me-lg-n8 { + margin-inline-end: -32px !important; + } + .me-lg-n9 { + margin-inline-end: -36px !important; + } + .me-lg-n10 { + margin-inline-end: -40px !important; + } + .me-lg-n11 { + margin-inline-end: -44px !important; + } + .me-lg-n12 { + margin-inline-end: -48px !important; + } + .me-lg-n13 { + margin-inline-end: -52px !important; + } + .me-lg-n14 { + margin-inline-end: -56px !important; + } + .me-lg-n15 { + margin-inline-end: -60px !important; + } + .me-lg-n16 { + margin-inline-end: -64px !important; + } + .pa-lg-0 { + padding: 0px !important; + } + .pa-lg-1 { + padding: 4px !important; + } + .pa-lg-2 { + padding: 8px !important; + } + .pa-lg-3 { + padding: 12px !important; + } + .pa-lg-4 { + padding: 16px !important; + } + .pa-lg-5 { + padding: 20px !important; + } + .pa-lg-6 { + padding: 24px !important; + } + .pa-lg-7 { + padding: 28px !important; + } + .pa-lg-8 { + padding: 32px !important; + } + .pa-lg-9 { + padding: 36px !important; + } + .pa-lg-10 { + padding: 40px !important; + } + .pa-lg-11 { + padding: 44px !important; + } + .pa-lg-12 { + padding: 48px !important; + } + .pa-lg-13 { + padding: 52px !important; + } + .pa-lg-14 { + padding: 56px !important; + } + .pa-lg-15 { + padding: 60px !important; + } + .pa-lg-16 { + padding: 64px !important; + } + .px-lg-0 { + padding-right: 0px !important; + padding-left: 0px !important; + } + .px-lg-1 { + padding-right: 4px !important; + padding-left: 4px !important; + } + .px-lg-2 { + padding-right: 8px !important; + padding-left: 8px !important; + } + .px-lg-3 { + padding-right: 12px !important; + padding-left: 12px !important; + } + .px-lg-4 { + padding-right: 16px !important; + padding-left: 16px !important; + } + .px-lg-5 { + padding-right: 20px !important; + padding-left: 20px !important; + } + .px-lg-6 { + padding-right: 24px !important; + padding-left: 24px !important; + } + .px-lg-7 { + padding-right: 28px !important; + padding-left: 28px !important; + } + .px-lg-8 { + padding-right: 32px !important; + padding-left: 32px !important; + } + .px-lg-9 { + padding-right: 36px !important; + padding-left: 36px !important; + } + .px-lg-10 { + padding-right: 40px !important; + padding-left: 40px !important; + } + .px-lg-11 { + padding-right: 44px !important; + padding-left: 44px !important; + } + .px-lg-12 { + padding-right: 48px !important; + padding-left: 48px !important; + } + .px-lg-13 { + padding-right: 52px !important; + padding-left: 52px !important; + } + .px-lg-14 { + padding-right: 56px !important; + padding-left: 56px !important; + } + .px-lg-15 { + padding-right: 60px !important; + padding-left: 60px !important; + } + .px-lg-16 { + padding-right: 64px !important; + padding-left: 64px !important; + } + .py-lg-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; + } + .py-lg-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; + } + .py-lg-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + .py-lg-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; + } + .py-lg-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; + } + .py-lg-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; + } + .py-lg-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; + } + .py-lg-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .py-lg-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; + } + .py-lg-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; + } + .py-lg-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .py-lg-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; + } + .py-lg-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; + } + .py-lg-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; + } + .py-lg-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; + } + .py-lg-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .py-lg-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; + } + .pt-lg-0 { + padding-top: 0px !important; + } + .pt-lg-1 { + padding-top: 4px !important; + } + .pt-lg-2 { + padding-top: 8px !important; + } + .pt-lg-3 { + padding-top: 12px !important; + } + .pt-lg-4 { + padding-top: 16px !important; + } + .pt-lg-5 { + padding-top: 20px !important; + } + .pt-lg-6 { + padding-top: 24px !important; + } + .pt-lg-7 { + padding-top: 28px !important; + } + .pt-lg-8 { + padding-top: 32px !important; + } + .pt-lg-9 { + padding-top: 36px !important; + } + .pt-lg-10 { + padding-top: 40px !important; + } + .pt-lg-11 { + padding-top: 44px !important; + } + .pt-lg-12 { + padding-top: 48px !important; + } + .pt-lg-13 { + padding-top: 52px !important; + } + .pt-lg-14 { + padding-top: 56px !important; + } + .pt-lg-15 { + padding-top: 60px !important; + } + .pt-lg-16 { + padding-top: 64px !important; + } + .pr-lg-0 { + padding-right: 0px !important; + } + .pr-lg-1 { + padding-right: 4px !important; + } + .pr-lg-2 { + padding-right: 8px !important; + } + .pr-lg-3 { + padding-right: 12px !important; + } + .pr-lg-4 { + padding-right: 16px !important; + } + .pr-lg-5 { + padding-right: 20px !important; + } + .pr-lg-6 { + padding-right: 24px !important; + } + .pr-lg-7 { + padding-right: 28px !important; + } + .pr-lg-8 { + padding-right: 32px !important; + } + .pr-lg-9 { + padding-right: 36px !important; + } + .pr-lg-10 { + padding-right: 40px !important; + } + .pr-lg-11 { + padding-right: 44px !important; + } + .pr-lg-12 { + padding-right: 48px !important; + } + .pr-lg-13 { + padding-right: 52px !important; + } + .pr-lg-14 { + padding-right: 56px !important; + } + .pr-lg-15 { + padding-right: 60px !important; + } + .pr-lg-16 { + padding-right: 64px !important; + } + .pb-lg-0 { + padding-bottom: 0px !important; + } + .pb-lg-1 { + padding-bottom: 4px !important; + } + .pb-lg-2 { + padding-bottom: 8px !important; + } + .pb-lg-3 { + padding-bottom: 12px !important; + } + .pb-lg-4 { + padding-bottom: 16px !important; + } + .pb-lg-5 { + padding-bottom: 20px !important; + } + .pb-lg-6 { + padding-bottom: 24px !important; + } + .pb-lg-7 { + padding-bottom: 28px !important; + } + .pb-lg-8 { + padding-bottom: 32px !important; + } + .pb-lg-9 { + padding-bottom: 36px !important; + } + .pb-lg-10 { + padding-bottom: 40px !important; + } + .pb-lg-11 { + padding-bottom: 44px !important; + } + .pb-lg-12 { + padding-bottom: 48px !important; + } + .pb-lg-13 { + padding-bottom: 52px !important; + } + .pb-lg-14 { + padding-bottom: 56px !important; + } + .pb-lg-15 { + padding-bottom: 60px !important; + } + .pb-lg-16 { + padding-bottom: 64px !important; + } + .pl-lg-0 { + padding-left: 0px !important; + } + .pl-lg-1 { + padding-left: 4px !important; + } + .pl-lg-2 { + padding-left: 8px !important; + } + .pl-lg-3 { + padding-left: 12px !important; + } + .pl-lg-4 { + padding-left: 16px !important; + } + .pl-lg-5 { + padding-left: 20px !important; + } + .pl-lg-6 { + padding-left: 24px !important; + } + .pl-lg-7 { + padding-left: 28px !important; + } + .pl-lg-8 { + padding-left: 32px !important; + } + .pl-lg-9 { + padding-left: 36px !important; + } + .pl-lg-10 { + padding-left: 40px !important; + } + .pl-lg-11 { + padding-left: 44px !important; + } + .pl-lg-12 { + padding-left: 48px !important; + } + .pl-lg-13 { + padding-left: 52px !important; + } + .pl-lg-14 { + padding-left: 56px !important; + } + .pl-lg-15 { + padding-left: 60px !important; + } + .pl-lg-16 { + padding-left: 64px !important; + } + .ps-lg-0 { + padding-inline-start: 0px !important; + } + .ps-lg-1 { + padding-inline-start: 4px !important; + } + .ps-lg-2 { + padding-inline-start: 8px !important; + } + .ps-lg-3 { + padding-inline-start: 12px !important; + } + .ps-lg-4 { + padding-inline-start: 16px !important; + } + .ps-lg-5 { + padding-inline-start: 20px !important; + } + .ps-lg-6 { + padding-inline-start: 24px !important; + } + .ps-lg-7 { + padding-inline-start: 28px !important; + } + .ps-lg-8 { + padding-inline-start: 32px !important; + } + .ps-lg-9 { + padding-inline-start: 36px !important; + } + .ps-lg-10 { + padding-inline-start: 40px !important; + } + .ps-lg-11 { + padding-inline-start: 44px !important; + } + .ps-lg-12 { + padding-inline-start: 48px !important; + } + .ps-lg-13 { + padding-inline-start: 52px !important; + } + .ps-lg-14 { + padding-inline-start: 56px !important; + } + .ps-lg-15 { + padding-inline-start: 60px !important; + } + .ps-lg-16 { + padding-inline-start: 64px !important; + } + .pe-lg-0 { + padding-inline-end: 0px !important; + } + .pe-lg-1 { + padding-inline-end: 4px !important; + } + .pe-lg-2 { + padding-inline-end: 8px !important; + } + .pe-lg-3 { + padding-inline-end: 12px !important; + } + .pe-lg-4 { + padding-inline-end: 16px !important; + } + .pe-lg-5 { + padding-inline-end: 20px !important; + } + .pe-lg-6 { + padding-inline-end: 24px !important; + } + .pe-lg-7 { + padding-inline-end: 28px !important; + } + .pe-lg-8 { + padding-inline-end: 32px !important; + } + .pe-lg-9 { + padding-inline-end: 36px !important; + } + .pe-lg-10 { + padding-inline-end: 40px !important; + } + .pe-lg-11 { + padding-inline-end: 44px !important; + } + .pe-lg-12 { + padding-inline-end: 48px !important; + } + .pe-lg-13 { + padding-inline-end: 52px !important; + } + .pe-lg-14 { + padding-inline-end: 56px !important; + } + .pe-lg-15 { + padding-inline-end: 60px !important; + } + .pe-lg-16 { + padding-inline-end: 64px !important; + } + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } + .text-lg-justify { + text-align: justify !important; + } + .text-lg-start { + text-align: start !important; + } + .text-lg-end { + text-align: end !important; + } + .text-lg-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-lg-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; + } + .h-lg-auto { + height: auto !important; + } + .h-lg-screen { + height: 100vh !important; + } + .h-lg-0 { + height: 0 !important; + } + .h-lg-25 { + height: 25% !important; + } + .h-lg-50 { + height: 50% !important; + } + .h-lg-75 { + height: 75% !important; + } + .h-lg-100 { + height: 100% !important; + } + .w-lg-auto { + width: auto !important; + } + .w-lg-0 { + width: 0 !important; + } + .w-lg-25 { + width: 25% !important; + } + .w-lg-33 { + width: 33% !important; + } + .w-lg-50 { + width: 50% !important; + } + .w-lg-66 { + width: 66% !important; + } + .w-lg-75 { + width: 75% !important; + } + .w-lg-100 { + width: 100% !important; + } +} +@media (min-width: 1920px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .float-xl-none { + float: none !important; + } + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .v-locale--is-rtl .float-xl-end { + float: left !important; + } + .v-locale--is-rtl .float-xl-start { + float: right !important; + } + .v-locale--is-ltr .float-xl-end { + float: right !important; + } + .v-locale--is-ltr .float-xl-start { + float: left !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-1-1 { + flex: 1 1 auto !important; + } + .flex-xl-1-0 { + flex: 1 0 auto !important; + } + .flex-xl-0-1 { + flex: 0 1 auto !important; + } + .flex-xl-0-0 { + flex: 0 0 auto !important; + } + .flex-xl-1-1-100 { + flex: 1 1 100% !important; + } + .flex-xl-1-0-100 { + flex: 1 0 100% !important; + } + .flex-xl-0-1-100 { + flex: 0 1 100% !important; + } + .flex-xl-0-0-100 { + flex: 0 0 100% !important; + } + .flex-xl-1-1-0 { + flex: 1 1 0 !important; + } + .flex-xl-1-0-0 { + flex: 1 0 0 !important; + } + .flex-xl-0-1-0 { + flex: 0 1 0 !important; + } + .flex-xl-0-0-0 { + flex: 0 0 0 !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-xl-start { + justify-content: flex-start !important; + } + .justify-xl-end { + justify-content: flex-end !important; + } + .justify-xl-center { + justify-content: center !important; + } + .justify-xl-space-between { + justify-content: space-between !important; + } + .justify-xl-space-around { + justify-content: space-around !important; + } + .justify-xl-space-evenly { + justify-content: space-evenly !important; + } + .align-xl-start { + align-items: flex-start !important; + } + .align-xl-end { + align-items: flex-end !important; + } + .align-xl-center { + align-items: center !important; + } + .align-xl-baseline { + align-items: baseline !important; + } + .align-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-space-between { + align-content: space-between !important; + } + .align-content-xl-space-around { + align-content: space-around !important; + } + .align-content-xl-space-evenly { + align-content: space-evenly !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-6 { + order: 6 !important; + } + .order-xl-7 { + order: 7 !important; + } + .order-xl-8 { + order: 8 !important; + } + .order-xl-9 { + order: 9 !important; + } + .order-xl-10 { + order: 10 !important; + } + .order-xl-11 { + order: 11 !important; + } + .order-xl-12 { + order: 12 !important; + } + .order-xl-last { + order: 13 !important; + } + .ga-xl-0 { + gap: 0px !important; + } + .ga-xl-1 { + gap: 4px !important; + } + .ga-xl-2 { + gap: 8px !important; + } + .ga-xl-3 { + gap: 12px !important; + } + .ga-xl-4 { + gap: 16px !important; + } + .ga-xl-5 { + gap: 20px !important; + } + .ga-xl-6 { + gap: 24px !important; + } + .ga-xl-7 { + gap: 28px !important; + } + .ga-xl-8 { + gap: 32px !important; + } + .ga-xl-9 { + gap: 36px !important; + } + .ga-xl-10 { + gap: 40px !important; + } + .ga-xl-11 { + gap: 44px !important; + } + .ga-xl-12 { + gap: 48px !important; + } + .ga-xl-13 { + gap: 52px !important; + } + .ga-xl-14 { + gap: 56px !important; + } + .ga-xl-15 { + gap: 60px !important; + } + .ga-xl-16 { + gap: 64px !important; + } + .ga-xl-auto { + gap: auto !important; + } + .gr-xl-0 { + row-gap: 0px !important; + } + .gr-xl-1 { + row-gap: 4px !important; + } + .gr-xl-2 { + row-gap: 8px !important; + } + .gr-xl-3 { + row-gap: 12px !important; + } + .gr-xl-4 { + row-gap: 16px !important; + } + .gr-xl-5 { + row-gap: 20px !important; + } + .gr-xl-6 { + row-gap: 24px !important; + } + .gr-xl-7 { + row-gap: 28px !important; + } + .gr-xl-8 { + row-gap: 32px !important; + } + .gr-xl-9 { + row-gap: 36px !important; + } + .gr-xl-10 { + row-gap: 40px !important; + } + .gr-xl-11 { + row-gap: 44px !important; + } + .gr-xl-12 { + row-gap: 48px !important; + } + .gr-xl-13 { + row-gap: 52px !important; + } + .gr-xl-14 { + row-gap: 56px !important; + } + .gr-xl-15 { + row-gap: 60px !important; + } + .gr-xl-16 { + row-gap: 64px !important; + } + .gr-xl-auto { + row-gap: auto !important; + } + .gc-xl-0 { + column-gap: 0px !important; + } + .gc-xl-1 { + column-gap: 4px !important; + } + .gc-xl-2 { + column-gap: 8px !important; + } + .gc-xl-3 { + column-gap: 12px !important; + } + .gc-xl-4 { + column-gap: 16px !important; + } + .gc-xl-5 { + column-gap: 20px !important; + } + .gc-xl-6 { + column-gap: 24px !important; + } + .gc-xl-7 { + column-gap: 28px !important; + } + .gc-xl-8 { + column-gap: 32px !important; + } + .gc-xl-9 { + column-gap: 36px !important; + } + .gc-xl-10 { + column-gap: 40px !important; + } + .gc-xl-11 { + column-gap: 44px !important; + } + .gc-xl-12 { + column-gap: 48px !important; + } + .gc-xl-13 { + column-gap: 52px !important; + } + .gc-xl-14 { + column-gap: 56px !important; + } + .gc-xl-15 { + column-gap: 60px !important; + } + .gc-xl-16 { + column-gap: 64px !important; + } + .gc-xl-auto { + column-gap: auto !important; + } + .ma-xl-0 { + margin: 0px !important; + } + .ma-xl-1 { + margin: 4px !important; + } + .ma-xl-2 { + margin: 8px !important; + } + .ma-xl-3 { + margin: 12px !important; + } + .ma-xl-4 { + margin: 16px !important; + } + .ma-xl-5 { + margin: 20px !important; + } + .ma-xl-6 { + margin: 24px !important; + } + .ma-xl-7 { + margin: 28px !important; + } + .ma-xl-8 { + margin: 32px !important; + } + .ma-xl-9 { + margin: 36px !important; + } + .ma-xl-10 { + margin: 40px !important; + } + .ma-xl-11 { + margin: 44px !important; + } + .ma-xl-12 { + margin: 48px !important; + } + .ma-xl-13 { + margin: 52px !important; + } + .ma-xl-14 { + margin: 56px !important; + } + .ma-xl-15 { + margin: 60px !important; + } + .ma-xl-16 { + margin: 64px !important; + } + .ma-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0px !important; + margin-left: 0px !important; + } + .mx-xl-1 { + margin-right: 4px !important; + margin-left: 4px !important; + } + .mx-xl-2 { + margin-right: 8px !important; + margin-left: 8px !important; + } + .mx-xl-3 { + margin-right: 12px !important; + margin-left: 12px !important; + } + .mx-xl-4 { + margin-right: 16px !important; + margin-left: 16px !important; + } + .mx-xl-5 { + margin-right: 20px !important; + margin-left: 20px !important; + } + .mx-xl-6 { + margin-right: 24px !important; + margin-left: 24px !important; + } + .mx-xl-7 { + margin-right: 28px !important; + margin-left: 28px !important; + } + .mx-xl-8 { + margin-right: 32px !important; + margin-left: 32px !important; + } + .mx-xl-9 { + margin-right: 36px !important; + margin-left: 36px !important; + } + .mx-xl-10 { + margin-right: 40px !important; + margin-left: 40px !important; + } + .mx-xl-11 { + margin-right: 44px !important; + margin-left: 44px !important; + } + .mx-xl-12 { + margin-right: 48px !important; + margin-left: 48px !important; + } + .mx-xl-13 { + margin-right: 52px !important; + margin-left: 52px !important; + } + .mx-xl-14 { + margin-right: 56px !important; + margin-left: 56px !important; + } + .mx-xl-15 { + margin-right: 60px !important; + margin-left: 60px !important; + } + .mx-xl-16 { + margin-right: 64px !important; + margin-left: 64px !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; + } + .my-xl-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; + } + .my-xl-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + .my-xl-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; + } + .my-xl-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; + } + .my-xl-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; + } + .my-xl-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; + } + .my-xl-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .my-xl-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; + } + .my-xl-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; + } + .my-xl-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; + } + .my-xl-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; + } + .my-xl-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; + } + .my-xl-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; + } + .my-xl-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; + } + .my-xl-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; + } + .my-xl-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0px !important; + } + .mt-xl-1 { + margin-top: 4px !important; + } + .mt-xl-2 { + margin-top: 8px !important; + } + .mt-xl-3 { + margin-top: 12px !important; + } + .mt-xl-4 { + margin-top: 16px !important; + } + .mt-xl-5 { + margin-top: 20px !important; + } + .mt-xl-6 { + margin-top: 24px !important; + } + .mt-xl-7 { + margin-top: 28px !important; + } + .mt-xl-8 { + margin-top: 32px !important; + } + .mt-xl-9 { + margin-top: 36px !important; + } + .mt-xl-10 { + margin-top: 40px !important; + } + .mt-xl-11 { + margin-top: 44px !important; + } + .mt-xl-12 { + margin-top: 48px !important; + } + .mt-xl-13 { + margin-top: 52px !important; + } + .mt-xl-14 { + margin-top: 56px !important; + } + .mt-xl-15 { + margin-top: 60px !important; + } + .mt-xl-16 { + margin-top: 64px !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .mr-xl-0 { + margin-right: 0px !important; + } + .mr-xl-1 { + margin-right: 4px !important; + } + .mr-xl-2 { + margin-right: 8px !important; + } + .mr-xl-3 { + margin-right: 12px !important; + } + .mr-xl-4 { + margin-right: 16px !important; + } + .mr-xl-5 { + margin-right: 20px !important; + } + .mr-xl-6 { + margin-right: 24px !important; + } + .mr-xl-7 { + margin-right: 28px !important; + } + .mr-xl-8 { + margin-right: 32px !important; + } + .mr-xl-9 { + margin-right: 36px !important; + } + .mr-xl-10 { + margin-right: 40px !important; + } + .mr-xl-11 { + margin-right: 44px !important; + } + .mr-xl-12 { + margin-right: 48px !important; + } + .mr-xl-13 { + margin-right: 52px !important; + } + .mr-xl-14 { + margin-right: 56px !important; + } + .mr-xl-15 { + margin-right: 60px !important; + } + .mr-xl-16 { + margin-right: 64px !important; + } + .mr-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0px !important; + } + .mb-xl-1 { + margin-bottom: 4px !important; + } + .mb-xl-2 { + margin-bottom: 8px !important; + } + .mb-xl-3 { + margin-bottom: 12px !important; + } + .mb-xl-4 { + margin-bottom: 16px !important; + } + .mb-xl-5 { + margin-bottom: 20px !important; + } + .mb-xl-6 { + margin-bottom: 24px !important; + } + .mb-xl-7 { + margin-bottom: 28px !important; + } + .mb-xl-8 { + margin-bottom: 32px !important; + } + .mb-xl-9 { + margin-bottom: 36px !important; + } + .mb-xl-10 { + margin-bottom: 40px !important; + } + .mb-xl-11 { + margin-bottom: 44px !important; + } + .mb-xl-12 { + margin-bottom: 48px !important; + } + .mb-xl-13 { + margin-bottom: 52px !important; + } + .mb-xl-14 { + margin-bottom: 56px !important; + } + .mb-xl-15 { + margin-bottom: 60px !important; + } + .mb-xl-16 { + margin-bottom: 64px !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-0 { + margin-left: 0px !important; + } + .ml-xl-1 { + margin-left: 4px !important; + } + .ml-xl-2 { + margin-left: 8px !important; + } + .ml-xl-3 { + margin-left: 12px !important; + } + .ml-xl-4 { + margin-left: 16px !important; + } + .ml-xl-5 { + margin-left: 20px !important; + } + .ml-xl-6 { + margin-left: 24px !important; + } + .ml-xl-7 { + margin-left: 28px !important; + } + .ml-xl-8 { + margin-left: 32px !important; + } + .ml-xl-9 { + margin-left: 36px !important; + } + .ml-xl-10 { + margin-left: 40px !important; + } + .ml-xl-11 { + margin-left: 44px !important; + } + .ml-xl-12 { + margin-left: 48px !important; + } + .ml-xl-13 { + margin-left: 52px !important; + } + .ml-xl-14 { + margin-left: 56px !important; + } + .ml-xl-15 { + margin-left: 60px !important; + } + .ml-xl-16 { + margin-left: 64px !important; + } + .ml-xl-auto { + margin-left: auto !important; + } + .ms-xl-0 { + margin-inline-start: 0px !important; + } + .ms-xl-1 { + margin-inline-start: 4px !important; + } + .ms-xl-2 { + margin-inline-start: 8px !important; + } + .ms-xl-3 { + margin-inline-start: 12px !important; + } + .ms-xl-4 { + margin-inline-start: 16px !important; + } + .ms-xl-5 { + margin-inline-start: 20px !important; + } + .ms-xl-6 { + margin-inline-start: 24px !important; + } + .ms-xl-7 { + margin-inline-start: 28px !important; + } + .ms-xl-8 { + margin-inline-start: 32px !important; + } + .ms-xl-9 { + margin-inline-start: 36px !important; + } + .ms-xl-10 { + margin-inline-start: 40px !important; + } + .ms-xl-11 { + margin-inline-start: 44px !important; + } + .ms-xl-12 { + margin-inline-start: 48px !important; + } + .ms-xl-13 { + margin-inline-start: 52px !important; + } + .ms-xl-14 { + margin-inline-start: 56px !important; + } + .ms-xl-15 { + margin-inline-start: 60px !important; + } + .ms-xl-16 { + margin-inline-start: 64px !important; + } + .ms-xl-auto { + margin-inline-start: auto !important; + } + .me-xl-0 { + margin-inline-end: 0px !important; + } + .me-xl-1 { + margin-inline-end: 4px !important; + } + .me-xl-2 { + margin-inline-end: 8px !important; + } + .me-xl-3 { + margin-inline-end: 12px !important; + } + .me-xl-4 { + margin-inline-end: 16px !important; + } + .me-xl-5 { + margin-inline-end: 20px !important; + } + .me-xl-6 { + margin-inline-end: 24px !important; + } + .me-xl-7 { + margin-inline-end: 28px !important; + } + .me-xl-8 { + margin-inline-end: 32px !important; + } + .me-xl-9 { + margin-inline-end: 36px !important; + } + .me-xl-10 { + margin-inline-end: 40px !important; + } + .me-xl-11 { + margin-inline-end: 44px !important; + } + .me-xl-12 { + margin-inline-end: 48px !important; + } + .me-xl-13 { + margin-inline-end: 52px !important; + } + .me-xl-14 { + margin-inline-end: 56px !important; + } + .me-xl-15 { + margin-inline-end: 60px !important; + } + .me-xl-16 { + margin-inline-end: 64px !important; + } + .me-xl-auto { + margin-inline-end: auto !important; + } + .ma-xl-n1 { + margin: -4px !important; + } + .ma-xl-n2 { + margin: -8px !important; + } + .ma-xl-n3 { + margin: -12px !important; + } + .ma-xl-n4 { + margin: -16px !important; + } + .ma-xl-n5 { + margin: -20px !important; + } + .ma-xl-n6 { + margin: -24px !important; + } + .ma-xl-n7 { + margin: -28px !important; + } + .ma-xl-n8 { + margin: -32px !important; + } + .ma-xl-n9 { + margin: -36px !important; + } + .ma-xl-n10 { + margin: -40px !important; + } + .ma-xl-n11 { + margin: -44px !important; + } + .ma-xl-n12 { + margin: -48px !important; + } + .ma-xl-n13 { + margin: -52px !important; + } + .ma-xl-n14 { + margin: -56px !important; + } + .ma-xl-n15 { + margin: -60px !important; + } + .ma-xl-n16 { + margin: -64px !important; + } + .mx-xl-n1 { + margin-right: -4px !important; + margin-left: -4px !important; + } + .mx-xl-n2 { + margin-right: -8px !important; + margin-left: -8px !important; + } + .mx-xl-n3 { + margin-right: -12px !important; + margin-left: -12px !important; + } + .mx-xl-n4 { + margin-right: -16px !important; + margin-left: -16px !important; + } + .mx-xl-n5 { + margin-right: -20px !important; + margin-left: -20px !important; + } + .mx-xl-n6 { + margin-right: -24px !important; + margin-left: -24px !important; + } + .mx-xl-n7 { + margin-right: -28px !important; + margin-left: -28px !important; + } + .mx-xl-n8 { + margin-right: -32px !important; + margin-left: -32px !important; + } + .mx-xl-n9 { + margin-right: -36px !important; + margin-left: -36px !important; + } + .mx-xl-n10 { + margin-right: -40px !important; + margin-left: -40px !important; + } + .mx-xl-n11 { + margin-right: -44px !important; + margin-left: -44px !important; + } + .mx-xl-n12 { + margin-right: -48px !important; + margin-left: -48px !important; + } + .mx-xl-n13 { + margin-right: -52px !important; + margin-left: -52px !important; + } + .mx-xl-n14 { + margin-right: -56px !important; + margin-left: -56px !important; + } + .mx-xl-n15 { + margin-right: -60px !important; + margin-left: -60px !important; + } + .mx-xl-n16 { + margin-right: -64px !important; + margin-left: -64px !important; + } + .my-xl-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; + } + .my-xl-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; + } + .my-xl-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; + } + .my-xl-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; + } + .my-xl-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; + } + .my-xl-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; + } + .my-xl-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; + } + .my-xl-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; + } + .my-xl-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; + } + .my-xl-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; + } + .my-xl-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; + } + .my-xl-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; + } + .my-xl-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; + } + .my-xl-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; + } + .my-xl-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; + } + .my-xl-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; + } + .mt-xl-n1 { + margin-top: -4px !important; + } + .mt-xl-n2 { + margin-top: -8px !important; + } + .mt-xl-n3 { + margin-top: -12px !important; + } + .mt-xl-n4 { + margin-top: -16px !important; + } + .mt-xl-n5 { + margin-top: -20px !important; + } + .mt-xl-n6 { + margin-top: -24px !important; + } + .mt-xl-n7 { + margin-top: -28px !important; + } + .mt-xl-n8 { + margin-top: -32px !important; + } + .mt-xl-n9 { + margin-top: -36px !important; + } + .mt-xl-n10 { + margin-top: -40px !important; + } + .mt-xl-n11 { + margin-top: -44px !important; + } + .mt-xl-n12 { + margin-top: -48px !important; + } + .mt-xl-n13 { + margin-top: -52px !important; + } + .mt-xl-n14 { + margin-top: -56px !important; + } + .mt-xl-n15 { + margin-top: -60px !important; + } + .mt-xl-n16 { + margin-top: -64px !important; + } + .mr-xl-n1 { + margin-right: -4px !important; + } + .mr-xl-n2 { + margin-right: -8px !important; + } + .mr-xl-n3 { + margin-right: -12px !important; + } + .mr-xl-n4 { + margin-right: -16px !important; + } + .mr-xl-n5 { + margin-right: -20px !important; + } + .mr-xl-n6 { + margin-right: -24px !important; + } + .mr-xl-n7 { + margin-right: -28px !important; + } + .mr-xl-n8 { + margin-right: -32px !important; + } + .mr-xl-n9 { + margin-right: -36px !important; + } + .mr-xl-n10 { + margin-right: -40px !important; + } + .mr-xl-n11 { + margin-right: -44px !important; + } + .mr-xl-n12 { + margin-right: -48px !important; + } + .mr-xl-n13 { + margin-right: -52px !important; + } + .mr-xl-n14 { + margin-right: -56px !important; + } + .mr-xl-n15 { + margin-right: -60px !important; + } + .mr-xl-n16 { + margin-right: -64px !important; + } + .mb-xl-n1 { + margin-bottom: -4px !important; + } + .mb-xl-n2 { + margin-bottom: -8px !important; + } + .mb-xl-n3 { + margin-bottom: -12px !important; + } + .mb-xl-n4 { + margin-bottom: -16px !important; + } + .mb-xl-n5 { + margin-bottom: -20px !important; + } + .mb-xl-n6 { + margin-bottom: -24px !important; + } + .mb-xl-n7 { + margin-bottom: -28px !important; + } + .mb-xl-n8 { + margin-bottom: -32px !important; + } + .mb-xl-n9 { + margin-bottom: -36px !important; + } + .mb-xl-n10 { + margin-bottom: -40px !important; + } + .mb-xl-n11 { + margin-bottom: -44px !important; + } + .mb-xl-n12 { + margin-bottom: -48px !important; + } + .mb-xl-n13 { + margin-bottom: -52px !important; + } + .mb-xl-n14 { + margin-bottom: -56px !important; + } + .mb-xl-n15 { + margin-bottom: -60px !important; + } + .mb-xl-n16 { + margin-bottom: -64px !important; + } + .ml-xl-n1 { + margin-left: -4px !important; + } + .ml-xl-n2 { + margin-left: -8px !important; + } + .ml-xl-n3 { + margin-left: -12px !important; + } + .ml-xl-n4 { + margin-left: -16px !important; + } + .ml-xl-n5 { + margin-left: -20px !important; + } + .ml-xl-n6 { + margin-left: -24px !important; + } + .ml-xl-n7 { + margin-left: -28px !important; + } + .ml-xl-n8 { + margin-left: -32px !important; + } + .ml-xl-n9 { + margin-left: -36px !important; + } + .ml-xl-n10 { + margin-left: -40px !important; + } + .ml-xl-n11 { + margin-left: -44px !important; + } + .ml-xl-n12 { + margin-left: -48px !important; + } + .ml-xl-n13 { + margin-left: -52px !important; + } + .ml-xl-n14 { + margin-left: -56px !important; + } + .ml-xl-n15 { + margin-left: -60px !important; + } + .ml-xl-n16 { + margin-left: -64px !important; + } + .ms-xl-n1 { + margin-inline-start: -4px !important; + } + .ms-xl-n2 { + margin-inline-start: -8px !important; + } + .ms-xl-n3 { + margin-inline-start: -12px !important; + } + .ms-xl-n4 { + margin-inline-start: -16px !important; + } + .ms-xl-n5 { + margin-inline-start: -20px !important; + } + .ms-xl-n6 { + margin-inline-start: -24px !important; + } + .ms-xl-n7 { + margin-inline-start: -28px !important; + } + .ms-xl-n8 { + margin-inline-start: -32px !important; + } + .ms-xl-n9 { + margin-inline-start: -36px !important; + } + .ms-xl-n10 { + margin-inline-start: -40px !important; + } + .ms-xl-n11 { + margin-inline-start: -44px !important; + } + .ms-xl-n12 { + margin-inline-start: -48px !important; + } + .ms-xl-n13 { + margin-inline-start: -52px !important; + } + .ms-xl-n14 { + margin-inline-start: -56px !important; + } + .ms-xl-n15 { + margin-inline-start: -60px !important; + } + .ms-xl-n16 { + margin-inline-start: -64px !important; + } + .me-xl-n1 { + margin-inline-end: -4px !important; + } + .me-xl-n2 { + margin-inline-end: -8px !important; + } + .me-xl-n3 { + margin-inline-end: -12px !important; + } + .me-xl-n4 { + margin-inline-end: -16px !important; + } + .me-xl-n5 { + margin-inline-end: -20px !important; + } + .me-xl-n6 { + margin-inline-end: -24px !important; + } + .me-xl-n7 { + margin-inline-end: -28px !important; + } + .me-xl-n8 { + margin-inline-end: -32px !important; + } + .me-xl-n9 { + margin-inline-end: -36px !important; + } + .me-xl-n10 { + margin-inline-end: -40px !important; + } + .me-xl-n11 { + margin-inline-end: -44px !important; + } + .me-xl-n12 { + margin-inline-end: -48px !important; + } + .me-xl-n13 { + margin-inline-end: -52px !important; + } + .me-xl-n14 { + margin-inline-end: -56px !important; + } + .me-xl-n15 { + margin-inline-end: -60px !important; + } + .me-xl-n16 { + margin-inline-end: -64px !important; + } + .pa-xl-0 { + padding: 0px !important; + } + .pa-xl-1 { + padding: 4px !important; + } + .pa-xl-2 { + padding: 8px !important; + } + .pa-xl-3 { + padding: 12px !important; + } + .pa-xl-4 { + padding: 16px !important; + } + .pa-xl-5 { + padding: 20px !important; + } + .pa-xl-6 { + padding: 24px !important; + } + .pa-xl-7 { + padding: 28px !important; + } + .pa-xl-8 { + padding: 32px !important; + } + .pa-xl-9 { + padding: 36px !important; + } + .pa-xl-10 { + padding: 40px !important; + } + .pa-xl-11 { + padding: 44px !important; + } + .pa-xl-12 { + padding: 48px !important; + } + .pa-xl-13 { + padding: 52px !important; + } + .pa-xl-14 { + padding: 56px !important; + } + .pa-xl-15 { + padding: 60px !important; + } + .pa-xl-16 { + padding: 64px !important; + } + .px-xl-0 { + padding-right: 0px !important; + padding-left: 0px !important; + } + .px-xl-1 { + padding-right: 4px !important; + padding-left: 4px !important; + } + .px-xl-2 { + padding-right: 8px !important; + padding-left: 8px !important; + } + .px-xl-3 { + padding-right: 12px !important; + padding-left: 12px !important; + } + .px-xl-4 { + padding-right: 16px !important; + padding-left: 16px !important; + } + .px-xl-5 { + padding-right: 20px !important; + padding-left: 20px !important; + } + .px-xl-6 { + padding-right: 24px !important; + padding-left: 24px !important; + } + .px-xl-7 { + padding-right: 28px !important; + padding-left: 28px !important; + } + .px-xl-8 { + padding-right: 32px !important; + padding-left: 32px !important; + } + .px-xl-9 { + padding-right: 36px !important; + padding-left: 36px !important; + } + .px-xl-10 { + padding-right: 40px !important; + padding-left: 40px !important; + } + .px-xl-11 { + padding-right: 44px !important; + padding-left: 44px !important; + } + .px-xl-12 { + padding-right: 48px !important; + padding-left: 48px !important; + } + .px-xl-13 { + padding-right: 52px !important; + padding-left: 52px !important; + } + .px-xl-14 { + padding-right: 56px !important; + padding-left: 56px !important; + } + .px-xl-15 { + padding-right: 60px !important; + padding-left: 60px !important; + } + .px-xl-16 { + padding-right: 64px !important; + padding-left: 64px !important; + } + .py-xl-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; + } + .py-xl-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; + } + .py-xl-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + .py-xl-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; + } + .py-xl-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; + } + .py-xl-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; + } + .py-xl-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; + } + .py-xl-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .py-xl-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; + } + .py-xl-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; + } + .py-xl-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .py-xl-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; + } + .py-xl-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; + } + .py-xl-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; + } + .py-xl-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; + } + .py-xl-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .py-xl-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; + } + .pt-xl-0 { + padding-top: 0px !important; + } + .pt-xl-1 { + padding-top: 4px !important; + } + .pt-xl-2 { + padding-top: 8px !important; + } + .pt-xl-3 { + padding-top: 12px !important; + } + .pt-xl-4 { + padding-top: 16px !important; + } + .pt-xl-5 { + padding-top: 20px !important; + } + .pt-xl-6 { + padding-top: 24px !important; + } + .pt-xl-7 { + padding-top: 28px !important; + } + .pt-xl-8 { + padding-top: 32px !important; + } + .pt-xl-9 { + padding-top: 36px !important; + } + .pt-xl-10 { + padding-top: 40px !important; + } + .pt-xl-11 { + padding-top: 44px !important; + } + .pt-xl-12 { + padding-top: 48px !important; + } + .pt-xl-13 { + padding-top: 52px !important; + } + .pt-xl-14 { + padding-top: 56px !important; + } + .pt-xl-15 { + padding-top: 60px !important; + } + .pt-xl-16 { + padding-top: 64px !important; + } + .pr-xl-0 { + padding-right: 0px !important; + } + .pr-xl-1 { + padding-right: 4px !important; + } + .pr-xl-2 { + padding-right: 8px !important; + } + .pr-xl-3 { + padding-right: 12px !important; + } + .pr-xl-4 { + padding-right: 16px !important; + } + .pr-xl-5 { + padding-right: 20px !important; + } + .pr-xl-6 { + padding-right: 24px !important; + } + .pr-xl-7 { + padding-right: 28px !important; + } + .pr-xl-8 { + padding-right: 32px !important; + } + .pr-xl-9 { + padding-right: 36px !important; + } + .pr-xl-10 { + padding-right: 40px !important; + } + .pr-xl-11 { + padding-right: 44px !important; + } + .pr-xl-12 { + padding-right: 48px !important; + } + .pr-xl-13 { + padding-right: 52px !important; + } + .pr-xl-14 { + padding-right: 56px !important; + } + .pr-xl-15 { + padding-right: 60px !important; + } + .pr-xl-16 { + padding-right: 64px !important; + } + .pb-xl-0 { + padding-bottom: 0px !important; + } + .pb-xl-1 { + padding-bottom: 4px !important; + } + .pb-xl-2 { + padding-bottom: 8px !important; + } + .pb-xl-3 { + padding-bottom: 12px !important; + } + .pb-xl-4 { + padding-bottom: 16px !important; + } + .pb-xl-5 { + padding-bottom: 20px !important; + } + .pb-xl-6 { + padding-bottom: 24px !important; + } + .pb-xl-7 { + padding-bottom: 28px !important; + } + .pb-xl-8 { + padding-bottom: 32px !important; + } + .pb-xl-9 { + padding-bottom: 36px !important; + } + .pb-xl-10 { + padding-bottom: 40px !important; + } + .pb-xl-11 { + padding-bottom: 44px !important; + } + .pb-xl-12 { + padding-bottom: 48px !important; + } + .pb-xl-13 { + padding-bottom: 52px !important; + } + .pb-xl-14 { + padding-bottom: 56px !important; + } + .pb-xl-15 { + padding-bottom: 60px !important; + } + .pb-xl-16 { + padding-bottom: 64px !important; + } + .pl-xl-0 { + padding-left: 0px !important; + } + .pl-xl-1 { + padding-left: 4px !important; + } + .pl-xl-2 { + padding-left: 8px !important; + } + .pl-xl-3 { + padding-left: 12px !important; + } + .pl-xl-4 { + padding-left: 16px !important; + } + .pl-xl-5 { + padding-left: 20px !important; + } + .pl-xl-6 { + padding-left: 24px !important; + } + .pl-xl-7 { + padding-left: 28px !important; + } + .pl-xl-8 { + padding-left: 32px !important; + } + .pl-xl-9 { + padding-left: 36px !important; + } + .pl-xl-10 { + padding-left: 40px !important; + } + .pl-xl-11 { + padding-left: 44px !important; + } + .pl-xl-12 { + padding-left: 48px !important; + } + .pl-xl-13 { + padding-left: 52px !important; + } + .pl-xl-14 { + padding-left: 56px !important; + } + .pl-xl-15 { + padding-left: 60px !important; + } + .pl-xl-16 { + padding-left: 64px !important; + } + .ps-xl-0 { + padding-inline-start: 0px !important; + } + .ps-xl-1 { + padding-inline-start: 4px !important; + } + .ps-xl-2 { + padding-inline-start: 8px !important; + } + .ps-xl-3 { + padding-inline-start: 12px !important; + } + .ps-xl-4 { + padding-inline-start: 16px !important; + } + .ps-xl-5 { + padding-inline-start: 20px !important; + } + .ps-xl-6 { + padding-inline-start: 24px !important; + } + .ps-xl-7 { + padding-inline-start: 28px !important; + } + .ps-xl-8 { + padding-inline-start: 32px !important; + } + .ps-xl-9 { + padding-inline-start: 36px !important; + } + .ps-xl-10 { + padding-inline-start: 40px !important; + } + .ps-xl-11 { + padding-inline-start: 44px !important; + } + .ps-xl-12 { + padding-inline-start: 48px !important; + } + .ps-xl-13 { + padding-inline-start: 52px !important; + } + .ps-xl-14 { + padding-inline-start: 56px !important; + } + .ps-xl-15 { + padding-inline-start: 60px !important; + } + .ps-xl-16 { + padding-inline-start: 64px !important; + } + .pe-xl-0 { + padding-inline-end: 0px !important; + } + .pe-xl-1 { + padding-inline-end: 4px !important; + } + .pe-xl-2 { + padding-inline-end: 8px !important; + } + .pe-xl-3 { + padding-inline-end: 12px !important; + } + .pe-xl-4 { + padding-inline-end: 16px !important; + } + .pe-xl-5 { + padding-inline-end: 20px !important; + } + .pe-xl-6 { + padding-inline-end: 24px !important; + } + .pe-xl-7 { + padding-inline-end: 28px !important; + } + .pe-xl-8 { + padding-inline-end: 32px !important; + } + .pe-xl-9 { + padding-inline-end: 36px !important; + } + .pe-xl-10 { + padding-inline-end: 40px !important; + } + .pe-xl-11 { + padding-inline-end: 44px !important; + } + .pe-xl-12 { + padding-inline-end: 48px !important; + } + .pe-xl-13 { + padding-inline-end: 52px !important; + } + .pe-xl-14 { + padding-inline-end: 56px !important; + } + .pe-xl-15 { + padding-inline-end: 60px !important; + } + .pe-xl-16 { + padding-inline-end: 64px !important; + } + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } + .text-xl-justify { + text-align: justify !important; + } + .text-xl-start { + text-align: start !important; + } + .text-xl-end { + text-align: end !important; + } + .text-xl-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xl-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; + } + .h-xl-auto { + height: auto !important; + } + .h-xl-screen { + height: 100vh !important; + } + .h-xl-0 { + height: 0 !important; + } + .h-xl-25 { + height: 25% !important; + } + .h-xl-50 { + height: 50% !important; + } + .h-xl-75 { + height: 75% !important; + } + .h-xl-100 { + height: 100% !important; + } + .w-xl-auto { + width: auto !important; + } + .w-xl-0 { + width: 0 !important; + } + .w-xl-25 { + width: 25% !important; + } + .w-xl-33 { + width: 33% !important; + } + .w-xl-50 { + width: 50% !important; + } + .w-xl-66 { + width: 66% !important; + } + .w-xl-75 { + width: 75% !important; + } + .w-xl-100 { + width: 100% !important; + } +} +@media (min-width: 2560px) { + .d-xxl-none { + display: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .float-xxl-none { + float: none !important; + } + .float-xxl-left { + float: left !important; + } + .float-xxl-right { + float: right !important; + } + .v-locale--is-rtl .float-xxl-end { + float: left !important; + } + .v-locale--is-rtl .float-xxl-start { + float: right !important; + } + .v-locale--is-ltr .float-xxl-end { + float: right !important; + } + .v-locale--is-ltr .float-xxl-start { + float: left !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-1-1 { + flex: 1 1 auto !important; + } + .flex-xxl-1-0 { + flex: 1 0 auto !important; + } + .flex-xxl-0-1 { + flex: 0 1 auto !important; + } + .flex-xxl-0-0 { + flex: 0 0 auto !important; + } + .flex-xxl-1-1-100 { + flex: 1 1 100% !important; + } + .flex-xxl-1-0-100 { + flex: 1 0 100% !important; + } + .flex-xxl-0-1-100 { + flex: 0 1 100% !important; + } + .flex-xxl-0-0-100 { + flex: 0 0 100% !important; + } + .flex-xxl-1-1-0 { + flex: 1 1 0 !important; + } + .flex-xxl-1-0-0 { + flex: 1 0 0 !important; + } + .flex-xxl-0-1-0 { + flex: 0 1 0 !important; + } + .flex-xxl-0-0-0 { + flex: 0 0 0 !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-xxl-start { + justify-content: flex-start !important; + } + .justify-xxl-end { + justify-content: flex-end !important; + } + .justify-xxl-center { + justify-content: center !important; + } + .justify-xxl-space-between { + justify-content: space-between !important; + } + .justify-xxl-space-around { + justify-content: space-around !important; + } + .justify-xxl-space-evenly { + justify-content: space-evenly !important; + } + .align-xxl-start { + align-items: flex-start !important; + } + .align-xxl-end { + align-items: flex-end !important; + } + .align-xxl-center { + align-items: center !important; + } + .align-xxl-baseline { + align-items: baseline !important; + } + .align-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-space-between { + align-content: space-between !important; + } + .align-content-xxl-space-around { + align-content: space-around !important; + } + .align-content-xxl-space-evenly { + align-content: space-evenly !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-6 { + order: 6 !important; + } + .order-xxl-7 { + order: 7 !important; + } + .order-xxl-8 { + order: 8 !important; + } + .order-xxl-9 { + order: 9 !important; + } + .order-xxl-10 { + order: 10 !important; + } + .order-xxl-11 { + order: 11 !important; + } + .order-xxl-12 { + order: 12 !important; + } + .order-xxl-last { + order: 13 !important; + } + .ga-xxl-0 { + gap: 0px !important; + } + .ga-xxl-1 { + gap: 4px !important; + } + .ga-xxl-2 { + gap: 8px !important; + } + .ga-xxl-3 { + gap: 12px !important; + } + .ga-xxl-4 { + gap: 16px !important; + } + .ga-xxl-5 { + gap: 20px !important; + } + .ga-xxl-6 { + gap: 24px !important; + } + .ga-xxl-7 { + gap: 28px !important; + } + .ga-xxl-8 { + gap: 32px !important; + } + .ga-xxl-9 { + gap: 36px !important; + } + .ga-xxl-10 { + gap: 40px !important; + } + .ga-xxl-11 { + gap: 44px !important; + } + .ga-xxl-12 { + gap: 48px !important; + } + .ga-xxl-13 { + gap: 52px !important; + } + .ga-xxl-14 { + gap: 56px !important; + } + .ga-xxl-15 { + gap: 60px !important; + } + .ga-xxl-16 { + gap: 64px !important; + } + .ga-xxl-auto { + gap: auto !important; + } + .gr-xxl-0 { + row-gap: 0px !important; + } + .gr-xxl-1 { + row-gap: 4px !important; + } + .gr-xxl-2 { + row-gap: 8px !important; + } + .gr-xxl-3 { + row-gap: 12px !important; + } + .gr-xxl-4 { + row-gap: 16px !important; + } + .gr-xxl-5 { + row-gap: 20px !important; + } + .gr-xxl-6 { + row-gap: 24px !important; + } + .gr-xxl-7 { + row-gap: 28px !important; + } + .gr-xxl-8 { + row-gap: 32px !important; + } + .gr-xxl-9 { + row-gap: 36px !important; + } + .gr-xxl-10 { + row-gap: 40px !important; + } + .gr-xxl-11 { + row-gap: 44px !important; + } + .gr-xxl-12 { + row-gap: 48px !important; + } + .gr-xxl-13 { + row-gap: 52px !important; + } + .gr-xxl-14 { + row-gap: 56px !important; + } + .gr-xxl-15 { + row-gap: 60px !important; + } + .gr-xxl-16 { + row-gap: 64px !important; + } + .gr-xxl-auto { + row-gap: auto !important; + } + .gc-xxl-0 { + column-gap: 0px !important; + } + .gc-xxl-1 { + column-gap: 4px !important; + } + .gc-xxl-2 { + column-gap: 8px !important; + } + .gc-xxl-3 { + column-gap: 12px !important; + } + .gc-xxl-4 { + column-gap: 16px !important; + } + .gc-xxl-5 { + column-gap: 20px !important; + } + .gc-xxl-6 { + column-gap: 24px !important; + } + .gc-xxl-7 { + column-gap: 28px !important; + } + .gc-xxl-8 { + column-gap: 32px !important; + } + .gc-xxl-9 { + column-gap: 36px !important; + } + .gc-xxl-10 { + column-gap: 40px !important; + } + .gc-xxl-11 { + column-gap: 44px !important; + } + .gc-xxl-12 { + column-gap: 48px !important; + } + .gc-xxl-13 { + column-gap: 52px !important; + } + .gc-xxl-14 { + column-gap: 56px !important; + } + .gc-xxl-15 { + column-gap: 60px !important; + } + .gc-xxl-16 { + column-gap: 64px !important; + } + .gc-xxl-auto { + column-gap: auto !important; + } + .ma-xxl-0 { + margin: 0px !important; + } + .ma-xxl-1 { + margin: 4px !important; + } + .ma-xxl-2 { + margin: 8px !important; + } + .ma-xxl-3 { + margin: 12px !important; + } + .ma-xxl-4 { + margin: 16px !important; + } + .ma-xxl-5 { + margin: 20px !important; + } + .ma-xxl-6 { + margin: 24px !important; + } + .ma-xxl-7 { + margin: 28px !important; + } + .ma-xxl-8 { + margin: 32px !important; + } + .ma-xxl-9 { + margin: 36px !important; + } + .ma-xxl-10 { + margin: 40px !important; + } + .ma-xxl-11 { + margin: 44px !important; + } + .ma-xxl-12 { + margin: 48px !important; + } + .ma-xxl-13 { + margin: 52px !important; + } + .ma-xxl-14 { + margin: 56px !important; + } + .ma-xxl-15 { + margin: 60px !important; + } + .ma-xxl-16 { + margin: 64px !important; + } + .ma-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0px !important; + margin-left: 0px !important; + } + .mx-xxl-1 { + margin-right: 4px !important; + margin-left: 4px !important; + } + .mx-xxl-2 { + margin-right: 8px !important; + margin-left: 8px !important; + } + .mx-xxl-3 { + margin-right: 12px !important; + margin-left: 12px !important; + } + .mx-xxl-4 { + margin-right: 16px !important; + margin-left: 16px !important; + } + .mx-xxl-5 { + margin-right: 20px !important; + margin-left: 20px !important; + } + .mx-xxl-6 { + margin-right: 24px !important; + margin-left: 24px !important; + } + .mx-xxl-7 { + margin-right: 28px !important; + margin-left: 28px !important; + } + .mx-xxl-8 { + margin-right: 32px !important; + margin-left: 32px !important; + } + .mx-xxl-9 { + margin-right: 36px !important; + margin-left: 36px !important; + } + .mx-xxl-10 { + margin-right: 40px !important; + margin-left: 40px !important; + } + .mx-xxl-11 { + margin-right: 44px !important; + margin-left: 44px !important; + } + .mx-xxl-12 { + margin-right: 48px !important; + margin-left: 48px !important; + } + .mx-xxl-13 { + margin-right: 52px !important; + margin-left: 52px !important; + } + .mx-xxl-14 { + margin-right: 56px !important; + margin-left: 56px !important; + } + .mx-xxl-15 { + margin-right: 60px !important; + margin-left: 60px !important; + } + .mx-xxl-16 { + margin-right: 64px !important; + margin-left: 64px !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0px !important; + margin-bottom: 0px !important; + } + .my-xxl-1 { + margin-top: 4px !important; + margin-bottom: 4px !important; + } + .my-xxl-2 { + margin-top: 8px !important; + margin-bottom: 8px !important; + } + .my-xxl-3 { + margin-top: 12px !important; + margin-bottom: 12px !important; + } + .my-xxl-4 { + margin-top: 16px !important; + margin-bottom: 16px !important; + } + .my-xxl-5 { + margin-top: 20px !important; + margin-bottom: 20px !important; + } + .my-xxl-6 { + margin-top: 24px !important; + margin-bottom: 24px !important; + } + .my-xxl-7 { + margin-top: 28px !important; + margin-bottom: 28px !important; + } + .my-xxl-8 { + margin-top: 32px !important; + margin-bottom: 32px !important; + } + .my-xxl-9 { + margin-top: 36px !important; + margin-bottom: 36px !important; + } + .my-xxl-10 { + margin-top: 40px !important; + margin-bottom: 40px !important; + } + .my-xxl-11 { + margin-top: 44px !important; + margin-bottom: 44px !important; + } + .my-xxl-12 { + margin-top: 48px !important; + margin-bottom: 48px !important; + } + .my-xxl-13 { + margin-top: 52px !important; + margin-bottom: 52px !important; + } + .my-xxl-14 { + margin-top: 56px !important; + margin-bottom: 56px !important; + } + .my-xxl-15 { + margin-top: 60px !important; + margin-bottom: 60px !important; + } + .my-xxl-16 { + margin-top: 64px !important; + margin-bottom: 64px !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0px !important; + } + .mt-xxl-1 { + margin-top: 4px !important; + } + .mt-xxl-2 { + margin-top: 8px !important; + } + .mt-xxl-3 { + margin-top: 12px !important; + } + .mt-xxl-4 { + margin-top: 16px !important; + } + .mt-xxl-5 { + margin-top: 20px !important; + } + .mt-xxl-6 { + margin-top: 24px !important; + } + .mt-xxl-7 { + margin-top: 28px !important; + } + .mt-xxl-8 { + margin-top: 32px !important; + } + .mt-xxl-9 { + margin-top: 36px !important; + } + .mt-xxl-10 { + margin-top: 40px !important; + } + .mt-xxl-11 { + margin-top: 44px !important; + } + .mt-xxl-12 { + margin-top: 48px !important; + } + .mt-xxl-13 { + margin-top: 52px !important; + } + .mt-xxl-14 { + margin-top: 56px !important; + } + .mt-xxl-15 { + margin-top: 60px !important; + } + .mt-xxl-16 { + margin-top: 64px !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .mr-xxl-0 { + margin-right: 0px !important; + } + .mr-xxl-1 { + margin-right: 4px !important; + } + .mr-xxl-2 { + margin-right: 8px !important; + } + .mr-xxl-3 { + margin-right: 12px !important; + } + .mr-xxl-4 { + margin-right: 16px !important; + } + .mr-xxl-5 { + margin-right: 20px !important; + } + .mr-xxl-6 { + margin-right: 24px !important; + } + .mr-xxl-7 { + margin-right: 28px !important; + } + .mr-xxl-8 { + margin-right: 32px !important; + } + .mr-xxl-9 { + margin-right: 36px !important; + } + .mr-xxl-10 { + margin-right: 40px !important; + } + .mr-xxl-11 { + margin-right: 44px !important; + } + .mr-xxl-12 { + margin-right: 48px !important; + } + .mr-xxl-13 { + margin-right: 52px !important; + } + .mr-xxl-14 { + margin-right: 56px !important; + } + .mr-xxl-15 { + margin-right: 60px !important; + } + .mr-xxl-16 { + margin-right: 64px !important; + } + .mr-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0px !important; + } + .mb-xxl-1 { + margin-bottom: 4px !important; + } + .mb-xxl-2 { + margin-bottom: 8px !important; + } + .mb-xxl-3 { + margin-bottom: 12px !important; + } + .mb-xxl-4 { + margin-bottom: 16px !important; + } + .mb-xxl-5 { + margin-bottom: 20px !important; + } + .mb-xxl-6 { + margin-bottom: 24px !important; + } + .mb-xxl-7 { + margin-bottom: 28px !important; + } + .mb-xxl-8 { + margin-bottom: 32px !important; + } + .mb-xxl-9 { + margin-bottom: 36px !important; + } + .mb-xxl-10 { + margin-bottom: 40px !important; + } + .mb-xxl-11 { + margin-bottom: 44px !important; + } + .mb-xxl-12 { + margin-bottom: 48px !important; + } + .mb-xxl-13 { + margin-bottom: 52px !important; + } + .mb-xxl-14 { + margin-bottom: 56px !important; + } + .mb-xxl-15 { + margin-bottom: 60px !important; + } + .mb-xxl-16 { + margin-bottom: 64px !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ml-xxl-0 { + margin-left: 0px !important; + } + .ml-xxl-1 { + margin-left: 4px !important; + } + .ml-xxl-2 { + margin-left: 8px !important; + } + .ml-xxl-3 { + margin-left: 12px !important; + } + .ml-xxl-4 { + margin-left: 16px !important; + } + .ml-xxl-5 { + margin-left: 20px !important; + } + .ml-xxl-6 { + margin-left: 24px !important; + } + .ml-xxl-7 { + margin-left: 28px !important; + } + .ml-xxl-8 { + margin-left: 32px !important; + } + .ml-xxl-9 { + margin-left: 36px !important; + } + .ml-xxl-10 { + margin-left: 40px !important; + } + .ml-xxl-11 { + margin-left: 44px !important; + } + .ml-xxl-12 { + margin-left: 48px !important; + } + .ml-xxl-13 { + margin-left: 52px !important; + } + .ml-xxl-14 { + margin-left: 56px !important; + } + .ml-xxl-15 { + margin-left: 60px !important; + } + .ml-xxl-16 { + margin-left: 64px !important; + } + .ml-xxl-auto { + margin-left: auto !important; + } + .ms-xxl-0 { + margin-inline-start: 0px !important; + } + .ms-xxl-1 { + margin-inline-start: 4px !important; + } + .ms-xxl-2 { + margin-inline-start: 8px !important; + } + .ms-xxl-3 { + margin-inline-start: 12px !important; + } + .ms-xxl-4 { + margin-inline-start: 16px !important; + } + .ms-xxl-5 { + margin-inline-start: 20px !important; + } + .ms-xxl-6 { + margin-inline-start: 24px !important; + } + .ms-xxl-7 { + margin-inline-start: 28px !important; + } + .ms-xxl-8 { + margin-inline-start: 32px !important; + } + .ms-xxl-9 { + margin-inline-start: 36px !important; + } + .ms-xxl-10 { + margin-inline-start: 40px !important; + } + .ms-xxl-11 { + margin-inline-start: 44px !important; + } + .ms-xxl-12 { + margin-inline-start: 48px !important; + } + .ms-xxl-13 { + margin-inline-start: 52px !important; + } + .ms-xxl-14 { + margin-inline-start: 56px !important; + } + .ms-xxl-15 { + margin-inline-start: 60px !important; + } + .ms-xxl-16 { + margin-inline-start: 64px !important; + } + .ms-xxl-auto { + margin-inline-start: auto !important; + } + .me-xxl-0 { + margin-inline-end: 0px !important; + } + .me-xxl-1 { + margin-inline-end: 4px !important; + } + .me-xxl-2 { + margin-inline-end: 8px !important; + } + .me-xxl-3 { + margin-inline-end: 12px !important; + } + .me-xxl-4 { + margin-inline-end: 16px !important; + } + .me-xxl-5 { + margin-inline-end: 20px !important; + } + .me-xxl-6 { + margin-inline-end: 24px !important; + } + .me-xxl-7 { + margin-inline-end: 28px !important; + } + .me-xxl-8 { + margin-inline-end: 32px !important; + } + .me-xxl-9 { + margin-inline-end: 36px !important; + } + .me-xxl-10 { + margin-inline-end: 40px !important; + } + .me-xxl-11 { + margin-inline-end: 44px !important; + } + .me-xxl-12 { + margin-inline-end: 48px !important; + } + .me-xxl-13 { + margin-inline-end: 52px !important; + } + .me-xxl-14 { + margin-inline-end: 56px !important; + } + .me-xxl-15 { + margin-inline-end: 60px !important; + } + .me-xxl-16 { + margin-inline-end: 64px !important; + } + .me-xxl-auto { + margin-inline-end: auto !important; + } + .ma-xxl-n1 { + margin: -4px !important; + } + .ma-xxl-n2 { + margin: -8px !important; + } + .ma-xxl-n3 { + margin: -12px !important; + } + .ma-xxl-n4 { + margin: -16px !important; + } + .ma-xxl-n5 { + margin: -20px !important; + } + .ma-xxl-n6 { + margin: -24px !important; + } + .ma-xxl-n7 { + margin: -28px !important; + } + .ma-xxl-n8 { + margin: -32px !important; + } + .ma-xxl-n9 { + margin: -36px !important; + } + .ma-xxl-n10 { + margin: -40px !important; + } + .ma-xxl-n11 { + margin: -44px !important; + } + .ma-xxl-n12 { + margin: -48px !important; + } + .ma-xxl-n13 { + margin: -52px !important; + } + .ma-xxl-n14 { + margin: -56px !important; + } + .ma-xxl-n15 { + margin: -60px !important; + } + .ma-xxl-n16 { + margin: -64px !important; + } + .mx-xxl-n1 { + margin-right: -4px !important; + margin-left: -4px !important; + } + .mx-xxl-n2 { + margin-right: -8px !important; + margin-left: -8px !important; + } + .mx-xxl-n3 { + margin-right: -12px !important; + margin-left: -12px !important; + } + .mx-xxl-n4 { + margin-right: -16px !important; + margin-left: -16px !important; + } + .mx-xxl-n5 { + margin-right: -20px !important; + margin-left: -20px !important; + } + .mx-xxl-n6 { + margin-right: -24px !important; + margin-left: -24px !important; + } + .mx-xxl-n7 { + margin-right: -28px !important; + margin-left: -28px !important; + } + .mx-xxl-n8 { + margin-right: -32px !important; + margin-left: -32px !important; + } + .mx-xxl-n9 { + margin-right: -36px !important; + margin-left: -36px !important; + } + .mx-xxl-n10 { + margin-right: -40px !important; + margin-left: -40px !important; + } + .mx-xxl-n11 { + margin-right: -44px !important; + margin-left: -44px !important; + } + .mx-xxl-n12 { + margin-right: -48px !important; + margin-left: -48px !important; + } + .mx-xxl-n13 { + margin-right: -52px !important; + margin-left: -52px !important; + } + .mx-xxl-n14 { + margin-right: -56px !important; + margin-left: -56px !important; + } + .mx-xxl-n15 { + margin-right: -60px !important; + margin-left: -60px !important; + } + .mx-xxl-n16 { + margin-right: -64px !important; + margin-left: -64px !important; + } + .my-xxl-n1 { + margin-top: -4px !important; + margin-bottom: -4px !important; + } + .my-xxl-n2 { + margin-top: -8px !important; + margin-bottom: -8px !important; + } + .my-xxl-n3 { + margin-top: -12px !important; + margin-bottom: -12px !important; + } + .my-xxl-n4 { + margin-top: -16px !important; + margin-bottom: -16px !important; + } + .my-xxl-n5 { + margin-top: -20px !important; + margin-bottom: -20px !important; + } + .my-xxl-n6 { + margin-top: -24px !important; + margin-bottom: -24px !important; + } + .my-xxl-n7 { + margin-top: -28px !important; + margin-bottom: -28px !important; + } + .my-xxl-n8 { + margin-top: -32px !important; + margin-bottom: -32px !important; + } + .my-xxl-n9 { + margin-top: -36px !important; + margin-bottom: -36px !important; + } + .my-xxl-n10 { + margin-top: -40px !important; + margin-bottom: -40px !important; + } + .my-xxl-n11 { + margin-top: -44px !important; + margin-bottom: -44px !important; + } + .my-xxl-n12 { + margin-top: -48px !important; + margin-bottom: -48px !important; + } + .my-xxl-n13 { + margin-top: -52px !important; + margin-bottom: -52px !important; + } + .my-xxl-n14 { + margin-top: -56px !important; + margin-bottom: -56px !important; + } + .my-xxl-n15 { + margin-top: -60px !important; + margin-bottom: -60px !important; + } + .my-xxl-n16 { + margin-top: -64px !important; + margin-bottom: -64px !important; + } + .mt-xxl-n1 { + margin-top: -4px !important; + } + .mt-xxl-n2 { + margin-top: -8px !important; + } + .mt-xxl-n3 { + margin-top: -12px !important; + } + .mt-xxl-n4 { + margin-top: -16px !important; + } + .mt-xxl-n5 { + margin-top: -20px !important; + } + .mt-xxl-n6 { + margin-top: -24px !important; + } + .mt-xxl-n7 { + margin-top: -28px !important; + } + .mt-xxl-n8 { + margin-top: -32px !important; + } + .mt-xxl-n9 { + margin-top: -36px !important; + } + .mt-xxl-n10 { + margin-top: -40px !important; + } + .mt-xxl-n11 { + margin-top: -44px !important; + } + .mt-xxl-n12 { + margin-top: -48px !important; + } + .mt-xxl-n13 { + margin-top: -52px !important; + } + .mt-xxl-n14 { + margin-top: -56px !important; + } + .mt-xxl-n15 { + margin-top: -60px !important; + } + .mt-xxl-n16 { + margin-top: -64px !important; + } + .mr-xxl-n1 { + margin-right: -4px !important; + } + .mr-xxl-n2 { + margin-right: -8px !important; + } + .mr-xxl-n3 { + margin-right: -12px !important; + } + .mr-xxl-n4 { + margin-right: -16px !important; + } + .mr-xxl-n5 { + margin-right: -20px !important; + } + .mr-xxl-n6 { + margin-right: -24px !important; + } + .mr-xxl-n7 { + margin-right: -28px !important; + } + .mr-xxl-n8 { + margin-right: -32px !important; + } + .mr-xxl-n9 { + margin-right: -36px !important; + } + .mr-xxl-n10 { + margin-right: -40px !important; + } + .mr-xxl-n11 { + margin-right: -44px !important; + } + .mr-xxl-n12 { + margin-right: -48px !important; + } + .mr-xxl-n13 { + margin-right: -52px !important; + } + .mr-xxl-n14 { + margin-right: -56px !important; + } + .mr-xxl-n15 { + margin-right: -60px !important; + } + .mr-xxl-n16 { + margin-right: -64px !important; + } + .mb-xxl-n1 { + margin-bottom: -4px !important; + } + .mb-xxl-n2 { + margin-bottom: -8px !important; + } + .mb-xxl-n3 { + margin-bottom: -12px !important; + } + .mb-xxl-n4 { + margin-bottom: -16px !important; + } + .mb-xxl-n5 { + margin-bottom: -20px !important; + } + .mb-xxl-n6 { + margin-bottom: -24px !important; + } + .mb-xxl-n7 { + margin-bottom: -28px !important; + } + .mb-xxl-n8 { + margin-bottom: -32px !important; + } + .mb-xxl-n9 { + margin-bottom: -36px !important; + } + .mb-xxl-n10 { + margin-bottom: -40px !important; + } + .mb-xxl-n11 { + margin-bottom: -44px !important; + } + .mb-xxl-n12 { + margin-bottom: -48px !important; + } + .mb-xxl-n13 { + margin-bottom: -52px !important; + } + .mb-xxl-n14 { + margin-bottom: -56px !important; + } + .mb-xxl-n15 { + margin-bottom: -60px !important; + } + .mb-xxl-n16 { + margin-bottom: -64px !important; + } + .ml-xxl-n1 { + margin-left: -4px !important; + } + .ml-xxl-n2 { + margin-left: -8px !important; + } + .ml-xxl-n3 { + margin-left: -12px !important; + } + .ml-xxl-n4 { + margin-left: -16px !important; + } + .ml-xxl-n5 { + margin-left: -20px !important; + } + .ml-xxl-n6 { + margin-left: -24px !important; + } + .ml-xxl-n7 { + margin-left: -28px !important; + } + .ml-xxl-n8 { + margin-left: -32px !important; + } + .ml-xxl-n9 { + margin-left: -36px !important; + } + .ml-xxl-n10 { + margin-left: -40px !important; + } + .ml-xxl-n11 { + margin-left: -44px !important; + } + .ml-xxl-n12 { + margin-left: -48px !important; + } + .ml-xxl-n13 { + margin-left: -52px !important; + } + .ml-xxl-n14 { + margin-left: -56px !important; + } + .ml-xxl-n15 { + margin-left: -60px !important; + } + .ml-xxl-n16 { + margin-left: -64px !important; + } + .ms-xxl-n1 { + margin-inline-start: -4px !important; + } + .ms-xxl-n2 { + margin-inline-start: -8px !important; + } + .ms-xxl-n3 { + margin-inline-start: -12px !important; + } + .ms-xxl-n4 { + margin-inline-start: -16px !important; + } + .ms-xxl-n5 { + margin-inline-start: -20px !important; + } + .ms-xxl-n6 { + margin-inline-start: -24px !important; + } + .ms-xxl-n7 { + margin-inline-start: -28px !important; + } + .ms-xxl-n8 { + margin-inline-start: -32px !important; + } + .ms-xxl-n9 { + margin-inline-start: -36px !important; + } + .ms-xxl-n10 { + margin-inline-start: -40px !important; + } + .ms-xxl-n11 { + margin-inline-start: -44px !important; + } + .ms-xxl-n12 { + margin-inline-start: -48px !important; + } + .ms-xxl-n13 { + margin-inline-start: -52px !important; + } + .ms-xxl-n14 { + margin-inline-start: -56px !important; + } + .ms-xxl-n15 { + margin-inline-start: -60px !important; + } + .ms-xxl-n16 { + margin-inline-start: -64px !important; + } + .me-xxl-n1 { + margin-inline-end: -4px !important; + } + .me-xxl-n2 { + margin-inline-end: -8px !important; + } + .me-xxl-n3 { + margin-inline-end: -12px !important; + } + .me-xxl-n4 { + margin-inline-end: -16px !important; + } + .me-xxl-n5 { + margin-inline-end: -20px !important; + } + .me-xxl-n6 { + margin-inline-end: -24px !important; + } + .me-xxl-n7 { + margin-inline-end: -28px !important; + } + .me-xxl-n8 { + margin-inline-end: -32px !important; + } + .me-xxl-n9 { + margin-inline-end: -36px !important; + } + .me-xxl-n10 { + margin-inline-end: -40px !important; + } + .me-xxl-n11 { + margin-inline-end: -44px !important; + } + .me-xxl-n12 { + margin-inline-end: -48px !important; + } + .me-xxl-n13 { + margin-inline-end: -52px !important; + } + .me-xxl-n14 { + margin-inline-end: -56px !important; + } + .me-xxl-n15 { + margin-inline-end: -60px !important; + } + .me-xxl-n16 { + margin-inline-end: -64px !important; + } + .pa-xxl-0 { + padding: 0px !important; + } + .pa-xxl-1 { + padding: 4px !important; + } + .pa-xxl-2 { + padding: 8px !important; + } + .pa-xxl-3 { + padding: 12px !important; + } + .pa-xxl-4 { + padding: 16px !important; + } + .pa-xxl-5 { + padding: 20px !important; + } + .pa-xxl-6 { + padding: 24px !important; + } + .pa-xxl-7 { + padding: 28px !important; + } + .pa-xxl-8 { + padding: 32px !important; + } + .pa-xxl-9 { + padding: 36px !important; + } + .pa-xxl-10 { + padding: 40px !important; + } + .pa-xxl-11 { + padding: 44px !important; + } + .pa-xxl-12 { + padding: 48px !important; + } + .pa-xxl-13 { + padding: 52px !important; + } + .pa-xxl-14 { + padding: 56px !important; + } + .pa-xxl-15 { + padding: 60px !important; + } + .pa-xxl-16 { + padding: 64px !important; + } + .px-xxl-0 { + padding-right: 0px !important; + padding-left: 0px !important; + } + .px-xxl-1 { + padding-right: 4px !important; + padding-left: 4px !important; + } + .px-xxl-2 { + padding-right: 8px !important; + padding-left: 8px !important; + } + .px-xxl-3 { + padding-right: 12px !important; + padding-left: 12px !important; + } + .px-xxl-4 { + padding-right: 16px !important; + padding-left: 16px !important; + } + .px-xxl-5 { + padding-right: 20px !important; + padding-left: 20px !important; + } + .px-xxl-6 { + padding-right: 24px !important; + padding-left: 24px !important; + } + .px-xxl-7 { + padding-right: 28px !important; + padding-left: 28px !important; + } + .px-xxl-8 { + padding-right: 32px !important; + padding-left: 32px !important; + } + .px-xxl-9 { + padding-right: 36px !important; + padding-left: 36px !important; + } + .px-xxl-10 { + padding-right: 40px !important; + padding-left: 40px !important; + } + .px-xxl-11 { + padding-right: 44px !important; + padding-left: 44px !important; + } + .px-xxl-12 { + padding-right: 48px !important; + padding-left: 48px !important; + } + .px-xxl-13 { + padding-right: 52px !important; + padding-left: 52px !important; + } + .px-xxl-14 { + padding-right: 56px !important; + padding-left: 56px !important; + } + .px-xxl-15 { + padding-right: 60px !important; + padding-left: 60px !important; + } + .px-xxl-16 { + padding-right: 64px !important; + padding-left: 64px !important; + } + .py-xxl-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; + } + .py-xxl-1 { + padding-top: 4px !important; + padding-bottom: 4px !important; + } + .py-xxl-2 { + padding-top: 8px !important; + padding-bottom: 8px !important; + } + .py-xxl-3 { + padding-top: 12px !important; + padding-bottom: 12px !important; + } + .py-xxl-4 { + padding-top: 16px !important; + padding-bottom: 16px !important; + } + .py-xxl-5 { + padding-top: 20px !important; + padding-bottom: 20px !important; + } + .py-xxl-6 { + padding-top: 24px !important; + padding-bottom: 24px !important; + } + .py-xxl-7 { + padding-top: 28px !important; + padding-bottom: 28px !important; + } + .py-xxl-8 { + padding-top: 32px !important; + padding-bottom: 32px !important; + } + .py-xxl-9 { + padding-top: 36px !important; + padding-bottom: 36px !important; + } + .py-xxl-10 { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .py-xxl-11 { + padding-top: 44px !important; + padding-bottom: 44px !important; + } + .py-xxl-12 { + padding-top: 48px !important; + padding-bottom: 48px !important; + } + .py-xxl-13 { + padding-top: 52px !important; + padding-bottom: 52px !important; + } + .py-xxl-14 { + padding-top: 56px !important; + padding-bottom: 56px !important; + } + .py-xxl-15 { + padding-top: 60px !important; + padding-bottom: 60px !important; + } + .py-xxl-16 { + padding-top: 64px !important; + padding-bottom: 64px !important; + } + .pt-xxl-0 { + padding-top: 0px !important; + } + .pt-xxl-1 { + padding-top: 4px !important; + } + .pt-xxl-2 { + padding-top: 8px !important; + } + .pt-xxl-3 { + padding-top: 12px !important; + } + .pt-xxl-4 { + padding-top: 16px !important; + } + .pt-xxl-5 { + padding-top: 20px !important; + } + .pt-xxl-6 { + padding-top: 24px !important; + } + .pt-xxl-7 { + padding-top: 28px !important; + } + .pt-xxl-8 { + padding-top: 32px !important; + } + .pt-xxl-9 { + padding-top: 36px !important; + } + .pt-xxl-10 { + padding-top: 40px !important; + } + .pt-xxl-11 { + padding-top: 44px !important; + } + .pt-xxl-12 { + padding-top: 48px !important; + } + .pt-xxl-13 { + padding-top: 52px !important; + } + .pt-xxl-14 { + padding-top: 56px !important; + } + .pt-xxl-15 { + padding-top: 60px !important; + } + .pt-xxl-16 { + padding-top: 64px !important; + } + .pr-xxl-0 { + padding-right: 0px !important; + } + .pr-xxl-1 { + padding-right: 4px !important; + } + .pr-xxl-2 { + padding-right: 8px !important; + } + .pr-xxl-3 { + padding-right: 12px !important; + } + .pr-xxl-4 { + padding-right: 16px !important; + } + .pr-xxl-5 { + padding-right: 20px !important; + } + .pr-xxl-6 { + padding-right: 24px !important; + } + .pr-xxl-7 { + padding-right: 28px !important; + } + .pr-xxl-8 { + padding-right: 32px !important; + } + .pr-xxl-9 { + padding-right: 36px !important; + } + .pr-xxl-10 { + padding-right: 40px !important; + } + .pr-xxl-11 { + padding-right: 44px !important; + } + .pr-xxl-12 { + padding-right: 48px !important; + } + .pr-xxl-13 { + padding-right: 52px !important; + } + .pr-xxl-14 { + padding-right: 56px !important; + } + .pr-xxl-15 { + padding-right: 60px !important; + } + .pr-xxl-16 { + padding-right: 64px !important; + } + .pb-xxl-0 { + padding-bottom: 0px !important; + } + .pb-xxl-1 { + padding-bottom: 4px !important; + } + .pb-xxl-2 { + padding-bottom: 8px !important; + } + .pb-xxl-3 { + padding-bottom: 12px !important; + } + .pb-xxl-4 { + padding-bottom: 16px !important; + } + .pb-xxl-5 { + padding-bottom: 20px !important; + } + .pb-xxl-6 { + padding-bottom: 24px !important; + } + .pb-xxl-7 { + padding-bottom: 28px !important; + } + .pb-xxl-8 { + padding-bottom: 32px !important; + } + .pb-xxl-9 { + padding-bottom: 36px !important; + } + .pb-xxl-10 { + padding-bottom: 40px !important; + } + .pb-xxl-11 { + padding-bottom: 44px !important; + } + .pb-xxl-12 { + padding-bottom: 48px !important; + } + .pb-xxl-13 { + padding-bottom: 52px !important; + } + .pb-xxl-14 { + padding-bottom: 56px !important; + } + .pb-xxl-15 { + padding-bottom: 60px !important; + } + .pb-xxl-16 { + padding-bottom: 64px !important; + } + .pl-xxl-0 { + padding-left: 0px !important; + } + .pl-xxl-1 { + padding-left: 4px !important; + } + .pl-xxl-2 { + padding-left: 8px !important; + } + .pl-xxl-3 { + padding-left: 12px !important; + } + .pl-xxl-4 { + padding-left: 16px !important; + } + .pl-xxl-5 { + padding-left: 20px !important; + } + .pl-xxl-6 { + padding-left: 24px !important; + } + .pl-xxl-7 { + padding-left: 28px !important; + } + .pl-xxl-8 { + padding-left: 32px !important; + } + .pl-xxl-9 { + padding-left: 36px !important; + } + .pl-xxl-10 { + padding-left: 40px !important; + } + .pl-xxl-11 { + padding-left: 44px !important; + } + .pl-xxl-12 { + padding-left: 48px !important; + } + .pl-xxl-13 { + padding-left: 52px !important; + } + .pl-xxl-14 { + padding-left: 56px !important; + } + .pl-xxl-15 { + padding-left: 60px !important; + } + .pl-xxl-16 { + padding-left: 64px !important; + } + .ps-xxl-0 { + padding-inline-start: 0px !important; + } + .ps-xxl-1 { + padding-inline-start: 4px !important; + } + .ps-xxl-2 { + padding-inline-start: 8px !important; + } + .ps-xxl-3 { + padding-inline-start: 12px !important; + } + .ps-xxl-4 { + padding-inline-start: 16px !important; + } + .ps-xxl-5 { + padding-inline-start: 20px !important; + } + .ps-xxl-6 { + padding-inline-start: 24px !important; + } + .ps-xxl-7 { + padding-inline-start: 28px !important; + } + .ps-xxl-8 { + padding-inline-start: 32px !important; + } + .ps-xxl-9 { + padding-inline-start: 36px !important; + } + .ps-xxl-10 { + padding-inline-start: 40px !important; + } + .ps-xxl-11 { + padding-inline-start: 44px !important; + } + .ps-xxl-12 { + padding-inline-start: 48px !important; + } + .ps-xxl-13 { + padding-inline-start: 52px !important; + } + .ps-xxl-14 { + padding-inline-start: 56px !important; + } + .ps-xxl-15 { + padding-inline-start: 60px !important; + } + .ps-xxl-16 { + padding-inline-start: 64px !important; + } + .pe-xxl-0 { + padding-inline-end: 0px !important; + } + .pe-xxl-1 { + padding-inline-end: 4px !important; + } + .pe-xxl-2 { + padding-inline-end: 8px !important; + } + .pe-xxl-3 { + padding-inline-end: 12px !important; + } + .pe-xxl-4 { + padding-inline-end: 16px !important; + } + .pe-xxl-5 { + padding-inline-end: 20px !important; + } + .pe-xxl-6 { + padding-inline-end: 24px !important; + } + .pe-xxl-7 { + padding-inline-end: 28px !important; + } + .pe-xxl-8 { + padding-inline-end: 32px !important; + } + .pe-xxl-9 { + padding-inline-end: 36px !important; + } + .pe-xxl-10 { + padding-inline-end: 40px !important; + } + .pe-xxl-11 { + padding-inline-end: 44px !important; + } + .pe-xxl-12 { + padding-inline-end: 48px !important; + } + .pe-xxl-13 { + padding-inline-end: 52px !important; + } + .pe-xxl-14 { + padding-inline-end: 56px !important; + } + .pe-xxl-15 { + padding-inline-end: 60px !important; + } + .pe-xxl-16 { + padding-inline-end: 64px !important; + } + .text-xxl-left { + text-align: left !important; + } + .text-xxl-right { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } + .text-xxl-justify { + text-align: justify !important; + } + .text-xxl-start { + text-align: start !important; + } + .text-xxl-end { + text-align: end !important; + } + .text-xxl-h1 { + font-size: 60px !important; + font-weight: 500; + line-height: 60px; + letter-spacing: -0.4px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-h2 { + font-size: 35px !important; + font-weight: 500; + line-height: 40px; + letter-spacing: -0.16px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-h3 { + font-size: 28px !important; + font-weight: 500; + line-height: 36px; + letter-spacing: -0.12px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-h4 { + font-size: 24px !important; + font-weight: 500; + line-height: 32px; + letter-spacing: -0.1px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-h5 { + font-size: 20px !important; + font-weight: 500; + line-height: 28px; + letter-spacing: -0.08px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-h6 { + font-size: 18px !important; + font-weight: 500; + line-height: 26px; + letter-spacing: -0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-subtitle-1 { + font-size: 16px !important; + font-weight: 500; + line-height: 24px; + letter-spacing: 0.009375em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-subtitle-2 { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.15px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-body-1 { + font-size: 16px !important; + font-weight: 400; + line-height: 1.5; + letter-spacing: 0.03125em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-body-2 { + font-size: 14px !important; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.0178571429em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-button { + font-size: 14px !important; + font-weight: 500; + line-height: 20px; + letter-spacing: 0.0892857143em !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-caption { + font-size: 12px !important; + font-weight: 400; + line-height: 16px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: none !important; + } + .text-xxl-overline { + font-size: 12px !important; + font-weight: 400; + line-height: 26px; + letter-spacing: 0.04px !important; + font-family: inherit; + text-transform: uppercase !important; + } + .h-xxl-auto { + height: auto !important; + } + .h-xxl-screen { + height: 100vh !important; + } + .h-xxl-0 { + height: 0 !important; + } + .h-xxl-25 { + height: 25% !important; + } + .h-xxl-50 { + height: 50% !important; + } + .h-xxl-75 { + height: 75% !important; + } + .h-xxl-100 { + height: 100% !important; + } + .w-xxl-auto { + width: auto !important; + } + .w-xxl-0 { + width: 0 !important; + } + .w-xxl-25 { + width: 25% !important; + } + .w-xxl-33 { + width: 33% !important; + } + .w-xxl-50 { + width: 50% !important; + } + .w-xxl-66 { + width: 66% !important; + } + .w-xxl-75 { + width: 75% !important; + } + .w-xxl-100 { + width: 100% !important; + } +} +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .float-print-none { + float: none !important; + } + .float-print-left { + float: left !important; + } + .float-print-right { + float: right !important; + } + .v-locale--is-rtl .float-print-end { + float: left !important; + } + .v-locale--is-rtl .float-print-start { + float: right !important; + } + .v-locale--is-ltr .float-print-end { + float: right !important; + } + .v-locale--is-ltr .float-print-start { + float: left !important; + } +}/* Colors */ +.v-application { + display: flex; + background: rgb(var(--v-theme-background)); + color: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity)); +} + +.v-application__wrap { + backface-visibility: hidden; + display: flex; + flex-direction: column; + flex: 1 1 auto; + max-width: 100%; + min-height: 100vh; + min-height: 100dvh; + position: relative; +}/* Colors */ +.v-app-bar { + display: flex; +} +.v-app-bar.v-toolbar { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-app-bar.v-toolbar:not(.v-toolbar--flat) { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-app-bar:not(.v-toolbar--absolute) { + padding-inline-end: var(--v-scrollbar-offset); +}/* Colors */ +.v-toolbar { + align-items: flex-start; + display: flex; + flex: none; + flex-direction: column; + justify-content: space-between; + max-width: 100%; + position: relative; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition-property: height, width, transform, max-width, left, right, top, bottom, box-shadow; + width: 100%; +} +@media (prefers-reduced-motion: reduce) { + .v-toolbar { + transition-property: box-shadow; + } +} +.v-toolbar { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-toolbar--border { + border-width: thin; + box-shadow: none; +} +.v-toolbar { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-toolbar { + border-radius: 0; +} +.v-toolbar { + background: rgb(var(--v-theme-surface-light)); + color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity)); +} +.v-toolbar--absolute { + position: absolute; +} +.v-toolbar--collapse { + max-width: 112px; + overflow: hidden; + border-end-end-radius: 24px; +} +.v-toolbar--collapse .v-toolbar-title { + display: none; +} +.v-toolbar--flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-toolbar--floating { + display: inline-flex; + width: auto; +} +.v-toolbar--rounded { + border-radius: 4px; +} + +.v-toolbar__content, +.v-toolbar__extension { + align-items: center; + display: flex; + flex: 0 0 auto; + position: relative; + transition: inherit; + width: 100%; +} + +.v-toolbar__content { + overflow: hidden; +} +.v-toolbar__content > .v-btn:first-child { + margin-inline-start: 4px; +} +.v-toolbar__content > .v-btn:last-child { + margin-inline-end: 4px; +} +.v-toolbar__content > .v-toolbar-title { + margin-inline-start: 20px; +} +.v-toolbar--density-prominent .v-toolbar__content { + align-items: flex-start; +} + +.v-toolbar__image { + display: flex; + opacity: var(--v-toolbar-image-opacity, 1); + transition-property: opacity; +} +.v-toolbar__image { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-toolbar__prepend, +.v-toolbar__append { + align-items: center; + align-self: stretch; + display: flex; +} + +.v-toolbar__prepend { + margin-inline: 4px auto; +} + +.v-toolbar__append { + margin-inline: auto 4px; +} + +.v-toolbar-title { + flex: 1 1; + font-size: 1.25rem; + min-width: 0; +} +.v-toolbar-title { + font-size: 1.25rem; + font-weight: 400; + letter-spacing: 0; + line-height: 1.75rem; + text-transform: none; +} +.v-toolbar--density-prominent .v-toolbar-title { + align-self: flex-end; + padding-bottom: 6px; +} +.v-toolbar--density-prominent .v-toolbar-title { + font-size: 1.5rem; + font-weight: 400; + letter-spacing: 0; + line-height: 2.25rem; + text-transform: none; +} + +.v-toolbar-title__placeholder { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.v-toolbar-items { + display: flex; + height: inherit; + align-self: stretch; +} +.v-toolbar-items > .v-btn { + border-radius: 0; +}/* Colors */ +.v-img { + --v-theme-overlay-multiplier: 3; + z-index: 0; +} +.v-img.v-img--absolute { + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.v-img--booting .v-responsive__sizer { + transition: none; +} +.v-img--rounded { + border-radius: 4px; +} + +.v-img__img, +.v-img__picture, +.v-img__gradient, +.v-img__placeholder, +.v-img__error { + z-index: -1; +} +.v-img__img, +.v-img__picture, +.v-img__gradient, +.v-img__placeholder, +.v-img__error { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-img__img--preload { + filter: blur(4px); +} +.v-img__img--contain { + object-fit: contain; +} +.v-img__img--cover { + object-fit: cover; +} + +.v-img__gradient { + background-repeat: no-repeat; +}/* Colors */ +.v-responsive { + display: flex; + flex: 1 0 auto; + max-height: 100%; + max-width: 100%; + overflow: hidden; + position: relative; +} +.v-responsive--inline { + display: inline-flex; + flex: 0 0 auto; +} + +.v-responsive__content { + flex: 1 0 0px; + max-width: 100%; +} + +.v-responsive__sizer ~ .v-responsive__content { + margin-inline-start: -100%; +} + +.v-responsive__sizer { + flex: 1 0 0px; + transition: padding-bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1); + pointer-events: none; +}/* Colors */ +.v-btn { + align-items: center; + border-radius: 4px; + display: inline-grid; + grid-template-areas: "prepend content append"; + grid-template-columns: max-content auto max-content; + font-weight: 500; + justify-content: center; + letter-spacing: 0.0892857143em; + line-height: normal; + max-width: 100%; + outline: none; + position: relative; + text-decoration: none; + text-indent: 0.0892857143em; + text-transform: none; + transition-property: box-shadow, transform, opacity, background; + transition-duration: 0.28s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + user-select: none; + vertical-align: middle; + flex-shrink: 0; +} +.v-locale--is-rtl .v-btn { + text-indent: -0.0892857143em; +} +.v-btn--size-x-small { + --v-btn-size: 13.75px; + --v-btn-height: 20px; + font-size: var(--v-btn-size); + min-width: 36px; + padding: 0 8px; +} + +.v-btn--size-small { + --v-btn-size: 13.875px; + --v-btn-height: 28px; + font-size: var(--v-btn-size); + min-width: 50px; + padding: 0 12px; +} + +.v-btn--size-default { + --v-btn-size: 14px; + --v-btn-height: 36px; + font-size: var(--v-btn-size); + min-width: 64px; + padding: 0 16px; +} + +.v-btn--size-large { + --v-btn-size: 14.125px; + --v-btn-height: 44px; + font-size: var(--v-btn-size); + min-width: 78px; + padding: 0 20px; +} + +.v-btn--size-x-large { + --v-btn-size: 14.25px; + --v-btn-height: 52px; + font-size: var(--v-btn-size); + min-width: 92px; + padding: 0 24px; +} + +.v-btn.v-btn--density-default { + height: calc(var(--v-btn-height) + 0px); +} + +.v-btn.v-btn--density-comfortable { + height: calc(var(--v-btn-height) + -8px); +} + +.v-btn.v-btn--density-compact { + height: calc(var(--v-btn-height) + -12px); +} + +.v-btn { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-btn--border { + border-width: thin; + box-shadow: none; +} +.v-btn--absolute { + position: absolute; +} +.v-btn--fixed { + position: fixed; +} +.v-btn:hover > .v-btn__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-btn:focus-visible > .v-btn__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-btn:focus > .v-btn__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-btn--active > .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true] > .v-btn__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-btn--active:hover > .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true]:hover > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-btn--active:focus-visible > .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-btn--active:focus > .v-btn__overlay, .v-btn[aria-haspopup=menu][aria-expanded=true]:focus > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-btn--variant-plain, .v-btn--variant-outlined, .v-btn--variant-text, .v-btn--variant-tonal { + background: transparent; + color: inherit; +} +.v-btn--variant-plain { + opacity: 0.62; +} +.v-btn--variant-plain:focus, .v-btn--variant-plain:hover { + opacity: 1; +} +.v-btn--variant-plain .v-btn__overlay { + display: none; +} +.v-btn--variant-elevated, .v-btn--variant-flat { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-btn--variant-elevated { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-btn--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-btn--variant-outlined { + border: thin solid currentColor; +} +.v-btn--variant-text .v-btn__overlay { + background: currentColor; +} +.v-btn--variant-tonal .v-btn__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-btn .v-btn__underlay { + position: absolute; +} +@supports selector(:focus-visible) { + .v-btn::after { + pointer-events: none; + border: 2px solid currentColor; + border-radius: inherit; + opacity: 0; + transition: opacity 0.2s ease-in-out; + } + .v-btn::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .v-btn:focus-visible::after { + opacity: calc(0.25 * var(--v-theme-overlay-multiplier)); + } +} +.v-btn--icon { + border-radius: 50%; + min-width: 0; + padding: 0; +} +.v-btn--icon.v-btn--size-default { + --v-btn-size: 1rem; +} +.v-btn--icon.v-btn--density-default { + width: calc(var(--v-btn-height) + 12px); + height: calc(var(--v-btn-height) + 12px); +} +.v-btn--icon.v-btn--density-comfortable { + width: calc(var(--v-btn-height) + 0px); + height: calc(var(--v-btn-height) + 0px); +} +.v-btn--icon.v-btn--density-compact { + width: calc(var(--v-btn-height) + -8px); + height: calc(var(--v-btn-height) + -8px); +} + +.v-btn--elevated:hover, .v-btn--elevated:focus { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-btn--elevated:active { + box-shadow: 0 6px 16px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-lg-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-btn--flat { + box-shadow: none; +} +.v-btn--block { + display: flex; + flex: 1 0 auto; + min-width: 100%; +} +.v-btn--spaced { + display: grid; + grid-template-columns: max-content 1fr max-content; +} +.v-btn--spaced.v-btn--spaced-start > .v-btn__content { + justify-content: end; +} +.v-btn--spaced.v-btn--spaced-end > .v-btn__content { + justify-content: start; +} +.v-btn--disabled { + pointer-events: none; + opacity: 0.26; +} +.v-btn--disabled:hover { + opacity: 0.26; +} +.v-btn--disabled.v-btn--variant-elevated, .v-btn--disabled.v-btn--variant-flat { + box-shadow: none; + opacity: 1; + color: rgba(var(--v-theme-on-surface), 0.26); + background: rgb(var(--v-theme-surface)); +} +.v-btn--disabled.v-btn--variant-elevated .v-btn__overlay, .v-btn--disabled.v-btn--variant-flat .v-btn__overlay { + opacity: 0.4615384615; +} +.v-btn--loading { + pointer-events: none; +} +.v-btn--loading .v-btn__content, +.v-btn--loading .v-btn__prepend, +.v-btn--loading .v-btn__append { + opacity: 0; +} +.v-btn--stacked { + grid-template-areas: "prepend" "content" "append"; + grid-template-columns: auto; + grid-template-rows: max-content max-content max-content; + justify-items: center; + align-content: center; +} +.v-btn--stacked .v-btn__content { + flex-direction: column; + line-height: 1.25; +} +.v-btn--stacked .v-btn__prepend, +.v-btn--stacked .v-btn__append, +.v-btn--stacked .v-btn__content > .v-icon--start, +.v-btn--stacked .v-btn__content > .v-icon--end { + margin-inline: 0; +} +.v-btn--stacked .v-btn__prepend, +.v-btn--stacked .v-btn__content > .v-icon--start { + margin-bottom: 4px; +} +.v-btn--stacked .v-btn__append, +.v-btn--stacked .v-btn__content > .v-icon--end { + margin-top: 4px; +} +.v-btn--stacked.v-btn--size-x-small { + --v-btn-size: 13.75px; + --v-btn-height: 56px; + font-size: var(--v-btn-size); + min-width: 56px; + padding: 0 12px; +} + +.v-btn--stacked.v-btn--size-small { + --v-btn-size: 13.875px; + --v-btn-height: 64px; + font-size: var(--v-btn-size); + min-width: 64px; + padding: 0 14px; +} + +.v-btn--stacked.v-btn--size-default { + --v-btn-size: 14px; + --v-btn-height: 72px; + font-size: var(--v-btn-size); + min-width: 72px; + padding: 0 16px; +} + +.v-btn--stacked.v-btn--size-large { + --v-btn-size: 14.125px; + --v-btn-height: 80px; + font-size: var(--v-btn-size); + min-width: 80px; + padding: 0 18px; +} + +.v-btn--stacked.v-btn--size-x-large { + --v-btn-size: 14.25px; + --v-btn-height: 88px; + font-size: var(--v-btn-size); + min-width: 88px; + padding: 0 20px; +} + +.v-btn--stacked.v-btn--density-default { + height: calc(var(--v-btn-height) + 0px); +} + +.v-btn--stacked.v-btn--density-comfortable { + height: calc(var(--v-btn-height) + -16px); +} + +.v-btn--stacked.v-btn--density-compact { + height: calc(var(--v-btn-height) + -24px); +} + +.v-btn--slim { + padding: 0 8px; +} +.v-btn--readonly { + pointer-events: none; +} +.v-btn--rounded { + border-radius: 24px; +} +.v-btn--rounded.v-btn--icon { + border-radius: 4px; +} +.v-btn .v-icon { + --v-icon-size-multiplier: 0.8571428571; +} +.v-btn--icon .v-icon { + --v-icon-size-multiplier: 1; +} +.v-btn--stacked .v-icon { + --v-icon-size-multiplier: 1.1428571429; +} +.v-btn--stacked.v-btn--block { + min-width: 100%; +} + +.v-btn__loader { + align-items: center; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.v-btn__loader > .v-progress-circular { + width: 1.5em; + height: 1.5em; +} + +.v-btn__content, +.v-btn__prepend, +.v-btn__append { + align-items: center; + display: flex; + transition: transform, opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} + +.v-btn__prepend { + grid-area: prepend; + margin-inline: calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5); +} +.v-btn--slim .v-btn__prepend { + margin-inline-start: 0; +} + +.v-btn__append { + grid-area: append; + margin-inline: calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9); +} +.v-btn--slim .v-btn__append { + margin-inline-end: 0; +} + +.v-btn__content { + grid-area: content; + justify-content: center; + white-space: nowrap; +} +.v-btn__content > .v-icon--start { + margin-inline: calc(var(--v-btn-height) / -9) calc(var(--v-btn-height) / 4.5); +} +.v-btn__content > .v-icon--end { + margin-inline: calc(var(--v-btn-height) / 4.5) calc(var(--v-btn-height) / -9); +} +.v-btn--stacked .v-btn__content { + white-space: normal; +} + +.v-btn__overlay { + background-color: currentColor; + border-radius: inherit; + opacity: 0; + transition: opacity 0.2s ease-in-out; +} + +.v-btn__overlay, +.v-btn__underlay { + pointer-events: none; +} +.v-btn__overlay, +.v-btn__underlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-pagination .v-btn { + width: auto; + padding-inline: 5px; +} +.v-pagination .v-btn.v-btn--density-default { + min-width: calc(var(--v-btn-height) + 12px); +} +.v-pagination .v-btn.v-btn--density-comfortable { + min-width: calc(var(--v-btn-height) + 0px); +} +.v-pagination .v-btn.v-btn--density-compact { + min-width: calc(var(--v-btn-height) + -8px); +} +.v-pagination .v-btn { + border-radius: 4px; +} +.v-pagination .v-btn--rounded { + border-radius: 50%; +} +.v-pagination .v-btn__overlay { + transition: none; +} +.v-pagination__prev .v-btn, .v-pagination__next .v-btn { + padding-inline: 0; +} +.v-pagination__prev .v-btn.v-btn--density-default, .v-pagination__next .v-btn.v-btn--density-default { + width: calc(var(--v-btn-height) + 12px); +} +.v-pagination__prev .v-btn.v-btn--density-comfortable, .v-pagination__next .v-btn.v-btn--density-comfortable { + width: calc(var(--v-btn-height) + 0px); +} +.v-pagination__prev .v-btn.v-btn--density-compact, .v-pagination__next .v-btn.v-btn--density-compact { + width: calc(var(--v-btn-height) + -8px); +} +.v-pagination .v-pagination__item--is-active .v-btn__overlay { + opacity: var(--v-border-opacity); +} + +@media (forced-colors: active) { + .v-btn:not(.v-btn--variant-text, .v-btn--variant-plain) { + border: thin solid; + } + .v-btn:focus-visible { + outline: 2px solid; + outline-offset: 2px; + } +}/* Colors */ +.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled) > .v-btn__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled):hover > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled):focus-visible > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled):focus > .v-btn__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-btn-toggle > .v-btn.v-btn--active:not(.v-btn--disabled).v-btn--variant-plain { + opacity: 1; +}/* Colors */ +.v-btn-group { + display: inline-flex; + flex-wrap: nowrap; + max-width: 100%; + min-width: 0; + overflow-y: hidden; + overflow-x: auto; + vertical-align: middle; +} +.v-btn-group { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-btn-group--border { + border-width: thin; + box-shadow: none; +} +.v-btn-group { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-btn-group { + border-radius: 4px; +} +.v-btn-group { + background: transparent; + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-btn-group--density-default.v-btn-group { + height: 48px; +} + +.v-btn-group--density-comfortable.v-btn-group { + height: 40px; +} + +.v-btn-group--density-compact.v-btn-group { + height: 36px; +} + +.v-btn-group .v-btn { + border-radius: 0; + border-color: inherit; +} +.v-btn-group--tile { + border-radius: 0; +} +.v-btn-group--horizontal .v-btn:not(:last-child) { + border-inline-end: none; +} +.v-btn-group--horizontal .v-btn:not(:first-child) { + border-inline-start: none; +} +.v-btn-group--horizontal .v-btn:first-child { + border-start-start-radius: inherit; + border-end-start-radius: inherit; +} +.v-btn-group--horizontal .v-btn:last-child { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +.v-btn-group--horizontal.v-btn-group--divided .v-btn:not(:last-child) { + border-inline-end-width: thin; + border-inline-end-style: solid; + border-inline-end-color: rgba(var(--v-border-color), var(--v-border-opacity)); +} +.v-btn-group--vertical { + flex-direction: column; + height: auto !important; +} +.v-btn-group--vertical .v-btn:not(:last-child) { + border-block-end: none; +} +.v-btn-group--vertical .v-btn:not(:first-child) { + border-block-start: none; +} +.v-btn-group--vertical .v-btn:first-child { + border-start-start-radius: inherit; + border-start-end-radius: inherit; +} +.v-btn-group--vertical .v-btn:last-child { + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} +.v-btn-group--vertical.v-btn-group--divided .v-btn:not(:last-child) { + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)); +}/* Colors */ +.v-icon { + --v-icon-size-multiplier: 1; + align-items: center; + display: inline-flex; + font-feature-settings: "liga"; + height: 1em; + justify-content: center; + letter-spacing: normal; + line-height: 1; + position: relative; + opacity: var(--v-icon-opacity, 1); + text-indent: 0; + text-align: center; + user-select: none; + vertical-align: middle; + width: 1em; + min-width: 1em; +} +.v-icon--clickable { + cursor: pointer; +} +.v-icon--disabled { + pointer-events: none; + opacity: 0.38; +} +.v-icon--size-x-small { + font-size: calc(var(--v-icon-size-multiplier) * 1em); +} +.v-icon--size-small { + font-size: calc(var(--v-icon-size-multiplier) * 1.25em); +} +.v-icon--size-default { + font-size: calc(var(--v-icon-size-multiplier) * 1.5em); +} +.v-icon--size-large { + font-size: calc(var(--v-icon-size-multiplier) * 1.75em); +} +.v-icon--size-x-large { + font-size: calc(var(--v-icon-size-multiplier) * 2em); +} + +.v-icon__svg { + fill: currentColor; + width: 100%; + height: 100%; +} + +.v-icon--start { + margin-inline-end: 8px; +} + +.v-icon--end { + margin-inline-start: 8px; +}/* Colors */ +.v-progress-circular { + align-items: center; + display: inline-flex; + justify-content: center; + position: relative; + vertical-align: middle; +} +.v-progress-circular > svg { + width: 100%; + height: 100%; + margin: auto; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 0; +} + +.v-progress-circular__content { + align-items: center; + display: flex; + justify-content: center; +} + +.v-progress-circular__underlay { + color: rgba(var(--v-border-color), var(--v-border-opacity)); + stroke: currentColor; + z-index: 1; +} + +.v-progress-circular__overlay { + stroke: currentColor; + transition: all 0.2s ease-in-out, stroke-width 0s; + z-index: 2; +} + +.v-progress-circular--size-x-small { + height: 16px; + width: 16px; +} +.v-progress-circular--size-small { + height: 24px; + width: 24px; +} +.v-progress-circular--size-default { + height: 32px; + width: 32px; +} +.v-progress-circular--size-large { + height: 48px; + width: 48px; +} +.v-progress-circular--size-x-large { + height: 64px; + width: 64px; +} + +.v-progress-circular--indeterminate > svg { + animation: progress-circular-rotate 1.4s linear infinite; + transform-origin: center center; + transition: all 0.2s ease-in-out; +} +.v-progress-circular--indeterminate .v-progress-circular__overlay { + animation: progress-circular-dash 1.4s ease-in-out infinite, progress-circular-rotate 1.4s linear infinite; + stroke-dasharray: 25, 200; + stroke-dashoffset: 0; + stroke-linecap: round; + transform-origin: center center; + transform: rotate(-90deg); +} + +.v-progress-circular--disable-shrink > svg { + animation-duration: 0.7s; +} +.v-progress-circular--disable-shrink .v-progress-circular__overlay { + animation: none; +} + +.v-progress-circular--indeterminate:not(.v-progress-circular--visible) > svg, +.v-progress-circular--indeterminate:not(.v-progress-circular--visible) .v-progress-circular__overlay { + animation-play-state: paused !important; +} + +@keyframes progress-circular-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0px; + } + 50% { + stroke-dasharray: 100, 200; + stroke-dashoffset: -15px; + } + 100% { + stroke-dasharray: 100, 200; + stroke-dashoffset: -124px; + } +} +@keyframes progress-circular-rotate { + 100% { + transform: rotate(270deg); + } +}/* Colors */ +.v-progress-linear { + background: transparent; + overflow: hidden; + position: relative; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1), mask-size 0s; + width: 100%; +} +.v-progress-linear--rounded { + border-radius: 9999px; +} +@media (forced-colors: active) { + .v-progress-linear { + border: thin solid buttontext; + } +} + +.v-progress-linear__background, +.v-progress-linear__buffer { + background: currentColor; + bottom: 0; + left: 0; + opacity: var(--v-border-opacity); + position: absolute; + top: 0; + width: 100%; + transition-property: width, left, right; + transition: inherit; +} + +@media (forced-colors: active) { + .v-progress-linear__buffer { + background-color: highlight !important; + opacity: 0.5 !important; + } +} +.v-progress-linear__content { + align-items: center; + display: flex; + height: 100%; + justify-content: center; + left: 0; + position: absolute; + top: 0; + width: 100%; +} + +.v-progress-linear--clickable .v-progress-linear__content { + pointer-events: none; +} + +.v-progress-linear__determinate, +.v-progress-linear__indeterminate { + background: currentColor; +} +@media (forced-colors: active) { + .v-progress-linear__determinate, + .v-progress-linear__indeterminate { + background-color: highlight !important; + } +} + +.v-progress-linear__determinate { + height: inherit; + left: 0; + position: absolute; + transition: inherit; + transition-property: width, left, right; +} + +.v-progress-linear__indeterminate .long, .v-progress-linear__indeterminate .short { + animation-play-state: paused; + animation-duration: 2.2s; + animation-iteration-count: infinite; + bottom: 0; + height: inherit; + left: 0; + position: absolute; + right: auto; + top: 0; + width: auto; +} +.v-progress-linear__indeterminate .long { + animation-name: indeterminate-ltr; +} +.v-progress-linear__indeterminate .short { + animation-name: indeterminate-short-ltr; +} + +.v-progress-linear__stream { + animation: stream 0.25s infinite linear; + animation-play-state: paused; + bottom: 0; + left: auto; + opacity: 0.3; + pointer-events: none; + position: absolute; + transition: inherit; + transition-property: width, left, right; +} + +.v-progress-linear--reverse .v-progress-linear__background, +.v-progress-linear--reverse .v-progress-linear__determinate, +.v-progress-linear--reverse .v-progress-linear__content { + left: auto; + right: 0; +} +.v-progress-linear--reverse .v-progress-linear__indeterminate .long, .v-progress-linear--reverse .v-progress-linear__indeterminate .short { + left: auto; + right: 0; +} +.v-progress-linear--reverse .v-progress-linear__indeterminate .long { + animation-name: indeterminate-rtl; +} +.v-progress-linear--reverse .v-progress-linear__indeterminate .short { + animation-name: indeterminate-short-rtl; +} +.v-progress-linear--reverse .v-progress-linear__stream { + right: auto; +} + +.v-progress-linear--absolute, +.v-progress-linear--fixed { + left: 0; + z-index: 1; +} + +.v-progress-linear--absolute { + position: absolute; +} + +.v-progress-linear--fixed { + position: fixed; +} + +.v-progress-linear--rounded { + border-radius: 9999px; +} +.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__determinate, +.v-progress-linear--rounded.v-progress-linear--rounded-bar .v-progress-linear__indeterminate { + border-radius: inherit; +} + +.v-progress-linear--striped .v-progress-linear__determinate { + animation: progress-linear-stripes 1s infinite linear; + background-image: linear-gradient(135deg, hsla(0, 0%, 100%, 0.25) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, 0.25) 0, hsla(0, 0%, 100%, 0.25) 75%, transparent 0, transparent); + background-repeat: repeat; + background-size: var(--v-progress-linear-height); +} + +.v-progress-linear--active .v-progress-linear__indeterminate .long, .v-progress-linear--active .v-progress-linear__indeterminate .short { + animation-play-state: running; +} +.v-progress-linear--active .v-progress-linear__stream { + animation-play-state: running; +} + +.v-progress-linear--rounded-bar .v-progress-linear__determinate, +.v-progress-linear--rounded-bar .v-progress-linear__indeterminate, +.v-progress-linear--rounded-bar .v-progress-linear__stream + .v-progress-linear__background { + border-radius: 9999px; +} +.v-progress-linear--rounded-bar .v-progress-linear__determinate { + border-start-start-radius: 0; + border-end-start-radius: 0; +} + +@keyframes indeterminate-ltr { + 0% { + left: -90%; + right: 100%; + } + 60% { + left: -90%; + right: 100%; + } + 100% { + left: 100%; + right: -35%; + } +} +@keyframes indeterminate-rtl { + 0% { + left: 100%; + right: -90%; + } + 60% { + left: 100%; + right: -90%; + } + 100% { + left: -35%; + right: 100%; + } +} +@keyframes indeterminate-short-ltr { + 0% { + left: -200%; + right: 100%; + } + 60% { + left: 107%; + right: -8%; + } + 100% { + left: 107%; + right: -8%; + } +} +@keyframes indeterminate-short-rtl { + 0% { + left: 100%; + right: -200%; + } + 60% { + left: -8%; + right: 107%; + } + 100% { + left: -8%; + right: 107%; + } +} +@keyframes stream { + to { + transform: translateX(var(--v-progress-linear-stream-to)); + } +} +@keyframes progress-linear-stripes { + 0% { + background-position-x: var(--v-progress-linear-height); + } +}/* Colors */ +.v-ripple__container { + color: inherit; + border-radius: inherit; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + overflow: hidden; + z-index: 0; + pointer-events: none; + contain: strict; +} +.v-ripple__animation { + color: inherit; + position: absolute; + top: 0; + left: 0; + border-radius: 50%; + background: currentColor; + opacity: 0; + pointer-events: none; + overflow: hidden; + will-change: transform, opacity; +} +.v-ripple__animation--enter { + transition: none; + opacity: 0; +} +.v-ripple__animation--in { + transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1), opacity 0.1s cubic-bezier(0, 0, 0.2, 1); + opacity: calc(0.25 * var(--v-theme-overlay-multiplier)); +} +@media (prefers-reduced-motion: reduce) { + .v-ripple__animation--in { + transition-property: opacity; + transition-duration: 0.1s; + } +} +.v-ripple__animation--out { + transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1); + opacity: 0; +}/* Colors */ +.v-alert { + display: grid; + flex: 1 1; + grid-template-areas: "prepend content append close" ". content . ."; + grid-template-columns: max-content auto max-content max-content; + position: relative; + padding: 16px; + overflow: hidden; + --v-border-color: currentColor; +} +.v-alert--absolute { + position: absolute; +} +.v-alert--fixed { + position: fixed; +} +.v-alert--sticky { + position: sticky; +} +.v-alert { + border-radius: 4px; +} +.v-alert--variant-plain, .v-alert--variant-outlined, .v-alert--variant-text, .v-alert--variant-tonal { + background: transparent; + color: inherit; +} +.v-alert--variant-plain { + opacity: 0.62; +} +.v-alert--variant-plain:focus, .v-alert--variant-plain:hover { + opacity: 1; +} +.v-alert--variant-plain .v-alert__overlay { + display: none; +} +.v-alert--variant-elevated, .v-alert--variant-flat { + background: rgb(var(--v-theme-surface-light)); + color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity)); +} +.v-alert--variant-elevated { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-alert--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-alert--variant-outlined { + border: thin solid currentColor; +} +.v-alert--variant-text .v-alert__overlay { + background: currentColor; +} +.v-alert--variant-tonal .v-alert__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-alert .v-alert__underlay { + position: absolute; +} +.v-alert--prominent { + grid-template-areas: "prepend content append close" "prepend content . ."; +} +.v-alert.v-alert--border { + --v-border-opacity: 0.38; +} +.v-alert.v-alert--border.v-alert--border-start { + padding-inline-start: 24px; +} +.v-alert.v-alert--border.v-alert--border-end { + padding-inline-end: 24px; +} +.v-alert--variant-plain { + transition: 0.2s opacity cubic-bezier(0.4, 0, 0.2, 1); +} +.v-alert--density-default { + padding-bottom: 16px; + padding-top: 16px; +} +.v-alert--density-default.v-alert--border-top { + padding-top: 24px; +} +.v-alert--density-default.v-alert--border-bottom { + padding-bottom: 24px; +} + +.v-alert--density-comfortable { + padding-bottom: 12px; + padding-top: 12px; +} +.v-alert--density-comfortable.v-alert--border-top { + padding-top: 20px; +} +.v-alert--density-comfortable.v-alert--border-bottom { + padding-bottom: 20px; +} + +.v-alert--density-compact { + padding-bottom: 8px; + padding-top: 8px; +} +.v-alert--density-compact.v-alert--border-top { + padding-top: 16px; +} +.v-alert--density-compact.v-alert--border-bottom { + padding-bottom: 16px; +} + +.v-alert:not(:has(.v-alert-title)) .v-alert__content { + padding-block: calc((1.75rem - 1.5 * 1rem) / 2); +} + +.v-alert__border { + border-radius: inherit; + bottom: 0; + left: 0; + opacity: var(--v-border-opacity); + position: absolute; + pointer-events: none; + right: 0; + top: 0; + width: 100%; +} +.v-alert__border { + border-color: currentColor; + border-style: solid; + border-width: 0; +} +.v-alert__border--border { + border-width: 8px; + box-shadow: none; +} +.v-alert--border-start .v-alert__border { + border-inline-start-width: 8px; +} +.v-alert--border-end .v-alert__border { + border-inline-end-width: 8px; +} +.v-alert--border-top .v-alert__border { + border-top-width: 8px; +} +.v-alert--border-bottom .v-alert__border { + border-bottom-width: 8px; +} + +.v-alert__close { + flex: 0 1 auto; + grid-area: close; +} +.v-alert__close > .v-btn { + margin-block: calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2); +} + +.v-alert__content { + align-self: center; + grid-area: content; + overflow: hidden; +} + +.v-alert__append, +.v-alert__close { + margin-inline-start: 16px; +} + +.v-alert__append { + align-self: flex-start; + grid-area: append; +} +.v-alert__append + .v-alert__close { + margin-inline-start: 16px; +} + +.v-alert__prepend { + align-self: flex-start; + display: flex; + align-items: center; + grid-area: prepend; + margin-inline-end: 16px; + min-height: 1.75rem; +} +.v-alert__prepend > .v-icon { + font-size: 1.75rem; + height: 1.75rem; + width: 1.75rem; +} +.v-alert--prominent .v-alert__prepend { + align-self: center; +} + +.v-alert__underlay { + grid-area: none; + position: absolute; +} +.v-alert--border-start .v-alert__underlay { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.v-alert--border-end .v-alert__underlay { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.v-alert--border-top .v-alert__underlay { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.v-alert--border-bottom .v-alert__underlay { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.v-alert-title { + align-items: center; + align-self: center; + display: flex; + font-size: 18px; + font-weight: 500; + hyphens: auto; + letter-spacing: -0.04px; + line-height: 1.75rem; + overflow-wrap: normal; + text-transform: none; + word-break: normal; + word-wrap: break-word; +} + +@media (forced-colors: active) { + .v-alert:not(.v-alert--variant-text, .v-alert--variant-plain) { + border-style: solid; + } + .v-alert--variant-outlined, .v-alert--variant-tonal { + border-width: medium; + } + .v-alert--variant-elevated, .v-alert--variant-flat { + border-width: thick; + } +}/* Colors */ +.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, +.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, +.v-autocomplete--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, +.v-autocomplete--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 0px; +} +.v-autocomplete .v-field .v-text-field__prefix, +.v-autocomplete .v-field .v-text-field__suffix, +.v-autocomplete .v-field .v-field__input, .v-autocomplete .v-field.v-field { + cursor: text; +} +.v-autocomplete .v-field .v-field__input > input { + flex: 1 1; +} +.v-autocomplete .v-field input { + min-width: 64px; +} +.v-autocomplete .v-field:not(.v-field--focused) input { + min-width: 0; +} +.v-autocomplete .v-field--dirty .v-autocomplete__selection { + margin-inline-end: 2px; +} +.v-autocomplete .v-autocomplete__selection-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.v-autocomplete__content { + overflow: hidden; +} +.v-autocomplete__content { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-menu > .v-overlay__content.v-autocomplete__content { + border-radius: 4px; +} + +.v-autocomplete__mask { + background: rgb(var(--v-theme-surface-light)); +} +.v-autocomplete__selection { + display: inline-flex; + align-items: center; + height: 24px; + letter-spacing: inherit; + line-height: inherit; + max-width: calc(100% - 2px - 2px); +} +.v-autocomplete__selection:first-child { + margin-inline-start: 0; +} +.v-autocomplete--selecting-index .v-autocomplete__selection { + opacity: var(--v-medium-emphasis-opacity); +} +.v-autocomplete--selecting-index .v-autocomplete__selection--selected { + opacity: 1; +} +.v-autocomplete--selecting-index .v-field__input > input { + caret-color: transparent; +} +.v-autocomplete--single:not(.v-autocomplete--selection-slot).v-text-field input { + flex: 1 1; + position: absolute; + left: 0; + right: 0; + width: 100%; + padding-inline: inherit; +} +.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--active input { + transition: none; +} +.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--dirty:not(.v-field--focused) input { + opacity: 0; +} +.v-autocomplete--single:not(.v-autocomplete--selection-slot) .v-field--focused .v-autocomplete__selection { + opacity: 0; +} +.v-autocomplete__menu-icon { + margin-inline-start: 4px; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} +.v-autocomplete--active-menu .v-autocomplete__menu-icon { + transform: rotate(180deg); +}/* Colors */ +.v-avatar { + flex: none; + align-items: center; + display: inline-flex; + justify-content: center; + line-height: normal; + overflow: hidden; + position: relative; + text-align: center; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition-property: width, height; + vertical-align: middle; +} +.v-avatar.v-avatar--size-x-small { + --v-avatar-height: 24px; +} +.v-avatar.v-avatar--size-small { + --v-avatar-height: 32px; +} +.v-avatar.v-avatar--size-default { + --v-avatar-height: 40px; +} +.v-avatar.v-avatar--size-large { + --v-avatar-height: 48px; +} +.v-avatar.v-avatar--size-x-large { + --v-avatar-height: 56px; +} +.v-avatar.v-avatar--density-default { + height: calc(var(--v-avatar-height) + 0px); + width: calc(var(--v-avatar-height) + 0px); +} +.v-avatar.v-avatar--density-comfortable { + height: calc(var(--v-avatar-height) + -4px); + width: calc(var(--v-avatar-height) + -4px); +} +.v-avatar.v-avatar--density-compact { + height: calc(var(--v-avatar-height) + -8px); + width: calc(var(--v-avatar-height) + -8px); +} +.v-avatar { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-avatar--border { + border-width: thin; + box-shadow: none; +} +.v-avatar { + border-radius: 50%; +} +.v-avatar--variant-plain, .v-avatar--variant-outlined, .v-avatar--variant-text, .v-avatar--variant-tonal { + background: transparent; + color: inherit; +} +.v-avatar--variant-plain { + opacity: 0.62; +} +.v-avatar--variant-plain:focus, .v-avatar--variant-plain:hover { + opacity: 1; +} +.v-avatar--variant-plain .v-avatar__overlay { + display: none; +} +.v-avatar--variant-elevated, .v-avatar--variant-flat { + background: var(--v-theme-surface); + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); +} +.v-avatar--variant-elevated { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-avatar--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-avatar--variant-outlined { + border: thin solid currentColor; +} +.v-avatar--variant-text .v-avatar__overlay { + background: currentColor; +} +.v-avatar--variant-tonal .v-avatar__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-avatar .v-avatar__underlay { + position: absolute; +} +.v-avatar--rounded { + border-radius: 4px; +} +.v-avatar--start { + margin-inline-end: 8px; +} +.v-avatar--end { + margin-inline-start: 8px; +} +.v-avatar .v-img { + height: 100%; + width: 100%; +}/* Colors */ +.v-checkbox.v-input { + flex: 0 1 auto; +} +.v-checkbox .v-selection-control { + min-height: var(--v-input-control-height); +}/* Colors */ +.v-selection-control { + align-items: center; + contain: layout; + display: flex; + flex: 1 0; + grid-area: control; + position: relative; + user-select: none; +} +.v-selection-control .v-label { + white-space: normal; + word-break: break-word; + height: 100%; + opacity: 1; +} +.v-selection-control--disabled { + opacity: var(--v-disabled-opacity); + pointer-events: none; +} +.v-selection-control--error:not(.v-selection-control--disabled) .v-label { + color: rgb(var(--v-theme-error)); +} +.v-selection-control--inline { + display: inline-flex; + flex: 0 0 auto; + min-width: 0; + max-width: 100%; +} +.v-selection-control--inline .v-label { + width: auto; +} +.v-selection-control--density-default { + --v-selection-control-size: 40px; +} + +.v-selection-control--density-comfortable { + --v-selection-control-size: 36px; +} + +.v-selection-control--density-compact { + --v-selection-control-size: 28px; +} + +.v-selection-control__wrapper { + width: var(--v-selection-control-size); + height: var(--v-selection-control-size); + display: inline-flex; + align-items: center; + position: relative; + justify-content: center; + flex: none; +} + +.v-selection-control__input { + width: var(--v-selection-control-size); + height: var(--v-selection-control-size); + align-items: center; + display: flex; + flex: none; + justify-content: center; + position: relative; + border-radius: 50%; +} +.v-selection-control__input input { + cursor: pointer; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0; +} +.v-selection-control__input::before { + border-radius: 100%; + background-color: currentColor; + opacity: 0; + pointer-events: none; +} +.v-selection-control__input::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-selection-control__input:hover::before { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-selection-control__input > .v-icon { + opacity: var(--v-medium-emphasis-opacity); +} +.v-selection-control--disabled .v-selection-control__input > .v-icon, .v-selection-control--dirty .v-selection-control__input > .v-icon, .v-selection-control--error .v-selection-control__input > .v-icon { + opacity: 1; +} +.v-selection-control--error:not(.v-selection-control--disabled) .v-selection-control__input > .v-icon { + color: rgb(var(--v-theme-error)); +} +.v-selection-control--focus-visible .v-selection-control__input::before { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +}/* Colors */ +.v-label { + align-items: center; + color: inherit; + display: inline-flex; + font-size: 1rem; + letter-spacing: 0.009375em; + min-width: 0; + opacity: var(--v-medium-emphasis-opacity); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.v-label--clickable { + cursor: pointer; +}/* Colors */ +.v-selection-control-group { + grid-area: control; + display: flex; + flex-direction: column; +} +.v-selection-control-group--inline { + flex-direction: row; + flex-wrap: wrap; +}/* Colors */ +.v-input { + display: grid; + flex: 1 1 auto; + font-size: 16px; + font-weight: 400; + line-height: 1.5; +} +.v-input--disabled { + pointer-events: none; +} +.v-input--density-default { + --v-input-control-height: 56px; + --v-input-padding-top: 16px; +} + +.v-input--density-comfortable { + --v-input-control-height: 48px; + --v-input-padding-top: 12px; +} + +.v-input--density-compact { + --v-input-control-height: 40px; + --v-input-padding-top: 8px; +} + +.v-input--vertical { + grid-template-areas: "append" "control" "prepend"; + grid-template-rows: max-content auto max-content; + grid-template-columns: min-content; +} +.v-input--vertical .v-input__prepend { + margin-block-start: 16px; +} +.v-input--vertical .v-input__append { + margin-block-end: 16px; +} + +.v-input--horizontal { + grid-template-areas: "prepend control append" "a messages b"; + grid-template-columns: max-content minmax(0, 1fr) max-content; + grid-template-rows: 1fr auto; +} +.v-input--horizontal .v-input__prepend { + margin-inline-end: 16px; +} +.v-input--horizontal .v-input__append { + margin-inline-start: 16px; +} + +.v-input__details { + align-items: flex-end; + display: flex; + font-size: 0.75rem; + font-weight: 400; + grid-area: messages; + letter-spacing: 0.0333333333em; + line-height: normal; + min-height: 22px; + padding-top: 6px; + overflow: hidden; + justify-content: space-between; +} + +.v-input__details > .v-icon, +.v-input__prepend > .v-icon, +.v-input__append > .v-icon { + opacity: var(--v-medium-emphasis-opacity); +} +.v-input--disabled .v-input__details > .v-icon, +.v-input--disabled .v-input__details .v-messages, .v-input--error .v-input__details > .v-icon, +.v-input--error .v-input__details .v-messages, +.v-input--disabled .v-input__prepend > .v-icon, +.v-input--disabled .v-input__prepend .v-messages, +.v-input--error .v-input__prepend > .v-icon, +.v-input--error .v-input__prepend .v-messages, +.v-input--disabled .v-input__append > .v-icon, +.v-input--disabled .v-input__append .v-messages, +.v-input--error .v-input__append > .v-icon, +.v-input--error .v-input__append .v-messages { + opacity: 1; +} +.v-input--glow.v-input--focused .v-input__details > .v-icon, +.v-input--glow.v-input--focused .v-input__prepend > .v-icon, +.v-input--glow.v-input--focused .v-input__append > .v-icon { + opacity: 1; +} +.v-input--disabled .v-input__details, +.v-input--disabled .v-input__prepend, +.v-input--disabled .v-input__append { + opacity: var(--v-disabled-opacity); +} +.v-input--error:not(.v-input--disabled) .v-input__details > .v-icon, +.v-input--error:not(.v-input--disabled) .v-input__details .v-messages, +.v-input--error:not(.v-input--disabled) .v-input__prepend > .v-icon, +.v-input--error:not(.v-input--disabled) .v-input__prepend .v-messages, +.v-input--error:not(.v-input--disabled) .v-input__append > .v-icon, +.v-input--error:not(.v-input--disabled) .v-input__append .v-messages { + color: rgb(var(--v-theme-error)); +} + +.v-input__prepend, +.v-input__append { + display: flex; + align-items: flex-start; + padding-top: var(--v-input-padding-top); +} +.v-input--center-affix .v-input__prepend, +.v-input--center-affix .v-input__append { + align-items: center; + padding-top: 0; +} + +.v-input__prepend { + grid-area: prepend; +} + +.v-input__append { + grid-area: append; +} + +.v-input__control { + display: flex; + grid-area: control; +} + +.v-input--hide-spin-buttons input::-webkit-outer-spin-button, +.v-input--hide-spin-buttons input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.v-input--hide-spin-buttons input[type=number] { + -moz-appearance: textfield; +} +.v-input--plain-underlined .v-input__prepend, +.v-input--plain-underlined .v-input__append { + align-items: flex-start; +} +.v-input--density-default.v-input--plain-underlined .v-input__prepend, .v-input--density-default.v-input--plain-underlined .v-input__append { + padding-top: calc(var(--v-input-padding-top) + 4px); +} + +.v-input--density-comfortable.v-input--plain-underlined .v-input__prepend, .v-input--density-comfortable.v-input--plain-underlined .v-input__append { + padding-top: calc(var(--v-input-padding-top) + 2px); +} + +.v-input--density-compact.v-input--plain-underlined .v-input__prepend, .v-input--density-compact.v-input--plain-underlined .v-input__append { + padding-top: calc(var(--v-input-padding-top) + 0px); +}/* Colors */ +.v-messages { + flex: 1 1 auto; + font-size: 12px; + min-height: 14px; + min-width: 1px; + opacity: var(--v-medium-emphasis-opacity); + position: relative; +} +.v-messages__message { + line-height: 12px; + word-break: break-word; + overflow-wrap: break-word; + word-wrap: break-word; + hyphens: auto; + transition-duration: 150ms; +}/* Colors */ +.v-chip { + align-items: center; + display: inline-flex; + font-weight: 400; + max-width: 100%; + min-width: 0; + overflow: hidden; + position: relative; + text-decoration: none; + white-space: nowrap; + vertical-align: middle; +} +.v-chip .v-icon { + --v-icon-size-multiplier: 0.8571428571; +} +.v-chip.v-chip--size-x-small { + --v-chip-size: 13.75px; + --v-chip-height: 20px; + font-size: 13.75px; + padding: 0 8px; +} +.v-chip.v-chip--size-x-small .v-avatar { + --v-avatar-height: 14px; +} +.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar { + --v-avatar-height: 20px; +} + +.v-chip.v-chip--size-x-small .v-avatar--start { + margin-inline-start: -5.6px; + margin-inline-end: 4px; +} +.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--start { + margin-inline-start: -8px; +} + +.v-chip.v-chip--size-x-small .v-avatar--end { + margin-inline-start: 4px; + margin-inline-end: -5.6px; +} +.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--end { + margin-inline-end: -8px; +} + +.v-chip--pill.v-chip.v-chip--size-x-small .v-avatar--end + .v-chip__close { + margin-inline-start: 12px; +} + +.v-chip.v-chip--size-x-small .v-icon--start, +.v-chip.v-chip--size-x-small .v-chip__filter { + margin-inline-start: -4px; + margin-inline-end: 4px; +} +.v-chip.v-chip--size-x-small .v-icon--end, +.v-chip.v-chip--size-x-small .v-chip__close { + margin-inline-start: 4px; + margin-inline-end: -4px; +} +.v-chip.v-chip--size-x-small .v-icon--end + .v-chip__close, +.v-chip.v-chip--size-x-small .v-avatar--end + .v-chip__close, +.v-chip.v-chip--size-x-small .v-chip__append + .v-chip__close { + margin-inline-start: 8px; +} + +.v-chip.v-chip--size-small { + --v-chip-size: 13.875px; + --v-chip-height: 26px; + font-size: 13.875px; + padding: 0 10px; +} +.v-chip.v-chip--size-small .v-avatar { + --v-avatar-height: 20px; +} +.v-chip--pill.v-chip.v-chip--size-small .v-avatar { + --v-avatar-height: 26px; +} + +.v-chip.v-chip--size-small .v-avatar--start { + margin-inline-start: -7px; + margin-inline-end: 5px; +} +.v-chip--pill.v-chip.v-chip--size-small .v-avatar--start { + margin-inline-start: -10px; +} + +.v-chip.v-chip--size-small .v-avatar--end { + margin-inline-start: 5px; + margin-inline-end: -7px; +} +.v-chip--pill.v-chip.v-chip--size-small .v-avatar--end { + margin-inline-end: -10px; +} + +.v-chip--pill.v-chip.v-chip--size-small .v-avatar--end + .v-chip__close { + margin-inline-start: 15px; +} + +.v-chip.v-chip--size-small .v-icon--start, +.v-chip.v-chip--size-small .v-chip__filter { + margin-inline-start: -5px; + margin-inline-end: 5px; +} +.v-chip.v-chip--size-small .v-icon--end, +.v-chip.v-chip--size-small .v-chip__close { + margin-inline-start: 5px; + margin-inline-end: -5px; +} +.v-chip.v-chip--size-small .v-icon--end + .v-chip__close, +.v-chip.v-chip--size-small .v-avatar--end + .v-chip__close, +.v-chip.v-chip--size-small .v-chip__append + .v-chip__close { + margin-inline-start: 10px; +} + +.v-chip.v-chip--size-default { + --v-chip-size: 14px; + --v-chip-height: 32px; + font-size: 14px; + padding: 0 12px; +} +.v-chip.v-chip--size-default .v-avatar { + --v-avatar-height: 26px; +} +.v-chip--pill.v-chip.v-chip--size-default .v-avatar { + --v-avatar-height: 32px; +} + +.v-chip.v-chip--size-default .v-avatar--start { + margin-inline-start: -8.4px; + margin-inline-end: 6px; +} +.v-chip--pill.v-chip.v-chip--size-default .v-avatar--start { + margin-inline-start: -12px; +} + +.v-chip.v-chip--size-default .v-avatar--end { + margin-inline-start: 6px; + margin-inline-end: -8.4px; +} +.v-chip--pill.v-chip.v-chip--size-default .v-avatar--end { + margin-inline-end: -12px; +} + +.v-chip--pill.v-chip.v-chip--size-default .v-avatar--end + .v-chip__close { + margin-inline-start: 18px; +} + +.v-chip.v-chip--size-default .v-icon--start, +.v-chip.v-chip--size-default .v-chip__filter { + margin-inline-start: -6px; + margin-inline-end: 6px; +} +.v-chip.v-chip--size-default .v-icon--end, +.v-chip.v-chip--size-default .v-chip__close { + margin-inline-start: 6px; + margin-inline-end: -6px; +} +.v-chip.v-chip--size-default .v-icon--end + .v-chip__close, +.v-chip.v-chip--size-default .v-avatar--end + .v-chip__close, +.v-chip.v-chip--size-default .v-chip__append + .v-chip__close { + margin-inline-start: 12px; +} + +.v-chip.v-chip--size-large { + --v-chip-size: 14.125px; + --v-chip-height: 38px; + font-size: 14.125px; + padding: 0 14px; +} +.v-chip.v-chip--size-large .v-avatar { + --v-avatar-height: 32px; +} +.v-chip--pill.v-chip.v-chip--size-large .v-avatar { + --v-avatar-height: 38px; +} + +.v-chip.v-chip--size-large .v-avatar--start { + margin-inline-start: -9.8px; + margin-inline-end: 7px; +} +.v-chip--pill.v-chip.v-chip--size-large .v-avatar--start { + margin-inline-start: -14px; +} + +.v-chip.v-chip--size-large .v-avatar--end { + margin-inline-start: 7px; + margin-inline-end: -9.8px; +} +.v-chip--pill.v-chip.v-chip--size-large .v-avatar--end { + margin-inline-end: -14px; +} + +.v-chip--pill.v-chip.v-chip--size-large .v-avatar--end + .v-chip__close { + margin-inline-start: 21px; +} + +.v-chip.v-chip--size-large .v-icon--start, +.v-chip.v-chip--size-large .v-chip__filter { + margin-inline-start: -7px; + margin-inline-end: 7px; +} +.v-chip.v-chip--size-large .v-icon--end, +.v-chip.v-chip--size-large .v-chip__close { + margin-inline-start: 7px; + margin-inline-end: -7px; +} +.v-chip.v-chip--size-large .v-icon--end + .v-chip__close, +.v-chip.v-chip--size-large .v-avatar--end + .v-chip__close, +.v-chip.v-chip--size-large .v-chip__append + .v-chip__close { + margin-inline-start: 14px; +} + +.v-chip.v-chip--size-x-large { + --v-chip-size: 14.25px; + --v-chip-height: 44px; + font-size: 14.25px; + padding: 0 17px; +} +.v-chip.v-chip--size-x-large .v-avatar { + --v-avatar-height: 38px; +} +.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar { + --v-avatar-height: 44px; +} + +.v-chip.v-chip--size-x-large .v-avatar--start { + margin-inline-start: -11.9px; + margin-inline-end: 8.5px; +} +.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--start { + margin-inline-start: -17px; +} + +.v-chip.v-chip--size-x-large .v-avatar--end { + margin-inline-start: 8.5px; + margin-inline-end: -11.9px; +} +.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--end { + margin-inline-end: -17px; +} + +.v-chip--pill.v-chip.v-chip--size-x-large .v-avatar--end + .v-chip__close { + margin-inline-start: 25.5px; +} + +.v-chip.v-chip--size-x-large .v-icon--start, +.v-chip.v-chip--size-x-large .v-chip__filter { + margin-inline-start: -8.5px; + margin-inline-end: 8.5px; +} +.v-chip.v-chip--size-x-large .v-icon--end, +.v-chip.v-chip--size-x-large .v-chip__close { + margin-inline-start: 8.5px; + margin-inline-end: -8.5px; +} +.v-chip.v-chip--size-x-large .v-icon--end + .v-chip__close, +.v-chip.v-chip--size-x-large .v-avatar--end + .v-chip__close, +.v-chip.v-chip--size-x-large .v-chip__append + .v-chip__close { + margin-inline-start: 17px; +} + +.v-chip.v-chip--density-default { + height: calc(var(--v-chip-height) + 0px); +} + +.v-chip.v-chip--density-comfortable { + height: calc(var(--v-chip-height) + -4px); +} + +.v-chip.v-chip--density-compact { + height: calc(var(--v-chip-height) + -8px); +} + +.v-chip { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-chip:hover > .v-chip__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-chip:focus-visible > .v-chip__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-chip:focus > .v-chip__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-chip--active > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true] > .v-chip__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-chip--active:hover > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:hover > .v-chip__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-chip--active:focus-visible > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-chip__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-chip--active:focus > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus > .v-chip__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-chip { + border-radius: 4px; +} +.v-chip--variant-plain, .v-chip--variant-outlined, .v-chip--variant-text, .v-chip--variant-tonal { + background: transparent; + color: inherit; +} +.v-chip--variant-plain { + opacity: 0.62; +} +.v-chip--variant-plain:focus, .v-chip--variant-plain:hover { + opacity: 1; +} +.v-chip--variant-plain .v-chip__overlay { + display: none; +} +.v-chip--variant-elevated, .v-chip--variant-flat { + background: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-chip--variant-elevated { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-chip--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-chip--variant-outlined { + border: thin solid currentColor; +} +.v-chip--variant-text .v-chip__overlay { + background: currentColor; +} +.v-chip--variant-tonal .v-chip__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-chip .v-chip__underlay { + position: absolute; +} +.v-chip--border { + border-width: thin; +} +.v-chip--link { + cursor: pointer; +} +.v-chip--link, .v-chip--filter { + user-select: none; +} +.v-chip--label { + border-radius: 4px; +} + +.v-chip__content { + align-items: center; + display: inline-flex; +} +.v-autocomplete__selection .v-chip__content, .v-combobox__selection .v-chip__content, .v-select__selection .v-chip__content { + overflow: hidden; +} + +.v-chip__filter, +.v-chip__prepend, +.v-chip__append, +.v-chip__close { + align-items: center; + display: inline-flex; +} + +.v-chip__close { + cursor: pointer; + flex: 0 1 auto; + font-size: 18px; + max-height: 18px; + max-width: 18px; + user-select: none; +} +.v-chip__close .v-icon { + font-size: inherit; +} + +.v-chip__filter { + transition: 0.15s cubic-bezier(0.4, 0, 0.2, 1); +} + +.v-chip__overlay { + background-color: currentColor; + border-radius: inherit; + pointer-events: none; + opacity: 0; + transition: opacity 0.2s ease-in-out; +} +.v-chip__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-chip--disabled { + opacity: 0.3; + pointer-events: none; + user-select: none; +} + +.v-chip--label { + border-radius: 4px; +} + +@media (forced-colors: active) { + .v-chip:not(.v-chip--variant-text, .v-chip--variant-plain) { + border: thin solid; + } +}/* Colors */ +.v-chip-group { + display: flex; + max-width: 100%; + min-width: 0; + overflow-x: auto; + padding: 4px 0; +} +.v-chip-group .v-chip { + margin: 4px 8px 4px 0; +} +@media (forced-colors: active) { + .v-chip-group .v-chip { + background-color: buttonface !important; + color: buttontext !important; + } + .v-chip-group .v-chip:hover { + color: highlight !important; + } +} +.v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled) .v-chip__overlay { + opacity: var(--v-activated-opacity); +} +@media (forced-colors: active) { + .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled) { + color: highlight !important; + forced-color-adjust: preserve-parent-color; + } + .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled):focus-visible { + outline-offset: 2px; + } + .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-elevated, .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-flat { + background-color: highlight !important; + color: highlighttext !important; + } + .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-outlined, .v-chip-group .v-chip.v-chip--selected:not(.v-chip--disabled).v-chip--variant-tonal { + border-width: medium; + } +} + +.v-chip-group--column .v-slide-group__content { + white-space: normal; + flex-wrap: wrap; + max-width: 100%; +}/* Colors */ +.v-slide-group { + display: flex; + overflow: hidden; +} + +.v-slide-group__next, +.v-slide-group__prev { + align-items: center; + display: flex; + flex: 0 1 52px; + justify-content: center; + min-width: 52px; + cursor: pointer; +} +.v-slide-group__next--disabled, +.v-slide-group__prev--disabled { + pointer-events: none; + opacity: var(--v-disabled-opacity); +} + +.v-slide-group__content { + display: flex; + flex: 1 0 auto; + position: relative; + transition: 0.2s all cubic-bezier(0.4, 0, 0.2, 1); + white-space: nowrap; +} +.v-slide-group__content > * { + white-space: initial; +} + +.v-slide-group__container { + contain: content; + display: flex; + flex: 1 1 auto; + overflow-x: auto; + overflow-y: hidden; + scrollbar-width: none; + scrollbar-color: rgba(0, 0, 0, 0); +} +.v-slide-group__container::-webkit-scrollbar { + display: none; +} + +.v-slide-group--vertical { + max-height: inherit; +} +.v-slide-group--vertical, +.v-slide-group--vertical .v-slide-group__container, +.v-slide-group--vertical .v-slide-group__content { + flex-direction: column; +} +.v-slide-group--vertical .v-slide-group__container { + overflow-x: hidden; + overflow-y: auto; +}/* Colors */ +.v-divider { + display: block; + flex: 1 1 100%; + height: 0px; + max-height: 0px; + opacity: var(--v-border-opacity); + transition: inherit; +} +.v-divider { + border-style: solid; + border-width: thin 0 0 0; +} +.v-divider--vertical { + align-self: stretch; + border-width: 0 thin 0 0; + display: inline-flex; + height: auto; + margin-left: -1px; + max-height: 100%; + max-width: 0px; + vertical-align: text-bottom; + width: 0px; +} +.v-divider--inset:not(.v-divider--vertical) { + max-width: calc(100% - 72px); + margin-inline-start: 72px; +} +.v-divider--inset.v-divider--vertical { + margin-bottom: 8px; + margin-top: 8px; + max-height: calc(100% - 16px); +} + +.v-divider__content { + padding: 0 16px; + text-wrap: nowrap; +} +.v-divider__wrapper--vertical .v-divider__content { + padding: 4px 0; +} + +.v-divider__wrapper { + display: flex; + align-items: center; + justify-content: center; +} +.v-divider__wrapper--vertical { + flex-direction: column; + height: 100%; +} +.v-divider__wrapper--vertical .v-divider { + margin: 0 auto; +}/* Colors */ +.v-list { + overflow: auto; + padding: 8px 0; + position: relative; + outline: none; +} +.v-list { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-list--border { + border-width: thin; + box-shadow: none; +} +.v-list { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-list { + border-radius: 0; +} +.v-list { + background: rgba(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-list--disabled { + pointer-events: none; + user-select: none; +} +.v-list--nav { + padding-inline: 8px; +} +.v-list--rounded { + border-radius: 4px; +} +.v-list--subheader { + padding-top: 0; +} + +.v-list-img { + border-radius: inherit; + display: flex; + height: 100%; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} + +.v-list-subheader { + align-items: center; + background: inherit; + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); + display: flex; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.375rem; + padding-inline-end: 16px; + min-height: 40px; + transition: 0.2s min-height cubic-bezier(0.4, 0, 0.2, 1); +} +.v-list-subheader__text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.v-list--density-default .v-list-subheader { + min-height: 40px; + padding-inline-start: calc(16px + var(--indent-padding)) !important; +} + +.v-list--density-comfortable .v-list-subheader { + min-height: 36px; + padding-inline-start: calc(16px + var(--indent-padding)) !important; +} + +.v-list--density-compact .v-list-subheader { + min-height: 32px; + padding-inline-start: calc(16px + var(--indent-padding)) !important; +} + +.v-list-subheader--inset { + --indent-padding: 56px; +} +.v-list--nav .v-list-subheader { + font-size: 0.75rem; +} +.v-list-subheader--sticky { + background: inherit; + left: 0; + position: sticky; + top: 0; + z-index: 1; +} + +.v-list__overlay { + background-color: currentColor; + border-radius: inherit; + bottom: 0; + left: 0; + opacity: 0; + pointer-events: none; + position: absolute; + right: 0; + top: 0; + transition: opacity 0.2s ease-in-out; +}/* Colors */ +.v-list-item { + align-items: center; + display: grid; + flex: none; + grid-template-areas: "prepend content append"; + grid-template-columns: max-content 1fr auto; + outline: none; + max-width: 100%; + padding: 4px 16px; + position: relative; + text-decoration: none; +} +.v-list-item { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-list-item--border { + border-width: thin; + box-shadow: none; +} +.v-list-item:hover > .v-list-item__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-list-item:focus-visible > .v-list-item__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-list-item:focus > .v-list-item__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-list-item--active > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true] > .v-list-item__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-list-item--active:hover > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true]:hover > .v-list-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-list-item--active:focus-visible > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-list-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-list-item--active:focus > .v-list-item__overlay, .v-list-item[aria-haspopup=menu][aria-expanded=true]:focus > .v-list-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-list-item { + border-radius: 0; +} +.v-list-item--variant-plain, .v-list-item--variant-outlined, .v-list-item--variant-text, .v-list-item--variant-tonal { + background: transparent; + color: inherit; +} +.v-list-item--variant-plain { + opacity: 0.62; +} +.v-list-item--variant-plain:focus, .v-list-item--variant-plain:hover { + opacity: 1; +} +.v-list-item--variant-plain .v-list-item__overlay { + display: none; +} +.v-list-item--variant-elevated, .v-list-item--variant-flat { + background: rgba(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-list-item--variant-elevated { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-list-item--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-list-item--variant-outlined { + border: thin solid currentColor; +} +.v-list-item--variant-text .v-list-item__overlay { + background: currentColor; +} +.v-list-item--variant-tonal .v-list-item__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-list-item .v-list-item__underlay { + position: absolute; +} +@supports selector(:focus-visible) { + .v-list-item::after { + pointer-events: none; + border: 2px solid currentColor; + border-radius: 4px; + opacity: 0; + transition: opacity 0.2s ease-in-out; + } + .v-list-item::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .v-list-item:focus-visible::after { + opacity: calc(0.15 * var(--v-theme-overlay-multiplier)); + } +} +.v-list-item__prepend > .v-badge .v-icon, +.v-list-item__prepend > .v-icon, .v-list-item__append > .v-badge .v-icon, +.v-list-item__append > .v-icon { + opacity: var(--v-medium-emphasis-opacity); +} +.v-list-item--active .v-list-item__prepend > .v-badge .v-icon, +.v-list-item--active .v-list-item__prepend > .v-icon, +.v-list-item--active .v-list-item__append > .v-badge .v-icon, +.v-list-item--active .v-list-item__append > .v-icon { + opacity: 1; +} +.v-list-item--active:not(.v-list-item--link) .v-list-item__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-list-item--rounded { + border-radius: 4px; +} +.v-list-item--disabled { + pointer-events: none; + user-select: none; + opacity: 0.6; +} +.v-list-item--link { + cursor: pointer; +} +.v-navigation-drawer--rail:not(.v-navigation-drawer--expand-on-hover) .v-list-item .v-avatar, .v-navigation-drawer--rail.v-navigation-drawer--expand-on-hover:not(.v-navigation-drawer--is-hovering) .v-list-item .v-avatar { + --v-avatar-height: 24px; +} + +.v-list-item__prepend { + align-items: center; + align-self: center; + display: flex; + grid-area: prepend; +} +.v-list-item__prepend > .v-badge ~ .v-list-item__spacer, +.v-list-item__prepend > .v-icon ~ .v-list-item__spacer, +.v-list-item__prepend > .v-tooltip ~ .v-list-item__spacer { + width: 32px; +} +.v-list-item__prepend > .v-avatar ~ .v-list-item__spacer, +.v-list-item__prepend > .v-badge:is(:has(.v-avatar)) ~ .v-list-item__spacer { + width: 16px; +} +.v-list-item--slim .v-list-item__prepend > .v-badge ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__prepend > .v-icon ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__prepend > .v-tooltip ~ .v-list-item__spacer { + width: 20px; +} +.v-list-item--slim .v-list-item__prepend > .v-avatar ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__prepend > .v-badge:is(:has(.v-avatar)) ~ .v-list-item__spacer { + width: 4px; +} +.v-list-item--slim .v-list-item__prepend > .v-list-item-action ~ .v-list-item__spacer { + width: 4px; +} +.v-list-item--three-line .v-list-item__prepend { + align-self: start; +} + +.v-list-item__append { + align-self: center; + display: flex; + align-items: center; + grid-area: append; +} +.v-list-item__append .v-list-item__spacer { + order: -1; + transition: 150ms width cubic-bezier(0.4, 0, 0.2, 1); +} +.v-list-item__append > .v-badge ~ .v-list-item__spacer, +.v-list-item__append > .v-icon ~ .v-list-item__spacer, +.v-list-item__append > .v-tooltip ~ .v-list-item__spacer { + width: 32px; +} +.v-list-item__append > .v-avatar ~ .v-list-item__spacer, +.v-list-item__append > .v-badge:is(:has(.v-avatar)) ~ .v-list-item__spacer { + width: 16px; +} +.v-list-item__append > .v-list-item-action ~ .v-list-item__spacer { + width: 16px; +} +.v-list-item--slim .v-list-item__append > .v-badge ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__append > .v-icon ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__append > .v-tooltip ~ .v-list-item__spacer { + width: 20px; +} +.v-list-item--slim .v-list-item__append > .v-avatar ~ .v-list-item__spacer, +.v-list-item--slim .v-list-item__append > .v-badge:is(:has(.v-avatar)) ~ .v-list-item__spacer { + width: 4px; +} +.v-list-item--slim .v-list-item__append > .v-list-item-action ~ .v-list-item__spacer { + width: 4px; +} +.v-list-item--three-line .v-list-item__append { + align-self: start; +} + +.v-list-item__content { + align-self: center; + grid-area: content; + overflow: hidden; + min-width: 40px; +} + +.v-list-item-action { + align-self: center; + display: flex; + align-items: center; + flex: none; + transition: inherit; + transition-property: height, width; +} +.v-list-item-action--start { + margin-inline-end: 8px; + margin-inline-start: -8px; +} +.v-list-item-action--end { + margin-inline-start: 8px; + margin-inline-end: -8px; +} + +.v-list-item-media { + margin-top: 0; + margin-bottom: 0; +} +.v-list-item-media--start { + margin-inline-end: 16px; +} +.v-list-item-media--end { + margin-inline-start: 16px; +} +.v-list-item--two-line .v-list-item-media { + margin-top: -4px; + margin-bottom: -4px; +} +.v-list-item--three-line .v-list-item-media { + margin-top: 0; + margin-bottom: 0; +} + +.v-list-item-subtitle { + -webkit-box-orient: vertical; + display: -webkit-box; + opacity: var(--v-list-item-subtitle-opacity, var(--v-medium-emphasis-opacity)); + overflow: hidden; + padding: 0; + text-overflow: ellipsis; + overflow-wrap: break-word; + word-break: initial; +} +.v-list-item--one-line .v-list-item-subtitle { + -webkit-line-clamp: 1; +} +.v-list-item--two-line .v-list-item-subtitle { + -webkit-line-clamp: 2; +} +.v-list-item--three-line .v-list-item-subtitle { + -webkit-line-clamp: 3; +} +.v-list-item-subtitle { + font-size: 14px; + font-weight: 400; + letter-spacing: 0.0178571429em; + line-height: 1rem; + text-transform: none; +} +.v-list-item--nav .v-list-item-subtitle { + font-size: 0.75rem; + font-weight: 400; + letter-spacing: 0.0178571429em; + line-height: 1rem; +} + +.v-list-item-title { + hyphens: auto; + overflow-wrap: normal; + overflow: hidden; + padding: 0; + white-space: nowrap; + text-overflow: ellipsis; + word-break: normal; + word-wrap: break-word; +} +.v-list-item-title { + font-size: 16px; + font-weight: 400; + letter-spacing: 0.009375em; + line-height: 1.5; + text-transform: none; +} +.v-list-item--nav .v-list-item-title { + font-size: 0.8125rem; + font-weight: 500; + letter-spacing: normal; + line-height: 1rem; +} + +.v-list-item--density-default { + min-height: 40px; +} +.v-list-item--density-default.v-list-item--one-line { + min-height: 48px; + padding-top: 4px; + padding-bottom: 4px; +} +.v-list-item--density-default.v-list-item--two-line { + min-height: 64px; + padding-top: 12px; + padding-bottom: 12px; +} +.v-list-item--density-default.v-list-item--three-line { + min-height: 88px; + padding-top: 16px; + padding-bottom: 16px; +} +.v-list-item--density-default.v-list-item--three-line .v-list-item__prepend, +.v-list-item--density-default.v-list-item--three-line .v-list-item__append { + padding-top: 8px; +} +.v-list-item--density-default:not(.v-list-item--nav).v-list-item--one-line { + padding-inline: 16px; +} +.v-list-item--density-default:not(.v-list-item--nav).v-list-item--two-line { + padding-inline: 16px; +} +.v-list-item--density-default:not(.v-list-item--nav).v-list-item--three-line { + padding-inline: 16px; +} + +.v-list-item--density-comfortable { + min-height: 36px; +} +.v-list-item--density-comfortable.v-list-item--one-line { + min-height: 44px; +} +.v-list-item--density-comfortable.v-list-item--two-line { + min-height: 60px; + padding-top: 8px; + padding-bottom: 8px; +} +.v-list-item--density-comfortable.v-list-item--three-line { + min-height: 84px; + padding-top: 12px; + padding-bottom: 12px; +} +.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__prepend, +.v-list-item--density-comfortable.v-list-item--three-line .v-list-item__append { + padding-top: 6px; +} +.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--one-line { + padding-inline: 16px; +} +.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--two-line { + padding-inline: 16px; +} +.v-list-item--density-comfortable:not(.v-list-item--nav).v-list-item--three-line { + padding-inline: 16px; +} + +.v-list-item--density-compact { + min-height: 32px; +} +.v-list-item--density-compact.v-list-item--one-line { + min-height: 40px; +} +.v-list-item--density-compact.v-list-item--two-line { + min-height: 56px; + padding-top: 4px; + padding-bottom: 4px; +} +.v-list-item--density-compact.v-list-item--three-line { + min-height: 80px; + padding-top: 8px; + padding-bottom: 8px; +} +.v-list-item--density-compact.v-list-item--three-line .v-list-item__prepend, +.v-list-item--density-compact.v-list-item--three-line .v-list-item__append { + padding-top: 4px; +} +.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line { + padding-inline: 16px; +} +.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--two-line { + padding-inline: 16px; +} +.v-list-item--density-compact:not(.v-list-item--nav).v-list-item--three-line { + padding-inline: 16px; +} + +.v-list-item--nav { + padding-inline: 8px; +} +.v-list .v-list-item--nav:not(:only-child) { + margin-bottom: 4px; +} + +.v-list-item__underlay { + position: absolute; +} + +.v-list-item__overlay { + background-color: currentColor; + border-radius: inherit; + bottom: 0; + left: 0; + opacity: 0; + pointer-events: none; + position: absolute; + right: 0; + top: 0; + transition: opacity 0.2s ease-in-out; +} +.v-list-item--active.v-list-item--variant-elevated .v-list-item__overlay { + --v-theme-overlay-multiplier: 0; +} + +.v-list { + --indent-padding: 0px; +} +.v-list--nav { + --indent-padding: -8px; +} + +.v-list-group { + --list-indent-size: 16px; + --parent-padding: var(--indent-padding); + --prepend-width: 40px; +} +.v-list--slim .v-list-group { + --prepend-width: 28px; +} +.v-list-group--fluid { + --list-indent-size: 0px; +} +.v-list-group--prepend { + --parent-padding: calc(var(--indent-padding) + var(--prepend-width)); +} +.v-list-group--fluid.v-list-group--prepend { + --parent-padding: var(--indent-padding); +} + +.v-list-group__items { + --indent-padding: calc(var(--parent-padding) + var(--list-indent-size)); + min-width: min-content; +} +.v-navigation-drawer--rail .v-list-group__items { + min-width: 0; +} + +.v-list-group__items .v-list-item { + padding-inline-start: calc(16px + var(--indent-padding)) !important; +} + +.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:not(:focus-visible) .v-list-item__overlay { + opacity: 0; +} +.v-list-group__header:not(.v-treeview-item--activatable-group-activator).v-list-item--active:hover .v-list-item__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} + +@media (forced-colors: active) { + .v-list-item:not(.v-list-item--active) { + color: buttontext; + } + .v-list-item--variant-plain.v-list-item--active { + color: highlight !important; + } + .v-list-item:not(.v-list-item--variant-plain).v-list-item--active { + background-color: highlight !important; + color: highlighttext !important; + } + .v-list-item-title { + forced-color-adjust: preserve-parent-color; + } + .v-list-item--active .v-list-item__prepend > .v-badge .v-icon, + .v-list-item--active .v-list-item__prepend > .v-icon, + .v-list-item--active .v-list-item__append > .v-badge .v-icon, + .v-list-item--active .v-list-item__append > .v-icon { + forced-color-adjust: preserve-parent-color; + } + @supports selector(:focus-visible) { + .v-list-item::after { + color: buttontext; + } + .v-list-item:focus-visible::after { + opacity: 1; + } + } +}/* Colors */ +.v-menu > .v-overlay__content { + display: flex; + flex-direction: column; +} +.v-menu > .v-overlay__content { + border-radius: 4px; +} +.v-menu > .v-overlay__content > .v-card, +.v-menu > .v-overlay__content > .v-sheet, +.v-menu > .v-overlay__content > .v-list { + background: rgb(var(--v-theme-surface)); + border-radius: inherit; + overflow: auto; + height: 100%; +} +.v-menu > .v-overlay__content > .v-card, +.v-menu > .v-overlay__content > .v-sheet, +.v-menu > .v-overlay__content > .v-list { + box-shadow: 0 6px 16px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-lg-opacity)), 0 0 transparent, 0 0 transparent; +}/* Colors */ +.v-overlay-container { + contain: layout; + left: 0; + pointer-events: none; + position: absolute; + top: 0; + display: contents; +} + +.v-overlay-scroll-blocked { + padding-inline-end: var(--v-scrollbar-offset); +} +.v-overlay-scroll-blocked:not(html) { + overflow-y: hidden !important; +} +html.v-overlay-scroll-blocked { + position: fixed; + top: var(--v-body-scroll-y); + left: var(--v-body-scroll-x); + width: 100%; + height: 100%; +} + +.v-overlay { + --v-overlay-opacity: 0.32; + border-radius: inherit; + display: flex; + left: 0; + pointer-events: none; + position: fixed; + top: 0; + bottom: 0; + right: 0; +} + +.v-overlay__content { + outline: none; + position: absolute; + pointer-events: auto; + contain: layout; +} + +.v-overlay__scrim { + pointer-events: auto; + background: #000; + border-radius: inherit; + bottom: 0; + left: 0; + opacity: var(--v-overlay-opacity); + position: fixed; + right: 0; + top: 0; +} + +.v-overlay--absolute { + position: absolute; +} + +.v-overlay--contained .v-overlay__scrim { + position: absolute; +} + +.v-overlay--scroll-blocked { + padding-inline-end: var(--v-scrollbar-offset); +}/* Colors */ +.v-select--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, +.v-select--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, +.v-select--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, +.v-select--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 0px; +} +.v-select .v-field .v-text-field__prefix, +.v-select .v-field .v-text-field__suffix, +.v-select .v-field .v-field__input, .v-select .v-field.v-field { + cursor: pointer; +} +.v-select .v-field .v-field__input > input { + align-self: flex-start; + opacity: 1; + flex: 0 0; + position: absolute; + left: 0; + right: 0; + width: 100%; + transition: none; + pointer-events: none; + caret-color: transparent; + padding-inline: inherit; +} +.v-select .v-field--dirty .v-select__selection { + margin-inline-end: 2px; +} +.v-select .v-select__selection-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.v-select__content { + overflow: hidden; +} +.v-select__content { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-menu > .v-overlay__content.v-select__content { + border-radius: 4px; +} + +.v-select__selection { + display: inline-flex; + align-items: center; + letter-spacing: inherit; + line-height: inherit; + max-width: 100%; +} +.v-select .v-select__selection:first-child { + margin-inline-start: 0; +} +.v-select--selected .v-field .v-field__input > input { + opacity: 0; +} +.v-select__menu-icon { + margin-inline-start: 4px; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} +.v-select--active-menu .v-select__menu-icon { + transform: rotate(180deg); +}/* Colors */ +/* region BLOCK */ +.v-text-field input { + color: inherit; + opacity: 0; + flex: 1; + transition: 0.15s opacity cubic-bezier(0.4, 0, 0.2, 1); + min-width: 0; +} +.v-text-field input:focus, .v-text-field input:active { + outline: none; +} +.v-text-field input:invalid { + box-shadow: none; +} +.v-text-field .v-field { + cursor: text; +} +.v-text-field--prefixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input { + --v-field-padding-start: 6px; +} + +.v-text-field--suffixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input { + --v-field-padding-end: 0; +} + +.v-text-field--prefixed.v-text-field .v-field.v-field--reverse .v-field__input { + --v-field-padding-end: 6px; +} + +.v-text-field--suffixed.v-text-field .v-field.v-field--reverse .v-field__input { + --v-field-padding-start: 0; +} + +.v-text-field .v-input__details { + padding-inline: 16px; +} +.v-input--plain-underlined.v-text-field .v-input__details { + padding-inline: 0; +} + +.v-text-field .v-field--no-label input, +.v-text-field .v-field--active input { + opacity: 1; +} +.v-text-field .v-field--single-line input { + transition: none; +} + +/* endregion */ +/* region ELEMENTS */ +.v-text-field__prefix, .v-text-field__suffix { + align-items: center; + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); + cursor: default; + display: flex; + opacity: 0; + transition: inherit; + white-space: nowrap; + min-height: max(var(--v-input-control-height, 56px), 24px + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom)); + padding-top: calc(var(--v-field-padding-top, 4px) + var(--v-input-padding-top, 0)); + padding-bottom: var(--v-field-padding-bottom, 6px); +} +.v-field--active .v-text-field__prefix, .v-field--active .v-text-field__suffix { + opacity: 1; +} +.v-field--disabled .v-text-field__prefix, .v-field--disabled .v-text-field__suffix { + color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)); +} +.v-field:not(.v-field--reverse) .v-text-field__prefix { + padding-inline-start: var(--v-field-padding-start); +} + +.v-field.v-field--reverse .v-text-field__prefix { + padding-inline-end: var(--v-field-padding-end); +} + +.v-field:not(.v-field--reverse) .v-text-field__suffix { + padding-inline-end: var(--v-field-padding-end); +} + +.v-field.v-field--reverse .v-text-field__suffix { + padding-inline-start: var(--v-field-padding-start); +} + +/* endregion *//* Colors */ +.v-counter { + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); + flex: 0 1 auto; + font-size: 12px; + transition-duration: 150ms; +}/* Colors */ +/* region INPUT */ +.v-field { + display: grid; + grid-template-areas: "prepend-inner field clear append-inner"; + grid-template-columns: min-content minmax(0, 1fr) min-content min-content; + font-size: 16px; + letter-spacing: 0.009375em; + max-width: 100%; + border-radius: 4px; + contain: layout; + flex: 1 0; + grid-area: control; + position: relative; + --v-theme-overlay-multiplier: 1; + --v-field-padding-start: 16px; + --v-field-padding-end: 16px; + --v-field-padding-top: 8px; + --v-field-padding-bottom: 4px; + --v-field-input-padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px)); + --v-field-input-padding-bottom: var(--v-field-padding-bottom, 4px); +} +.v-field--disabled { + opacity: var(--v-disabled-opacity); + pointer-events: none; +} +.v-field .v-chip { + --v-chip-height: 24px; +} + +/* endregion */ +/* region MODIFIERS */ +.v-field--prepended { + padding-inline-start: 12px; +} +.v-field--appended { + padding-inline-end: 12px; +} +.v-field--variant-solo, .v-field--variant-solo-filled { + background: rgb(var(--v-theme-surface)); + border-color: transparent; + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-field--variant-solo, .v-field--variant-solo-filled { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-field--variant-solo-inverted { + background: rgb(var(--v-theme-surface)); + border-color: transparent; + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-field--variant-solo-inverted { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-field--variant-solo-inverted.v-field--focused { + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-field--variant-filled { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.v-input--density-default .v-field--variant-solo, .v-input--density-default .v-field--variant-solo-inverted, .v-input--density-default .v-field--variant-solo-filled, .v-input--density-default .v-field--variant-filled { + --v-input-control-height: 56px; + --v-field-padding-bottom: 4px; +} + +.v-input--density-comfortable .v-field--variant-solo, .v-input--density-comfortable .v-field--variant-solo-inverted, .v-input--density-comfortable .v-field--variant-solo-filled, .v-input--density-comfortable .v-field--variant-filled { + --v-input-control-height: 48px; + --v-field-padding-bottom: 0px; +} + +.v-input--density-compact .v-field--variant-solo, .v-input--density-compact .v-field--variant-solo-inverted, .v-input--density-compact .v-field--variant-solo-filled, .v-input--density-compact .v-field--variant-filled { + --v-input-control-height: 40px; + --v-field-padding-bottom: 0px; +} + +.v-field--variant-outlined, .v-field--single-line, .v-field--no-label { + --v-field-padding-top: 0px; +} +.v-input--density-default .v-field--variant-outlined, .v-input--density-default .v-field--single-line, .v-input--density-default .v-field--no-label { + --v-field-padding-bottom: 16px; +} + +.v-input--density-comfortable .v-field--variant-outlined, .v-input--density-comfortable .v-field--single-line, .v-input--density-comfortable .v-field--no-label { + --v-field-padding-bottom: 12px; +} + +.v-input--density-compact .v-field--variant-outlined, .v-input--density-compact .v-field--single-line, .v-input--density-compact .v-field--no-label { + --v-field-padding-bottom: 8px; +} + +.v-field--variant-plain, .v-field--variant-underlined { + border-radius: 0; + padding: 0; +} +.v-field--variant-plain.v-field, .v-field--variant-underlined.v-field { + --v-field-padding-start: 0px; + --v-field-padding-end: 0px; +} +.v-input--density-default .v-field--variant-plain, .v-input--density-default .v-field--variant-underlined { + --v-input-control-height: 48px; + --v-field-padding-top: 4px; + --v-field-padding-bottom: 4px; +} + +.v-input--density-comfortable .v-field--variant-plain, .v-input--density-comfortable .v-field--variant-underlined { + --v-input-control-height: 40px; + --v-field-padding-top: 2px; + --v-field-padding-bottom: 0px; +} + +.v-input--density-compact .v-field--variant-plain, .v-input--density-compact .v-field--variant-underlined { + --v-input-control-height: 32px; + --v-field-padding-top: 0px; + --v-field-padding-bottom: 0px; +} + +.v-field--flat { + box-shadow: none; +} +.v-field--rounded { + border-radius: 24px; +} +.v-field.v-field--prepended { + --v-field-padding-start: 6px; +} +.v-field.v-field--appended { + --v-field-padding-end: 6px; +} + +/* endregion */ +/* region ELEMENTS */ +.v-field__input { + align-items: center; + color: inherit; + column-gap: 2px; + display: flex; + flex-wrap: wrap; + letter-spacing: 0.009375em; + opacity: var(--v-high-emphasis-opacity); + min-height: max(var(--v-input-control-height, 56px), 24px + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom)); + min-width: 0; + padding-inline: var(--v-field-padding-start) var(--v-field-padding-end); + padding-top: var(--v-field-input-padding-top); + padding-bottom: var(--v-field-input-padding-bottom); + position: relative; + width: 100%; +} +.v-input--density-default .v-field__input { + row-gap: 8px; +} + +.v-input--density-comfortable .v-field__input { + row-gap: 6px; +} + +.v-input--density-compact .v-field__input { + row-gap: 4px; +} + +.v-field__input input { + letter-spacing: inherit; +} +.v-field__input input::placeholder, +input.v-field__input::placeholder, +textarea.v-field__input::placeholder { + color: currentColor; + opacity: var(--v-disabled-opacity); +} + +.v-field__input:focus, .v-field__input:active { + outline: none; +} +.v-field__input:invalid { + box-shadow: none; +} + +.v-field__field { + flex: 1 0; + grid-area: field; + position: relative; + align-items: flex-start; + display: flex; +} + +/* endregion */ +/* region AFFIXES */ +.v-field__prepend-inner { + grid-area: prepend-inner; + padding-inline-end: var(--v-field-padding-after); +} + +.v-field__clearable { + grid-area: clear; +} + +.v-field__append-inner { + grid-area: append-inner; + padding-inline-start: var(--v-field-padding-after); +} + +.v-field__append-inner, +.v-field__clearable, +.v-field__prepend-inner { + display: flex; + align-items: flex-start; + padding-top: var(--v-input-padding-top, 8px); +} +.v-field--center-affix .v-field__append-inner, +.v-field--center-affix .v-field__clearable, +.v-field--center-affix .v-field__prepend-inner { + align-items: center; + padding-top: 0; +} + +.v-field.v-field--variant-underlined .v-field__append-inner, +.v-field.v-field--variant-underlined .v-field__clearable, +.v-field.v-field--variant-underlined .v-field__prepend-inner, +.v-field.v-field--variant-plain .v-field__append-inner, +.v-field.v-field--variant-plain .v-field__clearable, +.v-field.v-field--variant-plain .v-field__prepend-inner { + align-items: flex-start; + padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px)); + padding-bottom: var(--v-field-padding-bottom, 4px); +} + +.v-field--focused .v-field__prepend-inner, +.v-field--focused .v-field__append-inner { + opacity: 1; +} + +.v-field__prepend-inner > .v-icon, +.v-field__append-inner > .v-icon, +.v-field__clearable > .v-icon { + opacity: var(--v-medium-emphasis-opacity); +} +.v-field--disabled .v-field__prepend-inner > .v-icon, .v-field--error .v-field__prepend-inner > .v-icon, .v-field--glow.v-field--focused .v-field__prepend-inner > .v-icon, +.v-field--disabled .v-field__append-inner > .v-icon, +.v-field--error .v-field__append-inner > .v-icon, +.v-field--glow.v-field--focused .v-field__append-inner > .v-icon, +.v-field--disabled .v-field__clearable > .v-icon, +.v-field--error .v-field__clearable > .v-icon, +.v-field--glow.v-field--focused .v-field__clearable > .v-icon { + opacity: 1; +} +.v-field--error:not(.v-field--disabled) .v-field__prepend-inner > .v-icon, +.v-field--error:not(.v-field--disabled) .v-field__append-inner > .v-icon, +.v-field--error:not(.v-field--disabled) .v-field__clearable > .v-icon { + color: rgb(var(--v-theme-error)); +} + +.v-field__clearable { + cursor: pointer; + opacity: 0; + overflow: hidden; + margin-inline: 4px; + transition: 0.15s cubic-bezier(0.4, 0, 0.2, 1); + transition-property: opacity, transform, width; +} +@media (prefers-reduced-motion: reduce) { + .v-field__clearable { + transition-property: opacity; + } +} +.v-field--focused .v-field__clearable, .v-field--persistent-clear .v-field__clearable { + opacity: 1; +} +@media (hover: hover) { + .v-field:hover .v-field__clearable { + opacity: 1; + } +} +@media (hover: none) { + .v-field__clearable { + opacity: 1; + } +} + +/* endregion */ +/* region LABEL */ +.v-label.v-field-label { + contain: layout paint; + display: block; + margin-inline-start: var(--v-field-padding-start); + margin-inline-end: var(--v-field-padding-end); + max-width: calc(100% - var(--v-field-padding-start) - var(--v-field-padding-end)); + pointer-events: none; + position: absolute; + top: var(--v-input-padding-top); + transform-origin: left center; + z-index: 1; +} +@media (prefers-reduced-motion: no-preference) { + .v-label.v-field-label { + transition: 0.15s cubic-bezier(0.4, 0, 0.2, 1); + transition-property: opacity, transform; + } +} +.v-field--variant-underlined .v-label.v-field-label, .v-field--variant-plain .v-label.v-field-label { + top: calc(var(--v-input-padding-top) + var(--v-field-padding-top)); +} +.v-field--center-affix .v-label.v-field-label { + top: 50%; + transform: translateY(-50%); +} +.v-field--active .v-label.v-field-label { + visibility: hidden; +} +.v-field--focused .v-label.v-field-label, .v-field--error .v-label.v-field-label { + opacity: 1; +} +.v-field--error:not(.v-field--disabled) .v-label.v-field-label { + color: rgb(var(--v-theme-error)); +} +.v-label.v-field-label--floating { + --v-field-label-scale: 0.75em; + font-size: var(--v-field-label-scale); + visibility: hidden; +} +.v-field--variant-outlined .v-label.v-field-label--floating { + max-width: 100%; +} +.v-field--center-affix .v-label.v-field-label--floating { + transform: none; +} +.v-field.v-field--active .v-label.v-field-label--floating { + visibility: unset; +} +.v-input--density-default .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-default .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 7px; +} + +.v-input--density-comfortable .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-comfortable .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 5px; +} + +.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, .v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 3px; +} + +.v-field--variant-plain .v-label.v-field-label--floating, .v-field--variant-underlined .v-label.v-field-label--floating { + transform: translateY(-16px); + margin: 0; + top: var(--v-input-padding-top); +} +.v-field--variant-outlined .v-label.v-field-label--floating { + transform: translateY(-50%); + transform-origin: center; + position: static; + margin: 0 4px; +} + +/* endregion */ +/* region OUTLINE */ +.v-field__outline { + --v-field-border-width: 1px; + --v-field-border-opacity: 0.38; + align-items: stretch; + contain: layout; + display: flex; + height: 100%; + left: 0; + pointer-events: none; + position: absolute; + right: 0; + width: 100%; +} +@media (hover: hover) { + .v-field:hover .v-field__outline { + --v-field-border-opacity: var(--v-high-emphasis-opacity); + } +} +.v-field--error:not(.v-field--disabled) .v-field__outline { + color: rgb(var(--v-theme-error)); +} +.v-field.v-field--focused .v-field__outline, .v-input.v-input--error .v-field__outline { + --v-field-border-opacity: 1; +} +.v-field--variant-outlined.v-field--focused .v-field__outline { + --v-field-border-width: 2px; +} +.v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before { + border-color: currentColor; + border-style: solid; + border-width: 0 0 var(--v-field-border-width); + opacity: var(--v-field-border-opacity); + transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); +} +.v-field--variant-filled .v-field__outline::before, .v-field--variant-underlined .v-field__outline::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after { + border-color: currentColor; + border-style: solid; + border-width: 0 0 2px; + transform: scaleX(0); + transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1); +} +.v-field--variant-filled .v-field__outline::after, .v-field--variant-underlined .v-field__outline::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-field--focused.v-field--variant-filled .v-field__outline::after, .v-field--focused.v-field--variant-underlined .v-field__outline::after { + transform: scaleX(1); +} + +.v-field--variant-outlined .v-field__outline { + border-radius: inherit; +} +.v-field--variant-outlined .v-field__outline__start, .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after, .v-field--variant-outlined .v-field__outline__end { + border: 0 solid currentColor; + opacity: var(--v-field-border-opacity); +} +@media (prefers-reduced-motion: no-preference) { + .v-field--variant-outlined .v-field__outline__start, .v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after, .v-field--variant-outlined .v-field__outline__end { + transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); + } +} +.v-field--variant-outlined .v-field__outline__start { + flex: 0 0 12px; + border-top-width: var(--v-field-border-width); + border-bottom-width: var(--v-field-border-width); + border-inline-start-width: var(--v-field-border-width); + border-start-start-radius: inherit; + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: inherit; +} +.v-field--rounded.v-field--variant-outlined .v-field__outline__start, +[class^=rounded-].v-field--variant-outlined .v-field__outline__start, +[class*=" rounded-"].v-field--variant-outlined .v-field__outline__start { + flex-basis: calc(var(--v-input-control-height) / 2 + 2px); +} + +.v-field--reverse.v-field--variant-outlined .v-field__outline__start { + border-start-start-radius: 0; + border-start-end-radius: inherit; + border-end-end-radius: inherit; + border-end-start-radius: 0; + border-inline-end-width: var(--v-field-border-width); + border-inline-start-width: 0; +} + +.v-field--variant-outlined .v-field__outline__notch { + flex: none; + position: relative; + max-width: calc(100% - 24px); +} +.v-field--rounded.v-field--variant-outlined .v-field__outline__notch, +[class^=rounded-].v-field--variant-outlined .v-field__outline__notch, +[class*=" rounded-"].v-field--variant-outlined .v-field__outline__notch { + max-width: calc(100% - var(--v-input-control-height)); +} + +.v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after { + opacity: var(--v-field-border-opacity); +} +.v-field--variant-outlined .v-field__outline__notch::before, .v-field--variant-outlined .v-field__outline__notch::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-field--variant-outlined .v-field__outline__notch::before { + border-width: var(--v-field-border-width) 0 0; +} +.v-field--variant-outlined .v-field__outline__notch::after { + bottom: 0; + border-width: 0 0 var(--v-field-border-width); +} +.v-field--active.v-field--variant-outlined .v-field__outline__notch::before { + opacity: 0; +} + +.v-field--variant-outlined .v-field__outline__end { + flex: 1; + border-top-width: var(--v-field-border-width); + border-bottom-width: var(--v-field-border-width); + border-inline-end-width: var(--v-field-border-width); + border-start-start-radius: 0; + border-start-end-radius: inherit; + border-end-end-radius: inherit; + border-end-start-radius: 0; +} +.v-field--reverse.v-field--variant-outlined .v-field__outline__end { + border-start-start-radius: inherit; + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: inherit; + border-inline-end-width: 0; + border-inline-start-width: var(--v-field-border-width); +} + +/* endregion */ +/* region LOADER */ +.v-field__loader { + top: calc(100% - 2px); + left: 0; + position: absolute; + right: 0; + width: 100%; + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: inherit; + border-bottom-right-radius: inherit; + overflow: hidden; +} +.v-field--variant-outlined .v-field__loader { + top: calc(100% - 3px); + width: calc(100% - 1px * 2); + left: 1px; +} + +/* endregion */ +/* region OVERLAY */ +.v-field__overlay { + border-radius: inherit; + pointer-events: none; +} +.v-field__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-field--variant-filled .v-field__overlay { + background-color: currentColor; + opacity: 0.04; + transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); +} +.v-field--variant-filled.v-field--has-background .v-field__overlay { + opacity: 0; +} +@media (hover: hover) { + .v-field--variant-filled:hover .v-field__overlay { + opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-field--variant-filled.v-field--focused .v-field__overlay { + opacity: calc((0.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} + +.v-field--variant-solo-filled .v-field__overlay { + background-color: currentColor; + opacity: 0.04; + transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); +} +@media (hover: hover) { + .v-field--variant-solo-filled:hover .v-field__overlay { + opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-field--variant-solo-filled.v-field--focused .v-field__overlay { + opacity: calc((0.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} + +.v-field--variant-solo-inverted .v-field__overlay { + transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1); +} +.v-field--variant-solo-inverted.v-field--has-background .v-field__overlay { + opacity: 0; +} +@media (hover: hover) { + .v-field--variant-solo-inverted:hover .v-field__overlay { + opacity: calc((0.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-field--variant-solo-inverted.v-field--focused .v-field__overlay { + background-color: rgb(var(--v-theme-surface-variant)); + opacity: 1; +} + +/* endregion */ +/* region MODIFIERS */ +.v-field--reverse .v-field__field, +.v-field--reverse .v-field__input, +.v-field--reverse .v-field__outline { + flex-direction: row-reverse; +} +.v-field--reverse .v-field__input, .v-field--reverse input { + text-align: end; +} + +.v-input--disabled .v-field--variant-filled .v-field__outline::before, +.v-input--disabled .v-field--variant-underlined .v-field__outline::before { + border-image: repeating-linear-gradient(to right, rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) 0px, rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) 2px, transparent 2px, transparent 4px) 1 repeat; +} + +.v-field--loading .v-field__outline::after, +.v-field--loading .v-field__outline::before { + opacity: 0; +} + +/* endregion *//* Colors */ +.v-virtual-scroll { + display: block; + flex: 1 1 auto; + max-width: 100%; + overflow: auto; + position: relative; +} +.v-virtual-scroll__container { + display: block; +}/* Colors */ +.v-badge { + display: inline-block; + line-height: 1; +} + +.v-badge__badge { + align-items: center; + display: inline-flex; + border-radius: 10px; + font-family: -apple-system, "system-ui", "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 0.75rem; + font-weight: 500; + height: 1.25rem; + justify-content: center; + min-width: 20px; + padding: 4px 6px; + pointer-events: auto; + position: absolute; + text-align: center; + text-indent: 0; + transition: 0.225s cubic-bezier(0.4, 0, 0.2, 1); + white-space: nowrap; +} +.v-badge__badge { + background: rgb(var(--v-theme-surface-variant)); + color: rgba(var(--v-theme-on-surface-variant), var(--v-high-emphasis-opacity)); +} +.v-badge__badge:has(.v-icon) { + padding: 4px 6px; +} +.v-badge--bordered .v-badge__badge::after { + border-radius: inherit; + border-style: solid; + border-width: 2px; + bottom: 0; + color: rgb(var(--v-theme-background)); + content: ""; + left: 0; + position: absolute; + right: 0; + top: 0; + transform: scale(1.05); +} +.v-badge--dot .v-badge__badge { + border-radius: 4.5px; + height: 9px; + min-width: 0; + padding: 0; + width: 9px; +} +.v-badge--dot .v-badge__badge::after { + border-width: 1.5px; +} +.v-badge--inline .v-badge__badge { + position: relative; + vertical-align: middle; +} +.v-badge__badge .v-icon { + color: inherit; + font-size: 0.75rem; + margin: 0 -2px; +} +.v-badge__badge img, +.v-badge__badge .v-img { + height: 100%; + width: 100%; +} + +.v-badge__wrapper { + display: flex; + position: relative; +} +.v-badge--inline .v-badge__wrapper { + align-items: center; + display: inline-flex; + justify-content: center; + margin: 0 4px; +}/* Colors */ +.v-banner { + display: grid; + flex: 1 1; + font-size: 14px; + grid-template-areas: "prepend content actions"; + grid-template-columns: max-content auto max-content; + grid-template-rows: max-content max-content; + line-height: 20px; + overflow: hidden; + padding-inline: 16px 8px; + padding-top: 16px; + padding-bottom: 16px; + position: relative; + width: 100%; +} +.v-banner { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0 0 thin 0; +} +.v-banner--border { + border-width: thin; + box-shadow: none; +} +.v-banner { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-banner--absolute { + position: absolute; +} +.v-banner--fixed { + position: fixed; +} +.v-banner--sticky { + position: sticky; +} +.v-banner { + border-radius: 0; +} +.v-banner { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-banner--rounded { + border-radius: 4px; +} +.v-banner--stacked:not(.v-banner--one-line) { + grid-template-areas: "prepend content" ". actions"; +} +.v-banner--stacked .v-banner-text { + padding-inline-end: 36px; +} +.v-banner--density-default .v-banner-actions { + margin-bottom: -8px; +} +.v-banner--density-default.v-banner--one-line { + padding-top: 8px; + padding-bottom: 8px; +} +.v-banner--density-default.v-banner--one-line .v-banner-actions { + margin-bottom: 0; +} +.v-banner--density-default.v-banner--one-line { + padding-top: 10px; +} +.v-banner--density-default.v-banner--two-line { + padding-top: 16px; + padding-bottom: 16px; +} +.v-banner--density-default.v-banner--three-line { + padding-top: 24px; + padding-bottom: 16px; +} +.v-banner--density-default:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-default.v-banner--two-line .v-banner-actions, .v-banner--density-default.v-banner--three-line .v-banner-actions { + margin-top: 20px; +} + +.v-banner--density-comfortable .v-banner-actions { + margin-bottom: -4px; +} +.v-banner--density-comfortable.v-banner--one-line { + padding-top: 4px; + padding-bottom: 4px; +} +.v-banner--density-comfortable.v-banner--one-line .v-banner-actions { + margin-bottom: 0; +} +.v-banner--density-comfortable.v-banner--two-line { + padding-top: 12px; + padding-bottom: 12px; +} +.v-banner--density-comfortable.v-banner--three-line { + padding-top: 20px; + padding-bottom: 12px; +} +.v-banner--density-comfortable:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-comfortable.v-banner--two-line .v-banner-actions, .v-banner--density-comfortable.v-banner--three-line .v-banner-actions { + margin-top: 16px; +} + +.v-banner--density-compact .v-banner-actions { + margin-bottom: 0px; +} +.v-banner--density-compact.v-banner--one-line { + padding-top: 0px; + padding-bottom: 0px; +} +.v-banner--density-compact.v-banner--one-line .v-banner-actions { + margin-bottom: 0; +} +.v-banner--density-compact.v-banner--two-line { + padding-top: 8px; + padding-bottom: 8px; +} +.v-banner--density-compact.v-banner--three-line { + padding-top: 16px; + padding-bottom: 8px; +} +.v-banner--density-compact:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-compact.v-banner--two-line .v-banner-actions, .v-banner--density-compact.v-banner--three-line .v-banner-actions { + margin-top: 12px; +} + +.v-banner--sticky { + top: 0; + z-index: 1; +} + +.v-banner__content { + align-items: center; + display: flex; + grid-area: content; +} + +.v-banner__prepend { + align-self: flex-start; + grid-area: prepend; + margin-inline-end: 24px; +} + +.v-banner-actions { + align-self: flex-end; + display: flex; + flex: 0 1; + grid-area: actions; + justify-content: flex-end; +} +.v-banner--two-line .v-banner-actions, .v-banner--three-line .v-banner-actions { + margin-top: 20px; +} + +.v-banner-text { + -webkit-box-orient: vertical; + display: -webkit-box; + padding-inline-end: 90px; + overflow: hidden; +} +.v-banner--one-line .v-banner-text { + -webkit-line-clamp: 1; +} +.v-banner--two-line .v-banner-text { + -webkit-line-clamp: 2; +} +.v-banner--three-line .v-banner-text { + -webkit-line-clamp: 3; +} +.v-banner--two-line .v-banner-text, .v-banner--three-line .v-banner-text { + align-self: flex-start; +}/* Colors */ +.v-bottom-navigation { + display: flex; + max-width: 100%; + overflow: hidden; + position: absolute; + transition: transform, color, 0.2s, 0.1s cubic-bezier(0.4, 0, 0.2, 1); +} +.v-bottom-navigation { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-bottom-navigation--border { + border-width: thin; + box-shadow: none; +} +.v-bottom-navigation { + border-radius: 0; +} +.v-bottom-navigation { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-bottom-navigation--active { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} + +.v-bottom-navigation__content { + display: flex; + flex: none; + font-size: 12px; + justify-content: center; + transition: inherit; + width: 100%; +} +.v-bottom-navigation .v-bottom-navigation__content > .v-btn { + font-size: inherit; + height: 100%; + max-width: 168px; + min-width: 80px; + text-transform: none; + transition: inherit; + width: auto; +} +.v-bottom-navigation .v-bottom-navigation__content > .v-btn { + border-radius: 0; +} +.v-bottom-navigation .v-bottom-navigation__content > .v-btn .v-btn__content, +.v-bottom-navigation .v-bottom-navigation__content > .v-btn .v-btn__icon { + transition: inherit; +} +.v-bottom-navigation .v-bottom-navigation__content > .v-btn .v-btn__icon { + font-size: 1.5rem; +} +.v-bottom-navigation--grow .v-bottom-navigation__content > .v-btn { + flex-basis: 0; + flex-grow: 1; +} +.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content > span { + transition: inherit; + opacity: 0; +} +.v-bottom-navigation--shift .v-bottom-navigation__content .v-btn:not(.v-btn--selected) .v-btn__content { + transform: translateY(0.5rem); +}/* Colors */ +.bottom-sheet-transition-enter-from { + transform: translateY(100%); +} +.bottom-sheet-transition-leave-to { + transform: translateY(100%); +} + +.v-bottom-sheet > .v-bottom-sheet__content.v-overlay__content { + align-self: flex-end; + border-radius: 0; + flex: 0 1 auto; + left: 0; + right: 0; + margin-inline: auto; + margin-bottom: 0; + transition-duration: 0.2s; + width: 100%; + max-width: 100%; + overflow: visible; +} +.v-bottom-sheet > .v-bottom-sheet__content.v-overlay__content { + box-shadow: 0 6px 17px rgba(var(--v-shadow-key-umbra-color), 0.22), 0 0 transparent, 0 0 transparent; +} +@media (prefers-reduced-motion: reduce) { + .v-bottom-sheet > .v-bottom-sheet__content.v-overlay__content { + transition: none; + } +} +.v-bottom-sheet > .v-bottom-sheet__content.v-overlay__content > .v-card, +.v-bottom-sheet > .v-bottom-sheet__content.v-overlay__content > .v-sheet { + border-radius: 0; +} +.v-bottom-sheet.v-bottom-sheet--inset { + max-width: none; +} +@media (min-width: 600px) { + .v-bottom-sheet.v-bottom-sheet--inset { + max-width: 70%; + } +}/* Colors */ +.v-dialog { + align-items: center; + justify-content: center; + margin: auto; +} +.v-dialog > .v-overlay__content { + max-height: calc(100% - 48px); + width: calc(100% - 48px); + max-width: calc(100% - 48px); + margin: 24px; +} +.v-dialog > .v-overlay__content, +.v-dialog > .v-overlay__content > form { + display: flex; + flex-direction: column; + min-height: 0; +} +.v-dialog > .v-overlay__content > .v-card, +.v-dialog > .v-overlay__content > .v-sheet, +.v-dialog > .v-overlay__content > form > .v-card, +.v-dialog > .v-overlay__content > form > .v-sheet { + --v-scrollbar-offset: 0px; + border-radius: 4px; + overflow-y: auto; + flex: 1 1 100%; +} +.v-dialog > .v-overlay__content > .v-card, +.v-dialog > .v-overlay__content > .v-sheet, +.v-dialog > .v-overlay__content > form > .v-card, +.v-dialog > .v-overlay__content > form > .v-sheet { + box-shadow: 0 10px 30px rgba(var(--v-shadow-key-umbra-color), 0.34), 0 0 transparent, 0 0 transparent; +} +.v-dialog > .v-overlay__content > .v-card, +.v-dialog > .v-overlay__content > form > .v-card { + display: flex; + flex-direction: column; +} +.v-dialog > .v-overlay__content > .v-card > .v-card-item, +.v-dialog > .v-overlay__content > form > .v-card > .v-card-item { + padding: 16px 24px; +} +.v-dialog > .v-overlay__content > .v-card > .v-card-item + .v-card-text, +.v-dialog > .v-overlay__content > form > .v-card > .v-card-item + .v-card-text { + padding-top: 0; +} +.v-dialog > .v-overlay__content > .v-card > .v-card-text, +.v-dialog > .v-overlay__content > form > .v-card > .v-card-text { + font-size: inherit; + letter-spacing: 0.03125em; + line-height: inherit; + padding: 16px 24px 24px; +} +.v-dialog > .v-overlay__content > .v-card > .v-card-actions, +.v-dialog > .v-overlay__content > form > .v-card > .v-card-actions { + justify-content: flex-end; +} + +.v-dialog--fullscreen { + --v-scrollbar-offset: 0px; +} +.v-dialog--fullscreen > .v-overlay__content { + border-radius: 0; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; + overflow-y: auto; + top: 0; + left: 0; +} +.v-dialog--fullscreen > .v-overlay__content > .v-card, +.v-dialog--fullscreen > .v-overlay__content > .v-sheet, +.v-dialog--fullscreen > .v-overlay__content > form > .v-card, +.v-dialog--fullscreen > .v-overlay__content > form > .v-sheet { + min-height: 100%; + min-width: 100%; + border-radius: 0; +} + +.v-dialog--scrollable > .v-overlay__content > form, +.v-dialog--scrollable > .v-overlay__content > form > .v-card { + max-height: 100%; + max-width: 100%; +} +.v-dialog--scrollable > .v-overlay__content, +.v-dialog--scrollable > .v-overlay__content > .v-card, +.v-dialog--scrollable > .v-overlay__content > form, +.v-dialog--scrollable > .v-overlay__content > form > .v-card { + display: flex; + flex: 1 1 100%; + flex-direction: column; +} +.v-dialog--scrollable > .v-overlay__content > .v-card > .v-card-text, +.v-dialog--scrollable > .v-overlay__content > form > .v-card > .v-card-text { + backface-visibility: hidden; + overflow-y: auto; +}/* Colors */ +.v-breadcrumbs { + display: flex; + align-items: center; + line-height: 20px; + padding: 16px 12px; +} +.v-breadcrumbs--rounded { + border-radius: 4px; +} +.v-breadcrumbs--density-default { + padding-top: 16px; + padding-bottom: 16px; +} + +.v-breadcrumbs--density-comfortable { + padding-top: 12px; + padding-bottom: 12px; +} + +.v-breadcrumbs--density-compact { + padding-top: 8px; + padding-bottom: 8px; +} + +.v-breadcrumbs__prepend { + align-items: center; + display: inline-flex; +} + +.v-breadcrumbs-item { + align-items: center; + color: inherit; + display: inline-flex; + padding: 0 4px; + text-decoration: none; + vertical-align: middle; +} +.v-breadcrumbs-item--disabled { + opacity: var(--v-disabled-opacity); + pointer-events: none; +} +.v-breadcrumbs-item--link { + color: inherit; + text-decoration: none; +} +.v-breadcrumbs-item--link:hover { + text-decoration: underline; +} +.v-breadcrumbs-item .v-icon { + font-size: 16px; + margin-inline: -4px 2px; +} + +.v-breadcrumbs-divider { + display: inline-block; + padding: 0 8px; + vertical-align: middle; +}/* Colors */ +.v-card { + display: block; + overflow: hidden; + overflow-wrap: break-word; + position: relative; + padding: 0; + text-decoration: none; + transition-duration: 0.28s; + transition-property: box-shadow, opacity, background; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + z-index: 0; +} +.v-card { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-card--border { + border-width: thin; + box-shadow: none; +} +.v-card--absolute { + position: absolute; +} +.v-card--fixed { + position: fixed; +} +.v-card { + border-radius: 4px; +} +.v-card:hover > .v-card__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-card:focus-visible > .v-card__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-card:focus > .v-card__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-card--active > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true] > .v-card__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-card--active:hover > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:hover > .v-card__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-card--active:focus-visible > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-card__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-card--active:focus > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus > .v-card__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-card--variant-plain, .v-card--variant-outlined, .v-card--variant-text, .v-card--variant-tonal { + background: transparent; + color: inherit; +} +.v-card--variant-plain { + opacity: 0.62; +} +.v-card--variant-plain:focus, .v-card--variant-plain:hover { + opacity: 1; +} +.v-card--variant-plain .v-card__overlay { + display: none; +} +.v-card--variant-elevated, .v-card--variant-flat { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-card--variant-elevated { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-card--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-card--variant-outlined { + border: thin solid currentColor; +} +.v-card--variant-text .v-card__overlay { + background: currentColor; +} +.v-card--variant-tonal .v-card__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-card .v-card__underlay { + position: absolute; +} +.v-card--disabled { + pointer-events: none; + user-select: none; +} +.v-card--disabled > :not(.v-card__loader) { + opacity: 0.6; +} +.v-card--flat { + box-shadow: none; +} +.v-card--hover { + cursor: pointer; +} +.v-card--hover::before, .v-card--hover::after { + border-radius: inherit; + bottom: 0; + content: ""; + display: block; + left: 0; + pointer-events: none; + position: absolute; + right: 0; + top: 0; + transition: inherit; +} +.v-card--hover::before { + opacity: 1; + z-index: -1; +} +.v-card--hover::before { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-card--hover::after { + z-index: 1; + opacity: 0; +} +.v-card--hover::after { + box-shadow: 0 6px 16px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-lg-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-card--hover:hover::after { + opacity: 1; +} +.v-card--hover:hover::before { + opacity: 0; +} +.v-card--hover:hover { + box-shadow: 0 6px 16px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-lg-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-card--link { + cursor: pointer; +} + +.v-card-actions { + align-items: center; + display: flex; + flex: none; + min-height: 52px; + padding: 0.5rem; + gap: 0.5rem; +} + +.v-card-item { + align-items: center; + display: grid; + flex: none; + grid-template-areas: "prepend content append"; + grid-template-columns: max-content auto max-content; + padding: 16px; +} +.v-card-item + .v-card-text { + padding-top: 0; +} +.v-card-item__prepend, .v-card-item__append { + align-items: center; + display: flex; +} +.v-card-item__prepend { + grid-area: prepend; + padding-inline-end: 0.5rem; +} +.v-card-item__append { + grid-area: append; + padding-inline-start: 0.5rem; +} + +.v-card-item__content { + align-self: center; + grid-area: content; + overflow: hidden; +} + +.v-card-title { + display: block; + flex: none; + font-size: 18px; + font-weight: 500; + hyphens: auto; + letter-spacing: -0.04px; + min-width: 0; + overflow-wrap: normal; + overflow: hidden; + padding: 0.5rem 1rem; + text-overflow: ellipsis; + text-transform: none; + white-space: nowrap; + word-break: normal; + word-wrap: break-word; +} +.v-card .v-card-title { + line-height: 26px; +} +.v-card--density-comfortable .v-card-title { + line-height: 1.75rem; +} +.v-card--density-compact .v-card-title { + line-height: 1.55rem; +} +.v-card-item .v-card-title { + padding: 0; +} +.v-card-title + .v-card-text, +.v-card-title + .v-card-actions { + padding-top: 0; +} + +.v-card-subtitle { + display: block; + flex: none; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.0178571429em; + opacity: var(--v-card-subtitle-opacity, var(--v-medium-emphasis-opacity)); + overflow: hidden; + padding: 0 1rem; + text-overflow: ellipsis; + text-transform: none; + white-space: nowrap; +} +.v-card .v-card-subtitle { + line-height: 20px; +} +.v-card--density-comfortable .v-card-subtitle { + line-height: 1.125rem; +} +.v-card--density-compact .v-card-subtitle { + line-height: 1rem; +} +.v-card-item .v-card-subtitle { + padding: 0 0 0.25rem; +} + +.v-card-text { + flex: 1 1 auto; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.0178571429em; + opacity: var(--v-card-text-opacity, 1); + padding: 1rem; + text-transform: none; +} +.v-card .v-card-text { + line-height: 20px; +} +.v-card--density-comfortable .v-card-text { + line-height: 1.2rem; +} +.v-card--density-compact .v-card-text { + line-height: 1.15rem; +} + +.v-card__image { + display: flex; + height: 100%; + flex: 1 1 auto; + left: 0; + overflow: hidden; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} + +.v-card__content { + border-radius: inherit; + overflow: hidden; + position: relative; +} + +.v-card__loader { + bottom: auto; + top: 0; + left: 0; + position: absolute; + right: 0; + width: 100%; + z-index: 1; +} +@media (forced-colors: active) { + .v-card__loader .v-progress-linear { + border: none; + } +} + +.v-card__overlay { + background-color: currentColor; + border-radius: inherit; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; + opacity: 0; + transition: opacity 0.2s ease-in-out; +} + +@media (forced-colors: active) { + .v-card:not(.v-card--variant-text, .v-card--variant-plain) { + border: thin solid; + } +}/* Colors */ +.v-carousel { + overflow: hidden; + position: relative; + width: 100%; +} +.v-carousel__controls { + align-items: center; + bottom: 0; + display: flex; + height: 50px; + justify-content: center; + list-style-type: none; + position: absolute; + width: 100%; + z-index: 1; +} +.v-carousel__controls { + background: rgba(var(--v-theme-surface-variant), 0.3); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-carousel__controls > .v-item-group { + flex: 0 1 auto; +} +.v-carousel__controls__item { + margin: 0 8px; +} +.v-carousel__controls__item .v-icon { + opacity: 0.5; +} +.v-carousel__controls__item--active .v-icon { + opacity: 1; + vertical-align: middle; +} +.v-carousel__controls__item:hover { + background: none; +} +.v-carousel__controls__item:hover .v-icon { + opacity: 0.8; +} + +.v-carousel__progress { + margin: 0; + bottom: 0; + left: 0; + right: 0; +} + +.v-carousel-item { + display: block; + height: inherit; + text-decoration: none; +} +.v-carousel-item > .v-img { + height: inherit; +} + +.v-carousel--hide-delimiter-background .v-carousel__controls { + background: transparent; +} + +.v-carousel--vertical-delimiters .v-carousel__controls { + flex-direction: column; + height: 100% !important; + width: 50px; +}/* Colors */ +.v-window { + overflow: hidden; +} +.v-window__container { + display: flex; + flex-direction: column; + height: inherit; + position: relative; + transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.v-window__controls { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 16px; + pointer-events: none; +} +.v-window__controls > * { + pointer-events: auto; +} +.v-window--show-arrows-on-hover { + overflow: hidden; +} +.v-window--show-arrows-on-hover .v-window__left { + transform: translateX(-200%); +} +:has(.v-window__controls--right).v-window--show-arrows-on-hover .v-window__left { + transform: translateX(200%); +} + +.v-window--show-arrows-on-hover .v-window__right { + transform: translateX(200%); +} +:has(.v-window__controls--left).v-window--show-arrows-on-hover .v-window__right { + transform: translateX(-200%); +} + +.v-window--show-arrows-on-hover:hover .v-window__left, +.v-window--show-arrows-on-hover:hover .v-window__right { + transform: translateX(0); +} +.v-window--vertical-arrows .v-window__controls { + flex-direction: column; + justify-content: center; + gap: 12px; +} +.v-window--vertical-arrows .v-window__controls--left { + align-items: start; +} +.v-window--vertical-arrows .v-window__controls--right { + align-items: end; +} +.v-window--vertical-arrows .v-window__controls .v-window__left .v-icon, +.v-window--vertical-arrows .v-window__controls .v-window__right .v-icon { + transform: rotate(90deg); +} +@container style(--v-window-transition-duration) { + .v-window .v-window-item { + transition-duration: var(--v-window-transition-duration) !important; + } +} +.v-window--crossfade > .v-window__container { + isolation: isolate; +} +.v-window--crossfade > .v-window__container > .v-window-item { + mix-blend-mode: plus-lighter; +} + +.v-window-x-transition-enter-active, .v-window-x-transition-leave-active, .v-window-x-reverse-transition-enter-active, .v-window-x-reverse-transition-leave-active, .v-window-y-transition-enter-active, .v-window-y-transition-leave-active, .v-window-y-reverse-transition-enter-active, .v-window-y-reverse-transition-leave-active { + transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +@media (prefers-reduced-motion: reduce) { + .v-window-x-transition-enter-active, .v-window-x-transition-leave-active, .v-window-x-reverse-transition-enter-active, .v-window-x-reverse-transition-leave-active, .v-window-y-transition-enter-active, .v-window-y-transition-leave-active, .v-window-y-reverse-transition-enter-active, .v-window-y-reverse-transition-leave-active { + transition-duration: 0s; + } +} +.v-window-x-transition-leave-from, .v-window-x-transition-leave-to, .v-window-x-reverse-transition-leave-from, .v-window-x-reverse-transition-leave-to, .v-window-y-transition-leave-from, .v-window-y-transition-leave-to, .v-window-y-reverse-transition-leave-from, .v-window-y-reverse-transition-leave-to { + position: absolute !important; + top: 0; + width: 100%; +} +.v-window-x-transition-enter-from { + transform: translateX(100%); +} +.v-window-x-transition-leave-to { + transform: translateX(-100%); +} +.v-window-x-reverse-transition-enter-from { + transform: translateX(-100%); +} +.v-window-x-reverse-transition-leave-to { + transform: translateX(100%); +} +.v-window-y-transition-enter-from { + transform: translateY(100%); +} +.v-window-y-transition-leave-to { + transform: translateY(-100%); +} +.v-window-y-reverse-transition-enter-from { + transform: translateY(-100%); +} +.v-window-y-reverse-transition-leave-to { + transform: translateY(100%); +} + +.v-window-crossfade-transition-enter-active, .v-window-crossfade-transition-leave-active { + transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} +.v-window-crossfade-transition-leave-from, .v-window-crossfade-transition-leave-to { + position: absolute !important; + top: 0; + width: 100%; +} +.v-window-crossfade-transition-enter-from, .v-window-crossfade-transition-leave-to { + opacity: 0; +}/* Colors */ +.v-code { + background-color: rgb(var(--v-theme-code)); + color: rgb(var(--v-theme-on-code)); + border-radius: 4px; + line-height: 1.8; + font-size: 0.9em; + font-weight: normal; + padding: 0.2em 0.4em; +} +.v-code:has(> pre) { + display: inline-block; +}/* Colors */ +.v-color-picker { + align-self: flex-start; + contain: content; + width: 300px; +} +.v-color-picker.v-sheet.v-picker { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-color-picker.v-sheet.v-picker { + border-radius: 4px; +} + +.v-color-picker__controls { + display: flex; + flex-direction: column; + padding: 16px; + width: 100%; +} + +.v-color-picker--flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-color-picker--flat .v-color-picker__track:not(.v-input--is-disabled) .v-slider__thumb { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +}/* Colors */ +.v-color-picker-canvas { + display: flex; + position: relative; + overflow: hidden; + contain: content; + touch-action: none; + width: 100%; +} +.v-color-picker-canvas__dot { + position: absolute; + top: 0; + left: 0; + width: 15px; + height: 15px; + background: transparent; + border-radius: 50%; + box-shadow: 0px 0px 0px 1.5px rgb(255, 255, 255), inset 0px 0px 1px 1.5px rgba(0, 0, 0, 0.3); +} +.v-color-picker-canvas__dot--disabled { + box-shadow: 0px 0px 0px 1.5px rgba(255, 255, 255, 0.7), inset 0px 0px 1px 1.5px rgba(0, 0, 0, 0.3); +} +.v-color-picker-canvas:hover .v-color-picker-canvas__dot { + will-change: transform; +}/* Colors */ +.v-color-picker-edit { + display: flex; + margin-top: 24px; +} + +.v-color-picker-edit__input { + width: 100%; + display: flex; + flex-wrap: wrap; + justify-content: center; + text-align: center; +} +.v-color-picker-edit__input > input::-webkit-outer-spin-button, +.v-color-picker-edit__input > input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.v-color-picker-edit__input:not(:last-child) { + margin-inline-end: 8px; +} +.v-color-picker-edit__input input { + border-radius: 4px; + margin-bottom: 8px; + min-width: 0; + outline: none; + text-align: center; + width: 100%; + height: 32px; + background: rgba(var(--v-theme-surface-variant), 0.2); + color: rgba(var(--v-theme-on-surface)); +} +.v-color-picker-edit__input span { + font-size: 0.75rem; +}/* Colors */ +.v-color-picker-preview__alpha .v-slider-track__background { + background-color: transparent !important; +} +.v-locale--is-ltr.v-color-picker-preview__alpha .v-slider-track__background, .v-locale--is-ltr .v-color-picker-preview__alpha .v-slider-track__background { + background-image: linear-gradient(to right, transparent, var(--v-color-picker-color-hsv)); +} + +.v-locale--is-rtl.v-color-picker-preview__alpha .v-slider-track__background, .v-locale--is-rtl .v-color-picker-preview__alpha .v-slider-track__background { + background-image: linear-gradient(to left, transparent, var(--v-color-picker-color-hsv)); +} + +.v-color-picker-preview__alpha .v-slider-track__background::after { + content: ""; + z-index: -1; + left: 0; + top: 0; + width: 100%; + height: 100%; + position: absolute; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat; + border-radius: inherit; +} + +.v-color-picker-preview__sliders { + display: flex; + flex: 1 0 auto; + flex-direction: column; + padding-inline-end: 16px; +} + +.v-color-picker-preview__dot { + position: relative; + height: 30px; + width: 30px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat; + border-radius: 50%; + overflow: hidden; + margin-inline-end: 24px; +} +.v-color-picker-preview__dot > div { + width: 100%; + height: 100%; +} + +.v-locale--is-ltr.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background, .v-locale--is-ltr .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background { + background: linear-gradient(to right, #F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%); +} + +.v-locale--is-rtl.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background, .v-locale--is-rtl .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background { + background: linear-gradient(to left, #F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%); +} + +.v-color-picker-preview__track { + position: relative; + width: 100%; + margin: 0 !important; +} +.v-color-picker-preview__track .v-slider-track__fill { + display: none; +} + +.v-color-picker-preview { + align-items: center; + display: flex; + margin-bottom: 0; +} + +.v-color-picker-preview__eye-dropper { + position: relative; + margin-right: 12px; +}/* Colors */ +.v-slider .v-slider__container input { + cursor: default; + padding: 0; + width: 100%; + display: none; +} +.v-slider > .v-input__append, +.v-slider > .v-input__prepend { + padding: 0; +} + +.v-slider__container { + position: relative; + min-height: inherit; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; +} +.v-input--disabled .v-slider__container { + opacity: var(--v-disabled-opacity); +} +.v-input--error:not(.v-input--disabled) .v-slider__container { + color: rgb(var(--v-theme-error)); +} + +.v-slider.v-input--horizontal { + align-items: center; + margin-inline: 8px 8px; +} +.v-slider.v-input--horizontal > .v-input__control { + min-height: 32px; + display: flex; + align-items: center; +} + +.v-slider.v-input--vertical { + justify-content: center; + margin-top: 12px; + margin-bottom: 12px; +} +.v-slider.v-input--vertical > .v-input__control { + min-height: 300px; +} + +.v-slider.v-input--disabled { + pointer-events: none; +} + +.v-slider--has-labels > .v-input__control { + margin-bottom: 4px; +} + +.v-slider__label { + margin-inline-end: 12px; +}/* Colors */ +.v-slider-thumb { + touch-action: none; + color: rgb(var(--v-theme-surface-variant)); +} +.v-input--error:not(.v-input--disabled) .v-slider-thumb { + color: inherit; +} + +.v-slider-thumb__label { + background: rgba(var(--v-theme-surface-variant), 0.7); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-slider-thumb__label > .v-slider-thumb__label-wedge { + background: inherit; +} + +.v-slider-thumb { + outline: none; + position: absolute; + transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); +} + +.v-slider-thumb__surface { + cursor: pointer; + width: var(--v-slider-thumb-size); + height: var(--v-slider-thumb-size); + border-radius: 50%; + user-select: none; + background-color: currentColor; +} +@media (forced-colors: active) { + .v-slider-thumb__surface { + background-color: highlight; + } +} +.v-slider-thumb__surface::before { + transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1); + content: ""; + color: inherit; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 50%; + background: currentColor; + position: absolute; + pointer-events: none; + opacity: 0; +} +.v-slider-thumb__surface::after { + content: ""; + width: 42px; + height: 42px; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.v-slider-thumb__label-container { + position: absolute; + transition: 0.2s cubic-bezier(0.4, 0, 1, 1); +} + +.v-slider-thumb__label { + display: flex; + align-items: center; + justify-content: center; + font-size: 12px; + min-width: 35px; + height: 25px; + border-radius: 4px; + padding: 6px; + position: absolute; + user-select: none; + transition: 0.2s cubic-bezier(0.4, 0, 1, 1); +} +.v-slider-thumb__label > .v-slider-thumb__label-wedge { + width: 12px; + height: 12px; + position: absolute; +} + +.v-slider-thumb__ripple { + position: absolute; + left: calc(var(--v-slider-thumb-size) / -2); + top: calc(var(--v-slider-thumb-size) / -2); + width: calc(var(--v-slider-thumb-size) * 2); + height: calc(var(--v-slider-thumb-size) * 2); + background: inherit; +} + +.v-slider.v-input--horizontal .v-slider-thumb { + top: 50%; + transform: translateY(-50%); + inset-inline-start: calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2); +} +.v-slider.v-input--horizontal .v-slider-thumb__label-container { + left: calc(var(--v-slider-thumb-size) / 2); + top: 0; +} +.v-slider.v-input--horizontal .v-slider-thumb__label { + bottom: calc(var(--v-slider-thumb-size) / 2); +} +.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-thumb__label, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-thumb__label { + transform: translateX(-50%); +} + +.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-thumb__label, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-thumb__label { + transform: translateX(50%); +} + +.v-slider.v-input--horizontal .v-slider-thumb__label > .v-slider-thumb__label-wedge { + clip-path: polygon(50% 100%, 0 50%, 100% 50%); + bottom: calc(-6px + 0.2px); +} + +.v-slider.v-input--vertical .v-slider-thumb { + top: calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2); +} +.v-slider.v-input--vertical .v-slider-thumb__label-container { + top: calc(var(--v-slider-thumb-size) / 2); + right: 0; +} +.v-slider.v-input--vertical .v-slider-thumb__label { + top: -12.5px; + left: calc(var(--v-slider-thumb-size) / 2); +} +.v-slider.v-input--vertical .v-slider-thumb__label > .v-slider-thumb__label-wedge { + clip-path: polygon(0 50%, 50% 0, 50% 100%); + left: calc(-6px + 0.2px); +} + +.v-slider-thumb--focused .v-slider-thumb__surface::before { + transform: scale(2); + opacity: var(--v-focus-opacity); +} + +.v-slider-thumb--pressed { + transition: none; +} +.v-slider-thumb--pressed .v-slider-thumb__surface::before { + opacity: var(--v-pressed-opacity); +} + +@media (hover: hover) { + .v-slider-thumb:hover .v-slider-thumb__surface::before { + transform: scale(2); + } + .v-slider-thumb:hover:not(.v-slider-thumb--focused) .v-slider-thumb__surface::before { + opacity: var(--v-hover-opacity); + } +}/* Colors */ +.v-slider-track__background { + background-color: rgb(var(--v-theme-surface-variant)); +} +@media (forced-colors: active) { + .v-slider-track__background { + background-color: highlight; + } +} + +.v-slider-track__fill { + background-color: rgb(var(--v-theme-surface-variant)); +} +@media (forced-colors: active) { + .v-slider-track__fill { + background-color: highlight; + } +} + +.v-slider-track__tick { + background-color: rgb(var(--v-theme-surface-variant)); +} +.v-slider-track__tick--filled { + background-color: rgb(var(--v-theme-surface-light)); +} + +.v-slider-track { + border-radius: 6px; +} +@media (forced-colors: active) { + .v-slider-track { + border: thin solid buttontext; + } +} + +.v-slider-track__background, .v-slider-track__fill { + position: absolute; + transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); + border-radius: inherit; +} +.v-slider--pressed .v-slider-track__background, .v-slider--pressed .v-slider-track__fill { + transition: none; +} +.v-input--error:not(.v-input--disabled) .v-slider-track__background, .v-input--error:not(.v-input--disabled) .v-slider-track__fill { + background-color: currentColor; +} + +.v-slider-track__ticks { + height: 100%; + width: 100%; + position: relative; +} + +.v-slider-track__tick { + position: absolute; + opacity: 0; + transition: 0.2s opacity cubic-bezier(0.4, 0, 0.2, 1); + border-radius: 2px; + width: var(--v-slider-tick-size); + height: var(--v-slider-tick-size); + transform: translate(calc(var(--v-slider-tick-size) / -2), calc(var(--v-slider-tick-size) / -2)); +} +.v-locale--is-ltr.v-slider-track__tick--first .v-slider-track__tick-label, .v-locale--is-ltr .v-slider-track__tick--first .v-slider-track__tick-label { + transform: none; +} + +.v-locale--is-rtl.v-slider-track__tick--first .v-slider-track__tick-label, .v-locale--is-rtl .v-slider-track__tick--first .v-slider-track__tick-label { + transform: translateX(100%); +} + +.v-locale--is-ltr.v-slider-track__tick--last .v-slider-track__tick-label, .v-locale--is-ltr .v-slider-track__tick--last .v-slider-track__tick-label { + transform: translateX(-100%); +} + +.v-locale--is-rtl.v-slider-track__tick--last .v-slider-track__tick-label, .v-locale--is-rtl .v-slider-track__tick--last .v-slider-track__tick-label { + transform: none; +} + +.v-slider-track__tick-label { + position: absolute; + user-select: none; + white-space: nowrap; +} + +.v-slider.v-input--horizontal .v-slider-track { + display: flex; + align-items: center; + width: 100%; + height: calc(var(--v-slider-track-size) + 2px); + touch-action: pan-y; +} +.v-slider.v-input--horizontal .v-slider-track__background { + height: var(--v-slider-track-size); +} +.v-slider.v-input--horizontal .v-slider-track__fill { + height: inherit; +} +.v-slider.v-input--horizontal .v-slider-track__tick { + margin-top: calc(calc(var(--v-slider-track-size) + 2px) / 2); +} +.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick { + transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / -2)); +} + +.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label { + margin-top: calc(var(--v-slider-track-size) / 2 + 8px); +} +.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label { + transform: translateX(-50%); +} + +.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label { + transform: translateX(50%); +} + +.v-slider.v-input--horizontal .v-slider-track__tick--first { + margin-inline-start: calc(var(--v-slider-tick-size) + 1px); +} +.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label { + transform: translateX(0%); +} + +.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label { + transform: translateX(0%); +} + +.v-slider.v-input--horizontal .v-slider-track__tick--last { + margin-inline-start: calc(100% - var(--v-slider-tick-size) - 1px); +} +.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label, .v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label { + transform: translateX(-100%); +} + +.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label, .v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label { + transform: translateX(100%); +} + +.v-slider.v-input--vertical .v-slider-track { + height: 100%; + display: flex; + justify-content: center; + width: calc(var(--v-slider-track-size) + 2px); + touch-action: pan-x; +} +.v-slider.v-input--vertical .v-slider-track__background { + width: var(--v-slider-track-size); +} +.v-slider.v-input--vertical .v-slider-track__fill { + width: inherit; +} +.v-slider.v-input--vertical .v-slider-track__ticks { + height: 100%; +} +.v-slider.v-input--vertical .v-slider-track__tick { + margin-inline-start: calc(calc(var(--v-slider-track-size) + 2px) / 2); + transform: translate(calc(var(--v-slider-tick-size) / -2), calc(var(--v-slider-tick-size) / 2)); +} +.v-locale--is-rtl.v-slider.v-input--vertical .v-slider-track__tick, .v-locale--is-rtl .v-slider.v-input--vertical .v-slider-track__tick { + transform: translate(calc(var(--v-slider-tick-size) / 2), calc(var(--v-slider-tick-size) / 2)); +} + +.v-slider.v-input--vertical .v-slider-track__tick--first { + bottom: calc(0% + var(--v-slider-tick-size) + 1px); +} +.v-slider.v-input--vertical .v-slider-track__tick--last { + bottom: calc(100% - var(--v-slider-tick-size) - 1px); +} +.v-slider.v-input--vertical .v-slider-track__tick .v-slider-track__tick-label { + margin-inline-start: calc(var(--v-slider-track-size) / 2 + 12px); + transform: translateY(-50%); +} + +.v-slider-track__ticks--always-show .v-slider-track__tick, .v-slider--focused .v-slider-track__tick { + opacity: 1; +} + +.v-slider-track__background--opacity { + opacity: 0.38; +}/* Colors */ +.v-color-picker-swatches { + overflow-y: auto; +} +.v-color-picker-swatches > div { + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: 8px; +} + +.v-color-picker-swatches__swatch { + display: flex; + flex-direction: column; + margin-bottom: 10px; +} + +.v-color-picker-swatches__color { + position: relative; + height: 18px; + max-height: 18px; + width: 45px; + margin: 2px 4px; + border-radius: 2px; + user-select: none; + overflow: hidden; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACRJREFUKFNjPHTo0H8GJGBnZ8eIzGekgwJk+0BsdCtRHEQbBQBbbh0dIGKknQAAAABJRU5ErkJggg==) repeat; + cursor: pointer; +} +.v-color-picker-swatches__color > div { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; +}/* Colors */ +.v-picker.v-sheet { + display: grid; + grid-auto-rows: min-content; + grid-template-areas: "title" "header" "body"; + grid-template-columns: minmax(0, 1fr); + overflow: hidden; +} +.v-picker.v-sheet { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-picker.v-sheet { + border-radius: 4px; +} +.v-picker.v-sheet.v-picker--with-actions { + grid-template-areas: "title" "header" "body" "actions"; +} + +.v-picker__body { + grid-area: body; + overflow: hidden; + position: relative; + display: flex; + justify-content: center; + flex-wrap: wrap; +} + +.v-picker__header { + grid-area: header; +} + +.v-picker__actions { + grid-area: actions; + padding: 0 12px 12px; + display: flex; + align-items: center; + justify-content: flex-end; +} +.v-picker__actions .v-btn { + min-width: 48px; +} +.v-picker__actions .v-btn:not(:last-child) { + margin-inline-end: 8px; +} + +.v-picker--divided .v-picker__header { + border-bottom-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-bottom-style: solid; + border-bottom-width: thin; +} + +.v-picker--landscape { + grid-template-areas: "title" "header body" "header body"; +} + +.v-picker--landscape.v-picker--with-actions { + grid-template-areas: "title" "header body" "header actions"; +} + +.v-picker-title { + text-transform: uppercase; + font-size: 0.75rem; + grid-area: title; + padding-inline: 24px 12px; + padding-top: 16px; + padding-bottom: 16px; + font-weight: 400; + letter-spacing: 0.1666666667em; +}/* Colors */ +.v-sheet { + display: block; +} +.v-sheet { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-sheet--border { + border-width: thin; + box-shadow: none; +} +.v-sheet { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-sheet--absolute { + position: absolute; +} +.v-sheet--fixed { + position: fixed; +} +.v-sheet--relative { + position: relative; +} +.v-sheet--sticky { + position: sticky; +} +.v-sheet { + border-radius: 0; +} +.v-sheet { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-sheet--rounded { + border-radius: 4px; +}/* Colors */ +.v-combobox--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, +.v-combobox--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, +.v-combobox--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, +.v-combobox--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 0px; +} +.v-combobox .v-field .v-text-field__prefix, +.v-combobox .v-field .v-text-field__suffix, +.v-combobox .v-field .v-field__input, .v-combobox .v-field.v-field { + cursor: text; +} +.v-combobox .v-field .v-field__input > input { + flex: 1 1; +} +.v-combobox .v-field input { + min-width: 64px; +} +.v-combobox .v-field:not(.v-field--focused) input { + min-width: 0; +} +.v-combobox .v-field--dirty .v-combobox__selection { + margin-inline-end: 2px; +} +.v-combobox .v-combobox__selection-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.v-combobox__content { + overflow: hidden; +} +.v-combobox__content { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-menu > .v-overlay__content.v-combobox__content { + border-radius: 4px; +} + +.v-combobox__mask { + background: rgb(var(--v-theme-surface-light)); +} +.v-combobox__selection { + display: inline-flex; + align-items: center; + height: 24px; + letter-spacing: inherit; + line-height: inherit; + max-width: calc(100% - 2px - 2px); +} +.v-combobox__selection:first-child { + margin-inline-start: 0; +} +.v-combobox--selecting-index .v-combobox__selection { + opacity: var(--v-medium-emphasis-opacity); +} +.v-combobox--selecting-index .v-combobox__selection--selected { + opacity: 1; +} +.v-combobox--selecting-index .v-field__input > input { + caret-color: transparent; +} +.v-combobox--single:not(.v-combobox--selection-slot).v-text-field input { + flex: 1 1; + position: absolute; + left: 0; + right: 0; + width: 100%; + padding-inline: inherit; +} +.v-combobox--single:not(.v-combobox--selection-slot) .v-field--active input { + transition: none; +} +.v-combobox--single:not(.v-combobox--selection-slot) .v-field--dirty:not(.v-field--focused) input { + opacity: 0; +} +.v-combobox--single:not(.v-combobox--selection-slot) .v-field--focused .v-combobox__selection { + opacity: 0; +} +.v-combobox__menu-icon { + margin-inline-start: 4px; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} +.v-combobox--active-menu .v-combobox__menu-icon { + transform: rotate(180deg); +}/* Colors */ +.v-data-table { + width: 100%; +} + +.v-data-table__table { + width: 100%; + border-collapse: separate; + border-spacing: 0; +} + +.v-data-table__tr--focus { + border: 1px dotted black; +} +.v-data-table__tr--clickable { + cursor: pointer; +} + +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end { + text-align: end; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-end .v-data-table-header__content, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-end .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-end .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-end .v-data-table-header__content { + flex-direction: row-reverse; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center { + text-align: center; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--align-center .v-data-table-header__content, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--align-center .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--align-center .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--align-center .v-data-table-header__content { + justify-content: center; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--no-padding, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--no-padding, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--no-padding, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--no-padding { + padding: 0 8px; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--empty, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--empty, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--empty, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--empty { + padding: 0; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap { + text-overflow: ellipsis; + text-wrap: nowrap; + overflow: hidden; +} +.v-data-table .v-table__wrapper > table > thead > tr > td.v-data-table-column--nowrap .v-data-table-header__content, +.v-data-table .v-table__wrapper > table > thead > tr th.v-data-table-column--nowrap .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr > td.v-data-table-column--nowrap .v-data-table-header__content, +.v-data-table .v-table__wrapper > table tbody > tr th.v-data-table-column--nowrap .v-data-table-header__content { + display: contents; +} +.v-data-table .v-table__wrapper > table > thead > tr > th, +.v-data-table .v-table__wrapper > table tbody > tr > th { + align-items: center; +} +.v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--fixed, +.v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--fixed { + position: sticky; +} +.v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:hover, +.v-data-table .v-table__wrapper > table > thead > tr > th.v-data-table__th--sortable:focus, +.v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:hover, +.v-data-table .v-table__wrapper > table tbody > tr > th.v-data-table__th--sortable:focus { + cursor: pointer; + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon, +.v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon { + opacity: 0; +} +.v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon, .v-data-table .v-table__wrapper > table > thead > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon, +.v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon, +.v-data-table .v-table__wrapper > table tbody > tr > th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon { + opacity: 0.5; +} +.v-data-table .v-table__wrapper > table > thead > tr.v-data-table__tr--mobile > td, +.v-data-table .v-table__wrapper > table tbody > tr.v-data-table__tr--mobile > td { + height: fit-content; +} + +.v-data-table-column--fixed, +.v-data-table-column--fixed-end, +.v-data-table__th--sticky { + background-color: rgb(var(--v-theme-surface)); + background-image: inherit; + position: sticky !important; + left: 0; + z-index: 1; +} + +.v-data-table-column--fixed-end { + left: unset; + right: 0; +} + +.v-data-table-column--last-fixed { + border-right: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)); +} + +.v-data-table-column--first-fixed-end { + border-left: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)); +} + +.v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed, +.v-data-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th.v-data-table-column--fixed-end { + z-index: 2; +} + +.v-data-table-group-header-row td { + background: rgba(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface)); +} +.v-data-table-group-header-row td > span { + padding-left: 5px; +} + +.v-data-table--loading .v-data-table__td { + opacity: var(--v-disabled-opacity); +} + +.v-data-table-group-header-row__column { + padding-inline-start: calc(var(--v-data-table-group-header-row-depth) * 16px) !important; +} + +.v-data-table-header__content { + display: flex; + align-items: center; +} + +.v-data-table-header__sort-badge { + display: inline-flex; + justify-content: center; + align-items: center; + font-size: 0.875rem; + padding: 4px; + border-radius: 50%; + background: rgba(var(--v-border-color), var(--v-border-opacity)); + min-width: 20px; + min-height: 20px; + width: 20px; + height: 20px; +} + +.v-data-table-progress > th { + border: none !important; + height: auto !important; + padding: 0 !important; +} + +.v-data-table-progress__loader { + position: relative; +} + +.v-data-table-rows-loading, +.v-data-table-rows-no-data { + text-align: center; +} + +.v-data-table__tr--mobile > .v-data-table__td--expanded-row { + grid-template-columns: auto; + justify-content: center; +} +.v-data-table__tr--mobile > .v-data-table__td--select-row { + grid-template-columns: 0; + justify-content: end; +} +.v-data-table__tr--mobile > td { + align-items: center; + column-gap: 4px; + display: grid; + grid-template-columns: repeat(2, 1fr); + min-height: var(--v-table-row-height); +} +.v-data-table__tr--mobile > td:not(:last-child) { + border-bottom: 0 !important; +} + +.v-data-table__td-title { + font-weight: 500; + text-align: start; +} + +.v-data-table__td-value { + text-align: end; +} + +.v-data-table__td-sort-icon { + color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)); +} +.v-data-table__td-sort-icon-active { + color: rgba(var(--v-theme-on-surface)); +}/* Colors */ +.v-data-table-footer { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + padding: 8px 4px; +} +.v-data-table-footer__items-per-page { + align-items: center; + display: flex; + justify-content: center; +} +.v-data-table-footer__items-per-page > span { + padding-inline-end: 8px; +} +.v-data-table-footer__items-per-page > .v-select { + width: 90px; +} +.v-data-table-footer__info { + display: flex; + justify-content: flex-end; + min-width: 116px; + padding: 0 16px; +} +.v-data-table-footer__paginationz { + align-items: center; + display: flex; + margin-inline-start: 16px; +} +.v-data-table-footer__page { + padding: 0 8px; +}/* Colors */ +.v-pagination__list { + display: inline-flex; + list-style-type: none; + justify-content: center; + width: 100%; +} +.v-pagination__item, .v-pagination__first, .v-pagination__prev, .v-pagination__next, .v-pagination__last { + margin: 0.3rem; +}/* Colors */ +.v-table { + font-size: 14px; + transition-duration: 0.28s; + transition-property: box-shadow, opacity, background, height; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.v-table { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-grey-darken-3), var(--v-high-emphasis-opacity)); +} +.v-table .v-table-divider { + border-right: thin solid #e0e0e0; +} +.v-table .v-table__wrapper > table > thead > tr > th { + border-bottom: thin solid #e0e0e0; +} +.v-table .v-table__wrapper > table > tbody > tr:not(:last-child) > td, +.v-table .v-table__wrapper > table > tbody > tr:not(:last-child) > th { + border-bottom: thin solid #e0e0e0; +} +.v-table .v-table__wrapper > table > tfoot > tr > td, +.v-table .v-table__wrapper > table > tfoot > tr > th { + border-top: thin solid #e0e0e0; +} +.v-table.v-table--hover > .v-table__wrapper > table > tbody > tr > td { + position: relative; +} +.v-table.v-table--hover > .v-table__wrapper > table > tbody > tr:hover > td::after { + background: rgba(var(--v-border-color), var(--v-hover-opacity)); + pointer-events: none; +} +.v-table.v-table--hover > .v-table__wrapper > table > tbody > tr:hover > td::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-table.v-table--striped-even > .v-table__wrapper > table > tbody > tr:nth-child(even) { + background-image: linear-gradient(0deg, rgba(var(--v-border-color), var(--v-hover-opacity)), rgba(var(--v-border-color), var(--v-hover-opacity))); +} +.v-table.v-table--striped-odd > .v-table__wrapper > table > tbody > tr:nth-child(odd) { + background-image: linear-gradient(0deg, rgba(var(--v-border-color), var(--v-hover-opacity)), rgba(var(--v-border-color), var(--v-hover-opacity))); +} +.v-table.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th { + background: rgb(var(--v-theme-surface)); + box-shadow: inset 0 -1px 0 #e0e0e0; + z-index: 1; +} +.v-table.v-table--fixed-footer > tfoot > tr > th, +.v-table.v-table--fixed-footer > tfoot > tr > td { + background: rgb(var(--v-theme-surface)); + box-shadow: inset 0 1px 0 #e0e0e0; +} + +.v-table { + border-radius: inherit; + line-height: 1.5; + max-width: 100%; + display: flex; + flex-direction: column; +} +.v-table > .v-table__wrapper > table { + width: 100%; + border-spacing: 0; +} +.v-table > .v-table__wrapper > table > tbody > tr > td, +.v-table > .v-table__wrapper > table > tbody > tr > th, +.v-table > .v-table__wrapper > table > thead > tr > td, +.v-table > .v-table__wrapper > table > thead > tr > th, +.v-table > .v-table__wrapper > table > tfoot > tr > td, +.v-table > .v-table__wrapper > table > tfoot > tr > th { + padding: 0 16px; + transition-duration: 0.28s; + transition-property: box-shadow, opacity, background, height; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.v-table > .v-table__wrapper > table > tbody > tr > td, +.v-table > .v-table__wrapper > table > thead > tr > td, +.v-table > .v-table__wrapper > table > tfoot > tr > td { + height: var(--v-table-row-height); +} +.v-table > .v-table__wrapper > table > tbody > tr > th, +.v-table > .v-table__wrapper > table > thead > tr > th, +.v-table > .v-table__wrapper > table > tfoot > tr > th { + height: var(--v-table-header-height); + font-weight: 500; + user-select: none; + text-align: start; +} +.v-table--density-default { + --v-table-header-height: 44px; + --v-table-row-height: 60px; +} + +.v-table--density-comfortable { + --v-table-header-height: 36px; + --v-table-row-height: 52px; +} + +.v-table--density-compact { + --v-table-header-height: 28px; + --v-table-row-height: 44px; +} + +.v-table__wrapper { + border-radius: inherit; + overflow: auto; + flex: 1 1 auto; +} + +.v-table--has-top > .v-table__wrapper { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.v-table--has-bottom > .v-table__wrapper { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.v-table--fixed-height > .v-table__wrapper { + overflow-y: auto; +} + +.v-table--fixed-header > .v-table__wrapper > table > thead { + position: sticky; + top: 0; + z-index: 2; +} +.v-table--fixed-header > .v-table__wrapper > table > thead > tr > th { + border-bottom: 0px !important; +} + +.v-table--fixed-footer > .v-table__wrapper > table > tfoot > tr { + position: sticky; + bottom: 0; + z-index: 1; +} +.v-table--fixed-footer > .v-table__wrapper > table > tfoot > tr > td, +.v-table--fixed-footer > .v-table__wrapper > table > tfoot > tr > th { + border-top: 0px !important; +}/* Colors */ +.v-date-picker { + overflow: hidden; + width: 328px; +} +.v-date-picker--show-week { + width: 368px; +}/* Colors */ +.v-date-picker-controls { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 0.875rem; + height: var(--v-date-picker-controls-height, 56px); + padding-top: 4px; + padding-bottom: 4px; + padding-inline-start: 6px; + padding-inline-end: 12px; + flex: 1; +} +.v-date-picker-controls > .v-btn:first-child { + text-transform: none; + font-weight: 400; + line-height: initial; + letter-spacing: initial; +} +.v-date-picker-controls--variant-classic { + padding-inline-start: 12px; +} +.v-date-picker-controls--variant-modern .v-date-picker__title:not(:hover) { + opacity: 0.7; +} +.v-date-picker--month .v-date-picker-controls--variant-modern .v-date-picker__title { + cursor: pointer; +} +.v-date-picker--year .v-date-picker-controls--variant-modern .v-date-picker__title { + opacity: 1; +} +.v-date-picker-controls .v-btn:last-child { + margin-inline-start: 4px; +} +.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn { + transform: rotate(180deg); +} + +.v-date-picker-controls__date { + margin-inline-end: 4px; +} +.v-date-picker-controls--variant-classic .v-date-picker-controls__date { + margin: auto; + text-align: center; +} + +.v-date-picker-controls__month { + display: flex; +} +.v-locale--is-rtl.v-date-picker-controls__month, .v-locale--is-rtl .v-date-picker-controls__month { + flex-direction: row-reverse; +} + +.v-date-picker-controls--variant-classic .v-date-picker-controls__month { + flex: 1 0 auto; +} + +.v-date-picker__title { + display: inline-block; +}/* Colors */ +.v-container { + width: 100%; + padding: 16px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 960px) { + .v-container { + max-width: 900px; + } +} +@media (min-width: 1280px) { + .v-container { + max-width: 1200px; + } +} +@media (min-width: 1920px) { + .v-container { + max-width: 1800px; + } +} +@media (min-width: 2560px) { + .v-container { + max-width: 2400px; + } +} +.v-container--fluid { + max-width: 100%; +} +.v-container.fill-height { + align-items: center; + display: flex; + flex-wrap: wrap; +} + +.v-row { + display: flex; + flex-wrap: wrap; + flex: 1 1 auto; + margin: -12px; +} +.v-row + .v-row { + margin-top: 12px; +} +.v-row + .v-row--dense { + margin-top: 4px; +} +.v-row--dense { + margin: -4px; +} +.v-row--dense > .v-col, +.v-row--dense > [class*=v-col-] { + padding: 4px; +} +.v-row.v-row--no-gutters { + margin: 0; +} +.v-row.v-row--no-gutters > .v-col, +.v-row.v-row--no-gutters > [class*=v-col-] { + padding: 0; +} + +.v-spacer { + flex-grow: 1; +} + +.v-col-xxl, +.v-col-xxl-auto, .v-col-xxl-12, .v-col-xxl-11, .v-col-xxl-10, .v-col-xxl-9, .v-col-xxl-8, .v-col-xxl-7, .v-col-xxl-6, .v-col-xxl-5, .v-col-xxl-4, .v-col-xxl-3, .v-col-xxl-2, .v-col-xxl-1, .v-col-xl, +.v-col-xl-auto, .v-col-xl-12, .v-col-xl-11, .v-col-xl-10, .v-col-xl-9, .v-col-xl-8, .v-col-xl-7, .v-col-xl-6, .v-col-xl-5, .v-col-xl-4, .v-col-xl-3, .v-col-xl-2, .v-col-xl-1, .v-col-lg, +.v-col-lg-auto, .v-col-lg-12, .v-col-lg-11, .v-col-lg-10, .v-col-lg-9, .v-col-lg-8, .v-col-lg-7, .v-col-lg-6, .v-col-lg-5, .v-col-lg-4, .v-col-lg-3, .v-col-lg-2, .v-col-lg-1, .v-col-md, +.v-col-md-auto, .v-col-md-12, .v-col-md-11, .v-col-md-10, .v-col-md-9, .v-col-md-8, .v-col-md-7, .v-col-md-6, .v-col-md-5, .v-col-md-4, .v-col-md-3, .v-col-md-2, .v-col-md-1, .v-col-sm, +.v-col-sm-auto, .v-col-sm-12, .v-col-sm-11, .v-col-sm-10, .v-col-sm-9, .v-col-sm-8, .v-col-sm-7, .v-col-sm-6, .v-col-sm-5, .v-col-sm-4, .v-col-sm-3, .v-col-sm-2, .v-col-sm-1, .v-col, +.v-col-auto, .v-col-12, .v-col-11, .v-col-10, .v-col-9, .v-col-8, .v-col-7, .v-col-6, .v-col-5, .v-col-4, .v-col-3, .v-col-2, .v-col-1 { + width: 100%; + padding: 12px; +} + +.v-col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.v-col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.v-col-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; +} + +.v-col-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; +} + +.v-col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.v-col-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; +} + +.v-col-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; +} + +.v-col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.v-col-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; +} + +.v-col-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; +} + +.v-col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.v-col-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; +} + +.v-col-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; +} + +.v-col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.offset-1 { + margin-inline-start: 8.3333333333%; +} + +.offset-2 { + margin-inline-start: 16.6666666667%; +} + +.offset-3 { + margin-inline-start: 25%; +} + +.offset-4 { + margin-inline-start: 33.3333333333%; +} + +.offset-5 { + margin-inline-start: 41.6666666667%; +} + +.offset-6 { + margin-inline-start: 50%; +} + +.offset-7 { + margin-inline-start: 58.3333333333%; +} + +.offset-8 { + margin-inline-start: 66.6666666667%; +} + +.offset-9 { + margin-inline-start: 75%; +} + +.offset-10 { + margin-inline-start: 83.3333333333%; +} + +.offset-11 { + margin-inline-start: 91.6666666667%; +} + +@media (min-width: 600px) { + .v-col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .v-col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .v-col-sm-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; + } + .v-col-sm-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; + } + .v-col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + .v-col-sm-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .v-col-sm-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .v-col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + .v-col-sm-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .v-col-sm-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .v-col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + .v-col-sm-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } + .v-col-sm-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; + } + .v-col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-sm-0 { + margin-inline-start: 0; + } + .offset-sm-1 { + margin-inline-start: 8.3333333333%; + } + .offset-sm-2 { + margin-inline-start: 16.6666666667%; + } + .offset-sm-3 { + margin-inline-start: 25%; + } + .offset-sm-4 { + margin-inline-start: 33.3333333333%; + } + .offset-sm-5 { + margin-inline-start: 41.6666666667%; + } + .offset-sm-6 { + margin-inline-start: 50%; + } + .offset-sm-7 { + margin-inline-start: 58.3333333333%; + } + .offset-sm-8 { + margin-inline-start: 66.6666666667%; + } + .offset-sm-9 { + margin-inline-start: 75%; + } + .offset-sm-10 { + margin-inline-start: 83.3333333333%; + } + .offset-sm-11 { + margin-inline-start: 91.6666666667%; + } +} +@media (min-width: 960px) { + .v-col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .v-col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .v-col-md-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; + } + .v-col-md-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; + } + .v-col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + .v-col-md-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .v-col-md-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .v-col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + .v-col-md-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .v-col-md-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .v-col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + .v-col-md-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } + .v-col-md-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; + } + .v-col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-md-0 { + margin-inline-start: 0; + } + .offset-md-1 { + margin-inline-start: 8.3333333333%; + } + .offset-md-2 { + margin-inline-start: 16.6666666667%; + } + .offset-md-3 { + margin-inline-start: 25%; + } + .offset-md-4 { + margin-inline-start: 33.3333333333%; + } + .offset-md-5 { + margin-inline-start: 41.6666666667%; + } + .offset-md-6 { + margin-inline-start: 50%; + } + .offset-md-7 { + margin-inline-start: 58.3333333333%; + } + .offset-md-8 { + margin-inline-start: 66.6666666667%; + } + .offset-md-9 { + margin-inline-start: 75%; + } + .offset-md-10 { + margin-inline-start: 83.3333333333%; + } + .offset-md-11 { + margin-inline-start: 91.6666666667%; + } +} +@media (min-width: 1280px) { + .v-col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .v-col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .v-col-lg-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; + } + .v-col-lg-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; + } + .v-col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + .v-col-lg-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .v-col-lg-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .v-col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + .v-col-lg-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .v-col-lg-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .v-col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + .v-col-lg-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } + .v-col-lg-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; + } + .v-col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-lg-0 { + margin-inline-start: 0; + } + .offset-lg-1 { + margin-inline-start: 8.3333333333%; + } + .offset-lg-2 { + margin-inline-start: 16.6666666667%; + } + .offset-lg-3 { + margin-inline-start: 25%; + } + .offset-lg-4 { + margin-inline-start: 33.3333333333%; + } + .offset-lg-5 { + margin-inline-start: 41.6666666667%; + } + .offset-lg-6 { + margin-inline-start: 50%; + } + .offset-lg-7 { + margin-inline-start: 58.3333333333%; + } + .offset-lg-8 { + margin-inline-start: 66.6666666667%; + } + .offset-lg-9 { + margin-inline-start: 75%; + } + .offset-lg-10 { + margin-inline-start: 83.3333333333%; + } + .offset-lg-11 { + margin-inline-start: 91.6666666667%; + } +} +@media (min-width: 1920px) { + .v-col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .v-col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .v-col-xl-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; + } + .v-col-xl-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; + } + .v-col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .v-col-xl-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .v-col-xl-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .v-col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .v-col-xl-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .v-col-xl-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .v-col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .v-col-xl-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } + .v-col-xl-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; + } + .v-col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-xl-0 { + margin-inline-start: 0; + } + .offset-xl-1 { + margin-inline-start: 8.3333333333%; + } + .offset-xl-2 { + margin-inline-start: 16.6666666667%; + } + .offset-xl-3 { + margin-inline-start: 25%; + } + .offset-xl-4 { + margin-inline-start: 33.3333333333%; + } + .offset-xl-5 { + margin-inline-start: 41.6666666667%; + } + .offset-xl-6 { + margin-inline-start: 50%; + } + .offset-xl-7 { + margin-inline-start: 58.3333333333%; + } + .offset-xl-8 { + margin-inline-start: 66.6666666667%; + } + .offset-xl-9 { + margin-inline-start: 75%; + } + .offset-xl-10 { + margin-inline-start: 83.3333333333%; + } + .offset-xl-11 { + margin-inline-start: 91.6666666667%; + } +} +@media (min-width: 2560px) { + .v-col-xxl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + .v-col-xxl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .v-col-xxl-1 { + flex: 0 0 8.3333333333%; + max-width: 8.3333333333%; + } + .v-col-xxl-2 { + flex: 0 0 16.6666666667%; + max-width: 16.6666666667%; + } + .v-col-xxl-3 { + flex: 0 0 25%; + max-width: 25%; + } + .v-col-xxl-4 { + flex: 0 0 33.3333333333%; + max-width: 33.3333333333%; + } + .v-col-xxl-5 { + flex: 0 0 41.6666666667%; + max-width: 41.6666666667%; + } + .v-col-xxl-6 { + flex: 0 0 50%; + max-width: 50%; + } + .v-col-xxl-7 { + flex: 0 0 58.3333333333%; + max-width: 58.3333333333%; + } + .v-col-xxl-8 { + flex: 0 0 66.6666666667%; + max-width: 66.6666666667%; + } + .v-col-xxl-9 { + flex: 0 0 75%; + max-width: 75%; + } + .v-col-xxl-10 { + flex: 0 0 83.3333333333%; + max-width: 83.3333333333%; + } + .v-col-xxl-11 { + flex: 0 0 91.6666666667%; + max-width: 91.6666666667%; + } + .v-col-xxl-12 { + flex: 0 0 100%; + max-width: 100%; + } + .offset-xxl-0 { + margin-inline-start: 0; + } + .offset-xxl-1 { + margin-inline-start: 8.3333333333%; + } + .offset-xxl-2 { + margin-inline-start: 16.6666666667%; + } + .offset-xxl-3 { + margin-inline-start: 25%; + } + .offset-xxl-4 { + margin-inline-start: 33.3333333333%; + } + .offset-xxl-5 { + margin-inline-start: 41.6666666667%; + } + .offset-xxl-6 { + margin-inline-start: 50%; + } + .offset-xxl-7 { + margin-inline-start: 58.3333333333%; + } + .offset-xxl-8 { + margin-inline-start: 66.6666666667%; + } + .offset-xxl-9 { + margin-inline-start: 75%; + } + .offset-xxl-10 { + margin-inline-start: 83.3333333333%; + } + .offset-xxl-11 { + margin-inline-start: 91.6666666667%; + } +}/* Colors */ +.v-date-picker-header { + align-items: flex-end; + height: 70px; + display: grid; + grid-template-areas: "prepend content append"; + grid-template-columns: min-content minmax(0, 1fr) min-content; + overflow: hidden; + padding-inline: 24px 12px; + padding-bottom: 12px; +} + +.v-date-picker-header__append { + grid-area: append; +} + +.v-date-picker-header__prepend { + grid-area: prepend; + padding-inline-start: 8px; +} + +.v-date-picker-header__content { + align-items: center; + display: inline-flex; + font-size: 32px; + line-height: 40px; + grid-area: content; + justify-content: space-between; +} +.v-date-picker-header--clickable .v-date-picker-header__content { + cursor: pointer; +} +.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover) { + opacity: 0.7; +} + +.date-picker-header-transition-enter-active, +.date-picker-header-reverse-transition-enter-active { + transition-duration: 0.3s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.date-picker-header-transition-leave-active, +.date-picker-header-reverse-transition-leave-active { + transition-duration: 0.3s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.date-picker-header-transition-enter-from { + transform: translate(0, 100%); +} +.date-picker-header-transition-leave-to { + opacity: 0; + transform: translate(0, -100%); +} + +.date-picker-header-reverse-transition-enter-from { + transform: translate(0, -100%); +} +.date-picker-header-reverse-transition-leave-to { + opacity: 0; + transform: translate(0, 100%); +}/* Colors */ +.v-date-picker-month { + display: flex; + justify-content: center; + padding: 0 12px 8px; + --v-date-picker-month-day-diff: 4px; +} + +.v-date-picker-month__weeks { + display: flex; + flex-direction: column; + column-gap: 4px; + font-size: 0.875rem; +} + +.v-date-picker-month__weekday { + font-size: 0.875rem; +} + +.v-date-picker-month__days { + display: grid; + grid-template-columns: repeat(var(--v-date-picker-days-in-week), min-content); + column-gap: 4px; +} + +.v-date-picker-month__day { + align-items: center; + display: flex; + justify-content: center; + position: relative; + height: 40px; + width: 40px; +} +.v-date-picker-month__day--selected .v-btn { + background-color: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn { + --v-btn-height: 24px; + --v-btn-size: 0.875rem; +} +.v-date-picker-month__day--week { + font-size: var(--v-btn-size); +} + +.v-date-picker-month__day--adjacent { + opacity: 0.5; +} + +.v-date-picker-month__day--hide-adjacent { + opacity: 0; +}/* Colors */ +.v-date-picker-months { + height: 288px; +} + +.v-date-picker-months__content { + align-items: center; + display: grid; + flex: 1 1; + height: inherit; + justify-content: space-around; + grid-template-columns: repeat(2, 1fr); + grid-gap: 0px 24px; + padding-inline-start: 36px; + padding-inline-end: 36px; +} +.v-date-picker-months__content .v-btn { + text-transform: none; + padding-inline-start: 8px; + padding-inline-end: 8px; +}/* Colors */ +.v-date-picker-years { + height: 288px; + overflow-y: scroll; +} + +.v-date-picker-years__content { + display: grid; + flex: 1 1; + justify-content: space-around; + grid-template-columns: repeat(3, 1fr); + gap: 8px 24px; + padding-inline: 32px; +} +.v-date-picker-years__content .v-btn { + padding-inline: 8px; +}/* Colors */ +.v-empty-state { + align-items: center; + display: flex; + flex-direction: column; + justify-content: center; + min-height: 100%; + padding: 16px; +} +.v-empty-state--start { + align-items: flex-start; +} +.v-empty-state--center { + align-items: center; +} +.v-empty-state--end { + align-items: flex-end; +} + +.v-empty-state__media { + text-align: center; + width: 100%; +} +.v-empty-state__media .v-icon { + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); +} + +.v-empty-state__headline { + color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)); + font-size: 35px; + font-weight: 500; + line-height: 40px; + text-align: center; + margin-bottom: 8px; +} +.v-empty-state--mobile .v-empty-state__headline { + font-size: 24px; +} + +.v-empty-state__title { + font-size: 18px; + font-weight: 500; + line-height: 26px; + margin-bottom: 4px; + text-align: center; +} + +.v-empty-state__text { + font-size: 14px; + font-weight: 400; + line-height: 20px; + padding: 0 16px; + text-align: center; +} + +.v-empty-state__content { + padding: 24px 0; +} + +.v-empty-state__actions { + display: flex; + gap: 8px; + padding: 16px; +} + +.v-empty-state__action-btn.v-btn { + background-color: initial; + color: initial; +}/* Colors */ +.v-expansion-panel { + background-color: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-expansion-panel:not(:first-child)::after { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); +} +.v-expansion-panel--disabled .v-expansion-panel-title { + color: rgba(var(--v-theme-on-surface), 0.26); +} +.v-expansion-panel--disabled .v-expansion-panel-title .v-expansion-panel-title__overlay { + opacity: 0.4615384615; +} + +.v-expansion-panels { + display: flex; + flex-wrap: wrap; + justify-content: center; + list-style-type: none; + padding: 0; + width: 100%; + position: relative; + z-index: 1; +} +.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :not(:first-child):not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active) { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :not(:first-child):not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active) { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :first-child:not(:last-child):not(.v-expansion-panel--active):not(.v-expansion-panel--before-active) { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.v-expansion-panels:not(.v-expansion-panels--variant-accordion) > :last-child:not(:first-child):not(.v-expansion-panel--active):not(.v-expansion-panel--after-active) { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.v-expansion-panels--variant-accordion > :first-child:not(:last-child) { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} +.v-expansion-panels--variant-accordion > :last-child:not(:first-child) { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} +.v-expansion-panels--variant-accordion > :last-child:not(:first-child) .v-expansion-panel-title--active { + border-bottom-left-radius: initial; + border-bottom-right-radius: initial; +} +.v-expansion-panels--variant-accordion > :not(:first-child):not(:last-child) { + border-radius: 0 !important; +} +.v-expansion-panels--variant-accordion .v-expansion-panel-title__overlay { + transition: 0.3s border-radius cubic-bezier(0.4, 0, 0.2, 1); +} + +.v-expansion-panel { + flex: 1 0 100%; + max-width: 100%; + position: relative; + transition: 0.3s all cubic-bezier(0.4, 0, 0.2, 1); + transition-property: margin-top, border-radius, border, max-width; + border-radius: 4px; +} +@media (prefers-reduced-motion: reduce) { + .v-expansion-panel { + transition-property: border-radius, border; + } +} +.v-expansion-panel:not(:first-child)::after { + border-top-style: solid; + border-top-width: thin; + content: ""; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: 0.3s opacity cubic-bezier(0.4, 0, 0.2, 1); +} +.v-expansion-panel--disabled .v-expansion-panel-title { + pointer-events: none; +} +.v-expansion-panel--active:not(:first-child), +.v-expansion-panel--active + .v-expansion-panel { + margin-top: 16px; +} +.v-expansion-panel--active:not(:first-child)::after, +.v-expansion-panel--active + .v-expansion-panel::after { + opacity: 0; +} +.v-expansion-panel--active > .v-expansion-panel-title { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} +.v-expansion-panel--active > .v-expansion-panel-title:not(.v-expansion-panel-title--static) { + min-height: 64px; +} + +.v-expansion-panel__shadow { + border-radius: inherit; + z-index: -1; +} +.v-expansion-panel__shadow { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-expansion-panel__shadow { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} + +.v-expansion-panel-title { + align-items: center; + text-align: start; + border-radius: inherit; + display: flex; + font-size: 0.9375rem; + line-height: 1; + min-height: 48px; + outline: none; + padding: 16px 24px; + position: relative; + width: 100%; + justify-content: space-between; +} +@media (prefers-reduced-motion: no-preference) { + .v-expansion-panel-title { + transition: 0.3s min-height cubic-bezier(0.4, 0, 0.2, 1); + } +} +.v-expansion-panel-title:hover > .v-expansion-panel-title__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-expansion-panel-title:focus-visible > .v-expansion-panel-title__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-expansion-panel-title:focus > .v-expansion-panel-title__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-expansion-panel-title--focusable.v-expansion-panel-title--active .v-expansion-panel-title__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-expansion-panel-title--focusable.v-expansion-panel-title--active:hover .v-expansion-panel-title__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus-visible .v-expansion-panel-title__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-expansion-panel-title--focusable.v-expansion-panel-title--active:focus .v-expansion-panel-title__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} + +.v-expansion-panel-title__overlay { + background-color: currentColor; + border-radius: inherit; + opacity: 0; +} +.v-expansion-panel-title__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.v-expansion-panel-title__icon { + display: inline-flex; + margin-bottom: -4px; + margin-top: -4px; + user-select: none; + margin-inline-start: auto; +} + +.v-expansion-panel-text { + display: flex; +} +.v-expansion-panel-text__wrapper { + padding: 8px 24px 16px; + flex: 1 1 auto; + max-width: 100%; +} + +.v-expansion-panels--variant-accordion > .v-expansion-panel { + margin-top: 0; +} +.v-expansion-panels--variant-accordion > .v-expansion-panel::after { + opacity: 1; +} + +.v-expansion-panels--variant-popout > .v-expansion-panel { + max-width: calc(100% - 32px); +} +.v-expansion-panels--variant-popout > .v-expansion-panel--active { + max-width: calc(100% + 16px); +} + +.v-expansion-panels--variant-inset > .v-expansion-panel { + max-width: 100%; +} +.v-expansion-panels--variant-inset > .v-expansion-panel--active { + max-width: calc(100% - 32px); +} + +.v-expansion-panels--flat > .v-expansion-panel::after { + border-top: none; +} +.v-expansion-panels--flat > .v-expansion-panel .v-expansion-panel__shadow { + display: none; +} + +.v-expansion-panels--tile { + border-radius: 0; +} +.v-expansion-panels--tile > .v-expansion-panel { + border-radius: 0; +}/* Colors */ +.v-fab { + align-items: center; + display: inline-flex; + flex: 1 1 auto; + pointer-events: none; + position: relative; + transition-duration: 0.2s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + vertical-align: middle; +} +.v-fab .v-btn { + pointer-events: auto; +} +.v-fab .v-btn--variant-elevated { + box-shadow: 0 3px 8px rgba(var(--v-shadow-key-umbra-color), 0.14), 0 0 transparent, 0 0 transparent; +} +.v-fab--app, .v-fab--absolute { + display: flex; +} +.v-fab--absolute { + position: absolute; + inset: 0; +} +.v-fab--start, .v-fab--left { + justify-content: flex-start; +} +.v-fab--center { + align-items: center; + justify-content: center; +} +.v-fab--end, .v-fab--right { + justify-content: flex-end; +} +.v-fab--bottom { + align-items: flex-end; +} +.v-fab--top { + align-items: flex-start; +} +.v-fab--extended .v-btn { + border-radius: 9999px !important; +} + +.v-fab__container { + align-self: center; + display: inline-flex; + vertical-align: middle; +} +.v-fab--app .v-fab__container { + margin: 12px; + position: fixed; +} +.v-fab--absolute .v-fab__container { + position: absolute; + z-index: 4; +} +.v-fab--offset.v-fab--top .v-fab__container { + transform: translateY(-50%); +} +.v-fab--offset.v-fab--bottom .v-fab__container { + transform: translateY(50%); +} +.v-fab--top .v-fab__container { + top: 0; +} +.v-fab--bottom .v-fab__container { + bottom: 0; +} +.v-fab--left .v-fab__container, .v-fab--start .v-fab__container { + left: 0; +} +.v-fab--right .v-fab__container, .v-fab--end .v-fab__container { + right: 0; +}/* Colors */ +.v-file-input--hide.v-input .v-field, +.v-file-input--hide.v-input .v-input__control, +.v-file-input--hide.v-input .v-input__details { + display: none; +} +.v-file-input--hide.v-input .v-input__prepend { + grid-area: control; + margin: 0 auto; +} +.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating, +.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating, +.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating, +.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating { + top: 0px; +} +.v-file-input .v-field__input { + word-break: break-word; +} +.v-file-input input[type=file] { + height: 100%; + left: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 0; +} +.v-file-input--dragging input[type=file] { + z-index: 1; +} +.v-file-input .v-input__details { + padding-inline: 16px; +} +.v-input--plain-underlined.v-file-input .v-input__details { + padding-inline: 0; +}/* Colors */ +.v-footer { + align-items: center; + display: flex; + flex: 1 1 auto; + padding: 8px 16px; + position: relative; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); + transition-property: height, width, transform, max-width, left, right, top, bottom; +} +.v-footer { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-footer--border { + border-width: thin; + box-shadow: none; +} +.v-footer { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-footer--absolute { + position: absolute; +} +.v-footer--fixed { + position: fixed; +} +.v-footer { + border-radius: 0; +} +.v-footer { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +.v-footer--rounded { + border-radius: 4px; +}/* Colors */ +.v-infinite-scroll--horizontal { + display: flex; + flex-direction: row; + overflow-x: auto; +} +.v-infinite-scroll--horizontal .v-infinite-scroll-intersect { + height: 100%; + width: var(--v-infinite-margin-size, 1px); +} + +.v-infinite-scroll--vertical { + display: flex; + flex-direction: column; + overflow-y: auto; +} +.v-infinite-scroll--vertical .v-infinite-scroll-intersect { + height: 1px; + width: 100%; +} + +.v-infinite-scroll-intersect { + pointer-events: none; + margin-top: var(--v-infinite-margin); + margin-bottom: calc(var(--v-infinite-margin) * -1); +} +.v-infinite-scroll-intersect:nth-child(2) { + --v-infinite-margin: var(--v-infinite-margin-size, 1px); +} +.v-infinite-scroll-intersect:nth-last-child(2) { + --v-infinite-margin: calc(var(--v-infinite-margin-size, 1px) * -1); +} + +.v-infinite-scroll__side { + align-items: center; + display: flex; + justify-content: center; + padding: 8px; +}/* Colors */ +.v-item-group { + flex: 0 1 auto; + max-width: 100%; + position: relative; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); +}/* Colors */ +.v-kbd { + font-family: "Roboto", sans-serif; + align-items: center; + align-self: stretch; + background: rgb(var(--v-theme-kbd)); + color: rgb(var(--v-theme-on-kbd)); + display: inline-flex; + font-size: 0.875em; + font-weight: normal; + line-height: 1; + justify-content: center; + min-height: 1em; + min-width: 20px; + padding: 3px 6px; + vertical-align: baseline; + margin-inline: 1px; +} +.v-kbd { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: thin; +} +.v-kbd--border { + border-width: thin; + box-shadow: none; +} +.v-kbd { + box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent; +} +.v-kbd { + border-radius: 4px; +}/* Colors */ +.v-layout { + --v-scrollbar-offset: 0px; + display: flex; + flex: 1 1 auto; +} +.v-layout--full-height { + --v-scrollbar-offset: inherit; + height: 100%; +}/* Colors */ +.v-layout-item { + position: absolute; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); +} + +.v-layout-item--absolute { + position: absolute; +}/* Colors */ +.v-locale-provider { + display: contents; +}/* Colors */ +.v-main { + flex: 1 0 auto; + max-width: 100%; + transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); + padding-left: var(--v-layout-left); + padding-right: var(--v-layout-right); + padding-top: var(--v-layout-top); + padding-bottom: var(--v-layout-bottom); +} +@media (prefers-reduced-motion: reduce) { + .v-main { + transition: none; + } +} +.v-main__scroller { + max-width: 100%; + position: relative; +} +.v-main--scrollable { + display: flex; +} +.v-main--scrollable { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-main--scrollable > .v-main__scroller { + flex: 1 1 auto; + overflow-y: auto; + --v-layout-left: 0px; + --v-layout-right: 0px; + --v-layout-top: 0px; + --v-layout-bottom: 0px; +}/* Colors */ +.v-navigation-drawer { + -webkit-overflow-scrolling: touch; + background: rgb(var(--v-theme-surface)); + display: flex; + flex-direction: column; + height: 100%; + max-width: 100%; + pointer-events: auto; + transition-duration: 0.2s; + transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + position: absolute; +} +.v-navigation-drawer { + border-color: rgba(var(--v-border-color), var(--v-border-opacity)); + border-style: solid; + border-width: 0; +} +.v-navigation-drawer--border { + border-width: thin; + box-shadow: none; +} +.v-navigation-drawer { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-navigation-drawer { + background: rgb(var(--v-theme-surface)); + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} +@media (prefers-reduced-motion: reduce) { + .v-navigation-drawer { + transition: none; + } +} +.v-navigation-drawer--rounded { + border-radius: 4px; +} +.v-navigation-drawer--top { + top: 0; + border-bottom-width: thin; +} +.v-navigation-drawer--bottom { + left: 0; + border-top-width: thin; +} +.v-navigation-drawer--left { + top: 0; + left: 0; + right: auto; + border-right-width: thin; +} +.v-navigation-drawer--right { + top: 0; + left: auto; + right: 0; + border-left-width: thin; +} +.v-navigation-drawer--floating { + border: none; +} +.v-navigation-drawer--temporary.v-navigation-drawer--active { + box-shadow: 0 7px 21px rgba(var(--v-shadow-key-umbra-color), 0.26), 0 0 transparent, 0 0 transparent; +} +.v-navigation-drawer--sticky { + height: auto; + transition: box-shadow, transform, visibility, width, height, left, right; +} +.v-navigation-drawer .v-list { + overflow: hidden; +} + +.v-navigation-drawer__content { + flex: 0 1 auto; + height: 100%; + max-width: 100%; + overflow-x: hidden; + overflow-y: auto; +} + +.v-navigation-drawer__img { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.v-navigation-drawer__img img:not(.v-img__img) { + height: inherit; + object-fit: cover; + width: inherit; +} + +.v-navigation-drawer__scrim { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: black; + opacity: 0.2; + transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); + z-index: 1; +} + +.v-navigation-drawer__prepend, +.v-navigation-drawer__append { + flex: none; + overflow: hidden; +}/* Colors */ +.v-number-input input[type=number] { + -moz-appearance: textfield; +} +.v-number-input input[type=number]::-webkit-outer-spin-button, .v-number-input input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; +} +.v-number-input .v-field:has(.v-field__prepend-inner > .v-number-input__control:first-child) { + padding-inline-start: 0; +} +.v-number-input .v-field:has(.v-field__append-inner > .v-number-input__control:last-child) { + padding-inline-end: 0; +} +.v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-icon { + margin-inline-end: 4px; +} +.v-number-input .v-field__prepend-inner:has(.v-number-input__control) > hr + .v-icon, +.v-number-input .v-field__prepend-inner:has(.v-number-input__control) > .v-number-input__control + .v-icon { + margin-inline: 8px 0; +} +.v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon { + margin-inline-start: 4px; +} +.v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon:has(+ hr), +.v-number-input .v-field__append-inner:has(.v-number-input__control) > .v-icon:has(+ .v-number-input__control) { + margin-inline: 0 8px; +} +.v-number-input .v-field__clearable:has(+ .v-field__append-inner > hr:first-child) { + margin-inline-end: 8px; +} +.v-number-input--inset .v-divider { + height: 55%; + width: 55%; + align-self: center; +} +.v-number-input--split .v-field__input { + text-align: center; +} +.v-number-input--stacked .v-number-input__control { + flex-direction: column-reverse; +} +.v-number-input--stacked .v-number-input__control .v-btn { + flex: 1; +} +.v-number-input--hide-input .v-field { + flex: none; +} +.v-number-input--hide-input .v-field__input { + width: 0; + padding-inline: 0; +} +.v-number-input__control { + display: flex; + height: 100%; +} +.v-number-input__control .v-btn { + background-color: transparent; + border-radius: 0; +}/* Colors */ +.v-otp-input { + align-items: center; + display: flex; + justify-content: center; + padding: 0.5rem 0; + position: relative; +} +.v-otp-input { + border-radius: 4px; +} +.v-otp-input .v-field { + height: 100%; +} + +.v-otp-input__divider { + margin: 0 8px; +} + +.v-otp-input__content { + align-items: center; + display: flex; + gap: 0.5rem; + height: 64px; + padding: 0.5rem; + justify-content: center; + max-width: 320px; + position: relative; + border-radius: inherit; +} +.v-otp-input--divided .v-otp-input__content { + max-width: 360px; +} + +.v-otp-input__field { + color: inherit; + font-size: 1.25rem; + height: 100%; + outline: none; + text-align: center; + width: 100%; +} +.v-otp-input__field[type=number]::-webkit-outer-spin-button, .v-otp-input__field[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.v-otp-input__field[type=number] { + -moz-appearance: textfield; +} + +.v-otp-input__loader { + align-items: center; + display: flex; + height: 100%; + justify-content: center; + width: 100%; +} +.v-otp-input__loader .v-progress-linear { + position: absolute; +}/* Colors */ +.v-parallax { + position: relative; + overflow: hidden; +} +.v-parallax--active > .v-img__img { + will-change: transform; +}/* Colors */ +.v-radio-group > .v-input__control { + flex-direction: column; +} +.v-radio-group > .v-input__control > .v-label { + margin-inline-start: 16px; +} +.v-radio-group > .v-input__control > .v-label + .v-selection-control-group { + padding-inline-start: 6px; + margin-top: 8px; +} +.v-radio-group .v-input__details { + padding-inline: 16px; +}/* Colors */ +.v-rating { + max-width: 100%; + display: inline-flex; + white-space: nowrap; +} +.v-rating--readonly { + pointer-events: none; +} + +.v-rating__wrapper { + align-items: center; + display: inline-flex; + flex-direction: column; +} +.v-rating__wrapper--bottom { + flex-direction: column-reverse; +} + +.v-rating__item { + display: inline-flex; + position: relative; +} +.v-rating__item label { + cursor: pointer; +} +.v-rating__item .v-btn--variant-plain { + opacity: 1; +} +.v-rating__item .v-btn { + transition-property: transform; +} +.v-rating__item .v-btn .v-icon { + transition: inherit; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} +.v-rating--hover .v-rating__item:hover:not(.v-rating__item--focused) .v-btn { + transform: scale(1.25); +} +.v-rating__item--half { + overflow: hidden; + position: absolute; + clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%); + z-index: 1; +} +.v-rating__item--half .v-btn__overlay, .v-rating__item--half:hover .v-btn__overlay { + opacity: 0; +} + +.v-rating__hidden { + height: 0; + opacity: 0; + position: absolute; + width: 0; +}/* Colors */ +.v-skeleton-loader { + align-items: center; + background: rgb(var(--v-theme-surface)); + border-radius: 4px; + display: flex; + flex-wrap: wrap; + position: relative; + vertical-align: top; +} +.v-skeleton-loader__actions { + justify-content: end; +} +.v-skeleton-loader .v-skeleton-loader__ossein { + height: 100%; +} +.v-skeleton-loader .v-skeleton-loader__avatar, +.v-skeleton-loader .v-skeleton-loader__button, +.v-skeleton-loader .v-skeleton-loader__chip, +.v-skeleton-loader .v-skeleton-loader__divider, +.v-skeleton-loader .v-skeleton-loader__heading, +.v-skeleton-loader .v-skeleton-loader__image, +.v-skeleton-loader .v-skeleton-loader__ossein, +.v-skeleton-loader .v-skeleton-loader__text { + background: rgba(var(--v-theme-on-surface), var(--v-border-opacity)); +} +.v-skeleton-loader .v-skeleton-loader__list-item, +.v-skeleton-loader .v-skeleton-loader__list-item-avatar, +.v-skeleton-loader .v-skeleton-loader__list-item-text, +.v-skeleton-loader .v-skeleton-loader__list-item-two-line, +.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line, +.v-skeleton-loader .v-skeleton-loader__list-item-three-line, +.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line { + border-radius: 4px; +} +.v-skeleton-loader__bone { + align-items: center; + border-radius: inherit; + display: flex; + flex: 1 1 100%; + flex-wrap: wrap; + overflow: hidden; + position: relative; +} +.v-skeleton-loader__bone::after { + animation: loading 1.5s infinite; + background: linear-gradient(90deg, rgba(var(--v-theme-surface), 0), rgba(var(--v-theme-surface), 0.3), rgba(var(--v-theme-surface), 0)); + transform: translateX(-100%); + z-index: 1; +} +.v-skeleton-loader__bone::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.v-skeleton-loader__avatar { + border-radius: 50%; + flex: 0 1 auto; + margin: 8px 16px; + max-height: 48px; + min-height: 48px; + height: 48px; + max-width: 48px; + min-width: 48px; + width: 48px; +} +.v-skeleton-loader__avatar + .v-skeleton-loader__bone { + flex: 1 1 auto; + margin-inline-start: 0; +} +.v-skeleton-loader__avatar + .v-skeleton-loader__sentences > .v-skeleton-loader__text, +.v-skeleton-loader__avatar + .v-skeleton-loader__paragraph > .v-skeleton-loader__text { + margin-inline-start: 0; +} +.v-skeleton-loader__button { + border-radius: 4px; + height: 36px; + margin: 16px; + max-width: 64px; +} +.v-skeleton-loader__button + .v-skeleton-loader__bone { + flex: 1 1 auto; + margin-inline-start: 0; +} +.v-skeleton-loader__button + .v-skeleton-loader__sentences > .v-skeleton-loader__text, +.v-skeleton-loader__button + .v-skeleton-loader__paragraph > .v-skeleton-loader__text { + margin-inline-start: 0; +} +.v-skeleton-loader__chip { + border-radius: 16px; + margin: 16px; + height: 32px; + max-width: 96px; +} +.v-skeleton-loader__chip + .v-skeleton-loader__bone { + flex: 1 1 auto; + margin-inline-start: 0; +} +.v-skeleton-loader__chip + .v-skeleton-loader__sentences > .v-skeleton-loader__text, +.v-skeleton-loader__chip + .v-skeleton-loader__paragraph > .v-skeleton-loader__text { + margin-inline-start: 0; +} +.v-skeleton-loader__date-picker { + border-radius: inherit; +} +.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text { + max-width: 88px; + width: 20%; +} +.v-skeleton-loader__date-picker .v-skeleton-loader__heading { + max-width: 256px; + width: 40%; +} +.v-skeleton-loader__date-picker-days { + flex-wrap: wrap; + margin: 16px; +} +.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar { + border-radius: 4px; + margin: 4px; + max-width: 100%; +} +.v-skeleton-loader__date-picker-options { + flex-wrap: nowrap; +} +.v-skeleton-loader__date-picker-options .v-skeleton-loader__text { + flex: 1 1 auto; +} +.v-skeleton-loader__divider { + border-radius: 1px; + height: 2px; +} +.v-skeleton-loader__heading { + border-radius: 12px; + margin: 16px; + height: 24px; +} +.v-skeleton-loader__heading + .v-skeleton-loader__subtitle { + margin-top: -16px; +} +.v-skeleton-loader__image { + height: 150px; + border-radius: 0; +} +.v-skeleton-loader__card .v-skeleton-loader__image { + border-radius: 0; +} +.v-skeleton-loader__list-item { + margin: 16px; +} +.v-skeleton-loader__list-item .v-skeleton-loader__text { + margin: 0; +} +.v-skeleton-loader__table-thead { + justify-content: space-between; +} +.v-skeleton-loader__table-thead .v-skeleton-loader__heading { + margin-top: 16px; + max-width: 16px; +} +.v-skeleton-loader__table-tfoot { + flex-wrap: nowrap; +} +.v-skeleton-loader__table-tfoot > .v-skeleton-loader__text.v-skeleton-loader__bone { + margin-top: 16px; +} +.v-skeleton-loader__table-row { + align-items: baseline; + margin: 0 8px; + justify-content: space-evenly; + flex-wrap: nowrap; +} +.v-skeleton-loader__table-row > .v-skeleton-loader__text.v-skeleton-loader__bone { + margin-inline: 8px; +} +.v-skeleton-loader__table-row + .v-skeleton-loader__divider { + margin: 0 16px; +} +.v-skeleton-loader__table-cell { + align-items: center; + display: flex; + height: 48px; + width: 88px; +} +.v-skeleton-loader__table-cell .v-skeleton-loader__text { + margin-bottom: 0; +} +.v-skeleton-loader__subtitle { + max-width: 70%; +} +.v-skeleton-loader__subtitle > .v-skeleton-loader__text { + height: 16px; + border-radius: 8px; +} +.v-skeleton-loader__text { + border-radius: 6px; + margin: 16px; + height: 12px; +} +.v-skeleton-loader__text + .v-skeleton-loader__text { + margin-top: -8px; + max-width: 50%; +} +.v-skeleton-loader__text + .v-skeleton-loader__text + .v-skeleton-loader__text { + max-width: 70%; +} +.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after { + display: none; +} +.v-skeleton-loader--is-loading { + overflow: hidden; +} +.v-skeleton-loader--tile { + border-radius: 0; +} +.v-skeleton-loader--tile .v-skeleton-loader__bone { + border-radius: 0; +} + +@keyframes loading { + 100% { + transform: translateX(100%); + } +}/* Colors */ +.v-snackbar { + justify-content: center; + z-index: 10000; + margin: 8px; + margin-inline-end: calc(8px + var(--v-scrollbar-offset)); + padding: var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left); +} +.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top) { + align-items: flex-end; +} +.v-snackbar__wrapper { + align-items: center; + display: flex; + max-width: 672px; + min-height: 48px; + min-width: 344px; + overflow: hidden; + padding: 0; +} +.v-snackbar__wrapper { + border-radius: 4px; +} +.v-snackbar--variant-plain, .v-snackbar--variant-outlined, .v-snackbar--variant-text, .v-snackbar--variant-tonal { + background: transparent; + color: inherit; +} +.v-snackbar--variant-plain { + opacity: 0.62; +} +.v-snackbar--variant-plain:focus, .v-snackbar--variant-plain:hover { + opacity: 1; +} +.v-snackbar--variant-plain .v-snackbar__overlay { + display: none; +} +.v-snackbar--variant-elevated, .v-snackbar--variant-flat { + background: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-snackbar--variant-elevated { + box-shadow: 0 4px 10px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-md-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-snackbar--variant-flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-snackbar--variant-outlined { + border: thin solid currentColor; +} +.v-snackbar--variant-text .v-snackbar__overlay { + background: currentColor; +} +.v-snackbar--variant-tonal .v-snackbar__underlay { + background: currentColor; + opacity: var(--v-activated-opacity); + border-radius: inherit; + top: 0; + right: 0; + bottom: 0; + left: 0; + pointer-events: none; +} +.v-snackbar .v-snackbar__underlay { + position: absolute; +} + +@media (forced-colors: active) { + .v-snackbar__wrapper { + border: thick solid; + } +} +.v-snackbar__content { + flex-grow: 1; + font-size: 14px; + font-weight: 400; + letter-spacing: 0.0178571429em; + line-height: 20px; + margin-right: auto; + padding: 14px 16px; + text-align: initial; +} +.v-snackbar__actions { + align-items: center; + align-self: center; + display: flex; + margin-inline-end: 8px; +} +.v-snackbar__actions > .v-btn { + padding: 0 8px; + min-width: auto; +} +.v-snackbar__timer { + width: 100%; + position: absolute; + top: 0; +} +.v-snackbar__timer .v-progress-linear { + transition: 0.2s linear; +} +.v-snackbar--absolute { + position: absolute; + z-index: 1; +} +.v-snackbar--multi-line .v-snackbar__wrapper { + min-height: 68px; +} +.v-snackbar--vertical .v-snackbar__wrapper { + flex-direction: column; +} +.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions { + align-self: flex-end; + margin-bottom: 8px; +} +.v-snackbar--center { + align-items: center; + justify-content: center; +} +.v-snackbar--top { + align-items: flex-start; +} +.v-snackbar--bottom { + align-items: flex-end; +} +.v-snackbar--left, .v-snackbar--start { + justify-content: flex-start; +} +.v-snackbar--right, .v-snackbar--end { + justify-content: flex-end; +} + +.v-snackbar-transition-enter-active, .v-snackbar-transition-leave-active { + transition-duration: 0.15s; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} +.v-snackbar-transition-enter-active { + transition-property: opacity, transform; +} +@media (prefers-reduced-motion: reduce) { + .v-snackbar-transition-enter-active { + transition-property: opacity; + } +} +.v-snackbar-transition-enter-from { + opacity: 0; + transform: scale(0.8); +} +.v-snackbar-transition-leave-active { + transition-property: opacity; +} +.v-snackbar-transition-leave-to { + opacity: 0; +}/* Colors */ +.v-speed-dial__content { + gap: 8px; +} +.v-speed-dial__content.v-overlay__content.v-speed-dial__content--end, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--end-center, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--right, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--right-center { + flex-direction: row; +} +.v-speed-dial__content.v-overlay__content.v-speed-dial__content--left, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--left-center, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--start, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--start-center { + flex-direction: row-reverse; +} +.v-speed-dial__content.v-overlay__content.v-speed-dial__content--top, .v-speed-dial__content.v-overlay__content.v-speed-dial__content--top-center { + flex-direction: column-reverse; +} +.v-speed-dial__content > *:nth-child(1) { + transition-delay: 0.001s; +} +.v-speed-dial__content > *:nth-child(2) { + transition-delay: 0.05s; +} +.v-speed-dial__content > *:nth-child(3) { + transition-delay: 0.1s; +} +.v-speed-dial__content > *:nth-child(4) { + transition-delay: 0.15s; +} +.v-speed-dial__content > *:nth-child(5) { + transition-delay: 0.2s; +} +.v-speed-dial__content > *:nth-child(6) { + transition-delay: 0.25s; +} +.v-speed-dial__content > *:nth-child(7) { + transition-delay: 0.3s; +} +.v-speed-dial__content > *:nth-child(8) { + transition-delay: 0.35s; +} +.v-speed-dial__content > *:nth-child(9) { + transition-delay: 0.4s; +} +.v-speed-dial__content > *:nth-child(10) { + transition-delay: 0.45s; +}/* Colors */ +.v-stepper.v-sheet { + overflow: hidden; +} +.v-stepper.v-sheet { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-stepper.v-sheet { + border-radius: 4px; +} +.v-stepper.v-sheet.v-stepper--flat { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} + +.v-stepper-header { + align-items: center; + display: flex; + position: relative; + overflow-x: auto; + justify-content: space-between; + z-index: 1; +} +.v-stepper-header { + box-shadow: 0 2px 4px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-xs-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-stepper-header .v-divider { + margin: 0 -16px; +} +.v-stepper-header .v-divider:last-child { + margin-inline-end: 0; +} +.v-stepper-header .v-divider:first-child { + margin-inline-start: 0; +} +.v-stepper--alt-labels .v-stepper-header { + height: auto; +} +.v-stepper--alt-labels .v-stepper-header .v-divider { + align-self: flex-start; + margin: 35px -67px 0; +} + +.v-stepper-window { + margin: 1.5rem; +} + +.v-stepper-actions { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem; +} +.v-stepper .v-stepper-actions { + padding: 0 1.5rem 1rem; +} +.v-stepper-window-item .v-stepper-actions { + padding: 1.5rem 0 0; +}/* Colors */ +.v-stepper-item { + align-items: center; + align-self: stretch; + display: inline-flex; + flex: none; + outline: none; + opacity: var(--v-medium-emphasis-opacity); + padding: 1.5rem; + position: relative; + transition-duration: 0.2s; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.v-stepper-item:hover > .v-stepper-item__overlay { + opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-stepper-item:focus-visible > .v-stepper-item__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-stepper-item:focus > .v-stepper-item__overlay { + opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier)); + } +} +.v-stepper-item--active > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true] > .v-stepper-item__overlay { + opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier)); +} +.v-stepper-item--active:hover > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:hover > .v-stepper-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier)); +} +.v-stepper-item--active:focus-visible > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-stepper-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); +} +@supports not selector(:focus-visible) { + .v-stepper-item--active:focus > .v-stepper-item__overlay, .v-stepper-item[aria-haspopup=menu][aria-expanded=true]:focus > .v-stepper-item__overlay { + opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier)); + } +} +.v-stepper--non-linear .v-stepper-item { + opacity: var(--v-high-emphasis-opacity); +} +.v-stepper-item--selected { + opacity: 1; +} +.v-stepper-item--error { + color: rgb(var(--v-theme-error)); +} +.v-stepper-item--disabled { + opacity: var(--v-medium-emphasis-opacity); +} +.v-stepper-item[disabled], .v-stepper-item--disabled { + pointer-events: none; +} +.v-stepper--alt-labels .v-stepper-item { + flex-direction: column; + justify-content: flex-start; + align-items: center; + flex-basis: 175px; +} + +.v-stepper-item__avatar.v-avatar { + background: rgba(var(--v-theme-surface-variant), var(--v-medium-emphasis-opacity)); + color: rgb(var(--v-theme-on-surface-variant)); + font-size: 0.75rem; + margin-inline-end: 8px; +} +.v-stepper--mobile .v-stepper-item__avatar.v-avatar { + margin-inline-end: 0; +} +.v-stepper-item__avatar.v-avatar .v-icon { + font-size: 0.875rem; +} +.v-stepper-item--selected .v-stepper-item__avatar.v-avatar, .v-stepper-item--complete .v-stepper-item__avatar.v-avatar { + background: rgb(var(--v-theme-surface-variant)); +} +.v-stepper-item--error .v-stepper-item__avatar.v-avatar { + background: rgb(var(--v-theme-error)); +} +.v-stepper--alt-labels .v-stepper-item__avatar.v-avatar { + margin-bottom: 16px; + margin-inline-end: 0; +} + +.v-stepper-item__content { + text-align: start; +} +.v-stepper--alt-labels .v-stepper-item__content { + text-align: center; +} + +.v-stepper-item__title { + line-height: 1; +} +.v-stepper--mobile .v-stepper-item__title { + display: none; +} + +.v-stepper-item__subtitle { + font-size: 0.75rem; + line-height: 1; + opacity: var(--v-medium-emphasis-opacity); +} +.v-stepper--mobile .v-stepper-item__subtitle { + display: none; +} + +.v-stepper-item__overlay { + background-color: currentColor; + border-radius: inherit; + opacity: 0; + transition: opacity 0.2s ease-in-out; +} + +.v-stepper-item__overlay, +.v-stepper-item__underlay { + pointer-events: none; +} +.v-stepper-item__overlay, +.v-stepper-item__underlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +}/* Colors */ +.v-switch .v-label { + padding-inline-start: 10px; +} + +.v-switch__loader { + display: flex; +} +.v-switch__loader .v-progress-circular { + color: rgb(var(--v-theme-surface)); +} + +.v-switch__track, +.v-switch__thumb { + transition: none; +} +.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__track, +.v-selection-control--error:not(.v-selection-control--disabled) .v-switch__thumb { + background-color: rgb(var(--v-theme-error)); + color: rgb(var(--v-theme-on-error)); +} + +.v-switch__track-true { + margin-inline-end: auto; +} +.v-selection-control:not(.v-selection-control--dirty) .v-switch__track-true { + opacity: 0; +} + +.v-switch__track-false { + margin-inline-start: auto; +} +.v-selection-control--dirty .v-switch__track-false { + opacity: 0; +} + +.v-switch__track { + display: inline-flex; + align-items: center; + font-size: 0.5rem; + padding: 0 5px; + background-color: rgb(var(--v-theme-surface-variant)); + border-radius: 9999px; + height: 14px; + opacity: 0.6; + min-width: 36px; + cursor: pointer; + transition: 0.2s background-color cubic-bezier(0.4, 0, 0.2, 1); +} +.v-switch--inset .v-switch__track { + border-radius: 9999px; + font-size: 0.75rem; + height: 32px; + min-width: 52px; +} + +.v-switch__thumb { + align-items: center; + background-color: rgb(var(--v-theme-surface-bright)); + color: rgb(var(--v-theme-on-surface-bright)); + border-radius: 50%; + display: flex; + font-size: 0.75rem; + height: 20px; + justify-content: center; + width: 20px; + pointer-events: none; + transition: 0.15s 0.05s transform cubic-bezier(0, 0, 0.2, 1), 0.2s color cubic-bezier(0.4, 0, 0.2, 1), 0.2s background-color cubic-bezier(0.4, 0, 0.2, 1); + position: relative; + overflow: hidden; +} +.v-switch:not(.v-switch--inset) .v-switch__thumb { + box-shadow: 0 3px 6px 0 rgba(var(--v-shadow-key-umbra-color), var(--v-shadow-sm-opacity)), 0 0 transparent, 0 0 transparent; +} +.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb { + background: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); +} +.v-switch.v-switch--flat:not(.v-switch--inset) .v-switch__thumb { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-switch--inset .v-switch__thumb { + height: 24px; + width: 24px; + transform: scale(0.6666666667); +} +.v-switch--inset .v-switch__thumb--filled { + transform: none; +} +.v-switch--inset .v-selection-control--dirty .v-switch__thumb { + transform: none; + transition: 0.15s 0.05s transform cubic-bezier(0, 0, 0.2, 1); +} + +.v-switch.v-input { + flex: 0 1 auto; +} +.v-switch .v-selection-control { + min-height: var(--v-input-control-height); +} +.v-switch .v-selection-control__input { + border-radius: 50%; + transition: 0.2s transform cubic-bezier(0.4, 0, 0.2, 1); + position: absolute; +} +.v-locale--is-ltr.v-switch .v-selection-control__input, .v-locale--is-ltr .v-switch .v-selection-control__input { + transform: translateX(-10px); +} + +.v-locale--is-rtl.v-switch .v-selection-control__input, .v-locale--is-rtl .v-switch .v-selection-control__input { + transform: translateX(10px); +} + +.v-switch .v-selection-control__input .v-icon { + position: absolute; +} +.v-locale--is-ltr.v-switch .v-selection-control--dirty .v-selection-control__input, .v-locale--is-ltr .v-switch .v-selection-control--dirty .v-selection-control__input { + transform: translateX(10px); +} + +.v-locale--is-rtl.v-switch .v-selection-control--dirty .v-selection-control__input, .v-locale--is-rtl .v-switch .v-selection-control--dirty .v-selection-control__input { + transform: translateX(-10px); +} + +.v-switch.v-switch--indeterminate .v-selection-control__input { + transform: scale(0.8); +} +.v-switch.v-switch--indeterminate .v-switch__thumb { + transform: scale(0.75); + box-shadow: none; +} +.v-switch.v-switch--inset .v-selection-control__wrapper { + width: auto; +} +.v-switch.v-input--vertical .v-label { + min-width: max-content; +} +.v-switch.v-input--vertical .v-selection-control__wrapper { + transform: rotate(-90deg); +} + +@media (forced-colors: active) { + .v-switch .v-switch__loader .v-progress-circular { + color: currentColor; + } + .v-switch .v-switch__thumb { + background-color: buttontext; + } + .v-switch .v-switch__track, + .v-switch .v-switch__thumb { + border: 1px solid; + color: buttontext; + } + .v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb { + background-color: highlight; + } + .v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track { + background-color: highlight; + } + .v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track, + .v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb { + color: highlight; + } + .v-switch.v-switch--inset .v-switch__track { + border-width: 2px; + } + .v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb { + background-color: highlighttext; + color: highlighttext; + } + .v-switch.v-input--disabled .v-switch__thumb { + background-color: graytext; + } + .v-switch.v-input--disabled .v-switch__track, + .v-switch.v-input--disabled .v-switch__thumb { + color: graytext; + } + .v-switch.v-switch--loading .v-switch__thumb { + background-color: canvas; + } + .v-switch.v-switch--loading.v-switch--inset .v-switch__thumb, .v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb { + border-width: 0; + } +}/* Colors */ +.v-system-bar { + align-items: center; + display: flex; + flex: 1 1 auto; + height: 24px; + justify-content: flex-end; + max-width: 100%; + padding-inline: 8px; + position: relative; + text-align: end; + width: 100%; +} +.v-system-bar .v-icon { + opacity: var(--v-medium-emphasis-opacity); +} +.v-system-bar { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-system-bar--absolute { + position: absolute; +} +.v-system-bar--fixed { + position: fixed; +} +.v-system-bar { + background: rgba(var(--v-theme-surface-light)); + color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity)); +} +.v-system-bar { + font-size: 12px; + font-weight: 400; + letter-spacing: 0.04px; + line-height: 16px; + text-transform: none; +} +.v-system-bar--rounded { + border-radius: 0; +} +.v-system-bar--window { + height: 32px; +} +.v-system-bar:not(.v-system-bar--absolute) { + padding-inline-end: calc(var(--v-scrollbar-offset) + 8px); +}/* Colors */ +.v-tab.v-tab.v-btn { + height: var(--v-tabs-height); + border-radius: 0; + min-width: 90px; +} +.v-slide-group--horizontal .v-tab { + max-width: 360px; +} +.v-slide-group--vertical .v-tab { + justify-content: start; +} + +.v-tab__slider { + position: absolute; + bottom: 0; + left: 0; + height: 2px; + width: 100%; + background: currentColor; + pointer-events: none; + opacity: 0; +} +.v-tab--selected .v-tab__slider { + opacity: 1; +} +.v-slide-group--vertical .v-tab__slider { + top: 0; + height: 100%; + width: 2px; +}/* Colors */ +.v-tabs { + display: flex; + height: var(--v-tabs-height); +} +.v-tabs--density-default { + --v-tabs-height: 48px; +} +.v-tabs--density-default.v-tabs--stacked { + --v-tabs-height: 72px; +} + +.v-tabs--density-comfortable { + --v-tabs-height: 44px; +} +.v-tabs--density-comfortable.v-tabs--stacked { + --v-tabs-height: 68px; +} + +.v-tabs--density-compact { + --v-tabs-height: 36px; +} +.v-tabs--density-compact.v-tabs--stacked { + --v-tabs-height: 60px; +} + +.v-tabs.v-slide-group--vertical { + height: auto; + flex: none; + --v-tabs-height: 48px; +} + +.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child { + margin-inline-start: 42px; +} + +.v-tabs--fixed-tabs .v-slide-group__content > *:last-child, +.v-tabs--align-tabs-center .v-slide-group__content > *:last-child { + margin-inline-end: auto; +} +.v-tabs--fixed-tabs .v-slide-group__content > *:first-child, +.v-tabs--align-tabs-center .v-slide-group__content > *:first-child { + margin-inline-start: auto; +} + +.v-tabs--grow { + flex-grow: 1; +} +.v-tabs--grow .v-tab { + flex: 1 0 auto; + max-width: none; +} + +.v-tabs--align-tabs-end .v-tab:first-child { + margin-inline-start: auto; +} +.v-tabs--align-tabs-end .v-tab:last-child { + margin-inline-end: 0; +} + +@media (max-width: 1279.98px) { + .v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child { + margin-inline-start: 52px; + } + .v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child { + margin-inline-end: 52px; + } +}/* Colors */ +.v-textarea .v-field { + --v-textarea-control-height: var(--v-input-control-height); +} +.v-textarea .v-field__field { + --v-input-control-height: var(--v-textarea-control-height); +} +.v-textarea .v-field__input { + flex: 1 1 auto; + outline: none; + -webkit-mask-image: linear-gradient(to bottom, transparent, transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px), black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)); + mask-image: linear-gradient(to bottom, transparent, transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px), black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)); +} +.v-textarea .v-field__input.v-textarea__sizer { + visibility: hidden; + position: absolute; + top: 0; + left: 0; + height: 0 !important; + min-height: 0 !important; + pointer-events: none; +} +.v-textarea--no-resize .v-field__input { + resize: none; +} +.v-textarea .v-field--no-label textarea, +.v-textarea .v-field--active textarea { + opacity: 1; +} +.v-textarea textarea { + opacity: 0; + flex: 1; + min-width: 0; + height: 100%; + transition: 0.15s opacity cubic-bezier(0.4, 0, 0.2, 1); +} +.v-textarea textarea:focus, .v-textarea textarea:active { + outline: none; +} +.v-textarea textarea:invalid { + box-shadow: none; +}/* Colors */ +.v-theme-provider { + background: rgb(var(--v-theme-background)); + color: rgb(var(--v-theme-on-background)); +}/* Colors */ +.v-timeline .v-timeline-divider__dot { + background: rgb(var(--v-theme-surface-light)); +} +@media (forced-colors: active) { + .v-timeline .v-timeline-divider__dot { + border: 2px solid; + } +} +.v-timeline .v-timeline-divider__inner-dot { + background: rgb(var(--v-theme-on-surface)); +} +@media (forced-colors: active) { + .v-timeline .v-timeline-divider__inner-dot { + background-color: transparent !important; + } +} + +.v-timeline { + display: grid; + grid-auto-flow: dense; + position: relative; +} +.v-timeline--horizontal.v-timeline { + grid-column-gap: 24px; + width: 100%; +} +.v-timeline--horizontal.v-timeline .v-timeline--side-end > .v-timeline-item .v-timeline-item__body, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-start) > .v-timeline-item--side-end .v-timeline-item__body, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-start) > .v-timeline-item:nth-child(2n+1):not(.v-timeline-item--side-start) .v-timeline-item__body { + grid-row: 3; + align-self: flex-start; + padding-block-start: 24px; +} +.v-timeline--horizontal.v-timeline .v-timeline--side-end > .v-timeline-item .v-timeline-item__opposite, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-start) > .v-timeline-item--side-end .v-timeline-item__opposite, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-start) > .v-timeline-item:nth-child(2n+1):not(.v-timeline-item--side-start) .v-timeline-item__opposite { + grid-row: 1; + align-self: flex-end; + padding-block-end: 24px; +} +.v-timeline--horizontal.v-timeline .v-timeline--side-start > .v-timeline-item .v-timeline-item__body, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-end) > .v-timeline-item--side-start .v-timeline-item__body, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-end) > .v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__body { + grid-row: 1; + align-self: flex-end; + padding-block-end: 24px; +} +.v-timeline--horizontal.v-timeline .v-timeline--side-start > .v-timeline-item .v-timeline-item__opposite, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-end) > .v-timeline-item--side-start .v-timeline-item__opposite, .v-timeline--horizontal.v-timeline:not(.v-timeline--side-end) > .v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__opposite { + grid-row: 3; + align-self: flex-start; + padding-block-start: 24px; +} + +.v-timeline--vertical.v-timeline { + row-gap: 24px; + height: 100%; +} +.v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-divider, .v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-item__body, .v-timeline--vertical.v-timeline .v-timeline-item:first-child .v-timeline-item__opposite { + padding-block-start: 24px; +} +.v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-divider, .v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-item__body, .v-timeline--vertical.v-timeline .v-timeline-item:last-child .v-timeline-item__opposite { + padding-block-end: 24px; +} +.v-timeline--vertical.v-timeline .v-timeline--side-start > .v-timeline-item .v-timeline-item__body, .v-timeline--vertical.v-timeline:not(.v-timeline--side-end) > .v-timeline-item--side-start .v-timeline-item__body, .v-timeline--vertical.v-timeline:not(.v-timeline--side-end) > .v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__body { + grid-column: 1; + justify-self: flex-end; + padding-inline-end: 24px; +} +.v-timeline--vertical.v-timeline .v-timeline--side-start > .v-timeline-item .v-timeline-item__opposite, .v-timeline--vertical.v-timeline:not(.v-timeline--side-end) > .v-timeline-item--side-start .v-timeline-item__opposite, .v-timeline--vertical.v-timeline:not(.v-timeline--side-end) > .v-timeline-item:nth-child(2n):not(.v-timeline-item--side-end) .v-timeline-item__opposite { + grid-column: 3; + justify-self: flex-start; + padding-inline-start: 24px; +} +.v-timeline--vertical.v-timeline .v-timeline--side-end > .v-timeline-item .v-timeline-item__body, .v-timeline--vertical.v-timeline:not(.v-timeline--side-start) > .v-timeline-item--side-end .v-timeline-item__body, .v-timeline--vertical.v-timeline:not(.v-timeline--side-start) > .v-timeline-item:nth-child(2n+1):not(.v-timeline-item--side-start) .v-timeline-item__body { + grid-column: 3; + justify-self: flex-start; + padding-inline-start: 24px; +} +.v-timeline--vertical.v-timeline .v-timeline--side-end > .v-timeline-item .v-timeline-item__opposite, .v-timeline--vertical.v-timeline:not(.v-timeline--side-start) > .v-timeline-item--side-end .v-timeline-item__opposite, .v-timeline--vertical.v-timeline:not(.v-timeline--side-start) > .v-timeline-item:nth-child(2n+1):not(.v-timeline-item--side-start) .v-timeline-item__opposite { + grid-column: 1; + justify-self: flex-end; + padding-inline-end: 24px; +} + +.v-timeline-item { + display: contents; +} + +.v-timeline-divider { + position: relative; + display: flex; + align-items: center; +} +.v-timeline--horizontal .v-timeline-divider { + flex-direction: row; + grid-row: 2; + width: 100%; +} + +.v-timeline--vertical .v-timeline-divider { + height: 100%; + flex-direction: column; + grid-column: 2; +} + +.v-timeline-divider__before { + background: rgba(var(--v-border-color), var(--v-border-opacity)); + position: absolute; +} +.v-timeline--horizontal .v-timeline-divider__before { + height: var(--v-timeline-line-thickness); + width: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + inset-inline-start: -12px; + inset-inline-end: initial; +} + +.v-timeline--vertical .v-timeline-divider__before { + height: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + width: var(--v-timeline-line-thickness); + top: -12px; +} + +@media (forced-colors: active) { + .v-timeline-divider__before { + background: canvastext; + } +} + +.v-timeline-divider__after { + background: rgba(var(--v-border-color), var(--v-border-opacity)); + position: absolute; +} +.v-timeline--horizontal .v-timeline-divider__after { + height: var(--v-timeline-line-thickness); + width: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + inset-inline-end: -12px; + inset-inline-start: initial; +} + +.v-timeline--vertical .v-timeline-divider__after { + height: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + width: var(--v-timeline-line-thickness); + bottom: -12px; +} + +@media (forced-colors: active) { + .v-timeline-divider__after { + background: canvastext; + } +} + +.v-timeline--vertical .v-timeline-item:first-child .v-timeline-divider__before { + height: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + top: 0; +} + +.v-timeline--horizontal .v-timeline-item:first-child .v-timeline-divider__before { + width: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + inset-inline-start: 0; + inset-inline-end: initial; +} + +.v-timeline--vertical .v-timeline-item:first-child .v-timeline-divider__after { + height: calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset)); +} + +.v-timeline--horizontal .v-timeline-item:first-child .v-timeline-divider__after { + width: calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset)); + inset-inline-end: -12px; + inset-inline-start: initial; +} + +.v-timeline--vertical .v-timeline-item:last-child .v-timeline-divider__before { + height: calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset)); +} + +.v-timeline--horizontal .v-timeline-item:last-child .v-timeline-divider__before { + width: calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset) + var(--v-timeline-line-size-offset)); +} + +.v-timeline--vertical .v-timeline-item:last-child .v-timeline-divider__after { + height: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + bottom: 0; +} + +.v-timeline--horizontal .v-timeline-item:last-child .v-timeline-divider__after { + width: calc(var(--v-timeline-line-size-base) + 12px - var(--v-timeline-line-inset)); + inset-inline-end: 0; + inset-inline-start: initial; +} + +.v-timeline--vertical .v-timeline-item:only-child .v-timeline-divider__after { + height: calc(var(--v-timeline-line-size-base) - var(--v-timeline-line-inset)); +} + +.v-timeline-divider__dot { + z-index: 1; + flex-shrink: 0; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; +} +.v-timeline-divider__dot { + box-shadow: 0 0 0 0 rgba(var(--v-shadow-key-umbra-color), 1), 0 0 transparent, 0 0 transparent; +} +.v-timeline-divider__dot--size-x-small { + height: 22px; + width: 22px; +} +.v-timeline-divider__dot--size-x-small .v-timeline-divider__inner-dot { + height: calc(100% - 6px); + width: calc(100% - 6px); +} +.v-timeline-divider__dot--size-small { + height: 30px; + width: 30px; +} +.v-timeline-divider__dot--size-small .v-timeline-divider__inner-dot { + height: calc(100% - 8px); + width: calc(100% - 8px); +} +.v-timeline-divider__dot--size-default { + height: 38px; + width: 38px; +} +.v-timeline-divider__dot--size-default .v-timeline-divider__inner-dot { + height: calc(100% - 8px); + width: calc(100% - 8px); +} +.v-timeline-divider__dot--size-large { + height: 46px; + width: 46px; +} +.v-timeline-divider__dot--size-large .v-timeline-divider__inner-dot { + height: calc(100% - 8px); + width: calc(100% - 8px); +} +.v-timeline-divider__dot--size-x-large { + height: 54px; + width: 54px; +} +.v-timeline-divider__dot--size-x-large .v-timeline-divider__inner-dot { + height: calc(100% - 10px); + width: calc(100% - 10px); +} + +.v-timeline-divider__inner-dot { + align-items: center; + border-radius: 50%; + display: flex; + justify-content: center; +} + +/** Modifiers **/ +.v-timeline--horizontal.v-timeline--justify-center { + grid-template-rows: minmax(auto, 50%) min-content minmax(auto, 50%); +} + +.v-timeline--vertical.v-timeline--justify-center { + grid-template-columns: minmax(auto, 50%) min-content minmax(auto, 50%); +} + +.v-timeline--horizontal.v-timeline--justify-auto { + grid-template-rows: auto min-content auto; +} + +.v-timeline--vertical.v-timeline--justify-auto { + grid-template-columns: auto min-content auto; +} + +.v-timeline--horizontal.v-timeline--density-comfortable { + height: 100%; +} +.v-timeline--horizontal.v-timeline--density-comfortable.v-timeline--side-end { + grid-template-rows: min-content min-content auto; +} +.v-timeline--horizontal.v-timeline--density-comfortable.v-timeline--side-start { + grid-template-rows: auto min-content min-content; +} + +.v-timeline--vertical.v-timeline--density-comfortable { + width: 100%; +} +.v-timeline--vertical.v-timeline--density-comfortable.v-timeline--side-end { + grid-template-columns: min-content min-content auto; +} +.v-timeline--vertical.v-timeline--density-comfortable.v-timeline--side-start { + grid-template-columns: auto min-content min-content; +} + +.v-timeline--horizontal.v-timeline--density-compact.v-timeline--side-end { + grid-template-rows: 0 min-content auto; +} +.v-timeline--horizontal.v-timeline--density-compact.v-timeline--side-start { + grid-template-rows: auto min-content 0; +} +.v-timeline--horizontal.v-timeline--density-compact .v-timeline-item__body { + grid-row: 1; +} + +.v-timeline--vertical.v-timeline--density-compact.v-timeline--side-end { + grid-template-columns: 0 min-content auto; +} +.v-timeline--vertical.v-timeline--density-compact.v-timeline--side-start { + grid-template-columns: auto min-content 0; +} +.v-timeline--vertical.v-timeline--density-compact .v-timeline-item__body { + grid-column: 3; +} + +.v-timeline--horizontal.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__body { + grid-row: 3; + align-self: flex-start; + padding-block-end: initial; + padding-block-start: 24px; +} +.v-timeline--horizontal.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__opposite { + grid-row: 1; + align-self: flex-end; + padding-block-end: 24px; + padding-block-start: initial; +} + +.v-timeline--vertical.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__body { + grid-column: 3; + justify-self: flex-start; + padding-inline-start: 24px; + padding-inline-end: initial; +} +.v-timeline--vertical.v-timeline.v-timeline--side-end .v-timeline-item .v-timeline-item__opposite { + grid-column: 1; + justify-self: flex-end; + padding-inline-end: 24px; + padding-inline-start: initial; +} + +.v-timeline--horizontal.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__body { + grid-row: 1; + align-self: flex-end; + padding-block-end: 24px; + padding-block-start: initial; +} +.v-timeline--horizontal.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__opposite { + grid-row: 3; + align-self: flex-start; + padding-block-end: initial; + padding-block-start: 24px; +} + +.v-timeline--vertical.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__body { + grid-column: 1; + justify-self: flex-end; + padding-inline-end: 24px; +} +.v-timeline--vertical.v-timeline.v-timeline--side-start .v-timeline-item .v-timeline-item__opposite { + grid-column: 3; + justify-self: flex-start; + padding-inline-start: 24px; +} + +.v-timeline-divider--fill-dot .v-timeline-divider__inner-dot { + height: inherit; + width: inherit; +} + +.v-timeline--align-center { + --v-timeline-line-size-base: 50%; + --v-timeline-line-size-offset: 0px; +} +.v-timeline--horizontal.v-timeline--align-center { + justify-items: center; +} +.v-timeline--horizontal.v-timeline--align-center .v-timeline-item__body { + padding-inline: 12px; +} +.v-timeline--horizontal.v-timeline--align-center .v-timeline-item__opposite { + padding-inline: 12px; +} +.v-timeline--horizontal.v-timeline--align-center .v-timeline-divider { + justify-content: center; +} + +.v-timeline--vertical.v-timeline--align-center { + align-items: center; +} +.v-timeline--vertical.v-timeline--align-center .v-timeline-divider { + justify-content: center; +} + +.v-timeline--align-start { + --v-timeline-line-size-base: 100%; + --v-timeline-line-size-offset: 12px; +} +.v-timeline--align-start .v-timeline-item:first-child .v-timeline-divider__before { + --v-timeline-line-size-offset: 24px; +} +.v-timeline--align-start .v-timeline-item:first-child .v-timeline-divider__after { + --v-timeline-line-size-offset: -12px; +} +.v-timeline--align-start .v-timeline-item:last-child .v-timeline-divider__after { + --v-timeline-line-size-offset: 0px; +} +.v-timeline--horizontal.v-timeline--align-start { + justify-items: flex-start; +} +.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider { + justify-content: flex-start; +} +.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider .v-timeline-divider__before { + width: calc(var(--v-timeline-line-size-offset) + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset)); +} +.v-timeline--horizontal.v-timeline--align-start .v-timeline-divider .v-timeline-divider__after { + width: calc(var(--v-timeline-line-size-base) - var(--v-timeline-dot-size) / 2 + var(--v-timeline-line-size-offset) - var(--v-timeline-line-inset)); +} + +.v-timeline--vertical.v-timeline--align-start { + align-items: flex-start; +} +.v-timeline--vertical.v-timeline--align-start .v-timeline-divider { + justify-content: flex-start; +} +.v-timeline--vertical.v-timeline--align-start .v-timeline-divider .v-timeline-divider__before { + height: calc(var(--v-timeline-line-size-offset) + var(--v-timeline-dot-size) / 2 - var(--v-timeline-line-inset)); +} +.v-timeline--vertical.v-timeline--align-start .v-timeline-divider .v-timeline-divider__after { + height: calc(var(--v-timeline-line-size-base) - var(--v-timeline-dot-size) / 2 + var(--v-timeline-line-size-offset) - var(--v-timeline-line-inset)); +} + +.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider__before { + display: none; +} +.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider__after { + --v-timeline-line-size-offset: 12px; +} +.v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider, .v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__body, .v-timeline--vertical.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__opposite { + padding-block-start: 0; +} + +.v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-divider, .v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__body, .v-timeline--horizontal.v-timeline--truncate-line-start .v-timeline-item:first-child .v-timeline-item__opposite { + padding-inline-start: 0; +} + +.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider__after { + display: none; +} +.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider__before { + --v-timeline-line-size-offset: 12px; +} +.v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider, .v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__body, .v-timeline--vertical.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__opposite { + padding-block-end: 0; +} + +.v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-divider, .v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__body, .v-timeline--horizontal.v-timeline--truncate-line-end .v-timeline-item:last-child .v-timeline-item__opposite { + padding-inline-end: 0; +}/* Colors */ +.v-time-picker.v-picker { + min-width: 328px; +}/* Colors */ +.v-time-picker-clock { + background: rgb(var(--v-theme-background)); + color: rgb(var(--v-theme-on-background)); +} +.v-time-picker-clock:after { + color: rgb(var(--v-theme-primary)); +} +.v-time-picker-clock .v-time-picker-clock__item--active { + background-color: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); +} + +.v-time-picker-clock { + margin: 24px; + margin-top: 18px; + background: rgb(var(--v-theme-surface-light)); + border-radius: 50%; + position: relative; + transition: none; + user-select: none; + max-width: 256px; + aspect-ratio: 1; + flex: 100%; +} +.v-time-picker-clock__container { + display: flex; + flex-direction: column; + flex-basis: 290px; + justify-content: center; + padding: 10px; +} +.v-time-picker-clock__hand { + background-color: currentColor; + height: calc(50% - 4px); + width: 2px; + bottom: 50%; + left: calc(50% - 1px); + transform-origin: center bottom; + position: absolute; + will-change: transform; + z-index: 1; +} +.v-time-picker-clock__hand:before { + background: transparent; + border-width: 2px; + border-style: solid; + border-color: currentColor; + border-radius: 100%; + width: 10px; + height: 10px; + content: ""; + position: absolute; + top: -4px; + left: 50%; + transform: translate(-50%, -50%); +} +.v-time-picker-clock__hand:after { + content: ""; + position: absolute; + height: 8px; + width: 8px; + top: 100%; + left: 50%; + border-radius: 100%; + background-color: currentColor; + transform: translate(-50%, -50%); +} +.v-time-picker-clock__hand--inner:after { + height: 14px; +} +.v-time-picker-clock--readonly { + pointer-events: none; +} +.v-time-picker-clock .v-time-picker-clock__item--disabled { + opacity: var(--v-disabled-opacity); +} + +.v-picker--full-width .v-time-picker-clock__container { + max-width: 290px; +} + +.v-time-picker-clock__inner { + position: absolute; + bottom: 27px; + left: 27px; + right: 27px; + top: 27px; +} + +.v-time-picker-clock__item { + align-items: center; + border-radius: 100%; + cursor: default; + display: flex; + font-size: 16px; + justify-content: center; + height: 40px; + position: absolute; + text-align: center; + width: 40px; + user-select: none; + transform: translate(-50%, -50%); +} +.v-time-picker-clock__item > span { + z-index: 1; +} +.v-time-picker-clock__item:before, .v-time-picker-clock__item:after { + content: ""; + border-radius: 100%; + position: absolute; + top: 50%; + left: 50%; + height: 14px; + width: 14px; + transform: translate(-50%, -50%); +} +.v-time-picker-clock__item:after, .v-time-picker-clock__item:before { + height: 40px; + width: 40px; +} +.v-time-picker-clock__item--active { + cursor: default; + z-index: 2; +} +.v-time-picker-clock__item--disabled { + pointer-events: none; +} + +.v-picker--landscape .v-time-picker-clock__container { + flex-direction: row; +}/* Colors */ +.v-time-picker-controls { + display: flex; + align-items: center; + justify-content: center; + font-size: 0.875rem; + padding-top: 4px; + padding-bottom: 4px; + margin-inline: 24px; + margin-bottom: 18px; +} +.v-time-picker-controls__text { + padding-bottom: 12px; +} +.v-time-picker-controls__time { + display: flex; + white-space: nowrap; + direction: ltr; + justify-content: center; +} +.v-time-picker-controls__time__btn.v-btn--density-default.v-btn { + width: 96px; + height: 80px; + font-size: 56px; +} +.v-time-picker-controls__time__btn.v-btn--density-default.v-btn__active { + background: rgb(var(--v-theme-primary)); +} +.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-ampm__btn { + width: 96px; + height: 80px; +} +.v-time-picker-controls__time__btn.v-btn--density-default.v-btn.v-time-picker-controls__time--with-seconds__btn { + width: 64px; + height: 80px; + font-size: 40px; +} +.v-time-picker-controls__time__separator { + font-size: 56px; + height: 80px; + width: 24px; + text-align: center; +} +.v-time-picker-controls__time__separator.v-time-picker-controls--with-seconds__time__separator { + height: 80px; + font-size: 56px; +} + +.v-time-picker-controls__ampm { + margin-left: 12px; + align-self: flex-end; + display: flex; + flex-direction: column; + font-size: 18px; + text-transform: uppercase; +} +.v-time-picker-controls__ampm--readonly { + pointer-events: none; +} +.v-time-picker-controls__ampm--readonly .v-picker__title__btn.v-picker__title__btn--active { + opacity: 0.6; +} +.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default { + font-size: 18px; + padding: 0 8px; + min-width: 52px; + height: 40px; +} +.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__am { + border-radius: 4px 4px 0 0; + border: 1px solid; +} +.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default.v-time-picker-controls__ampm__pm { + border-radius: 0 0 4px 4px; + border: 1px solid; + border-top: none; +} +.v-time-picker-controls__ampm__btn.v-btn.v-btn--density-default__active { + background: rgb(var(--v-theme-primary)); +} + +.v-picker__title--landscape .v-time-picker-controls { + flex-direction: column; + justify-content: center; + height: 100%; +} +.v-picker__title--landscape .v-time-picker-controls__time { + text-align: right; +} +.v-picker__title--landscape .v-time-picker-controls__time .v-picker__title__btn, +.v-picker__title--landscape .v-time-picker-controls__time span { + height: 55px; + font-size: 55px; +} +.v-picker__title--landscape .v-time-picker-controls__ampm { + margin: 16px 0 0; + align-self: initial; + text-align: center; +} + +.v-picker--time .v-picker__title--landscape { + padding: 0; +} +.v-picker--time .v-picker__title--landscape .v-time-picker-controls__time { + text-align: center; +}/* Colors */ +.v-tooltip > .v-overlay__content { + background: rgb(var(--v-theme-surface-variant)); + color: rgb(var(--v-theme-on-surface-variant)); + border-radius: 4px; + font-size: 0.875rem; + line-height: 1.6; + display: inline-block; + padding: 5px 16px; + text-transform: initial; + width: auto; + opacity: 1; + transition-property: opacity, transform; + overflow-wrap: break-word; +} +.v-tooltip > .v-overlay__content[class*=enter-active] { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 150ms; +} +.v-tooltip > .v-overlay__content[class*=leave-active] { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); + transition-duration: 75ms; +} +.v-tooltip:not(.v-tooltip--interactive) > .v-overlay__content { + pointer-events: none; +}/* Colors */ +.v-treeview-item { + --list-indent-size: 28px; +} +.v-treeview-item.v-treeview-item--filtered { + display: none; +} +.v-treeview-item.v-list-item--disabled:not(a) { + pointer-events: auto; +} +.v-treeview-item.v-list-item--disabled:not(a) .v-selection-control { + pointer-events: none; +} +.v-treeview-item__level { + width: 28px; +} +.v-treeview--fluid .v-treeview-item__level { + width: 0; +} + +.v-treeview.v-list { + --indent-padding: 16px; +} +.v-treeview.v-list--disabled .v-list-item__prepend { + pointer-events: auto; +} +.v-treeview .v-list-item--slim > .v-list-item__prepend > .v-icon ~ .v-list-item__spacer { + width: 10px; +} +.v-treeview .v-list-item--slim > .v-list-item__prepend:not(:has(.v-list-item-action)) > .v-icon { + margin-inline-start: -6px; +} +.v-treeview:has(.v-treeview-indent-lines) .v-list-item-action:first-child > .v-selection-control, +.v-treeview:has(.v-treeview-indent-lines) .v-treeview-indent-lines + .v-list-item-action > .v-selection-control { + margin-inline: min(0px, -1 * (var(--v-selection-control-size) - 28px) / 2); +} + +.v-treeview-indent-lines { + position: absolute; + inset-inline-start: 0; + height: 100%; + display: grid; + padding-inline-start: 8px; + padding-block: 0; + grid-template-columns: repeat(var(--v-indent-parts, 1), var(--prepend-width)); + opacity: 0.4; + pointer-events: none; +} + +.v-treeview-indent-line, .v-treeview-indent-line::before { + border: 0px solid rgb(var(--v-theme-on-surface)); +} +.v-treeview-indent-line--leaf, .v-treeview-indent-line--line { + border-inline-start-width: 1px; + height: 100%; + width: calc(50% + 1px); + justify-self: end; +} +.v-treeview-indent-line--leaf { + position: relative; +} +.v-treeview-indent-line--leaf::before { + content: ""; + position: absolute; + border-bottom-width: 1px; + height: calc(50% + 1px); + width: 100%; +} +.v-treeview-indent-line--leaf:last-child::before { + width: calc(100% - 4px); +} +.v-treeview-indent-line--leaf-link { + border-bottom-width: 1px; + height: calc(50% + 1px); + margin-inline-start: 0; + margin-inline-end: 6px; +} +.v-treeview-indent-line--last-leaf { + border-inline-start-width: 1px; + border-bottom-width: 1px; + height: calc(50% + 1px); + margin-inline-start: calc(50% - 1px); + border-bottom-left-radius: 4px; +} +.v-locale--is-rtl.v-treeview-indent-line--last-leaf, .v-locale--is-rtl .v-treeview-indent-line--last-leaf { + border-bottom-left-radius: 0; + border-bottom-right-radius: 4px; +} + +.v-treeview-indent-line--last-leaf:last-child { + margin-inline-end: 4px; +} + +.v-treeview-group.v-list-group { + --list-indent-size: 0px; +} +.v-treeview-group.v-list-group > .v-treeview-item__level { + width: 0px; +} +.v-treeview-group.v-list-group .v-list-group__items .v-list-item { + padding-inline-start: calc(var(--indent-padding)) !important; +}/* Colors */ +.v-table > .v-table__wrapper > table > tbody > tr > th, +.v-table > .v-table__wrapper > table > thead > tr > th, +.v-table > .v-table__wrapper > table > tfoot > tr > th { + color: var(--v-theme-on-background); + background-color: #fafafa; +} + +.v-table tbody td .v-chip.v-chip--size-default { + --v-chip-height: 28px; + font-size: 12px; +} +.v-table tbody td .v-selection-control--dirty { + color: rgb(var(--v-theme-primary)); +} + +.v-table > .v-table__wrapper > table { + border: thin solid #e0e0e0; + border-radius: 4px; + overflow: hidden; +} + +/** fix the long text word-break problem **/ +table { + table-layout: auto; + word-break: break-word; +} + +/** fix: v-tab item have box-shadow which cropped by v-window's property overflow:hidden **/ +.v-slide-group:not(.vx-tabs-wrap) ~ .v-window { + padding-left: 20px; + padding-right: 20px; + padding-bottom: 20px; + margin-left: -20px; + margin-right: -20px; + margin-bottom: -20px; +} + +/* Colors */ +.v-card--variant-outlined { + border-color: #e0e0e0; +} + +.v-card-actions .v-btn ~ .v-btn:not(.v-btn-toggle .v-btn) { + margin-inline-start: 12px; +} + +.v-input--density-compact { + --v-input-control-height: 32px; + --v-field-padding-start: 12px; + --v-field-input-padding-top: 4px; + --v-field-input-padding-bottom: 4px; + font-size: 14px; +} +.v-input--density-compact .v-field { + --v-input-control-height: 40px; +} +.v-input--density-compact .v-chip--size-small { + --v-chip-height: 20px; + font-size: 12px; + padding: 0 8px; +} +.v-input--density-compact .v-field__append-inner i { + --v-theme-on-surface: var(--v-theme-grey-darken-2); + --v-medium-emphasis-opacity: 1; +} + +.v-btn__content { + letter-spacing: 0.61px; +} + +.v-btn--variant-elevated { + box-shadow: 0px 1px 3px 0px rgba(var(--v-shadow-key-umbra-color), 0.14), 0px 2px 1px 0px rgba(var(--v-shadow-key-umbra-color), 0.12), 0px 1px 1px 0px rgba(var(--v-shadow-key-umbra-color), 0.14); +} + +.fix-btn-icon.v-btn--size-x-small .v-icon { + font-size: calc(var(--v-icon-size-multiplier) * 1em); +} + +/* Colors */ +.textarea-with-bottom-btns.v-textarea .v-input__control .v-field__field { + padding-bottom: 12px; +} + +.ellipsis, .ellipsis-flex { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ellipsis-flex { + flex: 1; +} + +.pt-17 { + padding-top: 68px; +} + +.pt-18 { + padding-top: 72px; +} + +.pt-19 { + padding-top: 76px; +} + +.pt-20 { + padding-top: 80px; +} + +.pt-21 { + padding-top: 84px; +} + +.pt-22 { + padding-top: 88px; +} + +.pt-23 { + padding-top: 92px; +} + +.ml-abs-1 { + margin-left: 1px; +} + +.h-abs-26 { + height: 26px; +} + +.h-abs-36 { + height: 36px; +} + +.content-box { + box-sizing: content-box; +} + +.color-grey-darken-1 { + color: var(--v-theme-grey-darken-1); +} + +.timeline-block { + position: relative; + padding: 16px; + margin-left: 8px; + word-break: break-word; +} + +.timeline-block::before { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 1px; + height: 100%; + background: #e0e0e0; +} + +.container-item-inline-b-layout > * { + display: inline-block; +} + +.bg-transparent { + background: transparent; +} + +/* Colors */ +.v-slide-group:not(.vx-tabs-wrap) .v-slide-group__content { + flex: initial; + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} +.v-slide-group:not(.vx-tabs-wrap) .v-tab.v-tab.v-btn { + min-width: auto; +} +.v-slide-group:not(.vx-tabs-wrap) .v-btn.v-tab--selected { + color: rgba(var(--v-theme-primary), var(--v-high-emphasis-opacity)); +} +.v-slide-group:not(.vx-tabs-wrap) .v-btn { + --v-theme-on-surface: 97, 97, 97; + color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); +} + +.ellipsis, .ellipsis-flex { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ellipsis-flex { + flex: 1; +} + +.pt-17 { + padding-top: 68px; +} + +.pt-18 { + padding-top: 72px; +} + +.pt-19 { + padding-top: 76px; +} + +.pt-20 { + padding-top: 80px; +} + +.pt-21 { + padding-top: 84px; +} + +.pt-22 { + padding-top: 88px; +} + +.pt-23 { + padding-top: 92px; +} + +.ml-abs-1 { + margin-left: 1px; +} + +.h-abs-26 { + height: 26px; +} + +.h-abs-36 { + height: 36px; +} + +.content-box { + box-sizing: content-box; +} + +.color-grey-darken-1 { + color: var(--v-theme-grey-darken-1); +} + +.timeline-block { + position: relative; + padding: 16px; + margin-left: 8px; + word-break: break-word; +} + +.timeline-block::before { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 1px; + height: 100%; + background: #e0e0e0; +} + +.container-item-inline-b-layout > * { + display: inline-block; +} + +.bg-transparent { + background: transparent; +} + +/* Colors */ +.v-theme--light .v-navigation-drawer__content { + position: relative; +} +.v-theme--light .menu-wrap { + /** navgation bg on the top **/ +} +.v-theme--light .menu-wrap::before { + position: absolute; + content: ""; + width: 100%; + height: 180px; + background-repeat: no-repeat; +} + +.menu-wrap { + display: flex; + flex-direction: column; +} +.menu-wrap .menu-content { + overflow: auto; +} +.menu-wrap { + /** color of menu and profile bar */ +} +.menu-wrap .v-list, +.menu-wrap .v-app-bar.v-toolbar { + --v-theme-on-surface: 97, 97, 97; +} + +.menu-wrap button.v-btn.i18n-switcher-btn { + height: 32px; + padding: 0 16px; + border-radius: 9999px; + min-width: 0; + width: 0; +} +.menu-wrap { + /** fix: v-col-2 result in touch area is collapse **/ +} +.menu-wrap button.v-btn.menu-control-icon { + position: absolute; + left: 0; + top: 50%; + transform: translateY(-50%); + margin-left: 8px; +} +.menu-wrap .i18n-divider { + height: 32px; + align-self: center; + --v-border-opacity: 0.079; +} +.menu-wrap .v-list.bg-transparent { + background: transparent; +} +.menu-wrap .v-list-item--variant-text .v-list-item__overlay { + background: rgb(var(--v-theme-primary)); +} +.menu-wrap { + /* adjust menu-list-item start*/ +} +.menu-wrap .v-list-group { + --prepend-width: 20px; +} +.menu-wrap .v-list-group__items { + --list-indent-size: 8px; +} +.menu-wrap .v-list-item--density-compact:not(.v-list-item--nav).v-list-item--one-line { + padding-inline: 8px; +} +.menu-wrap .v-list-item__prepend, +.menu-wrap .v-list-item__append { + display: initial; + width: 36px; +} +.menu-wrap .v-list-item__append { + text-align: right; +} +.menu-wrap .v-list { + padding: 8px 0 0 0; +} +.menu-wrap .v-list-item { + grid-template-columns: auto 1fr auto; + min-height: 32px; + padding-top: 0; + padding-bottom: 0; + margin-bottom: 8px; +} +.menu-wrap { + /* adjust menu-list-item end*/ +} +.menu-wrap .v-main > .v-container { + padding-top: 14px; +} +.menu-wrap .menu-profile-btn-divider { + height: 32px; + margin: 0 16px; + --v-border-opacity: 0.079; + align-self: center; +} + +.v-theme--light .menu-wrap::before { + background-image: url(data:image/png;base64,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E0YQhtTOklhKf+X9XRLLnBMYLQLcEIAb+DuEOmF0Obgqj/AlgpcDsYkQpOPwIE7acT0CCcKwqFBfh/AN94Z0DiFH5FHciOWV50qbclfbRBy6zg2zUYkXCk7jmnf4MQTtZua/gb83yAfeKMVCOVhTnh8z4K8XJUYhUXqun7WbCE424zcQi+uRLq8nhB9HTMp8Xi9yg8w38B8VeDa3nFGbEKXb6OI6mpCMIiolkpf5zM7exHL763e7il5P2JoIXLiBG/h7hn8vg1AGe4oS47kIv/bc8uliZxUfgotOgzwhWJSZ4Wg1lW5Ka3U1QRU3rrVyzdFvUjuafWbkPfLINr4tLmfxjv59wg3cwN8jtMK/B/DRX9Ku0aZ4T8rFEjmTGJHy+hBTkifFmcsJTFXngTEM2XLkdzlqa1OKe2f1pfI+Jp7UkyLflHVKwA3zpZL6UjitG+S/gb9/+PdCAAzSDG4IW0aRkaNHJCMedrSZM0doO5cZVojC6Jkb91P0HEN8Y8tT2dI85xE9j5oz/J7pPbzOxDiAnAu6gRu4gQYo2fi/rdzclP/H1PFjnzucL4y0hNzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzADdzA/xngfwcwanmRHQU8CgAAAABJRU5ErkJggg==); +} + +.v-main .v-tabs--density-compact { + --v-tabs-height: 44px; +} +.v-main .v-tabs--density-compact .v-slide-group__content { + color: rgba(var(--v-theme-grey-darken-2), var(--v-high-emphasis-opacity)); +} +.v-main .v-tabs--density-compact .v-btn { + font-weight: 500; +} + +.page-builder-autoCmp .v-input__control { + height: 36px; + --v-input-control-height: 36px; +} + +.dialog-close-btn .v-icon { + color: rgba(var(--v-theme-grey-darken-1), var(--v-high-emphasis-opacity)); +} + +.common-dialog .v-card-title { + text-overflow: initial; + white-space: inherit; +} +.common-dialog .v-btn--size-small .v-btn__content { + font-size: 12px; + font-weight: 400; +} + +.v-dialog .listing-compo-wrap { + padding-left: 16px; + padding-right: 16px; +} + +.v-pagination .v-pagination__item .v-btn { + --v-btn-size: 16px; + font-weight: 500; +} +.v-pagination .v-pagination__item .v-btn.v-btn--density-compact { + width: auto; +} +.v-pagination .v-pagination__item .v-btn.v-btn--density-compact .v-btn__content { + padding: 0 10px; + min-width: 28px; +} + +.section-title-wrap { + display: flex; + justify-content: space-between; + align-items: end; + margin-bottom: 16px; + margin-left: 0px; + margin-right: 0px; +} +.section-title-wrap .section-title { + font-size: 24px; + font-weight: 500; + color: rgb(var(--v-theme-on-surface)); + line-height: 32px; /* 133.333% */ + letter-spacing: -0.1px; +} + +.section-wrap.edit-view .section-body { + margin-top: 24px; +} +.section-wrap.edit-view .section-body .v-card-text { + background: rgb(var(--v-theme-grey-lighten-5)); +} +.section-wrap.can-edit .section-body:hover > .v-card { + box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14); +} +.section-wrap.can-edit .thead-gap th { + padding-top: 10px !important; + padding-bottom: 10px !important; +} +.section-wrap .section-body.can-edit:hover { + box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12), 0px 6px 10px 0px rgba(0, 0, 0, 0.14); +} +.section-wrap .value-type-media-wrap .media-box-wrap, +.section-wrap .timeline-block .media-box-wrap, +.section-wrap .section-content .media-box-wrap { + padding-left: 12px; + padding-top: 0; + padding-bottom: 0; + margin-bottom: 16px; + margin-top: 16px; +} +.section-wrap .value-type-media-wrap .media-box-wrap .v-card, +.section-wrap .timeline-block .media-box-wrap .v-card, +.section-wrap .section-content .media-box-wrap .v-card { + overflow: hidden; + box-shadow: none; + width: 194px; + height: 80px; +} + +.section-body { + margin-left: 0; + margin-right: 0; +} +.section-body .v-card, .section-body.v-card { + background: transparent; + border: thin solid rgb(var(--v-theme-grey-lighten-3)); + border-radius: 8px; +} +.section-body .media-box-wrap .v-row { + gap: 0; +} +.section-body .media-box-wrap .v-row:not(:last-child) { + margin-bottom: 0; +} +.section-body .v-row { + gap: 16px; +} +.section-body .v-row:not(:last-child) { + margin-bottom: 24px; +} +.section-body .text-caption { + font-size: 14px !important; + font-weight: 500; + color: rgb(var(--v-theme-on-surface)); + --v-medium-emphasis-opacity: 1; + margin-bottom: 12px; + line-height: 20px; +} +.section-body .text-caption + * { + color: rgb(var(--v-theme-grey-darken-1)); + font-size: 16px; + line-height: 24px; +} +.section-body .v-card-text { + padding-left: 16px; +} +.section-body .field-item:first-child .field-item-label { + padding-right: 140px; +} +.section-body .field-item-title { + color: rgb(var(--v-thtme-on-surface)); + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; /* 142.857% */ +} +.section-body .field-item-label { + display: flex; + align-items: center; +} +.section-body .field-item-label .v-icon.v-icon--size-small { + font-size: 16px; +} +.section-body .field-item-label .v-icon { + color: rgb(var(--v-theme-grey-darken-1)); +} +.section-body .field-item-value { + color: rgb(var(--v-theme-grey-darken-3)); + font-size: 16px; + font-style: normal; + line-height: 24px; /* 150% */ +} +.section-body .field-item-value .v-chip { + font-size: 12px; + font-weight: 400; +} +.section-body .field-item-value .v-chip.text-primary { + color: rgb(var(--v-theme-primary)) !important; +} +.section-body .field-item-value-switch .v-switch__track:not(.bg-primary) { + opacity: 1; + background-color: rgb(var(--v-theme-grey-lighten-1)); +} +.section-body .field-item-value-switch .v-label { + --v-medium-emphasis-opacity: 1; + padding-inline-start: 14px; + color: rgb(var(--v-theme-grey-darken-3)); + font-size: 16px; + line-height: 24px; /* 150% */ +} +.section-body .field-item-tooltip-icon { + color: rgb(var(--v-theme-grey-lighten-1)); + cursor: pointer; +} + +.section-content { + position: relative; +} + +.section-edit-area { + text-align: right; +} +.section-edit-area.top-area { + position: absolute; + right: 0; + top: 0; +} +.section-edit-area .v-btn { + color: rgb(var(--v-theme-primary)); + border-radius: 4px; + height: 24px; + font-size: 12px; + padding: 0 8px; + font-weight: 400; +} +.section-edit-area .v-btn .v-btn__prepend { + margin-inline: initial; + margin-right: 4px; +} +.section-edit-area .v-btn.bg-grey-lighten-3 .v-btn__content { + color: rgb(var(--v-theme-grey-darken-3)); +} + +.section-field-wrap .section-field .v-field__outline { + color: rgb(var(--v-theme-grey-lighten-1)); +} + +.sortable-label:hover .section-sortable-area { + display: block; +} + +.section-sortable-area { + display: none; + position: absolute; + border: 1px solid transparent; + padding-right: 4px; + margin-left: -30px; + z-index: 1; +} +.section-sortable-area .section-sortable-group .v-btn.v-btn--disabled { + background: #fff; +} +.section-sortable-area .section-sortable-group .v-btn.v-btn--disabled .v-btn__overlay { + opacity: 0; +} + +.activity-timeline-wrap { + display: flex; + flex-direction: column; + margin-bottom: 32px; + width: 271px; +} + +.v-row .v-col-12 .activity-timeline-wrap { + width: 100%; +} + +.v-chip.text-primary { + color: rgb(var(--v-theme-primary)) !important; +} + +.filter-comp-wrap .filter-selectGroup-wrap { + display: flex; + flex-grow: 1; + align-items: center; +} +.filter-comp-wrap .filter-selectGroup-wrap .v-chip { + --v-chip-height: 40px; +} + +.version-select-wrap { + padding: 0 8px; + border-color: rgb(var(--v-theme-grey-lighten-1)); + display: flex; +} +.version-select-wrap .v-chip__content { + flex: 1; + max-width: calc(100% - 26px); +} + +.media-box-wrap .img-upload-btn, +.media-box-wrap .img-delete-btn { + font-weight: 400; +} + +/** sync style with commonContainer PC style **/ +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github a, +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github a > span { + color: currentColor; + opacity: 0.8; + text-decoration: underline; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h1, +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h2 { + border-bottom: none; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h1 { + font-size: 48px; + line-height: 57px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h2 { + font-size: 32px; + line-height: 38px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h3 { + font-size: 24px; + font-weight: 400; + line-height: 29px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h4 { + font-size: 20px; + font-weight: 400; + line-height: 24px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h5 { + font-size: 16px; + font-weight: 400; + line-height: 19px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github h6 { + font-size: 14px; + font-weight: 400; + line-height: 17px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github p { + line-height: 19px; + font-size: 16px; +} +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github ul, +.common-container-editor .vuetify-pro-tiptap-editor__content.markdown-theme-github ol { + padding-left: 1em; +} + +.v-app-bar.v-toolbar .v-toolbar-title { + font-size: 16px; + line-height: 24px; + font-weight: 500; + letter-spacing: 0.15px; +} + +.list-table-wrap { + padding-left: 8px; + padding-right: 8px; + padding-bottom: 8px; +} + +.detailing-page-wrap .layout-center { + display: table; + margin: 0 auto; + padding: 0 8px; + max-width: 1440px; +} +.detailing-page-wrap .page-content-layout { + max-width: 1440px; + padding-top: 0; + padding-right: 8px; + padding-left: 8px; +} +.detailing-page-wrap .page-main-title { + font-weight: 500; +} +.detailing-page-wrap .tagList-bar-warp { + display: flex; +} +.detailing-page-wrap .detailing-title-wrap { + margin-bottom: 40px; + display: inline-flex; + align-items: center; +} +.detailing-page-wrap .detailing-title-wrap .detailing-back-btn { + color: rgb(var(--v-theme-secondary)); + --v-btn-height: 24px; +} +.detailing-page-wrap .detailing-title-wrap .detailing-title { + margin-left: 16px; + font-size: 28px; + font-style: normal; + font-weight: 500; + line-height: 36px; /* 128.571% */ + letter-spacing: -0.12px; +} +.detailing-page-wrap .section-wrap:not(.edit-view) .value-type-media-wrap .media-box-wrap, +.detailing-page-wrap .section-wrap:not(.edit-view) .timeline-block .media-box-wrap, +.detailing-page-wrap .section-wrap:not(.edit-view) .section-content .media-box-wrap { + margin-top: 0; +} +.detailing-page-wrap .go-plaid-portal .section-wrap.with-border-b { + border-block-end-width: 1px; +} +.detailing-page-wrap .go-plaid-portal:last-child .section-wrap.with-border-b { + border-block-end-width: 0; + margin-bottom: 0; + padding-bottom: 0; +} +.detailing-page-wrap .section-wrap.border-b, +.detailing-page-wrap .section-wrap.with-border-b, +.detailing-page-wrap .section-body.border-b { + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgb(var(--v-theme-grey-darken-3), var(--v-border-opacity)); + padding-bottom: 40px; + margin-bottom: 40px; +} +.detailing-page-wrap .section-wrap:not(:last-child) .listing-compo-wrap { + margin-bottom: 40px; + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)); +} +.detailing-page-wrap .amount-detail-wrap { + margin: 24px 0 0 0; + padding: 16px; + border-radius: 4px; + background: rgb(var(--v-theme-grey-lighten-5)); +} +.detailing-page-wrap .amount-detail-wrap > div { + height: 52px; + align-items: center; +} +.detailing-page-wrap .amount-detail-title { + width: 352px; + color: rgb(var(--v-theme-grey-darken-3)) !important; +} +.detailing-page-wrap .listing-compo-wrap .list-table-wrap { + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 40px; +} +.detailing-page-wrap .v-slide-group:not(.vx-tabs-wrap) { + border-block-end-width: thin !important; + border-block-end-style: solid !important; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} +.detailing-page-wrap .v-slide-group:not(.vx-tabs-wrap) .v-slide-group__content { + border-block-end-width: 0; +} +.detailing-page-wrap .vx-tabs-wrap > .v-slide-group { + border-block-end-width: 0 !important; +} +.detailing-page-wrap .section-body .v-row + .v-row:has(.media-box-thumb) { + margin-top: -12px; +} +.detailing-page-wrap .section-body .v-row + .v-row .media-box-thumb { + padding-top: 20px; +} + +.page-builder-edit-bar-wrap { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 24px; + height: 36px; + width: 100%; +} +.page-builder-edit-bar-wrap .tagList-bar-warp { + display: flex; + width: calc(100% - 364px); +} + +.pb-drawer-btn.v-btn--icon.v-btn--density-default { + position: absolute; + top: 24px; + right: 0; + margin-right: -16px; + width: 32px; + height: 32px; + z-index: 902; +} +.pb-drawer-btn.v-btn--icon.v-btn--density-default.drawer-btn-left { + right: 0; + margin-right: -16px; +} +.pb-drawer-btn.v-btn--icon.v-btn--density-default.drawer-btn-right { + left: 0; + margin-left: -16px; +} + +.v-navigation-drawer.draggable-el::before { + position: absolute; + content: ""; + height: 100%; + width: 5px; + left: -5px; + top: 0; +} +.v-navigation-drawer.border-left-draggable-highlight { + cursor: col-resize; + transition-duration: unset; +} +.v-navigation-drawer.border-left-draggable-highlight::after { + position: absolute; + content: ""; + height: 100%; + background: rgb(var(--v-theme-primary)); + transition: background-color ease 0.3s; + width: 2px; + left: 0; + top: 0; + z-index: 901; +} +.v-navigation-drawer .v-card--variant-flat .media-box-wrap, +.v-navigation-drawer .v-card.v-card--variant-flat .v-card--variant-flat .media-box-wrap { + padding-left: 12px; +} +.v-navigation-drawer .v-card.v-card--variant-flat .v-card--variant-outlined .media-box-wrap { + padding-left: 0; +} + +.pageBuilder-right-drawer .pageBuilder-right-drawer .v-toolbar__content:not(.vuetify-pro-tiptap .v-toolbar__content) { + height: 56px !important; + border-bottom: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)); +} +.pageBuilder-right-drawer .v-card-text > div > .wrapper-field-label { + font-weight: 500; + font-size: 14px !important; + line-height: 20px; + opacity: 1; + color: #616161; +} +.pageBuilder-right-drawer .wrapper-field-label + .v-card { + border: 0; + padding-left: 0 !important; +} +.pageBuilder-right-drawer .wrapper-field-label + .v-card .v-label { + font-weight: 500; + font-size: 14px !important; + line-height: 20px; + opacity: 1; + color: #212121; +} + +/** fix continuous characters that never break word.**/ +.v-container div, +.v-container span, +.v-container h1, +.v-container h2, +.v-container h3, +.v-container h4, +.v-container h5, +.v-container h6 { + word-break: break-word; +} +.v-container { + /** fix: version chip comp is pushed out by h1 in flex wrap **/ +} +.v-container h1 + .v-chip { + flex-shrink: 0; +} + +a { + color: rgb(var(--v-theme-primary)); + text-decoration: none; +} + +.v-app-bar.v-toolbar, +.v-list-item-title { + font-weight: 500; +} + +.ellipsis, .ellipsis-flex { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ellipsis-flex { + flex: 1; +} + +.pt-17 { + padding-top: 68px; +} + +.pt-18 { + padding-top: 72px; +} + +.pt-19 { + padding-top: 76px; +} + +.pt-20 { + padding-top: 80px; +} + +.pt-21 { + padding-top: 84px; +} + +.pt-22 { + padding-top: 88px; +} + +.pt-23 { + padding-top: 92px; +} + +.ml-abs-1 { + margin-left: 1px; +} + +.h-abs-26 { + height: 26px; +} + +.h-abs-36 { + height: 36px; +} + +.content-box { + box-sizing: content-box; +} + +.color-grey-darken-1 { + color: var(--v-theme-grey-darken-1); +} + +.timeline-block { + position: relative; + padding: 16px; + margin-left: 8px; + word-break: break-word; +} +.timeline-block::before { + position: absolute; + top: 0; + left: 0; + content: ""; + width: 1px; + height: 100%; + background: #e0e0e0; +} + +.container-item-inline-b-layout > * { + display: inline-block; +} + +.bg-transparent { + background: transparent; +} + +.k-theme.v-theme--light .menu-wrap::before { + background-image: url(data:image/png;base64,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); +}.vuetify-pro-tiptap{overflow-wrap:anywhere}.vuetify-pro-tiptap-editor{display:flex;flex-direction:column;width:100%;max-height:100%}.vuetify-pro-tiptap-editor--fullscreen{position:fixed!important;inset:0!important;z-index:200;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important}.vuetify-pro-tiptap-editor__menu-bubble .v-toolbar__content{padding:0}.vuetify-pro-tiptap-editor__toolbar .v-toolbar__content{flex-wrap:wrap;row-gap:4px;padding:4px 12px}.vuetify-pro-tiptap-editor__toolbar .v-toolbar__content .v-divider--vertical{height:inherit}.vuetify-pro-tiptap-editor__content :focus-visible{outline:-webkit-focus-ring-color auto 0}.vuetify-pro-tiptap-editor__content img{display:inline-block;float:none}.vuetify-pro-tiptap-editor__content img[data-display=inline]{padding-right:12px;padding-left:12px}.vuetify-pro-tiptap-editor__content img[data-display=block]{display:block}.vuetify-pro-tiptap-editor__content img[data-display=left]{float:left;padding-right:12px;padding-left:0}.vuetify-pro-tiptap-editor__content img[data-display=right]{float:right;padding-right:0;padding-left:12px}.vuetify-pro-tiptap-editor__content .task-list{padding-left:0;list-style:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item{display:flex;list-style:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item>label{flex:0 0 auto;padding-right:8px;padding-left:8px;-webkit-user-select:none;user-select:none}.vuetify-pro-tiptap-editor__content .task-list .task-list-item>div{flex:1 1 auto}.vuetify-pro-tiptap .ProseMirror{padding:8px 18px;overflow-wrap:anywhere}.vuetify-pro-tiptap .ProseMirror p.is-editor-empty:first-child:before{float:left;height:0;color:#adb5bd;pointer-events:none;content:attr(data-placeholder)}.vuetify-pro-tiptap .ProseMirror .iframe-wrapper.focus>div,.vuetify-pro-tiptap .ProseMirror .iframe-wrapper.ProseMirror-selectednode>div{outline:4px solid #409eff;transition:outline .15s ease-in}.vuetify-pro-tiptap .ProseMirror table.table-wrapper .selectedCell{position:relative}.vuetify-pro-tiptap .ProseMirror table.table-wrapper .selectedCell:after{position:absolute;inset:0;z-index:2;pointer-events:none;content:"";background:#c8c8ff66}.vuetify-pro-tiptap .ProseMirror .image-view{display:inline-block;float:none;max-width:100%;line-height:0;vertical-align:baseline;-webkit-user-select:none;user-select:none}.vuetify-pro-tiptap .ProseMirror .image-view--inline{margin-right:0;margin-left:0}.vuetify-pro-tiptap .ProseMirror .image-view--block{display:block}.vuetify-pro-tiptap .ProseMirror .image-view--left{float:left;margin-right:12px;margin-left:0}.vuetify-pro-tiptap .ProseMirror .image-view--right{float:right;margin-right:0;margin-left:12px}.vuetify-pro-tiptap .ProseMirror .image-view__body{position:relative;display:inline-block;max-width:100%;clear:both;outline:transparent solid 2px;transition:all .2s ease-in}.vuetify-pro-tiptap .ProseMirror .image-view__body:hover{outline-color:#ffc83d}.vuetify-pro-tiptap .ProseMirror .image-view__body--focused:hover,.vuetify-pro-tiptap .ProseMirror .image-view__body--resizing:hover{outline-color:transparent}.vuetify-pro-tiptap .ProseMirror .image-view__body__placeholder{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.vuetify-pro-tiptap .ProseMirror .image-view__body__image{margin:0;cursor:pointer!important}.vuetify-pro-tiptap .ProseMirror .image-view.focus img,.vuetify-pro-tiptap .ProseMirror .image-view.ProseMirror-selectednode img{outline:2px solid #409eff;transition:outline .15s ease-in}.vuetify-pro-tiptap .ProseMirror .image-resizer{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;border:1px solid #409eff}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler{position:absolute;z-index:2;box-sizing:border-box;display:block;width:12px;height:12px;background-color:#409eff;border:1px solid #fff;border-radius:2px}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--tl{top:-6px;left:-6px;cursor:nw-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--tr{top:-6px;right:-6px;cursor:ne-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--bl{bottom:-6px;left:-6px;cursor:sw-resize}.vuetify-pro-tiptap .ProseMirror .image-resizer__handler--br{right:-6px;bottom:-6px;cursor:se-resize}.vuetify-pro-tiptap.dense .ProseMirror{min-height:32px;padding:6px 12px}.vuetify-pro-tiptap.dense p{padding:0;line-height:1.2rem}.table-grid-size-editor__cell__inner{box-sizing:border-box;width:16px;height:16px;padding:4px;border:1px solid #dcdfe6;border-radius:2px}.table-grid-size-editor__cell--selected .table-grid-size-editor__cell__inner{background-color:#ecf5ff;border-color:#409eff}.vuetify-pro-tiptap-editor__content.markdown-theme-default{overflow-x:hidden;font-size:14px;font-weight:400;line-height:1.75;color:var(--cyanosis-base-color);word-break:break-word;transition:color .35s;--cyanosis-base-color: #353535;--cyanosis-title-color: #005bb7;--cyanosis-strong-color: #2196f3;--cyanosis-em-color: #4fc3f7;--cyanosis-del-color: #ccc;--cyanosis-link-color: #3da8f5;--cyanosis-linkh-color: #007fff;--cyanosis-border-color: #bedcff;--cyanosis-border-color-2: #ececec;--cyanosis-bg-color: #fff;--cyanosis-blockquote-color: #8c8c8c;--cyanosis-blockquote-bg-color: #f0fdff;--cyanosis-code-color: #c2185b;--cyanosis-code-bg-color: #fff4f4;--cyanosis-code-pre-color: #f8f8f8;--cyanosis-table-border-color: #c3e0fd;--cyanosis-table-th-color: #dff0ff;--cyanosis-table-tht-color: #005bb7;--cyanosis-table-tr-nc-color: #f7fbff;--cyanosis-table-trh-color: #e0edf7;--cyanosis-slct-title-color: #005bb7;--cyanosis-slct-titlebg-color: rgba(175, 207, 247, .25);--cyanosis-slct-text-color: #c80000;--cyanosis-slct-bg-color: rgba(175, 207, 247, .25);--cyanosis-slct-del-color: #999;--cyanosis-slct-elbg-color: #e8ebec;--cyanosis-slct-codebg-color: #ffeaeb;--cyanosis-slct-prebg-color: rgba(160, 200, 255, .25)}.vuetify-pro-tiptap-editor__content.markdown-theme-default.__dark{--cyanosis-base-color: #cacaca;--cyanosis-title-color: #ddd;--cyanosis-strong-color: #fe9900;--cyanosis-em-color: #ffd28e;--cyanosis-del-color: #ccc;--cyanosis-link-color: #ffb648;--cyanosis-linkh-color: #fe9900;--cyanosis-border-color: #ffe3ba;--cyanosis-border-color-2: #ffcb7b;--cyanosis-bg-color: #2f2f2f;--cyanosis-blockquote-color: #c7c7c7;--cyanosis-blockquote-bg-color: rgba(255, 199, 116, .1);--cyanosis-code-color: #000;--cyanosis-code-bg-color: #ffcb7b;--cyanosis-code-pre-color: rgba(255, 227, 185, .5);--cyanosis-table-border-color: #fe9900;--cyanosis-table-th-color: #ffb648;--cyanosis-table-tht-color: #000;--cyanosis-table-tr-nc-color: #6d5736;--cyanosis-table-trh-color: #947443;--cyanosis-slct-title-color: #000;--cyanosis-slct-titlebg-color: #fe9900;--cyanosis-slct-text-color: #00c888;--cyanosis-slct-bg-color: rgba(175, 207, 247, .25);--cyanosis-slct-del-color: #999;--cyanosis-slct-elbg-color: #000;--cyanosis-slct-codebg-color: #ffcb7b;--cyanosis-slct-prebg-color: rgba(160, 200, 255, .25)}.vuetify-pro-tiptap-editor__content.markdown-theme-default h1{padding-bottom:4px;margin-top:36px;margin-bottom:10px;font-size:30px;line-height:1.5;color:var(--cyanosis-title-color);transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2{position:relative;padding-right:10px;padding-left:10px;border-bottom:1px solid var(--cyanosis-border-color-2);padding-bottom:10px;margin-top:36px;margin-bottom:10px;font-size:24px;line-height:1.5;color:var(--cyanosis-title-color);transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2:before{position:relative;top:-6px;left:auto;content:"「"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2:after{position:relative;top:6px;right:auto;content:"」"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3{position:relative;padding-bottom:0;margin-top:30px;margin-bottom:10px;font-size:20px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3:before{padding-right:6px;color:var(--cyanosis-strong-color);content:"»"}.vuetify-pro-tiptap-editor__content.markdown-theme-default h4{padding-bottom:0;margin-top:24px;margin-bottom:10px;font-size:16px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h5{padding-bottom:0;margin-top:18px;margin-bottom:10px;font-size:14px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default h6{padding-bottom:0;margin-top:12px;margin-bottom:10px;font-size:12px;line-height:1.5;color:var(--cyanosis-title-color);padding-left:6px;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default p{margin-top:16px;margin-bottom:16px;line-height:inherit}.vuetify-pro-tiptap-editor__content.markdown-theme-default p:empty:after{content:" "}.vuetify-pro-tiptap-editor__content.markdown-theme-default img{max-width:100%}.vuetify-pro-tiptap-editor__content.markdown-theme-default hr{position:relative;width:98%;height:1px;margin-top:32px;margin-bottom:32px;overflow:visible;background-image:linear-gradient(90deg,var(--cyanosis-link-color),rgba(255,0,0,.3),var(--cyanosis-link-color));border-width:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default code{padding:.065em .4em;overflow-x:auto;font-family:menlo,monaco,consolas,Courier New,monospace;font-size:.87em;color:var(--cyanosis-code-color);word-break:break-word;background-color:var(--cyanosis-code-bg-color);border-radius:2px}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre{position:relative;overflow:auto;font-family:menlo,monaco,consolas,Courier New,monospace;line-height:1.75}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code{display:block;padding:16px 12px;margin:0;overflow-x:auto;font-size:12px;color:#333;word-break:normal;background:var(--cyanosis-code-pre-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar{width:4px;height:4px}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar-track{background-color:var(--cyanosis-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::-webkit-scrollbar-thumb{background-color:var(--cyanosis-strong-color);border-radius:10px}.vuetify-pro-tiptap-editor__content.markdown-theme-default a{position:relative;color:var(--cyanosis-link-color);text-decoration:none;border-bottom:1px solid var(--cyanosis-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:hover{color:var(--cyanosis-linkh-color);border-bottom-color:var(--cyanosis-linkh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:active{color:var(--cyanosis-linkh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:after{position:absolute;top:100%;left:0;width:100%;content:"";border-bottom:1px solid var(--cyanosis-border-color);opacity:0;transition:top .3s,opacity .3s;transform:translateZ(0)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a:hover:after{top:0;border-bottom-color:var(--cyanosis-linkh-color);opacity:1}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper{display:inline-block!important;width:auto;max-width:100%;overflow:auto;font-size:12px;border-spacing:0;border-collapse:collapse;border:1px solid var(--cyanosis-table-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper thead{font-size:14px;color:#000;text-align:left;background:#f6f6f6}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper p{margin:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper tr:nth-child(2n){background-color:var(--cyanosis-table-tr-nc-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper tr:hover{background-color:var(--cyanosis-table-trh-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper th,.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper td{padding:12px 8px;line-height:24px;border:1px solid var(--cyanosis-table-border-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper th{color:var(--cyanosis-table-tht-color);background-color:var(--cyanosis-table-th-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table.table-wrapper td{min-width:120px}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote{color:var(--cyanosis-blockquote-color);background-color:var(--cyanosis-blockquote-bg-color);border-left:4px solid var(--cyanosis-strong-color);padding:1px 20px;margin:22px 0;transition:color .35s}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote:after{display:block;content:""}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>p{margin:10px 0}.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>b,.vuetify-pro-tiptap-editor__content.markdown-theme-default blockquote>strong{color:var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default b,.vuetify-pro-tiptap-editor__content.markdown-theme-default strong{color:var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default i,.vuetify-pro-tiptap-editor__content.markdown-theme-default em{color:var(--cyanosis-em-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default del{color:var(--cyanosis-del-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul{padding-left:28px}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li{margin-bottom:0;list-style:inherit}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li p,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li p{margin:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item{list-style:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li .task-list-item ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li .task-list-item ol{margin-top:0}.vuetify-pro-tiptap-editor__content.markdown-theme-default ol ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol ol,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul ul,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul ol{margin-top:4px}.vuetify-pro-tiptap-editor__content.markdown-theme-default details>summary{font-size:20px;font-weight:bolder;color:var(--cyanosis-title-color);cursor:pointer;border-bottom:1px solid var(--cyanosis-border-color);outline:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default details>p{padding:10px 20px;margin:10px 0 0;color:#666;background-color:var(--cyanosis-blockquote-bg-color);border:2px dashed var(--cyanosis-strong-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default h1::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h2::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h3::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h4::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h5::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default h6::selection{color:var(--cyanosis-slct-title-color);background-color:var(--cyanosis-slct-titlebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default p::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default ol li::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default ul li::selection{color:var(--cyanosis-slct-text-color);background-color:var(--cyanosis-slct-bg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default a::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default b::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default strong::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default i::selection,.vuetify-pro-tiptap-editor__content.markdown-theme-default em::selection{background-color:var(--cyanosis-slct-elbg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default del::selection{color:var(--cyanosis-slct-del-color);background-color:var(--cyanosis-slct-elbg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default table thead th::selection{background-color:transparent}.vuetify-pro-tiptap-editor__content.markdown-theme-default table tbody td::selection{background-color:var(--cyanosis-slct-bg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default code::selection{background-color:var(--cyanosis-slct-codebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default pre>code::selection{background-color:var(--cyanosis-slct-prebg-color)}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list{padding-left:0;list-style:none}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]{position:relative}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]:before{position:absolute;inset:0;z-index:1;box-sizing:border-box;width:inherit;height:inherit;content:"";background:#f0f8ff;border:1px solid #add6ff;border-radius:2px}.vuetify-pro-tiptap-editor__content.markdown-theme-default .task-list input[type=checkbox]:checked:after{position:absolute;inset:-12px 0 0;z-index:2;width:0;height:0;font-size:20px;font-weight:700;color:#f55;content:"✓"}@media (width <= 720px){.vuetify-pro-tiptap-editor__content.markdown-theme-default h1{font-size:24px}.vuetify-pro-tiptap-editor__content.markdown-theme-default h2{font-size:20px}.vuetify-pro-tiptap-editor__content.markdown-theme-default h3{font-size:18px}}.iframe-wrapper[data-v-15ecd644]{display:flex;justify-content:center}.iframe-container[data-v-15ecd644]{position:absolute;top:0;left:0;width:100%;height:100%} +.vx-time-select-wrap[data-v-7b1ba3be] { + display: flex; + align-items: center; +} +.vx-time-select-wrap .separate[data-v-7b1ba3be] { + font-weight: 700; + line-height: 1; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] * { + cursor: pointer; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-field__prepend-inner { + cursor: pointer; + position: absolute; + width: 45px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-btn--disabled { + opacity: 0.3; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-btn--disabled .v-btn__overlay { + background-color: transparent; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] .v-field__field { + height: 40px; +} +.vx-time-select-wrap .time-select[data-v-7b1ba3be] input { + display: none; +}.v-picker-wrap[data-v-89fca598] { + padding: 8px 0; + width: 292px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-years, .v-picker-wrap[data-v-89fca598] .v-date-picker-months { + height: 256px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days { + flex: initial; + column-gap: 2px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-btn.v-btn--variant-outlined { + color: rgb(var(--v-theme-primary)); +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__day { + width: 36px; + height: 36px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-btn.v-date-picker-month__day-btn { + --v-btn-size: 14px; + --v-btn-height: 20px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__weekday { + color: rgb(var(--v-theme-grey-darken-1)); +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-month__days .v-date-picker-month__day--selected .v-btn { + background-color: rgb(var(--v-theme-primary)); +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls { + display: block; + position: relative; + padding-inline-start: 15px; + padding-inline-end: 15px; + padding-bottom: 20px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month-btn { + position: absolute; + left: 50%; + margin-left: -10px; + transform: translateX(-50%); + top: 2px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month-btn .v-btn__content { + color: rgb(var(--v-theme-on-surface)); +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__mode-btn { + position: absolute; + left: 50%; + transform: translateX(-50%); + margin-left: 65.5px; + top: 2px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month { + display: flex; + width: 100%; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month .v-btn { + --v-btn-height: 20px; +} +.v-picker-wrap[data-v-89fca598] .v-date-picker-controls .v-date-picker-controls__month > :nth-child(2) { + margin-left: auto; +} +.time-select-wrap[data-v-89fca598] { + justify-content: center; + width: 292px; +}.vx-range-picker-field .current[data-v-b6f7cc17] > .v-input:not(.v-input--error) .v-field::after { + height: 3px !important; + transition: all ease 0.3s; + background: #3e63dd; + width: calc(100% - 24px); +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input .v-field--variant-plain { + padding: 0 12px; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input .v-field--variant-plain .v-field__input { + padding-bottom: 8px; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input .vx-range-picker-group + input { + display: none; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input > .v-input__control > .v-field { + padding-inline-start: 0; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input > .v-input__control > .v-field > .v-field__field > .v-field__input { + padding: 0; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input > .v-input__control > .v-field .v-field { + position: relative; +} +.vx-range-picker-field[data-v-b6f7cc17] > .v-input > .v-input__control > .v-field .v-field::after { + transition: all ease 0.3s; + position: absolute; + height: 0; + content: ""; + bottom: -2px; + left: 12px; +} +.vx-range-picker-wrap[data-v-b6f7cc17] .v-field, +.vx-range-picker-wrap[data-v-b6f7cc17] .v-field * { + cursor: pointer; +} +.vx-date-picker-group[data-v-b6f7cc17] .v-picker-wrap { + padding-bottom: 0; +} +.vx-date-picker-group[data-v-b6f7cc17] .v-picker-wrap .v-date-picker-month { + padding-bottom: 4px; +} +.separator[data-v-b6f7cc17] { + display: flex; + justify-content: center; + align-items: center; +} +.separator[data-v-b6f7cc17]::before { + display: block; + content: ""; + height: 1px; + background: rgb(var(--v-theme-grey)); + width: 16px; +}.v-menu[data-v-8168a3e7] .v-overlay__content { + border-radius: 8px !important; +} +.vx-datepicker-wrap[data-v-8168a3e7] .v-input .input-cover { + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + pointer-events: none; +} +.vx-datepicker-wrap[data-v-8168a3e7] .v-input input:not(.input-cover) { + display: none; +} +.vx-datepicker-wrap[data-v-8168a3e7] .v-input .v-field { + cursor: pointer; +}.v-picker-wrap .v-date-picker-month__days .v-date-picker-month__day--selected .v-btn[disabled] { + color: #fff; +} +.filter-item-wrap { +&[data-v-5d1731a7] { + display: flex; + flex-wrap: wrap; + gap: 8px 0; +} +&[data-v-5d1731a7] .v-chip .v-chip__content i.v-icon { + vertical-align: text-top; +} +} +.v-menu[data-v-3e6805c3] .v-overlay__content { + border-radius: 8px !important; +} +.vx-timepicker-wrap[data-v-3e6805c3] .v-input .input-cover { + position: absolute; + width: 100%; + height: 100%; + z-index: 1; + pointer-events: none; +} +.vx-timepicker-wrap[data-v-3e6805c3] .v-input .v-field { + cursor: pointer; +} +.vx-timepicker-wrap[data-v-3e6805c3] .v-input input:not(.input-cover) { + display: none; +} +.time-select-wrap[data-v-3e6805c3] { + justify-content: center; + width: 100%; +}.toggle-label-wrap > .v-icon[data-v-469ef166] { + transform: rotate(-90deg); + transition: transform ease 0.3s; +} +.toggle-label-wrap > .v-icon.v-icon--size-default[data-v-469ef166] { + font-size: 18px; +} +.toggle-label-wrap > .v-icon.isFolded[data-v-469ef166] { + transform: rotate(0deg); +} +.toggle-label-wrap label[data-v-469ef166] { + cursor: pointer; +} +.vx-label-title .v-icon[data-v-469ef166] { + color: rgb(var(--v-theme-grey-darken-1)); + cursor: pointer; +} +.vx-label-title .v-icon--size-small[data-v-469ef166] { + font-size: 16px; +} +.tooltip-display[data-v-469ef166] { + max-width: 50vw; + white-space: pre-wrap; + word-break: break-all; +} +.required-symbol[data-v-469ef166] { + line-height: 1; +}.vx-field-wrap[data-v-17cb5f1d] { + margin-bottom: 2px; +} +.vx-field-wrap .v-input.v-input--disabled[data-v-17cb5f1d] .v-field { + background-color: rgb(var(--v-theme-grey-lighten-4)); + color: rgb(var(--v-theme-grey)); +} +.vx-field-wrap .v-input[data-v-17cb5f1d] .v-field { + --v-theme-overlay-multiplier: var(--v-theme-background-overlay-multiplier); + background-color: rgb(var(--v-theme-background)); +} +.vx-field-wrap .v-input[data-v-17cb5f1d] .v-field__outline { + --v-field-border-width: 1px; + --v-field-border-opacity: 1; + transition: color 0.3s ease; +} +.vx-field-wrap .v-input[data-v-17cb5f1d]:not(.v-input--error) .v-field__outline { + color: rgb(var(--v-theme-grey-lighten-2)); +} +.vx-field-wrap .v-input.v-input--error[data-v-17cb5f1d] .v-field__clearable .v-icon, .vx-field-wrap .v-input.v-input--error[data-v-17cb5f1d] .v-field__append-inner .v-icon { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-field-wrap .v-input[data-v-17cb5f1d] .v-input__details > .v-messages { + order: 1; +} +.vx-field-wrap .v-input[data-v-17cb5f1d] .v-counter { + order: 0; + margin-right: 8px; + white-space: nowrap; + color: rgb(var(--v-theme-grey-darken-1)); + letter-spacing: 0; + word-spacing: -3px; +} +.vx-field-wrap .v-input[data-v-17cb5f1d] .v-input__details, .vx-field-wrap .v-input[data-v-17cb5f1d] .v-messages__message { + padding: 0; + min-height: 20px; + line-height: 20px; + align-items: flex-start; +} +.vx-field-wrap .v-input[data-v-17cb5f1d]:not(.v-input--error, .v-input--readonly) .v-field__outline { + color: rgb(var(--v-theme-grey-lighten-2)); + transition: color 0.3s ease; +} +.vx-field-wrap .v-input[data-v-17cb5f1d]:not(.v-input--error, .v-input--readonly) .v-field:not(.v-field--focused):hover .v-field__outline { + color: rgb(var(--v-theme-primary)); +} +.vx-field-wrap .v-input[data-v-17cb5f1d]:not(.v-input--error, .v-input--readonly) .v-field--focused .v-field__outline { + color: rgb(var(--v-theme-primary)); +} +.vx-field-wrap .v-input[data-v-17cb5f1d] input { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-field-wrap .v-input.v-input--density-compact[data-v-17cb5f1d] input::placeholder { + font-size: 16px; + color: rgb(var(--v-theme-grey)); + opacity: 1; +} +.vx-field-wrap[data-v-17cb5f1d] .v-field__clearable i { + font-size: 16px; + color: rgb(var(--v-theme-grey-darken-3)); + --v-medium-emphasis-opacity: 1; +} +.vx-field-wrap[data-v-17cb5f1d] .v-field__append-inner i { + font-size: 16px; + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-field-wrap .number-field[data-v-17cb5f1d] .v-number-input__control .v-btn { + --v-btn-size: 13.75px; + --v-btn-height: 12px; + font-size: var(--v-btn-size); +} +.vx-field-wrap .number-field[data-v-17cb5f1d] .v-number-input__control .v-btn--variant-elevated { + box-shadow: none; +} +.vx-field-wrap .number-field[data-v-17cb5f1d] .v-number-input__control .v-divider { + display: none; +}.vx-select-wrap .v-input.v-input--disabled[data-v-e220bcd1] .v-field { + background-color: rgb(var(--v-theme-grey-lighten-4)); + color: rgb(var(--v-theme-grey)); +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-autocomplete__selection, .vx-select-wrap .v-input[data-v-e220bcd1] .v-select__selection { + margin-inline-end: 4px; +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-autocomplete__selection .v-chip, .vx-select-wrap .v-input[data-v-e220bcd1] .v-select__selection .v-chip { + color: rgb(var(--v-theme-primary)); +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field { + --v-theme-overlay-multiplier: var(--v-theme-background-overlay-multiplier); + background-color: rgb(var(--v-theme-background)); +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-field__clearable .mdi-close-circle { + font-size: 18px; + color: rgb(var(--v-theme-grey-darken-3)); + --v-medium-emphasis-opacity: 1; +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-field__append-inner .mdi-menu-down { + font-size: 16px; +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-chip__close .mdi-close-circle { + font-size: 16px; +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field .v-chip__close .mdi-close-circle::before { + content: "\f0156"; +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-field__outline { + --v-field-border-width: 1px; + --v-field-border-opacity: 1; + transition: color 0.3s ease; +} +.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field__outline { + color: rgb(var(--v-theme-grey-lighten-2)); +} +.vx-select-wrap .v-input.v-input--error[data-v-e220bcd1] .v-field__clearable .v-icon, .vx-select-wrap .v-input.v-input--error[data-v-e220bcd1] .v-field__append-inner .v-icon { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-select-wrap .v-input[data-v-e220bcd1] .v-input__details { + padding: 0; + min-height: 20px; + align-items: center; +} +.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field:not(.v-field--focused):hover .v-field__outline { + color: rgb(var(--v-theme-primary)); +} +.vx-select-wrap .v-input[data-v-e220bcd1]:not(.v-input--error) .v-field--focused .v-field__outline { + color: rgb(var(--v-theme-primary)); +} +.vx-select-wrap .v-input[data-v-e220bcd1] input { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-select-wrap .v-input.v-input--density-compact[data-v-e220bcd1] input::placeholder { + font-size: 16px; + color: rgb(var(--v-theme-grey)); + opacity: 1; +}.v-input.readonly[data-v-35490af0] .v-selection-control { + pointer-events: none; +} +.v-input[data-v-35490af0] .v-label { + color: rgb(var(--v-theme-grey-darken-3)); +} +.v-input[data-v-35490af0] .v-icon { + color: var(--b55b878c); + opacity: 1; +}.vx-toolbar[data-v-b76d451d] { + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 24px; /* 150% */ + padding: 8px 16px; + border-radius: 8px; +} +.vx-toolbar-default[data-v-b76d451d] { + background-color: rgb(var(--v-theme-grey-lighten-4)); +}.dialog-content-text[data-v-73820235] { + font-size: 14px; + font-weight: 400; + line-height: 20px; + color: rgb(var(--v-theme-grey-darken-2)); +} +.v-card-actions[data-v-73820235] { + padding: 0 24px 24px; +} +.v-card-actions.default .v-btn.v-btn--size-small[data-v-73820235] { + min-width: initial; + padding: 0 12px; + font-size: 12px; + font-weight: 400; +} +.v-card-actions.default .v-btn.v-btn--size-small[data-v-73820235] .v-btn__content { + letter-spacing: 0.04px; +} +.v-card-actions .v-btn.v-btn--size-default[data-v-73820235] { + min-width: initial; + padding: 0 16px; + font-weight: 500; +} +.v-card-actions .v-btn.v-btn--size-default[data-v-73820235] .v-btn__content { + letter-spacing: 0.25px; +} +.v-card-actions .v-btn ~ .v-btn[data-v-73820235]:not(.v-btn-toggle .v-btn) { + margin-inline-start: 10px; +}.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item { + flex-shrink: 0.05; + margin-left: 0.15em; + margin-right: 0.15em; +} +.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn { + --v-btn-size: unset; + font-weight: 500; + width: auto; +} +.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--size-small { + --v-btn-size: 13.875px; +} +.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--size-default { + --v-btn-size: 16px; +} +.vx-paginator-wrap[data-v-ce5b8490] .v-pagination .v-pagination__item .v-btn.v-btn--density-compact .v-btn__content { + padding: 0 10px; + min-width: 28px; +}.vx-btn-wrap .v-btn[data-v-16e11348] { + height: unset; +} +.vx-btn-wrap.presets-default.presets-icon .v-btn[data-v-16e11348] { + padding: 8px; +} +.vx-btn-wrap.presets-default .v-btn[data-v-16e11348] { + padding: 8px 16px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append { + margin-left: 4px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend { + margin-right: 4px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend, .vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append { + margin-inline: unset; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__prepend .v-icon, .vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__append .v-icon { + font-size: 20px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content { + line-height: 20px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content .v-icon { + font-size: 20px; +} +.vx-btn-wrap.presets-large.presets-icon .v-btn[data-v-16e11348] { + padding: 12px; +} +.vx-btn-wrap.presets-large .v-btn[data-v-16e11348] { + padding: 12px 24px; + min-width: initial; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__content { + letter-spacing: 0.244px; + font-size: 16px; + font-weight: 400; + line-height: 24px; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__content .v-icon { + font-size: 24px; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append { + margin-left: 4px; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend { + margin-right: 4px; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend, .vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append { + margin-inline: unset; +} +.vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__prepend .v-icon, .vx-btn-wrap.presets-large[data-v-16e11348] .v-btn__append .v-icon { + font-size: 24px; +} +.vx-btn-wrap.presets-default[data-v-16e11348] .v-btn__content { + letter-spacing: 0.091px; + font-weight: 500; +} +.vx-btn-wrap.presets-small.presets-icon .v-btn[data-v-16e11348] { + padding: 6px; +} +.vx-btn-wrap.presets-small .v-btn[data-v-16e11348] { + padding: 6px 12px; + min-width: initial; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append { + margin-left: 4px; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend { + margin-right: 4px; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append, .vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend { + margin-inline: unset; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__append .v-icon, .vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__prepend .v-icon { + font-size: 16px; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__content { + letter-spacing: -0.143px; + font-size: 12px; + line-height: 16px; + font-weight: 400; +} +.vx-btn-wrap.presets-small[data-v-16e11348] .v-btn__content .v-icon { + font-size: 16px; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] { + line-height: 1; +} +.vx-btn-wrap.presets-x-small.presets-icon .v-btn[data-v-16e11348] { + padding: 4px; +} +.vx-btn-wrap.presets-x-small .v-btn[data-v-16e11348] { + padding: 4px 8px; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append { + margin-left: 4px; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend { + margin-right: 4px; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append, .vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend { + margin-inline: unset; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__append .v-icon, .vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__prepend .v-icon { + font-size: 16px; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__content { + letter-spacing: -0.14px; + font-size: 12px; + line-height: 16px; + font-weight: 400; +} +.vx-btn-wrap.presets-x-small[data-v-16e11348] .v-btn__content .v-icon { + font-size: 16px; +}.vx-btn-group-wrap[data-v-c7086825] { + line-height: 1; +} +.vx-btn-group-wrap .v-btn-group[data-v-c7086825] { + height: auto; +} +.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:not(:last-child) .v-btn { + border-inline-end: none; +} +.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:not(:first-child) .v-btn { + border-inline-start: none; +} +.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:first-child, .vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:first-child .v-btn { + border-start-start-radius: inherit; + border-end-start-radius: inherit; +} +.vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:last-child, .vx-btn-group-wrap .v-btn-group[data-v-c7086825] .vx-btn-wrap:last-child .v-btn { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +.vx-btn-group-wrap .v-btn-group--divided[data-v-c7086825] .vx-btn-wrap:not(:last-child) .v-btn { + border-inline-end-width: var(--08e74a11); + border-inline-end-style: solid; + border-inline-end-color: var(--07d04bae); +} +.vx-btn-group-wrap .v-btn-group--divided[data-v-c7086825] .vx-btn-wrap:first-child .v-btn { + border-start-start-radius: inherit; + border-end-start-radius: inherit; +}.vx-chip-wrap.presets-round .v-chip[data-v-6fd0ea00] { + border-radius: 999px !important; +} +.vx-chip-wrap.presets-badge.presets-round.prepend-icon .v-chip[data-v-6fd0ea00] { + padding-right: 6px; +} +.vx-chip-wrap.presets-badge.presets-round.append-icon .v-chip[data-v-6fd0ea00] { + padding-left: 6px; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon--start, .vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon__filter { + margin-inline-start: 0; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon--end, .vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-icon__close { + margin-inline-end: 0; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] { + font-size: 12px; + line-height: 20px; + padding: 0 4px; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-chip__content { + letter-spacing: 0.293px; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-btn__content { + letter-spacing: -0.41px; + font-size: 12px; + font-weight: 400; +} +.vx-chip-wrap.presets-badge .v-chip[data-v-6fd0ea00] .v-btn__content .v-icon { + font-size: 16px; +} +.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__append, .vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__prepend { + margin-inline: unset; +} +.vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__append .v-icon, .vx-chip-wrap.presets-badge[data-v-6fd0ea00] .v-chip__prepend .v-icon { + font-size: 12px; +}.vx-avatar[data-v-9fd03e9f] { + overflow: hidden; + display: inline-flex; + justify-content: center; + align-items: center; + color: rgba(var(--v-theme-primary), 1); + background-color: rgba(var(--v-theme-primary-lighten-2), 1); + background-size: cover; + width: var(--0411202f); + height: var(--0411202f); + background-image: var(--3368e75a); +}.vx-tabs-wrap[data-v-2c74f5d9] .v-slide-group__content { + border-block-end-width: 0; +} +.vx-tabs-wrap .vx-tabs.v-tabs--horizontal.underline-border-contain[data-v-2c74f5d9] .v-btn { + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} +.vx-tabs-wrap .vx-tabs.v-tabs--horizontal.underline-border-full[data-v-2c74f5d9] .v-slide-group__content { + flex: 1; + border-block-end-width: thin; + border-block-end-style: solid; + border-block-end-color: rgba(var(--v-border-color), var(--v-border-opacity)) !important; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab { + border-radius: 4px; + padding: 0 8px; + margin: 0; + font-size: 12px; + font-weight: 400; + background-color: #eee; + color: #757575; + height: 24px; + min-height: 24px; + line-height: 24px; + display: flex; + align-items: center; + justify-content: center; + flex: 1; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab::before, .vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab::after { + display: none !important; + opacity: 0 !important; + background-color: transparent !important; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab .v-ripple__container { + display: none !important; + opacity: 0 !important; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tab.v-tab--selected { + background-color: #fff; + color: #212121; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-slide-group__content { + gap: 4px; + background-color: #eee; + border-radius: 4px; + padding: 4px; + height: 32px; + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; +} +.vx-tabs-wrap .vx-tabs.pill-style[data-v-2c74f5d9] .v-tabs__bar { + height: auto; +} +.vx-tabs-wrap .vx-tabs[data-v-2c74f5d9] .v-slide-group__container .v-tab.v-tab.v-btn { + min-width: auto; +} +.iframe-emitter-wrapper[data-v-2bf8deba] { + height: 50vh; + width: 100%; +} +.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item { + padding-left: 0; + padding-right: 0; +} +.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item, .vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-divider { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--disabled:has(.v-breadcrumbs-item--link) { + --v-disabled-opacity: 1; +} +.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--disabled:has(.v-breadcrumbs-item--link) .v-breadcrumbs-item--link { + color: rgb(var(--v-theme-grey-darken-3)); +} +.vx-breadcrumbs-wrap[data-v-82c61612] .v-breadcrumbs-item--link { + color: rgb(var(--v-theme-primary)); +}.vx-treeview-wrap.presets-compact[data-v-57be4cea] .v-list-item { + min-height: 32px; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item__spacer { + width: 8px !important; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item-title { + font-weight: 400; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item[aria-selected=true] .v-list-item__prepend .v-icon { + color: var(--2edc7782) !important; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]) { + color: var(--v-theme-on-surface) !important; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]) .v-list-item__prepend .v-icon { + --v-medium-emphasis-opacity: 1; + color: var(--v-theme-on-surface) !important; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item:hover:not([aria-selected=true]) .v-list-item-action .v-btn__content { + color: var(--v-theme-grey-darken-3) !important; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item .v-list-item__overlay { + border-radius: 4px; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content { + color: rgb(var(--v-theme-grey-darken-1)); +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content .mdi-menu-right::before { + content: "\f0142"; +} +.vx-treeview-wrap[data-v-57be4cea] .v-list-item-action .v-btn__content .mdi-menu-down::before { + content: "\f0140"; +}.tiptap-wrapper .vuetify-pro-tiptap-editor__content { + cursor: text !important; +}.vx-condition-switch-wrap.disabled[data-v-2068d448] { + cursor: not-allowed; +} +.vx-condition-switch-wrap.disabled .vx-condition-btn-group div[data-v-2068d448] { + cursor: not-allowed; +} +.vx-condition-switch-wrap.disabled .vx-condition-select[data-v-2068d448] { + cursor: not-allowed; +} +.vx-condition-switch-wrap .vx-condition-btn-group[data-v-2068d448] { + background-color: rgb(238, 238, 238); + width: 96px; + height: 32px; + display: flex; + justify-content: space-between; + border-radius: 4px; + padding: 4px; + position: relative; +} +.vx-condition-switch-wrap .vx-condition-btn-group .active-background[data-v-2068d448] { + position: absolute; + width: 40px; + height: 24px; + background-color: #fff; + border-radius: 4px; + transition: transform 0.3s ease; + z-index: 1; +} +.vx-condition-switch-wrap .vx-condition-btn-group div[data-v-2068d448] { + color: rgb(117, 117, 117); + width: 40px; + text-align: center; + line-height: 24px; + height: 24px; + border-radius: 4px; + font-size: 12px; + cursor: pointer; + position: relative; + z-index: 2; + transition: color 0.3s ease; +} +.vx-condition-switch-wrap .vx-condition-btn-group div.active[data-v-2068d448] { + color: rgb(33, 33, 33); +} +.vx-condition-switch-wrap .vx-condition-select-wrap[data-v-2068d448] { + position: relative; + width: 56px; +} +.vx-condition-switch-wrap .vx-condition-select-wrap .vx-condition-select[data-v-2068d448] { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 24px; + opacity: 0; + z-index: 2; + cursor: pointer; +} +.vx-condition-switch-wrap .vx-condition-select-wrap .select-display[data-v-2068d448] { + position: relative; + width: 100%; + height: 24px; + background: rgb(238, 238, 238); + border-radius: 4px; + padding: 0 8px; + display: flex; + align-items: center; + justify-content: center; + pointer-events: none; +} +.vx-condition-switch-wrap .vx-condition-select-wrap .select-value[data-v-2068d448] { + font-size: 12px; + color: rgb(66, 66, 66); + white-space: nowrap; +} +.vx-condition-switch-wrap .vx-condition-select-wrap .select-arrow[data-v-2068d448] { + margin-left: 4px; + display: flex; + align-items: center; + justify-content: center; +}.vx-segment-item-wrap[data-v-60c74169] { + position: relative; + background: rgb(250, 250, 250); + border-radius: 4px; + border: 1px solid rgb(224, 224, 224); + padding: 8px; + margin-right: 25px; +} +.vx-segment-item-wrap.readonly[data-v-60c74169] { + background: rgb(245, 245, 245); +} +.condition-group[data-v-60c74169] { + display: flex; + flex-wrap: wrap; + gap: 8px; +} +.delete-icon[data-v-60c74169] { + position: absolute; + top: 50%; + right: -30px; + transform: translateY(-50%); + cursor: pointer; +} +.condition-text[data-v-60c74169] { + color: rgb(158, 158, 158); + line-height: 40px; +}.vx-segment-item-wrap[data-v-5a135201] { + display: flex; +} +.condition-left[data-v-5a135201] { + display: flex; + align-items: stretch; + min-height: 128px; + position: relative; +} +.condition-left .connect-decoration[data-v-5a135201] { + position: absolute; + top: 50%; + transform: translateY(-50%); + left: 32px; + width: 1px; + height: calc(100% - 100px); + background: rgb(189, 189, 189); +} +.condition-left[data-v-5a135201]:before { + content: ""; + position: absolute; + top: 28px; + right: 0; + width: 24px; + height: 24px; + border-top-left-radius: 8px; + border-left: 1px solid rgb(189, 189, 189); + border-top: 1px solid rgb(189, 189, 189); +} +.condition-left[data-v-5a135201]:after { + content: ""; + position: absolute; + bottom: 28px; + right: 0; + width: 24px; + height: 24px; + border-bottom-left-radius: 8px; + border-left: 1px solid rgb(189, 189, 189); + border-bottom: 1px solid rgb(189, 189, 189); +} +.vx-switcher[data-v-5a135201] { + align-self: center; +} +.content-right[data-v-5a135201] { + position: relative; + margin-left: 8px; + padding-bottom: 56px; + flex: 1; + display: flex; + flex-direction: column; + gap: 16px; +} +.add-btn[data-v-5a135201] { + position: absolute; + bottom: 14px; + left: 0; +}.vx-segment-form .vx-segment-form-block .content[data-v-da361be2] { + position: relative; + padding: 16px 0 16px 24px; +} +.vx-segment-form .vx-segment-form-block .content[data-v-da361be2]::before { + content: ""; + position: absolute; + top: 0; + left: 14px; + width: 1px; + background: rgb(189, 189, 189); + height: 100%; +} +.funnel-chart-container[data-v-ba5be0f8] { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; +} + +/* 顶部标题栏样式 */ +.funnel-header[data-v-ba5be0f8] { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 24px; + height: 56px; + width: 100%; + box-sizing: border-box; +} +.campaign-name-container[data-v-ba5be0f8] { + display: flex; + align-items: center; + height: 40px; +} +.campaign-name[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 35px; + font-weight: 510; + line-height: 40px; + color: #212121; + letter-spacing: -0.16px; + margin: 0; +} +.badge-container[data-v-ba5be0f8] { + display: flex; + gap: 8px; +} +.badge[data-v-ba5be0f8] { + height: 20px; + padding: 2px 8px; + border-radius: 4px; + display: flex; + align-items: center; +} +.badge.light-badge[data-v-ba5be0f8] { + background-color: #f5f5f5; +} +.badge-text[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 12px; + font-weight: 400; + color: #424242; + letter-spacing: 0.04px; +} + +/* 顶部统计卡片样式 */ +.funnel-summary-cards[data-v-ba5be0f8] { + display: flex; + margin: 16px 0; + gap: 16px; + padding: 0 24px; +} +.summary-card[data-v-ba5be0f8] { + flex: 1; + border: 1px solid #e0e0e0; + border-radius: 12px; + padding: 12px; + background-color: #ffffff; + height: 128px; + display: flex; + flex-direction: column; + justify-content: space-between; +} +.summary-tag[data-v-ba5be0f8] { + display: flex; + align-items: center; + padding: 4px 8px; + border-radius: 4px; + width: fit-content; + height: 24px; +} +.summary-tag.blue[data-v-ba5be0f8] { + background-color: #e4ecfe; +} +.summary-tag.red[data-v-ba5be0f8] { + background-color: #ffe5e5; +} +.summary-tag.orange[data-v-ba5be0f8] { + background-color: #ffe8d7; +} +.tag-dot[data-v-ba5be0f8] { + width: 8px; + height: 8px; + border-radius: 50%; + margin-right: 8px; +} +.tag-dot.blue-dot[data-v-ba5be0f8] { + background-color: #3e63dd; +} +.tag-dot.red-dot[data-v-ba5be0f8] { + background-color: #e5484d; +} +.tag-dot.orange-dot[data-v-ba5be0f8] { + background-color: #f76808; +} +.tag-text[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 16px; + font-weight: 400; +} +.tag-text.blue-text[data-v-ba5be0f8] { + color: #3e63dd; +} +.tag-text.red-text[data-v-ba5be0f8] { + color: #e5484d; +} +.tag-text.orange-text[data-v-ba5be0f8] { + color: #f76808; +} +.summary-desc[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 16px; + font-weight: 400; + color: #616161; + margin-top: 12px; +} +.summary-value[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-size: 24px; + font-weight: 510; + letter-spacing: -0.1px; + color: #212121; + align-self: flex-start; +} + +/* 漏斗图列样式 - 优化版 */ +.funnel-cols[data-v-ba5be0f8] { + position: relative; + display: flex; + width: 100%; + flex: 1; + transition: gap 0.3s ease; + box-sizing: border-box; + z-index: 1; + /* 当有gap时,移除所有边框 */ +} +.funnel-cols[style*=gap] .funnel-col[data-v-ba5be0f8] { + border-right: none !important; + border-left: 1px solid #e0e0e0; +} +.funnel-cols[style*=gap] .funnel-col[data-v-ba5be0f8]:first-child { + border-left: none; +} +.funnel-col[data-v-ba5be0f8] { + display: flex; + flex-direction: column; + border-right: 1px solid #e0e0e0; + transition: all 0.3s ease; + min-width: 0; /* 允许flex收缩 */ + box-sizing: border-box; + overflow: hidden; /* 防止内容溢出 */ +} +.funnel-col[data-v-ba5be0f8]:last-child { + border-right: none; +} +.funnel-col[data-v-ba5be0f8] { + /* 当列数很多时,减少边框宽度 */ +} +.funnel-col[data-v-ba5be0f8]:nth-child(n+7) { + border-right-width: 0.5px; +} +.funnel-card[data-v-ba5be0f8] { + background-color: #f5f5f5; + border: 1px solid #e0e0e0; + border-radius: 12px; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + transition: all 0.3s ease; + min-height: 0; /* 允许高度收缩 */ +} +.funnel-card-text[data-v-ba5be0f8] { + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-weight: 510; + letter-spacing: 0.15px; + color: #212121; + flex: 1; + min-width: 0; + word-break: break-word; + transition: font-size 0.3s ease; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; +} +.funnel-card-text.cardText[data-v-ba5be0f8] * { + font-size: var(--5393550c) !important; + line-height: var(--60a4f952) !important; +} +.funnel-card-text.cardText[data-v-ba5be0f8] .text-subtitle-2 { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; +} +.funnel-card-text[data-v-ba5be0f8] { + /* 高列数时允许换行 */ +} +.funnel-col:nth-child(n+7) .funnel-card-text[data-v-ba5be0f8] { + white-space: normal; + line-height: 1.2; +} +.funnel-card-icon[data-v-ba5be0f8] { + flex-shrink: 0; + background-color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.3s ease; +} +.funnel-stat-card[data-v-ba5be0f8] { + transition: all 0.3s ease; + min-height: 0; /* 允许高度收缩 */ +} +.funnel-stat-value[data-v-ba5be0f8] { + display: inline-block; + vertical-align: middle; + margin-right: 8px; + font-family: "SF Pro", -apple-system, BlinkMacSystemFont, sans-serif; + font-weight: 510; + letter-spacing: -0.12px; + color: #212121; + word-break: break-word; + transition: all 0.3s ease; + overflow: hidden; + text-overflow: ellipsis; +} +.funnel-stat-value.lighter[data-v-ba5be0f8] { + color: #9e9e9e; +} +.funnel-stat-trend[data-v-ba5be0f8] { + display: inline-flex; + vertical-align: middle; + align-items: center; + color: #616161; + font-weight: bold; + transition: all 0.3s ease; + min-height: 0; +} +.trend-text[data-v-ba5be0f8] { + transition: all 0.3s ease; + word-break: break-word; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: #616161; + /* 高列数时允许换行 */ +} +.funnel-col:nth-child(n+7) .trend-text[data-v-ba5be0f8] { + white-space: normal; + line-height: 1.2; +} +.funnel-visual[data-v-ba5be0f8] { + width: 100%; + position: absolute; + bottom: 0; + z-index: 2; +} +.funnel-cols-container[data-v-ba5be0f8] { + position: relative; + transition: all 0.3s ease; +} +.funnel-cols-container .funnel-cols[data-v-ba5be0f8] { + flex-direction: row; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 2; +} + +/* 响应式优化 */ +@media (max-width: 768px) { +.funnel-col[data-v-ba5be0f8] { + border-bottom: 1px solid #e0e0e0; +} +.funnel-col[data-v-ba5be0f8]:last-child { + border-bottom: none; +} +.funnel-cols[data-v-ba5be0f8] { + flex-direction: column; +} +} +/* 高列数优化 - 更精细的控制 */ +.funnel-cols[data-v-ba5be0f8] { + /* 7列及以上时的特殊处理 */ +} +.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col[data-v-ba5be0f8] { + border-right-width: 0.5px; +} +.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col .funnel-card-text[data-v-ba5be0f8], +.funnel-cols:has(.funnel-col:nth-child(7)) .funnel-col .trend-text[data-v-ba5be0f8] { + font-size: 0.9em; + line-height: 1.2; +} +.funnel-cols[data-v-ba5be0f8] { + /* 10列及以上时的更激进优化 */ +} +.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .funnel-card-text[data-v-ba5be0f8], +.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .trend-text[data-v-ba5be0f8] { + font-size: 0.8em; + line-height: 1.1; +} +.funnel-cols:has(.funnel-col:nth-child(10)) .funnel-col .funnel-stat-value[data-v-ba5be0f8] { + font-size: 0.9em; +}.vx-chart-wrap[data-v-db5dec1d] { + width: 100%; + height: 100%; + position: relative; + display: flex; + flex-direction: column; +} +.vx-chart-wrap .vx-chart-title[data-v-db5dec1d] { + font-size: 18px; + font-weight: 510; + color: rgb(33, 33, 33); + margin: 16px 0 0 16px; + text-align: left; +} +.vx-chart-wrap .vx-chart-container[data-v-db5dec1d] { + flex: 1; + width: 100%; + min-height: var(--724a2771); +} \ No newline at end of file diff --git a/ui/vuetifyx/vuetifyxjs/dist/vuetifyx.js b/ui/vuetifyx/vuetifyxjs/dist/vuetifyx.js new file mode 100644 index 00000000..d26c2d15 --- /dev/null +++ b/ui/vuetifyx/vuetifyxjs/dist/vuetifyx.js @@ -0,0 +1,170257 @@ +(function(global2, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(require("vue")) : typeof define === "function" && define.amd ? define(["vue"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.Vue)); +})(this, function(require$$0) { + "use strict"; + function propsFactory(props, source) { + return (defaults2) => { + return Object.keys(props).reduce((obj, prop) => { + const isObjectDefinition = typeof props[prop] === "object" && props[prop] != null && !Array.isArray(props[prop]); + const definition = isObjectDefinition ? props[prop] : { + type: props[prop] + }; + if (defaults2 && prop in defaults2) { + obj[prop] = { + ...definition, + default: defaults2[prop] + }; + } else { + obj[prop] = definition; + } + if (source && !obj[prop].source) { + obj[prop].source = source; + } + return obj; + }, {}); + }; + } + const makeComponentProps = propsFactory({ + class: [String, Array, Object], + style: { + type: [String, Array, Object], + default: null + } + }, "component"); + const IN_BROWSER = typeof window !== "undefined"; + const SUPPORTS_INTERSECTION = IN_BROWSER && "IntersectionObserver" in window; + const SUPPORTS_TOUCH = IN_BROWSER && ("ontouchstart" in window || window.navigator.maxTouchPoints > 0); + const SUPPORTS_EYE_DROPPER = IN_BROWSER && "EyeDropper" in window; + const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof window.matchMedia === "function"; + const PREFERS_REDUCED_MOTION = () => SUPPORTS_MATCH_MEDIA && window.matchMedia("(prefers-reduced-motion: reduce)").matches; + function _classPrivateFieldInitSpec(e7, t, a) { + _checkPrivateRedeclaration(e7, t), t.set(e7, a); + } + function _checkPrivateRedeclaration(e7, t) { + if (t.has(e7)) throw new TypeError("Cannot initialize the same private elements twice on an object"); + } + function _classPrivateFieldSet(s, a, r) { + return s.set(_assertClassBrand(s, a), r), r; + } + function _classPrivateFieldGet(s, a) { + return s.get(_assertClassBrand(s, a)); + } + function _assertClassBrand(e7, t, n) { + if ("function" == typeof e7 ? e7 === t : e7.has(t)) return arguments.length < 3 ? t : n; + throw new TypeError("Private element is not present on this object"); + } + function getNestedValue(obj, path, fallback) { + const last = path.length - 1; + if (last < 0) return obj === void 0 ? fallback : obj; + for (let i7 = 0; i7 < last; i7++) { + if (obj == null) { + return fallback; + } + obj = obj[path[i7]]; + } + if (obj == null) return fallback; + return obj[path[last]] === void 0 ? fallback : obj[path[last]]; + } + function deepEqual(a, b) { + if (a === b) return true; + if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) { + return false; + } + if (a !== Object(a) || b !== Object(b)) { + return false; + } + const props = Object.keys(a); + if (props.length !== Object.keys(b).length) { + return false; + } + return props.every((p) => deepEqual(a[p], b[p])); + } + function getObjectValueByPath(obj, path, fallback) { + if (obj == null || !path || typeof path !== "string") return fallback; + if (obj[path] !== void 0) return obj[path]; + path = path.replace(/\[(\w+)\]/g, ".$1"); + path = path.replace(/^\./, ""); + return getNestedValue(obj, path.split("."), fallback); + } + function getPropertyFromItem(item, property, fallback) { + if (property === true) return item === void 0 ? fallback : item; + if (property == null || typeof property === "boolean") return fallback; + if (item !== Object(item)) { + if (typeof property !== "function") return fallback; + const value2 = property(item, fallback); + return typeof value2 === "undefined" ? fallback : value2; + } + if (typeof property === "string") return getObjectValueByPath(item, property, fallback); + if (Array.isArray(property)) return getNestedValue(item, property, fallback); + if (typeof property !== "function") return fallback; + const value = property(item, fallback); + return typeof value === "undefined" ? fallback : value; + } + function createRange(length) { + let start2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + return Array.from({ + length + }, (v, k7) => start2 + k7); + } + function convertToUnit(str) { + let unit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px"; + if (str == null || str === "") { + return void 0; + } + const num = Number(str); + if (isNaN(num)) { + return String(str); + } else if (!isFinite(num)) { + return void 0; + } else { + return `${num}${unit}`; + } + } + function isObject$7(obj) { + return obj !== null && typeof obj === "object" && !Array.isArray(obj); + } + function isPlainObject$2(obj) { + let proto2; + return obj !== null && typeof obj === "object" && ((proto2 = Object.getPrototypeOf(obj)) === Object.prototype || proto2 === null); + } + function refElement(obj) { + if (obj && "$el" in obj) { + const el2 = obj.$el; + if (el2?.nodeType === Node.TEXT_NODE) { + return el2.nextElementSibling; + } + return el2; + } + return obj; + } + const keyValues = Object.freeze({ + enter: "Enter", + tab: "Tab", + delete: "Delete", + esc: "Escape", + space: "Space", + up: "ArrowUp", + down: "ArrowDown", + left: "ArrowLeft", + right: "ArrowRight", + end: "End", + home: "Home", + del: "Delete", + backspace: "Backspace", + insert: "Insert", + pageup: "PageUp", + pagedown: "PageDown", + shift: "Shift" + }); + function keys$2(o) { + return Object.keys(o); + } + function has$2(obj, key) { + return key.every((k7) => obj.hasOwnProperty(k7)); + } + function pick(obj, paths) { + const found2 = {}; + for (const key of paths) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + found2[key] = obj[key]; + } + } + return found2; + } + function pickWithRest(obj, paths, exclude) { + const found2 = /* @__PURE__ */ Object.create(null); + const rest = /* @__PURE__ */ Object.create(null); + for (const key in obj) { + if (paths.some((path) => path instanceof RegExp ? path.test(key) : path === key) && true) { + found2[key] = obj[key]; + } else { + rest[key] = obj[key]; + } + } + return [found2, rest]; + } + function omit(obj, exclude) { + const clone2 = { + ...obj + }; + exclude.forEach((prop) => delete clone2[prop]); + return clone2; + } + const onRE = /^on[^a-z]/; + const isOn = (key) => onRE.test(key); + const bubblingEvents = ["onAfterscriptexecute", "onAnimationcancel", "onAnimationend", "onAnimationiteration", "onAnimationstart", "onAuxclick", "onBeforeinput", "onBeforescriptexecute", "onChange", "onClick", "onCompositionend", "onCompositionstart", "onCompositionupdate", "onContextmenu", "onCopy", "onCut", "onDblclick", "onFocusin", "onFocusout", "onFullscreenchange", "onFullscreenerror", "onGesturechange", "onGestureend", "onGesturestart", "onGotpointercapture", "onInput", "onKeydown", "onKeypress", "onKeyup", "onLostpointercapture", "onMousedown", "onMousemove", "onMouseout", "onMouseover", "onMouseup", "onMousewheel", "onPaste", "onPointercancel", "onPointerdown", "onPointerenter", "onPointerleave", "onPointermove", "onPointerout", "onPointerover", "onPointerup", "onReset", "onSelect", "onSubmit", "onTouchcancel", "onTouchend", "onTouchmove", "onTouchstart", "onTransitioncancel", "onTransitionend", "onTransitionrun", "onTransitionstart", "onWheel"]; + const compositionIgnoreKeys = ["ArrowUp", "ArrowDown", "ArrowRight", "ArrowLeft", "Enter", "Escape", "Tab", " "]; + function isComposingIgnoreKey(e7) { + return e7.isComposing && compositionIgnoreKeys.includes(e7.key); + } + function filterInputAttrs(attrs) { + const [events, props] = pickWithRest(attrs, [onRE]); + const inputEvents = omit(events, bubblingEvents); + const [rootAttrs, inputAttrs] = pickWithRest(props, ["class", "style", "id", /^data-/]); + Object.assign(rootAttrs, events); + Object.assign(inputAttrs, inputEvents); + return [rootAttrs, inputAttrs]; + } + function wrapInArray(v) { + return v == null ? [] : Array.isArray(v) ? v : [v]; + } + function debounce(fn2, delay) { + let timeoutId = 0; + const wrap = function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + clearTimeout(timeoutId); + timeoutId = setTimeout(() => fn2(...args), require$$0.unref(delay)); + }; + wrap.clear = () => { + clearTimeout(timeoutId); + }; + wrap.immediate = fn2; + return wrap; + } + function clamp$1(value) { + let min3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + let max3 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1; + return Math.max(min3, Math.min(max3, value)); + } + function getDecimals(value) { + const trimmedStr = value.toString().trim(); + return trimmedStr.includes(".") ? trimmedStr.length - trimmedStr.indexOf(".") - 1 : 0; + } + function padEnd(str, length) { + let char = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0"; + return str + char.repeat(Math.max(0, length - str.length)); + } + function padStart(str, length) { + let char = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0"; + return char.repeat(Math.max(0, length - str.length)) + str; + } + function chunk(str) { + let size = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1; + const chunked = []; + let index2 = 0; + while (index2 < str.length) { + chunked.push(str.substr(index2, size)); + index2 += size; + } + return chunked; + } + function humanReadableFileSize(bytes) { + let base2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1e3; + if (bytes < base2) { + return `${bytes} B`; + } + const prefix = base2 === 1024 ? ["Ki", "Mi", "Gi"] : ["k", "M", "G"]; + let unit = -1; + while (Math.abs(bytes) >= base2 && unit < prefix.length - 1) { + bytes /= base2; + ++unit; + } + return `${bytes.toFixed(1)} ${prefix[unit]}B`; + } + function mergeDeep$1() { + let source = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + let target = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + let arrayFn = arguments.length > 2 ? arguments[2] : void 0; + const out2 = {}; + for (const key in source) { + out2[key] = source[key]; + } + for (const key in target) { + const sourceProperty = source[key]; + const targetProperty = target[key]; + if (isPlainObject$2(sourceProperty) && isPlainObject$2(targetProperty)) { + out2[key] = mergeDeep$1(sourceProperty, targetProperty, arrayFn); + continue; + } + if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) { + out2[key] = arrayFn(sourceProperty, targetProperty); + continue; + } + out2[key] = targetProperty; + } + return out2; + } + function flattenFragments(nodes) { + return nodes.map((node) => { + if (node.type === require$$0.Fragment) { + return flattenFragments(node.children); + } else { + return node; + } + }).flat(); + } + function toKebabCase() { + let str = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str); + const kebab = str.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase(); + toKebabCase.cache.set(str, kebab); + return kebab; + } + toKebabCase.cache = /* @__PURE__ */ new Map(); + function findChildrenWithProvide(key, vnode) { + if (!vnode || typeof vnode !== "object") return []; + if (Array.isArray(vnode)) { + return vnode.map((child) => findChildrenWithProvide(key, child)).flat(1); + } else if (vnode.suspense) { + return findChildrenWithProvide(key, vnode.ssContent); + } else if (Array.isArray(vnode.children)) { + return vnode.children.map((child) => findChildrenWithProvide(key, child)).flat(1); + } else if (vnode.component) { + if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) { + return [vnode.component]; + } else if (vnode.component.subTree) { + return findChildrenWithProvide(key, vnode.component.subTree).flat(1); + } + } + return []; + } + var _arr = /* @__PURE__ */ new WeakMap(); + var _pointer = /* @__PURE__ */ new WeakMap(); + class CircularBuffer { + constructor(size) { + _classPrivateFieldInitSpec(this, _arr, []); + _classPrivateFieldInitSpec(this, _pointer, 0); + this.size = size; + } + get isFull() { + return _classPrivateFieldGet(_arr, this).length === this.size; + } + push(val) { + _classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val; + _classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size); + } + values() { + return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this))); + } + clear() { + _classPrivateFieldGet(_arr, this).length = 0; + _classPrivateFieldSet(_pointer, this, 0); + } + } + function getEventCoordinates(e7) { + if ("touches" in e7) { + return { + clientX: e7.touches[0].clientX, + clientY: e7.touches[0].clientY + }; + } + return { + clientX: e7.clientX, + clientY: e7.clientY + }; + } + function destructComputed(getter) { + const refs = require$$0.reactive({}); + require$$0.watchEffect(() => { + const base2 = getter(); + for (const key in base2) { + refs[key] = base2[key]; + } + }, { + flush: "sync" + }); + const obj = {}; + for (const key in refs) { + obj[key] = require$$0.toRef(() => refs[key]); + } + return obj; + } + function includes(arr, val) { + return arr.includes(val); + } + function eventName(propName) { + return propName[2].toLowerCase() + propName.slice(3); + } + const EventProp = () => [Function, Array]; + function hasEvent(props, name) { + name = "on" + require$$0.capitalize(name); + return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]); + } + function callEvent(handler) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + if (Array.isArray(handler)) { + for (const h of handler) { + h(...args); + } + } else if (typeof handler === "function") { + handler(...args); + } + } + function focusableChildren(el2) { + let filterByTabIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + const targets = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "[tabindex]"].map((s) => `${s}${filterByTabIndex ? ':not([tabindex="-1"])' : ""}:not([disabled])`).join(", "); + return [...el2.querySelectorAll(targets)]; + } + function getNextElement(elements, location, condition) { + let _el; + let idx = elements.indexOf(document.activeElement); + const inc2 = location === "next" ? 1 : -1; + do { + idx += inc2; + _el = elements[idx]; + } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0); + return _el; + } + function focusChild(el2, location) { + const focusable = focusableChildren(el2); + if (location == null) { + if (el2 === document.activeElement || !el2.contains(document.activeElement)) { + focusable[0]?.focus(); + } + } else if (location === "first") { + focusable[0]?.focus(); + } else if (location === "last") { + focusable.at(-1)?.focus(); + } else if (typeof location === "number") { + focusable[location]?.focus(); + } else { + const _el = getNextElement(focusable, location); + if (_el) _el.focus(); + else focusChild(el2, location === "next" ? "first" : "last"); + } + } + function isEmpty(val) { + return val === null || val === void 0 || typeof val === "string" && val.trim() === ""; + } + function noop$2() { + } + function matchesSelector(el2, selector2) { + const supportsSelector = IN_BROWSER && typeof CSS !== "undefined" && typeof CSS.supports !== "undefined" && CSS.supports(`selector(${selector2})`); + if (!supportsSelector) return null; + try { + return !!el2 && el2.matches(selector2); + } catch (err) { + return null; + } + } + function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!require$$0.isVNode(child)) return true; + if (child.type === require$$0.Comment) return false; + return child.type !== require$$0.Fragment || ensureValidVNode(child.children); + }) ? vnodes : null; + } + function renderSlot(slot, props, fallback) { + return slot?.(props) ?? fallback?.(props); + } + function defer(timeout, cb2) { + if (!IN_BROWSER || timeout === 0) { + cb2(); + return () => { + }; + } + const timeoutId = window.setTimeout(cb2, timeout); + return () => window.clearTimeout(timeoutId); + } + function isClickInsideElement(event, targetDiv) { + const mouseX = event.clientX; + const mouseY = event.clientY; + const divRect = targetDiv.getBoundingClientRect(); + const divLeft = divRect.left; + const divTop = divRect.top; + const divRight = divRect.right; + const divBottom = divRect.bottom; + return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom; + } + function templateRef() { + const el2 = require$$0.shallowRef(); + const fn2 = (target) => { + el2.value = target; + }; + Object.defineProperty(fn2, "value", { + enumerable: true, + get: () => el2.value, + set: (val) => el2.value = val + }); + Object.defineProperty(fn2, "el", { + enumerable: true, + get: () => refElement(el2.value) + }); + return fn2; + } + function checkPrintable(e7) { + const isPrintableChar = e7.key.length === 1; + const noModifier = !e7.ctrlKey && !e7.metaKey && !e7.altKey; + return isPrintableChar && noModifier; + } + function isPrimitive$1(value) { + return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "bigint"; + } + function escapeForRegex(sign) { + return "\\^$*+?.()|{}[]".includes(sign) ? `\\${sign}` : sign; + } + function extractNumber(text2, decimalDigitsLimit, decimalSeparator) { + const onlyValidCharacters = new RegExp(`[\\d\\-${escapeForRegex(decimalSeparator)}]`); + const cleanText = text2.split("").filter((x) => onlyValidCharacters.test(x)).filter((x, i7, all) => i7 === 0 && /[-]/.test(x) || // sign allowed at the start + x === decimalSeparator && i7 === all.indexOf(x) || // decimal separator allowed only once + /\d/.test(x)).join(""); + if (decimalDigitsLimit === 0) { + return cleanText.split(decimalSeparator)[0]; + } + const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\d`); + if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) { + const parts = cleanText.split(decimalSeparator); + return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join(decimalSeparator); + } + return cleanText; + } + function camelizeProps(props) { + const out2 = {}; + for (const prop in props) { + out2[require$$0.camelize(prop)] = props[prop]; + } + return out2; + } + function onlyDefinedProps(props) { + const booleanAttributes = ["checked", "disabled"]; + return Object.fromEntries(Object.entries(props).filter((_ref) => { + let [key, v] = _ref; + return booleanAttributes.includes(key) ? !!v : v !== void 0; + })); + } + const block = ["top", "bottom"]; + const inline = ["start", "end", "left", "right"]; + function parseAnchor(anchor, isRtl) { + let [side, align] = anchor.split(" "); + if (!align) { + align = includes(block, side) ? "start" : includes(inline, side) ? "top" : "center"; + } + return { + side: toPhysical(side, isRtl), + align: toPhysical(align, isRtl) + }; + } + function toPhysical(str, isRtl) { + if (str === "start") return isRtl ? "right" : "left"; + if (str === "end") return isRtl ? "left" : "right"; + return str; + } + function flipSide(anchor) { + return { + side: { + center: "center", + top: "bottom", + bottom: "top", + left: "right", + right: "left" + }[anchor.side], + align: anchor.align + }; + } + function flipAlign(anchor) { + return { + side: anchor.side, + align: { + center: "center", + top: "bottom", + bottom: "top", + left: "right", + right: "left" + }[anchor.align] + }; + } + function flipCorner(anchor) { + return { + side: anchor.align, + align: anchor.side + }; + } + function getAxis(anchor) { + return includes(block, anchor.side) ? "y" : "x"; + } + class Box { + constructor(_ref) { + let { + x, + y, + width, + height + } = _ref; + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + get top() { + return this.y; + } + get bottom() { + return this.y + this.height; + } + get left() { + return this.x; + } + get right() { + return this.x + this.width; + } + } + function getOverflow(a, b) { + return { + x: { + before: Math.max(0, b.left - a.left), + after: Math.max(0, a.right - b.right) + }, + y: { + before: Math.max(0, b.top - a.top), + after: Math.max(0, a.bottom - b.bottom) + } + }; + } + function getTargetBox(target) { + if (Array.isArray(target)) { + return new Box({ + x: target[0], + y: target[1], + width: 0, + height: 0 + }); + } else { + return target.getBoundingClientRect(); + } + } + function getElementBox(el2) { + if (el2 === document.documentElement) { + if (!visualViewport) { + return new Box({ + x: 0, + y: 0, + width: document.documentElement.clientWidth, + height: document.documentElement.clientHeight + }); + } else { + return new Box({ + x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft, + y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop, + width: visualViewport.width * visualViewport.scale, + height: visualViewport.height * visualViewport.scale + }); + } + } else { + const rect = el2.getBoundingClientRect(); + return new Box({ + x: rect.x, + y: rect.y, + width: el2.clientWidth, + height: el2.clientHeight + }); + } + } + function nullifyTransforms(el2) { + const rect = el2.getBoundingClientRect(); + const style = getComputedStyle(el2); + const tx2 = style.transform; + if (tx2) { + let ta2, sx2, sy2, dx2, dy2; + if (tx2.startsWith("matrix3d(")) { + ta2 = tx2.slice(9, -1).split(/, /); + sx2 = Number(ta2[0]); + sy2 = Number(ta2[5]); + dx2 = Number(ta2[12]); + dy2 = Number(ta2[13]); + } else if (tx2.startsWith("matrix(")) { + ta2 = tx2.slice(7, -1).split(/, /); + sx2 = Number(ta2[0]); + sy2 = Number(ta2[3]); + dx2 = Number(ta2[4]); + dy2 = Number(ta2[5]); + } else { + return new Box(rect); + } + const to2 = style.transformOrigin; + const x = rect.x - dx2 - (1 - sx2) * parseFloat(to2); + const y = rect.y - dy2 - (1 - sy2) * parseFloat(to2.slice(to2.indexOf(" ") + 1)); + const w = sx2 ? rect.width / sx2 : el2.offsetWidth + 1; + const h = sy2 ? rect.height / sy2 : el2.offsetHeight + 1; + return new Box({ + x, + y, + width: w, + height: h + }); + } else { + return new Box(rect); + } + } + function animate(el2, keyframes, options) { + if (typeof el2.animate === "undefined") return { + finished: Promise.resolve() + }; + let animation; + try { + animation = el2.animate(keyframes, options); + } catch (err) { + return { + finished: Promise.resolve() + }; + } + if (typeof animation.finished === "undefined") { + animation.finished = new Promise((resolve) => { + animation.onfinish = () => { + resolve(animation); + }; + }); + } + return animation; + } + const handlers$2 = /* @__PURE__ */ new WeakMap(); + function bindProps$1(el2, props) { + Object.keys(props).forEach((k7) => { + if (isOn(k7)) { + const name = eventName(k7); + const handler = handlers$2.get(el2); + if (props[k7] == null) { + handler?.forEach((v) => { + const [n, fn2] = v; + if (n === name) { + el2.removeEventListener(name, fn2); + handler.delete(v); + } + }); + } else if (!handler || ![...handler]?.some((v) => v[0] === name && v[1] === props[k7])) { + el2.addEventListener(name, props[k7]); + const _handler = handler || /* @__PURE__ */ new Set(); + _handler.add([name, props[k7]]); + if (!handlers$2.has(el2)) handlers$2.set(el2, _handler); + } + } else { + if (props[k7] == null) { + el2.removeAttribute(k7); + } else { + el2.setAttribute(k7, props[k7]); + } + } + }); + } + function unbindProps(el2, props) { + Object.keys(props).forEach((k7) => { + if (isOn(k7)) { + const name = eventName(k7); + const handler = handlers$2.get(el2); + handler?.forEach((v) => { + const [n, fn2] = v; + if (n === name) { + el2.removeEventListener(name, fn2); + handler.delete(v); + } + }); + } else { + el2.removeAttribute(k7); + } + }); + } + const mainTRC = 2.4; + const Rco = 0.2126729; + const Gco = 0.7151522; + const Bco = 0.072175; + const normBG = 0.55; + const normTXT = 0.58; + const revTXT = 0.57; + const revBG = 0.62; + const blkThrs = 0.03; + const blkClmp = 1.45; + const deltaYmin = 5e-4; + const scaleBoW = 1.25; + const scaleWoB = 1.25; + const loConThresh = 0.078; + const loConFactor = 12.82051282051282; + const loConOffset = 0.06; + const loClip = 1e-3; + function APCAcontrast(text2, background) { + const Rtxt = (text2.r / 255) ** mainTRC; + const Gtxt = (text2.g / 255) ** mainTRC; + const Btxt = (text2.b / 255) ** mainTRC; + const Rbg = (background.r / 255) ** mainTRC; + const Gbg = (background.g / 255) ** mainTRC; + const Bbg = (background.b / 255) ** mainTRC; + let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco; + let Ybg = Rbg * Rco + Gbg * Gco + Bbg * Bco; + if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp; + if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp; + if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0; + let outputContrast; + if (Ybg > Ytxt) { + const SAPC = (Ybg ** normBG - Ytxt ** normTXT) * scaleBoW; + outputContrast = SAPC < loClip ? 0 : SAPC < loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC - loConOffset; + } else { + const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB; + outputContrast = SAPC > -loClip ? 0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset; + } + return outputContrast * 100; + } + function consoleWarn(message2) { + require$$0.warn(`Vuetify: ${message2}`); + } + function consoleError(message2) { + require$$0.warn(`Vuetify error: ${message2}`); + } + function deprecate(original, replacement) { + replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map((s) => `'${s}'`).join(", ") + ` or '${replacement.at(-1)}'` : `'${replacement}'`; + require$$0.warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`); + } + const delta = 0.20689655172413793; + const cielabForwardTransform = (t) => t > delta ** 3 ? Math.cbrt(t) : t / (3 * delta ** 2) + 4 / 29; + const cielabReverseTransform = (t) => t > delta ? t ** 3 : 3 * delta ** 2 * (t - 4 / 29); + function fromXYZ$1(xyz) { + const transform2 = cielabForwardTransform; + const transformedY = transform2(xyz[1]); + return [116 * transformedY - 16, 500 * (transform2(xyz[0] / 0.95047) - transformedY), 200 * (transformedY - transform2(xyz[2] / 1.08883))]; + } + function toXYZ$1(lab) { + const transform2 = cielabReverseTransform; + const Ln2 = (lab[0] + 16) / 116; + return [transform2(Ln2 + lab[1] / 500) * 0.95047, transform2(Ln2), transform2(Ln2 - lab[2] / 200) * 1.08883]; + } + const srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.204, 1.057]]; + const srgbForwardTransform = (C) => C <= 31308e-7 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055; + const srgbReverseMatrix = [[0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505]]; + const srgbReverseTransform = (C) => C <= 0.04045 ? C / 12.92 : ((C + 0.055) / 1.055) ** 2.4; + function fromXYZ(xyz) { + const rgb2 = Array(3); + const transform2 = srgbForwardTransform; + const matrix2 = srgbForwardMatrix; + for (let i7 = 0; i7 < 3; ++i7) { + rgb2[i7] = Math.round(clamp$1(transform2(matrix2[i7][0] * xyz[0] + matrix2[i7][1] * xyz[1] + matrix2[i7][2] * xyz[2])) * 255); + } + return { + r: rgb2[0], + g: rgb2[1], + b: rgb2[2] + }; + } + function toXYZ(_ref) { + let { + r, + g, + b + } = _ref; + const xyz = [0, 0, 0]; + const transform2 = srgbReverseTransform; + const matrix2 = srgbReverseMatrix; + r = transform2(r / 255); + g = transform2(g / 255); + b = transform2(b / 255); + for (let i7 = 0; i7 < 3; ++i7) { + xyz[i7] = matrix2[i7][0] * r + matrix2[i7][1] * g + matrix2[i7][2] * b; + } + return xyz; + } + function isCssColor(color) { + return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color); + } + function isParsableColor(color) { + return isCssColor(color) && !/^((rgb|hsl)a?\()?var\(--/.test(color); + } + const cssColorRe = /^(?(?:rgb|hsl)a?)\((?.+)\)/; + const mappers = { + rgb: (r, g, b, a) => ({ + r, + g, + b, + a + }), + rgba: (r, g, b, a) => ({ + r, + g, + b, + a + }), + hsl: (h, s, l, a) => HSLtoRGB({ + h, + s, + l, + a + }), + hsla: (h, s, l, a) => HSLtoRGB({ + h, + s, + l, + a + }), + hsv: (h, s, v, a) => HSVtoRGB({ + h, + s, + v, + a + }), + hsva: (h, s, v, a) => HSVtoRGB({ + h, + s, + v, + a + }) + }; + function parseColor(color) { + if (typeof color === "number") { + if (isNaN(color) || color < 0 || color > 16777215) { + consoleWarn(`'${color}' is not a valid hex color`); + } + return { + r: (color & 16711680) >> 16, + g: (color & 65280) >> 8, + b: color & 255 + }; + } else if (typeof color === "string" && cssColorRe.test(color)) { + const { + groups + } = color.match(cssColorRe); + const { + fn: fn2, + values + } = groups; + const realValues = values.split(/,\s*|\s*\/\s*|\s+/).map((v, i7) => { + if (v.endsWith("%") || // unitless slv are % + i7 > 0 && i7 < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(fn2)) { + return parseFloat(v) / 100; + } else { + return parseFloat(v); + } + }); + return mappers[fn2](...realValues); + } else if (typeof color === "string") { + let hex2 = color.startsWith("#") ? color.slice(1) : color; + if ([3, 4].includes(hex2.length)) { + hex2 = hex2.split("").map((char) => char + char).join(""); + } else if (![6, 8].includes(hex2.length)) { + consoleWarn(`'${color}' is not a valid hex(a) color`); + } + const int2 = parseInt(hex2, 16); + if (isNaN(int2) || int2 < 0 || int2 > 4294967295) { + consoleWarn(`'${color}' is not a valid hex(a) color`); + } + return HexToRGB(hex2); + } else if (typeof color === "object") { + if (has$2(color, ["r", "g", "b"])) { + return color; + } else if (has$2(color, ["h", "s", "l"])) { + return HSVtoRGB(HSLtoHSV(color)); + } else if (has$2(color, ["h", "s", "v"])) { + return HSVtoRGB(color); + } + } + throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name} +Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`); + } + function HSVtoRGB(hsva) { + const { + h, + s, + v, + a + } = hsva; + const f = (n) => { + const k7 = (n + h / 60) % 6; + return v - v * s * Math.max(Math.min(k7, 4 - k7, 1), 0); + }; + const rgb2 = [f(5), f(3), f(1)].map((v7) => Math.round(v7 * 255)); + return { + r: rgb2[0], + g: rgb2[1], + b: rgb2[2], + a + }; + } + function HSLtoRGB(hsla2) { + return HSVtoRGB(HSLtoHSV(hsla2)); + } + function RGBtoHSV(rgba2) { + if (!rgba2) return { + h: 0, + s: 1, + v: 1, + a: 1 + }; + const r = rgba2.r / 255; + const g = rgba2.g / 255; + const b = rgba2.b / 255; + const max3 = Math.max(r, g, b); + const min3 = Math.min(r, g, b); + let h = 0; + if (max3 !== min3) { + if (max3 === r) { + h = 60 * (0 + (g - b) / (max3 - min3)); + } else if (max3 === g) { + h = 60 * (2 + (b - r) / (max3 - min3)); + } else if (max3 === b) { + h = 60 * (4 + (r - g) / (max3 - min3)); + } + } + if (h < 0) h = h + 360; + const s = max3 === 0 ? 0 : (max3 - min3) / max3; + const hsv = [h, s, max3]; + return { + h: hsv[0], + s: hsv[1], + v: hsv[2], + a: rgba2.a + }; + } + function HSVtoHSL(hsva) { + const { + h, + s, + v, + a + } = hsva; + const l = v - v * s / 2; + const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l); + return { + h, + s: sprime, + l, + a + }; + } + function HSLtoHSV(hsl2) { + const { + h, + s, + l, + a + } = hsl2; + const v = l + s * Math.min(l, 1 - l); + const sprime = v === 0 ? 0 : 2 - 2 * l / v; + return { + h, + s: sprime, + v, + a + }; + } + function RGBtoCSS(_ref) { + let { + r, + g, + b, + a + } = _ref; + return a === void 0 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`; + } + function HSVtoCSS(hsva) { + return RGBtoCSS(HSVtoRGB(hsva)); + } + function toHex(v) { + const h = Math.round(v).toString(16); + return ("00".substr(0, 2 - h.length) + h).toUpperCase(); + } + function RGBtoHex(_ref2) { + let { + r, + g, + b, + a + } = _ref2; + return `#${[toHex(r), toHex(g), toHex(b), a !== void 0 ? toHex(Math.round(a * 255)) : ""].join("")}`; + } + function HexToRGB(hex2) { + hex2 = parseHex(hex2); + let [r, g, b, a] = chunk(hex2, 2).map((c) => parseInt(c, 16)); + a = a === void 0 ? a : a / 255; + return { + r, + g, + b, + a + }; + } + function HexToHSV(hex2) { + const rgb2 = HexToRGB(hex2); + return RGBtoHSV(rgb2); + } + function HSVtoHex(hsva) { + return RGBtoHex(HSVtoRGB(hsva)); + } + function parseHex(hex2) { + if (hex2.startsWith("#")) { + hex2 = hex2.slice(1); + } + hex2 = hex2.replace(/([^0-9a-f])/gi, "F"); + if (hex2.length === 3 || hex2.length === 4) { + hex2 = hex2.split("").map((x) => x + x).join(""); + } + if (hex2.length !== 6) { + hex2 = padEnd(padEnd(hex2, 6), 8, "F"); + } + return hex2; + } + function lighten(value, amount) { + const lab = fromXYZ$1(toXYZ(value)); + lab[0] = lab[0] + amount * 10; + return fromXYZ(toXYZ$1(lab)); + } + function darken(value, amount) { + const lab = fromXYZ$1(toXYZ(value)); + lab[0] = lab[0] - amount * 10; + return fromXYZ(toXYZ$1(lab)); + } + function getLuma(color) { + const rgb2 = parseColor(color); + return toXYZ(rgb2)[1]; + } + function getContrast(first2, second) { + const l12 = getLuma(first2); + const l22 = getLuma(second); + const light = Math.max(l12, l22); + const dark = Math.min(l12, l22); + return (light + 0.05) / (dark + 0.05); + } + function getForeground(color) { + const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color))); + const whiteContrast = Math.abs(APCAcontrast(parseColor(16777215), parseColor(color))); + return whiteContrast > Math.min(blackContrast, 50) ? "#fff" : "#000"; + } + function getCurrentInstance(name, message2) { + const vm = require$$0.getCurrentInstance(); + if (!vm) { + throw new Error(`[Vuetify] ${name} ${"must be called from inside a setup function"}`); + } + return vm; + } + function getCurrentInstanceName() { + let name = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables"; + const vm = getCurrentInstance(name).type; + return toKebabCase(vm?.aliasName || vm?.name); + } + function injectSelf(key) { + let vm = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstance("injectSelf"); + const { + provides + } = vm; + if (provides && key in provides) { + return provides[key]; + } + return void 0; + } + const DefaultsSymbol = Symbol.for("vuetify:defaults"); + function createDefaults(options) { + return require$$0.ref(options); + } + function injectDefaults() { + const defaults2 = require$$0.inject(DefaultsSymbol); + if (!defaults2) throw new Error("[Vuetify] Could not find defaults instance"); + return defaults2; + } + function provideDefaults(defaults2, options) { + const injectedDefaults = injectDefaults(); + const providedDefaults = require$$0.ref(defaults2); + const newDefaults = require$$0.computed(() => { + const disabled = require$$0.unref(options?.disabled); + if (disabled) return injectedDefaults.value; + const scoped = require$$0.unref(options?.scoped); + const reset = require$$0.unref(options?.reset); + const root = require$$0.unref(options?.root); + if (providedDefaults.value == null && !(scoped || reset || root)) return injectedDefaults.value; + let properties = mergeDeep$1(providedDefaults.value, { + prev: injectedDefaults.value + }); + if (scoped) return properties; + if (reset || root) { + const len2 = Number(reset || Infinity); + for (let i7 = 0; i7 <= len2; i7++) { + if (!properties || !("prev" in properties)) { + break; + } + properties = properties.prev; + } + if (properties && typeof root === "string" && root in properties) { + properties = mergeDeep$1(mergeDeep$1(properties, { + prev: properties + }), properties[root]); + } + return properties; + } + return properties.prev ? mergeDeep$1(properties.prev, properties) : properties; + }); + require$$0.provide(DefaultsSymbol, newDefaults); + return newDefaults; + } + function propIsDefined(vnode, prop) { + return vnode.props && (typeof vnode.props[prop] !== "undefined" || typeof vnode.props[toKebabCase(prop)] !== "undefined"); + } + function internalUseDefaults() { + let props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + let name = arguments.length > 1 ? arguments[1] : void 0; + let defaults2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : injectDefaults(); + const vm = getCurrentInstance("useDefaults"); + name = name ?? vm.type.name ?? vm.type.__name; + if (!name) { + throw new Error("[Vuetify] Could not determine component name"); + } + const componentDefaults = require$$0.computed(() => defaults2.value?.[props._as ?? name]); + const _props = new Proxy(props, { + get(target, prop) { + const propValue = Reflect.get(target, prop); + if (prop === "class" || prop === "style") { + return [componentDefaults.value?.[prop], propValue].filter((v) => v != null); + } + if (propIsDefined(vm.vnode, prop)) return propValue; + const _componentDefault = componentDefaults.value?.[prop]; + if (_componentDefault !== void 0) return _componentDefault; + const _globalDefault = defaults2.value?.global?.[prop]; + if (_globalDefault !== void 0) return _globalDefault; + return propValue; + } + }); + const _subcomponentDefaults = require$$0.shallowRef(); + require$$0.watchEffect(() => { + if (componentDefaults.value) { + const subComponents = Object.entries(componentDefaults.value).filter((_ref) => { + let [key] = _ref; + return key.startsWith(key[0].toUpperCase()); + }); + _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : void 0; + } else { + _subcomponentDefaults.value = void 0; + } + }); + function provideSubDefaults() { + const injected = injectSelf(DefaultsSymbol, vm); + require$$0.provide(DefaultsSymbol, require$$0.computed(() => { + return _subcomponentDefaults.value ? mergeDeep$1(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value; + })); + } + return { + props: _props, + provideSubDefaults + }; + } + function defineComponent(options) { + options._setup = options._setup ?? options.setup; + if (!options.name) { + consoleWarn("The component is missing an explicit name, unable to generate default prop value"); + return options; + } + if (options._setup) { + options.props = propsFactory(options.props ?? {}, options.name)(); + const propKeys = Object.keys(options.props).filter((key) => key !== "class" && key !== "style"); + options.filterProps = function filterProps(props) { + return pick(props, propKeys); + }; + options.props._as = String; + options.setup = function setup(props, ctx) { + const defaults2 = injectDefaults(); + if (!defaults2.value) return options._setup(props, ctx); + const { + props: _props, + provideSubDefaults + } = internalUseDefaults(props, props._as ?? options.name, defaults2); + const setupBindings = options._setup(_props, ctx); + provideSubDefaults(); + return setupBindings; + }; + } + return options; + } + function genericComponent() { + let exposeDefaults = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true; + return (options) => (exposeDefaults ? defineComponent : require$$0.defineComponent)(options); + } + function defineFunctionalComponent(props, render2) { + render2.props = props; + return render2; + } + function createSimpleFunctional(klass) { + let tag = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div"; + let name = arguments.length > 2 ? arguments[2] : void 0; + return genericComponent()({ + name: name ?? require$$0.capitalize(require$$0.camelize(klass.replace(/__/g, "-"))), + props: { + tag: { + type: String, + default: tag + }, + ...makeComponentProps() + }, + setup(props, _ref) { + let { + slots + } = _ref; + return () => { + return require$$0.h(props.tag, { + class: [klass, props.class], + style: props.style + }, slots.default?.()); + }; + } + }); + } + function attachedRoot(node) { + if (typeof node.getRootNode !== "function") { + while (node.parentNode) node = node.parentNode; + if (node !== document) return null; + return document; + } + const root = node.getRootNode(); + if (root !== document && root.getRootNode({ + composed: true + }) !== document) return null; + return root; + } + const standardEasing = "cubic-bezier(0.4, 0, 0.2, 1)"; + const deceleratedEasing = "cubic-bezier(0.0, 0, 0.2, 1)"; + const acceleratedEasing = "cubic-bezier(0.4, 0, 1, 1)"; + const easingPatterns = { + linear: (t) => t, + easeInQuad: (t) => t ** 2, + easeOutQuad: (t) => t * (2 - t), + easeInOutQuad: (t) => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t, + easeInCubic: (t) => t ** 3, + easeOutCubic: (t) => --t ** 3 + 1, + easeInOutCubic: (t) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1, + easeInQuart: (t) => t ** 4, + easeOutQuart: (t) => 1 - --t ** 4, + easeInOutQuart: (t) => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4, + easeInQuint: (t) => t ** 5, + easeOutQuint: (t) => 1 + --t ** 5, + easeInOutQuint: (t) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5, + instant: (t) => 1 + }; + function getPrefixedEventHandlers(attrs, suffix, getData) { + return Object.keys(attrs).filter((key) => isOn(key) && key.endsWith(suffix)).reduce((acc, key) => { + acc[key.slice(0, -suffix.length)] = (event) => attrs[key](event, getData(event)); + return acc; + }, {}); + } + function getScrollParent(el2) { + let includeHidden = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + while (el2) { + if (includeHidden ? isPotentiallyScrollable(el2) : hasScrollbar(el2)) return el2; + el2 = el2.parentElement; + } + return document.scrollingElement; + } + function getScrollParents(el2, stopAt) { + const elements = []; + if (stopAt && el2 && !stopAt.contains(el2)) return elements; + while (el2) { + if (hasScrollbar(el2)) elements.push(el2); + if (el2 === stopAt) break; + el2 = el2.parentElement; + } + return elements; + } + function hasScrollbar(el2) { + if (!el2 || el2.nodeType !== Node.ELEMENT_NODE) return false; + const style = window.getComputedStyle(el2); + const hasVerticalScrollbar = style.overflowY === "scroll" || style.overflowY === "auto" && el2.scrollHeight > el2.clientHeight; + const hasHorizontalScrollbar = style.overflowX === "scroll" || style.overflowX === "auto" && el2.scrollWidth > el2.clientWidth; + return hasVerticalScrollbar || hasHorizontalScrollbar; + } + function isPotentiallyScrollable(el2) { + if (!el2 || el2.nodeType !== Node.ELEMENT_NODE) return false; + const style = window.getComputedStyle(el2); + return ["scroll", "auto"].includes(style.overflowY); + } + function getIndentLines(_ref) { + let { + depth, + isLast, + isLastGroup, + leafLinks, + separateRoots, + parentIndentLines, + variant + } = _ref; + if (!parentIndentLines || !depth) { + return { + leaf: void 0, + node: void 0, + children: parentIndentLines + }; + } + if (variant === "simple") { + return { + leaf: [...parentIndentLines, "line"], + node: [...parentIndentLines, "line"], + children: [...parentIndentLines, "line"] + }; + } + const isLastLeaf = isLast && (!isLastGroup || separateRoots || depth > 1); + return { + leaf: [...parentIndentLines, isLastLeaf ? "last-leaf" : "leaf", ...leafLinks ? ["leaf-link"] : []], + node: [...parentIndentLines, isLastLeaf ? "last-leaf" : "leaf"], + children: [...parentIndentLines, isLastLeaf ? "none" : "line"] + }; + } + function isFixedPosition(el2) { + while (el2) { + if (window.getComputedStyle(el2).position === "fixed") { + return true; + } + el2 = el2.offsetParent; + } + return false; + } + function useRender(render2) { + const vm = getCurrentInstance("useRender"); + vm.render = render2; + } + function useResizeObserver(callback) { + let box2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content"; + const resizeRef = templateRef(); + const contentRect = require$$0.ref(); + if (IN_BROWSER) { + const observer = new ResizeObserver((entries2) => { + callback?.(entries2, observer); + if (!entries2.length) return; + if (box2 === "content") { + contentRect.value = entries2[0].contentRect; + } else { + contentRect.value = entries2[0].target.getBoundingClientRect(); + } + }); + require$$0.onBeforeUnmount(() => { + observer.disconnect(); + }); + require$$0.watch(() => resizeRef.el, (newValue, oldValue) => { + if (oldValue) { + observer.unobserve(oldValue); + contentRect.value = void 0; + } + if (newValue) observer.observe(newValue); + }, { + flush: "post" + }); + } + return { + resizeRef, + contentRect: require$$0.readonly(contentRect) + }; + } + const VuetifyLayoutKey = Symbol.for("vuetify:layout"); + const VuetifyLayoutItemKey = Symbol.for("vuetify:layout-item"); + const ROOT_ZINDEX = 1e3; + const makeLayoutProps = propsFactory({ + overlaps: { + type: Array, + default: () => [] + }, + fullHeight: Boolean + }, "layout"); + const makeLayoutItemProps = propsFactory({ + name: { + type: String + }, + order: { + type: [Number, String], + default: 0 + }, + absolute: Boolean + }, "layout-item"); + function useLayout() { + const layout2 = require$$0.inject(VuetifyLayoutKey); + if (!layout2) throw new Error("[Vuetify] Could not find injected layout"); + return { + getLayoutItem: layout2.getLayoutItem, + mainRect: layout2.mainRect, + mainStyles: layout2.mainStyles + }; + } + function useLayoutItem(options) { + const layout2 = require$$0.inject(VuetifyLayoutKey); + if (!layout2) throw new Error("[Vuetify] Could not find injected layout"); + const id2 = options.id ?? `layout-item-${require$$0.useId()}`; + const vm = getCurrentInstance("useLayoutItem"); + require$$0.provide(VuetifyLayoutItemKey, { + id: id2 + }); + const isKeptAlive = require$$0.shallowRef(false); + require$$0.onDeactivated(() => isKeptAlive.value = true); + require$$0.onActivated(() => isKeptAlive.value = false); + const { + layoutItemStyles, + layoutItemScrimStyles + } = layout2.register(vm, { + ...options, + active: require$$0.computed(() => isKeptAlive.value ? false : options.active.value), + id: id2 + }); + require$$0.onBeforeUnmount(() => layout2.unregister(id2)); + return { + layoutItemStyles, + layoutRect: layout2.layoutRect, + layoutItemScrimStyles + }; + } + const generateLayers = (layout2, positions, layoutSizes, activeItems) => { + let previousLayer = { + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + const layers = [{ + id: "", + layer: { + ...previousLayer + } + }]; + for (const id2 of layout2) { + const position2 = positions.get(id2); + const amount = layoutSizes.get(id2); + const active = activeItems.get(id2); + if (!position2 || !amount || !active) continue; + const layer = { + ...previousLayer, + [position2.value]: parseInt(previousLayer[position2.value], 10) + (active.value ? parseInt(amount.value, 10) : 0) + }; + layers.push({ + id: id2, + layer + }); + previousLayer = layer; + } + return layers; + }; + function createLayout(props) { + const parentLayout = require$$0.inject(VuetifyLayoutKey, null); + const rootZIndex = require$$0.computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX); + const registered = require$$0.ref([]); + const positions = require$$0.reactive(/* @__PURE__ */ new Map()); + const layoutSizes = require$$0.reactive(/* @__PURE__ */ new Map()); + const priorities = require$$0.reactive(/* @__PURE__ */ new Map()); + const activeItems = require$$0.reactive(/* @__PURE__ */ new Map()); + const disabledTransitions = require$$0.reactive(/* @__PURE__ */ new Map()); + const { + resizeRef, + contentRect: layoutRect + } = useResizeObserver(); + const computedOverlaps = require$$0.computed(() => { + const map2 = /* @__PURE__ */ new Map(); + const overlaps = props.overlaps ?? []; + for (const overlap of overlaps.filter((item) => item.includes(":"))) { + const [top, bottom] = overlap.split(":"); + if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue; + const topPosition = positions.get(top); + const bottomPosition = positions.get(bottom); + const topAmount = layoutSizes.get(top); + const bottomAmount = layoutSizes.get(bottom); + if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue; + map2.set(bottom, { + position: topPosition.value, + amount: parseInt(topAmount.value, 10) + }); + map2.set(top, { + position: bottomPosition.value, + amount: -parseInt(bottomAmount.value, 10) + }); + } + return map2; + }); + const layers = require$$0.computed(() => { + const uniquePriorities = [...new Set([...priorities.values()].map((p) => p.value))].sort((a, b) => a - b); + const layout2 = []; + for (const p of uniquePriorities) { + const items2 = registered.value.filter((id2) => priorities.get(id2)?.value === p); + layout2.push(...items2); + } + return generateLayers(layout2, positions, layoutSizes, activeItems); + }); + const transitionsEnabled = require$$0.computed(() => { + return !Array.from(disabledTransitions.values()).some((ref) => ref.value); + }); + const mainRect = require$$0.computed(() => { + return layers.value[layers.value.length - 1].layer; + }); + const mainStyles = require$$0.toRef(() => { + return { + "--v-layout-left": convertToUnit(mainRect.value.left), + "--v-layout-right": convertToUnit(mainRect.value.right), + "--v-layout-top": convertToUnit(mainRect.value.top), + "--v-layout-bottom": convertToUnit(mainRect.value.bottom), + ...transitionsEnabled.value ? void 0 : { + transition: "none" + } + }; + }); + const items = require$$0.computed(() => { + return layers.value.slice(1).map((_ref, index2) => { + let { + id: id2 + } = _ref; + const { + layer + } = layers.value[index2]; + const size = layoutSizes.get(id2); + const position2 = positions.get(id2); + return { + id: id2, + ...layer, + size: Number(size.value), + position: position2.value + }; + }); + }); + const getLayoutItem = (id2) => { + return items.value.find((item) => item.id === id2); + }; + const rootVm = getCurrentInstance("createLayout"); + const isMounted = require$$0.shallowRef(false); + require$$0.onMounted(() => { + isMounted.value = true; + }); + require$$0.provide(VuetifyLayoutKey, { + register: (vm, _ref2) => { + let { + id: id2, + order, + position: position2, + layoutSize, + elementSize, + active, + disableTransitions, + absolute + } = _ref2; + priorities.set(id2, order); + positions.set(id2, position2); + layoutSizes.set(id2, layoutSize); + activeItems.set(id2, active); + disableTransitions && disabledTransitions.set(id2, disableTransitions); + const instances2 = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode); + const instanceIndex = instances2.indexOf(vm); + if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id2); + else registered.value.push(id2); + const index2 = require$$0.computed(() => items.value.findIndex((i7) => i7.id === id2)); + const zIndex = require$$0.computed(() => rootZIndex.value + layers.value.length * 2 - index2.value * 2); + const layoutItemStyles = require$$0.computed(() => { + const isHorizontal = position2.value === "left" || position2.value === "right"; + const isOppositeHorizontal = position2.value === "right"; + const isOppositeVertical = position2.value === "bottom"; + const size = elementSize.value ?? layoutSize.value; + const unit = size === 0 ? "%" : "px"; + const styles = { + [position2.value]: 0, + zIndex: zIndex.value, + transform: `translate${isHorizontal ? "X" : "Y"}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`, + position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? "absolute" : "fixed", + ...transitionsEnabled.value ? void 0 : { + transition: "none" + } + }; + if (!isMounted.value) return styles; + const item = items.value[index2.value]; + if (!item) consoleWarn(`[Vuetify] Could not find layout item "${id2}"`); + const overlap = computedOverlaps.value.get(id2); + if (overlap) { + item[overlap.position] += overlap.amount; + } + return { + ...styles, + height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : void 0, + left: isOppositeHorizontal ? void 0 : `${item.left}px`, + right: isOppositeHorizontal ? `${item.right}px` : void 0, + top: position2.value !== "bottom" ? `${item.top}px` : void 0, + bottom: position2.value !== "top" ? `${item.bottom}px` : void 0, + width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : void 0 + }; + }); + const layoutItemScrimStyles = require$$0.computed(() => ({ + zIndex: zIndex.value - 1 + })); + return { + layoutItemStyles, + layoutItemScrimStyles, + zIndex + }; + }, + unregister: (id2) => { + priorities.delete(id2); + positions.delete(id2); + layoutSizes.delete(id2); + activeItems.delete(id2); + disabledTransitions.delete(id2); + registered.value = registered.value.filter((v) => v !== id2); + }, + mainRect, + mainStyles, + getLayoutItem, + items, + layoutRect, + rootZIndex + }); + const layoutClasses = require$$0.toRef(() => ["v-layout", { + "v-layout--full-height": props.fullHeight + }]); + const layoutStyles = require$$0.toRef(() => ({ + zIndex: parentLayout ? rootZIndex.value : void 0, + position: parentLayout ? "relative" : void 0, + overflow: parentLayout ? "hidden" : void 0 + })); + return { + layoutClasses, + layoutStyles, + getLayoutItem, + items, + layoutRect, + layoutRef: resizeRef + }; + } + function useToggleScope(source, fn2) { + let scope; + function start2() { + scope = require$$0.effectScope(); + scope.run(() => fn2.length ? fn2(() => { + scope?.stop(); + start2(); + }) : fn2()); + } + require$$0.watch(source, (active) => { + if (active && !scope) { + start2(); + } else if (!active) { + scope?.stop(); + scope = void 0; + } + }, { + immediate: true + }); + require$$0.onScopeDispose(() => { + scope?.stop(); + }); + } + function useProxiedModel(props, prop, defaultValue) { + let transformIn = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (v) => v; + let transformOut = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (v) => v; + const vm = getCurrentInstance("useProxiedModel"); + const internal = require$$0.ref(props[prop] !== void 0 ? props[prop] : defaultValue); + const kebabProp = toKebabCase(prop); + const checkKebab = kebabProp !== prop; + const isControlled = checkKebab ? require$$0.computed(() => { + void props[prop]; + return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`))); + }) : require$$0.computed(() => { + void props[prop]; + return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`)); + }); + useToggleScope(() => !isControlled.value, () => { + require$$0.watch(() => props[prop], (val) => { + internal.value = val; + }); + }); + const model = require$$0.computed({ + get() { + const externalValue = props[prop]; + return transformIn(isControlled.value ? externalValue : internal.value); + }, + set(internalValue) { + const newValue = transformOut(internalValue); + const value = require$$0.toRaw(isControlled.value ? props[prop] : internal.value); + if (value === newValue || transformIn(value) === internalValue) { + return; + } + internal.value = newValue; + vm?.emit(`update:${prop}`, newValue); + } + }); + Object.defineProperty(model, "externalValue", { + get: () => isControlled.value ? props[prop] : internal.value + }); + return model; + } + const en = { + badge: "Badge", + open: "Open", + close: "Close", + dismiss: "Dismiss", + confirmEdit: { + ok: "OK", + cancel: "Cancel" + }, + dataIterator: { + noResultsText: "No matching records found", + loadingText: "Loading items..." + }, + dataTable: { + itemsPerPageText: "Rows per page:", + ariaLabel: { + sortDescending: "Sorted descending.", + sortAscending: "Sorted ascending.", + sortNone: "Not sorted.", + activateNone: "Activate to remove sorting.", + activateDescending: "Activate to sort descending.", + activateAscending: "Activate to sort ascending." + }, + sortBy: "Sort by" + }, + dataFooter: { + itemsPerPageText: "Items per page:", + itemsPerPageAll: "All", + nextPage: "Next page", + prevPage: "Previous page", + firstPage: "First page", + lastPage: "Last page", + pageText: "{0}-{1} of {2}" + }, + dateRangeInput: { + divider: "to" + }, + datePicker: { + itemsSelected: "{0} selected", + range: { + title: "Select dates", + header: "Enter dates" + }, + title: "Select date", + header: "Enter date", + input: { + placeholder: "Enter date" + }, + ariaLabel: { + previousMonth: "Previous month", + nextMonth: "Next month", + selectYear: "Select year", + selectDate: "{0}", + // Full date format + currentDate: "Today, {0}" + } + }, + noDataText: "No data available", + carousel: { + prev: "Previous visual", + next: "Next visual", + ariaLabel: { + delimiter: "Carousel slide {0} of {1}" + } + }, + calendar: { + moreEvents: "{0} more", + today: "Today" + }, + input: { + clear: "Clear {0}", + prependAction: "{0} prepended action", + appendAction: "{0} appended action", + otp: "Please enter OTP character {0}" + }, + fileInput: { + counter: "{0} files", + counterSize: "{0} files ({1} in total)" + }, + fileUpload: { + title: "Drag and drop files here", + divider: "or", + browse: "Browse Files" + }, + timePicker: { + am: "AM", + pm: "PM", + title: "Select Time" + }, + pagination: { + ariaLabel: { + root: "Pagination Navigation", + next: "Next page", + previous: "Previous page", + page: "Go to page {0}", + currentPage: "Page {0}, Current page", + first: "First page", + last: "Last page" + } + }, + stepper: { + next: "Next", + prev: "Previous" + }, + rating: { + ariaLabel: { + item: "Rating {0} of {1}" + } + }, + loading: "Loading...", + infiniteScroll: { + loadMore: "Load more", + empty: "No more" + }, + rules: { + required: "This field is required", + email: "Please enter a valid email", + number: "This field can only contain numbers", + integer: "This field can only contain integer values", + capital: "This field can only contain uppercase letters", + maxLength: "You must enter a maximum of {0} characters", + minLength: "You must enter a minimum of {0} characters", + strictLength: "The length of the entered field is invalid", + exclude: "The {0} character is not allowed", + notEmpty: "Please choose at least one value", + pattern: "Invalid format" + }, + hotkey: { + then: "then", + ctrl: "Ctrl", + command: "Command", + space: "Space", + shift: "Shift", + alt: "Alt", + enter: "Enter", + escape: "Escape", + upArrow: "Up Arrow", + downArrow: "Down Arrow", + leftArrow: "Left Arrow", + rightArrow: "Right Arrow", + backspace: "Backspace", + option: "Option", + plus: "plus", + shortcut: "Keyboard shortcut: {0}" + }, + video: { + play: "Play", + pause: "Pause", + seek: "Seek", + volume: "Volume", + showVolume: "Show volume control", + mute: "Mute", + unmute: "Unmute", + enterFullscreen: "Full screen", + exitFullscreen: "Exit full screen" + }, + colorPicker: { + ariaLabel: { + eyedropper: "Select color with eyedropper", + hueSlider: "Hue", + alphaSlider: "Alpha", + redInput: "Red value", + greenInput: "Green value", + blueInput: "Blue value", + alphaInput: "Alpha value", + hueInput: "Hue value", + saturationInput: "Saturation value", + lightnessInput: "Lightness value", + hexInput: "HEX value", + hexaInput: "HEX with alpha value", + changeFormat: "Change color format" + } + } + }; + const LANG_PREFIX = "$vuetify."; + const replace$1 = (str, params) => { + return str.replace(/\{(\d+)\}/g, (match2, index2) => { + return String(params[Number(index2)]); + }); + }; + const createTranslateFunction = (current, fallback, messages2) => { + return function(key) { + for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + params[_key - 1] = arguments[_key]; + } + if (!key.startsWith(LANG_PREFIX)) { + return replace$1(key, params); + } + const shortKey = key.replace(LANG_PREFIX, ""); + const currentLocale = current.value && messages2.value[current.value]; + const fallbackLocale = fallback.value && messages2.value[fallback.value]; + let str = getObjectValueByPath(currentLocale, shortKey, null); + if (!str) { + consoleWarn(`Translation key "${key}" not found in "${current.value}", trying fallback locale`); + str = getObjectValueByPath(fallbackLocale, shortKey, null); + } + if (!str) { + consoleError(`Translation key "${key}" not found in fallback`); + str = key; + } + if (typeof str !== "string") { + consoleError(`Translation key "${key}" has a non-string value`); + str = key; + } + return replace$1(str, params); + }; + }; + function createNumberFunction(current, fallback) { + return (value, options) => { + const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options); + return numberFormat.format(value); + }; + } + function inferDecimalSeparator$1(current, fallback) { + const format2 = createNumberFunction(current, fallback); + return format2(0.1).includes(",") ? "," : "."; + } + function useProvided$1(props, prop, provided) { + const internal = useProxiedModel(props, prop, props[prop] ?? provided.value); + internal.value = props[prop] ?? provided.value; + require$$0.watch(provided, (v) => { + if (props[prop] == null) { + internal.value = provided.value; + } + }); + return internal; + } + function createProvideFunction$1(state) { + return (props) => { + const current = useProvided$1(props, "locale", state.current); + const fallback = useProvided$1(props, "fallback", state.fallback); + const messages2 = useProvided$1(props, "messages", state.messages); + return { + name: "vuetify", + current, + fallback, + messages: messages2, + decimalSeparator: require$$0.toRef(() => inferDecimalSeparator$1(current, fallback)), + t: createTranslateFunction(current, fallback, messages2), + n: createNumberFunction(current, fallback), + provide: createProvideFunction$1({ + current, + fallback, + messages: messages2 + }) + }; + }; + } + function createVuetifyAdapter(options) { + const current = require$$0.shallowRef(options?.locale ?? "en"); + const fallback = require$$0.shallowRef(options?.fallback ?? "en"); + const messages2 = require$$0.ref({ + en, + ...options?.messages + }); + return { + name: "vuetify", + current, + fallback, + messages: messages2, + decimalSeparator: require$$0.toRef(() => options?.decimalSeparator ?? inferDecimalSeparator$1(current, fallback)), + t: createTranslateFunction(current, fallback, messages2), + n: createNumberFunction(current, fallback), + provide: createProvideFunction$1({ + current, + fallback, + messages: messages2 + }) + }; + } + const LocaleSymbol = Symbol.for("vuetify:locale"); + function isLocaleInstance(obj) { + return obj.name != null; + } + function createLocale(options) { + const i18n2 = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options); + const rtl = createRtl(i18n2, options); + return { + ...i18n2, + ...rtl + }; + } + function useLocale() { + const locale = require$$0.inject(LocaleSymbol); + if (!locale) throw new Error("[Vuetify] Could not find injected locale instance"); + return locale; + } + function provideLocale(props) { + const locale = require$$0.inject(LocaleSymbol); + if (!locale) throw new Error("[Vuetify] Could not find injected locale instance"); + const i18n2 = locale.provide(props); + const rtl = provideRtl(i18n2, locale.rtl, props); + const data = { + ...i18n2, + ...rtl + }; + require$$0.provide(LocaleSymbol, data); + return data; + } + function genDefaults$3() { + return { + af: false, + ar: true, + bg: false, + ca: false, + ckb: false, + cs: false, + de: false, + el: false, + en: false, + es: false, + et: false, + fa: true, + fi: false, + fr: false, + hr: false, + hu: false, + he: true, + id: false, + it: false, + ja: false, + km: false, + ko: false, + lv: false, + lt: false, + nl: false, + no: false, + pl: false, + pt: false, + ro: false, + ru: false, + sk: false, + sl: false, + srCyrl: false, + srLatn: false, + sv: false, + th: false, + tr: false, + az: false, + uk: false, + vi: false, + zhHans: false, + zhHant: false + }; + } + function createRtl(i18n2, options) { + const rtl = require$$0.ref(options?.rtl ?? genDefaults$3()); + const isRtl = require$$0.computed(() => rtl.value[i18n2.current.value] ?? false); + return { + isRtl, + rtl, + rtlClasses: require$$0.toRef(() => `v-locale--is-${isRtl.value ? "rtl" : "ltr"}`) + }; + } + function provideRtl(locale, rtl, props) { + const isRtl = require$$0.computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false); + return { + isRtl, + rtl, + rtlClasses: require$$0.toRef(() => `v-locale--is-${isRtl.value ? "rtl" : "ltr"}`) + }; + } + function useRtl() { + const locale = require$$0.inject(LocaleSymbol); + if (!locale) throw new Error("[Vuetify] Could not find injected rtl instance"); + return { + isRtl: locale.isRtl, + rtlClasses: locale.rtlClasses + }; + } + const ThemeSymbol = Symbol.for("vuetify:theme"); + const makeThemeProps = propsFactory({ + theme: String + }, "theme"); + function genDefaults$2() { + return { + defaultTheme: "light", + prefix: "v-", + variations: { + colors: [], + lighten: 0, + darken: 0 + }, + themes: { + light: { + dark: false, + colors: { + background: "#FFFFFF", + surface: "#FFFFFF", + "surface-bright": "#FFFFFF", + "surface-light": "#EEEEEE", + "surface-variant": "#424242", + "on-surface-variant": "#EEEEEE", + primary: "#1867C0", + "primary-darken-1": "#1F5592", + secondary: "#48A9A6", + "secondary-darken-1": "#018786", + error: "#B00020", + info: "#2196F3", + success: "#4CAF50", + warning: "#FB8C00" + }, + variables: { + "border-color": "#000000", + "border-opacity": 0.12, + "high-emphasis-opacity": 0.87, + "medium-emphasis-opacity": 0.6, + "disabled-opacity": 0.38, + "idle-opacity": 0.04, + "hover-opacity": 0.04, + "focus-opacity": 0.12, + "selected-opacity": 0.08, + "activated-opacity": 0.12, + "pressed-opacity": 0.12, + "dragged-opacity": 0.08, + "theme-kbd": "#EEEEEE", + "theme-on-kbd": "#000000", + "theme-code": "#F5F5F5", + "theme-on-code": "#000000" + } + }, + dark: { + dark: true, + colors: { + background: "#121212", + surface: "#212121", + "surface-bright": "#ccbfd6", + "surface-light": "#424242", + "surface-variant": "#c8c8c8", + "on-surface-variant": "#000000", + primary: "#2196F3", + "primary-darken-1": "#277CC1", + secondary: "#54B6B2", + "secondary-darken-1": "#48A9A6", + error: "#CF6679", + info: "#2196F3", + success: "#4CAF50", + warning: "#FB8C00" + }, + variables: { + "border-color": "#FFFFFF", + "border-opacity": 0.12, + "high-emphasis-opacity": 1, + "medium-emphasis-opacity": 0.7, + "disabled-opacity": 0.5, + "idle-opacity": 0.1, + "hover-opacity": 0.04, + "focus-opacity": 0.12, + "selected-opacity": 0.08, + "activated-opacity": 0.12, + "pressed-opacity": 0.16, + "dragged-opacity": 0.08, + "theme-kbd": "#424242", + "theme-on-kbd": "#FFFFFF", + "theme-code": "#343434", + "theme-on-code": "#CCCCCC" + } + } + }, + stylesheetId: "vuetify-theme-stylesheet", + scoped: false, + unimportant: false, + utilities: true + }; + } + function parseThemeOptions() { + let options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : genDefaults$2(); + const defaults2 = genDefaults$2(); + if (!options) return { + ...defaults2, + isDisabled: true + }; + const themes2 = {}; + for (const [key, theme2] of Object.entries(options.themes ?? {})) { + const defaultTheme = theme2.dark || key === "dark" ? defaults2.themes?.dark : defaults2.themes?.light; + themes2[key] = mergeDeep$1(defaultTheme, theme2); + } + return mergeDeep$1(defaults2, { + ...options, + themes: themes2 + }); + } + function createCssClass(lines, selector2, content, scope) { + lines.push(`${getScopedSelector(selector2, scope)} { +`, ...content.map((line) => ` ${line}; +`), "}\n"); + } + function genCssVariables(theme2, prefix) { + const lightOverlay = theme2.dark ? 2 : 1; + const darkOverlay = theme2.dark ? 1 : 2; + const variables = []; + for (const [key, value] of Object.entries(theme2.colors)) { + const rgb2 = parseColor(value); + variables.push(`--${prefix}theme-${key}: ${rgb2.r},${rgb2.g},${rgb2.b}`); + if (!key.startsWith("on-")) { + variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`); + } + } + for (const [key, value] of Object.entries(theme2.variables)) { + const color = typeof value === "string" && value.startsWith("#") ? parseColor(value) : void 0; + const rgb2 = color ? `${color.r}, ${color.g}, ${color.b}` : void 0; + variables.push(`--${prefix}${key}: ${rgb2 ?? value}`); + } + return variables; + } + function genVariation(name, color, variations) { + const object = {}; + if (variations) { + for (const variation of ["lighten", "darken"]) { + const fn2 = variation === "lighten" ? lighten : darken; + for (const amount of createRange(variations[variation], 1)) { + object[`${name}-${variation}-${amount}`] = RGBtoHex(fn2(parseColor(color), amount)); + } + } + } + return object; + } + function genVariations(colors2, variations) { + if (!variations) return {}; + let variationColors = {}; + for (const name of variations.colors) { + const color = colors2[name]; + if (!color) continue; + variationColors = { + ...variationColors, + ...genVariation(name, color, variations) + }; + } + return variationColors; + } + function genOnColors(colors2) { + const onColors = {}; + for (const color of Object.keys(colors2)) { + if (color.startsWith("on-") || colors2[`on-${color}`]) continue; + const onColor = `on-${color}`; + const colorVal = parseColor(colors2[color]); + onColors[onColor] = getForeground(colorVal); + } + return onColors; + } + function getScopedSelector(selector2, scope) { + if (!scope) return selector2; + const scopeSelector = `:where(${scope})`; + return selector2 === ":root" ? scopeSelector : `${scopeSelector} ${selector2}`; + } + function upsertStyles(id2, cspNonce, styles) { + const styleEl = getOrCreateStyleElement(id2, cspNonce); + if (!styleEl) return; + styleEl.innerHTML = styles; + } + function getOrCreateStyleElement(id2, cspNonce) { + if (!IN_BROWSER) return null; + let style = document.getElementById(id2); + if (!style) { + style = document.createElement("style"); + style.id = id2; + style.type = "text/css"; + if (cspNonce) style.setAttribute("nonce", cspNonce); + document.head.appendChild(style); + } + return style; + } + function createTheme(options) { + const parsedOptions = parseThemeOptions(options); + const _name = require$$0.shallowRef(parsedOptions.defaultTheme); + const themes2 = require$$0.ref(parsedOptions.themes); + const systemName = require$$0.shallowRef("light"); + const name = require$$0.computed({ + get() { + return _name.value === "system" ? systemName.value : _name.value; + }, + set(val) { + _name.value = val; + } + }); + const computedThemes = require$$0.computed(() => { + const acc = {}; + for (const [name2, original] of Object.entries(themes2.value)) { + const colors2 = { + ...original.colors, + ...genVariations(original.colors, parsedOptions.variations) + }; + acc[name2] = { + ...original, + colors: { + ...colors2, + ...genOnColors(colors2) + } + }; + } + return acc; + }); + const current = require$$0.toRef(() => computedThemes.value[name.value]); + const isSystem = require$$0.toRef(() => _name.value === "system"); + const styles = require$$0.computed(() => { + const lines = []; + const important = parsedOptions.unimportant ? "" : " !important"; + const scoped = parsedOptions.scoped ? parsedOptions.prefix : ""; + if (current.value?.dark) { + createCssClass(lines, ":root", ["color-scheme: dark"], parsedOptions.scope); + } + createCssClass(lines, ":root", genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope); + for (const [themeName, theme2] of Object.entries(computedThemes.value)) { + createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme2.dark ? "dark" : "normal"}`, ...genCssVariables(theme2, parsedOptions.prefix)], parsedOptions.scope); + } + if (parsedOptions.utilities) { + const bgLines = []; + const fgLines = []; + const colors2 = new Set(Object.values(computedThemes.value).flatMap((theme2) => Object.keys(theme2.colors))); + for (const key of colors2) { + if (key.startsWith("on-")) { + createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope); + } else { + createCssClass(bgLines, `.${scoped}bg-${key}`, [`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`, `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`], parsedOptions.scope); + createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope); + createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope); + } + } + lines.push(...bgLines, ...fgLines); + } + return lines.map((str, i7) => i7 === 0 ? str : ` ${str}`).join(""); + }); + const themeClasses = require$$0.toRef(() => parsedOptions.isDisabled ? void 0 : `${parsedOptions.prefix}theme--${name.value}`); + const themeNames = require$$0.toRef(() => Object.keys(computedThemes.value)); + if (SUPPORTS_MATCH_MEDIA) { + let updateSystemName = function() { + systemName.value = media.matches ? "dark" : "light"; + }; + const media = window.matchMedia("(prefers-color-scheme: dark)"); + updateSystemName(); + media.addEventListener("change", updateSystemName, { + passive: true + }); + if (require$$0.getCurrentScope()) { + require$$0.onScopeDispose(() => { + media.removeEventListener("change", updateSystemName); + }); + } + } + function install2(app) { + if (parsedOptions.isDisabled) return; + const head = app._context.provides.usehead; + if (head) { + let getHead = function() { + return { + style: [{ + textContent: styles.value, + id: parsedOptions.stylesheetId, + nonce: parsedOptions.cspNonce || false + }] + }; + }; + if (head.push) { + const entry = head.push(getHead); + if (IN_BROWSER) { + require$$0.watch(styles, () => { + entry.patch(getHead); + }); + } + } else { + if (IN_BROWSER) { + head.addHeadObjs(require$$0.toRef(getHead)); + require$$0.watchEffect(() => head.updateDOM()); + } else { + head.addHeadObjs(getHead()); + } + } + } else { + let updateStyles = function() { + upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value); + }; + if (IN_BROWSER) { + require$$0.watch(styles, updateStyles, { + immediate: true + }); + } else { + updateStyles(); + } + } + } + function change(themeName) { + if (themeName !== "system" && !themeNames.value.includes(themeName)) { + consoleWarn(`Theme "${themeName}" not found on the Vuetify theme instance`); + return; + } + name.value = themeName; + } + function cycle() { + let themeArray = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : themeNames.value; + const currentIndex = themeArray.indexOf(name.value); + const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length; + change(themeArray[nextIndex]); + } + function toggle() { + let themeArray = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ["light", "dark"]; + cycle(themeArray); + } + const globalName = new Proxy(name, { + get(target, prop) { + return Reflect.get(target, prop); + }, + set(target, prop, val) { + if (prop === "value") { + deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`); + } + return Reflect.set(target, prop, val); + } + }); + return { + install: install2, + change, + cycle, + toggle, + isDisabled: parsedOptions.isDisabled, + isSystem, + name, + themes: themes2, + current, + computedThemes, + prefix: parsedOptions.prefix, + themeClasses, + styles, + global: { + name: globalName, + current + } + }; + } + function provideTheme(props) { + getCurrentInstance("provideTheme"); + const theme2 = require$$0.inject(ThemeSymbol, null); + if (!theme2) throw new Error("Could not find Vuetify theme injection"); + const name = require$$0.toRef(() => props.theme ?? theme2.name.value); + const current = require$$0.toRef(() => theme2.themes.value[name.value]); + const themeClasses = require$$0.toRef(() => theme2.isDisabled ? void 0 : `${theme2.prefix}theme--${name.value}`); + const newTheme = { + ...theme2, + name, + current, + themeClasses + }; + require$$0.provide(ThemeSymbol, newTheme); + return newTheme; + } + function useTheme() { + getCurrentInstance("useTheme"); + const theme2 = require$$0.inject(ThemeSymbol, null); + if (!theme2) throw new Error("Could not find Vuetify theme injection"); + return theme2; + } + const makeVAppProps = propsFactory({ + ...makeComponentProps(), + ...omit(makeLayoutProps(), ["fullHeight"]), + ...makeThemeProps() + }, "VApp"); + const VApp = genericComponent()({ + name: "VApp", + props: makeVAppProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const theme2 = provideTheme(props); + const { + layoutClasses, + getLayoutItem, + items, + layoutRef + } = createLayout({ + ...props, + fullHeight: true + }); + const { + rtlClasses + } = useRtl(); + useRender(() => require$$0.createElementVNode("div", { + "ref": layoutRef, + "class": require$$0.normalizeClass(["v-application", theme2.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle([props.style]) + }, [require$$0.createElementVNode("div", { + "class": "v-application__wrap" + }, [slots.default?.()])])); + return { + getLayoutItem, + items, + theme: theme2 + }; + } + }); + const makeTagProps = propsFactory({ + tag: { + type: [String, Object, Function], + default: "div" + } + }, "tag"); + const makeVToolbarTitleProps = propsFactory({ + text: String, + ...makeComponentProps(), + ...makeTagProps() + }, "VToolbarTitle"); + const VToolbarTitle = genericComponent()({ + name: "VToolbarTitle", + props: makeVToolbarTitleProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + const hasText = !!(slots.default || slots.text || props.text); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-toolbar-title", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [hasText && require$$0.createElementVNode("div", { + "class": "v-toolbar-title__placeholder" + }, [slots.text ? slots.text() : props.text, slots.default?.()])] + }); + }); + return {}; + } + }); + const makeTransitionProps$1 = propsFactory({ + disabled: Boolean, + group: Boolean, + hideOnLeave: Boolean, + leaveAbsolute: Boolean, + mode: String, + origin: String + }, "transition"); + function createCssTransition(name, origin, mode) { + return genericComponent()({ + name, + props: makeTransitionProps$1({ + mode, + origin + }), + setup(props, _ref) { + let { + slots + } = _ref; + const functions = { + onBeforeEnter(el2) { + if (props.origin) { + el2.style.transformOrigin = props.origin; + } + }, + onLeave(el2) { + if (props.leaveAbsolute) { + const { + offsetTop, + offsetLeft, + offsetWidth, + offsetHeight + } = el2; + el2._transitionInitialStyles = { + position: el2.style.position, + top: el2.style.top, + left: el2.style.left, + width: el2.style.width, + height: el2.style.height + }; + el2.style.position = "absolute"; + el2.style.top = `${offsetTop}px`; + el2.style.left = `${offsetLeft}px`; + el2.style.width = `${offsetWidth}px`; + el2.style.height = `${offsetHeight}px`; + } + if (props.hideOnLeave) { + el2.style.setProperty("display", "none", "important"); + } + }, + onAfterLeave(el2) { + if (props.leaveAbsolute && el2?._transitionInitialStyles) { + const { + position: position2, + top, + left, + width, + height + } = el2._transitionInitialStyles; + delete el2._transitionInitialStyles; + el2.style.position = position2 || ""; + el2.style.top = top || ""; + el2.style.left = left || ""; + el2.style.width = width || ""; + el2.style.height = height || ""; + } + } + }; + return () => { + const tag = props.group ? require$$0.TransitionGroup : require$$0.Transition; + return require$$0.h(tag, { + name: props.disabled ? "" : name, + css: !props.disabled, + ...props.group ? void 0 : { + mode: props.mode + }, + ...props.disabled ? {} : functions + }, slots.default); + }; + } + }); + } + function createJavascriptTransition(name, functions) { + let mode = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out"; + return genericComponent()({ + name, + props: { + mode: { + type: String, + default: mode + }, + disabled: { + type: Boolean, + default: PREFERS_REDUCED_MOTION() + }, + group: Boolean + }, + setup(props, _ref2) { + let { + slots + } = _ref2; + const tag = props.group ? require$$0.TransitionGroup : require$$0.Transition; + return () => { + return require$$0.h(tag, { + name: props.disabled ? "" : name, + css: !props.disabled, + // mode: props.mode, // TODO: vuejs/vue-next#3104 + ...props.disabled ? {} : functions + }, slots.default); + }; + } + }); + } + function ExpandTransitionGenerator() { + let expandedParentClass = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; + let x = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + const sizeProperty = x ? "width" : "height"; + const offsetProperty = require$$0.camelize(`offset-${sizeProperty}`); + return { + onBeforeEnter(el2) { + el2._parent = el2.parentNode; + el2._initialStyle = { + transition: el2.style.transition, + overflow: el2.style.overflow, + [sizeProperty]: el2.style[sizeProperty] + }; + }, + onEnter(el2) { + const initialStyle = el2._initialStyle; + if (!initialStyle) return; + el2.style.setProperty("transition", "none", "important"); + el2.style.overflow = "hidden"; + const offset = `${el2[offsetProperty]}px`; + el2.style[sizeProperty] = "0"; + void el2.offsetHeight; + el2.style.transition = initialStyle.transition; + if (expandedParentClass && el2._parent) { + el2._parent.classList.add(expandedParentClass); + } + requestAnimationFrame(() => { + el2.style[sizeProperty] = offset; + }); + }, + onAfterEnter: resetStyles, + onEnterCancelled: resetStyles, + onLeave(el2) { + el2._initialStyle = { + transition: "", + overflow: el2.style.overflow, + [sizeProperty]: el2.style[sizeProperty] + }; + el2.style.overflow = "hidden"; + el2.style[sizeProperty] = `${el2[offsetProperty]}px`; + void el2.offsetHeight; + requestAnimationFrame(() => el2.style[sizeProperty] = "0"); + }, + onAfterLeave, + onLeaveCancelled: onAfterLeave + }; + function onAfterLeave(el2) { + if (expandedParentClass && el2._parent) { + el2._parent.classList.remove(expandedParentClass); + } + resetStyles(el2); + } + function resetStyles(el2) { + if (!el2._initialStyle) return; + const size = el2._initialStyle[sizeProperty]; + el2.style.overflow = el2._initialStyle.overflow; + if (size != null) el2.style[sizeProperty] = size; + delete el2._initialStyle; + } + } + const makeVDialogTransitionProps = propsFactory({ + target: [Object, Array] + }, "v-dialog-transition"); + const saved = /* @__PURE__ */ new WeakMap(); + const VDialogTransition = genericComponent()({ + name: "VDialogTransition", + props: makeVDialogTransitionProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const functions = { + onBeforeEnter(el2) { + el2.style.pointerEvents = "none"; + el2.style.visibility = "hidden"; + }, + async onEnter(el2, done) { + await new Promise((resolve) => requestAnimationFrame(resolve)); + await new Promise((resolve) => requestAnimationFrame(resolve)); + el2.style.visibility = ""; + const dimensions = getDimensions(props.target, el2); + const { + x, + y, + sx: sx2, + sy: sy2, + speed + } = dimensions; + saved.set(el2, dimensions); + if (PREFERS_REDUCED_MOTION()) { + animate(el2, [{ + opacity: 0 + }, {}], { + duration: 125 * speed, + easing: deceleratedEasing + }).finished.then(() => done()); + } else { + const animation = animate(el2, [{ + transform: `translate(${x}px, ${y}px) scale(${sx2}, ${sy2})`, + opacity: 0 + }, {}], { + duration: 225 * speed, + easing: deceleratedEasing + }); + getChildren(el2)?.forEach((el3) => { + animate(el3, [{ + opacity: 0 + }, { + opacity: 0, + offset: 0.33 + }, {}], { + duration: 225 * 2 * speed, + easing: standardEasing + }); + }); + animation.finished.then(() => done()); + } + }, + onAfterEnter(el2) { + el2.style.removeProperty("pointer-events"); + }, + onBeforeLeave(el2) { + el2.style.pointerEvents = "none"; + }, + async onLeave(el2, done) { + await new Promise((resolve) => requestAnimationFrame(resolve)); + let dimensions; + if (!saved.has(el2) || Array.isArray(props.target) || props.target.offsetParent || props.target.getClientRects().length) { + dimensions = getDimensions(props.target, el2); + } else { + dimensions = saved.get(el2); + } + const { + x, + y, + sx: sx2, + sy: sy2, + speed + } = dimensions; + if (PREFERS_REDUCED_MOTION()) { + animate(el2, [{}, { + opacity: 0 + }], { + duration: 85 * speed, + easing: acceleratedEasing + }).finished.then(() => done()); + } else { + const animation = animate(el2, [{}, { + transform: `translate(${x}px, ${y}px) scale(${sx2}, ${sy2})`, + opacity: 0 + }], { + duration: 125 * speed, + easing: acceleratedEasing + }); + animation.finished.then(() => done()); + getChildren(el2)?.forEach((el3) => { + animate(el3, [{}, { + opacity: 0, + offset: 0.2 + }, { + opacity: 0 + }], { + duration: 125 * 2 * speed, + easing: standardEasing + }); + }); + } + }, + onAfterLeave(el2) { + el2.style.removeProperty("pointer-events"); + } + }; + return () => { + return props.target ? require$$0.createVNode(require$$0.Transition, require$$0.mergeProps({ + "name": "dialog-transition" + }, functions, { + "css": false + }), slots) : require$$0.createVNode(require$$0.Transition, { + "name": "dialog-transition" + }, slots); + }; + } + }); + function getChildren(el2) { + const els = el2.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children; + return els && [...els]; + } + function getDimensions(target, el2) { + const targetBox = getTargetBox(target); + const elBox = nullifyTransforms(el2); + const [originX, originY] = getComputedStyle(el2).transformOrigin.split(" ").map((v) => parseFloat(v)); + const [anchorSide, anchorOffset] = getComputedStyle(el2).getPropertyValue("--v-overlay-anchor-origin").split(" "); + let offsetX = targetBox.left + targetBox.width / 2; + if (anchorSide === "left" || anchorOffset === "left") { + offsetX -= targetBox.width / 2; + } else if (anchorSide === "right" || anchorOffset === "right") { + offsetX += targetBox.width / 2; + } + let offsetY = targetBox.top + targetBox.height / 2; + if (anchorSide === "top" || anchorOffset === "top") { + offsetY -= targetBox.height / 2; + } else if (anchorSide === "bottom" || anchorOffset === "bottom") { + offsetY += targetBox.height / 2; + } + const tsx = targetBox.width / elBox.width; + const tsy = targetBox.height / elBox.height; + const maxs = Math.max(1, tsx, tsy); + const sx2 = tsx / maxs || 0; + const sy2 = tsy / maxs || 0; + const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight); + const speed = asa > 0.12 ? Math.min(1.5, (asa - 0.12) * 10 + 1) : 1; + return { + x: offsetX - (originX + elBox.left), + y: offsetY - (originY + elBox.top), + sx: sx2, + sy: sy2, + speed + }; + } + const VFabTransition = createCssTransition("fab-transition", "center center", "out-in"); + const VDialogBottomTransition = createCssTransition("dialog-bottom-transition"); + const VDialogTopTransition = createCssTransition("dialog-top-transition"); + const VFadeTransition = createCssTransition("fade-transition"); + const VScaleTransition = createCssTransition("scale-transition"); + const VScrollXTransition = createCssTransition("scroll-x-transition"); + const VScrollXReverseTransition = createCssTransition("scroll-x-reverse-transition"); + const VScrollYTransition = createCssTransition("scroll-y-transition"); + const VScrollYReverseTransition = createCssTransition("scroll-y-reverse-transition"); + const VSlideXTransition = createCssTransition("slide-x-transition"); + const VSlideXReverseTransition = createCssTransition("slide-x-reverse-transition"); + const VSlideYTransition = createCssTransition("slide-y-transition"); + const VSlideYReverseTransition = createCssTransition("slide-y-reverse-transition"); + const VExpandTransition = createJavascriptTransition("expand-transition", ExpandTransitionGenerator()); + const VExpandXTransition = createJavascriptTransition("expand-x-transition", ExpandTransitionGenerator("", true)); + const makeVDefaultsProviderProps = propsFactory({ + defaults: Object, + disabled: Boolean, + reset: [Number, String], + root: [Boolean, String], + scoped: Boolean + }, "VDefaultsProvider"); + const VDefaultsProvider = genericComponent(false)({ + name: "VDefaultsProvider", + props: makeVDefaultsProviderProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + defaults: defaults2, + disabled, + reset, + root, + scoped + } = require$$0.toRefs(props); + provideDefaults(defaults2, { + reset, + root, + scoped, + disabled + }); + return () => slots.default?.(); + } + }); + const makeDimensionProps = propsFactory({ + height: [Number, String], + maxHeight: [Number, String], + maxWidth: [Number, String], + minHeight: [Number, String], + minWidth: [Number, String], + width: [Number, String] + }, "dimension"); + function useDimension(props) { + const dimensionStyles = require$$0.computed(() => { + const styles = {}; + const height = convertToUnit(props.height); + const maxHeight = convertToUnit(props.maxHeight); + const maxWidth = convertToUnit(props.maxWidth); + const minHeight = convertToUnit(props.minHeight); + const minWidth = convertToUnit(props.minWidth); + const width = convertToUnit(props.width); + if (height != null) styles.height = height; + if (maxHeight != null) styles.maxHeight = maxHeight; + if (maxWidth != null) styles.maxWidth = maxWidth; + if (minHeight != null) styles.minHeight = minHeight; + if (minWidth != null) styles.minWidth = minWidth; + if (width != null) styles.width = width; + return styles; + }); + return { + dimensionStyles + }; + } + function useAspectStyles(props) { + return { + aspectStyles: require$$0.computed(() => { + const ratio = Number(props.aspectRatio); + return ratio ? { + paddingBottom: String(1 / ratio * 100) + "%" + } : void 0; + }) + }; + } + const makeVResponsiveProps = propsFactory({ + aspectRatio: [String, Number], + contentClass: null, + inline: Boolean, + ...makeComponentProps(), + ...makeDimensionProps() + }, "VResponsive"); + const VResponsive = genericComponent()({ + name: "VResponsive", + props: makeVResponsiveProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + aspectStyles + } = useAspectStyles(props); + const { + dimensionStyles + } = useDimension(props); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-responsive", { + "v-responsive--inline": props.inline + }, props.class]), + "style": require$$0.normalizeStyle([dimensionStyles.value, props.style]) + }, [require$$0.createElementVNode("div", { + "class": "v-responsive__sizer", + "style": require$$0.normalizeStyle(aspectStyles.value) + }, null), slots.additional?.(), slots.default && require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-responsive__content", props.contentClass]) + }, [slots.default()])])); + return {}; + } + }); + function useColor$1(colors2) { + return destructComputed(() => { + const { + class: colorClasses, + style: colorStyles + } = computeColor(colors2); + return { + colorClasses, + colorStyles + }; + }); + } + function useTextColor(color) { + const { + colorClasses: textColorClasses, + colorStyles: textColorStyles + } = useColor$1(() => ({ + text: require$$0.toValue(color) + })); + return { + textColorClasses, + textColorStyles + }; + } + function useBackgroundColor(color) { + const { + colorClasses: backgroundColorClasses, + colorStyles: backgroundColorStyles + } = useColor$1(() => ({ + background: require$$0.toValue(color) + })); + return { + backgroundColorClasses, + backgroundColorStyles + }; + } + function computeColor(colors2) { + const _colors = require$$0.toValue(colors2); + const classes = []; + const styles = {}; + if (_colors.background) { + if (isCssColor(_colors.background)) { + styles.backgroundColor = _colors.background; + if (!_colors.text && isParsableColor(_colors.background)) { + const backgroundColor2 = parseColor(_colors.background); + if (backgroundColor2.a == null || backgroundColor2.a === 1) { + const textColor = getForeground(backgroundColor2); + styles.color = textColor; + styles.caretColor = textColor; + } + } + } else { + classes.push(`bg-${_colors.background}`); + } + } + if (_colors.text) { + if (isCssColor(_colors.text)) { + styles.color = _colors.text; + styles.caretColor = _colors.text; + } else { + classes.push(`text-${_colors.text}`); + } + } + return { + class: classes, + style: styles + }; + } + const makeRoundedProps = propsFactory({ + rounded: { + type: [Boolean, Number, String], + default: void 0 + }, + tile: Boolean + }, "rounded"); + function useRounded(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const roundedClasses = require$$0.computed(() => { + const rounded = require$$0.isRef(props) ? props.value : props.rounded; + const tile = require$$0.isRef(props) ? false : props.tile; + const classes = []; + if (tile || rounded === false) { + classes.push("rounded-0"); + } else if (rounded === true || rounded === "") { + classes.push(`${name}--rounded`); + } else if (typeof rounded === "string" || rounded === 0) { + for (const value of String(rounded).split(" ")) { + classes.push(`rounded-${value}`); + } + } + return classes; + }); + return { + roundedClasses + }; + } + const makeTransitionProps = propsFactory({ + transition: { + type: null, + default: "fade-transition", + validator: (val) => val !== true + } + }, "transition"); + const MaybeTransition = (props, _ref) => { + let { + slots + } = _ref; + const { + transition, + disabled, + group, + ...rest + } = props; + const { + component = group ? require$$0.TransitionGroup : require$$0.Transition, + ...customProps + } = isObject$7(transition) ? transition : {}; + let transitionProps; + if (isObject$7(transition)) { + transitionProps = require$$0.mergeProps(customProps, onlyDefinedProps({ + disabled, + group + }), rest); + } else { + transitionProps = require$$0.mergeProps({ + name: disabled || !transition ? "" : transition + }, rest); + } + return require$$0.h(component, transitionProps, slots); + }; + function mounted$5(el2, binding) { + if (!SUPPORTS_INTERSECTION) return; + const modifiers = binding.modifiers || {}; + const value = binding.value; + const { + handler, + options + } = typeof value === "object" ? value : { + handler: value, + options: {} + }; + const observer = new IntersectionObserver(function() { + let entries2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; + let observer2 = arguments.length > 1 ? arguments[1] : void 0; + const _observe = el2._observe?.[binding.instance.$.uid]; + if (!_observe) return; + const isIntersecting = entries2.some((entry) => entry.isIntersecting); + if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) { + handler(isIntersecting, entries2, observer2); + } + if (isIntersecting && modifiers.once) unmounted$5(el2, binding); + else _observe.init = true; + }, options); + el2._observe = Object(el2._observe); + el2._observe[binding.instance.$.uid] = { + init: false, + observer + }; + observer.observe(el2); + } + function unmounted$5(el2, binding) { + const observe = el2._observe?.[binding.instance.$.uid]; + if (!observe) return; + observe.observer.unobserve(el2); + delete el2._observe[binding.instance.$.uid]; + } + const Intersect = { + mounted: mounted$5, + unmounted: unmounted$5 + }; + const makeVImgProps = propsFactory({ + absolute: Boolean, + alt: String, + cover: Boolean, + color: String, + draggable: { + type: [Boolean, String], + default: void 0 + }, + eager: Boolean, + gradient: String, + lazySrc: String, + options: { + type: Object, + // For more information on types, navigate to: + // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API + default: () => ({ + root: void 0, + rootMargin: void 0, + threshold: void 0 + }) + }, + sizes: String, + src: { + type: [String, Object], + default: "" + }, + crossorigin: String, + referrerpolicy: String, + srcset: String, + position: String, + ...makeVResponsiveProps(), + ...makeComponentProps(), + ...makeRoundedProps(), + ...makeTransitionProps() + }, "VImg"); + const VImg = genericComponent()({ + name: "VImg", + directives: { + vIntersect: Intersect + }, + props: makeVImgProps(), + emits: { + loadstart: (value) => true, + load: (value) => true, + error: (value) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + roundedClasses + } = useRounded(props); + const vm = getCurrentInstance("VImg"); + const currentSrc = require$$0.shallowRef(""); + const image = require$$0.ref(); + const state = require$$0.shallowRef(props.eager ? "loading" : "idle"); + const naturalWidth = require$$0.shallowRef(); + const naturalHeight = require$$0.shallowRef(); + const normalisedSrc = require$$0.computed(() => { + return props.src && typeof props.src === "object" ? { + src: props.src.src, + srcset: props.srcset || props.src.srcset, + lazySrc: props.lazySrc || props.src.lazySrc, + aspect: Number(props.aspectRatio || props.src.aspect || 0) + } : { + src: props.src, + srcset: props.srcset, + lazySrc: props.lazySrc, + aspect: Number(props.aspectRatio || 0) + }; + }); + const aspectRatio = require$$0.computed(() => { + return normalisedSrc.value.aspect || naturalWidth.value / naturalHeight.value || 0; + }); + require$$0.watch(() => props.src, () => { + init2(state.value !== "idle"); + }); + require$$0.watch(aspectRatio, (val, oldVal) => { + if (!val && oldVal && image.value) { + pollForSize(image.value); + } + }); + require$$0.onBeforeMount(() => init2()); + function init2(isIntersecting) { + if (props.eager && isIntersecting) return; + if (SUPPORTS_INTERSECTION && !isIntersecting && !props.eager) return; + state.value = "loading"; + if (normalisedSrc.value.lazySrc) { + const lazyImg = new Image(); + lazyImg.src = normalisedSrc.value.lazySrc; + pollForSize(lazyImg, null); + } + if (!normalisedSrc.value.src) return; + require$$0.nextTick(() => { + emit("loadstart", image.value?.currentSrc || normalisedSrc.value.src); + setTimeout(() => { + if (vm.isUnmounted) return; + if (image.value?.complete) { + if (!image.value.naturalWidth) { + onError(); + } + if (state.value === "error") return; + if (!aspectRatio.value) pollForSize(image.value, null); + if (state.value === "loading") onLoad(); + } else { + if (!aspectRatio.value) pollForSize(image.value); + getSrc(); + } + }); + }); + } + function onLoad() { + if (vm.isUnmounted) return; + getSrc(); + pollForSize(image.value); + state.value = "loaded"; + emit("load", image.value?.currentSrc || normalisedSrc.value.src); + } + function onError() { + if (vm.isUnmounted) return; + state.value = "error"; + emit("error", image.value?.currentSrc || normalisedSrc.value.src); + } + function getSrc() { + const img = image.value; + if (img) currentSrc.value = img.currentSrc || img.src; + } + let timer = -1; + require$$0.onBeforeUnmount(() => { + clearTimeout(timer); + }); + function pollForSize(img) { + let timeout = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100; + const poll = () => { + clearTimeout(timer); + if (vm.isUnmounted) return; + const { + naturalHeight: imgHeight, + naturalWidth: imgWidth + } = img; + if (imgHeight || imgWidth) { + naturalWidth.value = imgWidth; + naturalHeight.value = imgHeight; + } else if (!img.complete && state.value === "loading" && timeout != null) { + timer = window.setTimeout(poll, timeout); + } else if (img.currentSrc.endsWith(".svg") || img.currentSrc.startsWith("data:image/svg+xml")) { + naturalWidth.value = 1; + naturalHeight.value = 1; + } + }; + poll(); + } + const containClasses = require$$0.toRef(() => ({ + "v-img__img--cover": props.cover, + "v-img__img--contain": !props.cover + })); + const __image = () => { + if (!normalisedSrc.value.src || state.value === "idle") return null; + const img = require$$0.createElementVNode("img", { + "class": require$$0.normalizeClass(["v-img__img", containClasses.value]), + "style": { + objectPosition: props.position + }, + "crossorigin": props.crossorigin, + "src": normalisedSrc.value.src, + "srcset": normalisedSrc.value.srcset, + "alt": props.alt, + "referrerpolicy": props.referrerpolicy, + "draggable": props.draggable, + "sizes": props.sizes, + "ref": image, + "onLoad": onLoad, + "onError": onError + }, null); + const sources = slots.sources?.(); + return require$$0.createVNode(MaybeTransition, { + "transition": props.transition, + "appear": true + }, { + default: () => [require$$0.withDirectives(sources ? require$$0.createElementVNode("picture", { + "class": "v-img__picture" + }, [sources, img]) : img, [[require$$0.vShow, state.value === "loaded"]])] + }); + }; + const __preloadImage = () => require$$0.createVNode(MaybeTransition, { + "transition": props.transition + }, { + default: () => [normalisedSrc.value.lazySrc && state.value !== "loaded" && require$$0.createElementVNode("img", { + "class": require$$0.normalizeClass(["v-img__img", "v-img__img--preload", containClasses.value]), + "style": { + objectPosition: props.position + }, + "crossorigin": props.crossorigin, + "src": normalisedSrc.value.lazySrc, + "alt": props.alt, + "referrerpolicy": props.referrerpolicy, + "draggable": props.draggable + }, null)] + }); + const __placeholder = () => { + if (!slots.placeholder) return null; + return require$$0.createVNode(MaybeTransition, { + "transition": props.transition, + "appear": true + }, { + default: () => [(state.value === "loading" || state.value === "error" && !slots.error) && require$$0.createElementVNode("div", { + "class": "v-img__placeholder" + }, [slots.placeholder()])] + }); + }; + const __error = () => { + if (!slots.error) return null; + return require$$0.createVNode(MaybeTransition, { + "transition": props.transition, + "appear": true + }, { + default: () => [state.value === "error" && require$$0.createElementVNode("div", { + "class": "v-img__error" + }, [slots.error()])] + }); + }; + const __gradient = () => { + if (!props.gradient) return null; + return require$$0.createElementVNode("div", { + "class": "v-img__gradient", + "style": { + backgroundImage: `linear-gradient(${props.gradient})` + } + }, null); + }; + const isBooted = require$$0.shallowRef(false); + { + const stop2 = require$$0.watch(aspectRatio, (val) => { + if (val) { + requestAnimationFrame(() => { + requestAnimationFrame(() => { + isBooted.value = true; + }); + }); + stop2(); + } + }); + } + useRender(() => { + const responsiveProps = VResponsive.filterProps(props); + return require$$0.withDirectives(require$$0.createVNode(VResponsive, require$$0.mergeProps({ + "class": ["v-img", { + "v-img--absolute": props.absolute, + "v-img--booting": !isBooted.value + }, backgroundColorClasses.value, roundedClasses.value, props.class], + "style": [{ + width: convertToUnit(props.width === "auto" ? naturalWidth.value : props.width) + }, backgroundColorStyles.value, props.style] + }, responsiveProps, { + "aspectRatio": aspectRatio.value, + "aria-label": props.alt, + "role": props.alt ? "img" : void 0 + }), { + additional: () => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(__image, null, null), require$$0.createVNode(__preloadImage, null, null), require$$0.createVNode(__gradient, null, null), require$$0.createVNode(__placeholder, null, null), require$$0.createVNode(__error, null, null)]), + default: slots.default + }), [[Intersect, { + handler: init2, + options: props.options + }, null, { + once: true + }]]); + }); + return { + currentSrc, + image, + state, + naturalWidth, + naturalHeight + }; + } + }); + const makeBorderProps = propsFactory({ + border: [Boolean, Number, String] + }, "border"); + function useBorder(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const borderClasses = require$$0.computed(() => { + const border = props.border; + if (border === true || border === "") { + return `${name}--border`; + } else if (typeof border === "string" || border === 0) { + return String(border).split(" ").map((v) => `border-${v}`); + } + return []; + }); + return { + borderClasses + }; + } + const makeElevationProps = propsFactory({ + elevation: { + type: [Number, String], + validator(v) { + const value = parseInt(v); + return !isNaN(value) && value >= 0 && // Material Design has a maximum elevation of 24 + // https://material.io/design/environment/elevation.html#default-elevations + value <= 24; + } + } + }, "elevation"); + function useElevation(props) { + const elevationClasses = require$$0.toRef(() => { + const elevation = require$$0.isRef(props) ? props.value : props.elevation; + if (elevation == null) return []; + return [`elevation-${elevation}`]; + }); + return { + elevationClasses + }; + } + const allowedDensities$1 = [null, "prominent", "default", "comfortable", "compact"]; + const makeVToolbarProps = propsFactory({ + absolute: Boolean, + collapse: Boolean, + color: String, + density: { + type: String, + default: "default", + validator: (v) => allowedDensities$1.includes(v) + }, + extended: { + type: Boolean, + default: null + }, + extensionHeight: { + type: [Number, String], + default: 48 + }, + flat: Boolean, + floating: Boolean, + height: { + type: [Number, String], + default: 64 + }, + image: String, + title: String, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeTagProps({ + tag: "header" + }), + ...makeThemeProps() + }, "VToolbar"); + const VToolbar = genericComponent()({ + name: "VToolbar", + props: makeVToolbarProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + borderClasses + } = useBorder(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const { + themeClasses + } = provideTheme(props); + const { + rtlClasses + } = useRtl(); + const isExtended = require$$0.shallowRef(props.extended === null ? !!slots.extension?.() : props.extended); + const contentHeight = require$$0.computed(() => parseInt(Number(props.height) + (props.density === "prominent" ? Number(props.height) : 0) - (props.density === "comfortable" ? 8 : 0) - (props.density === "compact" ? 16 : 0), 10)); + const extensionHeight = require$$0.computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === "prominent" ? Number(props.extensionHeight) : 0) - (props.density === "comfortable" ? 4 : 0) - (props.density === "compact" ? 8 : 0), 10) : 0); + provideDefaults({ + VBtn: { + variant: "text" + } + }); + useRender(() => { + const hasTitle = !!(props.title || slots.title); + const hasImage = !!(slots.image || props.image); + const extension = slots.extension?.(); + isExtended.value = props.extended === null ? !!extension : props.extended; + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-toolbar", { + "v-toolbar--absolute": props.absolute, + "v-toolbar--collapse": props.collapse, + "v-toolbar--flat": props.flat, + "v-toolbar--floating": props.floating, + [`v-toolbar--density-${props.density}`]: true + }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, props.style]) + }, { + default: () => [hasImage && require$$0.createElementVNode("div", { + "key": "image", + "class": "v-toolbar__image" + }, [!slots.image ? require$$0.createVNode(VImg, { + "key": "image-img", + "cover": true, + "src": props.image + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "image-defaults", + "disabled": !props.image, + "defaults": { + VImg: { + cover: true, + src: props.image + } + } + }, slots.image)]), require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VTabs: { + height: convertToUnit(contentHeight.value) + } + } + }, { + default: () => [require$$0.createElementVNode("div", { + "class": "v-toolbar__content", + "style": { + height: convertToUnit(contentHeight.value) + } + }, [slots.prepend && require$$0.createElementVNode("div", { + "class": "v-toolbar__prepend" + }, [slots.prepend?.()]), hasTitle && require$$0.createVNode(VToolbarTitle, { + "key": "title", + "text": props.title + }, { + text: slots.title + }), slots.default?.(), slots.append && require$$0.createElementVNode("div", { + "class": "v-toolbar__append" + }, [slots.append?.()])])] + }), require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VTabs: { + height: convertToUnit(extensionHeight.value) + } + } + }, { + default: () => [require$$0.createVNode(VExpandTransition, null, { + default: () => [isExtended.value && require$$0.createElementVNode("div", { + "class": "v-toolbar__extension", + "style": { + height: convertToUnit(extensionHeight.value) + } + }, [extension])] + })] + })] + }); + }); + return { + contentHeight, + extensionHeight + }; + } + }); + const makeScrollProps = propsFactory({ + scrollTarget: { + type: String + }, + scrollThreshold: { + type: [String, Number], + default: 300 + } + }, "scroll"); + function useScroll(props) { + let args = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + const { + canScroll + } = args; + let previousScroll = 0; + let previousScrollHeight = 0; + const target = require$$0.ref(null); + const currentScroll = require$$0.shallowRef(0); + const savedScroll = require$$0.shallowRef(0); + const currentThreshold = require$$0.shallowRef(0); + const isScrollActive = require$$0.shallowRef(false); + const isScrollingUp = require$$0.shallowRef(false); + const scrollThreshold = require$$0.computed(() => { + return Number(props.scrollThreshold); + }); + const scrollRatio = require$$0.computed(() => { + return clamp$1((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0); + }); + const onScroll = () => { + const targetEl = target.value; + if (!targetEl || canScroll && !canScroll.value) return; + previousScroll = currentScroll.value; + currentScroll.value = "window" in targetEl ? targetEl.pageYOffset : targetEl.scrollTop; + const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight; + if (previousScrollHeight !== currentScrollHeight) { + previousScrollHeight = currentScrollHeight; + return; + } + isScrollingUp.value = currentScroll.value < previousScroll; + currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value); + }; + require$$0.watch(isScrollingUp, () => { + savedScroll.value = savedScroll.value || currentScroll.value; + }); + require$$0.watch(isScrollActive, () => { + savedScroll.value = 0; + }); + require$$0.onMounted(() => { + require$$0.watch(() => props.scrollTarget, (scrollTarget) => { + const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window; + if (!newTarget) { + consoleWarn(`Unable to locate element with identifier ${scrollTarget}`); + return; + } + if (newTarget === target.value) return; + target.value?.removeEventListener("scroll", onScroll); + target.value = newTarget; + target.value.addEventListener("scroll", onScroll, { + passive: true + }); + }, { + immediate: true + }); + }); + require$$0.onBeforeUnmount(() => { + target.value?.removeEventListener("scroll", onScroll); + }); + canScroll && require$$0.watch(canScroll, onScroll, { + immediate: true + }); + return { + scrollThreshold, + currentScroll, + currentThreshold, + isScrollActive, + scrollRatio, + // required only for testing + // probably can be removed + // later (2 chars chlng) + isScrollingUp, + savedScroll + }; + } + function useSsrBoot() { + const isBooted = require$$0.shallowRef(false); + require$$0.onMounted(() => { + window.requestAnimationFrame(() => { + isBooted.value = true; + }); + }); + const ssrBootStyles = require$$0.toRef(() => !isBooted.value ? { + transition: "none !important" + } : void 0); + return { + ssrBootStyles, + isBooted: require$$0.readonly(isBooted) + }; + } + const makeVAppBarProps = propsFactory({ + scrollBehavior: String, + modelValue: { + type: Boolean, + default: true + }, + location: { + type: String, + default: "top", + validator: (value) => ["top", "bottom"].includes(value) + }, + ...makeVToolbarProps(), + ...makeLayoutItemProps(), + ...makeScrollProps(), + height: { + type: [Number, String], + default: 64 + } + }, "VAppBar"); + const VAppBar = genericComponent()({ + name: "VAppBar", + props: makeVAppBarProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const vToolbarRef = require$$0.ref(); + const isActive = useProxiedModel(props, "modelValue"); + const scrollBehavior = require$$0.computed(() => { + const behavior = new Set(props.scrollBehavior?.split(" ") ?? []); + return { + hide: behavior.has("hide"), + fullyHide: behavior.has("fully-hide"), + inverted: behavior.has("inverted"), + collapse: behavior.has("collapse"), + elevate: behavior.has("elevate"), + fadeImage: behavior.has("fade-image") + // shrink: behavior.has('shrink'), + }; + }); + const canScroll = require$$0.computed(() => { + const behavior = scrollBehavior.value; + return behavior.hide || behavior.fullyHide || behavior.inverted || behavior.collapse || behavior.elevate || behavior.fadeImage || // behavior.shrink || + !isActive.value; + }); + const { + currentScroll, + scrollThreshold, + isScrollingUp, + scrollRatio + } = useScroll(props, { + canScroll + }); + const canHide = require$$0.toRef(() => scrollBehavior.value.hide || scrollBehavior.value.fullyHide); + const isCollapsed = require$$0.computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)); + const isFlat = require$$0.computed(() => props.flat || scrollBehavior.value.fullyHide && !isActive.value || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)); + const opacity = require$$0.computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : void 0); + const height = require$$0.computed(() => { + if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0; + const height2 = vToolbarRef.value?.contentHeight ?? 0; + const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0; + if (!canHide.value) return height2 + extensionHeight; + return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide ? height2 + extensionHeight : height2; + }); + useToggleScope(() => !!props.scrollBehavior, () => { + require$$0.watchEffect(() => { + if (canHide.value) { + if (scrollBehavior.value.inverted) { + isActive.value = currentScroll.value > scrollThreshold.value; + } else { + isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value; + } + } else { + isActive.value = true; + } + }); + }); + const { + ssrBootStyles + } = useSsrBoot(); + const { + layoutItemStyles + } = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: require$$0.toRef(() => props.location), + layoutSize: height, + elementSize: require$$0.shallowRef(void 0), + active: isActive, + absolute: require$$0.toRef(() => props.absolute) + }); + useRender(() => { + const toolbarProps = VToolbar.filterProps(props); + return require$$0.createVNode(VToolbar, require$$0.mergeProps({ + "ref": vToolbarRef, + "class": ["v-app-bar", { + "v-app-bar--bottom": props.location === "bottom" + }, props.class], + "style": [{ + ...layoutItemStyles.value, + "--v-toolbar-image-opacity": opacity.value, + height: void 0, + ...ssrBootStyles.value + }, props.style] + }, toolbarProps, { + "collapse": isCollapsed.value, + "flat": isFlat.value + }), slots); + }); + return {}; + } + }); + const allowedDensities = [null, "default", "comfortable", "compact"]; + const makeDensityProps = propsFactory({ + density: { + type: String, + default: "default", + validator: (v) => allowedDensities.includes(v) + } + }, "density"); + function useDensity(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const densityClasses = require$$0.toRef(() => { + return `${name}--density-${props.density}`; + }); + return { + densityClasses + }; + } + const allowedVariants$2 = ["elevated", "flat", "tonal", "outlined", "text", "plain"]; + function genOverlays(isClickable, name) { + return require$$0.createElementVNode(require$$0.Fragment, null, [isClickable && require$$0.createElementVNode("span", { + "key": "overlay", + "class": require$$0.normalizeClass(`${name}__overlay`) + }, null), require$$0.createElementVNode("span", { + "key": "underlay", + "class": require$$0.normalizeClass(`${name}__underlay`) + }, null)]); + } + const makeVariantProps = propsFactory({ + color: String, + variant: { + type: String, + default: "elevated", + validator: (v) => allowedVariants$2.includes(v) + } + }, "variant"); + function useVariant(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const variantClasses = require$$0.toRef(() => { + const { + variant + } = require$$0.toValue(props); + return `${name}--variant-${variant}`; + }); + const { + colorClasses, + colorStyles + } = useColor$1(() => { + const { + variant, + color + } = require$$0.toValue(props); + return { + [["elevated", "flat"].includes(variant) ? "background" : "text"]: color + }; + }); + return { + colorClasses, + colorStyles, + variantClasses + }; + } + const makeVBtnGroupProps = propsFactory({ + baseColor: String, + divided: Boolean, + direction: { + type: String, + default: "horizontal" + }, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps() + }, "VBtnGroup"); + const VBtnGroup = genericComponent()({ + name: "VBtnGroup", + props: makeVBtnGroupProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + densityClasses + } = useDensity(props); + const { + borderClasses + } = useBorder(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + provideDefaults({ + VBtn: { + height: require$$0.toRef(() => props.direction === "horizontal" ? "auto" : null), + baseColor: require$$0.toRef(() => props.baseColor), + color: require$$0.toRef(() => props.color), + density: require$$0.toRef(() => props.density), + flat: true, + variant: require$$0.toRef(() => props.variant) + } + }); + useRender(() => { + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-btn-group", `v-btn-group--${props.direction}`, { + "v-btn-group--divided": props.divided + }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, slots); + }); + } + }); + const makeGroupProps = propsFactory({ + modelValue: { + type: null, + default: void 0 + }, + multiple: Boolean, + mandatory: [Boolean, String], + max: Number, + selectedClass: String, + disabled: Boolean + }, "group"); + const makeGroupItemProps = propsFactory({ + value: null, + disabled: Boolean, + selectedClass: String + }, "group-item"); + function useGroupItem(props, injectKey) { + let required = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + const vm = getCurrentInstance("useGroupItem"); + if (!vm) { + throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function"); + } + const id2 = require$$0.useId(); + require$$0.provide(Symbol.for(`${injectKey.description}:id`), id2); + const group = require$$0.inject(injectKey, null); + if (!group) { + if (!required) return group; + throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`); + } + const value = require$$0.toRef(() => props.value); + const disabled = require$$0.computed(() => !!(group.disabled.value || props.disabled)); + group.register({ + id: id2, + value, + disabled + }, vm); + require$$0.onBeforeUnmount(() => { + group.unregister(id2); + }); + const isSelected = require$$0.computed(() => { + return group.isSelected(id2); + }); + const isFirst = require$$0.computed(() => { + return group.items.value[0].id === id2; + }); + const isLast = require$$0.computed(() => { + return group.items.value[group.items.value.length - 1].id === id2; + }); + const selectedClass = require$$0.computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]); + require$$0.watch(isSelected, (value2) => { + vm.emit("group:selected", { + value: value2 + }); + }, { + flush: "sync" + }); + return { + id: id2, + isSelected, + isFirst, + isLast, + toggle: () => group.select(id2, !isSelected.value), + select: (value2) => group.select(id2, value2), + selectedClass, + value, + disabled, + group + }; + } + function useGroup(props, injectKey) { + let isUnmounted = false; + const items = require$$0.reactive([]); + const selected = useProxiedModel(props, "modelValue", [], (v) => { + if (v === void 0) return []; + return getIds(items, v === null ? [null] : wrapInArray(v)); + }, (v) => { + const arr = getValues(items, v); + return props.multiple ? arr : arr[0]; + }); + const groupVm = getCurrentInstance("useGroup"); + function register2(item, vm) { + const unwrapped = item; + const key = Symbol.for(`${injectKey.description}:id`); + const children = findChildrenWithProvide(key, groupVm?.vnode); + const index2 = children.indexOf(vm); + if (require$$0.unref(unwrapped.value) === void 0) { + unwrapped.value = index2; + unwrapped.useIndexAsValue = true; + } + if (index2 > -1) { + items.splice(index2, 0, unwrapped); + } else { + items.push(unwrapped); + } + } + function unregister2(id2) { + if (isUnmounted) return; + forceMandatoryValue(); + const index2 = items.findIndex((item) => item.id === id2); + items.splice(index2, 1); + } + function forceMandatoryValue() { + const item = items.find((item2) => !item2.disabled); + if (item && props.mandatory === "force" && !selected.value.length) { + selected.value = [item.id]; + } + } + require$$0.onMounted(() => { + forceMandatoryValue(); + }); + require$$0.onBeforeUnmount(() => { + isUnmounted = true; + }); + require$$0.onUpdated(() => { + for (let i7 = 0; i7 < items.length; i7++) { + if (items[i7].useIndexAsValue) { + items[i7].value = i7; + } + } + }); + function select(id2, value) { + const item = items.find((item2) => item2.id === id2); + if (value && item?.disabled) return; + if (props.multiple) { + const internalValue = selected.value.slice(); + const index2 = internalValue.findIndex((v) => v === id2); + const isSelected = ~index2; + value = value ?? !isSelected; + if (isSelected && props.mandatory && internalValue.length <= 1) return; + if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return; + if (index2 < 0 && value) internalValue.push(id2); + else if (index2 >= 0 && !value) internalValue.splice(index2, 1); + selected.value = internalValue; + } else { + const isSelected = selected.value.includes(id2); + if (props.mandatory && isSelected) return; + if (!isSelected && !value) return; + selected.value = value ?? !isSelected ? [id2] : []; + } + } + function step(offset) { + if (props.multiple) consoleWarn('This method is not supported when using "multiple" prop'); + if (!selected.value.length) { + const item = items.find((item2) => !item2.disabled); + item && (selected.value = [item.id]); + } else { + const currentId = selected.value[0]; + const currentIndex = items.findIndex((i7) => i7.id === currentId); + let newIndex2 = (currentIndex + offset) % items.length; + let newItem = items[newIndex2]; + while (newItem.disabled && newIndex2 !== currentIndex) { + newIndex2 = (newIndex2 + offset) % items.length; + newItem = items[newIndex2]; + } + if (newItem.disabled) return; + selected.value = [items[newIndex2].id]; + } + } + const state = { + register: register2, + unregister: unregister2, + selected, + select, + disabled: require$$0.toRef(() => props.disabled), + prev: () => step(items.length - 1), + next: () => step(1), + isSelected: (id2) => selected.value.includes(id2), + selectedClass: require$$0.toRef(() => props.selectedClass), + items: require$$0.toRef(() => items), + getItemIndex: (value) => getItemIndex(items, value) + }; + require$$0.provide(injectKey, state); + return state; + } + function getItemIndex(items, value) { + const ids = getIds(items, [value]); + if (!ids.length) return -1; + return items.findIndex((item) => item.id === ids[0]); + } + function getIds(items, modelValue) { + const ids = []; + modelValue.forEach((value) => { + const item = items.find((item2) => deepEqual(value, item2.value)); + const itemByIndex = items[value]; + if (item?.value !== void 0) { + ids.push(item.id); + } else if (itemByIndex?.useIndexAsValue) { + ids.push(itemByIndex.id); + } + }); + return ids; + } + function getValues(items, ids) { + const values = []; + ids.forEach((id2) => { + const itemIndex = items.findIndex((item) => item.id === id2); + if (~itemIndex) { + const item = items[itemIndex]; + values.push(item.value !== void 0 ? item.value : itemIndex); + } + }); + return values; + } + const VBtnToggleSymbol = Symbol.for("vuetify:v-btn-toggle"); + const makeVBtnToggleProps = propsFactory({ + ...makeVBtnGroupProps(), + ...makeGroupProps() + }, "VBtnToggle"); + const VBtnToggle = genericComponent()({ + name: "VBtnToggle", + props: makeVBtnToggleProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + isSelected, + next, + prev, + select, + selected + } = useGroup(props, VBtnToggleSymbol); + useRender(() => { + const btnGroupProps = VBtnGroup.filterProps(props); + return require$$0.createVNode(VBtnGroup, require$$0.mergeProps({ + "class": ["v-btn-toggle", props.class] + }, btnGroupProps, { + "style": props.style + }), { + default: () => [slots.default?.({ + isSelected, + next, + prev, + select, + selected + })] + }); + }); + return { + next, + prev, + select + }; + } + }); + const aliases = { + collapse: "mdi-chevron-up", + complete: "mdi-check", + cancel: "mdi-close-circle", + close: "mdi-close", + delete: "mdi-close-circle", + // delete (e.g. v-chip close) + clear: "mdi-close-circle", + success: "mdi-check-circle", + info: "mdi-information", + warning: "mdi-alert-circle", + error: "mdi-close-circle", + prev: "mdi-chevron-left", + next: "mdi-chevron-right", + checkboxOn: "mdi-checkbox-marked", + checkboxOff: "mdi-checkbox-blank-outline", + checkboxIndeterminate: "mdi-minus-box", + delimiter: "mdi-circle", + // for carousel + sortAsc: "mdi-arrow-up", + sortDesc: "mdi-arrow-down", + expand: "mdi-chevron-down", + menu: "mdi-menu", + subgroup: "mdi-menu-down", + dropdown: "mdi-menu-down", + radioOn: "mdi-radiobox-marked", + radioOff: "mdi-radiobox-blank", + edit: "mdi-pencil", + ratingEmpty: "mdi-star-outline", + ratingFull: "mdi-star", + ratingHalf: "mdi-star-half-full", + loading: "mdi-cached", + first: "mdi-page-first", + last: "mdi-page-last", + unfold: "mdi-unfold-more-horizontal", + file: "mdi-paperclip", + plus: "mdi-plus", + minus: "mdi-minus", + calendar: "mdi-calendar", + treeviewCollapse: "mdi-menu-down", + treeviewExpand: "mdi-menu-right", + tableGroupCollapse: "mdi-chevron-down", + tableGroupExpand: "mdi-chevron-right", + eyeDropper: "mdi-eyedropper", + upload: "mdi-cloud-upload", + color: "mdi-palette", + command: "mdi-apple-keyboard-command", + ctrl: "mdi-apple-keyboard-control", + space: "mdi-keyboard-space", + shift: "mdi-apple-keyboard-shift", + alt: "mdi-apple-keyboard-option", + enter: "mdi-keyboard-return", + arrowup: "mdi-arrow-up", + arrowdown: "mdi-arrow-down", + arrowleft: "mdi-arrow-left", + arrowright: "mdi-arrow-right", + backspace: "mdi-backspace", + play: "mdi-play", + pause: "mdi-pause", + fullscreen: "mdi-fullscreen", + fullscreenExit: "mdi-fullscreen-exit", + volumeHigh: "mdi-volume-high", + volumeMedium: "mdi-volume-medium", + volumeLow: "mdi-volume-low", + volumeOff: "mdi-volume-variant-off" + }; + const mdi = { + // Not using mergeProps here, functional components merge props by default (?) + component: (props) => require$$0.h(VClassIcon, { + ...props, + class: "mdi" + }) + }; + const IconValue = [String, Function, Object, Array]; + const IconSymbol = Symbol.for("vuetify:icons"); + const makeIconProps = propsFactory({ + icon: { + type: IconValue + }, + // Could not remove this and use makeTagProps, types complained because it is not required + tag: { + type: [String, Object, Function], + required: true + } + }, "icon"); + const VComponentIcon = genericComponent()({ + name: "VComponentIcon", + props: makeIconProps(), + setup(props, _ref) { + let { + slots + } = _ref; + return () => { + const Icon = props.icon; + return require$$0.createVNode(props.tag, null, { + default: () => [props.icon ? require$$0.createVNode(Icon, null, null) : slots.default?.()] + }); + }; + } + }); + const VSvgIcon = defineComponent({ + name: "VSvgIcon", + inheritAttrs: false, + props: makeIconProps(), + setup(props, _ref2) { + let { + attrs + } = _ref2; + return () => { + return require$$0.createVNode(props.tag, require$$0.mergeProps(attrs, { + "style": null + }), { + default: () => [require$$0.createElementVNode("svg", { + "class": "v-icon__svg", + "xmlns": "http://www.w3.org/2000/svg", + "viewBox": "0 0 24 24", + "role": "img", + "aria-hidden": "true" + }, [Array.isArray(props.icon) ? props.icon.map((path) => Array.isArray(path) ? require$$0.createElementVNode("path", { + "d": path[0], + "fill-opacity": path[1] + }, null) : require$$0.createElementVNode("path", { + "d": path + }, null)) : require$$0.createElementVNode("path", { + "d": props.icon + }, null)])] + }); + }; + } + }); + const VLigatureIcon = defineComponent({ + name: "VLigatureIcon", + props: makeIconProps(), + setup(props) { + return () => { + return require$$0.createVNode(props.tag, null, { + default: () => [props.icon] + }); + }; + } + }); + const VClassIcon = defineComponent({ + name: "VClassIcon", + props: makeIconProps(), + setup(props) { + return () => { + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(props.icon) + }, null); + }; + } + }); + function genDefaults$1() { + return { + svg: { + component: VSvgIcon + }, + class: { + component: VClassIcon + } + }; + } + function createIcons(options) { + const sets = genDefaults$1(); + const defaultSet = options?.defaultSet ?? "mdi"; + if (defaultSet === "mdi" && !sets.mdi) { + sets.mdi = mdi; + } + return mergeDeep$1({ + defaultSet, + sets, + aliases: { + ...aliases, + /* eslint-disable max-len */ + vuetify: ["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z", ["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z", 0.6]], + "vuetify-outline": "svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z", + "vuetify-play": ["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z", ["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z", 0.6]] + /* eslint-enable max-len */ + } + }, options); + } + const useIcon = (props) => { + const icons = require$$0.inject(IconSymbol); + if (!icons) throw new Error("Missing Vuetify Icons provide!"); + const iconData = require$$0.computed(() => { + const iconAlias = require$$0.toValue(props); + if (!iconAlias) return { + component: VComponentIcon + }; + let icon = iconAlias; + if (typeof icon === "string") { + icon = icon.trim(); + if (icon.startsWith("$")) { + icon = icons.aliases?.[icon.slice(1)]; + } + } + if (!icon) consoleWarn(`Could not find aliased icon "${iconAlias}"`); + if (Array.isArray(icon)) { + return { + component: VSvgIcon, + icon + }; + } else if (typeof icon !== "string") { + return { + component: VComponentIcon, + icon + }; + } + const iconSetName = Object.keys(icons.sets).find((setName) => typeof icon === "string" && icon.startsWith(`${setName}:`)); + const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon; + const iconSet = icons.sets[iconSetName ?? icons.defaultSet]; + return { + component: iconSet.component, + icon: iconName + }; + }); + return { + iconData + }; + }; + const predefinedSizes = ["x-small", "small", "default", "large", "x-large"]; + const makeSizeProps = propsFactory({ + size: { + type: [String, Number], + default: "default" + } + }, "size"); + function useSize(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + return destructComputed(() => { + const size = props.size; + let sizeClasses; + let sizeStyles; + if (includes(predefinedSizes, size)) { + sizeClasses = `${name}--size-${size}`; + } else if (size) { + sizeStyles = { + width: convertToUnit(size), + height: convertToUnit(size) + }; + } + return { + sizeClasses, + sizeStyles + }; + }); + } + const makeVIconProps = propsFactory({ + color: String, + disabled: Boolean, + start: Boolean, + end: Boolean, + icon: IconValue, + opacity: [String, Number], + ...makeComponentProps(), + ...makeSizeProps(), + ...makeTagProps({ + tag: "i" + }), + ...makeThemeProps() + }, "VIcon"); + const VIcon = genericComponent()({ + name: "VIcon", + props: makeVIconProps(), + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const slotIcon = require$$0.shallowRef(); + const { + themeClasses + } = useTheme(); + const { + iconData + } = useIcon(() => slotIcon.value || props.icon); + const { + sizeClasses + } = useSize(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + useRender(() => { + const slotValue = slots.default?.(); + if (slotValue) { + slotIcon.value = flattenFragments(slotValue).filter((node) => node.type === require$$0.Text && node.children && typeof node.children === "string")[0]?.children; + } + const hasClick = !!(attrs.onClick || attrs.onClickOnce); + return require$$0.createVNode(iconData.value.component, { + "tag": props.tag, + "icon": iconData.value.icon, + "class": require$$0.normalizeClass(["v-icon", "notranslate", themeClasses.value, sizeClasses.value, textColorClasses.value, { + "v-icon--clickable": hasClick, + "v-icon--disabled": props.disabled, + "v-icon--start": props.start, + "v-icon--end": props.end + }, props.class]), + "style": require$$0.normalizeStyle([{ + "--v-icon-opacity": props.opacity + }, !sizeClasses.value ? { + fontSize: convertToUnit(props.size), + height: convertToUnit(props.size), + width: convertToUnit(props.size) + } : void 0, textColorStyles.value, props.style]), + "role": hasClick ? "button" : void 0, + "aria-hidden": !hasClick, + "tabindex": hasClick ? props.disabled ? -1 : 0 : void 0 + }, { + default: () => [slotValue] + }); + }); + return {}; + } + }); + function useIntersectionObserver(callback, options) { + const intersectionRef = require$$0.ref(); + const isIntersecting = require$$0.shallowRef(false); + if (SUPPORTS_INTERSECTION) { + const observer = new IntersectionObserver((entries2) => { + isIntersecting.value = !!entries2.find((entry) => entry.isIntersecting); + }, options); + require$$0.onScopeDispose(() => { + observer.disconnect(); + }); + require$$0.watch(intersectionRef, (newValue, oldValue) => { + if (oldValue) { + observer.unobserve(oldValue); + isIntersecting.value = false; + } + if (newValue) observer.observe(newValue); + }, { + flush: "post" + }); + } + return { + intersectionRef, + isIntersecting + }; + } + const makeVProgressCircularProps = propsFactory({ + bgColor: String, + color: String, + indeterminate: [Boolean, String], + modelValue: { + type: [Number, String], + default: 0 + }, + rotate: { + type: [Number, String], + default: 0 + }, + width: { + type: [Number, String], + default: 4 + }, + ...makeComponentProps(), + ...makeSizeProps(), + ...makeTagProps({ + tag: "div" + }), + ...makeThemeProps() + }, "VProgressCircular"); + const VProgressCircular = genericComponent()({ + name: "VProgressCircular", + props: makeVProgressCircularProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const MAGIC_RADIUS_CONSTANT = 20; + const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT; + const root = require$$0.ref(); + const { + themeClasses + } = provideTheme(props); + const { + sizeClasses, + sizeStyles + } = useSize(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + const { + textColorClasses: underlayColorClasses, + textColorStyles: underlayColorStyles + } = useTextColor(() => props.bgColor); + const { + intersectionRef, + isIntersecting + } = useIntersectionObserver(); + const { + resizeRef, + contentRect + } = useResizeObserver(); + const normalizedValue = require$$0.toRef(() => clamp$1(parseFloat(props.modelValue), 0, 100)); + const width = require$$0.toRef(() => Number(props.width)); + const size = require$$0.toRef(() => { + return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32); + }); + const diameter = require$$0.toRef(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2); + const strokeWidth = require$$0.toRef(() => width.value / size.value * diameter.value); + const strokeDashOffset = require$$0.toRef(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE)); + require$$0.watchEffect(() => { + intersectionRef.value = root.value; + resizeRef.value = root.value; + }); + useRender(() => require$$0.createVNode(props.tag, { + "ref": root, + "class": require$$0.normalizeClass(["v-progress-circular", { + "v-progress-circular--indeterminate": !!props.indeterminate, + "v-progress-circular--visible": isIntersecting.value, + "v-progress-circular--disable-shrink": props.indeterminate && (props.indeterminate === "disable-shrink" || PREFERS_REDUCED_MOTION()) + }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]), + "role": "progressbar", + "aria-valuemin": "0", + "aria-valuemax": "100", + "aria-valuenow": props.indeterminate ? void 0 : normalizedValue.value + }, { + default: () => [require$$0.createElementVNode("svg", { + "style": { + transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))` + }, + "xmlns": "http://www.w3.org/2000/svg", + "viewBox": `0 0 ${diameter.value} ${diameter.value}` + }, [require$$0.createElementVNode("circle", { + "class": require$$0.normalizeClass(["v-progress-circular__underlay", underlayColorClasses.value]), + "style": require$$0.normalizeStyle(underlayColorStyles.value), + "fill": "transparent", + "cx": "50%", + "cy": "50%", + "r": MAGIC_RADIUS_CONSTANT, + "stroke-width": strokeWidth.value, + "stroke-dasharray": CIRCUMFERENCE, + "stroke-dashoffset": 0 + }, null), require$$0.createElementVNode("circle", { + "class": "v-progress-circular__overlay", + "fill": "transparent", + "cx": "50%", + "cy": "50%", + "r": MAGIC_RADIUS_CONSTANT, + "stroke-width": strokeWidth.value, + "stroke-dasharray": CIRCUMFERENCE, + "stroke-dashoffset": strokeDashOffset.value + }, null)]), slots.default && require$$0.createElementVNode("div", { + "class": "v-progress-circular__content" + }, [slots.default({ + value: normalizedValue.value + })])] + })); + return {}; + } + }); + const oppositeMap = { + center: "center", + top: "bottom", + bottom: "top", + left: "right", + right: "left" + }; + const makeLocationProps = propsFactory({ + location: String + }, "location"); + function useLocation(props) { + let opposite = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + let offset = arguments.length > 2 ? arguments[2] : void 0; + const { + isRtl + } = useRtl(); + const locationStyles = require$$0.computed(() => { + if (!props.location) return {}; + const { + side, + align + } = parseAnchor(props.location.split(" ").length > 1 ? props.location : `${props.location} center`, isRtl.value); + function getOffset2(side2) { + return offset ? offset(side2) : 0; + } + const styles = {}; + if (side !== "center") { + if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset2(side)}px)`; + else styles[side] = 0; + } + if (align !== "center") { + if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset2(align)}px)`; + else styles[align] = 0; + } else { + if (side === "center") styles.top = styles.left = "50%"; + else { + styles[{ + top: "left", + bottom: "left", + left: "top", + right: "top" + }[side]] = "50%"; + } + styles.transform = { + top: "translateX(-50%)", + bottom: "translateX(-50%)", + left: "translateY(-50%)", + right: "translateY(-50%)", + center: "translate(-50%, -50%)" + }[side]; + } + return styles; + }); + return { + locationStyles + }; + } + const makeChunksProps = propsFactory({ + chunkCount: { + type: [Number, String], + default: null + }, + chunkWidth: { + type: [Number, String], + default: null + }, + chunkGap: { + type: [Number, String], + default: 4 + } + }, "chunks"); + function useChunks(props, containerWidth) { + const hasChunks = require$$0.toRef(() => !!props.chunkCount || !!props.chunkWidth); + const chunkWidth = require$$0.computed(() => { + const containerSize = require$$0.toValue(containerWidth); + if (!containerSize) { + return 0; + } + if (!props.chunkCount) { + return Number(props.chunkWidth); + } + const count2 = Number(props.chunkCount); + const availableWidth = containerSize - Number(props.chunkGap) * (count2 - 1); + return availableWidth / count2; + }); + const chunkGap = require$$0.toRef(() => Number(props.chunkGap)); + const chunksMaskStyles = require$$0.computed(() => { + if (!hasChunks.value) { + return {}; + } + const chunkGapPx = convertToUnit(chunkGap.value); + const chunkWidthPx = convertToUnit(chunkWidth.value); + return { + maskRepeat: "repeat-x", + maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`, + maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%` + }; + }); + function snapValueToChunk(val) { + const containerSize = require$$0.toValue(containerWidth); + if (!containerSize) { + return val; + } + const gapRelativeSize = 100 * chunkGap.value / containerSize; + const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize; + const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize); + return clamp$1(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100); + } + return { + hasChunks, + chunksMaskStyles, + snapValueToChunk + }; + } + const makeVProgressLinearProps = propsFactory({ + absolute: Boolean, + active: { + type: Boolean, + default: true + }, + bgColor: String, + bgOpacity: [Number, String], + bufferValue: { + type: [Number, String], + default: 0 + }, + bufferColor: String, + bufferOpacity: [Number, String], + clickable: Boolean, + color: String, + height: { + type: [Number, String], + default: 4 + }, + indeterminate: Boolean, + max: { + type: [Number, String], + default: 100 + }, + modelValue: { + type: [Number, String], + default: 0 + }, + opacity: [Number, String], + reverse: Boolean, + stream: Boolean, + striped: Boolean, + roundedBar: Boolean, + ...makeChunksProps(), + ...makeComponentProps(), + ...makeLocationProps({ + location: "top" + }), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VProgressLinear"); + const VProgressLinear = genericComponent()({ + name: "VProgressLinear", + props: makeVProgressLinearProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const root = require$$0.ref(); + const progress = useProxiedModel(props, "modelValue"); + const { + isRtl, + rtlClasses + } = useRtl(); + const { + themeClasses + } = provideTheme(props); + const { + locationStyles + } = useLocation(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor || props.color); + const { + backgroundColorClasses: bufferColorClasses, + backgroundColorStyles: bufferColorStyles + } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color); + const { + backgroundColorClasses: barColorClasses, + backgroundColorStyles: barColorStyles + } = useBackgroundColor(() => props.color); + const { + roundedClasses + } = useRounded(props); + const { + intersectionRef, + isIntersecting + } = useIntersectionObserver(); + const max3 = require$$0.computed(() => parseFloat(props.max)); + const height = require$$0.computed(() => parseFloat(props.height)); + const normalizedBuffer = require$$0.computed(() => clamp$1(parseFloat(props.bufferValue) / max3.value * 100, 0, 100)); + const normalizedValue = require$$0.computed(() => clamp$1(parseFloat(progress.value) / max3.value * 100, 0, 100)); + const isReversed = require$$0.computed(() => isRtl.value !== props.reverse); + const transition = require$$0.computed(() => props.indeterminate ? "fade-transition" : "slide-x-transition"); + const containerWidth = require$$0.shallowRef(0); + const { + hasChunks, + chunksMaskStyles, + snapValueToChunk + } = useChunks(props, containerWidth); + useToggleScope(hasChunks, () => { + const { + resizeRef + } = useResizeObserver((entries2) => containerWidth.value = entries2[0].contentRect.width); + require$$0.watchEffect(() => resizeRef.value = root.value); + }); + const bufferWidth = require$$0.computed(() => { + return hasChunks.value ? snapValueToChunk(normalizedBuffer.value) : normalizedBuffer.value; + }); + const barWidth = require$$0.computed(() => { + return hasChunks.value ? snapValueToChunk(normalizedValue.value) : normalizedValue.value; + }); + function handleClick(e7) { + if (!intersectionRef.value) return; + const { + left, + right, + width + } = intersectionRef.value.getBoundingClientRect(); + const value = isReversed.value ? width - e7.clientX + (right - width) : e7.clientX - left; + progress.value = Math.round(value / width * max3.value); + } + require$$0.watchEffect(() => { + intersectionRef.value = root.value; + }); + useRender(() => require$$0.createVNode(props.tag, { + "ref": root, + "class": require$$0.normalizeClass(["v-progress-linear", { + "v-progress-linear--absolute": props.absolute, + "v-progress-linear--active": props.active && isIntersecting.value, + "v-progress-linear--reverse": isReversed.value, + "v-progress-linear--rounded": props.rounded, + "v-progress-linear--rounded-bar": props.roundedBar, + "v-progress-linear--striped": props.striped, + "v-progress-linear--clickable": props.clickable + }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle([{ + bottom: props.location === "bottom" ? 0 : void 0, + top: props.location === "top" ? 0 : void 0, + height: props.active ? convertToUnit(height.value) : 0, + "--v-progress-linear-height": convertToUnit(height.value), + ...props.absolute ? locationStyles.value : {} + }, chunksMaskStyles.value, props.style]), + "role": "progressbar", + "aria-hidden": props.active ? "false" : "true", + "aria-valuemin": "0", + "aria-valuemax": props.max, + "aria-valuenow": props.indeterminate ? void 0 : Math.min(parseFloat(progress.value), max3.value), + "onClick": props.clickable && handleClick + }, { + default: () => [props.stream && require$$0.createElementVNode("div", { + "key": "stream", + "class": require$$0.normalizeClass(["v-progress-linear__stream", textColorClasses.value]), + "style": { + ...textColorStyles.value, + [isReversed.value ? "left" : "right"]: convertToUnit(-height.value), + borderTop: `${convertToUnit(height.value / 2)} dotted`, + opacity: parseFloat(props.bufferOpacity), + top: `calc(50% - ${convertToUnit(height.value / 4)})`, + width: convertToUnit(100 - normalizedBuffer.value, "%"), + "--v-progress-linear-stream-to": convertToUnit(height.value * (isReversed.value ? 1 : -1)) + } + }, null), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-progress-linear__background", backgroundColorClasses.value]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, { + opacity: parseFloat(props.bgOpacity), + width: props.stream ? 0 : void 0 + }]) + }, null), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-progress-linear__buffer", bufferColorClasses.value]), + "style": require$$0.normalizeStyle([bufferColorStyles.value, { + opacity: parseFloat(props.bufferOpacity), + width: convertToUnit(bufferWidth.value, "%") + }]) + }, null), require$$0.createVNode(require$$0.Transition, { + "name": transition.value + }, { + default: () => [!props.indeterminate ? require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-progress-linear__determinate", barColorClasses.value]), + "style": require$$0.normalizeStyle([barColorStyles.value, { + width: convertToUnit(barWidth.value, "%") + }]) + }, null) : require$$0.createElementVNode("div", { + "class": "v-progress-linear__indeterminate" + }, [["long", "short"].map((bar) => require$$0.createElementVNode("div", { + "key": bar, + "class": require$$0.normalizeClass(["v-progress-linear__indeterminate", bar, barColorClasses.value]), + "style": require$$0.normalizeStyle(barColorStyles.value) + }, null))])] + }), slots.default && require$$0.createElementVNode("div", { + "class": "v-progress-linear__content" + }, [slots.default({ + value: normalizedValue.value, + buffer: normalizedBuffer.value + })])] + })); + return {}; + } + }); + const makeLoaderProps = propsFactory({ + loading: [Boolean, String] + }, "loader"); + function useLoader(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const loaderClasses = require$$0.toRef(() => ({ + [`${name}--loading`]: props.loading + })); + return { + loaderClasses + }; + } + function LoaderSlot(props, _ref) { + let { + slots + } = _ref; + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(`${props.name}__loader`) + }, [slots.default?.({ + color: props.color, + isActive: props.active + }) || require$$0.createVNode(VProgressLinear, { + "absolute": props.absolute, + "active": props.active, + "color": props.color, + "height": "2", + "indeterminate": true + }, null)]); + } + const positionValues = ["static", "relative", "fixed", "absolute", "sticky"]; + const makePositionProps = propsFactory({ + position: { + type: String, + validator: ( + /* istanbul ignore next */ + (v) => positionValues.includes(v) + ) + } + }, "position"); + function usePosition(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const positionClasses = require$$0.toRef(() => { + return props.position ? `${name}--${props.position}` : void 0; + }); + return { + positionClasses + }; + } + /*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */ + var NavigationType; + (function(NavigationType2) { + NavigationType2["pop"] = "pop"; + NavigationType2["push"] = "push"; + })(NavigationType || (NavigationType = {})); + var NavigationDirection; + (function(NavigationDirection2) { + NavigationDirection2["back"] = "back"; + NavigationDirection2["forward"] = "forward"; + NavigationDirection2["unknown"] = ""; + })(NavigationDirection || (NavigationDirection = {})); + const NavigationFailureSymbol = Symbol(""); + var NavigationFailureType; + (function(NavigationFailureType2) { + NavigationFailureType2[NavigationFailureType2["aborted"] = 4] = "aborted"; + NavigationFailureType2[NavigationFailureType2["cancelled"] = 8] = "cancelled"; + NavigationFailureType2[NavigationFailureType2["duplicated"] = 16] = "duplicated"; + })(NavigationFailureType || (NavigationFailureType = {})); + function isNavigationFailure(error, type) { + return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type)); + } + function useRoute() { + const vm = getCurrentInstance("useRoute"); + return require$$0.computed(() => vm?.proxy?.$route); + } + function useRouter() { + return getCurrentInstance("useRouter")?.proxy?.$router; + } + function useLink(props, attrs) { + const RouterLink = require$$0.resolveDynamicComponent("RouterLink"); + const isLink = require$$0.toRef(() => !!(props.href || props.to)); + const isClickable = require$$0.computed(() => { + return isLink?.value || hasEvent(attrs, "click") || hasEvent(props, "click"); + }); + if (typeof RouterLink === "string" || !("useLink" in RouterLink)) { + const href2 = require$$0.toRef(() => props.href); + return { + isLink, + isClickable, + href: href2, + linkProps: require$$0.reactive({ + href: href2 + }) + }; + } + const routerLink = RouterLink.useLink({ + to: require$$0.toRef(() => props.to || ""), + replace: require$$0.toRef(() => props.replace) + }); + const link = require$$0.computed(() => props.to ? routerLink : void 0); + const route = useRoute(); + const isActive = require$$0.computed(() => { + if (!link.value) return false; + if (!props.exact) return link.value.isActive?.value ?? false; + if (!route.value) return link.value.isExactActive?.value ?? false; + return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query); + }); + const href = require$$0.computed(() => props.to ? link.value?.route.value.href : props.href); + async function navigateWithCheck(e7) { + const result = await link.value?.navigate(e7); + return !isNavigationFailure(result); + } + return { + isLink, + isClickable, + isActive, + route: link.value?.route, + navigate: link.value?.navigate, + navigateWithCheck, + href, + linkProps: require$$0.reactive({ + href, + "aria-current": require$$0.toRef(() => isActive.value ? "page" : void 0) + }) + }; + } + const makeRouterProps = propsFactory({ + href: String, + replace: Boolean, + to: [String, Object], + exact: Boolean + }, "router"); + let inTransition = false; + function useBackButton(router, cb2) { + let popped = false; + let removeBefore; + let removeAfter; + if (IN_BROWSER && router?.beforeEach) { + require$$0.nextTick(() => { + window.addEventListener("popstate", onPopstate); + removeBefore = router.beforeEach((to2, from, next) => { + if (!inTransition) { + setTimeout(() => popped ? cb2(next) : next()); + } else { + popped ? cb2(next) : next(); + } + inTransition = true; + }); + removeAfter = router?.afterEach(() => { + inTransition = false; + }); + }); + require$$0.onScopeDispose(() => { + window.removeEventListener("popstate", onPopstate); + removeBefore?.(); + removeAfter?.(); + }); + } + function onPopstate(e7) { + if (e7.state?.replaced) return; + popped = true; + setTimeout(() => popped = false); + } + } + function useSelectLink(link, select) { + require$$0.watch(() => link.isActive?.value, (isActive) => { + if (link.isLink.value && isActive != null && select) { + require$$0.nextTick(() => { + select(isActive); + }); + } + }, { + immediate: true + }); + } + const stopSymbol = Symbol("rippleStop"); + const DELAY_RIPPLE = 80; + function transform$1(el2, value) { + el2.style.transform = value; + el2.style.webkitTransform = value; + } + function isTouchEvent(e7) { + return e7.constructor.name === "TouchEvent"; + } + function isKeyboardEvent(e7) { + return e7.constructor.name === "KeyboardEvent"; + } + const calculate = function(e7, el2) { + let value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + let localX = 0; + let localY = 0; + if (!isKeyboardEvent(e7)) { + const offset = el2.getBoundingClientRect(); + const target = isTouchEvent(e7) ? e7.touches[e7.touches.length - 1] : e7; + localX = target.clientX - offset.left; + localY = target.clientY - offset.top; + } + let radius = 0; + let scale2 = 0.3; + if (el2._ripple?.circle) { + scale2 = 0.15; + radius = el2.clientWidth / 2; + radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4; + } else { + radius = Math.sqrt(el2.clientWidth ** 2 + el2.clientHeight ** 2) / 2; + } + const centerX = `${(el2.clientWidth - radius * 2) / 2}px`; + const centerY = `${(el2.clientHeight - radius * 2) / 2}px`; + const x = value.center ? centerX : `${localX - radius}px`; + const y = value.center ? centerY : `${localY - radius}px`; + return { + radius, + scale: scale2, + x, + y, + centerX, + centerY + }; + }; + const ripples = { + /* eslint-disable max-statements */ + show(e7, el2) { + let value = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + if (!el2?._ripple?.enabled) { + return; + } + const container = document.createElement("span"); + const animation = document.createElement("span"); + container.appendChild(animation); + container.className = "v-ripple__container"; + if (value.class) { + container.className += ` ${value.class}`; + } + const { + radius, + scale: scale2, + x, + y, + centerX, + centerY + } = calculate(e7, el2, value); + const size = `${radius * 2}px`; + animation.className = "v-ripple__animation"; + animation.style.width = size; + animation.style.height = size; + el2.appendChild(container); + const computed = window.getComputedStyle(el2); + if (computed && computed.position === "static") { + el2.style.position = "relative"; + el2.dataset.previousPosition = "static"; + } + animation.classList.add("v-ripple__animation--enter"); + animation.classList.add("v-ripple__animation--visible"); + transform$1(animation, `translate(${x}, ${y}) scale3d(${scale2},${scale2},${scale2})`); + animation.dataset.activated = String(performance.now()); + requestAnimationFrame(() => { + requestAnimationFrame(() => { + animation.classList.remove("v-ripple__animation--enter"); + animation.classList.add("v-ripple__animation--in"); + transform$1(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`); + }); + }); + }, + hide(el2) { + if (!el2?._ripple?.enabled) return; + const ripples2 = el2.getElementsByClassName("v-ripple__animation"); + if (ripples2.length === 0) return; + const animation = Array.from(ripples2).findLast((ripple) => !ripple.dataset.isHiding); + if (!animation) return; + else animation.dataset.isHiding = "true"; + const diff = performance.now() - Number(animation.dataset.activated); + const delay = Math.max(250 - diff, 0); + setTimeout(() => { + animation.classList.remove("v-ripple__animation--in"); + animation.classList.add("v-ripple__animation--out"); + setTimeout(() => { + const ripples3 = el2.getElementsByClassName("v-ripple__animation"); + if (ripples3.length === 1 && el2.dataset.previousPosition) { + el2.style.position = el2.dataset.previousPosition; + delete el2.dataset.previousPosition; + } + if (animation.parentNode?.parentNode === el2) el2.removeChild(animation.parentNode); + }, 300); + }, delay); + } + }; + function isRippleEnabled(value) { + return typeof value === "undefined" || !!value; + } + function rippleShow(e7) { + const value = {}; + const element = e7.currentTarget; + if (!element?._ripple || element._ripple.touched || e7[stopSymbol]) return; + e7[stopSymbol] = true; + if (isTouchEvent(e7)) { + element._ripple.touched = true; + element._ripple.isTouch = true; + } else { + if (element._ripple.isTouch) return; + } + value.center = element._ripple.centered || isKeyboardEvent(e7); + if (element._ripple.class) { + value.class = element._ripple.class; + } + if (isTouchEvent(e7)) { + if (element._ripple.showTimerCommit) return; + element._ripple.showTimerCommit = () => { + ripples.show(e7, element, value); + }; + element._ripple.showTimer = window.setTimeout(() => { + if (element?._ripple?.showTimerCommit) { + element._ripple.showTimerCommit(); + element._ripple.showTimerCommit = null; + } + }, DELAY_RIPPLE); + } else { + ripples.show(e7, element, value); + } + } + function rippleStop(e7) { + e7[stopSymbol] = true; + } + function rippleHide(e7) { + const element = e7.currentTarget; + if (!element?._ripple) return; + window.clearTimeout(element._ripple.showTimer); + if (e7.type === "touchend" && element._ripple.showTimerCommit) { + element._ripple.showTimerCommit(); + element._ripple.showTimerCommit = null; + element._ripple.showTimer = window.setTimeout(() => { + rippleHide(e7); + }); + return; + } + window.setTimeout(() => { + if (element._ripple) { + element._ripple.touched = false; + } + }); + ripples.hide(element); + } + function rippleCancelShow(e7) { + const element = e7.currentTarget; + if (!element?._ripple) return; + if (element._ripple.showTimerCommit) { + element._ripple.showTimerCommit = null; + } + window.clearTimeout(element._ripple.showTimer); + } + let keyboardRipple = false; + function keyboardRippleShow(e7, keys2) { + if (!keyboardRipple && keys2.includes(e7.key)) { + keyboardRipple = true; + rippleShow(e7); + } + } + function keyboardRippleHide(e7) { + keyboardRipple = false; + rippleHide(e7); + } + function focusRippleHide(e7) { + if (keyboardRipple) { + keyboardRipple = false; + rippleHide(e7); + } + } + function updateRipple(el2, binding, wasEnabled) { + const { + value, + modifiers + } = binding; + const enabled = isRippleEnabled(value); + if (!enabled) { + ripples.hide(el2); + } + el2._ripple = el2._ripple ?? {}; + el2._ripple.enabled = enabled; + el2._ripple.centered = modifiers.center; + el2._ripple.circle = modifiers.circle; + const bindingValue = isObject$7(value) ? value : {}; + if (bindingValue.class) { + el2._ripple.class = bindingValue.class; + } + const allowedKeys = bindingValue.keys ?? ["Enter", "Space"]; + el2._ripple.keyDownHandler = (e7) => keyboardRippleShow(e7, allowedKeys); + if (enabled && !wasEnabled) { + if (modifiers.stop) { + el2.addEventListener("touchstart", rippleStop, { + passive: true + }); + el2.addEventListener("mousedown", rippleStop); + return; + } + el2.addEventListener("touchstart", rippleShow, { + passive: true + }); + el2.addEventListener("touchend", rippleHide, { + passive: true + }); + el2.addEventListener("touchmove", rippleCancelShow, { + passive: true + }); + el2.addEventListener("touchcancel", rippleHide); + el2.addEventListener("mousedown", rippleShow); + el2.addEventListener("mouseup", rippleHide); + el2.addEventListener("mouseleave", rippleHide); + el2.addEventListener("keydown", (e7) => keyboardRippleShow(e7, allowedKeys)); + el2.addEventListener("keyup", keyboardRippleHide); + el2.addEventListener("blur", focusRippleHide); + el2.addEventListener("dragstart", rippleHide, { + passive: true + }); + } else if (!enabled && wasEnabled) { + removeListeners(el2); + } + } + function removeListeners(el2) { + el2.removeEventListener("mousedown", rippleShow); + el2.removeEventListener("touchstart", rippleShow); + el2.removeEventListener("touchend", rippleHide); + el2.removeEventListener("touchmove", rippleCancelShow); + el2.removeEventListener("touchcancel", rippleHide); + el2.removeEventListener("mouseup", rippleHide); + el2.removeEventListener("mouseleave", rippleHide); + if (el2._ripple?.keyDownHandler) { + el2.removeEventListener("keydown", el2._ripple.keyDownHandler); + } + el2.removeEventListener("keyup", keyboardRippleHide); + el2.removeEventListener("dragstart", rippleHide); + el2.removeEventListener("blur", focusRippleHide); + } + function mounted$4(el2, binding) { + updateRipple(el2, binding, false); + } + function unmounted$4(el2) { + removeListeners(el2); + delete el2._ripple; + } + function updated$1(el2, binding) { + if (binding.value === binding.oldValue) { + return; + } + const wasEnabled = isRippleEnabled(binding.oldValue); + updateRipple(el2, binding, wasEnabled); + } + const Ripple = { + mounted: mounted$4, + unmounted: unmounted$4, + updated: updated$1 + }; + const makeVBtnProps = propsFactory({ + active: { + type: Boolean, + default: void 0 + }, + activeColor: String, + baseColor: String, + symbol: { + type: null, + default: VBtnToggleSymbol + }, + flat: Boolean, + icon: [Boolean, String, Function, Object], + prependIcon: IconValue, + appendIcon: IconValue, + block: Boolean, + readonly: Boolean, + slim: Boolean, + stacked: Boolean, + spaced: String, + ripple: { + type: [Boolean, Object], + default: true + }, + text: { + type: [String, Number, Boolean], + default: void 0 + }, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeGroupItemProps(), + ...makeLoaderProps(), + ...makeLocationProps(), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeRouterProps(), + ...makeSizeProps(), + ...makeTagProps({ + tag: "button" + }), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "elevated" + }) + }, "VBtn"); + const VBtn = genericComponent()({ + name: "VBtn", + props: makeVBtnProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + loaderClasses + } = useLoader(props); + const { + locationStyles + } = useLocation(props); + const { + positionClasses + } = usePosition(props); + const { + roundedClasses + } = useRounded(props); + const { + sizeClasses, + sizeStyles + } = useSize(props); + const group = useGroupItem(props, props.symbol, false); + const link = useLink(props, attrs); + const isActive = require$$0.computed(() => { + if (props.active !== void 0) { + return props.active; + } + if (link.isLink.value) { + return link.isActive?.value; + } + return group?.isSelected.value; + }); + const color = require$$0.toRef(() => isActive.value ? props.activeColor ?? props.color : props.color); + const variantProps = require$$0.computed(() => { + const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value; + return { + color: showColor ? color.value ?? props.baseColor : props.baseColor, + variant: props.variant + }; + }); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(variantProps); + const isDisabled = require$$0.computed(() => group?.disabled.value || props.disabled); + const isElevated = require$$0.toRef(() => { + return props.variant === "elevated" && !(props.disabled || props.flat || props.border); + }); + const valueAttr = require$$0.computed(() => { + if (props.value === void 0 || typeof props.value === "symbol") return void 0; + return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value; + }); + async function onClick(e7) { + if (isDisabled.value || link.isLink.value && (e7.metaKey || e7.ctrlKey || e7.shiftKey || e7.button !== 0 || attrs.target === "_blank")) return; + if (await (link.navigateWithCheck?.(e7) ?? true)) { + group?.toggle(); + } + } + useSelectLink(link, group?.select); + useRender(() => { + const Tag = link.isLink.value ? "a" : props.tag; + const hasPrepend = !!(props.prependIcon || slots.prepend); + const hasAppend = !!(props.appendIcon || slots.append); + const hasIcon = !!(props.icon && props.icon !== true); + return require$$0.withDirectives(require$$0.createVNode(Tag, require$$0.mergeProps({ + "type": Tag === "a" ? void 0 : "button", + "class": ["v-btn", group?.selectedClass.value, { + "v-btn--active": isActive.value, + "v-btn--block": props.block, + "v-btn--disabled": isDisabled.value, + "v-btn--elevated": isElevated.value, + "v-btn--flat": props.flat, + "v-btn--icon": !!props.icon, + "v-btn--loading": props.loading, + "v-btn--readonly": props.readonly, + "v-btn--slim": props.slim, + "v-btn--stacked": props.stacked + }, props.spaced ? ["v-btn--spaced", `v-btn--spaced-${props.spaced}`] : [], themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class], + "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style], + "aria-busy": props.loading ? true : void 0, + "disabled": isDisabled.value || void 0, + "tabindex": props.loading || props.readonly ? -1 : void 0, + "onClick": onClick, + "value": valueAttr.value + }, link.linkProps), { + default: () => [genOverlays(true, "v-btn"), !props.icon && hasPrepend && require$$0.createElementVNode("span", { + "key": "prepend", + "class": "v-btn__prepend" + }, [!slots.prepend ? require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "icon": props.prependIcon + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !props.prependIcon, + "defaults": { + VIcon: { + icon: props.prependIcon + } + } + }, slots.prepend)]), require$$0.createElementVNode("span", { + "class": "v-btn__content", + "data-no-activator": "" + }, [!slots.default && hasIcon ? require$$0.createVNode(VIcon, { + "key": "content-icon", + "icon": props.icon + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "content-defaults", + "disabled": !hasIcon, + "defaults": { + VIcon: { + icon: props.icon + } + } + }, { + default: () => [slots.default?.() ?? require$$0.toDisplayString(props.text)] + })]), !props.icon && hasAppend && require$$0.createElementVNode("span", { + "key": "append", + "class": "v-btn__append" + }, [!slots.append ? require$$0.createVNode(VIcon, { + "key": "append-icon", + "icon": props.appendIcon + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "append-defaults", + "disabled": !props.appendIcon, + "defaults": { + VIcon: { + icon: props.appendIcon + } + } + }, slots.append)]), !!props.loading && require$$0.createElementVNode("span", { + "key": "loader", + "class": "v-btn__loader" + }, [slots.loader?.() ?? require$$0.createVNode(VProgressCircular, { + "color": typeof props.loading === "boolean" ? void 0 : props.loading, + "indeterminate": true, + "width": "2" + }, null)])] + }), [[Ripple, !isDisabled.value && props.ripple, "", { + center: !!props.icon + }]]); + }); + return { + group + }; + } + }); + const makeVAppBarNavIconProps = propsFactory({ + ...omit(makeVBtnProps({ + icon: "$menu", + variant: "text" + }), ["spaced"]) + }, "VAppBarNavIcon"); + const VAppBarNavIcon = genericComponent()({ + name: "VAppBarNavIcon", + props: makeVAppBarNavIconProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(VBtn, require$$0.mergeProps(props, { + "class": ["v-app-bar-nav-icon"] + }), slots)); + return {}; + } + }); + const VAppBarTitle = genericComponent()({ + name: "VAppBarTitle", + props: makeVToolbarTitleProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(VToolbarTitle, require$$0.mergeProps(props, { + "class": "v-app-bar-title" + }), slots)); + return {}; + } + }); + const VAlertTitle = createSimpleFunctional("v-alert-title"); + const makeIconSizeProps = propsFactory({ + iconSize: [Number, String], + iconSizes: { + type: Array, + default: () => [["x-small", 10], ["small", 16], ["default", 24], ["large", 28], ["x-large", 32]] + } + }, "iconSize"); + function useIconSizes(props, fallback) { + const iconSize = require$$0.computed(() => { + const iconSizeMap = new Map(props.iconSizes); + const _iconSize = props.iconSize ?? fallback() ?? "default"; + return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize; + }); + return { + iconSize + }; + } + const allowedTypes = ["success", "info", "warning", "error"]; + const makeVAlertProps = propsFactory({ + border: { + type: [Boolean, String], + validator: (val) => { + return typeof val === "boolean" || ["top", "end", "bottom", "start"].includes(val); + } + }, + borderColor: String, + closable: Boolean, + closeIcon: { + type: IconValue, + default: "$close" + }, + closeLabel: { + type: String, + default: "$vuetify.close" + }, + icon: { + type: [Boolean, String, Function, Object], + default: null + }, + modelValue: { + type: Boolean, + default: true + }, + prominent: Boolean, + title: String, + text: String, + type: { + type: String, + validator: (val) => allowedTypes.includes(val) + }, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeIconSizeProps(), + ...makeLocationProps(), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "flat" + }) + }, "VAlert"); + const VAlert = genericComponent()({ + name: "VAlert", + props: makeVAlertProps(), + emits: { + "click:close": (e7) => true, + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + const icon = require$$0.toRef(() => { + if (props.icon === false) return void 0; + if (!props.type) return props.icon; + return props.icon ?? `$${props.type}`; + }); + const { + iconSize + } = useIconSizes(props, () => props.prominent ? 44 : void 0); + const { + themeClasses + } = provideTheme(props); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(() => ({ + color: props.color ?? props.type, + variant: props.variant + })); + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + locationStyles + } = useLocation(props); + const { + positionClasses + } = usePosition(props); + const { + roundedClasses + } = useRounded(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.borderColor); + const { + t + } = useLocale(); + const closeProps = require$$0.toRef(() => ({ + "aria-label": t(props.closeLabel), + onClick(e7) { + isActive.value = false; + emit("click:close", e7); + } + })); + return () => { + const hasPrepend = !!(slots.prepend || icon.value); + const hasTitle = !!(slots.title || props.title); + const hasClose = !!(slots.close || props.closable); + const iconProps = { + density: props.density, + icon: icon.value, + size: props.iconSize || props.prominent ? iconSize.value : void 0 + }; + return isActive.value && require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-alert", props.border && { + "v-alert--border": !!props.border, + [`v-alert--border-${props.border === true ? "start" : props.border}`]: true + }, { + "v-alert--prominent": props.prominent + }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class]), + "style": require$$0.normalizeStyle([colorStyles.value, dimensionStyles.value, locationStyles.value, props.style]), + "role": "alert" + }, { + default: () => [genOverlays(false, "v-alert"), props.border && require$$0.createElementVNode("div", { + "key": "border", + "class": require$$0.normalizeClass(["v-alert__border", textColorClasses.value]), + "style": require$$0.normalizeStyle(textColorStyles.value) + }, null), hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-alert__prepend" + }, [!slots.prepend ? require$$0.createVNode(VIcon, require$$0.mergeProps({ + "key": "prepend-icon" + }, iconProps), null) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !icon.value, + "defaults": { + VIcon: { + ...iconProps + } + } + }, slots.prepend)]), require$$0.createElementVNode("div", { + "class": "v-alert__content" + }, [hasTitle && require$$0.createVNode(VAlertTitle, { + "key": "title" + }, { + default: () => [slots.title?.() ?? props.title] + }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-alert__append" + }, [slots.append()]), hasClose && require$$0.createElementVNode("div", { + "key": "close", + "class": "v-alert__close" + }, [!slots.close ? require$$0.createVNode(VBtn, require$$0.mergeProps({ + "key": "close-btn", + "icon": props.closeIcon, + "size": "x-small", + "variant": "text" + }, closeProps.value), null) : require$$0.createVNode(VDefaultsProvider, { + "key": "close-defaults", + "defaults": { + VBtn: { + icon: props.closeIcon, + size: "x-small", + variant: "text" + } + } + }, { + default: () => [slots.close?.({ + props: closeProps.value + })] + })])] + }); + }; + } + }); + const makeVAvatarProps = propsFactory({ + start: Boolean, + end: Boolean, + icon: IconValue, + image: String, + text: String, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeRoundedProps(), + ...makeSizeProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "flat" + }) + }, "VAvatar"); + const VAvatar = genericComponent()({ + name: "VAvatar", + props: makeVAvatarProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(props); + const { + densityClasses + } = useDensity(props); + const { + roundedClasses + } = useRounded(props); + const { + sizeClasses, + sizeStyles + } = useSize(props); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-avatar", { + "v-avatar--start": props.start, + "v-avatar--end": props.end + }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]), + "style": require$$0.normalizeStyle([colorStyles.value, sizeStyles.value, props.style]) + }, { + default: () => [!slots.default ? props.image ? require$$0.createVNode(VImg, { + "key": "image", + "src": props.image, + "alt": "", + "cover": true + }, null) : props.icon ? require$$0.createVNode(VIcon, { + "key": "icon", + "icon": props.icon + }, null) : props.text : require$$0.createVNode(VDefaultsProvider, { + "key": "content-defaults", + "defaults": { + VImg: { + cover: true, + src: props.image + }, + VIcon: { + icon: props.icon + } + } + }, { + default: () => [slots.default()] + }), genOverlays(false, "v-avatar")] + })); + return {}; + } + }); + const makeVLabelProps = propsFactory({ + text: String, + onClick: EventProp(), + ...makeComponentProps(), + ...makeThemeProps() + }, "VLabel"); + const VLabel = genericComponent()({ + name: "VLabel", + props: makeVLabelProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createElementVNode("label", { + "class": require$$0.normalizeClass(["v-label", { + "v-label--clickable": !!props.onClick + }, props.class]), + "style": require$$0.normalizeStyle(props.style), + "onClick": props.onClick + }, [props.text, slots.default?.()])); + return {}; + } + }); + const VSelectionControlGroupSymbol = Symbol.for("vuetify:selection-control-group"); + const makeSelectionControlGroupProps = propsFactory({ + color: String, + disabled: { + type: Boolean, + default: null + }, + defaultsTarget: String, + error: Boolean, + id: String, + inline: Boolean, + falseIcon: IconValue, + trueIcon: IconValue, + ripple: { + type: [Boolean, Object], + default: true + }, + multiple: { + type: Boolean, + default: null + }, + name: String, + readonly: { + type: Boolean, + default: null + }, + modelValue: null, + type: String, + valueComparator: { + type: Function, + default: deepEqual + }, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeThemeProps() + }, "SelectionControlGroup"); + const makeVSelectionControlGroupProps = propsFactory({ + ...makeSelectionControlGroupProps({ + defaultsTarget: "VSelectionControl" + }) + }, "VSelectionControlGroup"); + const VSelectionControlGroup = genericComponent()({ + name: "VSelectionControlGroup", + props: makeVSelectionControlGroupProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const modelValue = useProxiedModel(props, "modelValue"); + const uid = require$$0.useId(); + const id2 = require$$0.toRef(() => props.id || `v-selection-control-group-${uid}`); + const name = require$$0.toRef(() => props.name || id2.value); + const updateHandlers = /* @__PURE__ */ new Set(); + require$$0.provide(VSelectionControlGroupSymbol, { + modelValue, + forceUpdate: () => { + updateHandlers.forEach((fn2) => fn2()); + }, + onForceUpdate: (cb2) => { + updateHandlers.add(cb2); + require$$0.onScopeDispose(() => { + updateHandlers.delete(cb2); + }); + } + }); + provideDefaults({ + [props.defaultsTarget]: { + color: require$$0.toRef(() => props.color), + disabled: require$$0.toRef(() => props.disabled), + density: require$$0.toRef(() => props.density), + error: require$$0.toRef(() => props.error), + inline: require$$0.toRef(() => props.inline), + modelValue, + multiple: require$$0.toRef(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)), + name, + falseIcon: require$$0.toRef(() => props.falseIcon), + trueIcon: require$$0.toRef(() => props.trueIcon), + readonly: require$$0.toRef(() => props.readonly), + ripple: require$$0.toRef(() => props.ripple), + type: require$$0.toRef(() => props.type), + valueComparator: require$$0.toRef(() => props.valueComparator) + } + }); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-selection-control-group", { + "v-selection-control-group--inline": props.inline + }, props.class]), + "style": require$$0.normalizeStyle(props.style), + "role": props.type === "radio" ? "radiogroup" : void 0 + }, [slots.default?.()])); + return {}; + } + }); + const makeVSelectionControlProps = propsFactory({ + label: String, + baseColor: String, + trueValue: null, + falseValue: null, + value: null, + ...makeComponentProps(), + ...makeSelectionControlGroupProps() + }, "VSelectionControl"); + function useSelectionControl(props) { + const group = require$$0.inject(VSelectionControlGroupSymbol, void 0); + const { + densityClasses + } = useDensity(props); + const modelValue = useProxiedModel(props, "modelValue"); + const trueValue = require$$0.computed(() => props.trueValue !== void 0 ? props.trueValue : props.value !== void 0 ? props.value : true); + const falseValue = require$$0.computed(() => props.falseValue !== void 0 ? props.falseValue : false); + const isMultiple2 = require$$0.computed(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)); + const model = require$$0.computed({ + get() { + const val = group ? group.modelValue.value : modelValue.value; + return isMultiple2.value ? wrapInArray(val).some((v) => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value); + }, + set(val) { + if (props.readonly) return; + const currentValue = val ? trueValue.value : falseValue.value; + let newVal = currentValue; + if (isMultiple2.value) { + newVal = val ? [...wrapInArray(modelValue.value), currentValue] : wrapInArray(modelValue.value).filter((item) => !props.valueComparator(item, trueValue.value)); + } + if (group) { + group.modelValue.value = newVal; + } else { + modelValue.value = newVal; + } + } + }); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => { + if (props.error || props.disabled) return void 0; + return model.value ? props.color : props.baseColor; + }); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => { + return model.value && !props.error && !props.disabled ? props.color : props.baseColor; + }); + const icon = require$$0.computed(() => model.value ? props.trueIcon : props.falseIcon); + return { + group, + densityClasses, + trueValue, + falseValue, + model, + textColorClasses, + textColorStyles, + backgroundColorClasses, + backgroundColorStyles, + icon + }; + } + const VSelectionControl = genericComponent()({ + name: "VSelectionControl", + directives: { + vRipple: Ripple + }, + inheritAttrs: false, + props: makeVSelectionControlProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + group, + densityClasses, + icon, + model, + textColorClasses, + textColorStyles, + backgroundColorClasses, + backgroundColorStyles, + trueValue + } = useSelectionControl(props); + const uid = require$$0.useId(); + const isFocused = require$$0.shallowRef(false); + const isFocusVisible = require$$0.shallowRef(false); + const input = require$$0.ref(); + const id2 = require$$0.toRef(() => props.id || `input-${uid}`); + const isInteractive = require$$0.toRef(() => !props.disabled && !props.readonly); + group?.onForceUpdate(() => { + if (input.value) { + input.value.checked = model.value; + } + }); + function onFocus(e7) { + if (!isInteractive.value) return; + isFocused.value = true; + if (matchesSelector(e7.target, ":focus-visible") !== false) { + isFocusVisible.value = true; + } + } + function onBlur() { + isFocused.value = false; + isFocusVisible.value = false; + } + function onClickLabel(e7) { + e7.stopPropagation(); + } + function onInput(e7) { + if (!isInteractive.value) { + if (input.value) { + input.value.checked = model.value; + } + return; + } + if (props.readonly && group) { + require$$0.nextTick(() => group.forceUpdate()); + } + model.value = e7.target.checked; + } + useRender(() => { + const label = slots.label ? slots.label({ + label: props.label, + props: { + for: id2.value + } + }) : props.label; + const [rootAttrs, inputAttrs] = filterInputAttrs(attrs); + const inputNode = require$$0.createElementVNode("input", require$$0.mergeProps({ + "ref": input, + "checked": model.value, + "disabled": !!props.disabled, + "id": id2.value, + "onBlur": onBlur, + "onFocus": onFocus, + "onInput": onInput, + "aria-disabled": !!props.disabled, + "aria-label": props.label, + "type": props.type, + "value": trueValue.value, + "name": props.name, + "aria-checked": props.type === "checkbox" ? model.value : void 0 + }, inputAttrs), null); + return require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-selection-control", { + "v-selection-control--dirty": model.value, + "v-selection-control--disabled": props.disabled, + "v-selection-control--error": props.error, + "v-selection-control--focused": isFocused.value, + "v-selection-control--focus-visible": isFocusVisible.value, + "v-selection-control--inline": props.inline + }, densityClasses.value, props.class] + }, rootAttrs, { + "style": props.style + }), [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-selection-control__wrapper", textColorClasses.value]), + "style": require$$0.normalizeStyle(textColorStyles.value) + }, [slots.default?.({ + backgroundColorClasses, + backgroundColorStyles + }), require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-selection-control__input"]) + }, [slots.input?.({ + model, + textColorClasses, + textColorStyles, + backgroundColorClasses, + backgroundColorStyles, + inputNode, + icon: icon.value, + props: { + onFocus, + onBlur, + id: id2.value + } + }) ?? require$$0.createElementVNode(require$$0.Fragment, null, [icon.value && require$$0.createVNode(VIcon, { + "key": "icon", + "icon": icon.value + }, null), inputNode])]), [[Ripple, !props.disabled && !props.readonly && props.ripple, null, { + center: true, + circle: true + }]])]), label && require$$0.createVNode(VLabel, { + "for": id2.value, + "onClick": onClickLabel + }, { + default: () => [label] + })]); + }); + return { + isFocused, + input + }; + } + }); + const makeVCheckboxBtnProps = propsFactory({ + indeterminate: Boolean, + indeterminateIcon: { + type: IconValue, + default: "$checkboxIndeterminate" + }, + ...makeVSelectionControlProps({ + falseIcon: "$checkboxOff", + trueIcon: "$checkboxOn" + }) + }, "VCheckboxBtn"); + const VCheckboxBtn = genericComponent()({ + name: "VCheckboxBtn", + props: makeVCheckboxBtnProps(), + emits: { + "update:modelValue": (value) => true, + "update:indeterminate": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const indeterminate = useProxiedModel(props, "indeterminate"); + const model = useProxiedModel(props, "modelValue"); + function onChange(v) { + if (indeterminate.value) { + indeterminate.value = false; + } + } + const falseIcon = require$$0.toRef(() => { + return indeterminate.value ? props.indeterminateIcon : props.falseIcon; + }); + const trueIcon = require$$0.toRef(() => { + return indeterminate.value ? props.indeterminateIcon : props.trueIcon; + }); + useRender(() => { + const controlProps = omit(VSelectionControl.filterProps(props), ["modelValue"]); + return require$$0.createVNode(VSelectionControl, require$$0.mergeProps(controlProps, { + "modelValue": model.value, + "onUpdate:modelValue": [($event) => model.value = $event, onChange], + "class": ["v-checkbox-btn", props.class], + "style": props.style, + "type": "checkbox", + "falseIcon": falseIcon.value, + "trueIcon": trueIcon.value, + "aria-checked": indeterminate.value ? "mixed" : void 0 + }), slots); + }); + return {}; + } + }); + function useInputIcon(props) { + const { + t + } = useLocale(); + function InputIcon(_ref) { + let { + name, + color, + ...attrs + } = _ref; + const localeKey = { + prepend: "prependAction", + prependInner: "prependAction", + append: "appendAction", + appendInner: "appendAction", + clear: "clear" + }[name]; + const listener = props[`onClick:${name}`]; + function onKeydown(e7) { + if (e7.key !== "Enter" && e7.key !== " ") return; + e7.preventDefault(); + e7.stopPropagation(); + callEvent(listener, new PointerEvent("click", e7)); + } + const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? "") : void 0; + return require$$0.createVNode(VIcon, require$$0.mergeProps({ + "icon": props[`${name}Icon`], + "aria-label": label, + "onClick": listener, + "onKeydown": onKeydown, + "color": color + }, attrs), null); + } + return { + InputIcon + }; + } + const makeVMessagesProps = propsFactory({ + active: Boolean, + color: String, + messages: { + type: [Array, String], + default: () => [] + }, + ...makeComponentProps(), + ...makeTransitionProps({ + transition: { + component: VSlideYTransition, + leaveAbsolute: true, + group: true + } + }) + }, "VMessages"); + const VMessages = genericComponent()({ + name: "VMessages", + props: makeVMessagesProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const messages2 = require$$0.computed(() => wrapInArray(props.messages)); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + useRender(() => require$$0.createVNode(MaybeTransition, { + "transition": props.transition, + "tag": "div", + "class": require$$0.normalizeClass(["v-messages", textColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([textColorStyles.value, props.style]) + }, { + default: () => [props.active && messages2.value.map((message2, i7) => require$$0.createElementVNode("div", { + "class": "v-messages__message", + "key": `${i7}-${messages2.value}` + }, [slots.message ? slots.message({ + message: message2 + }) : message2]))] + })); + return {}; + } + }); + const makeFocusProps = propsFactory({ + focused: Boolean, + "onUpdate:focused": EventProp() + }, "focus"); + function useFocus(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const isFocused = useProxiedModel(props, "focused"); + const focusClasses = require$$0.toRef(() => { + return { + [`${name}--focused`]: isFocused.value + }; + }); + function focus2() { + isFocused.value = true; + } + function blur2() { + isFocused.value = false; + } + return { + focusClasses, + isFocused, + focus: focus2, + blur: blur2 + }; + } + const FormKey = Symbol.for("vuetify:form"); + const makeFormProps = propsFactory({ + disabled: Boolean, + fastFail: Boolean, + readonly: Boolean, + modelValue: { + type: Boolean, + default: null + }, + validateOn: { + type: String, + default: "input" + } + }, "form"); + function createForm(props) { + const model = useProxiedModel(props, "modelValue"); + const isDisabled = require$$0.toRef(() => props.disabled); + const isReadonly = require$$0.toRef(() => props.readonly); + const isValidating = require$$0.shallowRef(false); + const items = require$$0.ref([]); + const errors = require$$0.ref([]); + async function validate() { + const results = []; + let valid = true; + errors.value = []; + isValidating.value = true; + for (const item of items.value) { + const itemErrorMessages = await item.validate(); + if (itemErrorMessages.length > 0) { + valid = false; + results.push({ + id: item.id, + errorMessages: itemErrorMessages + }); + } + if (!valid && props.fastFail) break; + } + errors.value = results; + isValidating.value = false; + return { + valid, + errors: errors.value + }; + } + function reset() { + items.value.forEach((item) => item.reset()); + } + function resetValidation() { + items.value.forEach((item) => item.resetValidation()); + } + require$$0.watch(items, () => { + let valid = 0; + let invalid = 0; + const results = []; + for (const item of items.value) { + if (item.isValid === false) { + invalid++; + results.push({ + id: item.id, + errorMessages: item.errorMessages + }); + } else if (item.isValid === true) valid++; + } + errors.value = results; + model.value = invalid > 0 ? false : valid === items.value.length ? true : null; + }, { + deep: true, + flush: "post" + }); + require$$0.provide(FormKey, { + register: (_ref) => { + let { + id: id2, + vm, + validate: validate2, + reset: reset2, + resetValidation: resetValidation2 + } = _ref; + if (items.value.some((item) => item.id === id2)) { + consoleWarn(`Duplicate input name "${id2}"`); + } + items.value.push({ + id: id2, + validate: validate2, + reset: reset2, + resetValidation: resetValidation2, + vm: require$$0.markRaw(vm), + isValid: null, + errorMessages: [] + }); + }, + unregister: (id2) => { + items.value = items.value.filter((item) => { + return item.id !== id2; + }); + }, + update: (id2, isValid2, errorMessages2) => { + const found2 = items.value.find((item) => item.id === id2); + if (!found2) return; + found2.isValid = isValid2; + found2.errorMessages = errorMessages2; + }, + isDisabled, + isReadonly, + isValidating, + isValid: model, + items, + validateOn: require$$0.toRef(() => props.validateOn) + }); + return { + errors, + isDisabled, + isReadonly, + isValidating, + isValid: model, + items, + validate, + reset, + resetValidation + }; + } + function useForm(props) { + const form = require$$0.inject(FormKey, null); + return { + ...form, + isReadonly: require$$0.computed(() => !!(props?.readonly ?? form?.isReadonly.value)), + isDisabled: require$$0.computed(() => !!(props?.disabled ?? form?.isDisabled.value)) + }; + } + const RulesSymbol = Symbol.for("vuetify:rules"); + function useRules(fn2) { + const rules = require$$0.inject(RulesSymbol, null); + if (!fn2) { + if (!rules) { + throw new Error("Could not find Vuetify rules injection"); + } + return rules.aliases; + } + return rules?.resolve(fn2) ?? require$$0.toRef(fn2); + } + const makeValidationProps = propsFactory({ + disabled: { + type: Boolean, + default: null + }, + error: Boolean, + errorMessages: { + type: [Array, String], + default: () => [] + }, + maxErrors: { + type: [Number, String], + default: 1 + }, + name: String, + label: String, + readonly: { + type: Boolean, + default: null + }, + rules: { + type: Array, + default: () => [] + }, + modelValue: null, + validateOn: String, + validationValue: null, + ...makeFocusProps() + }, "validation"); + function useValidation(props) { + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + let id2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : require$$0.useId(); + const model = useProxiedModel(props, "modelValue"); + const validationModel = require$$0.computed(() => props.validationValue === void 0 ? model.value : props.validationValue); + const form = useForm(props); + const rules = useRules(() => props.rules); + const internalErrorMessages = require$$0.ref([]); + const isPristine = require$$0.shallowRef(true); + const isDirty = require$$0.computed(() => !!(wrapInArray(model.value === "" ? null : model.value).length || wrapInArray(validationModel.value === "" ? null : validationModel.value).length)); + const errorMessages2 = require$$0.computed(() => { + return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value; + }); + const validateOn = require$$0.computed(() => { + let value = (props.validateOn ?? form.validateOn?.value) || "input"; + if (value === "lazy") value = "input lazy"; + if (value === "eager") value = "input eager"; + const set2 = new Set(value?.split(" ") ?? []); + return { + input: set2.has("input"), + blur: set2.has("blur") || set2.has("input") || set2.has("invalid-input"), + invalidInput: set2.has("invalid-input"), + lazy: set2.has("lazy"), + eager: set2.has("eager") + }; + }); + const isValid2 = require$$0.computed(() => { + if (props.error || props.errorMessages?.length) return false; + if (!props.rules.length) return true; + if (isPristine.value) { + return internalErrorMessages.value.length || validateOn.value.lazy ? null : true; + } else { + return !internalErrorMessages.value.length; + } + }); + const isValidating = require$$0.shallowRef(false); + const validationClasses = require$$0.computed(() => { + return { + [`${name}--error`]: isValid2.value === false, + [`${name}--dirty`]: isDirty.value, + [`${name}--disabled`]: form.isDisabled.value, + [`${name}--readonly`]: form.isReadonly.value + }; + }); + const vm = getCurrentInstance("validation"); + const uid = require$$0.computed(() => props.name ?? require$$0.unref(id2)); + require$$0.onBeforeMount(() => { + form.register?.({ + id: uid.value, + vm, + validate, + reset, + resetValidation + }); + }); + require$$0.onBeforeUnmount(() => { + form.unregister?.(uid.value); + }); + require$$0.onMounted(async () => { + if (!validateOn.value.lazy) { + await validate(!validateOn.value.eager); + } + form.update?.(uid.value, isValid2.value, errorMessages2.value); + }); + useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid2.value === false, () => { + require$$0.watch(validationModel, () => { + if (validationModel.value != null) { + validate(); + } else if (props.focused) { + const unwatch = require$$0.watch(() => props.focused, (val) => { + if (!val) validate(); + unwatch(); + }); + } + }); + }); + useToggleScope(() => validateOn.value.blur, () => { + require$$0.watch(() => props.focused, (val) => { + if (!val) validate(); + }); + }); + require$$0.watch([isValid2, errorMessages2], () => { + form.update?.(uid.value, isValid2.value, errorMessages2.value); + }); + async function reset() { + model.value = null; + await require$$0.nextTick(); + await resetValidation(); + } + async function resetValidation() { + isPristine.value = true; + if (!validateOn.value.lazy) { + await validate(!validateOn.value.eager); + } else { + internalErrorMessages.value = []; + } + } + async function validate() { + let silent = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false; + const results = []; + isValidating.value = true; + for (const rule of rules.value) { + if (results.length >= Number(props.maxErrors ?? 1)) { + break; + } + const handler = typeof rule === "function" ? rule : () => rule; + const result = await handler(validationModel.value); + if (result === true) continue; + if (result !== false && typeof result !== "string") { + console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`); + continue; + } + results.push(result || ""); + } + internalErrorMessages.value = results; + isValidating.value = false; + isPristine.value = silent; + return internalErrorMessages.value; + } + return { + errorMessages: errorMessages2, + isDirty, + isDisabled: form.isDisabled, + isReadonly: form.isReadonly, + isPristine, + isValid: isValid2, + isValidating, + reset, + resetValidation, + validate, + validationClasses + }; + } + const makeVInputProps = propsFactory({ + id: String, + appendIcon: IconValue, + baseColor: String, + centerAffix: { + type: Boolean, + default: true + }, + color: String, + glow: Boolean, + iconColor: [Boolean, String], + prependIcon: IconValue, + hideDetails: [Boolean, String], + hideSpinButtons: Boolean, + hint: String, + persistentHint: Boolean, + messages: { + type: [Array, String], + default: () => [] + }, + direction: { + type: String, + default: "horizontal", + validator: (v) => ["horizontal", "vertical"].includes(v) + }, + "onClick:prepend": EventProp(), + "onClick:append": EventProp(), + ...makeComponentProps(), + ...makeDensityProps(), + ...pick(makeDimensionProps(), ["maxWidth", "minWidth", "width"]), + ...makeThemeProps(), + ...makeValidationProps() + }, "VInput"); + const VInput = genericComponent()({ + name: "VInput", + props: { + ...makeVInputProps() + }, + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots, + emit + } = _ref; + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + themeClasses + } = provideTheme(props); + const { + rtlClasses + } = useRtl(); + const { + InputIcon + } = useInputIcon(props); + const uid = require$$0.useId(); + const id2 = require$$0.computed(() => props.id || `input-${uid}`); + const { + errorMessages: errorMessages2, + isDirty, + isDisabled, + isReadonly, + isPristine, + isValid: isValid2, + isValidating, + reset, + resetValidation, + validate, + validationClasses + } = useValidation(props, "v-input", id2); + const messages2 = require$$0.computed(() => { + if (props.errorMessages?.length || !isPristine.value && errorMessages2.value.length) { + return errorMessages2.value; + } else if (props.hint && (props.persistentHint || props.focused)) { + return props.hint; + } else { + return props.messages; + } + }); + const hasMessages = require$$0.toRef(() => messages2.value.length > 0); + const hasDetails = require$$0.toRef(() => !props.hideDetails || props.hideDetails === "auto" && (hasMessages.value || !!slots.details)); + const messagesId = require$$0.computed(() => hasDetails.value ? `${id2.value}-messages` : void 0); + const slotProps = require$$0.computed(() => ({ + id: id2, + messagesId, + isDirty, + isDisabled, + isReadonly, + isPristine, + isValid: isValid2, + isValidating, + hasDetails, + reset, + resetValidation, + validate + })); + const color = require$$0.toRef(() => { + return props.error || props.disabled ? void 0 : props.focused ? props.color : props.baseColor; + }); + const iconColor = require$$0.toRef(() => { + if (!props.iconColor) return void 0; + return props.iconColor === true ? color.value : props.iconColor; + }); + useRender(() => { + const hasPrepend = !!(slots.prepend || props.prependIcon); + const hasAppend = !!(slots.append || props.appendIcon); + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-input", `v-input--${props.direction}`, { + "v-input--center-affix": props.centerAffix, + "v-input--focused": props.focused, + "v-input--glow": props.glow, + "v-input--hide-spin-buttons": props.hideSpinButtons + }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class]), + "style": require$$0.normalizeStyle([dimensionStyles.value, props.style]) + }, [hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-input__prepend" + }, [slots.prepend?.(slotProps.value), props.prependIcon && require$$0.createVNode(InputIcon, { + "key": "prepend-icon", + "name": "prepend", + "color": iconColor.value + }, null)]), slots.default && require$$0.createElementVNode("div", { + "class": "v-input__control" + }, [slots.default?.(slotProps.value)]), hasAppend && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-input__append" + }, [props.appendIcon && require$$0.createVNode(InputIcon, { + "key": "append-icon", + "name": "append", + "color": iconColor.value + }, null), slots.append?.(slotProps.value)]), hasDetails.value && require$$0.createElementVNode("div", { + "id": messagesId.value, + "class": "v-input__details", + "role": "alert", + "aria-live": "polite" + }, [require$$0.createVNode(VMessages, { + "active": hasMessages.value, + "messages": messages2.value + }, { + message: slots.message + }), slots.details?.(slotProps.value)])]); + }); + return { + reset, + resetValidation, + validate, + isValid: isValid2, + errorMessages: errorMessages2 + }; + } + }); + const Refs$1 = Symbol("Forwarded refs"); + function getDescriptor$1(obj, key) { + let currentObj = obj; + while (currentObj) { + const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key); + if (descriptor) return descriptor; + currentObj = Object.getPrototypeOf(currentObj); + } + return void 0; + } + function forwardRefs$1(target) { + for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + refs[_key - 1] = arguments[_key]; + } + target[Refs$1] = refs; + return new Proxy(target, { + get(target2, key) { + if (Reflect.has(target2, key)) { + return Reflect.get(target2, key); + } + if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return; + for (const ref of refs) { + if (ref.value && Reflect.has(ref.value, key)) { + const val = Reflect.get(ref.value, key); + return typeof val === "function" ? val.bind(ref.value) : val; + } + } + }, + has(target2, key) { + if (Reflect.has(target2, key)) { + return true; + } + if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return false; + for (const ref of refs) { + if (ref.value && Reflect.has(ref.value, key)) { + return true; + } + } + return false; + }, + set(target2, key, value) { + if (Reflect.has(target2, key)) { + return Reflect.set(target2, key, value); + } + if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return false; + for (const ref of refs) { + if (ref.value && Reflect.has(ref.value, key)) { + return Reflect.set(ref.value, key, value); + } + } + return false; + }, + getOwnPropertyDescriptor(target2, key) { + const descriptor = Reflect.getOwnPropertyDescriptor(target2, key); + if (descriptor) return descriptor; + if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return; + for (const ref of refs) { + if (!ref.value) continue; + const descriptor2 = getDescriptor$1(ref.value, key) ?? ("_" in ref.value ? getDescriptor$1(ref.value._?.setupState, key) : void 0); + if (descriptor2) return descriptor2; + } + for (const ref of refs) { + const childRefs = ref.value && ref.value[Refs$1]; + if (!childRefs) continue; + const queue = childRefs.slice(); + while (queue.length) { + const ref2 = queue.shift(); + const descriptor2 = getDescriptor$1(ref2.value, key); + if (descriptor2) return descriptor2; + const childRefs2 = ref2.value && ref2.value[Refs$1]; + if (childRefs2) queue.push(...childRefs2); + } + } + return void 0; + } + }); + } + const makeVCheckboxProps = propsFactory({ + ...makeVInputProps(), + ...omit(makeVCheckboxBtnProps(), ["inline"]) + }, "VCheckbox"); + const VCheckbox = genericComponent()({ + name: "VCheckbox", + inheritAttrs: false, + props: makeVCheckboxProps(), + emits: { + "update:modelValue": (value) => true, + "update:focused": (focused) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const inputRef = require$$0.ref(); + const uid = require$$0.useId(); + useRender(() => { + const [rootAttrs, controlAttrs] = filterInputAttrs(attrs); + const inputProps = VInput.filterProps(props); + const checkboxProps = VCheckboxBtn.filterProps(props); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": inputRef, + "class": ["v-checkbox", props.class] + }, rootAttrs, inputProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "id": props.id || `checkbox-${uid}`, + "focused": isFocused.value, + "style": props.style + }), { + ...slots, + default: (_ref2) => { + let { + id: id2, + messagesId, + isDisabled, + isReadonly, + isValid: isValid2 + } = _ref2; + return require$$0.createVNode(VCheckboxBtn, require$$0.mergeProps(checkboxProps, { + "id": id2.value, + "aria-describedby": messagesId.value, + "disabled": isDisabled.value, + "readonly": isReadonly.value + }, controlAttrs, { + "error": isValid2.value === false, + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "onFocus": focus2, + "onBlur": blur2 + }), slots); + } + }); + }); + return forwardRefs$1({}, inputRef); + } + }); + const breakpoints = ["sm", "md", "lg", "xl", "xxl"]; + const DisplaySymbol = Symbol.for("vuetify:display"); + const defaultDisplayOptions = { + mobileBreakpoint: "lg", + thresholds: { + xs: 0, + sm: 600, + md: 960, + lg: 1280, + xl: 1920, + xxl: 2560 + } + }; + const parseDisplayOptions = function() { + let options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultDisplayOptions; + return mergeDeep$1(defaultDisplayOptions, options); + }; + function getClientWidth(ssr) { + return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === "object" && ssr.clientWidth || 0; + } + function getClientHeight(ssr) { + return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === "object" && ssr.clientHeight || 0; + } + function getPlatform(ssr) { + const userAgent2 = IN_BROWSER && !ssr ? window.navigator.userAgent : "ssr"; + function match2(regexp2) { + return Boolean(userAgent2.match(regexp2)); + } + const android = match2(/android/i); + const ios = match2(/iphone|ipad|ipod/i); + const cordova = match2(/cordova/i); + const electron = match2(/electron/i); + const chrome = match2(/chrome/i); + const edge = match2(/edge/i); + const firefox = match2(/firefox/i); + const opera = match2(/opera/i); + const win = match2(/win/i); + const mac = match2(/mac/i); + const linux = match2(/linux/i); + return { + android, + ios, + cordova, + electron, + chrome, + edge, + firefox, + opera, + win, + mac, + linux, + touch: SUPPORTS_TOUCH, + ssr: userAgent2 === "ssr" + }; + } + function createDisplay(options, ssr) { + const { + thresholds, + mobileBreakpoint + } = parseDisplayOptions(options); + const height = require$$0.shallowRef(getClientHeight(ssr)); + const platform2 = require$$0.shallowRef(getPlatform(ssr)); + const state = require$$0.reactive({}); + const width = require$$0.shallowRef(getClientWidth(ssr)); + function updateSize() { + height.value = getClientHeight(); + width.value = getClientWidth(); + } + function update() { + updateSize(); + platform2.value = getPlatform(); + } + require$$0.watchEffect(() => { + const xs2 = width.value < thresholds.sm; + const sm2 = width.value < thresholds.md && !xs2; + const md2 = width.value < thresholds.lg && !(sm2 || xs2); + const lg2 = width.value < thresholds.xl && !(md2 || sm2 || xs2); + const xl2 = width.value < thresholds.xxl && !(lg2 || md2 || sm2 || xs2); + const xxl = width.value >= thresholds.xxl; + const name = xs2 ? "xs" : sm2 ? "sm" : md2 ? "md" : lg2 ? "lg" : xl2 ? "xl" : "xxl"; + const breakpointValue = typeof mobileBreakpoint === "number" ? mobileBreakpoint : thresholds[mobileBreakpoint]; + const mobile = width.value < breakpointValue; + state.xs = xs2; + state.sm = sm2; + state.md = md2; + state.lg = lg2; + state.xl = xl2; + state.xxl = xxl; + state.smAndUp = !xs2; + state.mdAndUp = !(xs2 || sm2); + state.lgAndUp = !(xs2 || sm2 || md2); + state.xlAndUp = !(xs2 || sm2 || md2 || lg2); + state.smAndDown = !(md2 || lg2 || xl2 || xxl); + state.mdAndDown = !(lg2 || xl2 || xxl); + state.lgAndDown = !(xl2 || xxl); + state.xlAndDown = !xxl; + state.name = name; + state.height = height.value; + state.width = width.value; + state.mobile = mobile; + state.mobileBreakpoint = mobileBreakpoint; + state.platform = platform2.value; + state.thresholds = thresholds; + }); + if (IN_BROWSER) { + window.addEventListener("resize", updateSize, { + passive: true + }); + require$$0.onScopeDispose(() => { + window.removeEventListener("resize", updateSize); + }, true); + } + return { + ...require$$0.toRefs(state), + update, + ssr: !!ssr + }; + } + const makeDisplayProps = propsFactory({ + mobile: { + type: Boolean, + default: false + }, + mobileBreakpoint: [Number, String] + }, "display"); + function useDisplay() { + let props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : { + mobile: null + }; + let name = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : getCurrentInstanceName(); + const display = require$$0.inject(DisplaySymbol); + if (!display) throw new Error("Could not find Vuetify display injection"); + const mobile = require$$0.computed(() => { + if (props.mobile) { + return true; + } else if (typeof props.mobileBreakpoint === "number") { + return display.width.value < props.mobileBreakpoint; + } else if (props.mobileBreakpoint) { + return display.width.value < display.thresholds.value[props.mobileBreakpoint]; + } else if (props.mobile === null) { + return display.mobile.value; + } else { + return false; + } + }); + const displayClasses = require$$0.toRef(() => { + if (!name) return {}; + return { + [`${name}--mobile`]: mobile.value + }; + }); + return { + ...display, + displayClasses, + mobile + }; + } + const GoToSymbol = Symbol.for("vuetify:goto"); + function genDefaults() { + return { + container: void 0, + duration: 300, + layout: false, + offset: 0, + easing: "easeInOutCubic", + patterns: easingPatterns + }; + } + function getContainer(el2) { + return getTarget$1(el2) ?? (document.scrollingElement || document.body); + } + function getTarget$1(el2) { + return typeof el2 === "string" ? document.querySelector(el2) : refElement(el2); + } + function getOffset$2(target, horizontal, rtl) { + if (typeof target === "number") return horizontal && rtl ? -target : target; + let el2 = getTarget$1(target); + let totalOffset = 0; + while (el2) { + totalOffset += horizontal ? el2.offsetLeft : el2.offsetTop; + el2 = el2.offsetParent; + } + return totalOffset; + } + function createGoTo(options, locale) { + return { + rtl: locale.isRtl, + options: mergeDeep$1(genDefaults(), options) + }; + } + async function scrollTo(_target, _options, horizontal, goTo) { + const property = horizontal ? "scrollLeft" : "scrollTop"; + const options = mergeDeep$1(goTo?.options ?? genDefaults(), _options); + const rtl = goTo?.rtl.value; + const target = (typeof _target === "number" ? _target : getTarget$1(_target)) ?? 0; + const container = options.container === "parent" && target instanceof HTMLElement ? target.parentElement : getContainer(options.container); + const ease = window.matchMedia("(prefers-reduced-motion: reduce)").matches ? options.patterns.instant : typeof options.easing === "function" ? options.easing : options.patterns[options.easing]; + if (!ease) throw new TypeError(`Easing function "${options.easing}" not found.`); + let targetLocation; + if (typeof target === "number") { + targetLocation = getOffset$2(target, horizontal, rtl); + } else { + targetLocation = getOffset$2(target, horizontal, rtl) - getOffset$2(container, horizontal, rtl); + if (options.layout) { + const styles = window.getComputedStyle(target); + const layoutOffset = styles.getPropertyValue("--v-layout-top"); + if (layoutOffset) targetLocation -= parseInt(layoutOffset, 10); + } + } + targetLocation += options.offset; + targetLocation = clampTarget(container, targetLocation, !!rtl, !!horizontal); + const startLocation = container[property] ?? 0; + if (targetLocation === startLocation) return Promise.resolve(targetLocation); + const startTime = performance.now(); + return new Promise((resolve) => requestAnimationFrame(function step(currentTime) { + const timeElapsed = currentTime - startTime; + const progress = timeElapsed / options.duration; + const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(clamp$1(progress, 0, 1))); + container[property] = location; + if (progress >= 1 && Math.abs(location - container[property]) < 10) { + return resolve(targetLocation); + } else if (progress > 2) { + consoleWarn("Scroll target is not reachable"); + return resolve(container[property]); + } + requestAnimationFrame(step); + })); + } + function useGoTo() { + let _options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + const goToInstance = require$$0.inject(GoToSymbol); + const { + isRtl + } = useRtl(); + if (!goToInstance) throw new Error("[Vuetify] Could not find injected goto instance"); + const goTo = { + ...goToInstance, + // can be set via VLocaleProvider + rtl: require$$0.toRef(() => goToInstance.rtl.value || isRtl.value) + }; + async function go(target, options) { + return scrollTo(target, mergeDeep$1(_options, options), false, goTo); + } + go.horizontal = async (target, options) => { + return scrollTo(target, mergeDeep$1(_options, options), true, goTo); + }; + return go; + } + function clampTarget(container, value, rtl, horizontal) { + const { + scrollWidth, + scrollHeight + } = container; + const [containerWidth, containerHeight] = container === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [container.offsetWidth, container.offsetHeight]; + let min3; + let max3; + if (horizontal) { + if (rtl) { + min3 = -(scrollWidth - containerWidth); + max3 = 0; + } else { + min3 = 0; + max3 = scrollWidth - containerWidth; + } + } else { + min3 = 0; + max3 = scrollHeight + -containerHeight; + } + return clamp$1(value, min3, max3); + } + function calculateUpdatedTarget(_ref) { + let { + selectedElement, + containerElement, + isRtl, + isHorizontal + } = _ref; + const containerSize = getOffsetSize(isHorizontal, containerElement); + const scrollPosition = getScrollPosition(isHorizontal, isRtl, containerElement); + const childrenSize = getOffsetSize(isHorizontal, selectedElement); + const childrenStartPosition = getOffsetPosition(isHorizontal, selectedElement); + const additionalOffset = childrenSize * 0.4; + if (scrollPosition > childrenStartPosition) { + return childrenStartPosition - additionalOffset; + } else if (scrollPosition + containerSize < childrenStartPosition + childrenSize) { + return childrenStartPosition - containerSize + childrenSize + additionalOffset; + } + return scrollPosition; + } + function calculateCenteredTarget(_ref2) { + let { + selectedElement, + containerElement, + isHorizontal + } = _ref2; + const containerOffsetSize = getOffsetSize(isHorizontal, containerElement); + const childrenOffsetPosition = getOffsetPosition(isHorizontal, selectedElement); + const childrenOffsetSize = getOffsetSize(isHorizontal, selectedElement); + return childrenOffsetPosition - containerOffsetSize / 2 + childrenOffsetSize / 2; + } + function getScrollSize(isHorizontal, element) { + const key = isHorizontal ? "scrollWidth" : "scrollHeight"; + return element?.[key] || 0; + } + function getClientSize(isHorizontal, element) { + const key = isHorizontal ? "clientWidth" : "clientHeight"; + return element?.[key] || 0; + } + function getScrollPosition(isHorizontal, rtl, element) { + if (!element) { + return 0; + } + const { + scrollLeft, + offsetWidth, + scrollWidth + } = element; + if (isHorizontal) { + return rtl ? scrollWidth - offsetWidth + scrollLeft : scrollLeft; + } + return element.scrollTop; + } + function getOffsetSize(isHorizontal, element) { + const key = isHorizontal ? "offsetWidth" : "offsetHeight"; + return element?.[key] || 0; + } + function getOffsetPosition(isHorizontal, element) { + const key = isHorizontal ? "offsetLeft" : "offsetTop"; + return element?.[key] || 0; + } + const VSlideGroupSymbol = Symbol.for("vuetify:v-slide-group"); + const makeVSlideGroupProps = propsFactory({ + centerActive: Boolean, + contentClass: null, + direction: { + type: String, + default: "horizontal" + }, + symbol: { + type: null, + default: VSlideGroupSymbol + }, + nextIcon: { + type: IconValue, + default: "$next" + }, + prevIcon: { + type: IconValue, + default: "$prev" + }, + showArrows: { + type: [Boolean, String], + validator: (v) => typeof v === "boolean" || ["always", "desktop", "mobile"].includes(v) + }, + ...makeComponentProps(), + ...makeDisplayProps({ + mobile: null + }), + ...makeTagProps(), + ...makeGroupProps({ + selectedClass: "v-slide-group-item--active" + }) + }, "VSlideGroup"); + const VSlideGroup = genericComponent()({ + name: "VSlideGroup", + props: makeVSlideGroupProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + isRtl + } = useRtl(); + const { + displayClasses, + mobile + } = useDisplay(props); + const group = useGroup(props, props.symbol); + const isOverflowing = require$$0.shallowRef(false); + const scrollOffset = require$$0.shallowRef(0); + const containerSize = require$$0.shallowRef(0); + const contentSize = require$$0.shallowRef(0); + const isHorizontal = require$$0.computed(() => props.direction === "horizontal"); + const { + resizeRef: containerRef, + contentRect: containerRect + } = useResizeObserver(); + const { + resizeRef: contentRef, + contentRect + } = useResizeObserver(); + const goTo = useGoTo(); + const goToOptions = require$$0.computed(() => { + return { + container: containerRef.el, + duration: 200, + easing: "easeOutQuart" + }; + }); + const firstSelectedIndex = require$$0.computed(() => { + if (!group.selected.value.length) return -1; + return group.items.value.findIndex((item) => item.id === group.selected.value[0]); + }); + const lastSelectedIndex = require$$0.computed(() => { + if (!group.selected.value.length) return -1; + return group.items.value.findIndex((item) => item.id === group.selected.value[group.selected.value.length - 1]); + }); + if (IN_BROWSER) { + let frame = -1; + require$$0.watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => { + cancelAnimationFrame(frame); + frame = requestAnimationFrame(() => { + if (containerRect.value && contentRect.value) { + const sizeProperty = isHorizontal.value ? "width" : "height"; + containerSize.value = containerRect.value[sizeProperty]; + contentSize.value = contentRect.value[sizeProperty]; + isOverflowing.value = containerSize.value + 1 < contentSize.value; + } + if (firstSelectedIndex.value >= 0 && contentRef.el) { + const selectedElement = contentRef.el.children[lastSelectedIndex.value]; + scrollToChildren(selectedElement, props.centerActive); + } + }); + }); + } + const isFocused = require$$0.shallowRef(false); + function scrollToChildren(children, center2) { + let target = 0; + if (center2) { + target = calculateCenteredTarget({ + containerElement: containerRef.el, + isHorizontal: isHorizontal.value, + selectedElement: children + }); + } else { + target = calculateUpdatedTarget({ + containerElement: containerRef.el, + isHorizontal: isHorizontal.value, + isRtl: isRtl.value, + selectedElement: children + }); + } + scrollToPosition(target); + } + function scrollToPosition(newPosition) { + if (!IN_BROWSER || !containerRef.el) return; + const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el); + const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el); + const scrollSize = getScrollSize(isHorizontal.value, containerRef.el); + if (scrollSize <= offsetSize || // Prevent scrolling by only a couple of pixels, which doesn't look smooth + Math.abs(newPosition - scrollPosition) < 16) return; + if (isHorizontal.value && isRtl.value && containerRef.el) { + const { + scrollWidth, + offsetWidth: containerWidth + } = containerRef.el; + newPosition = scrollWidth - containerWidth - newPosition; + } + if (isHorizontal.value) { + goTo.horizontal(newPosition, goToOptions.value); + } else { + goTo(newPosition, goToOptions.value); + } + } + function onScroll(e7) { + const { + scrollTop, + scrollLeft + } = e7.target; + scrollOffset.value = isHorizontal.value ? scrollLeft : scrollTop; + } + function onFocusin(e7) { + isFocused.value = true; + if (!isOverflowing.value || !contentRef.el) return; + for (const el2 of e7.composedPath()) { + for (const item of contentRef.el.children) { + if (item === el2) { + scrollToChildren(item); + return; + } + } + } + } + function onFocusout(e7) { + isFocused.value = false; + } + let ignoreFocusEvent = false; + function onFocus(e7) { + if (!ignoreFocusEvent && !isFocused.value && !(e7.relatedTarget && contentRef.el?.contains(e7.relatedTarget))) focus2(); + ignoreFocusEvent = false; + } + function onFocusAffixes() { + ignoreFocusEvent = true; + } + function onKeydown(e7) { + if (!contentRef.el) return; + function toFocus(location) { + e7.preventDefault(); + focus2(location); + } + if (isHorizontal.value) { + if (e7.key === "ArrowRight") { + toFocus(isRtl.value ? "prev" : "next"); + } else if (e7.key === "ArrowLeft") { + toFocus(isRtl.value ? "next" : "prev"); + } + } else { + if (e7.key === "ArrowDown") { + toFocus("next"); + } else if (e7.key === "ArrowUp") { + toFocus("prev"); + } + } + if (e7.key === "Home") { + toFocus("first"); + } else if (e7.key === "End") { + toFocus("last"); + } + } + function getSiblingElement(el2, location) { + if (!el2) return void 0; + let sibling = el2; + do { + sibling = sibling?.[location === "next" ? "nextElementSibling" : "previousElementSibling"]; + } while (sibling?.hasAttribute("disabled")); + return sibling; + } + function focus2(location) { + if (!contentRef.el) return; + let el2; + if (!location) { + const focusable = focusableChildren(contentRef.el); + el2 = focusable[0]; + } else if (location === "next") { + el2 = getSiblingElement(contentRef.el.querySelector(":focus"), location); + if (!el2) return focus2("first"); + } else if (location === "prev") { + el2 = getSiblingElement(contentRef.el.querySelector(":focus"), location); + if (!el2) return focus2("last"); + } else if (location === "first") { + el2 = contentRef.el.firstElementChild; + if (el2?.hasAttribute("disabled")) el2 = getSiblingElement(el2, "next"); + } else if (location === "last") { + el2 = contentRef.el.lastElementChild; + if (el2?.hasAttribute("disabled")) el2 = getSiblingElement(el2, "prev"); + } + if (el2) { + el2.focus({ + preventScroll: true + }); + } + } + function scrollTo2(location) { + const direction = isHorizontal.value && isRtl.value ? -1 : 1; + const offsetStep = (location === "prev" ? -direction : direction) * containerSize.value; + let newPosition = scrollOffset.value + offsetStep; + if (isHorizontal.value && isRtl.value && containerRef.el) { + const { + scrollWidth, + offsetWidth: containerWidth + } = containerRef.el; + newPosition += scrollWidth - containerWidth; + } + scrollToPosition(newPosition); + } + const slotProps = require$$0.computed(() => ({ + next: group.next, + prev: group.prev, + select: group.select, + isSelected: group.isSelected + })); + const hasOverflowOrScroll = require$$0.computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0); + const hasAffixes = require$$0.computed(() => { + switch (props.showArrows) { + // Always show arrows on desktop & mobile + case "always": + return true; + // Always show arrows on desktop + case "desktop": + return !mobile.value; + // Show arrows on mobile when overflowing. + // This matches the default 2.2 behavior + case true: + return hasOverflowOrScroll.value; + // Always show on mobile + case "mobile": + return mobile.value || hasOverflowOrScroll.value; + // https://material.io/components/tabs#scrollable-tabs + // Always show arrows when + // overflowed on desktop + default: + return !mobile.value && hasOverflowOrScroll.value; + } + }); + const hasPrev = require$$0.computed(() => { + return Math.abs(scrollOffset.value) > 1; + }); + const hasNext = require$$0.computed(() => { + if (!containerRef.value || !hasOverflowOrScroll.value) return false; + const scrollSize = getScrollSize(isHorizontal.value, containerRef.el); + const clientSize = getClientSize(isHorizontal.value, containerRef.el); + const scrollSizeMax = scrollSize - clientSize; + return scrollSizeMax - Math.abs(scrollOffset.value) > 1; + }); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-slide-group", { + "v-slide-group--vertical": !isHorizontal.value, + "v-slide-group--has-affixes": hasAffixes.value, + "v-slide-group--is-overflowing": isOverflowing.value + }, displayClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style), + "tabindex": isFocused.value || group.selected.value.length ? -1 : 0, + "onFocus": onFocus + }, { + default: () => [hasAffixes.value && require$$0.createElementVNode("div", { + "key": "prev", + "class": require$$0.normalizeClass(["v-slide-group__prev", { + "v-slide-group__prev--disabled": !hasPrev.value + }]), + "onMousedown": onFocusAffixes, + "onClick": () => hasPrev.value && scrollTo2("prev") + }, [slots.prev?.(slotProps.value) ?? require$$0.createVNode(VFadeTransition, null, { + default: () => [require$$0.createVNode(VIcon, { + "icon": isRtl.value ? props.nextIcon : props.prevIcon + }, null)] + })]), require$$0.createElementVNode("div", { + "key": "container", + "ref": containerRef, + "class": require$$0.normalizeClass(["v-slide-group__container", props.contentClass]), + "onScroll": onScroll + }, [require$$0.createElementVNode("div", { + "ref": contentRef, + "class": "v-slide-group__content", + "onFocusin": onFocusin, + "onFocusout": onFocusout, + "onKeydown": onKeydown + }, [slots.default?.(slotProps.value)])]), hasAffixes.value && require$$0.createElementVNode("div", { + "key": "next", + "class": require$$0.normalizeClass(["v-slide-group__next", { + "v-slide-group__next--disabled": !hasNext.value + }]), + "onMousedown": onFocusAffixes, + "onClick": () => hasNext.value && scrollTo2("next") + }, [slots.next?.(slotProps.value) ?? require$$0.createVNode(VFadeTransition, null, { + default: () => [require$$0.createVNode(VIcon, { + "icon": isRtl.value ? props.prevIcon : props.nextIcon + }, null)] + })])] + })); + return { + selected: group.selected, + scrollTo: scrollTo2, + scrollOffset, + focus: focus2, + hasPrev, + hasNext + }; + } + }); + const VChipGroupSymbol = Symbol.for("vuetify:v-chip-group"); + const makeVChipGroupProps = propsFactory({ + baseColor: String, + column: Boolean, + filter: Boolean, + valueComparator: { + type: Function, + default: deepEqual + }, + ...makeVSlideGroupProps(), + ...makeComponentProps(), + ...makeGroupProps({ + selectedClass: "v-chip--selected" + }), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "tonal" + }) + }, "VChipGroup"); + const VChipGroup = genericComponent()({ + name: "VChipGroup", + props: makeVChipGroupProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + isSelected, + select, + next, + prev, + selected + } = useGroup(props, VChipGroupSymbol); + provideDefaults({ + VChip: { + baseColor: require$$0.toRef(() => props.baseColor), + color: require$$0.toRef(() => props.color), + disabled: require$$0.toRef(() => props.disabled), + filter: require$$0.toRef(() => props.filter), + variant: require$$0.toRef(() => props.variant) + } + }); + useRender(() => { + const slideGroupProps = VSlideGroup.filterProps(props); + return require$$0.createVNode(VSlideGroup, require$$0.mergeProps(slideGroupProps, { + "class": ["v-chip-group", { + "v-chip-group--column": props.column + }, themeClasses.value, props.class], + "style": props.style + }), { + default: () => [slots.default?.({ + isSelected, + select, + next, + prev, + selected: selected.value + })] + }); + }); + return {}; + } + }); + const makeVChipProps = propsFactory({ + activeClass: String, + appendAvatar: String, + appendIcon: IconValue, + baseColor: String, + closable: Boolean, + closeIcon: { + type: IconValue, + default: "$delete" + }, + closeLabel: { + type: String, + default: "$vuetify.close" + }, + draggable: Boolean, + filter: Boolean, + filterIcon: { + type: IconValue, + default: "$complete" + }, + label: Boolean, + link: { + type: Boolean, + default: void 0 + }, + pill: Boolean, + prependAvatar: String, + prependIcon: IconValue, + ripple: { + type: [Boolean, Object], + default: true + }, + text: { + type: [String, Number, Boolean], + default: void 0 + }, + modelValue: { + type: Boolean, + default: true + }, + onClick: EventProp(), + onClickOnce: EventProp(), + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeElevationProps(), + ...makeGroupItemProps(), + ...makeRoundedProps(), + ...makeRouterProps(), + ...makeSizeProps(), + ...makeTagProps({ + tag: "span" + }), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "tonal" + }) + }, "VChip"); + const VChip = genericComponent()({ + name: "VChip", + directives: { + vRipple: Ripple + }, + props: makeVChipProps(), + emits: { + "click:close": (e7) => true, + "update:modelValue": (value) => true, + "group:selected": (val) => true, + click: (e7) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + t + } = useLocale(); + const { + borderClasses + } = useBorder(props); + const { + densityClasses + } = useDensity(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const { + sizeClasses + } = useSize(props); + const { + themeClasses + } = provideTheme(props); + const isActive = useProxiedModel(props, "modelValue"); + const group = useGroupItem(props, VChipGroupSymbol, false); + const link = useLink(props, attrs); + const isLink = require$$0.toRef(() => props.link !== false && link.isLink.value); + const isClickable = require$$0.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value)); + const closeProps = require$$0.toRef(() => ({ + "aria-label": t(props.closeLabel), + disabled: props.disabled, + onClick(e7) { + e7.preventDefault(); + e7.stopPropagation(); + isActive.value = false; + emit("click:close", e7); + } + })); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(() => { + const showColor = !group || group.isSelected.value; + return { + color: showColor ? props.color ?? props.baseColor : props.baseColor, + variant: props.variant + }; + }); + async function onClick(e7) { + emit("click", e7); + if (!isClickable.value) return; + if (await (link.navigateWithCheck?.(e7) ?? true)) { + group?.toggle(); + } + } + function onKeyDown(e7) { + if (e7.key === "Enter" || e7.key === " ") { + e7.preventDefault(); + onClick(e7); + } + } + return () => { + const Tag = link.isLink.value ? "a" : props.tag; + const hasAppendMedia = !!(props.appendIcon || props.appendAvatar); + const hasAppend = !!(hasAppendMedia || slots.append); + const hasClose = !!(slots.close || props.closable); + const hasFilter = !!(slots.filter || props.filter) && group; + const hasPrependMedia = !!(props.prependIcon || props.prependAvatar); + const hasPrepend = !!(hasPrependMedia || slots.prepend); + return isActive.value && require$$0.withDirectives(require$$0.createVNode(Tag, require$$0.mergeProps({ + "class": ["v-chip", { + "v-chip--disabled": props.disabled, + "v-chip--label": props.label, + "v-chip--link": isClickable.value, + "v-chip--filter": hasFilter, + "v-chip--pill": props.pill, + [`${props.activeClass}`]: props.activeClass && link.isActive?.value + }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class], + "style": [colorStyles.value, props.style], + "disabled": props.disabled || void 0, + "draggable": props.draggable, + "tabindex": isClickable.value ? 0 : void 0, + "onClick": onClick, + "onKeydown": isClickable.value && !isLink.value && onKeyDown + }, link.linkProps), { + default: () => [genOverlays(isClickable.value, "v-chip"), hasFilter && require$$0.createVNode(VExpandXTransition, { + "key": "filter" + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": "v-chip__filter" + }, [!slots.filter ? require$$0.createVNode(VIcon, { + "key": "filter-icon", + "icon": props.filterIcon + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "filter-defaults", + "disabled": !props.filterIcon, + "defaults": { + VIcon: { + icon: props.filterIcon + } + } + }, slots.filter)]), [[require$$0.vShow, group.isSelected.value]])] + }), hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-chip__prepend" + }, [!slots.prepend ? require$$0.createElementVNode(require$$0.Fragment, null, [props.prependIcon && require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "icon": props.prependIcon, + "start": true + }, null), props.prependAvatar && require$$0.createVNode(VAvatar, { + "key": "prepend-avatar", + "image": props.prependAvatar, + "start": true + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !hasPrependMedia, + "defaults": { + VAvatar: { + image: props.prependAvatar, + start: true + }, + VIcon: { + icon: props.prependIcon, + start: true + } + } + }, slots.prepend)]), require$$0.createElementVNode("div", { + "class": "v-chip__content", + "data-no-activator": "" + }, [slots.default?.({ + isSelected: group?.isSelected.value, + selectedClass: group?.selectedClass.value, + select: group?.select, + toggle: group?.toggle, + value: group?.value.value, + disabled: props.disabled + }) ?? require$$0.toDisplayString(props.text)]), hasAppend && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-chip__append" + }, [!slots.append ? require$$0.createElementVNode(require$$0.Fragment, null, [props.appendIcon && require$$0.createVNode(VIcon, { + "key": "append-icon", + "end": true, + "icon": props.appendIcon + }, null), props.appendAvatar && require$$0.createVNode(VAvatar, { + "key": "append-avatar", + "end": true, + "image": props.appendAvatar + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "append-defaults", + "disabled": !hasAppendMedia, + "defaults": { + VAvatar: { + end: true, + image: props.appendAvatar + }, + VIcon: { + end: true, + icon: props.appendIcon + } + } + }, slots.append)]), hasClose && require$$0.createElementVNode("button", require$$0.mergeProps({ + "key": "close", + "class": "v-chip__close", + "type": "button", + "data-testid": "close-chip" + }, closeProps.value), [!slots.close ? require$$0.createVNode(VIcon, { + "key": "close-icon", + "icon": props.closeIcon, + "size": "x-small" + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "close-defaults", + "defaults": { + VIcon: { + icon: props.closeIcon, + size: "x-small" + } + } + }, slots.close)])] + }), [[Ripple, isClickable.value && props.ripple, null]]); + }; + } + }); + const makeVDividerProps = propsFactory({ + color: String, + inset: Boolean, + length: [Number, String], + opacity: [Number, String], + thickness: [Number, String], + vertical: Boolean, + ...makeComponentProps(), + ...makeThemeProps() + }, "VDivider"); + const VDivider = genericComponent()({ + name: "VDivider", + props: makeVDividerProps(), + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + const dividerStyles = require$$0.computed(() => { + const styles = {}; + if (props.length) { + styles[props.vertical ? "height" : "width"] = convertToUnit(props.length); + } + if (props.thickness) { + styles[props.vertical ? "borderRightWidth" : "borderTopWidth"] = convertToUnit(props.thickness); + } + return styles; + }); + useRender(() => { + const divider = require$$0.createElementVNode("hr", { + "class": require$$0.normalizeClass([{ + "v-divider": true, + "v-divider--inset": props.inset, + "v-divider--vertical": props.vertical + }, themeClasses.value, textColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([dividerStyles.value, textColorStyles.value, { + "--v-border-opacity": props.opacity + }, props.style]), + "aria-orientation": !attrs.role || attrs.role === "separator" ? props.vertical ? "vertical" : "horizontal" : void 0, + "role": `${attrs.role || "separator"}` + }, null); + if (!slots.default) return divider; + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-divider__wrapper", { + "v-divider__wrapper--vertical": props.vertical, + "v-divider__wrapper--inset": props.inset + }]) + }, [divider, require$$0.createElementVNode("div", { + "class": "v-divider__content" + }, [slots.default()]), divider]); + }); + return {}; + } + }); + const ListKey = Symbol.for("vuetify:list"); + function createList$2() { + let { + filterable + } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : { + filterable: false + }; + const parent = require$$0.inject(ListKey, { + filterable: false, + hasPrepend: require$$0.shallowRef(false), + updateHasPrepend: () => null + }); + const data = { + filterable: parent.filterable || filterable, + hasPrepend: require$$0.shallowRef(false), + updateHasPrepend: (value) => { + if (value) data.hasPrepend.value = value; + } + }; + require$$0.provide(ListKey, data); + return parent; + } + function useList() { + return require$$0.inject(ListKey, null); + } + const independentActiveStrategy = (mandatory) => { + const strategy = { + activate: (_ref) => { + let { + id: id2, + value, + activated + } = _ref; + id2 = require$$0.toRaw(id2); + if (mandatory && !value && activated.size === 1 && activated.has(id2)) return activated; + if (value) { + activated.add(id2); + } else { + activated.delete(id2); + } + return activated; + }, + in: (v, children, parents) => { + let set2 = /* @__PURE__ */ new Set(); + if (v != null) { + for (const id2 of wrapInArray(v)) { + set2 = strategy.activate({ + id: id2, + value: true, + activated: new Set(set2), + children, + parents + }); + } + } + return set2; + }, + out: (v) => { + return Array.from(v); + } + }; + return strategy; + }; + const independentSingleActiveStrategy = (mandatory) => { + const parentStrategy = independentActiveStrategy(mandatory); + const strategy = { + activate: (_ref2) => { + let { + activated, + id: id2, + ...rest + } = _ref2; + id2 = require$$0.toRaw(id2); + const singleSelected = activated.has(id2) ? /* @__PURE__ */ new Set([id2]) : /* @__PURE__ */ new Set(); + return parentStrategy.activate({ + ...rest, + id: id2, + activated: singleSelected + }); + }, + in: (v, children, parents) => { + let set2 = /* @__PURE__ */ new Set(); + if (v != null) { + const arr = wrapInArray(v); + if (arr.length) { + set2 = parentStrategy.in(arr.slice(0, 1), children, parents); + } + } + return set2; + }, + out: (v, children, parents) => { + return parentStrategy.out(v, children, parents); + } + }; + return strategy; + }; + const leafActiveStrategy = (mandatory) => { + const parentStrategy = independentActiveStrategy(mandatory); + const strategy = { + activate: (_ref3) => { + let { + id: id2, + activated, + children, + ...rest + } = _ref3; + id2 = require$$0.toRaw(id2); + if (children.has(id2)) return activated; + return parentStrategy.activate({ + id: id2, + activated, + children, + ...rest + }); + }, + in: parentStrategy.in, + out: parentStrategy.out + }; + return strategy; + }; + const leafSingleActiveStrategy = (mandatory) => { + const parentStrategy = independentSingleActiveStrategy(mandatory); + const strategy = { + activate: (_ref4) => { + let { + id: id2, + activated, + children, + ...rest + } = _ref4; + id2 = require$$0.toRaw(id2); + if (children.has(id2)) return activated; + return parentStrategy.activate({ + id: id2, + activated, + children, + ...rest + }); + }, + in: parentStrategy.in, + out: parentStrategy.out + }; + return strategy; + }; + const singleOpenStrategy = { + open: (_ref) => { + let { + id: id2, + value, + opened, + parents + } = _ref; + if (value) { + const newOpened = /* @__PURE__ */ new Set(); + newOpened.add(id2); + let parent = parents.get(id2); + while (parent != null) { + newOpened.add(parent); + parent = parents.get(parent); + } + return newOpened; + } else { + opened.delete(id2); + return opened; + } + }, + select: () => null + }; + const multipleOpenStrategy = { + open: (_ref2) => { + let { + id: id2, + value, + opened, + parents + } = _ref2; + if (value) { + let parent = parents.get(id2); + opened.add(id2); + while (parent != null && parent !== id2) { + opened.add(parent); + parent = parents.get(parent); + } + return opened; + } else { + opened.delete(id2); + } + return opened; + }, + select: () => null + }; + const listOpenStrategy = { + open: multipleOpenStrategy.open, + select: (_ref3) => { + let { + id: id2, + value, + opened, + parents + } = _ref3; + if (!value) return opened; + const path = []; + let parent = parents.get(id2); + while (parent != null) { + path.push(parent); + parent = parents.get(parent); + } + return new Set(path); + } + }; + const independentSelectStrategy = (mandatory) => { + const strategy = { + select: (_ref) => { + let { + id: id2, + value, + selected + } = _ref; + id2 = require$$0.toRaw(id2); + if (mandatory && !value) { + const on2 = Array.from(selected.entries()).reduce((arr, _ref2) => { + let [key, value2] = _ref2; + if (value2 === "on") arr.push(key); + return arr; + }, []); + if (on2.length === 1 && on2[0] === id2) return selected; + } + selected.set(id2, value ? "on" : "off"); + return selected; + }, + in: (v, children, parents, disabled) => { + const map2 = /* @__PURE__ */ new Map(); + for (const id2 of v || []) { + strategy.select({ + id: id2, + value: true, + selected: map2, + children, + parents, + disabled + }); + } + return map2; + }, + out: (v) => { + const arr = []; + for (const [key, value] of v.entries()) { + if (value === "on") arr.push(key); + } + return arr; + } + }; + return strategy; + }; + const independentSingleSelectStrategy = (mandatory) => { + const parentStrategy = independentSelectStrategy(mandatory); + const strategy = { + select: (_ref3) => { + let { + selected, + id: id2, + ...rest + } = _ref3; + id2 = require$$0.toRaw(id2); + const singleSelected = selected.has(id2) ? /* @__PURE__ */ new Map([[id2, selected.get(id2)]]) : /* @__PURE__ */ new Map(); + return parentStrategy.select({ + ...rest, + id: id2, + selected: singleSelected + }); + }, + in: (v, children, parents, disabled) => { + if (v?.length) { + return parentStrategy.in(v.slice(0, 1), children, parents, disabled); + } + return /* @__PURE__ */ new Map(); + }, + out: (v, children, parents) => { + return parentStrategy.out(v, children, parents); + } + }; + return strategy; + }; + const leafSelectStrategy = (mandatory) => { + const parentStrategy = independentSelectStrategy(mandatory); + const strategy = { + select: (_ref4) => { + let { + id: id2, + selected, + children, + ...rest + } = _ref4; + id2 = require$$0.toRaw(id2); + if (children.has(id2)) return selected; + return parentStrategy.select({ + id: id2, + selected, + children, + ...rest + }); + }, + in: parentStrategy.in, + out: parentStrategy.out + }; + return strategy; + }; + const leafSingleSelectStrategy = (mandatory) => { + const parentStrategy = independentSingleSelectStrategy(mandatory); + const strategy = { + select: (_ref5) => { + let { + id: id2, + selected, + children, + ...rest + } = _ref5; + id2 = require$$0.toRaw(id2); + if (children.has(id2)) return selected; + return parentStrategy.select({ + id: id2, + selected, + children, + ...rest + }); + }, + in: parentStrategy.in, + out: parentStrategy.out + }; + return strategy; + }; + const classicSelectStrategy = (mandatory) => { + const strategy = { + select: (_ref6) => { + let { + id: id2, + value, + selected, + children, + parents, + disabled + } = _ref6; + id2 = require$$0.toRaw(id2); + const original = new Map(selected); + const items = [id2]; + while (items.length) { + const item = items.shift(); + if (!disabled.has(item)) { + selected.set(require$$0.toRaw(item), value ? "on" : "off"); + } + if (children.has(item)) { + items.push(...children.get(item)); + } + } + let parent = require$$0.toRaw(parents.get(id2)); + while (parent) { + let everySelected = true; + let noneSelected = true; + for (const child of children.get(parent)) { + const cid = require$$0.toRaw(child); + if (disabled.has(cid)) continue; + if (selected.get(cid) !== "on") everySelected = false; + if (selected.has(cid) && selected.get(cid) !== "off") noneSelected = false; + if (!everySelected && !noneSelected) break; + } + selected.set(parent, everySelected ? "on" : noneSelected ? "off" : "indeterminate"); + parent = require$$0.toRaw(parents.get(parent)); + } + if (mandatory && !value) { + const on2 = Array.from(selected.entries()).reduce((arr, _ref7) => { + let [key, value2] = _ref7; + if (value2 === "on") arr.push(key); + return arr; + }, []); + if (on2.length === 0) return original; + } + return selected; + }, + in: (v, children, parents, disabled) => { + let map2 = /* @__PURE__ */ new Map(); + for (const id2 of v || []) { + map2 = strategy.select({ + id: id2, + value: true, + selected: map2, + children, + parents, + disabled + }); + } + return map2; + }, + out: (v, children) => { + const arr = []; + for (const [key, value] of v.entries()) { + if (value === "on" && !children.has(key)) arr.push(key); + } + return arr; + } + }; + return strategy; + }; + const trunkSelectStrategy = (mandatory) => { + const parentStrategy = classicSelectStrategy(mandatory); + const strategy = { + select: parentStrategy.select, + in: parentStrategy.in, + out: (v, children, parents) => { + const arr = []; + for (const [key, value] of v.entries()) { + if (value === "on") { + if (parents.has(key)) { + const parent = parents.get(key); + if (v.get(parent) === "on") continue; + } + arr.push(key); + } + } + return arr; + } + }; + return strategy; + }; + const VNestedSymbol = Symbol.for("vuetify:nested"); + const emptyNested = { + id: require$$0.shallowRef(), + root: { + register: () => null, + unregister: () => null, + children: require$$0.ref(/* @__PURE__ */ new Map()), + parents: require$$0.ref(/* @__PURE__ */ new Map()), + disabled: require$$0.ref(/* @__PURE__ */ new Set()), + open: () => null, + openOnSelect: () => null, + activate: () => null, + select: () => null, + activatable: require$$0.ref(false), + selectable: require$$0.ref(false), + opened: require$$0.ref(/* @__PURE__ */ new Set()), + activated: require$$0.ref(/* @__PURE__ */ new Set()), + selected: require$$0.ref(/* @__PURE__ */ new Map()), + selectedValues: require$$0.ref([]), + getPath: () => [] + } + }; + const makeNestedProps = propsFactory({ + activatable: Boolean, + selectable: Boolean, + activeStrategy: [String, Function, Object], + selectStrategy: [String, Function, Object], + openStrategy: [String, Object], + opened: null, + activated: null, + selected: null, + mandatory: Boolean + }, "nested"); + const useNested = (props) => { + let isUnmounted = false; + const children = require$$0.shallowRef(/* @__PURE__ */ new Map()); + const parents = require$$0.shallowRef(/* @__PURE__ */ new Map()); + const disabled = require$$0.shallowRef(/* @__PURE__ */ new Set()); + const opened = useProxiedModel(props, "opened", props.opened, (v) => new Set(Array.isArray(v) ? v.map((i7) => require$$0.toRaw(i7)) : v), (v) => [...v.values()]); + const activeStrategy = require$$0.computed(() => { + if (typeof props.activeStrategy === "object") return props.activeStrategy; + if (typeof props.activeStrategy === "function") return props.activeStrategy(props.mandatory); + switch (props.activeStrategy) { + case "leaf": + return leafActiveStrategy(props.mandatory); + case "single-leaf": + return leafSingleActiveStrategy(props.mandatory); + case "independent": + return independentActiveStrategy(props.mandatory); + case "single-independent": + default: + return independentSingleActiveStrategy(props.mandatory); + } + }); + const selectStrategy = require$$0.computed(() => { + if (typeof props.selectStrategy === "object") return props.selectStrategy; + if (typeof props.selectStrategy === "function") return props.selectStrategy(props.mandatory); + switch (props.selectStrategy) { + case "single-leaf": + return leafSingleSelectStrategy(props.mandatory); + case "leaf": + return leafSelectStrategy(props.mandatory); + case "independent": + return independentSelectStrategy(props.mandatory); + case "single-independent": + return independentSingleSelectStrategy(props.mandatory); + case "trunk": + return trunkSelectStrategy(props.mandatory); + case "classic": + default: + return classicSelectStrategy(props.mandatory); + } + }); + const openStrategy = require$$0.computed(() => { + if (typeof props.openStrategy === "object") return props.openStrategy; + switch (props.openStrategy) { + case "list": + return listOpenStrategy; + case "single": + return singleOpenStrategy; + case "multiple": + default: + return multipleOpenStrategy; + } + }); + const activated = useProxiedModel(props, "activated", props.activated, (v) => activeStrategy.value.in(v, children.value, parents.value), (v) => activeStrategy.value.out(v, children.value, parents.value)); + const selected = useProxiedModel(props, "selected", props.selected, (v) => selectStrategy.value.in(v, children.value, parents.value, disabled.value), (v) => selectStrategy.value.out(v, children.value, parents.value)); + require$$0.onBeforeUnmount(() => { + isUnmounted = true; + }); + function getPath(id2) { + const path = []; + let parent = require$$0.toRaw(id2); + while (parent !== void 0) { + path.unshift(parent); + parent = parents.value.get(parent); + } + return path; + } + const vm = getCurrentInstance("nested"); + const nodeIds = /* @__PURE__ */ new Set(); + const nested = { + id: require$$0.shallowRef(), + root: { + opened, + activatable: require$$0.toRef(() => props.activatable), + selectable: require$$0.toRef(() => props.selectable), + activated, + selected, + selectedValues: require$$0.computed(() => { + const arr = []; + for (const [key, value] of selected.value.entries()) { + if (value === "on") arr.push(key); + } + return arr; + }), + register: (id2, parentId, isDisabled, isGroup) => { + if (nodeIds.has(id2)) { + const path = getPath(id2).map(String).join(" -> "); + const newPath = getPath(parentId).concat(id2).map(String).join(" -> "); + consoleError(`Multiple nodes with the same ID + ${path} + ${newPath}`); + return; + } else { + nodeIds.add(id2); + } + parentId && id2 !== parentId && parents.value.set(id2, parentId); + isDisabled && disabled.value.add(id2); + isGroup && children.value.set(id2, []); + if (parentId != null) { + children.value.set(parentId, [...children.value.get(parentId) || [], id2]); + } + }, + unregister: (id2) => { + if (isUnmounted) return; + nodeIds.delete(id2); + children.value.delete(id2); + disabled.value.delete(id2); + const parent = parents.value.get(id2); + if (parent) { + const list = children.value.get(parent) ?? []; + children.value.set(parent, list.filter((child) => child !== id2)); + } + parents.value.delete(id2); + }, + open: (id2, value, event) => { + vm.emit("click:open", { + id: id2, + value, + path: getPath(id2), + event + }); + const newOpened = openStrategy.value.open({ + id: id2, + value, + opened: new Set(opened.value), + children: children.value, + parents: parents.value, + event + }); + newOpened && (opened.value = newOpened); + }, + openOnSelect: (id2, value, event) => { + const newOpened = openStrategy.value.select({ + id: id2, + value, + selected: new Map(selected.value), + opened: new Set(opened.value), + children: children.value, + parents: parents.value, + event + }); + newOpened && (opened.value = newOpened); + }, + select: (id2, value, event) => { + vm.emit("click:select", { + id: id2, + value, + path: getPath(id2), + event + }); + const newSelected = selectStrategy.value.select({ + id: id2, + value, + selected: new Map(selected.value), + children: children.value, + parents: parents.value, + disabled: disabled.value, + event + }); + newSelected && (selected.value = newSelected); + nested.root.openOnSelect(id2, value, event); + }, + activate: (id2, value, event) => { + if (!props.activatable) { + return nested.root.select(id2, true, event); + } + vm.emit("click:activate", { + id: id2, + value, + path: getPath(id2), + event + }); + const newActivated = activeStrategy.value.activate({ + id: id2, + value, + activated: new Set(activated.value), + children: children.value, + parents: parents.value, + event + }); + if (newActivated.size !== activated.value.size) { + activated.value = newActivated; + } else { + for (const value2 of newActivated) { + if (!activated.value.has(value2)) { + activated.value = newActivated; + return; + } + } + for (const value2 of activated.value) { + if (!newActivated.has(value2)) { + activated.value = newActivated; + return; + } + } + } + }, + children, + parents, + disabled, + getPath + } + }; + require$$0.provide(VNestedSymbol, nested); + return nested.root; + }; + const useNestedItem = (id2, isDisabled, isGroup) => { + const parent = require$$0.inject(VNestedSymbol, emptyNested); + const uidSymbol = Symbol("nested item"); + const computedId = require$$0.computed(() => { + const idValue = require$$0.toRaw(require$$0.toValue(id2)); + return idValue !== void 0 ? idValue : uidSymbol; + }); + const item = { + ...parent, + id: computedId, + open: (open, e7) => parent.root.open(computedId.value, open, e7), + openOnSelect: (open, e7) => parent.root.openOnSelect(computedId.value, open, e7), + isOpen: require$$0.computed(() => parent.root.opened.value.has(computedId.value)), + parent: require$$0.computed(() => parent.root.parents.value.get(computedId.value)), + activate: (activated, e7) => parent.root.activate(computedId.value, activated, e7), + isActivated: require$$0.computed(() => parent.root.activated.value.has(computedId.value)), + select: (selected, e7) => parent.root.select(computedId.value, selected, e7), + isSelected: require$$0.computed(() => parent.root.selected.value.get(computedId.value) === "on"), + isIndeterminate: require$$0.computed(() => parent.root.selected.value.get(computedId.value) === "indeterminate"), + isLeaf: require$$0.computed(() => !parent.root.children.value.get(computedId.value)), + isGroupActivator: parent.isGroupActivator + }; + require$$0.onBeforeMount(() => { + if (!parent.isGroupActivator) { + parent.root.register(computedId.value, parent.id.value, require$$0.toValue(isDisabled), isGroup); + } + }); + require$$0.onBeforeUnmount(() => { + if (!parent.isGroupActivator) { + parent.root.unregister(computedId.value); + } + }); + isGroup && require$$0.provide(VNestedSymbol, item); + return item; + }; + const useNestedGroupActivator = () => { + const parent = require$$0.inject(VNestedSymbol, emptyNested); + require$$0.provide(VNestedSymbol, { + ...parent, + isGroupActivator: true + }); + }; + const VListGroupActivator = defineComponent({ + name: "VListGroupActivator", + setup(_7, _ref) { + let { + slots + } = _ref; + useNestedGroupActivator(); + return () => slots.default?.(); + } + }); + const makeVListGroupProps = propsFactory({ + /* @deprecated */ + activeColor: String, + baseColor: String, + color: String, + collapseIcon: { + type: IconValue, + default: "$collapse" + }, + disabled: Boolean, + expandIcon: { + type: IconValue, + default: "$expand" + }, + rawId: [String, Number], + prependIcon: IconValue, + appendIcon: IconValue, + fluid: Boolean, + subgroup: Boolean, + title: String, + value: null, + ...makeComponentProps(), + ...makeTagProps() + }, "VListGroup"); + const VListGroup = genericComponent()({ + name: "VListGroup", + props: makeVListGroupProps(), + setup(props, _ref2) { + let { + slots + } = _ref2; + const { + isOpen, + open, + id: _id + } = useNestedItem(() => props.value, () => props.disabled, true); + const id2 = require$$0.computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`); + const list = useList(); + const { + isBooted + } = useSsrBoot(); + function onClick(e7) { + if (["INPUT", "TEXTAREA"].includes(e7.target?.tagName)) return; + open(!isOpen.value, e7); + } + const activatorProps = require$$0.computed(() => ({ + onClick, + class: "v-list-group__header", + id: id2.value + })); + const toggleIcon = require$$0.computed(() => isOpen.value ? props.collapseIcon : props.expandIcon); + const activatorDefaults = require$$0.computed(() => ({ + VListItem: { + activeColor: props.activeColor, + baseColor: props.baseColor, + color: props.color, + prependIcon: props.prependIcon || props.subgroup && toggleIcon.value, + appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value, + title: props.title, + value: props.value + } + })); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-list-group", { + "v-list-group--prepend": list?.hasPrepend.value, + "v-list-group--fluid": props.fluid, + "v-list-group--subgroup": props.subgroup, + "v-list-group--open": isOpen.value + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.activator && require$$0.createVNode(VDefaultsProvider, { + "defaults": activatorDefaults.value + }, { + default: () => [require$$0.createVNode(VListGroupActivator, null, { + default: () => [slots.activator({ + props: activatorProps.value, + isOpen: isOpen.value + })] + })] + }), require$$0.createVNode(MaybeTransition, { + "transition": { + component: VExpandTransition + }, + "disabled": !isBooted.value + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": "v-list-group__items", + "role": "group", + "aria-labelledby": id2.value + }, [slots.default?.()]), [[require$$0.vShow, isOpen.value]])] + })] + })); + return { + isOpen + }; + } + }); + const makeVListItemSubtitleProps = propsFactory({ + opacity: [Number, String], + ...makeComponentProps(), + ...makeTagProps() + }, "VListItemSubtitle"); + const VListItemSubtitle = genericComponent()({ + name: "VListItemSubtitle", + props: makeVListItemSubtitleProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-list-item-subtitle", props.class]), + "style": require$$0.normalizeStyle([{ + "--v-list-item-subtitle-opacity": props.opacity + }, props.style]) + }, slots)); + return {}; + } + }); + const VListItemTitle = createSimpleFunctional("v-list-item-title"); + const makeVListItemProps = propsFactory({ + active: { + type: Boolean, + default: void 0 + }, + activeClass: String, + /* @deprecated */ + activeColor: String, + appendAvatar: String, + appendIcon: IconValue, + baseColor: String, + disabled: Boolean, + lines: [Boolean, String], + link: { + type: Boolean, + default: void 0 + }, + nav: Boolean, + prependAvatar: String, + prependIcon: IconValue, + ripple: { + type: [Boolean, Object], + default: true + }, + slim: Boolean, + subtitle: { + type: [String, Number, Boolean], + default: void 0 + }, + title: { + type: [String, Number, Boolean], + default: void 0 + }, + value: null, + onClick: EventProp(), + onClickOnce: EventProp(), + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeRouterProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "text" + }) + }, "VListItem"); + const VListItem = genericComponent()({ + name: "VListItem", + directives: { + vRipple: Ripple + }, + props: makeVListItemProps(), + emits: { + click: (e7) => true + }, + setup(props, _ref) { + let { + attrs, + slots, + emit + } = _ref; + const link = useLink(props, attrs); + const id2 = require$$0.computed(() => props.value === void 0 ? link.href.value : props.value); + const { + activate, + isActivated, + select, + isOpen, + isSelected, + isIndeterminate, + isGroupActivator, + root, + parent, + openOnSelect, + id: uid + } = useNestedItem(id2, () => props.disabled, false); + const list = useList(); + const isActive = require$$0.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value))); + const isLink = require$$0.toRef(() => props.link !== false && link.isLink.value); + const isSelectable = require$$0.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null)); + const isClickable = require$$0.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value)); + const role = require$$0.computed(() => list ? isSelectable.value ? "option" : "listitem" : void 0); + const ariaSelected = require$$0.computed(() => { + if (!isSelectable.value) return void 0; + return root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value; + }); + const roundedProps = require$$0.toRef(() => props.rounded || props.nav); + const color = require$$0.toRef(() => props.color ?? props.activeColor); + const variantProps = require$$0.toRef(() => ({ + color: isActive.value ? color.value ?? props.baseColor : props.baseColor, + variant: props.variant + })); + require$$0.watch(() => link.isActive?.value, (val) => { + if (!val) return; + handleActiveLink(); + }); + require$$0.onBeforeMount(() => { + if (link.isActive?.value) handleActiveLink(); + }); + function handleActiveLink() { + if (parent.value != null) { + root.open(parent.value, true); + } + openOnSelect(true); + } + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(variantProps); + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(roundedProps); + const lineClasses = require$$0.toRef(() => props.lines ? `v-list-item--${props.lines}-line` : void 0); + const rippleOptions = require$$0.toRef(() => props.ripple !== void 0 && !!props.ripple && list?.filterable ? { + keys: ["Enter"] + } : props.ripple); + const slotProps = require$$0.computed(() => ({ + isActive: isActive.value, + select, + isOpen: isOpen.value, + isSelected: isSelected.value, + isIndeterminate: isIndeterminate.value + })); + function onClick(e7) { + emit("click", e7); + if (["INPUT", "TEXTAREA"].includes(e7.target?.tagName)) return; + if (!isClickable.value) return; + link.navigate?.(e7); + if (isGroupActivator) return; + if (root.activatable.value) { + activate(!isActivated.value, e7); + } else if (root.selectable.value) { + select(!isSelected.value, e7); + } else if (props.value != null && !isLink.value) { + select(!isSelected.value, e7); + } + } + function onKeyDown(e7) { + const target = e7.target; + if (["INPUT", "TEXTAREA"].includes(target.tagName)) return; + if (e7.key === "Enter" || e7.key === " " && !list?.filterable) { + e7.preventDefault(); + e7.stopPropagation(); + e7.target.dispatchEvent(new MouseEvent("click", e7)); + } + } + useRender(() => { + const Tag = isLink.value ? "a" : props.tag; + const hasTitle = slots.title || props.title != null; + const hasSubtitle = slots.subtitle || props.subtitle != null; + const hasAppendMedia = !!(props.appendAvatar || props.appendIcon); + const hasAppend = !!(hasAppendMedia || slots.append); + const hasPrependMedia = !!(props.prependAvatar || props.prependIcon); + const hasPrepend = !!(hasPrependMedia || slots.prepend); + list?.updateHasPrepend(hasPrepend); + if (props.activeColor) { + deprecate("active-color", ["color", "base-color"]); + } + return require$$0.withDirectives(require$$0.createVNode(Tag, require$$0.mergeProps({ + "class": ["v-list-item", { + "v-list-item--active": isActive.value, + "v-list-item--disabled": props.disabled, + "v-list-item--link": isClickable.value, + "v-list-item--nav": props.nav, + "v-list-item--prepend": !hasPrepend && list?.hasPrepend.value, + "v-list-item--slim": props.slim, + [`${props.activeClass}`]: props.activeClass && isActive.value + }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class], + "style": [colorStyles.value, dimensionStyles.value, props.style], + "tabindex": isClickable.value ? list ? -2 : 0 : void 0, + "aria-selected": ariaSelected.value, + "role": role.value, + "onClick": onClick, + "onKeydown": isClickable.value && !isLink.value && onKeyDown + }, link.linkProps), { + default: () => [genOverlays(isClickable.value || isActive.value, "v-list-item"), hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-list-item__prepend" + }, [!slots.prepend ? require$$0.createElementVNode(require$$0.Fragment, null, [props.prependAvatar && require$$0.createVNode(VAvatar, { + "key": "prepend-avatar", + "density": props.density, + "image": props.prependAvatar + }, null), props.prependIcon && require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "density": props.density, + "icon": props.prependIcon + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !hasPrependMedia, + "defaults": { + VAvatar: { + density: props.density, + image: props.prependAvatar + }, + VIcon: { + density: props.density, + icon: props.prependIcon + }, + VListItemAction: { + start: true + } + } + }, { + default: () => [slots.prepend?.(slotProps.value)] + }), require$$0.createElementVNode("div", { + "class": "v-list-item__spacer" + }, null)]), require$$0.createElementVNode("div", { + "class": "v-list-item__content", + "data-no-activator": "" + }, [hasTitle && require$$0.createVNode(VListItemTitle, { + "key": "title" + }, { + default: () => [slots.title?.({ + title: props.title + }) ?? require$$0.toDisplayString(props.title)] + }), hasSubtitle && require$$0.createVNode(VListItemSubtitle, { + "key": "subtitle" + }, { + default: () => [slots.subtitle?.({ + subtitle: props.subtitle + }) ?? require$$0.toDisplayString(props.subtitle)] + }), slots.default?.(slotProps.value)]), hasAppend && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-list-item__append" + }, [!slots.append ? require$$0.createElementVNode(require$$0.Fragment, null, [props.appendIcon && require$$0.createVNode(VIcon, { + "key": "append-icon", + "density": props.density, + "icon": props.appendIcon + }, null), props.appendAvatar && require$$0.createVNode(VAvatar, { + "key": "append-avatar", + "density": props.density, + "image": props.appendAvatar + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "append-defaults", + "disabled": !hasAppendMedia, + "defaults": { + VAvatar: { + density: props.density, + image: props.appendAvatar + }, + VIcon: { + density: props.density, + icon: props.appendIcon + }, + VListItemAction: { + end: true + } + } + }, { + default: () => [slots.append?.(slotProps.value)] + }), require$$0.createElementVNode("div", { + "class": "v-list-item__spacer" + }, null)])] + }), [[Ripple, isClickable.value && rippleOptions.value]]); + }); + return { + activate, + isActivated, + isGroupActivator, + isSelected, + list, + select, + root, + id: uid, + link + }; + } + }); + const makeVListSubheaderProps = propsFactory({ + color: String, + inset: Boolean, + sticky: Boolean, + title: String, + ...makeComponentProps(), + ...makeTagProps() + }, "VListSubheader"); + const VListSubheader = genericComponent()({ + name: "VListSubheader", + props: makeVListSubheaderProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + useRender(() => { + const hasText = !!(slots.default || props.title); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-list-subheader", { + "v-list-subheader--inset": props.inset, + "v-list-subheader--sticky": props.sticky + }, textColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([{ + textColorStyles + }, props.style]) + }, { + default: () => [hasText && require$$0.createElementVNode("div", { + "class": "v-list-subheader__text" + }, [slots.default?.() ?? props.title])] + }); + }); + return {}; + } + }); + const makeVListChildrenProps = propsFactory({ + items: Array, + returnObject: Boolean + }, "VListChildren"); + const VListChildren = genericComponent()({ + name: "VListChildren", + props: makeVListChildrenProps(), + setup(props, _ref) { + let { + slots + } = _ref; + createList$2(); + return () => slots.default?.() ?? props.items?.map((_ref2) => { + let { + children, + props: itemProps, + type, + raw: item + } = _ref2; + if (type === "divider") { + return slots.divider?.({ + props: itemProps + }) ?? require$$0.createVNode(VDivider, itemProps, null); + } + if (type === "subheader") { + return slots.subheader?.({ + props: itemProps + }) ?? require$$0.createVNode(VListSubheader, itemProps, null); + } + const slotsWithItem = { + subtitle: slots.subtitle ? (slotProps) => slots.subtitle?.({ + ...slotProps, + item + }) : void 0, + prepend: slots.prepend ? (slotProps) => slots.prepend?.({ + ...slotProps, + item + }) : void 0, + append: slots.append ? (slotProps) => slots.append?.({ + ...slotProps, + item + }) : void 0, + title: slots.title ? (slotProps) => slots.title?.({ + ...slotProps, + item + }) : void 0 + }; + const listGroupProps = VListGroup.filterProps(itemProps); + return children ? require$$0.createVNode(VListGroup, require$$0.mergeProps(listGroupProps, { + "value": props.returnObject ? item : itemProps?.value, + "rawId": itemProps?.value + }), { + activator: (_ref3) => { + let { + props: activatorProps + } = _ref3; + const listItemProps = require$$0.mergeProps(itemProps, activatorProps, { + value: props.returnObject ? item : itemProps.value + }); + return slots.header ? slots.header({ + props: listItemProps + }) : require$$0.createVNode(VListItem, listItemProps, slotsWithItem); + }, + default: () => require$$0.createVNode(VListChildren, { + "items": children, + "returnObject": props.returnObject + }, slots) + }) : slots.item ? slots.item({ + props: itemProps + }) : require$$0.createVNode(VListItem, require$$0.mergeProps(itemProps, { + "value": props.returnObject ? item : itemProps.value + }), slotsWithItem); + }); + } + }); + const makeItemsProps = propsFactory({ + items: { + type: Array, + default: () => [] + }, + itemTitle: { + type: [String, Array, Function], + default: "title" + }, + itemValue: { + type: [String, Array, Function], + default: "value" + }, + itemChildren: { + type: [Boolean, String, Array, Function], + default: "children" + }, + itemProps: { + type: [Boolean, String, Array, Function], + default: "props" + }, + itemType: { + type: [Boolean, String, Array, Function], + default: "type" + }, + returnObject: Boolean, + valueComparator: Function + }, "list-items"); + const itemTypes$1 = /* @__PURE__ */ new Set(["item", "divider", "subheader"]); + function transformItem$3(props, item) { + const title = getPropertyFromItem(item, props.itemTitle, item); + const value = getPropertyFromItem(item, props.itemValue, title); + const children = getPropertyFromItem(item, props.itemChildren); + const itemProps = props.itemProps === true ? typeof item === "object" && item != null && !Array.isArray(item) ? "children" in item ? omit(item, ["children"]) : item : void 0 : getPropertyFromItem(item, props.itemProps); + let type = getPropertyFromItem(item, props.itemType, "item"); + if (!itemTypes$1.has(type)) { + type = "item"; + } + const _props = { + title, + value, + ...itemProps + }; + return { + type, + title: String(_props.title ?? ""), + value: _props.value, + props: _props, + children: type === "item" && Array.isArray(children) ? transformItems$3(props, children) : void 0, + raw: item + }; + } + transformItem$3.neededProps = ["itemTitle", "itemValue", "itemChildren", "itemProps", "itemType"]; + function transformItems$3(props, items) { + const _props = pick(props, transformItem$3.neededProps); + const array = []; + for (const item of items) { + array.push(transformItem$3(_props, item)); + } + return array; + } + function useItems(props) { + const items = require$$0.computed(() => transformItems$3(props, props.items)); + const hasNullItem = require$$0.computed(() => items.value.some((item) => item.value === null)); + const itemsMap = require$$0.shallowRef(/* @__PURE__ */ new Map()); + const keylessItems = require$$0.shallowRef([]); + require$$0.watchEffect(() => { + const _items = items.value; + const map2 = /* @__PURE__ */ new Map(); + const keyless = []; + for (let i7 = 0; i7 < _items.length; i7++) { + const item = _items[i7]; + if (isPrimitive$1(item.value) || item.value === null) { + let values = map2.get(item.value); + if (!values) { + values = []; + map2.set(item.value, values); + } + values.push(item); + } else { + keyless.push(item); + } + } + itemsMap.value = map2; + keylessItems.value = keyless; + }); + function transformIn(value) { + const _items = itemsMap.value; + const _allItems = items.value; + const _keylessItems = keylessItems.value; + const _hasNullItem = hasNullItem.value; + const _returnObject = props.returnObject; + const hasValueComparator = !!props.valueComparator; + const valueComparator = props.valueComparator || deepEqual; + const _props = pick(props, transformItem$3.neededProps); + const returnValue = []; + main: for (const v of value) { + if (!_hasNullItem && v === null) continue; + if (_returnObject && typeof v === "string") { + returnValue.push(transformItem$3(_props, v)); + continue; + } + const fastItems = _items.get(v); + if (hasValueComparator || !fastItems) { + for (const item of hasValueComparator ? _allItems : _keylessItems) { + if (valueComparator(v, item.value)) { + returnValue.push(item); + continue main; + } + } + returnValue.push(transformItem$3(_props, v)); + continue; + } + returnValue.push(...fastItems); + } + return returnValue; + } + function transformOut(value) { + return props.returnObject ? value.map((_ref) => { + let { + raw + } = _ref; + return raw; + }) : value.map((_ref2) => { + let { + value: value2 + } = _ref2; + return value2; + }); + } + return { + items, + transformIn, + transformOut + }; + } + const itemTypes = /* @__PURE__ */ new Set(["item", "divider", "subheader"]); + function transformItem$2(props, item) { + const title = isPrimitive$1(item) ? item : getPropertyFromItem(item, props.itemTitle); + const value = isPrimitive$1(item) ? item : getPropertyFromItem(item, props.itemValue, void 0); + const children = getPropertyFromItem(item, props.itemChildren); + const itemProps = props.itemProps === true ? omit(item, ["children"]) : getPropertyFromItem(item, props.itemProps); + let type = getPropertyFromItem(item, props.itemType, "item"); + if (!itemTypes.has(type)) { + type = "item"; + } + const _props = { + title, + value, + ...itemProps + }; + return { + type, + title: _props.title, + value: _props.value, + props: _props, + children: type === "item" && children ? transformItems$2(props, children) : void 0, + raw: item + }; + } + function transformItems$2(props, items) { + const array = []; + for (const item of items) { + array.push(transformItem$2(props, item)); + } + return array; + } + function useListItems(props) { + const items = require$$0.computed(() => transformItems$2(props, props.items)); + return { + items + }; + } + const makeVListProps = propsFactory({ + baseColor: String, + /* @deprecated */ + activeColor: String, + activeClass: String, + bgColor: String, + disabled: Boolean, + filterable: Boolean, + expandIcon: IconValue, + collapseIcon: IconValue, + lines: { + type: [Boolean, String], + default: "one" + }, + slim: Boolean, + nav: Boolean, + "onClick:open": EventProp(), + "onClick:select": EventProp(), + "onUpdate:opened": EventProp(), + ...makeNestedProps({ + selectStrategy: "single-leaf", + openStrategy: "list" + }), + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeItemsProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "text" + }) + }, "VList"); + const VList = genericComponent()({ + name: "VList", + props: makeVListProps(), + emits: { + "update:selected": (value) => true, + "update:activated": (value) => true, + "update:opened": (value) => true, + "click:open": (value) => true, + "click:activate": (value) => true, + "click:select": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + items + } = useListItems(props); + const { + themeClasses + } = provideTheme(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + borderClasses + } = useBorder(props); + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const { + children, + open, + parents, + select, + getPath + } = useNested(props); + const lineClasses = require$$0.toRef(() => props.lines ? `v-list--${props.lines}-line` : void 0); + const activeColor = require$$0.toRef(() => props.activeColor); + const baseColor = require$$0.toRef(() => props.baseColor); + const color = require$$0.toRef(() => props.color); + const isSelectable = require$$0.toRef(() => props.selectable || props.activatable); + createList$2({ + filterable: props.filterable + }); + provideDefaults({ + VListGroup: { + activeColor, + baseColor, + color, + expandIcon: require$$0.toRef(() => props.expandIcon), + collapseIcon: require$$0.toRef(() => props.collapseIcon) + }, + VListItem: { + activeClass: require$$0.toRef(() => props.activeClass), + activeColor, + baseColor, + color, + density: require$$0.toRef(() => props.density), + disabled: require$$0.toRef(() => props.disabled), + lines: require$$0.toRef(() => props.lines), + nav: require$$0.toRef(() => props.nav), + slim: require$$0.toRef(() => props.slim), + variant: require$$0.toRef(() => props.variant) + } + }); + const isFocused = require$$0.shallowRef(false); + const contentRef = require$$0.ref(); + function onFocusin(e7) { + isFocused.value = true; + } + function onFocusout(e7) { + isFocused.value = false; + } + function onFocus(e7) { + if (!isFocused.value && !(e7.relatedTarget && contentRef.value?.contains(e7.relatedTarget))) focus2(); + } + function onKeydown(e7) { + const target = e7.target; + if (!contentRef.value || target.tagName === "INPUT" && ["Home", "End"].includes(e7.key) || target.tagName === "TEXTAREA") { + return; + } + if (e7.key === "ArrowDown") { + focus2("next"); + } else if (e7.key === "ArrowUp") { + focus2("prev"); + } else if (e7.key === "Home") { + focus2("first"); + } else if (e7.key === "End") { + focus2("last"); + } else { + return; + } + e7.preventDefault(); + } + function onMousedown(e7) { + isFocused.value = true; + } + function focus2(location) { + if (contentRef.value) { + return focusChild(contentRef.value, location); + } + } + useRender(() => { + return require$$0.createVNode(props.tag, { + "ref": contentRef, + "class": require$$0.normalizeClass(["v-list", { + "v-list--disabled": props.disabled, + "v-list--nav": props.nav, + "v-list--slim": props.slim + }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]), + "tabindex": props.disabled ? -1 : 0, + "role": isSelectable.value ? "listbox" : "list", + "aria-activedescendant": void 0, + "onFocusin": onFocusin, + "onFocusout": onFocusout, + "onFocus": onFocus, + "onKeydown": onKeydown, + "onMousedown": onMousedown + }, { + default: () => [require$$0.createVNode(VListChildren, { + "items": items.value, + "returnObject": props.returnObject + }, slots)] + }); + }); + return { + open, + select, + focus: focus2, + children, + parents, + getPath + }; + } + }); + const VListImg = createSimpleFunctional("v-list-img"); + const makeVListItemActionProps = propsFactory({ + start: Boolean, + end: Boolean, + ...makeComponentProps(), + ...makeTagProps() + }, "VListItemAction"); + const VListItemAction = genericComponent()({ + name: "VListItemAction", + props: makeVListItemActionProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-list-item-action", { + "v-list-item-action--start": props.start, + "v-list-item-action--end": props.end + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, slots)); + return {}; + } + }); + const makeVListItemMediaProps = propsFactory({ + start: Boolean, + end: Boolean, + ...makeComponentProps(), + ...makeTagProps() + }, "VListItemMedia"); + const VListItemMedia = genericComponent()({ + name: "VListItemMedia", + props: makeVListItemMediaProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-list-item-media", { + "v-list-item-media--start": props.start, + "v-list-item-media--end": props.end + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, slots); + }); + return {}; + } + }); + function elementToViewport(point, offset) { + return { + x: point.x + offset.x, + y: point.y + offset.y + }; + } + function getOffset$1(a, b) { + return { + x: a.x - b.x, + y: a.y - b.y + }; + } + function anchorToPoint(anchor, box2) { + if (anchor.side === "top" || anchor.side === "bottom") { + const { + side, + align + } = anchor; + const x = align === "left" ? 0 : align === "center" ? box2.width / 2 : align === "right" ? box2.width : align; + const y = side === "top" ? 0 : side === "bottom" ? box2.height : side; + return elementToViewport({ + x, + y + }, box2); + } else if (anchor.side === "left" || anchor.side === "right") { + const { + side, + align + } = anchor; + const x = side === "left" ? 0 : side === "right" ? box2.width : side; + const y = align === "top" ? 0 : align === "center" ? box2.height / 2 : align === "bottom" ? box2.height : align; + return elementToViewport({ + x, + y + }, box2); + } + return elementToViewport({ + x: box2.width / 2, + y: box2.height / 2 + }, box2); + } + const locationStrategies = { + static: staticLocationStrategy, + // specific viewport position, usually centered + connected: connectedLocationStrategy + // connected to a certain element + }; + const makeLocationStrategyProps = propsFactory({ + locationStrategy: { + type: [String, Function], + default: "static", + validator: (val) => typeof val === "function" || val in locationStrategies + }, + location: { + type: String, + default: "bottom" + }, + origin: { + type: String, + default: "auto" + }, + offset: [Number, String, Array], + stickToTarget: Boolean + }, "VOverlay-location-strategies"); + function useLocationStrategies(props, data) { + const contentStyles = require$$0.ref({}); + const updateLocation = require$$0.ref(); + if (IN_BROWSER) { + useToggleScope(() => !!(data.isActive.value && props.locationStrategy), (reset) => { + require$$0.watch(() => props.locationStrategy, reset); + require$$0.onScopeDispose(() => { + window.removeEventListener("resize", onResize); + visualViewport?.removeEventListener("resize", onVisualResize); + visualViewport?.removeEventListener("scroll", onVisualScroll); + updateLocation.value = void 0; + }); + window.addEventListener("resize", onResize, { + passive: true + }); + visualViewport?.addEventListener("resize", onVisualResize, { + passive: true + }); + visualViewport?.addEventListener("scroll", onVisualScroll, { + passive: true + }); + if (typeof props.locationStrategy === "function") { + updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation; + } else { + updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation; + } + }); + } + function onResize(e7) { + updateLocation.value?.(e7); + } + function onVisualResize(e7) { + updateLocation.value?.(e7); + } + function onVisualScroll(e7) { + updateLocation.value?.(e7); + } + return { + contentStyles, + updateLocation + }; + } + function staticLocationStrategy() { + } + function getIntrinsicSize(el2, isRtl) { + const contentBox = nullifyTransforms(el2); + if (isRtl) { + contentBox.x += parseFloat(el2.style.right || 0); + } else { + contentBox.x -= parseFloat(el2.style.left || 0); + } + contentBox.y -= parseFloat(el2.style.top || 0); + return contentBox; + } + function connectedLocationStrategy(data, props, contentStyles) { + const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value); + if (activatorFixed) { + Object.assign(contentStyles.value, { + position: "fixed", + top: 0, + [data.isRtl.value ? "right" : "left"]: 0 + }); + } + const { + preferredAnchor, + preferredOrigin + } = destructComputed(() => { + const parsedAnchor = parseAnchor(props.location, data.isRtl.value); + const parsedOrigin = props.origin === "overlap" ? parsedAnchor : props.origin === "auto" ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value); + if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) { + return { + preferredAnchor: flipCorner(parsedAnchor), + preferredOrigin: flipCorner(parsedOrigin) + }; + } else { + return { + preferredAnchor: parsedAnchor, + preferredOrigin: parsedOrigin + }; + } + }); + const [minWidth, minHeight, maxWidth, maxHeight] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((key) => { + return require$$0.computed(() => { + const val = parseFloat(props[key]); + return isNaN(val) ? Infinity : val; + }); + }); + const offset = require$$0.computed(() => { + if (Array.isArray(props.offset)) { + return props.offset; + } + if (typeof props.offset === "string") { + const offset2 = props.offset.split(" ").map(parseFloat); + if (offset2.length < 2) offset2.push(0); + return offset2; + } + return typeof props.offset === "number" ? [props.offset, 0] : [0, 0]; + }); + let observe = false; + let lastFrame = -1; + const flipped = new CircularBuffer(4); + const observer = new ResizeObserver(() => { + if (!observe) return; + requestAnimationFrame((newTime) => { + if (newTime !== lastFrame) flipped.clear(); + requestAnimationFrame((newNewTime) => { + lastFrame = newNewTime; + }); + }); + if (flipped.isFull) { + const values = flipped.values(); + if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) { + return; + } + } + const result = updateLocation(); + if (result) flipped.push(result.flipped); + }); + let targetBox = new Box({ + x: 0, + y: 0, + width: 0, + height: 0 + }); + require$$0.watch(data.target, (newTarget, oldTarget) => { + if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget); + if (!Array.isArray(newTarget)) { + if (newTarget) observer.observe(newTarget); + } else if (!deepEqual(newTarget, oldTarget)) { + updateLocation(); + } + }, { + immediate: true + }); + require$$0.watch(data.contentEl, (newContentEl, oldContentEl) => { + if (oldContentEl) observer.unobserve(oldContentEl); + if (newContentEl) observer.observe(newContentEl); + }, { + immediate: true + }); + require$$0.onScopeDispose(() => { + observer.disconnect(); + }); + function updateLocation() { + observe = false; + requestAnimationFrame(() => observe = true); + if (!data.target.value || !data.contentEl.value) return; + if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) { + targetBox = getTargetBox(data.target.value); + } + const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value); + const scrollParents = getScrollParents(data.contentEl.value); + const viewportMargin = 12; + if (!scrollParents.length) { + scrollParents.push(document.documentElement); + if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) { + contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0); + contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0); + } + } + const viewport = scrollParents.reduce((box2, el2) => { + const scrollBox = getElementBox(el2); + if (box2) { + return new Box({ + x: Math.max(box2.left, scrollBox.left), + y: Math.max(box2.top, scrollBox.top), + width: Math.min(box2.right, scrollBox.right) - Math.max(box2.left, scrollBox.left), + height: Math.min(box2.bottom, scrollBox.bottom) - Math.max(box2.top, scrollBox.top) + }); + } + return scrollBox; + }, void 0); + viewport.x += viewportMargin; + viewport.y += viewportMargin; + viewport.width -= viewportMargin * 2; + viewport.height -= viewportMargin * 2; + let placement = { + anchor: preferredAnchor.value, + origin: preferredOrigin.value + }; + function checkOverflow(_placement) { + const box2 = new Box(contentBox); + const targetPoint = anchorToPoint(_placement.anchor, targetBox); + const contentPoint = anchorToPoint(_placement.origin, box2); + let { + x: x7, + y: y7 + } = getOffset$1(targetPoint, contentPoint); + switch (_placement.anchor.side) { + case "top": + y7 -= offset.value[0]; + break; + case "bottom": + y7 += offset.value[0]; + break; + case "left": + x7 -= offset.value[0]; + break; + case "right": + x7 += offset.value[0]; + break; + } + switch (_placement.anchor.align) { + case "top": + y7 -= offset.value[1]; + break; + case "bottom": + y7 += offset.value[1]; + break; + case "left": + x7 -= offset.value[1]; + break; + case "right": + x7 += offset.value[1]; + break; + } + box2.x += x7; + box2.y += y7; + box2.width = Math.min(box2.width, maxWidth.value); + box2.height = Math.min(box2.height, maxHeight.value); + const overflows = getOverflow(box2, viewport); + return { + overflows, + x: x7, + y: y7 + }; + } + let x = 0; + let y = 0; + const available = { + x: 0, + y: 0 + }; + const flipped2 = { + x: false, + y: false + }; + let resets = -1; + while (true) { + if (resets++ > 10) { + consoleError("Infinite loop detected in connectedLocationStrategy"); + break; + } + const { + x: _x2, + y: _y2, + overflows + } = checkOverflow(placement); + x += _x2; + y += _y2; + contentBox.x += _x2; + contentBox.y += _y2; + { + const axis2 = getAxis(placement.anchor); + const hasOverflowX = overflows.x.before || overflows.x.after; + const hasOverflowY = overflows.y.before || overflows.y.after; + let reset = false; + ["x", "y"].forEach((key) => { + if (key === "x" && hasOverflowX && !flipped2.x || key === "y" && hasOverflowY && !flipped2.y) { + const newPlacement = { + anchor: { + ...placement.anchor + }, + origin: { + ...placement.origin + } + }; + const flip = key === "x" ? axis2 === "y" ? flipAlign : flipSide : axis2 === "y" ? flipSide : flipAlign; + newPlacement.anchor = flip(newPlacement.anchor); + newPlacement.origin = flip(newPlacement.origin); + const { + overflows: newOverflows + } = checkOverflow(newPlacement); + if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) { + placement = newPlacement; + reset = flipped2[key] = true; + } + } + }); + if (reset) continue; + } + if (overflows.x.before) { + if (!props.stickToTarget) x += overflows.x.before; + contentBox.x += overflows.x.before; + } + if (overflows.x.after) { + if (!props.stickToTarget) x -= overflows.x.after; + contentBox.x -= overflows.x.after; + } + if (overflows.y.before) { + if (!props.stickToTarget) y += overflows.y.before; + contentBox.y += overflows.y.before; + } + if (overflows.y.after) { + if (!props.stickToTarget) y -= overflows.y.after; + contentBox.y -= overflows.y.after; + } + { + const overflows2 = getOverflow(contentBox, viewport); + available.x = viewport.width - overflows2.x.before - overflows2.x.after; + available.y = viewport.height - overflows2.y.before - overflows2.y.after; + if (!props.stickToTarget) x += overflows2.x.before; + contentBox.x += overflows2.x.before; + if (!props.stickToTarget) y += overflows2.y.before; + contentBox.y += overflows2.y.before; + } + break; + } + const axis = getAxis(placement.anchor); + Object.assign(contentStyles.value, { + "--v-overlay-anchor-origin": `${placement.anchor.side} ${placement.anchor.align}`, + transformOrigin: `${placement.origin.side} ${placement.origin.align}`, + // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`, + top: convertToUnit(pixelRound(y)), + left: data.isRtl.value ? void 0 : convertToUnit(pixelRound(x)), + right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : void 0, + minWidth: convertToUnit(axis === "y" ? Math.min(minWidth.value, targetBox.width) : minWidth.value), + maxWidth: convertToUnit(pixelCeil(clamp$1(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))), + maxHeight: convertToUnit(pixelCeil(clamp$1(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value))) + }); + return { + available, + contentBox, + flipped: flipped2 + }; + } + require$$0.watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation()); + require$$0.nextTick(() => { + const result = updateLocation(); + if (!result) return; + const { + available, + contentBox + } = result; + if (contentBox.height > available.y) { + requestAnimationFrame(() => { + updateLocation(); + requestAnimationFrame(() => { + updateLocation(); + }); + }); + } + }); + return { + updateLocation + }; + } + function pixelRound(val) { + return Math.round(val * devicePixelRatio) / devicePixelRatio; + } + function pixelCeil(val) { + return Math.ceil(val * devicePixelRatio) / devicePixelRatio; + } + let clean = true; + const frames = []; + function requestNewFrame(cb2) { + if (!clean || frames.length) { + frames.push(cb2); + run(); + } else { + clean = false; + cb2(); + run(); + } + } + let raf = -1; + function run() { + cancelAnimationFrame(raf); + raf = requestAnimationFrame(() => { + const frame = frames.shift(); + if (frame) frame(); + if (frames.length) run(); + else clean = true; + }); + } + const scrollStrategies = { + none: null, + close: closeScrollStrategy, + block: blockScrollStrategy, + reposition: repositionScrollStrategy + }; + const makeScrollStrategyProps = propsFactory({ + scrollStrategy: { + type: [String, Function], + default: "block", + validator: (val) => typeof val === "function" || val in scrollStrategies + } + }, "VOverlay-scroll-strategies"); + function useScrollStrategies(props, data) { + if (!IN_BROWSER) return; + let scope; + require$$0.watchEffect(async () => { + scope?.stop(); + if (!(data.isActive.value && props.scrollStrategy)) return; + scope = require$$0.effectScope(); + await new Promise((resolve) => setTimeout(resolve)); + scope.active && scope.run(() => { + if (typeof props.scrollStrategy === "function") { + props.scrollStrategy(data, props, scope); + } else { + scrollStrategies[props.scrollStrategy]?.(data, props, scope); + } + }); + }); + require$$0.onScopeDispose(() => { + scope?.stop(); + }); + } + function closeScrollStrategy(data) { + function onScroll(e7) { + data.isActive.value = false; + } + bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll); + } + function blockScrollStrategy(data, props) { + const offsetParent = data.root.value?.offsetParent; + const target = getTargetEl(data.target.value, data.contentEl.value); + const scrollElements = [.../* @__PURE__ */ new Set([...getScrollParents(target, props.contained ? offsetParent : void 0), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : void 0)])].filter((el2) => !el2.classList.contains("v-overlay-scroll-blocked")); + const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth; + const scrollableParent = ((el2) => hasScrollbar(el2) && el2)(offsetParent || document.documentElement); + if (scrollableParent) { + data.root.value.classList.add("v-overlay--scroll-blocked"); + } + scrollElements.forEach((el2, i7) => { + el2.style.setProperty("--v-body-scroll-x", convertToUnit(-el2.scrollLeft)); + el2.style.setProperty("--v-body-scroll-y", convertToUnit(-el2.scrollTop)); + if (el2 !== document.documentElement) { + el2.style.setProperty("--v-scrollbar-offset", convertToUnit(scrollbarWidth)); + } + el2.classList.add("v-overlay-scroll-blocked"); + }); + require$$0.onScopeDispose(() => { + scrollElements.forEach((el2, i7) => { + const x = parseFloat(el2.style.getPropertyValue("--v-body-scroll-x")); + const y = parseFloat(el2.style.getPropertyValue("--v-body-scroll-y")); + const scrollBehavior = el2.style.scrollBehavior; + el2.style.scrollBehavior = "auto"; + el2.style.removeProperty("--v-body-scroll-x"); + el2.style.removeProperty("--v-body-scroll-y"); + el2.style.removeProperty("--v-scrollbar-offset"); + el2.classList.remove("v-overlay-scroll-blocked"); + el2.scrollLeft = -x; + el2.scrollTop = -y; + el2.style.scrollBehavior = scrollBehavior; + }); + if (scrollableParent) { + data.root.value.classList.remove("v-overlay--scroll-blocked"); + } + }); + } + function repositionScrollStrategy(data, props, scope) { + let slow = false; + let raf2 = -1; + let ric = -1; + function update(e7) { + requestNewFrame(() => { + const start2 = performance.now(); + data.updateLocation.value?.(e7); + const time = performance.now() - start2; + slow = time / (1e3 / 60) > 2; + }); + } + ric = (typeof requestIdleCallback === "undefined" ? (cb2) => cb2() : requestIdleCallback)(() => { + scope.run(() => { + bindScroll(getTargetEl(data.target.value, data.contentEl.value), (e7) => { + if (slow) { + cancelAnimationFrame(raf2); + raf2 = requestAnimationFrame(() => { + raf2 = requestAnimationFrame(() => { + update(e7); + }); + }); + } else { + update(e7); + } + }); + }); + }); + require$$0.onScopeDispose(() => { + typeof cancelIdleCallback !== "undefined" && cancelIdleCallback(ric); + cancelAnimationFrame(raf2); + }); + } + function getTargetEl(target, contentEl) { + return Array.isArray(target) ? document.elementsFromPoint(...target).find((el2) => !contentEl?.contains(el2)) : target ?? contentEl; + } + function bindScroll(el2, onScroll) { + const scrollElements = [document, ...getScrollParents(el2)]; + scrollElements.forEach((el3) => { + el3.addEventListener("scroll", onScroll, { + passive: true + }); + }); + require$$0.onScopeDispose(() => { + scrollElements.forEach((el3) => { + el3.removeEventListener("scroll", onScroll); + }); + }); + } + const VMenuSymbol = Symbol.for("vuetify:v-menu"); + const makeDelayProps = propsFactory({ + closeDelay: [Number, String], + openDelay: [Number, String] + }, "delay"); + function useDelay(props, cb2) { + let clearDelay = () => { + }; + function runDelay(isOpening) { + clearDelay?.(); + const delay = Number(isOpening ? props.openDelay : props.closeDelay); + return new Promise((resolve) => { + clearDelay = defer(delay, () => { + cb2?.(isOpening); + resolve(isOpening); + }); + }); + } + function runOpenDelay() { + return runDelay(true); + } + function runCloseDelay() { + return runDelay(false); + } + return { + clearDelay, + runOpenDelay, + runCloseDelay + }; + } + const makeActivatorProps = propsFactory({ + target: [String, Object], + activator: [String, Object], + activatorProps: { + type: Object, + default: () => ({}) + }, + openOnClick: { + type: Boolean, + default: void 0 + }, + openOnHover: Boolean, + openOnFocus: { + type: Boolean, + default: void 0 + }, + closeOnContentClick: Boolean, + ...makeDelayProps() + }, "VOverlay-activator"); + function useActivator(props, _ref) { + let { + isActive, + isTop, + contentEl + } = _ref; + const vm = getCurrentInstance("useActivator"); + const activatorEl = require$$0.ref(); + let isHovered = false; + let isFocused = false; + let firstEnter = true; + const openOnFocus = require$$0.computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover); + const openOnClick = require$$0.computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value); + const { + runOpenDelay, + runCloseDelay + } = useDelay(props, (value) => { + if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) { + if (isActive.value !== value) { + firstEnter = true; + } + isActive.value = value; + } + }); + const cursorTarget = require$$0.ref(); + const availableEvents = { + onClick: (e7) => { + e7.stopPropagation(); + activatorEl.value = e7.currentTarget || e7.target; + if (!isActive.value) { + cursorTarget.value = [e7.clientX, e7.clientY]; + } + isActive.value = !isActive.value; + }, + onMouseenter: (e7) => { + if (e7.sourceCapabilities?.firesTouchEvents) return; + isHovered = true; + activatorEl.value = e7.currentTarget || e7.target; + runOpenDelay(); + }, + onMouseleave: (e7) => { + isHovered = false; + runCloseDelay(); + }, + onFocus: (e7) => { + if (matchesSelector(e7.target, ":focus-visible") === false) return; + isFocused = true; + e7.stopPropagation(); + activatorEl.value = e7.currentTarget || e7.target; + runOpenDelay(); + }, + onBlur: (e7) => { + isFocused = false; + e7.stopPropagation(); + runCloseDelay(); + } + }; + const activatorEvents = require$$0.computed(() => { + const events = {}; + if (openOnClick.value) { + events.onClick = availableEvents.onClick; + } + if (props.openOnHover) { + events.onMouseenter = availableEvents.onMouseenter; + events.onMouseleave = availableEvents.onMouseleave; + } + if (openOnFocus.value) { + events.onFocus = availableEvents.onFocus; + events.onBlur = availableEvents.onBlur; + } + return events; + }); + const contentEvents = require$$0.computed(() => { + const events = {}; + if (props.openOnHover) { + events.onMouseenter = () => { + isHovered = true; + runOpenDelay(); + }; + events.onMouseleave = () => { + isHovered = false; + runCloseDelay(); + }; + } + if (openOnFocus.value) { + events.onFocusin = () => { + isFocused = true; + runOpenDelay(); + }; + events.onFocusout = () => { + isFocused = false; + runCloseDelay(); + }; + } + if (props.closeOnContentClick) { + const menu = require$$0.inject(VMenuSymbol, null); + events.onClick = () => { + isActive.value = false; + menu?.closeParents(); + }; + } + return events; + }); + const scrimEvents = require$$0.computed(() => { + const events = {}; + if (props.openOnHover) { + events.onMouseenter = () => { + if (firstEnter) { + isHovered = true; + firstEnter = false; + runOpenDelay(); + } + }; + events.onMouseleave = () => { + isHovered = false; + runCloseDelay(); + }; + } + return events; + }); + require$$0.watch(isTop, (val) => { + if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) { + isActive.value = false; + } + }); + require$$0.watch(isActive, (val) => { + if (!val) { + setTimeout(() => { + cursorTarget.value = void 0; + }); + } + }, { + flush: "post" + }); + const activatorRef = templateRef(); + require$$0.watchEffect(() => { + if (!activatorRef.value) return; + require$$0.nextTick(() => { + activatorEl.value = activatorRef.el; + }); + }); + const targetRef = templateRef(); + const target = require$$0.computed(() => { + if (props.target === "cursor" && cursorTarget.value) return cursorTarget.value; + if (targetRef.value) return targetRef.el; + return getTarget(props.target, vm) || activatorEl.value; + }); + const targetEl = require$$0.computed(() => { + return Array.isArray(target.value) ? void 0 : target.value; + }); + let scope; + require$$0.watch(() => !!props.activator, (val) => { + if (val && IN_BROWSER) { + scope = require$$0.effectScope(); + scope.run(() => { + _useActivator(props, vm, { + activatorEl, + activatorEvents + }); + }); + } else if (scope) { + scope.stop(); + } + }, { + flush: "post", + immediate: true + }); + require$$0.onScopeDispose(() => { + scope?.stop(); + }); + return { + activatorEl, + activatorRef, + target, + targetEl, + targetRef, + activatorEvents, + contentEvents, + scrimEvents + }; + } + function _useActivator(props, vm, _ref2) { + let { + activatorEl, + activatorEvents + } = _ref2; + require$$0.watch(() => props.activator, (val, oldVal) => { + if (oldVal && val !== oldVal) { + const activator = getActivator(oldVal); + activator && unbindActivatorProps(activator); + } + if (val) { + require$$0.nextTick(() => bindActivatorProps()); + } + }, { + immediate: true + }); + require$$0.watch(() => props.activatorProps, () => { + bindActivatorProps(); + }); + require$$0.onScopeDispose(() => { + unbindActivatorProps(); + }); + function bindActivatorProps() { + let el2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getActivator(); + let _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : props.activatorProps; + if (!el2) return; + bindProps$1(el2, require$$0.mergeProps(activatorEvents.value, _props)); + } + function unbindActivatorProps() { + let el2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getActivator(); + let _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : props.activatorProps; + if (!el2) return; + unbindProps(el2, require$$0.mergeProps(activatorEvents.value, _props)); + } + function getActivator() { + let selector2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : props.activator; + const activator = getTarget(selector2, vm); + activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : void 0; + return activatorEl.value; + } + } + function getTarget(selector2, vm) { + if (!selector2) return; + let target; + if (selector2 === "parent") { + let el2 = vm?.proxy?.$el?.parentNode; + while (el2?.hasAttribute("data-no-activator")) { + el2 = el2.parentNode; + } + target = el2; + } else if (typeof selector2 === "string") { + target = document.querySelector(selector2); + } else if ("$el" in selector2) { + target = selector2.$el; + } else { + target = selector2; + } + return target; + } + function useHydration() { + if (!IN_BROWSER) return require$$0.shallowRef(false); + const { + ssr + } = useDisplay(); + if (ssr) { + const isMounted = require$$0.shallowRef(false); + require$$0.onMounted(() => { + isMounted.value = true; + }); + return isMounted; + } else { + return require$$0.shallowRef(true); + } + } + const makeLazyProps = propsFactory({ + eager: Boolean + }, "lazy"); + function useLazy(props, active) { + const isBooted = require$$0.shallowRef(false); + const hasContent = require$$0.toRef(() => isBooted.value || props.eager || active.value); + require$$0.watch(active, () => isBooted.value = true); + function onAfterLeave() { + if (!props.eager) isBooted.value = false; + } + return { + isBooted, + hasContent, + onAfterLeave + }; + } + function useScopeId() { + const vm = getCurrentInstance("useScopeId"); + const scopeId = vm.vnode.scopeId; + return { + scopeId: scopeId ? { + [scopeId]: "" + } : void 0 + }; + } + const StackSymbol = Symbol.for("vuetify:stack"); + const globalStack = require$$0.reactive([]); + function useStack(isActive, zIndex, disableGlobalStack) { + const vm = getCurrentInstance("useStack"); + const createStackEntry = !disableGlobalStack; + const parent = require$$0.inject(StackSymbol, void 0); + const stack = require$$0.reactive({ + activeChildren: /* @__PURE__ */ new Set() + }); + require$$0.provide(StackSymbol, stack); + const _zIndex = require$$0.shallowRef(Number(require$$0.toValue(zIndex))); + useToggleScope(isActive, () => { + const lastZIndex = globalStack.at(-1)?.[1]; + _zIndex.value = lastZIndex ? lastZIndex + 10 : Number(require$$0.toValue(zIndex)); + if (createStackEntry) { + globalStack.push([vm.uid, _zIndex.value]); + } + parent?.activeChildren.add(vm.uid); + require$$0.onScopeDispose(() => { + if (createStackEntry) { + const idx = require$$0.toRaw(globalStack).findIndex((v) => v[0] === vm.uid); + globalStack.splice(idx, 1); + } + parent?.activeChildren.delete(vm.uid); + }); + }); + const globalTop = require$$0.shallowRef(true); + if (createStackEntry) { + require$$0.watchEffect(() => { + const _isTop = globalStack.at(-1)?.[0] === vm.uid; + setTimeout(() => globalTop.value = _isTop); + }); + } + const localTop = require$$0.toRef(() => !stack.activeChildren.size); + return { + globalTop: require$$0.readonly(globalTop), + localTop, + stackStyles: require$$0.toRef(() => ({ + zIndex: _zIndex.value + })) + }; + } + function useTeleport(target) { + const teleportTarget = require$$0.computed(() => { + const _target = target(); + if (_target === true || !IN_BROWSER) return void 0; + const targetElement = _target === false ? document.body : typeof _target === "string" ? document.querySelector(_target) : _target; + if (targetElement == null) { + require$$0.warn(`Unable to locate target ${_target}`); + return void 0; + } + let container = [...targetElement.children].find((el2) => el2.matches(".v-overlay-container")); + if (!container) { + container = document.createElement("div"); + container.className = "v-overlay-container"; + targetElement.appendChild(container); + } + return container; + }); + return { + teleportTarget + }; + } + function defaultConditional() { + return true; + } + function checkEvent(e7, el2, binding) { + if (!e7 || checkIsActive(e7, binding) === false) return false; + const root = attachedRoot(el2); + if (typeof ShadowRoot !== "undefined" && root instanceof ShadowRoot && root.host === e7.target) return false; + const elements = (typeof binding.value === "object" && binding.value.include || (() => []))(); + elements.push(el2); + return !elements.some((el3) => el3?.contains(e7.target)); + } + function checkIsActive(e7, binding) { + const isActive = typeof binding.value === "object" && binding.value.closeConditional || defaultConditional; + return isActive(e7); + } + function directive(e7, el2, binding) { + const handler = typeof binding.value === "function" ? binding.value : binding.value.handler; + e7.shadowTarget = e7.target; + el2._clickOutside.lastMousedownWasOutside && checkEvent(e7, el2, binding) && setTimeout(() => { + checkIsActive(e7, binding) && handler && handler(e7); + }, 0); + } + function handleShadow(el2, callback) { + const root = attachedRoot(el2); + callback(document); + if (typeof ShadowRoot !== "undefined" && root instanceof ShadowRoot) { + callback(root); + } + } + const ClickOutside = { + // [data-app] may not be found + // if using bind, inserted makes + // sure that the root element is + // available, iOS does not support + // clicks on body + mounted(el2, binding) { + const onClick = (e7) => directive(e7, el2, binding); + const onMousedown = (e7) => { + el2._clickOutside.lastMousedownWasOutside = checkEvent(e7, el2, binding); + }; + handleShadow(el2, (app) => { + app.addEventListener("click", onClick, true); + app.addEventListener("mousedown", onMousedown, true); + }); + if (!el2._clickOutside) { + el2._clickOutside = { + lastMousedownWasOutside: false + }; + } + el2._clickOutside[binding.instance.$.uid] = { + onClick, + onMousedown + }; + }, + beforeUnmount(el2, binding) { + if (!el2._clickOutside) return; + handleShadow(el2, (app) => { + if (!app || !el2._clickOutside?.[binding.instance.$.uid]) return; + const { + onClick, + onMousedown + } = el2._clickOutside[binding.instance.$.uid]; + app.removeEventListener("click", onClick, true); + app.removeEventListener("mousedown", onMousedown, true); + }); + delete el2._clickOutside[binding.instance.$.uid]; + } + }; + function Scrim(props) { + const { + modelValue, + color, + ...rest + } = props; + return require$$0.createVNode(require$$0.Transition, { + "name": "fade-transition", + "appear": true + }, { + default: () => [props.modelValue && require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-overlay__scrim", props.color.backgroundColorClasses.value], + "style": props.color.backgroundColorStyles.value + }, rest), null)] + }); + } + const makeVOverlayProps = propsFactory({ + absolute: Boolean, + attach: [Boolean, String, Object], + closeOnBack: { + type: Boolean, + default: true + }, + contained: Boolean, + contentClass: null, + contentProps: null, + disabled: Boolean, + opacity: [Number, String], + noClickAnimation: Boolean, + modelValue: Boolean, + persistent: Boolean, + scrim: { + type: [Boolean, String], + default: true + }, + zIndex: { + type: [Number, String], + default: 2e3 + }, + ...makeActivatorProps(), + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeLazyProps(), + ...makeLocationStrategyProps(), + ...makeScrollStrategyProps(), + ...makeThemeProps(), + ...makeTransitionProps() + }, "VOverlay"); + const VOverlay = genericComponent()({ + name: "VOverlay", + directives: { + vClickOutside: ClickOutside + }, + inheritAttrs: false, + props: { + _disableGlobalStack: Boolean, + ...makeVOverlayProps() + }, + emits: { + "click:outside": (e7) => true, + "update:modelValue": (value) => true, + keydown: (e7) => true, + afterEnter: () => true, + afterLeave: () => true + }, + setup(props, _ref) { + let { + slots, + attrs, + emit + } = _ref; + const vm = getCurrentInstance("VOverlay"); + const root = require$$0.ref(); + const scrimEl = require$$0.ref(); + const contentEl = require$$0.ref(); + const model = useProxiedModel(props, "modelValue"); + const isActive = require$$0.computed({ + get: () => model.value, + set: (v) => { + if (!(v && props.disabled)) model.value = v; + } + }); + const { + themeClasses + } = provideTheme(props); + const { + rtlClasses, + isRtl + } = useRtl(); + const { + hasContent, + onAfterLeave: _onAfterLeave + } = useLazy(props, isActive); + const scrimColor = useBackgroundColor(() => { + return typeof props.scrim === "string" ? props.scrim : null; + }); + const { + globalTop, + localTop, + stackStyles + } = useStack(isActive, () => props.zIndex, props._disableGlobalStack); + const { + activatorEl, + activatorRef, + target, + targetEl, + targetRef, + activatorEvents, + contentEvents, + scrimEvents + } = useActivator(props, { + isActive, + isTop: localTop, + contentEl + }); + const { + teleportTarget + } = useTeleport(() => { + const target2 = props.attach || props.contained; + if (target2) return target2; + const rootNode = activatorEl?.value?.getRootNode() || vm.proxy?.$el?.getRootNode(); + if (rootNode instanceof ShadowRoot) return rootNode; + return false; + }); + const { + dimensionStyles + } = useDimension(props); + const isMounted = useHydration(); + const { + scopeId + } = useScopeId(); + require$$0.watch(() => props.disabled, (v) => { + if (v) isActive.value = false; + }); + const { + contentStyles, + updateLocation + } = useLocationStrategies(props, { + isRtl, + contentEl, + target, + isActive + }); + useScrollStrategies(props, { + root, + contentEl, + targetEl, + target, + isActive, + updateLocation + }); + function onClickOutside2(e7) { + emit("click:outside", e7); + if (!props.persistent) isActive.value = false; + else animateClick(); + } + function closeConditional(e7) { + return isActive.value && globalTop.value && // If using scrim, only close if clicking on it rather than anything opened on top + (!props.scrim || e7.target === scrimEl.value || e7 instanceof MouseEvent && e7.shadowTarget === scrimEl.value); + } + IN_BROWSER && require$$0.watch(isActive, (val) => { + if (val) { + window.addEventListener("keydown", onKeydown); + } else { + window.removeEventListener("keydown", onKeydown); + } + }, { + immediate: true + }); + require$$0.onBeforeUnmount(() => { + if (!IN_BROWSER) return; + window.removeEventListener("keydown", onKeydown); + }); + function onKeydown(e7) { + if (e7.key === "Escape" && globalTop.value) { + if (!contentEl.value?.contains(document.activeElement)) { + emit("keydown", e7); + } + if (!props.persistent) { + isActive.value = false; + if (contentEl.value?.contains(document.activeElement)) { + activatorEl.value?.focus(); + } + } else animateClick(); + } + } + function onKeydownSelf(e7) { + if (e7.key === "Escape" && !globalTop.value) return; + emit("keydown", e7); + } + const router = useRouter(); + useToggleScope(() => props.closeOnBack, () => { + useBackButton(router, (next) => { + if (globalTop.value && isActive.value) { + next(false); + if (!props.persistent) isActive.value = false; + else animateClick(); + } else { + next(); + } + }); + }); + const top = require$$0.ref(); + require$$0.watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, (val) => { + if (val) { + const scrollParent = getScrollParent(root.value); + if (scrollParent && scrollParent !== document.scrollingElement) { + top.value = scrollParent.scrollTop; + } + } + }); + function animateClick() { + if (props.noClickAnimation) return; + contentEl.value && animate(contentEl.value, [{ + transformOrigin: "center" + }, { + transform: "scale(1.03)" + }, { + transformOrigin: "center" + }], { + duration: 150, + easing: standardEasing + }); + } + function onAfterEnter() { + emit("afterEnter"); + } + function onAfterLeave() { + _onAfterLeave(); + emit("afterLeave"); + } + useRender(() => require$$0.createElementVNode(require$$0.Fragment, null, [slots.activator?.({ + isActive: isActive.value, + targetRef, + props: require$$0.mergeProps({ + ref: activatorRef + }, activatorEvents.value, props.activatorProps) + }), isMounted.value && hasContent.value && require$$0.createVNode(require$$0.Teleport, { + "disabled": !teleportTarget.value, + "to": teleportTarget.value + }, { + default: () => [require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-overlay", { + "v-overlay--absolute": props.absolute || props.contained, + "v-overlay--active": isActive.value, + "v-overlay--contained": props.contained + }, themeClasses.value, rtlClasses.value, props.class], + "style": [stackStyles.value, { + "--v-overlay-opacity": props.opacity, + top: convertToUnit(top.value) + }, props.style], + "ref": root, + "onKeydown": onKeydownSelf + }, scopeId, attrs), [require$$0.createVNode(Scrim, require$$0.mergeProps({ + "color": scrimColor, + "modelValue": isActive.value && !!props.scrim, + "ref": scrimEl + }, scrimEvents.value), null), require$$0.createVNode(MaybeTransition, { + "appear": true, + "persisted": true, + "transition": props.transition, + "target": target.value, + "onAfterEnter": onAfterEnter, + "onAfterLeave": onAfterLeave + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", require$$0.mergeProps({ + "ref": contentEl, + "class": ["v-overlay__content", props.contentClass], + "style": [dimensionStyles.value, contentStyles.value] + }, contentEvents.value, props.contentProps), [slots.default?.({ + isActive + })]), [[require$$0.vShow, isActive.value], [ClickOutside, { + handler: onClickOutside2, + closeConditional, + include: () => [activatorEl.value] + }]])] + })])] + })])); + return { + activatorEl, + scrimEl, + target, + animateClick, + contentEl, + globalTop, + localTop, + updateLocation + }; + } + }); + const makeVMenuProps = propsFactory({ + // TODO + // disableKeys: Boolean, + id: String, + submenu: Boolean, + disableInitialFocus: Boolean, + ...omit(makeVOverlayProps({ + closeDelay: 250, + closeOnContentClick: true, + locationStrategy: "connected", + location: void 0, + openDelay: 300, + scrim: false, + scrollStrategy: "reposition", + transition: { + component: VDialogTransition + } + }), ["absolute"]) + }, "VMenu"); + const VMenu = genericComponent()({ + name: "VMenu", + props: makeVMenuProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + const { + scopeId + } = useScopeId(); + const { + isRtl + } = useRtl(); + const uid = require$$0.useId(); + const id2 = require$$0.toRef(() => props.id || `v-menu-${uid}`); + const overlay = require$$0.ref(); + const parent = require$$0.inject(VMenuSymbol, null); + const openChildren = require$$0.shallowRef(/* @__PURE__ */ new Set()); + require$$0.provide(VMenuSymbol, { + register() { + openChildren.value.add(uid); + }, + unregister() { + openChildren.value.delete(uid); + }, + closeParents(e7) { + setTimeout(() => { + if (!openChildren.value.size && !props.persistent && (e7 == null || overlay.value?.contentEl && !isClickInsideElement(e7, overlay.value.contentEl))) { + isActive.value = false; + parent?.closeParents(); + } + }, 40); + } + }); + require$$0.onBeforeUnmount(() => { + parent?.unregister(); + document.removeEventListener("focusin", onFocusIn); + }); + require$$0.onDeactivated(() => isActive.value = false); + async function onFocusIn(e7) { + const before = e7.relatedTarget; + const after = e7.target; + await require$$0.nextTick(); + if (isActive.value && before !== after && overlay.value?.contentEl && // We're the topmost menu + overlay.value?.globalTop && // It isn't the document or the menu body + ![document, overlay.value.contentEl].includes(after) && // It isn't inside the menu body + !overlay.value.contentEl.contains(after)) { + const focusable = focusableChildren(overlay.value.contentEl); + focusable[0]?.focus(); + } + } + require$$0.watch(isActive, (val) => { + if (val) { + parent?.register(); + if (IN_BROWSER && !props.disableInitialFocus) { + document.addEventListener("focusin", onFocusIn, { + once: true + }); + } + } else { + parent?.unregister(); + if (IN_BROWSER) { + document.removeEventListener("focusin", onFocusIn); + } + } + }, { + immediate: true + }); + function onClickOutside2(e7) { + parent?.closeParents(e7); + } + function onKeydown(e7) { + if (props.disabled) return; + if (e7.key === "Tab" || e7.key === "Enter" && !props.closeOnContentClick) { + if (e7.key === "Enter" && (e7.target instanceof HTMLTextAreaElement || e7.target instanceof HTMLInputElement && !!e7.target.closest("form"))) return; + if (e7.key === "Enter") e7.preventDefault(); + const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e7.shiftKey ? "prev" : "next", (el2) => el2.tabIndex >= 0); + if (!nextElement) { + isActive.value = false; + overlay.value?.activatorEl?.focus(); + } + } else if (props.submenu && e7.key === (isRtl.value ? "ArrowRight" : "ArrowLeft")) { + isActive.value = false; + overlay.value?.activatorEl?.focus(); + } + } + function onActivatorKeydown(e7) { + if (props.disabled) return; + const el2 = overlay.value?.contentEl; + if (el2 && isActive.value) { + if (e7.key === "ArrowDown") { + e7.preventDefault(); + e7.stopImmediatePropagation(); + focusChild(el2, "next"); + } else if (e7.key === "ArrowUp") { + e7.preventDefault(); + e7.stopImmediatePropagation(); + focusChild(el2, "prev"); + } else if (props.submenu) { + if (e7.key === (isRtl.value ? "ArrowRight" : "ArrowLeft")) { + isActive.value = false; + } else if (e7.key === (isRtl.value ? "ArrowLeft" : "ArrowRight")) { + e7.preventDefault(); + focusChild(el2, "first"); + } + } + } else if (props.submenu ? e7.key === (isRtl.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(e7.key)) { + isActive.value = true; + e7.preventDefault(); + setTimeout(() => setTimeout(() => onActivatorKeydown(e7))); + } + } + const activatorProps = require$$0.computed(() => require$$0.mergeProps({ + "aria-haspopup": "menu", + "aria-expanded": String(isActive.value), + "aria-controls": id2.value, + onKeydown: onActivatorKeydown + }, props.activatorProps)); + useRender(() => { + const overlayProps = VOverlay.filterProps(props); + return require$$0.createVNode(VOverlay, require$$0.mergeProps({ + "ref": overlay, + "id": id2.value, + "class": ["v-menu", props.class], + "style": props.style + }, overlayProps, { + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "absolute": true, + "activatorProps": activatorProps.value, + "location": props.location ?? (props.submenu ? "end" : "bottom"), + "onClick:outside": onClickOutside2, + "onKeydown": onKeydown + }, scopeId), { + activator: slots.activator, + default: function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createVNode(VDefaultsProvider, { + "root": "VMenu" + }, { + default: () => [slots.default?.(...args)] + }); + } + }); + }); + return forwardRefs$1({ + id: id2, + ΨopenChildren: openChildren + }, overlay); + } + }); + const makeVCounterProps = propsFactory({ + active: Boolean, + disabled: Boolean, + max: [Number, String], + value: { + type: [Number, String], + default: 0 + }, + ...makeComponentProps(), + ...makeTransitionProps({ + transition: { + component: VSlideYTransition + } + }) + }, "VCounter"); + const VCounter = genericComponent()({ + name: "VCounter", + functional: true, + props: makeVCounterProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const counter = require$$0.toRef(() => { + return props.max ? `${props.value} / ${props.max}` : String(props.value); + }); + useRender(() => require$$0.createVNode(MaybeTransition, { + "transition": props.transition + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-counter", { + "text-error": props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max) + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots.default ? slots.default({ + counter: counter.value, + max: props.max, + value: props.value + }) : counter.value]), [[require$$0.vShow, props.active]])] + })); + return {}; + } + }); + const makeVFieldLabelProps = propsFactory({ + floating: Boolean, + ...makeComponentProps() + }, "VFieldLabel"); + const VFieldLabel = genericComponent()({ + name: "VFieldLabel", + props: makeVFieldLabelProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(VLabel, { + "class": require$$0.normalizeClass(["v-field-label", { + "v-field-label--floating": props.floating + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, slots)); + return {}; + } + }); + const allowedVariants$1 = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"]; + const makeVFieldProps = propsFactory({ + appendInnerIcon: IconValue, + bgColor: String, + clearable: Boolean, + clearIcon: { + type: IconValue, + default: "$clear" + }, + active: Boolean, + centerAffix: { + type: Boolean, + default: void 0 + }, + color: String, + baseColor: String, + details: Boolean, + dirty: Boolean, + disabled: { + type: Boolean, + default: null + }, + glow: Boolean, + error: Boolean, + flat: Boolean, + iconColor: [Boolean, String], + label: String, + persistentClear: Boolean, + prependInnerIcon: IconValue, + reverse: Boolean, + singleLine: Boolean, + variant: { + type: String, + default: "filled", + validator: (v) => allowedVariants$1.includes(v) + }, + "onClick:clear": EventProp(), + "onClick:appendInner": EventProp(), + "onClick:prependInner": EventProp(), + ...makeComponentProps(), + ...makeLoaderProps(), + ...makeRoundedProps(), + ...makeThemeProps() + }, "VField"); + const VField = genericComponent()({ + name: "VField", + inheritAttrs: false, + props: { + id: String, + ...makeFocusProps(), + ...makeVFieldProps() + }, + emits: { + "update:focused": (focused) => true, + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + loaderClasses + } = useLoader(props); + const { + focusClasses, + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const { + InputIcon + } = useInputIcon(props); + const { + roundedClasses + } = useRounded(props); + const { + rtlClasses + } = useRtl(); + const isActive = require$$0.toRef(() => props.dirty || props.active); + const hasLabel = require$$0.toRef(() => !!(props.label || slots.label)); + const hasFloatingLabel = require$$0.toRef(() => !props.singleLine && hasLabel.value); + const uid = require$$0.useId(); + const id2 = require$$0.computed(() => props.id || `input-${uid}`); + const messagesId = require$$0.toRef(() => !props.details ? void 0 : `${id2.value}-messages`); + const labelRef = require$$0.ref(); + const floatingLabelRef = require$$0.ref(); + const controlRef = require$$0.ref(); + const isPlainOrUnderlined = require$$0.computed(() => ["plain", "underlined"].includes(props.variant)); + const color = require$$0.computed(() => { + return props.error || props.disabled ? void 0 : isActive.value && isFocused.value ? props.color : props.baseColor; + }); + const iconColor = require$$0.computed(() => { + if (!props.iconColor || props.glow && !isFocused.value) return void 0; + return props.iconColor === true ? color.value : props.iconColor; + }); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + textColorClasses, + textColorStyles + } = useTextColor(color); + require$$0.watch(isActive, (val) => { + if (hasFloatingLabel.value && !PREFERS_REDUCED_MOTION()) { + const el2 = labelRef.value.$el; + const targetEl = floatingLabelRef.value.$el; + requestAnimationFrame(() => { + const rect = nullifyTransforms(el2); + const targetRect = targetEl.getBoundingClientRect(); + const x = targetRect.x - rect.x; + const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2); + const targetWidth = targetRect.width / 0.75; + const width = Math.abs(targetWidth - rect.width) > 1 ? { + maxWidth: convertToUnit(targetWidth) + } : void 0; + const style = getComputedStyle(el2); + const targetStyle = getComputedStyle(targetEl); + const duration = parseFloat(style.transitionDuration) * 1e3 || 150; + const scale2 = parseFloat(targetStyle.getPropertyValue("--v-field-label-scale")); + const color2 = targetStyle.getPropertyValue("color"); + el2.style.visibility = "visible"; + targetEl.style.visibility = "hidden"; + animate(el2, { + transform: `translate(${x}px, ${y}px) scale(${scale2})`, + color: color2, + ...width + }, { + duration, + easing: standardEasing, + direction: val ? "normal" : "reverse" + }).finished.then(() => { + el2.style.removeProperty("visibility"); + targetEl.style.removeProperty("visibility"); + }); + }); + } + }, { + flush: "post" + }); + const slotProps = require$$0.computed(() => ({ + isActive, + isFocused, + controlRef, + blur: blur2, + focus: focus2 + })); + function onClick(e7) { + if (e7.target !== document.activeElement) { + e7.preventDefault(); + } + } + useRender(() => { + const isOutlined = props.variant === "outlined"; + const hasPrepend = !!(slots["prepend-inner"] || props.prependInnerIcon); + const hasClear = !!(props.clearable || slots.clear) && !props.disabled; + const hasAppend = !!(slots["append-inner"] || props.appendInnerIcon || hasClear); + const label = () => slots.label ? slots.label({ + ...slotProps.value, + label: props.label, + props: { + for: id2.value + } + }) : props.label; + return require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-field", { + "v-field--active": isActive.value, + "v-field--appended": hasAppend, + "v-field--center-affix": props.centerAffix ?? !isPlainOrUnderlined.value, + "v-field--disabled": props.disabled, + "v-field--dirty": props.dirty, + "v-field--error": props.error, + "v-field--glow": props.glow, + "v-field--flat": props.flat, + "v-field--has-background": !!props.bgColor, + "v-field--persistent-clear": props.persistentClear, + "v-field--prepended": hasPrepend, + "v-field--reverse": props.reverse, + "v-field--single-line": props.singleLine, + "v-field--no-label": !label(), + [`v-field--variant-${props.variant}`]: true + }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class], + "style": [backgroundColorStyles.value, props.style], + "onClick": onClick + }, attrs), [require$$0.createElementVNode("div", { + "class": "v-field__overlay" + }, null), require$$0.createVNode(LoaderSlot, { + "name": "v-field", + "active": !!props.loading, + "color": props.error ? "error" : typeof props.loading === "string" ? props.loading : props.color + }, { + default: slots.loader + }), hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-field__prepend-inner" + }, [props.prependInnerIcon && require$$0.createVNode(InputIcon, { + "key": "prepend-icon", + "name": "prependInner", + "color": iconColor.value + }, null), slots["prepend-inner"]?.(slotProps.value)]), require$$0.createElementVNode("div", { + "class": "v-field__field", + "data-no-activator": "" + }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(props.variant) && hasFloatingLabel.value && require$$0.createVNode(VFieldLabel, { + "key": "floating-label", + "ref": floatingLabelRef, + "class": require$$0.normalizeClass([textColorClasses.value]), + "floating": true, + "for": id2.value, + "aria-hidden": !isActive.value, + "style": require$$0.normalizeStyle(textColorStyles.value) + }, { + default: () => [label()] + }), hasLabel.value && require$$0.createVNode(VFieldLabel, { + "key": "label", + "ref": labelRef, + "for": id2.value + }, { + default: () => [label()] + }), slots.default?.({ + ...slotProps.value, + props: { + id: id2.value, + class: "v-field__input", + "aria-describedby": messagesId.value + }, + focus: focus2, + blur: blur2 + }) ?? require$$0.createElementVNode("div", { + "id": id2.value, + "class": "v-field__input", + "aria-describedby": messagesId.value + }, null)]), hasClear && require$$0.createVNode(VExpandXTransition, { + "key": "clear" + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": "v-field__clearable", + "onMousedown": (e7) => { + e7.preventDefault(); + e7.stopPropagation(); + } + }, [require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VIcon: { + icon: props.clearIcon + } + } + }, { + default: () => [slots.clear ? slots.clear({ + ...slotProps.value, + props: { + onFocus: focus2, + onBlur: blur2, + onClick: props["onClick:clear"], + tabindex: -1 + } + }) : require$$0.createVNode(InputIcon, { + "name": "clear", + "onFocus": focus2, + "onBlur": blur2, + "tabindex": -1 + }, null)] + })]), [[require$$0.vShow, props.dirty]])] + }), hasAppend && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-field__append-inner" + }, [slots["append-inner"]?.(slotProps.value), props.appendInnerIcon && require$$0.createVNode(InputIcon, { + "key": "append-icon", + "name": "appendInner", + "color": iconColor.value + }, null)]), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-field__outline", textColorClasses.value]), + "style": require$$0.normalizeStyle(textColorStyles.value) + }, [isOutlined && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("div", { + "class": "v-field__outline__start" + }, null), hasFloatingLabel.value && require$$0.createElementVNode("div", { + "class": "v-field__outline__notch" + }, [require$$0.createVNode(VFieldLabel, { + "ref": floatingLabelRef, + "floating": true, + "for": id2.value, + "aria-hidden": !isActive.value + }, { + default: () => [label()] + })]), require$$0.createElementVNode("div", { + "class": "v-field__outline__end" + }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && require$$0.createVNode(VFieldLabel, { + "ref": floatingLabelRef, + "floating": true, + "for": id2.value, + "aria-hidden": !isActive.value + }, { + default: () => [label()] + })])]); + }); + return { + controlRef, + fieldIconColor: iconColor + }; + } + }); + const makeAutocompleteProps = propsFactory({ + autocomplete: String + }, "autocomplete"); + function useAutocomplete(props) { + const uniqueId = require$$0.useId(); + const reloadTrigger = require$$0.shallowRef(0); + const isSuppressing = require$$0.toRef(() => props.autocomplete === "suppress"); + const fieldName = require$$0.toRef(() => { + return isSuppressing.value ? `${props.name}-${uniqueId}-${reloadTrigger.value}` : props.name; + }); + const fieldAutocomplete = require$$0.toRef(() => { + return isSuppressing.value ? "off" : props.autocomplete; + }); + return { + isSuppressing, + fieldAutocomplete, + fieldName, + update: () => reloadTrigger.value = (/* @__PURE__ */ new Date()).getTime() + }; + } + function useAutofocus(props) { + function onIntersect(isIntersecting, entries2) { + if (!props.autofocus || !isIntersecting) return; + entries2[0].target?.focus?.(); + } + return { + onIntersect + }; + } + const activeTypes = ["color", "file", "time", "date", "datetime-local", "week", "month"]; + const makeVTextFieldProps = propsFactory({ + autofocus: Boolean, + counter: [Boolean, Number, String], + counterValue: [Number, Function], + prefix: String, + placeholder: String, + persistentPlaceholder: Boolean, + persistentCounter: Boolean, + suffix: String, + role: String, + type: { + type: String, + default: "text" + }, + modelModifiers: Object, + ...makeAutocompleteProps(), + ...makeVInputProps(), + ...makeVFieldProps() + }, "VTextField"); + const VTextField = genericComponent()({ + name: "VTextField", + directives: { + vIntersect: Intersect + }, + inheritAttrs: false, + props: makeVTextFieldProps(), + emits: { + "click:control": (e7) => true, + "mousedown:control": (e7) => true, + "update:focused": (focused) => true, + "update:modelValue": (val) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const { + onIntersect + } = useAutofocus(props); + const counterValue = require$$0.computed(() => { + return typeof props.counterValue === "function" ? props.counterValue(model.value) : typeof props.counterValue === "number" ? props.counterValue : (model.value ?? "").toString().length; + }); + const max3 = require$$0.computed(() => { + if (attrs.maxlength) return attrs.maxlength; + if (!props.counter || typeof props.counter !== "number" && typeof props.counter !== "string") return void 0; + return props.counter; + }); + const isPlainOrUnderlined = require$$0.computed(() => ["plain", "underlined"].includes(props.variant)); + const vInputRef = require$$0.ref(); + const vFieldRef = require$$0.ref(); + const inputRef = require$$0.ref(); + const autocomplete = useAutocomplete(props); + const isActive = require$$0.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active); + function onFocus() { + if (autocomplete.isSuppressing.value) { + autocomplete.update(); + } + if (!isFocused.value) focus2(); + require$$0.nextTick(() => { + if (inputRef.value !== document.activeElement) { + inputRef.value?.focus(); + } + }); + } + function onControlMousedown(e7) { + emit("mousedown:control", e7); + if (e7.target === inputRef.value) return; + onFocus(); + e7.preventDefault(); + } + function onControlClick(e7) { + emit("click:control", e7); + } + function onClear(e7, reset) { + e7.stopPropagation(); + onFocus(); + require$$0.nextTick(() => { + model.value = null; + reset(); + callEvent(props["onClick:clear"], e7); + }); + } + function onInput(e7) { + const el2 = e7.target; + model.value = el2.value; + if (props.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(props.type)) { + const caretPosition = [el2.selectionStart, el2.selectionEnd]; + require$$0.nextTick(() => { + el2.selectionStart = caretPosition[0]; + el2.selectionEnd = caretPosition[1]; + }); + } + } + useRender(() => { + const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null); + const hasDetails = !!(hasCounter || slots.details); + const [rootAttrs, inputAttrs] = filterInputAttrs(attrs); + const { + modelValue: _7, + ...inputProps + } = VInput.filterProps(props); + const fieldProps = VField.filterProps(props); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": vInputRef, + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-text-field", { + "v-text-field--prefixed": props.prefix, + "v-text-field--suffixed": props.suffix, + "v-input--plain-underlined": isPlainOrUnderlined.value + }, props.class], + "style": props.style + }, rootAttrs, inputProps, { + "centerAffix": !isPlainOrUnderlined.value, + "focused": isFocused.value + }), { + ...slots, + default: (_ref2) => { + let { + id: id2, + isDisabled, + isDirty, + isReadonly, + isValid: isValid2, + hasDetails: hasDetails2, + reset + } = _ref2; + return require$$0.createVNode(VField, require$$0.mergeProps({ + "ref": vFieldRef, + "onMousedown": onControlMousedown, + "onClick": onControlClick, + "onClick:clear": (e7) => onClear(e7, reset), + "onClick:prependInner": props["onClick:prependInner"], + "onClick:appendInner": props["onClick:appendInner"], + "role": props.role + }, omit(fieldProps, ["onClick:clear"]), { + "id": id2.value, + "active": isActive.value || isDirty.value, + "dirty": isDirty.value || props.dirty, + "disabled": isDisabled.value, + "focused": isFocused.value, + "details": hasDetails2.value, + "error": isValid2.value === false + }), { + ...slots, + default: (_ref3) => { + let { + props: { + class: fieldClass, + ...slotProps + } + } = _ref3; + const inputNode = require$$0.withDirectives(require$$0.createElementVNode("input", require$$0.mergeProps({ + "ref": inputRef, + "value": model.value, + "onInput": onInput, + "autofocus": props.autofocus, + "readonly": isReadonly.value, + "disabled": isDisabled.value, + "name": autocomplete.fieldName.value, + "autocomplete": autocomplete.fieldAutocomplete.value, + "placeholder": props.placeholder, + "size": 1, + "role": props.role, + "type": props.type, + "onFocus": focus2, + "onBlur": blur2 + }, slotProps, inputAttrs), null), [[Intersect, { + handler: onIntersect + }, null, { + once: true + }]]); + return require$$0.createElementVNode(require$$0.Fragment, null, [props.prefix && require$$0.createElementVNode("span", { + "class": "v-text-field__prefix" + }, [require$$0.createElementVNode("span", { + "class": "v-text-field__prefix__text" + }, [props.prefix])]), slots.default ? require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(fieldClass), + "data-no-activator": "" + }, [slots.default(), inputNode]) : require$$0.cloneVNode(inputNode, { + class: fieldClass + }), props.suffix && require$$0.createElementVNode("span", { + "class": "v-text-field__suffix" + }, [require$$0.createElementVNode("span", { + "class": "v-text-field__suffix__text" + }, [props.suffix])])]); + } + }); + }, + details: hasDetails ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [slots.details?.(slotProps), hasCounter && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("span", null, null), require$$0.createVNode(VCounter, { + "active": props.persistentCounter || isFocused.value, + "value": counterValue.value, + "max": max3.value, + "disabled": props.disabled + }, slots.counter)])]) : void 0 + }); + }); + return forwardRefs$1({}, vInputRef, vFieldRef, inputRef); + } + }); + const makeVVirtualScrollItemProps = propsFactory({ + renderless: Boolean, + ...makeComponentProps() + }, "VVirtualScrollItem"); + const VVirtualScrollItem = genericComponent()({ + name: "VVirtualScrollItem", + inheritAttrs: false, + props: makeVVirtualScrollItemProps(), + emits: { + "update:height": (height) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + resizeRef, + contentRect + } = useResizeObserver(void 0, "border"); + require$$0.watch(() => contentRect.value?.height, (height) => { + if (height != null) emit("update:height", height); + }); + useRender(() => props.renderless ? require$$0.createElementVNode(require$$0.Fragment, null, [slots.default?.({ + itemRef: resizeRef + })]) : require$$0.createElementVNode("div", require$$0.mergeProps({ + "ref": resizeRef, + "class": ["v-virtual-scroll__item", props.class], + "style": props.style + }, attrs), [slots.default?.()])); + } + }); + const UP = -1; + const DOWN = 1; + const BUFFER_PX = 100; + const makeVirtualProps = propsFactory({ + itemHeight: { + type: [Number, String], + default: null + }, + itemKey: { + type: [String, Array, Function], + default: null + }, + height: [Number, String] + }, "virtual"); + function useVirtual(props, items) { + const display = useDisplay(); + const itemHeight = require$$0.shallowRef(0); + require$$0.watchEffect(() => { + itemHeight.value = parseFloat(props.itemHeight || 0); + }); + const first2 = require$$0.shallowRef(0); + const last = require$$0.shallowRef(Math.ceil( + // Assume 16px items filling the entire screen height if + // not provided. This is probably incorrect but it minimises + // the chance of ending up with empty space at the bottom. + // The default value is set here to avoid poisoning getSize() + (parseInt(props.height) || display.height.value) / (itemHeight.value || 16) + ) || 1); + const paddingTop = require$$0.shallowRef(0); + const paddingBottom = require$$0.shallowRef(0); + const containerRef = require$$0.ref(); + const markerRef = require$$0.ref(); + let markerOffset = 0; + const { + resizeRef, + contentRect + } = useResizeObserver(); + require$$0.watchEffect(() => { + resizeRef.value = containerRef.value; + }); + const viewportHeight = require$$0.computed(() => { + return containerRef.value === document.documentElement ? display.height.value : contentRect.value?.height || parseInt(props.height) || 0; + }); + const hasInitialRender = require$$0.computed(() => { + return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value); + }); + let sizes = Array.from({ + length: items.value.length + }); + let offsets = Array.from({ + length: items.value.length + }); + const updateTime = require$$0.shallowRef(0); + let targetScrollIndex = -1; + function getSize2(index2) { + return sizes[index2] || itemHeight.value; + } + const updateOffsets = debounce(() => { + const start2 = performance.now(); + offsets[0] = 0; + const length = items.value.length; + for (let i7 = 1; i7 <= length - 1; i7++) { + offsets[i7] = (offsets[i7 - 1] || 0) + getSize2(i7 - 1); + } + updateTime.value = Math.max(updateTime.value, performance.now() - start2); + }, updateTime); + const unwatch = require$$0.watch(hasInitialRender, (v) => { + if (!v) return; + unwatch(); + markerOffset = markerRef.value.offsetTop; + updateOffsets.immediate(); + calculateVisibleItems(); + if (!~targetScrollIndex) return; + require$$0.nextTick(() => { + IN_BROWSER && window.requestAnimationFrame(() => { + scrollToIndex(targetScrollIndex); + targetScrollIndex = -1; + }); + }); + }); + require$$0.onScopeDispose(() => { + updateOffsets.clear(); + }); + function handleItemResize(index2, height) { + const prevHeight = sizes[index2]; + const prevMinHeight = itemHeight.value; + itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height; + if (prevHeight !== height || prevMinHeight !== itemHeight.value) { + sizes[index2] = height; + updateOffsets(); + } + } + function calculateOffset(index2) { + index2 = clamp$1(index2, 0, items.value.length - 1); + const whole = Math.floor(index2); + const fraction = index2 % 1; + const next = whole + 1; + const wholeOffset = offsets[whole] || 0; + const nextOffset = offsets[next] || wholeOffset; + return wholeOffset + (nextOffset - wholeOffset) * fraction; + } + function calculateIndex(scrollTop) { + return binaryClosest(offsets, scrollTop); + } + let lastScrollTop = 0; + let scrollVelocity = 0; + let lastScrollTime = 0; + require$$0.watch(viewportHeight, (val, oldVal) => { + if (oldVal) { + calculateVisibleItems(); + if (val < oldVal) { + requestAnimationFrame(() => { + scrollVelocity = 0; + calculateVisibleItems(); + }); + } + } + }); + let scrollTimeout = -1; + function handleScroll() { + if (!containerRef.value || !markerRef.value) return; + const scrollTop = containerRef.value.scrollTop; + const scrollTime = performance.now(); + const scrollDeltaT = scrollTime - lastScrollTime; + if (scrollDeltaT > 500) { + scrollVelocity = Math.sign(scrollTop - lastScrollTop); + markerOffset = markerRef.value.offsetTop; + } else { + scrollVelocity = scrollTop - lastScrollTop; + } + lastScrollTop = scrollTop; + lastScrollTime = scrollTime; + window.clearTimeout(scrollTimeout); + scrollTimeout = window.setTimeout(handleScrollend, 500); + calculateVisibleItems(); + } + function handleScrollend() { + if (!containerRef.value || !markerRef.value) return; + scrollVelocity = 0; + lastScrollTime = 0; + window.clearTimeout(scrollTimeout); + calculateVisibleItems(); + } + let raf2 = -1; + function calculateVisibleItems() { + cancelAnimationFrame(raf2); + raf2 = requestAnimationFrame(_calculateVisibleItems); + } + function _calculateVisibleItems() { + if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return; + const scrollTop = lastScrollTop - markerOffset; + const direction = Math.sign(scrollVelocity); + const startPx = Math.max(0, scrollTop - BUFFER_PX); + const start2 = clamp$1(calculateIndex(startPx), 0, items.value.length); + const endPx = scrollTop + viewportHeight.value + BUFFER_PX; + const end2 = clamp$1(calculateIndex(endPx) + 1, start2 + 1, items.value.length); + if ( + // Only update the side we're scrolling towards, + // the other side will be updated incidentally + (direction !== UP || start2 < first2.value) && (direction !== DOWN || end2 > last.value) + ) { + const topOverflow = calculateOffset(first2.value) - calculateOffset(start2); + const bottomOverflow = calculateOffset(end2) - calculateOffset(last.value); + const bufferOverflow = Math.max(topOverflow, bottomOverflow); + if (bufferOverflow > BUFFER_PX) { + first2.value = start2; + last.value = end2; + } else { + if (start2 <= 0) first2.value = start2; + if (end2 >= items.value.length) last.value = end2; + } + } + paddingTop.value = calculateOffset(first2.value); + paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value); + } + function scrollToIndex(index2) { + const offset = calculateOffset(index2); + if (!containerRef.value || index2 && !offset) { + targetScrollIndex = index2; + } else { + containerRef.value.scrollTop = offset; + } + } + const computedItems = require$$0.computed(() => { + return items.value.slice(first2.value, last.value).map((item, index2) => { + const _index = index2 + first2.value; + return { + raw: item, + index: _index, + key: getPropertyFromItem(item, props.itemKey, _index) + }; + }); + }); + require$$0.watch(items, () => { + sizes = Array.from({ + length: items.value.length + }); + offsets = Array.from({ + length: items.value.length + }); + updateOffsets.immediate(); + calculateVisibleItems(); + }, { + deep: 1 + }); + return { + calculateVisibleItems, + containerRef, + markerRef, + computedItems, + paddingTop, + paddingBottom, + scrollToIndex, + handleScroll, + handleScrollend, + handleItemResize + }; + } + function binaryClosest(arr, val) { + let high = arr.length - 1; + let low = 0; + let mid = 0; + let item = null; + let target = -1; + if (arr[high] < val) { + return high; + } + while (low <= high) { + mid = low + high >> 1; + item = arr[mid]; + if (item > val) { + high = mid - 1; + } else if (item < val) { + target = mid; + low = mid + 1; + } else if (item === val) { + return mid; + } else { + return low; + } + } + return target; + } + const makeVVirtualScrollProps = propsFactory({ + items: { + type: Array, + default: () => [] + }, + renderless: Boolean, + ...makeVirtualProps(), + ...makeComponentProps(), + ...makeDimensionProps() + }, "VVirtualScroll"); + const VVirtualScroll = genericComponent()({ + name: "VVirtualScroll", + props: makeVVirtualScrollProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const vm = getCurrentInstance("VVirtualScroll"); + const { + dimensionStyles + } = useDimension(props); + const { + calculateVisibleItems, + containerRef, + markerRef, + handleScroll, + handleScrollend, + handleItemResize, + scrollToIndex, + paddingTop, + paddingBottom, + computedItems + } = useVirtual(props, require$$0.toRef(() => props.items)); + useToggleScope(() => props.renderless, () => { + function handleListeners() { + let add2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false; + const method = add2 ? "addEventListener" : "removeEventListener"; + if (containerRef.value === document.documentElement) { + document[method]("scroll", handleScroll, { + passive: true + }); + document[method]("scrollend", handleScrollend); + } else { + containerRef.value?.[method]("scroll", handleScroll, { + passive: true + }); + containerRef.value?.[method]("scrollend", handleScrollend); + } + } + require$$0.onMounted(() => { + containerRef.value = getScrollParent(vm.vnode.el, true); + handleListeners(true); + }); + require$$0.onScopeDispose(handleListeners); + }); + useRender(() => { + const children = computedItems.value.map((item) => require$$0.createVNode(VVirtualScrollItem, { + "key": item.key, + "renderless": props.renderless, + "onUpdate:height": (height) => handleItemResize(item.index, height) + }, { + default: (slotProps) => slots.default?.({ + item: item.raw, + index: item.index, + ...slotProps + }) + })); + return props.renderless ? require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("div", { + "ref": markerRef, + "class": "v-virtual-scroll__spacer", + "style": { + paddingTop: convertToUnit(paddingTop.value) + } + }, null), children, require$$0.createElementVNode("div", { + "class": "v-virtual-scroll__spacer", + "style": { + paddingBottom: convertToUnit(paddingBottom.value) + } + }, null)]) : require$$0.createElementVNode("div", { + "ref": containerRef, + "class": require$$0.normalizeClass(["v-virtual-scroll", props.class]), + "onScrollPassive": handleScroll, + "onScrollend": handleScrollend, + "style": require$$0.normalizeStyle([dimensionStyles.value, props.style]) + }, [require$$0.createElementVNode("div", { + "ref": markerRef, + "class": "v-virtual-scroll__container", + "style": { + paddingTop: convertToUnit(paddingTop.value), + paddingBottom: convertToUnit(paddingBottom.value) + } + }, [children])]); + }); + return { + calculateVisibleItems, + scrollToIndex + }; + } + }); + function useScrolling(listRef, textFieldRef) { + const isScrolling = require$$0.shallowRef(false); + let scrollTimeout; + function onListScroll(e7) { + cancelAnimationFrame(scrollTimeout); + isScrolling.value = true; + scrollTimeout = requestAnimationFrame(() => { + scrollTimeout = requestAnimationFrame(() => { + isScrolling.value = false; + }); + }); + } + async function finishScrolling() { + await new Promise((resolve) => requestAnimationFrame(resolve)); + await new Promise((resolve) => requestAnimationFrame(resolve)); + await new Promise((resolve) => requestAnimationFrame(resolve)); + await new Promise((resolve) => { + if (isScrolling.value) { + const stop2 = require$$0.watch(isScrolling, () => { + stop2(); + resolve(); + }); + } else resolve(); + }); + } + async function onListKeydown(e7) { + if (e7.key === "Tab") { + textFieldRef.value?.focus(); + } + if (!["PageDown", "PageUp", "Home", "End"].includes(e7.key)) return; + const el2 = listRef.value?.$el; + if (!el2) return; + if (e7.key === "Home" || e7.key === "End") { + el2.scrollTo({ + top: e7.key === "Home" ? 0 : el2.scrollHeight, + behavior: "smooth" + }); + } + await finishScrolling(); + const children = el2.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)"); + if (e7.key === "PageDown" || e7.key === "Home") { + const top = el2.getBoundingClientRect().top; + for (const child of children) { + if (child.getBoundingClientRect().top >= top) { + child.focus(); + break; + } + } + } else { + const bottom = el2.getBoundingClientRect().bottom; + for (const child of [...children].reverse()) { + if (child.getBoundingClientRect().bottom <= bottom) { + child.focus(); + break; + } + } + } + } + return { + onScrollPassive: onListScroll, + onKeydown: onListKeydown + }; + } + const makeMenuActivatorProps = propsFactory({ + closeText: { + type: String, + default: "$vuetify.close" + }, + openText: { + type: String, + default: "$vuetify.open" + } + }, "autocomplete"); + function useMenuActivator(props, isOpen) { + const { + t + } = useLocale(); + const uid = require$$0.useId(); + const menuId = require$$0.computed(() => `menu-${uid}`); + const ariaExpanded = require$$0.toRef(() => require$$0.toValue(isOpen)); + const ariaControls = require$$0.toRef(() => menuId.value); + const ariaLabel = require$$0.toRef(() => t(require$$0.toValue(isOpen) ? props.closeText : props.openText)); + return { + menuId, + ariaExpanded, + ariaControls, + ariaLabel + }; + } + const makeSelectProps = propsFactory({ + chips: Boolean, + closableChips: Boolean, + eager: Boolean, + hideNoData: Boolean, + hideSelected: Boolean, + listProps: { + type: Object + }, + menu: Boolean, + menuIcon: { + type: IconValue, + default: "$dropdown" + }, + menuProps: { + type: Object + }, + multiple: Boolean, + noDataText: { + type: String, + default: "$vuetify.noDataText" + }, + openOnClear: Boolean, + itemColor: String, + noAutoScroll: Boolean, + ...makeMenuActivatorProps(), + ...makeItemsProps({ + itemChildren: false + }) + }, "Select"); + const makeVSelectProps = propsFactory({ + ...makeSelectProps(), + ...omit(makeVTextFieldProps({ + modelValue: null, + role: "combobox" + }), ["validationValue", "dirty", "appendInnerIcon"]), + ...makeTransitionProps({ + transition: { + component: VDialogTransition + } + }) + }, "VSelect"); + const VSelect = genericComponent()({ + name: "VSelect", + props: makeVSelectProps(), + emits: { + "update:focused": (focused) => true, + "update:modelValue": (value) => true, + "update:menu": (ue2) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + t + } = useLocale(); + const vTextFieldRef = require$$0.ref(); + const vMenuRef = require$$0.ref(); + const vVirtualScrollRef = require$$0.ref(); + const { + items, + transformIn, + transformOut + } = useItems(props); + const model = useProxiedModel(props, "modelValue", [], (v) => transformIn(v === null ? [null] : wrapInArray(v)), (v) => { + const transformed = transformOut(v); + return props.multiple ? transformed : transformed[0] ?? null; + }); + const counterValue = require$$0.computed(() => { + return typeof props.counterValue === "function" ? props.counterValue(model.value) : typeof props.counterValue === "number" ? props.counterValue : model.value.length; + }); + const form = useForm(props); + const selectedValues = require$$0.computed(() => model.value.map((selection) => selection.value)); + const isFocused = require$$0.shallowRef(false); + let keyboardLookupPrefix = ""; + let keyboardLookupIndex = -1; + let keyboardLookupLastTime; + const displayItems = require$$0.computed(() => { + if (props.hideSelected) { + return items.value.filter((item) => !model.value.some((s) => (props.valueComparator || deepEqual)(s, item))); + } + return items.value; + }); + const menuDisabled = require$$0.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value); + const _menu = useProxiedModel(props, "menu"); + const menu = require$$0.computed({ + get: () => _menu.value, + set: (v) => { + if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return; + if (v && menuDisabled.value) return; + _menu.value = v; + } + }); + const { + menuId, + ariaExpanded, + ariaControls, + ariaLabel + } = useMenuActivator(props, menu); + const computedMenuProps = require$$0.computed(() => { + return { + ...props.menuProps, + activatorProps: { + ...props.menuProps?.activatorProps || {}, + "aria-haspopup": "listbox" + // Set aria-haspopup to 'listbox' + } + }; + }); + const listRef = require$$0.ref(); + const listEvents = useScrolling(listRef, vTextFieldRef); + function onClear(e7) { + if (props.openOnClear) { + menu.value = true; + } + } + function onMousedownControl() { + if (menuDisabled.value) return; + menu.value = !menu.value; + } + function onListKeydown(e7) { + if (checkPrintable(e7)) { + onKeydown(e7); + } + } + function onKeydown(e7) { + if (!e7.key || form.isReadonly.value) return; + if (["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(e7.key)) { + e7.preventDefault(); + } + if (["Enter", "ArrowDown", " "].includes(e7.key)) { + menu.value = true; + } + if (["Escape", "Tab"].includes(e7.key)) { + menu.value = false; + } + if (e7.key === "Home") { + listRef.value?.focus("first"); + } else if (e7.key === "End") { + listRef.value?.focus("last"); + } + const KEYBOARD_LOOKUP_THRESHOLD = 1e3; + if (!checkPrintable(e7)) return; + const now = performance.now(); + if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) { + keyboardLookupPrefix = ""; + keyboardLookupIndex = -1; + } + keyboardLookupPrefix += e7.key.toLowerCase(); + keyboardLookupLastTime = now; + const items2 = displayItems.value; + function findItem() { + let result2 = findItemBase(); + if (result2) return result2; + if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) { + keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1); + result2 = findItemBase(); + if (result2) return result2; + } + keyboardLookupIndex = -1; + result2 = findItemBase(); + if (result2) return result2; + keyboardLookupPrefix = e7.key.toLowerCase(); + return findItemBase(); + } + function findItemBase() { + for (let i7 = keyboardLookupIndex + 1; i7 < items2.length; i7++) { + const _item = items2[i7]; + if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) { + return [_item, i7]; + } + } + return void 0; + } + const result = findItem(); + if (!result) return; + const [item, index2] = result; + keyboardLookupIndex = index2; + listRef.value?.focus(index2); + if (!props.multiple) { + model.value = [item]; + } + } + function select(item) { + let set2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + if (item.props.disabled) return; + if (props.multiple) { + const index2 = model.value.findIndex((selection) => (props.valueComparator || deepEqual)(selection.value, item.value)); + const add2 = set2 == null ? !~index2 : set2; + if (~index2) { + const value = add2 ? [...model.value, item] : [...model.value]; + value.splice(index2, 1); + model.value = value; + } else if (add2) { + model.value = [...model.value, item]; + } + } else { + const add2 = set2 !== false; + model.value = add2 ? [item] : []; + require$$0.nextTick(() => { + menu.value = false; + }); + } + } + function onBlur(e7) { + if (!listRef.value?.$el.contains(e7.relatedTarget)) { + menu.value = false; + } + } + function onAfterEnter() { + if (props.eager) { + vVirtualScrollRef.value?.calculateVisibleItems(); + } + } + function onAfterLeave() { + if (isFocused.value) { + vTextFieldRef.value?.focus(); + } + } + function onFocusin(e7) { + isFocused.value = true; + } + function onModelUpdate(v) { + if (v == null) model.value = []; + else if (matchesSelector(vTextFieldRef.value, ":autofill") || matchesSelector(vTextFieldRef.value, ":-webkit-autofill")) { + const item = items.value.find((item2) => item2.title === v); + if (item) { + select(item); + } + } else if (vTextFieldRef.value) { + vTextFieldRef.value.value = ""; + } + } + require$$0.watch(menu, () => { + if (!props.hideSelected && menu.value && model.value.length) { + const index2 = displayItems.value.findIndex((item) => model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))); + IN_BROWSER && !props.noAutoScroll && window.requestAnimationFrame(() => { + index2 >= 0 && vVirtualScrollRef.value?.scrollToIndex(index2); + }); + } + }); + require$$0.watch(() => props.items, (newVal, oldVal) => { + if (menu.value) return; + if (isFocused.value && props.hideNoData && !oldVal.length && newVal.length) { + menu.value = true; + } + }); + useRender(() => { + const hasChips = !!(props.chips || slots.chip); + const hasList = !!(!props.hideNoData || displayItems.value.length || slots["prepend-item"] || slots["append-item"] || slots["no-data"]); + const isDirty = model.value.length > 0; + const textFieldProps = VTextField.filterProps(props); + const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? void 0 : props.placeholder; + return require$$0.createVNode(VTextField, require$$0.mergeProps({ + "ref": vTextFieldRef + }, textFieldProps, { + "modelValue": model.value.map((v) => v.props.value).join(", "), + "onUpdate:modelValue": onModelUpdate, + "focused": isFocused.value, + "onUpdate:focused": ($event) => isFocused.value = $event, + "validationValue": model.externalValue, + "counterValue": counterValue.value, + "dirty": isDirty, + "class": ["v-select", { + "v-select--active-menu": menu.value, + "v-select--chips": !!props.chips, + [`v-select--${props.multiple ? "multiple" : "single"}`]: true, + "v-select--selected": model.value.length, + "v-select--selection-slot": !!slots.selection + }, props.class], + "style": props.style, + "inputmode": "none", + "placeholder": placeholder, + "onClick:clear": onClear, + "onMousedown:control": onMousedownControl, + "onBlur": onBlur, + "onKeydown": onKeydown, + "aria-expanded": ariaExpanded.value, + "aria-controls": ariaControls.value, + "aria-label": ariaLabel.value, + "title": ariaLabel.value + }), { + ...slots, + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VMenu, require$$0.mergeProps({ + "id": menuId.value, + "ref": vMenuRef, + "modelValue": menu.value, + "onUpdate:modelValue": ($event) => menu.value = $event, + "activator": "parent", + "contentClass": "v-select__content", + "disabled": menuDisabled.value, + "eager": props.eager, + "maxHeight": 310, + "openOnClick": false, + "closeOnContentClick": false, + "transition": props.transition, + "onAfterEnter": onAfterEnter, + "onAfterLeave": onAfterLeave + }, computedMenuProps.value), { + default: () => [hasList && require$$0.createVNode(VList, require$$0.mergeProps({ + "ref": listRef, + "selected": selectedValues.value, + "selectStrategy": props.multiple ? "independent" : "single-independent", + "onMousedown": (e7) => e7.preventDefault(), + "onKeydown": onListKeydown, + "onFocusin": onFocusin, + "tabindex": "-1", + "selectable": true, + "aria-live": "polite", + "aria-label": `${props.label}-list`, + "color": props.itemColor ?? props.color + }, listEvents, props.listProps), { + default: () => [slots["prepend-item"]?.(), !displayItems.value.length && !props.hideNoData && (slots["no-data"]?.() ?? require$$0.createVNode(VListItem, { + "key": "no-data", + "title": t(props.noDataText) + }, null)), require$$0.createVNode(VVirtualScroll, { + "ref": vVirtualScrollRef, + "renderless": true, + "items": displayItems.value, + "itemKey": "value" + }, { + default: (_ref2) => { + let { + item, + index: index2, + itemRef + } = _ref2; + const camelizedProps = camelizeProps(item.props); + const itemProps = require$$0.mergeProps(item.props, { + ref: itemRef, + key: item.value, + onClick: () => select(item, null) + }); + if (item.type === "divider") { + return slots.divider?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VDivider, require$$0.mergeProps(item.props, { + "key": `divider-${index2}` + }), null); + } + if (item.type === "subheader") { + return slots.subheader?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VListSubheader, require$$0.mergeProps(item.props, { + "key": `subheader-${index2}` + }), null); + } + return slots.item?.({ + item, + index: index2, + props: itemProps + }) ?? require$$0.createVNode(VListItem, require$$0.mergeProps(itemProps, { + "role": "option" + }), { + prepend: (_ref3) => { + let { + isSelected + } = _ref3; + return require$$0.createElementVNode(require$$0.Fragment, null, [props.multiple && !props.hideSelected ? require$$0.createVNode(VCheckboxBtn, { + "key": item.value, + "modelValue": isSelected, + "ripple": false, + "tabindex": "-1" + }, null) : void 0, camelizedProps.prependAvatar && require$$0.createVNode(VAvatar, { + "image": camelizedProps.prependAvatar + }, null), camelizedProps.prependIcon && require$$0.createVNode(VIcon, { + "icon": camelizedProps.prependIcon + }, null)]); + } + }); + } + }), slots["append-item"]?.()] + })] + }), model.value.map((item, index2) => { + function onChipClose(e7) { + e7.stopPropagation(); + e7.preventDefault(); + select(item, false); + } + const slotProps = { + "onClick:close": onChipClose, + onKeydown(e7) { + if (e7.key !== "Enter" && e7.key !== " ") return; + e7.preventDefault(); + e7.stopPropagation(); + onChipClose(e7); + }, + onMousedown(e7) { + e7.preventDefault(); + e7.stopPropagation(); + }, + modelValue: true, + "onUpdate:modelValue": void 0 + }; + const hasSlot = hasChips ? !!slots.chip : !!slots.selection; + const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({ + item, + index: index2, + props: slotProps + }) : slots.selection({ + item, + index: index2 + })) : void 0; + if (hasSlot && !slotContent) return void 0; + return require$$0.createElementVNode("div", { + "key": item.value, + "class": "v-select__selection" + }, [hasChips ? !slots.chip ? require$$0.createVNode(VChip, require$$0.mergeProps({ + "key": "chip", + "closable": props.closableChips, + "size": "small", + "text": item.title, + "disabled": item.props.disabled + }, slotProps), null) : require$$0.createVNode(VDefaultsProvider, { + "key": "chip-defaults", + "defaults": { + VChip: { + closable: props.closableChips, + size: "small", + text: item.title + } + } + }, { + default: () => [slotContent] + }) : slotContent ?? require$$0.createElementVNode("span", { + "class": "v-select__selection-text" + }, [item.title, props.multiple && index2 < model.value.length - 1 && require$$0.createElementVNode("span", { + "class": "v-select__selection-comma" + }, [require$$0.createTextVNode(",")])])]); + })]), + "append-inner": function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createElementVNode(require$$0.Fragment, null, [slots["append-inner"]?.(...args), props.menuIcon ? require$$0.createVNode(VIcon, { + "class": "v-select__menu-icon", + "color": vTextFieldRef.value?.fieldIconColor, + "icon": props.menuIcon + }, null) : void 0]); + } + }); + }); + return forwardRefs$1({ + isFocused, + menu, + select + }, vTextFieldRef); + } + }); + const defaultFilter = (value, query, item) => { + if (value == null || query == null) return -1; + if (!query.length) return 0; + value = value.toString().toLocaleLowerCase(); + query = query.toString().toLocaleLowerCase(); + const result = []; + let idx = value.indexOf(query); + while (~idx) { + result.push([idx, idx + query.length]); + idx = value.indexOf(query, idx + query.length); + } + return result.length ? result : -1; + }; + function normaliseMatch(match2, query) { + if (match2 == null || typeof match2 === "boolean" || match2 === -1) return; + if (typeof match2 === "number") return [[match2, match2 + query.length]]; + if (Array.isArray(match2[0])) return match2; + return [match2]; + } + const makeFilterProps = propsFactory({ + customFilter: Function, + customKeyFilter: Object, + filterKeys: [Array, String], + filterMode: { + type: String, + default: "intersection" + }, + noFilter: Boolean + }, "filter"); + function filterItems(items, query, options) { + const array = []; + const filter2 = options?.default ?? defaultFilter; + const keys2 = options?.filterKeys ? wrapInArray(options.filterKeys) : false; + const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length; + if (!items?.length) return array; + let lookAheadItem = null; + loop: for (let i7 = 0; i7 < items.length; i7++) { + const [item, transformed = item] = wrapInArray(items[i7]); + const customMatches = {}; + const defaultMatches = {}; + let match2 = -1; + if ((query || customFiltersLength > 0) && !options?.noFilter) { + let hasOnlyCustomFilters = false; + if (typeof item === "object") { + if (item.type === "divider" || item.type === "subheader") { + if (lookAheadItem?.type === "divider" && item.type === "subheader") { + array.push(lookAheadItem); + } + lookAheadItem = { + index: i7, + matches: {}, + type: item.type + }; + continue; + } + const filterKeys = keys2 || Object.keys(transformed); + hasOnlyCustomFilters = filterKeys.length === customFiltersLength; + for (const key of filterKeys) { + const value = getPropertyFromItem(transformed, key); + const keyFilter = options?.customKeyFilter?.[key]; + match2 = keyFilter ? keyFilter(value, query, item) : filter2(value, query, item); + if (match2 !== -1 && match2 !== false) { + if (keyFilter) customMatches[key] = normaliseMatch(match2, query); + else defaultMatches[key] = normaliseMatch(match2, query); + } else if (options?.filterMode === "every") { + continue loop; + } + } + } else { + match2 = filter2(item, query, item); + if (match2 !== -1 && match2 !== false) { + defaultMatches.title = normaliseMatch(match2, query); + } + } + const defaultMatchesLength = Object.keys(defaultMatches).length; + const customMatchesLength = Object.keys(customMatches).length; + if (!defaultMatchesLength && !customMatchesLength) continue; + if (options?.filterMode === "union" && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue; + if (options?.filterMode === "intersection" && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue; + } + if (lookAheadItem) { + array.push(lookAheadItem); + lookAheadItem = null; + } + array.push({ + index: i7, + matches: { + ...defaultMatches, + ...customMatches + } + }); + } + return array; + } + function useFilter(props, items, query, options) { + const filteredItems = require$$0.shallowRef([]); + const filteredMatches = require$$0.shallowRef(/* @__PURE__ */ new Map()); + const transformedItems = require$$0.computed(() => options?.transform ? require$$0.unref(items).map((item) => [item, options.transform(item)]) : require$$0.unref(items)); + require$$0.watchEffect(() => { + const _query = typeof query === "function" ? query() : require$$0.unref(query); + const strQuery = typeof _query !== "string" && typeof _query !== "number" ? "" : String(_query); + const results = filterItems(transformedItems.value, strQuery, { + customKeyFilter: { + ...props.customKeyFilter, + ...require$$0.unref(options?.customKeyFilter) + }, + default: props.customFilter, + filterKeys: props.filterKeys, + filterMode: props.filterMode, + noFilter: props.noFilter + }); + const originalItems = require$$0.unref(items); + const _filteredItems = []; + const _filteredMatches = /* @__PURE__ */ new Map(); + results.forEach((_ref) => { + let { + index: index2, + matches: matches2 + } = _ref; + const item = originalItems[index2]; + _filteredItems.push(item); + _filteredMatches.set(item.value, matches2); + }); + filteredItems.value = _filteredItems; + filteredMatches.value = _filteredMatches; + }); + function getMatches(item) { + return filteredMatches.value.get(item.value); + } + return { + filteredItems, + filteredMatches, + getMatches + }; + } + function highlightResult(name, text2, matches2) { + if (matches2 == null || !matches2.length) return text2; + return matches2.map((match2, i7) => { + const start2 = i7 === 0 ? 0 : matches2[i7 - 1][1]; + const result = [require$$0.createElementVNode("span", { + "class": require$$0.normalizeClass(`${name}__unmask`) + }, [text2.slice(start2, match2[0])]), require$$0.createElementVNode("span", { + "class": require$$0.normalizeClass(`${name}__mask`) + }, [text2.slice(match2[0], match2[1])])]; + if (i7 === matches2.length - 1) { + result.push(require$$0.createElementVNode("span", { + "class": require$$0.normalizeClass(`${name}__unmask`) + }, [text2.slice(match2[1])])); + } + return require$$0.createElementVNode(require$$0.Fragment, null, [result]); + }); + } + const makeVAutocompleteProps = propsFactory({ + autoSelectFirst: { + type: [Boolean, String] + }, + clearOnSelect: Boolean, + search: String, + ...makeFilterProps({ + filterKeys: ["title"] + }), + ...makeSelectProps(), + ...omit(makeVTextFieldProps({ + modelValue: null, + role: "combobox" + }), ["validationValue", "dirty", "appendInnerIcon"]), + ...makeTransitionProps({ + transition: false + }) + }, "VAutocomplete"); + const VAutocomplete = genericComponent()({ + name: "VAutocomplete", + props: makeVAutocompleteProps(), + emits: { + "update:focused": (focused) => true, + "update:search": (value) => true, + "update:modelValue": (value) => true, + "update:menu": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + t + } = useLocale(); + const vTextFieldRef = require$$0.ref(); + const isFocused = require$$0.shallowRef(false); + const isPristine = require$$0.shallowRef(true); + const listHasFocus = require$$0.shallowRef(false); + const vMenuRef = require$$0.ref(); + const vVirtualScrollRef = require$$0.ref(); + const selectionIndex = require$$0.shallowRef(-1); + const { + items, + transformIn, + transformOut + } = useItems(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => vTextFieldRef.value?.color); + const search = useProxiedModel(props, "search", ""); + const model = useProxiedModel(props, "modelValue", [], (v) => transformIn(v === null ? [null] : wrapInArray(v)), (v) => { + const transformed = transformOut(v); + return props.multiple ? transformed : transformed[0] ?? null; + }); + const counterValue = require$$0.computed(() => { + return typeof props.counterValue === "function" ? props.counterValue(model.value) : typeof props.counterValue === "number" ? props.counterValue : model.value.length; + }); + const form = useForm(props); + const { + filteredItems, + getMatches + } = useFilter(props, items, () => isPristine.value ? "" : search.value); + const displayItems = require$$0.computed(() => { + if (props.hideSelected) { + return filteredItems.value.filter((filteredItem) => !model.value.some((s) => s.value === filteredItem.value)); + } + return filteredItems.value; + }); + const hasChips = require$$0.computed(() => !!(props.chips || slots.chip)); + const hasSelectionSlot = require$$0.computed(() => hasChips.value || !!slots.selection); + const selectedValues = require$$0.computed(() => model.value.map((selection) => selection.props.value)); + const highlightFirst = require$$0.computed(() => { + const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === "exact" && search.value === displayItems.value[0]?.title; + return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value; + }); + const menuDisabled = require$$0.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value); + const _menu = useProxiedModel(props, "menu"); + const menu = require$$0.computed({ + get: () => _menu.value, + set: (v) => { + if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return; + if (v && menuDisabled.value) return; + _menu.value = v; + } + }); + const { + menuId, + ariaExpanded, + ariaControls, + ariaLabel + } = useMenuActivator(props, menu); + const listRef = require$$0.ref(); + const listEvents = useScrolling(listRef, vTextFieldRef); + function onClear(e7) { + if (props.openOnClear) { + menu.value = true; + } + search.value = ""; + } + function onMousedownControl() { + if (menuDisabled.value) return; + menu.value = true; + } + function onMousedownMenuIcon(e7) { + if (menuDisabled.value) return; + if (isFocused.value) { + e7.preventDefault(); + e7.stopPropagation(); + } + menu.value = !menu.value; + } + function onListKeydown(e7) { + if (checkPrintable(e7) || e7.key === "Backspace") { + vTextFieldRef.value?.focus(); + } + } + function onKeydown(e7) { + if (form.isReadonly.value) return; + const selectionStart = vTextFieldRef.value?.selectionStart; + const length = model.value.length; + if (["Enter", "ArrowDown", "ArrowUp"].includes(e7.key)) { + e7.preventDefault(); + } + if (["Enter", "ArrowDown"].includes(e7.key)) { + menu.value = true; + } + if (["Escape"].includes(e7.key)) { + menu.value = false; + } + if (highlightFirst.value && ["Enter", "Tab"].includes(e7.key) && !model.value.some((_ref2) => { + let { + value + } = _ref2; + return value === displayItems.value[0].value; + })) { + select(displayItems.value[0]); + } + if (e7.key === "ArrowDown" && highlightFirst.value) { + listRef.value?.focus("next"); + } + if (["Backspace", "Delete"].includes(e7.key)) { + if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false); + if (~selectionIndex.value) { + e7.preventDefault(); + const originalSelectionIndex = selectionIndex.value; + select(model.value[selectionIndex.value], false); + selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex; + } else if (e7.key === "Backspace" && !search.value) { + selectionIndex.value = length - 1; + } + return; + } + if (!props.multiple) return; + if (e7.key === "ArrowLeft") { + if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return; + const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1; + if (model.value[prev]) { + selectionIndex.value = prev; + } else { + const searchLength = search.value?.length ?? null; + selectionIndex.value = -1; + vTextFieldRef.value?.setSelectionRange(searchLength, searchLength); + } + } else if (e7.key === "ArrowRight") { + if (selectionIndex.value < 0) return; + const next = selectionIndex.value + 1; + if (model.value[next]) { + selectionIndex.value = next; + } else { + selectionIndex.value = -1; + vTextFieldRef.value?.setSelectionRange(0, 0); + } + } else if (~selectionIndex.value && checkPrintable(e7)) { + selectionIndex.value = -1; + } + } + function onChange(e7) { + if (matchesSelector(vTextFieldRef.value, ":autofill") || matchesSelector(vTextFieldRef.value, ":-webkit-autofill")) { + const item = items.value.find((item2) => item2.title === e7.target.value); + if (item) { + select(item); + } + } + } + function onAfterEnter() { + if (props.eager) { + vVirtualScrollRef.value?.calculateVisibleItems(); + } + } + function onAfterLeave() { + if (isFocused.value) { + isPristine.value = true; + vTextFieldRef.value?.focus(); + } + } + function onFocusin(e7) { + isFocused.value = true; + setTimeout(() => { + listHasFocus.value = true; + }); + } + function onFocusout(e7) { + listHasFocus.value = false; + } + function onUpdateModelValue(v) { + if (v == null || v === "" && !props.multiple && !hasSelectionSlot.value) model.value = []; + } + const isSelecting = require$$0.shallowRef(false); + function select(item) { + let set2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + if (!item || item.props.disabled) return; + if (props.multiple) { + const index2 = model.value.findIndex((selection) => (props.valueComparator || deepEqual)(selection.value, item.value)); + const add2 = set2 == null ? !~index2 : set2; + if (~index2) { + const value = add2 ? [...model.value, item] : [...model.value]; + value.splice(index2, 1); + model.value = value; + } else if (add2) { + model.value = [...model.value, item]; + } + if (props.clearOnSelect) { + search.value = ""; + } + } else { + const add2 = set2 !== false; + model.value = add2 ? [item] : []; + search.value = add2 && !hasSelectionSlot.value ? item.title : ""; + require$$0.nextTick(() => { + menu.value = false; + isPristine.value = true; + }); + } + } + require$$0.watch(isFocused, (val, oldVal) => { + if (val === oldVal) return; + if (val) { + isSelecting.value = true; + search.value = props.multiple || hasSelectionSlot.value ? "" : String(model.value.at(-1)?.props.title ?? ""); + isPristine.value = true; + require$$0.nextTick(() => isSelecting.value = false); + } else { + if (!props.multiple && search.value == null) model.value = []; + menu.value = false; + if (props.multiple || hasSelectionSlot.value) search.value = ""; + selectionIndex.value = -1; + } + }); + require$$0.watch(search, (val) => { + if (!isFocused.value || isSelecting.value) return; + if (val) menu.value = true; + isPristine.value = !val; + }); + require$$0.watch(menu, () => { + if (!props.hideSelected && menu.value && model.value.length) { + const index2 = displayItems.value.findIndex((item) => model.value.some((s) => item.value === s.value)); + IN_BROWSER && window.requestAnimationFrame(() => { + index2 >= 0 && vVirtualScrollRef.value?.scrollToIndex(index2); + }); + } + }); + require$$0.watch(() => props.items, (newVal, oldVal) => { + if (menu.value) return; + if (isFocused.value && !oldVal.length && newVal.length) { + menu.value = true; + } + }); + useRender(() => { + const hasList = !!(!props.hideNoData || displayItems.value.length || slots["prepend-item"] || slots["append-item"] || slots["no-data"]); + const isDirty = model.value.length > 0; + const textFieldProps = VTextField.filterProps(props); + return require$$0.createVNode(VTextField, require$$0.mergeProps({ + "ref": vTextFieldRef + }, textFieldProps, { + "modelValue": search.value, + "onUpdate:modelValue": [($event) => search.value = $event, onUpdateModelValue], + "focused": isFocused.value, + "onUpdate:focused": ($event) => isFocused.value = $event, + "validationValue": model.externalValue, + "counterValue": counterValue.value, + "dirty": isDirty, + "onChange": onChange, + "class": ["v-autocomplete", `v-autocomplete--${props.multiple ? "multiple" : "single"}`, { + "v-autocomplete--active-menu": menu.value, + "v-autocomplete--chips": !!props.chips, + "v-autocomplete--selection-slot": !!hasSelectionSlot.value, + "v-autocomplete--selecting-index": selectionIndex.value > -1 + }, props.class], + "style": props.style, + "readonly": form.isReadonly.value, + "placeholder": isDirty ? void 0 : props.placeholder, + "onClick:clear": onClear, + "onMousedown:control": onMousedownControl, + "onKeydown": onKeydown, + "aria-expanded": ariaExpanded.value, + "aria-controls": ariaControls.value + }), { + ...slots, + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VMenu, require$$0.mergeProps({ + "id": menuId.value, + "ref": vMenuRef, + "modelValue": menu.value, + "onUpdate:modelValue": ($event) => menu.value = $event, + "activator": "parent", + "contentClass": "v-autocomplete__content", + "disabled": menuDisabled.value, + "eager": props.eager, + "maxHeight": 310, + "openOnClick": false, + "closeOnContentClick": false, + "transition": props.transition, + "onAfterEnter": onAfterEnter, + "onAfterLeave": onAfterLeave + }, props.menuProps), { + default: () => [hasList && require$$0.createVNode(VList, require$$0.mergeProps({ + "ref": listRef, + "filterable": true, + "selected": selectedValues.value, + "selectStrategy": props.multiple ? "independent" : "single-independent", + "onMousedown": (e7) => e7.preventDefault(), + "onKeydown": onListKeydown, + "onFocusin": onFocusin, + "onFocusout": onFocusout, + "tabindex": "-1", + "selectable": true, + "aria-live": "polite", + "color": props.itemColor ?? props.color + }, listEvents, props.listProps), { + default: () => [slots["prepend-item"]?.(), !displayItems.value.length && !props.hideNoData && (slots["no-data"]?.() ?? require$$0.createVNode(VListItem, { + "key": "no-data", + "title": t(props.noDataText) + }, null)), require$$0.createVNode(VVirtualScroll, { + "ref": vVirtualScrollRef, + "renderless": true, + "items": displayItems.value, + "itemKey": "value" + }, { + default: (_ref3) => { + let { + item, + index: index2, + itemRef + } = _ref3; + const itemProps = require$$0.mergeProps(item.props, { + ref: itemRef, + key: item.value, + active: highlightFirst.value && index2 === 0 ? true : void 0, + onClick: () => select(item, null) + }); + if (item.type === "divider") { + return slots.divider?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VDivider, require$$0.mergeProps(item.props, { + "key": `divider-${index2}` + }), null); + } + if (item.type === "subheader") { + return slots.subheader?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VListSubheader, require$$0.mergeProps(item.props, { + "key": `subheader-${index2}` + }), null); + } + return slots.item?.({ + item, + index: index2, + props: itemProps + }) ?? require$$0.createVNode(VListItem, require$$0.mergeProps(itemProps, { + "role": "option" + }), { + prepend: (_ref4) => { + let { + isSelected + } = _ref4; + return require$$0.createElementVNode(require$$0.Fragment, null, [props.multiple && !props.hideSelected ? require$$0.createVNode(VCheckboxBtn, { + "key": item.value, + "modelValue": isSelected, + "ripple": false, + "tabindex": "-1" + }, null) : void 0, item.props.prependAvatar && require$$0.createVNode(VAvatar, { + "image": item.props.prependAvatar + }, null), item.props.prependIcon && require$$0.createVNode(VIcon, { + "icon": item.props.prependIcon + }, null)]); + }, + title: () => { + return isPristine.value ? item.title : highlightResult("v-autocomplete", item.title, getMatches(item)?.title); + } + }); + } + }), slots["append-item"]?.()] + })] + }), model.value.map((item, index2) => { + function onChipClose(e7) { + e7.stopPropagation(); + e7.preventDefault(); + select(item, false); + } + const slotProps = { + "onClick:close": onChipClose, + onKeydown(e7) { + if (e7.key !== "Enter" && e7.key !== " ") return; + e7.preventDefault(); + e7.stopPropagation(); + onChipClose(e7); + }, + onMousedown(e7) { + e7.preventDefault(); + e7.stopPropagation(); + }, + modelValue: true, + "onUpdate:modelValue": void 0 + }; + const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection; + const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({ + item, + index: index2, + props: slotProps + }) : slots.selection({ + item, + index: index2 + })) : void 0; + if (hasSlot && !slotContent) return void 0; + return require$$0.createElementVNode("div", { + "key": item.value, + "class": require$$0.normalizeClass(["v-autocomplete__selection", index2 === selectionIndex.value && ["v-autocomplete__selection--selected", textColorClasses.value]]), + "style": require$$0.normalizeStyle(index2 === selectionIndex.value ? textColorStyles.value : {}) + }, [hasChips.value ? !slots.chip ? require$$0.createVNode(VChip, require$$0.mergeProps({ + "key": "chip", + "closable": props.closableChips, + "size": "small", + "text": item.title, + "disabled": item.props.disabled + }, slotProps), null) : require$$0.createVNode(VDefaultsProvider, { + "key": "chip-defaults", + "defaults": { + VChip: { + closable: props.closableChips, + size: "small", + text: item.title + } + } + }, { + default: () => [slotContent] + }) : slotContent ?? require$$0.createElementVNode("span", { + "class": "v-autocomplete__selection-text" + }, [item.title, props.multiple && index2 < model.value.length - 1 && require$$0.createElementVNode("span", { + "class": "v-autocomplete__selection-comma" + }, [require$$0.createTextVNode(",")])])]); + })]), + "append-inner": function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createElementVNode(require$$0.Fragment, null, [slots["append-inner"]?.(...args), props.menuIcon ? require$$0.createVNode(VIcon, { + "class": "v-autocomplete__menu-icon", + "color": vTextFieldRef.value?.fieldIconColor, + "icon": props.menuIcon, + "onMousedown": onMousedownMenuIcon, + "onClick": noop$2, + "aria-label": ariaLabel.value, + "title": ariaLabel.value, + "tabindex": "-1" + }, null) : void 0]); + } + }); + }); + return forwardRefs$1({ + isFocused, + isPristine, + menu, + search, + filteredItems, + select + }, vTextFieldRef); + } + }); + const makeVBadgeProps = propsFactory({ + bordered: Boolean, + color: String, + content: [Number, String], + dot: Boolean, + floating: Boolean, + icon: IconValue, + inline: Boolean, + label: { + type: String, + default: "$vuetify.badge" + }, + max: [Number, String], + modelValue: { + type: Boolean, + default: true + }, + offsetX: [Number, String], + offsetY: [Number, String], + textColor: String, + ...makeComponentProps(), + ...makeLocationProps({ + location: "top end" + }), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeTransitionProps({ + transition: "scale-rotate-transition" + }), + ...makeDimensionProps() + }, "VBadge"); + const VBadge = genericComponent()({ + name: "VBadge", + inheritAttrs: false, + props: makeVBadgeProps(), + setup(props, ctx) { + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + roundedClasses + } = useRounded(props); + const { + t + } = useLocale(); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.textColor); + const { + themeClasses + } = useTheme(); + const { + locationStyles + } = useLocation(props, true, (side) => { + const base2 = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12; + return base2 + (["top", "bottom"].includes(side) ? Number(props.offsetY ?? 0) : ["left", "right"].includes(side) ? Number(props.offsetX ?? 0) : 0); + }); + const { + dimensionStyles + } = useDimension(props); + useRender(() => { + const value = Number(props.content); + const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`; + const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ["aria-atomic", "aria-label", "aria-live", "role", "title"]); + return require$$0.createVNode(props.tag, require$$0.mergeProps({ + "class": ["v-badge", { + "v-badge--bordered": props.bordered, + "v-badge--dot": props.dot, + "v-badge--floating": props.floating, + "v-badge--inline": props.inline + }, props.class] + }, attrs, { + "style": props.style + }), { + default: () => [require$$0.createElementVNode("div", { + "class": "v-badge__wrapper" + }, [ctx.slots.default?.(), require$$0.createVNode(MaybeTransition, { + "transition": props.transition + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("span", require$$0.mergeProps({ + "class": ["v-badge__badge", themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value], + "style": [backgroundColorStyles.value, textColorStyles.value, dimensionStyles.value, props.inline ? {} : locationStyles.value], + "aria-atomic": "true", + "aria-label": t(props.label, value), + "aria-live": "polite", + "role": "status" + }, badgeAttrs), [props.dot ? void 0 : ctx.slots.badge ? ctx.slots.badge?.() : props.icon ? require$$0.createVNode(VIcon, { + "icon": props.icon + }, null) : content]), [[require$$0.vShow, props.modelValue]])] + })])] + }); + }); + return {}; + } + }); + const makeVBannerActionsProps = propsFactory({ + color: String, + density: String, + ...makeComponentProps() + }, "VBannerActions"); + const VBannerActions = genericComponent()({ + name: "VBannerActions", + props: makeVBannerActionsProps(), + setup(props, _ref) { + let { + slots + } = _ref; + provideDefaults({ + VBtn: { + color: props.color, + density: props.density, + slim: true, + variant: "text" + } + }); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-banner-actions", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots.default?.()])); + return {}; + } + }); + const VBannerText = createSimpleFunctional("v-banner-text"); + const makeVBannerProps = propsFactory({ + avatar: String, + bgColor: String, + color: String, + icon: IconValue, + lines: String, + stacked: Boolean, + sticky: Boolean, + text: String, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeDisplayProps({ + mobile: null + }), + ...makeElevationProps(), + ...makeLocationProps(), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VBanner"); + const VBanner = genericComponent()({ + name: "VBanner", + props: makeVBannerProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + borderClasses + } = useBorder(props); + const { + densityClasses + } = useDensity(props); + const { + displayClasses, + mobile + } = useDisplay(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + locationStyles + } = useLocation(props); + const { + positionClasses + } = usePosition(props); + const { + roundedClasses + } = useRounded(props); + const { + themeClasses + } = provideTheme(props); + const color = require$$0.toRef(() => props.color); + const density = require$$0.toRef(() => props.density); + provideDefaults({ + VBannerActions: { + color, + density + } + }); + useRender(() => { + const hasText = !!(props.text || slots.text); + const hasPrependMedia = !!(props.avatar || props.icon); + const hasPrepend = !!(hasPrependMedia || slots.prepend); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-banner", { + "v-banner--stacked": props.stacked || mobile.value, + "v-banner--sticky": props.sticky, + [`v-banner--${props.lines}-line`]: !!props.lines + }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]), + "role": "banner" + }, { + default: () => [hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-banner__prepend" + }, [!slots.prepend ? require$$0.createVNode(VAvatar, { + "key": "prepend-avatar", + "color": color.value, + "density": density.value, + "icon": props.icon, + "image": props.avatar + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !hasPrependMedia, + "defaults": { + VAvatar: { + color: color.value, + density: density.value, + icon: props.icon, + image: props.avatar + } + } + }, slots.prepend)]), require$$0.createElementVNode("div", { + "class": "v-banner__content" + }, [hasText && require$$0.createVNode(VBannerText, { + "key": "text" + }, { + default: () => [slots.text?.() ?? props.text] + }), slots.default?.()]), slots.actions && require$$0.createVNode(VBannerActions, { + "key": "actions" + }, slots.actions)] + }); + }); + } + }); + const makeVBottomNavigationProps = propsFactory({ + baseColor: String, + bgColor: String, + color: String, + grow: Boolean, + mode: { + type: String, + validator: (v) => !v || ["horizontal", "shift"].includes(v) + }, + height: { + type: [Number, String], + default: 56 + }, + active: { + type: Boolean, + default: true + }, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeLayoutItemProps({ + name: "bottom-navigation" + }), + ...makeTagProps({ + tag: "header" + }), + ...makeGroupProps({ + selectedClass: "v-btn--selected" + }), + ...makeThemeProps() + }, "VBottomNavigation"); + const VBottomNavigation = genericComponent()({ + name: "VBottomNavigation", + props: makeVBottomNavigationProps(), + emits: { + "update:active": (value) => true, + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = useTheme(); + const { + borderClasses + } = useBorder(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + densityClasses + } = useDensity(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const { + ssrBootStyles + } = useSsrBoot(); + const height = require$$0.computed(() => Number(props.height) - (props.density === "comfortable" ? 8 : 0) - (props.density === "compact" ? 16 : 0)); + const isActive = useProxiedModel(props, "active", props.active); + const { + layoutItemStyles + } = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: require$$0.toRef(() => "bottom"), + layoutSize: require$$0.toRef(() => isActive.value ? height.value : 0), + elementSize: height, + active: isActive, + absolute: require$$0.toRef(() => props.absolute) + }); + useGroup(props, VBtnToggleSymbol); + provideDefaults({ + VBtn: { + baseColor: require$$0.toRef(() => props.baseColor), + color: require$$0.toRef(() => props.color), + density: require$$0.toRef(() => props.density), + stacked: require$$0.toRef(() => props.mode !== "horizontal"), + variant: "text" + } + }, { + scoped: true + }); + useRender(() => { + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-bottom-navigation", { + "v-bottom-navigation--active": isActive.value, + "v-bottom-navigation--grow": props.grow, + "v-bottom-navigation--shift": props.mode === "shift" + }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, { + height: convertToUnit(height.value) + }, ssrBootStyles.value, props.style]) + }, { + default: () => [slots.default && require$$0.createElementVNode("div", { + "class": "v-bottom-navigation__content" + }, [slots.default()])] + }); + }); + return {}; + } + }); + const makeVDialogProps = propsFactory({ + fullscreen: Boolean, + retainFocus: { + type: Boolean, + default: true + }, + scrollable: Boolean, + ...makeVOverlayProps({ + origin: "center center", + scrollStrategy: "block", + transition: { + component: VDialogTransition + }, + zIndex: 2400 + }) + }, "VDialog"); + const VDialog = genericComponent()({ + name: "VDialog", + props: makeVDialogProps(), + emits: { + "update:modelValue": (value) => true, + afterEnter: () => true, + afterLeave: () => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + const { + scopeId + } = useScopeId(); + const overlay = require$$0.ref(); + function onFocusin(e7) { + const before = e7.relatedTarget; + const after = e7.target; + if (before !== after && overlay.value?.contentEl && // We're the topmost dialog + overlay.value?.globalTop && // It isn't the document or the dialog body + ![document, overlay.value.contentEl].includes(after) && // It isn't inside the dialog body + !overlay.value.contentEl.contains(after)) { + const focusable = focusableChildren(overlay.value.contentEl); + if (!focusable.length) return; + const firstElement = focusable[0]; + const lastElement = focusable[focusable.length - 1]; + if (before === firstElement) { + lastElement.focus(); + } else { + firstElement.focus(); + } + } + } + require$$0.onBeforeUnmount(() => { + document.removeEventListener("focusin", onFocusin); + }); + if (IN_BROWSER) { + require$$0.watch(() => isActive.value && props.retainFocus, (val) => { + val ? document.addEventListener("focusin", onFocusin) : document.removeEventListener("focusin", onFocusin); + }, { + immediate: true + }); + } + function onAfterEnter() { + emit("afterEnter"); + if ((props.scrim || props.retainFocus) && overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) { + overlay.value.contentEl.focus({ + preventScroll: true + }); + } + } + function onAfterLeave() { + emit("afterLeave"); + } + require$$0.watch(isActive, async (val) => { + if (!val) { + await require$$0.nextTick(); + overlay.value.activatorEl?.focus({ + preventScroll: true + }); + } + }); + useRender(() => { + const overlayProps = VOverlay.filterProps(props); + const activatorProps = require$$0.mergeProps({ + "aria-haspopup": "dialog" + }, props.activatorProps); + const contentProps = require$$0.mergeProps({ + tabindex: -1 + }, props.contentProps); + return require$$0.createVNode(VOverlay, require$$0.mergeProps({ + "ref": overlay, + "class": ["v-dialog", { + "v-dialog--fullscreen": props.fullscreen, + "v-dialog--scrollable": props.scrollable + }, props.class], + "style": props.style + }, overlayProps, { + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "aria-modal": "true", + "activatorProps": activatorProps, + "contentProps": contentProps, + "height": !props.fullscreen ? props.height : void 0, + "width": !props.fullscreen ? props.width : void 0, + "maxHeight": !props.fullscreen ? props.maxHeight : void 0, + "maxWidth": !props.fullscreen ? props.maxWidth : void 0, + "role": "dialog", + "onAfterEnter": onAfterEnter, + "onAfterLeave": onAfterLeave + }, scopeId), { + activator: slots.activator, + default: function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createVNode(VDefaultsProvider, { + "root": "VDialog" + }, { + default: () => [slots.default?.(...args)] + }); + } + }); + }); + return forwardRefs$1({}, overlay); + } + }); + const makeVBottomSheetProps = propsFactory({ + inset: Boolean, + ...makeVDialogProps({ + transition: "bottom-sheet-transition" + }) + }, "VBottomSheet"); + const VBottomSheet = genericComponent()({ + name: "VBottomSheet", + props: makeVBottomSheetProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + useRender(() => { + const dialogProps = VDialog.filterProps(props); + return require$$0.createVNode(VDialog, require$$0.mergeProps(dialogProps, { + "contentClass": ["v-bottom-sheet__content", props.contentClass], + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "class": ["v-bottom-sheet", { + "v-bottom-sheet--inset": props.inset + }, props.class], + "style": props.style + }), slots); + }); + return {}; + } + }); + const makeVBreadcrumbsDividerProps = propsFactory({ + divider: [Number, String], + ...makeComponentProps() + }, "VBreadcrumbsDivider"); + const VBreadcrumbsDivider = genericComponent()({ + name: "VBreadcrumbsDivider", + props: makeVBreadcrumbsDividerProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createElementVNode("li", { + "aria-hidden": "true", + "class": require$$0.normalizeClass(["v-breadcrumbs-divider", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots?.default?.() ?? props.divider])); + return {}; + } + }); + const makeVBreadcrumbsItemProps = propsFactory({ + active: Boolean, + activeClass: String, + activeColor: String, + color: String, + disabled: Boolean, + title: String, + ...makeComponentProps(), + ...makeRouterProps(), + ...makeTagProps({ + tag: "li" + }) + }, "VBreadcrumbsItem"); + const VBreadcrumbsItem = genericComponent()({ + name: "VBreadcrumbsItem", + props: makeVBreadcrumbsItemProps(), + setup(props, _ref) { + let { + slots, + attrs + } = _ref; + const link = useLink(props, attrs); + const isActive = require$$0.computed(() => props.active || link.isActive?.value); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => isActive.value ? props.activeColor : props.color); + useRender(() => { + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-breadcrumbs-item", { + "v-breadcrumbs-item--active": isActive.value, + "v-breadcrumbs-item--disabled": props.disabled, + [`${props.activeClass}`]: isActive.value && props.activeClass + }, textColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([textColorStyles.value, props.style]), + "aria-current": isActive.value ? "page" : void 0 + }, { + default: () => [!link.isLink.value ? slots.default?.() ?? props.title : require$$0.createElementVNode("a", require$$0.mergeProps({ + "class": "v-breadcrumbs-item--link", + "onClick": link.navigate + }, link.linkProps), [slots.default?.() ?? props.title])] + }); + }); + return {}; + } + }); + const makeVBreadcrumbsProps = propsFactory({ + activeClass: String, + activeColor: String, + bgColor: String, + color: String, + disabled: Boolean, + divider: { + type: String, + default: "/" + }, + icon: IconValue, + items: { + type: Array, + default: () => [] + }, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeRoundedProps(), + ...makeTagProps({ + tag: "ul" + }) + }, "VBreadcrumbs"); + const VBreadcrumbs = genericComponent()({ + name: "VBreadcrumbs", + props: makeVBreadcrumbsProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + densityClasses + } = useDensity(props); + const { + roundedClasses + } = useRounded(props); + provideDefaults({ + VBreadcrumbsDivider: { + divider: require$$0.toRef(() => props.divider) + }, + VBreadcrumbsItem: { + activeClass: require$$0.toRef(() => props.activeClass), + activeColor: require$$0.toRef(() => props.activeColor), + color: require$$0.toRef(() => props.color), + disabled: require$$0.toRef(() => props.disabled) + } + }); + const items = require$$0.computed(() => props.items.map((item) => { + return typeof item === "string" ? { + item: { + title: item + }, + raw: item + } : { + item, + raw: item + }; + })); + useRender(() => { + const hasPrepend = !!(slots.prepend || props.icon); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-breadcrumbs", backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, props.style]) + }, { + default: () => [hasPrepend && require$$0.createElementVNode("li", { + "key": "prepend", + "class": "v-breadcrumbs__prepend" + }, [!slots.prepend ? require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "start": true, + "icon": props.icon + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !props.icon, + "defaults": { + VIcon: { + icon: props.icon, + start: true + } + } + }, slots.prepend)]), items.value.map((_ref2, index2, array) => { + let { + item, + raw + } = _ref2; + return require$$0.createElementVNode(require$$0.Fragment, null, [slots.item?.({ + item, + index: index2 + }) ?? require$$0.createVNode(VBreadcrumbsItem, require$$0.mergeProps({ + "key": index2, + "disabled": index2 >= array.length - 1 + }, typeof item === "string" ? { + title: item + } : item), { + default: slots.title ? () => slots.title?.({ + item, + index: index2 + }) : void 0 + }), index2 < array.length - 1 && require$$0.createVNode(VBreadcrumbsDivider, null, { + default: slots.divider ? () => slots.divider?.({ + item: raw, + index: index2 + }) : void 0 + })]); + }), slots.default?.()] + }); + }); + return {}; + } + }); + const makeVCardActionsProps = propsFactory({ + ...makeComponentProps(), + ...makeTagProps() + }, "VCardActions"); + const VCardActions = genericComponent()({ + name: "VCardActions", + props: makeVCardActionsProps(), + setup(props, _ref) { + let { + slots + } = _ref; + provideDefaults({ + VBtn: { + slim: true, + variant: "text" + } + }); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-card-actions", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, slots)); + return {}; + } + }); + const makeVCardSubtitleProps = propsFactory({ + opacity: [Number, String], + ...makeComponentProps(), + ...makeTagProps() + }, "VCardSubtitle"); + const VCardSubtitle = genericComponent()({ + name: "VCardSubtitle", + props: makeVCardSubtitleProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-card-subtitle", props.class]), + "style": require$$0.normalizeStyle([{ + "--v-card-subtitle-opacity": props.opacity + }, props.style]) + }, slots)); + return {}; + } + }); + const VCardTitle = createSimpleFunctional("v-card-title"); + const makeCardItemProps = propsFactory({ + appendAvatar: String, + appendIcon: IconValue, + prependAvatar: String, + prependIcon: IconValue, + subtitle: { + type: [String, Number, Boolean], + default: void 0 + }, + title: { + type: [String, Number, Boolean], + default: void 0 + }, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeTagProps() + }, "VCardItem"); + const VCardItem = genericComponent()({ + name: "VCardItem", + props: makeCardItemProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + const hasPrependMedia = !!(props.prependAvatar || props.prependIcon); + const hasPrepend = !!(hasPrependMedia || slots.prepend); + const hasAppendMedia = !!(props.appendAvatar || props.appendIcon); + const hasAppend = !!(hasAppendMedia || slots.append); + const hasTitle = !!(props.title != null || slots.title); + const hasSubtitle = !!(props.subtitle != null || slots.subtitle); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-card-item", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [hasPrepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-card-item__prepend" + }, [!slots.prepend ? require$$0.createElementVNode(require$$0.Fragment, null, [props.prependAvatar && require$$0.createVNode(VAvatar, { + "key": "prepend-avatar", + "density": props.density, + "image": props.prependAvatar + }, null), props.prependIcon && require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "density": props.density, + "icon": props.prependIcon + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "disabled": !hasPrependMedia, + "defaults": { + VAvatar: { + density: props.density, + image: props.prependAvatar + }, + VIcon: { + density: props.density, + icon: props.prependIcon + } + } + }, slots.prepend)]), require$$0.createElementVNode("div", { + "class": "v-card-item__content" + }, [hasTitle && require$$0.createVNode(VCardTitle, { + "key": "title" + }, { + default: () => [slots.title?.() ?? require$$0.toDisplayString(props.title)] + }), hasSubtitle && require$$0.createVNode(VCardSubtitle, { + "key": "subtitle" + }, { + default: () => [slots.subtitle?.() ?? require$$0.toDisplayString(props.subtitle)] + }), slots.default?.()]), hasAppend && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-card-item__append" + }, [!slots.append ? require$$0.createElementVNode(require$$0.Fragment, null, [props.appendIcon && require$$0.createVNode(VIcon, { + "key": "append-icon", + "density": props.density, + "icon": props.appendIcon + }, null), props.appendAvatar && require$$0.createVNode(VAvatar, { + "key": "append-avatar", + "density": props.density, + "image": props.appendAvatar + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "append-defaults", + "disabled": !hasAppendMedia, + "defaults": { + VAvatar: { + density: props.density, + image: props.appendAvatar + }, + VIcon: { + density: props.density, + icon: props.appendIcon + } + } + }, slots.append)])] + }); + }); + return {}; + } + }); + const makeVCardTextProps = propsFactory({ + opacity: [Number, String], + ...makeComponentProps(), + ...makeTagProps() + }, "VCardText"); + const VCardText = genericComponent()({ + name: "VCardText", + props: makeVCardTextProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-card-text", props.class]), + "style": require$$0.normalizeStyle([{ + "--v-card-text-opacity": props.opacity + }, props.style]) + }, slots)); + return {}; + } + }); + const makeVCardProps = propsFactory({ + appendAvatar: String, + appendIcon: IconValue, + disabled: Boolean, + flat: Boolean, + hover: Boolean, + image: String, + link: { + type: Boolean, + default: void 0 + }, + prependAvatar: String, + prependIcon: IconValue, + ripple: { + type: [Boolean, Object], + default: true + }, + subtitle: { + type: [String, Number, Boolean], + default: void 0 + }, + text: { + type: [String, Number, Boolean], + default: void 0 + }, + title: { + type: [String, Number, Boolean], + default: void 0 + }, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeLoaderProps(), + ...makeLocationProps(), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeRouterProps(), + ...makeTagProps(), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "elevated" + }) + }, "VCard"); + const VCard = genericComponent()({ + name: "VCard", + directives: { + vRipple: Ripple + }, + props: makeVCardProps(), + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(props); + const { + densityClasses + } = useDensity(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + loaderClasses + } = useLoader(props); + const { + locationStyles + } = useLocation(props); + const { + positionClasses + } = usePosition(props); + const { + roundedClasses + } = useRounded(props); + const link = useLink(props, attrs); + useRender(() => { + const isLink = props.link !== false && link.isLink.value; + const isClickable = !props.disabled && props.link !== false && (props.link || link.isClickable.value); + const Tag = isLink ? "a" : props.tag; + const hasTitle = !!(slots.title || props.title != null); + const hasSubtitle = !!(slots.subtitle || props.subtitle != null); + const hasHeader = hasTitle || hasSubtitle; + const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon); + const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon); + const hasImage = !!(slots.image || props.image); + const hasCardItem = hasHeader || hasPrepend || hasAppend; + const hasText = !!(slots.text || props.text != null); + return require$$0.withDirectives(require$$0.createVNode(Tag, require$$0.mergeProps({ + "class": ["v-card", { + "v-card--disabled": props.disabled, + "v-card--flat": props.flat, + "v-card--hover": props.hover && !(props.disabled || props.flat), + "v-card--link": isClickable + }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class], + "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style], + "onClick": isClickable && link.navigate, + "tabindex": props.disabled ? -1 : void 0 + }, link.linkProps), { + default: () => [hasImage && require$$0.createElementVNode("div", { + "key": "image", + "class": "v-card__image" + }, [!slots.image ? require$$0.createVNode(VImg, { + "key": "image-img", + "cover": true, + "src": props.image + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "image-defaults", + "disabled": !props.image, + "defaults": { + VImg: { + cover: true, + src: props.image + } + } + }, slots.image)]), require$$0.createVNode(LoaderSlot, { + "name": "v-card", + "active": !!props.loading, + "color": typeof props.loading === "boolean" ? void 0 : props.loading + }, { + default: slots.loader + }), hasCardItem && require$$0.createVNode(VCardItem, { + "key": "item", + "prependAvatar": props.prependAvatar, + "prependIcon": props.prependIcon, + "title": props.title, + "subtitle": props.subtitle, + "appendAvatar": props.appendAvatar, + "appendIcon": props.appendIcon + }, { + default: slots.item, + prepend: slots.prepend, + title: slots.title, + subtitle: slots.subtitle, + append: slots.append + }), hasText && require$$0.createVNode(VCardText, { + "key": "text" + }, { + default: () => [slots.text?.() ?? props.text] + }), slots.default?.(), slots.actions && require$$0.createVNode(VCardActions, null, { + default: slots.actions + }), genOverlays(isClickable, "v-card")] + }), [[Ripple, isClickable && props.ripple]]); + }); + return {}; + } + }); + const handleGesture = (wrapper) => { + const { + touchstartX, + touchendX, + touchstartY, + touchendY + } = wrapper; + const dirRatio = 0.5; + const minDistance = 16; + wrapper.offsetX = touchendX - touchstartX; + wrapper.offsetY = touchendY - touchstartY; + if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) { + wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper); + wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper); + } + if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) { + wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper); + wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper); + } + }; + function touchstart(event, wrapper) { + const touch = event.changedTouches[0]; + wrapper.touchstartX = touch.clientX; + wrapper.touchstartY = touch.clientY; + wrapper.start?.({ + originalEvent: event, + ...wrapper + }); + } + function touchend(event, wrapper) { + const touch = event.changedTouches[0]; + wrapper.touchendX = touch.clientX; + wrapper.touchendY = touch.clientY; + wrapper.end?.({ + originalEvent: event, + ...wrapper + }); + handleGesture(wrapper); + } + function touchmove(event, wrapper) { + const touch = event.changedTouches[0]; + wrapper.touchmoveX = touch.clientX; + wrapper.touchmoveY = touch.clientY; + wrapper.move?.({ + originalEvent: event, + ...wrapper + }); + } + function createHandlers() { + let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + const wrapper = { + touchstartX: 0, + touchstartY: 0, + touchendX: 0, + touchendY: 0, + touchmoveX: 0, + touchmoveY: 0, + offsetX: 0, + offsetY: 0, + left: value.left, + right: value.right, + up: value.up, + down: value.down, + start: value.start, + move: value.move, + end: value.end + }; + return { + touchstart: (e7) => touchstart(e7, wrapper), + touchend: (e7) => touchend(e7, wrapper), + touchmove: (e7) => touchmove(e7, wrapper) + }; + } + function mounted$3(el2, binding) { + const value = binding.value; + const target = value?.parent ? el2.parentElement : el2; + const options = value?.options ?? { + passive: true + }; + const uid = binding.instance?.$.uid; + if (!target || uid === void 0) return; + const handlers2 = createHandlers(binding.value); + target._touchHandlers = target._touchHandlers ?? /* @__PURE__ */ Object.create(null); + target._touchHandlers[uid] = handlers2; + keys$2(handlers2).forEach((eventName2) => { + target.addEventListener(eventName2, handlers2[eventName2], options); + }); + } + function unmounted$3(el2, binding) { + const target = binding.value?.parent ? el2.parentElement : el2; + const uid = binding.instance?.$.uid; + if (!target?._touchHandlers || uid === void 0) return; + const handlers2 = target._touchHandlers[uid]; + keys$2(handlers2).forEach((eventName2) => { + target.removeEventListener(eventName2, handlers2[eventName2]); + }); + delete target._touchHandlers[uid]; + } + const Touch = { + mounted: mounted$3, + unmounted: unmounted$3 + }; + const VWindowSymbol = Symbol.for("vuetify:v-window"); + const VWindowGroupSymbol = Symbol.for("vuetify:v-window-group"); + const makeVWindowProps = propsFactory({ + continuous: Boolean, + nextIcon: { + type: [Boolean, String, Function, Object], + default: "$next" + }, + prevIcon: { + type: [Boolean, String, Function, Object], + default: "$prev" + }, + reverse: Boolean, + showArrows: { + type: [Boolean, String], + validator: (v) => typeof v === "boolean" || v === "hover" + }, + verticalArrows: [Boolean, String], + touch: { + type: [Object, Boolean], + default: void 0 + }, + direction: { + type: String, + default: "horizontal" + }, + modelValue: null, + disabled: Boolean, + selectedClass: { + type: String, + default: "v-window-item--active" + }, + // TODO: mandatory should probably not be exposed but do this for now + mandatory: { + type: [Boolean, String], + default: "force" + }, + crossfade: Boolean, + transitionDuration: Number, + ...makeComponentProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VWindow"); + const VWindow = genericComponent()({ + name: "VWindow", + directives: { + vTouch: Touch + }, + props: makeVWindowProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + isRtl + } = useRtl(); + const { + t + } = useLocale(); + const group = useGroup(props, VWindowGroupSymbol); + const rootRef = require$$0.ref(); + const isRtlReverse = require$$0.computed(() => isRtl.value ? !props.reverse : props.reverse); + const isReversed = require$$0.shallowRef(false); + const transition = require$$0.computed(() => { + if (props.crossfade) { + return "v-window-crossfade-transition"; + } + const axis = props.direction === "vertical" ? "y" : "x"; + const reverse2 = isRtlReverse.value ? !isReversed.value : isReversed.value; + const direction = reverse2 ? "-reverse" : ""; + return `v-window-${axis}${direction}-transition`; + }); + const transitionCount = require$$0.shallowRef(0); + const transitionHeight = require$$0.ref(void 0); + const activeIndex = require$$0.computed(() => { + return group.items.value.findIndex((item) => group.selected.value.includes(item.id)); + }); + require$$0.watch(activeIndex, (newVal, oldVal) => { + const itemsLength = group.items.value.length; + const lastIndex = itemsLength - 1; + if (itemsLength <= 2) { + isReversed.value = newVal < oldVal; + } else if (newVal === lastIndex && oldVal === 0) { + isReversed.value = true; + } else if (newVal === 0 && oldVal === lastIndex) { + isReversed.value = false; + } else { + isReversed.value = newVal < oldVal; + } + }); + require$$0.provide(VWindowSymbol, { + transition, + isReversed, + transitionCount, + transitionHeight, + rootRef + }); + const canMoveBack = require$$0.toRef(() => props.continuous || activeIndex.value !== 0); + const canMoveForward = require$$0.toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1); + function prev() { + canMoveBack.value && group.prev(); + } + function next() { + canMoveForward.value && group.next(); + } + const arrows = require$$0.computed(() => { + const arrows2 = []; + const prevProps = { + icon: isRtl.value ? props.nextIcon : props.prevIcon, + class: `v-window__${isRtlReverse.value ? "right" : "left"}`, + onClick: group.prev, + "aria-label": t("$vuetify.carousel.prev") + }; + arrows2.push(canMoveBack.value ? slots.prev ? slots.prev({ + props: prevProps + }) : require$$0.createVNode(VBtn, prevProps, null) : require$$0.createElementVNode("div", null, null)); + const nextProps = { + icon: isRtl.value ? props.prevIcon : props.nextIcon, + class: `v-window__${isRtlReverse.value ? "left" : "right"}`, + onClick: group.next, + "aria-label": t("$vuetify.carousel.next") + }; + arrows2.push(canMoveForward.value ? slots.next ? slots.next({ + props: nextProps + }) : require$$0.createVNode(VBtn, nextProps, null) : require$$0.createElementVNode("div", null, null)); + return arrows2; + }); + const touchOptions = require$$0.computed(() => { + if (props.touch === false) return props.touch; + const options = { + left: () => { + isRtlReverse.value ? prev() : next(); + }, + right: () => { + isRtlReverse.value ? next() : prev(); + }, + start: (_ref2) => { + let { + originalEvent + } = _ref2; + originalEvent.stopPropagation(); + } + }; + return { + ...options, + ...props.touch === true ? {} : props.touch + }; + }); + useRender(() => require$$0.withDirectives(require$$0.createVNode(props.tag, { + "ref": rootRef, + "class": require$$0.normalizeClass(["v-window", { + "v-window--show-arrows-on-hover": props.showArrows === "hover", + "v-window--vertical-arrows": !!props.verticalArrows, + "v-window--crossfade": !!props.crossfade + }, themeClasses.value, props.class]), + "style": require$$0.normalizeStyle([props.style, props.transitionDuration && !PREFERS_REDUCED_MOTION ? { + "--v-window-transition-duration": convertToUnit(props.transitionDuration, "ms") + } : void 0]) + }, { + default: () => [require$$0.createElementVNode("div", { + "class": "v-window__container", + "style": { + height: transitionHeight.value + } + }, [slots.default?.({ + group + }), props.showArrows !== false && require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-window__controls", { + "v-window__controls--left": props.verticalArrows === "left" || props.verticalArrows === true + }, { + "v-window__controls--right": props.verticalArrows === "right" + }]) + }, [arrows.value])]), slots.additional?.({ + group + })] + }), [[Touch, touchOptions.value]])); + return { + group + }; + } + }); + const makeVCarouselProps = propsFactory({ + color: String, + cycle: Boolean, + delimiterIcon: { + type: IconValue, + default: "$delimiter" + }, + height: { + type: [Number, String], + default: 500 + }, + hideDelimiters: Boolean, + hideDelimiterBackground: Boolean, + interval: { + type: [Number, String], + default: 6e3, + validator: (value) => Number(value) > 0 + }, + progress: [Boolean, String], + verticalDelimiters: [Boolean, String], + ...makeVWindowProps({ + continuous: true, + mandatory: "force", + showArrows: true + }) + }, "VCarousel"); + const VCarousel = genericComponent()({ + name: "VCarousel", + props: makeVCarouselProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const { + t + } = useLocale(); + const windowRef = require$$0.ref(); + let slideTimeout = -1; + require$$0.watch(model, restartTimeout); + require$$0.watch(() => props.interval, restartTimeout); + require$$0.watch(() => props.cycle, (val) => { + if (val) restartTimeout(); + else window.clearTimeout(slideTimeout); + }); + require$$0.onMounted(startTimeout); + function startTimeout() { + if (!props.cycle || !windowRef.value) return; + slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6e3); + } + function restartTimeout() { + window.clearTimeout(slideTimeout); + window.requestAnimationFrame(startTimeout); + } + useRender(() => { + const windowProps = VWindow.filterProps(props); + return require$$0.createVNode(VWindow, require$$0.mergeProps({ + "ref": windowRef + }, windowProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-carousel", { + "v-carousel--hide-delimiter-background": props.hideDelimiterBackground, + "v-carousel--vertical-delimiters": props.verticalDelimiters + }, props.class], + "style": [{ + height: convertToUnit(props.height) + }, props.style] + }), { + default: slots.default, + additional: (_ref2) => { + let { + group + } = _ref2; + return require$$0.createElementVNode(require$$0.Fragment, null, [!props.hideDelimiters && require$$0.createElementVNode("div", { + "class": "v-carousel__controls", + "style": { + left: props.verticalDelimiters === "left" && props.verticalDelimiters ? 0 : "auto", + right: props.verticalDelimiters === "right" ? 0 : "auto" + } + }, [group.items.value.length > 0 && require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + color: props.color, + icon: props.delimiterIcon, + size: "x-small", + variant: "text" + } + }, + "scoped": true + }, { + default: () => [group.items.value.map((item, index2) => { + const props2 = { + id: `carousel-item-${item.id}`, + "aria-label": t("$vuetify.carousel.ariaLabel.delimiter", index2 + 1, group.items.value.length), + class: ["v-carousel__controls__item", group.isSelected(item.id) && "v-btn--active"], + onClick: () => group.select(item.id, true) + }; + return slots.item ? slots.item({ + props: props2, + item + }) : require$$0.createVNode(VBtn, require$$0.mergeProps(item, props2), null); + })] + })]), props.progress && require$$0.createVNode(VProgressLinear, { + "absolute": true, + "class": "v-carousel__progress", + "color": typeof props.progress === "string" ? props.progress : void 0, + "modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100 + }, null)]); + }, + prev: slots.prev, + next: slots.next + }); + }); + return {}; + } + }); + const makeVWindowItemProps = propsFactory({ + reverseTransition: { + type: [Boolean, String], + default: void 0 + }, + transition: { + type: [Boolean, String], + default: void 0 + }, + ...makeComponentProps(), + ...makeGroupItemProps(), + ...makeLazyProps() + }, "VWindowItem"); + const VWindowItem = genericComponent()({ + name: "VWindowItem", + directives: { + vTouch: Touch + }, + props: makeVWindowItemProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const window2 = require$$0.inject(VWindowSymbol); + const groupItem = useGroupItem(props, VWindowGroupSymbol); + const { + isBooted + } = useSsrBoot(); + if (!window2 || !groupItem) throw new Error("[Vuetify] VWindowItem must be used inside VWindow"); + const isTransitioning = require$$0.shallowRef(false); + const hasTransition = require$$0.computed(() => isBooted.value && (window2.isReversed.value ? props.reverseTransition !== false : props.transition !== false)); + function onAfterTransition() { + if (!isTransitioning.value || !window2) { + return; + } + isTransitioning.value = false; + if (window2.transitionCount.value > 0) { + window2.transitionCount.value -= 1; + if (window2.transitionCount.value === 0) { + window2.transitionHeight.value = void 0; + } + } + } + function onBeforeTransition() { + if (isTransitioning.value || !window2) { + return; + } + isTransitioning.value = true; + if (window2.transitionCount.value === 0) { + window2.transitionHeight.value = convertToUnit(window2.rootRef.value?.clientHeight); + } + window2.transitionCount.value += 1; + } + function onTransitionCancelled() { + onAfterTransition(); + } + function onEnterTransition(el2) { + if (!isTransitioning.value) { + return; + } + require$$0.nextTick(() => { + if (!hasTransition.value || !isTransitioning.value || !window2) { + return; + } + window2.transitionHeight.value = convertToUnit(el2.clientHeight); + }); + } + const transition = require$$0.computed(() => { + const name = window2.isReversed.value ? props.reverseTransition : props.transition; + return !hasTransition.value ? false : { + name: typeof name !== "string" ? window2.transition.value : name, + onBeforeEnter: onBeforeTransition, + onAfterEnter: onAfterTransition, + onEnterCancelled: onTransitionCancelled, + onBeforeLeave: onBeforeTransition, + onAfterLeave: onAfterTransition, + onLeaveCancelled: onTransitionCancelled, + onEnter: onEnterTransition + }; + }); + const { + hasContent + } = useLazy(props, groupItem.isSelected); + useRender(() => require$$0.createVNode(MaybeTransition, { + "transition": transition.value, + "disabled": !isBooted.value + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-window-item", groupItem.selectedClass.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [hasContent.value && slots.default?.()]), [[require$$0.vShow, groupItem.isSelected.value]])] + })); + return { + groupItem + }; + } + }); + const makeVCarouselItemProps = propsFactory({ + ...makeVImgProps(), + ...makeVWindowItemProps() + }, "VCarouselItem"); + const VCarouselItem = genericComponent()({ + name: "VCarouselItem", + inheritAttrs: false, + props: makeVCarouselItemProps(), + setup(props, _ref) { + let { + slots, + attrs + } = _ref; + useRender(() => { + const imgProps = VImg.filterProps(props); + const windowItemProps = VWindowItem.filterProps(props); + return require$$0.createVNode(VWindowItem, require$$0.mergeProps({ + "class": ["v-carousel-item", props.class] + }, windowItemProps), { + default: () => [require$$0.createVNode(VImg, require$$0.mergeProps(attrs, imgProps), slots)] + }); + }); + } + }); + const VCode = createSimpleFunctional("v-code", "code"); + const makeVColorPickerCanvasProps = propsFactory({ + color: { + type: Object + }, + disabled: Boolean, + dotSize: { + type: [Number, String], + default: 10 + }, + height: { + type: [Number, String], + default: 150 + }, + width: { + type: [Number, String], + default: 300 + }, + ...makeComponentProps() + }, "VColorPickerCanvas"); + const VColorPickerCanvas = defineComponent({ + name: "VColorPickerCanvas", + props: makeVColorPickerCanvasProps(), + emits: { + "update:color": (color) => true, + "update:position": (hue) => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + const isInteracting = require$$0.shallowRef(false); + const canvasRef = require$$0.ref(); + const canvasWidth = require$$0.shallowRef(parseFloat(props.width)); + const canvasHeight = require$$0.shallowRef(parseFloat(props.height)); + const _dotPosition = require$$0.ref({ + x: 0, + y: 0 + }); + const dotPosition = require$$0.computed({ + get: () => _dotPosition.value, + set(val) { + if (!canvasRef.value) return; + const { + x, + y + } = val; + _dotPosition.value = val; + emit("update:color", { + h: props.color?.h ?? 0, + s: clamp$1(x, 0, canvasWidth.value) / canvasWidth.value, + v: 1 - clamp$1(y, 0, canvasHeight.value) / canvasHeight.value, + a: props.color?.a ?? 1 + }); + } + }); + const dotStyles = require$$0.computed(() => { + const { + x, + y + } = dotPosition.value; + const radius = parseInt(props.dotSize, 10) / 2; + return { + width: convertToUnit(props.dotSize), + height: convertToUnit(props.dotSize), + transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})` + }; + }); + const { + resizeRef + } = useResizeObserver((entries2) => { + if (!resizeRef.el?.offsetParent) return; + const { + width, + height + } = entries2[0].contentRect; + canvasWidth.value = width; + canvasHeight.value = height; + }); + function updateDotPosition(x, y, rect) { + const { + left, + top, + width, + height + } = rect; + dotPosition.value = { + x: clamp$1(x - left, 0, width), + y: clamp$1(y - top, 0, height) + }; + } + function handleMouseDown(e7) { + if (e7.type === "mousedown") { + e7.preventDefault(); + } + if (props.disabled) return; + handleMouseMove(e7); + window.addEventListener("mousemove", handleMouseMove); + window.addEventListener("mouseup", handleMouseUp); + window.addEventListener("touchmove", handleMouseMove); + window.addEventListener("touchend", handleMouseUp); + } + function handleMouseMove(e7) { + if (props.disabled || !canvasRef.value) return; + isInteracting.value = true; + const coords = getEventCoordinates(e7); + updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect()); + } + function handleMouseUp() { + window.removeEventListener("mousemove", handleMouseMove); + window.removeEventListener("mouseup", handleMouseUp); + window.removeEventListener("touchmove", handleMouseMove); + window.removeEventListener("touchend", handleMouseUp); + } + function updateCanvas() { + if (!canvasRef.value) return; + const canvas = canvasRef.value; + const ctx = canvas.getContext("2d"); + if (!ctx) return; + const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0); + saturationGradient.addColorStop(0, "hsla(0, 0%, 100%, 1)"); + saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`); + ctx.fillStyle = saturationGradient; + ctx.fillRect(0, 0, canvas.width, canvas.height); + const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height); + valueGradient.addColorStop(0, "hsla(0, 0%, 0%, 0)"); + valueGradient.addColorStop(1, "hsla(0, 0%, 0%, 1)"); + ctx.fillStyle = valueGradient; + ctx.fillRect(0, 0, canvas.width, canvas.height); + } + require$$0.watch(() => props.color?.h, updateCanvas, { + immediate: true + }); + require$$0.watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => { + updateCanvas(); + _dotPosition.value = { + x: dotPosition.value.x * newVal[0] / oldVal[0], + y: dotPosition.value.y * newVal[1] / oldVal[1] + }; + }, { + flush: "post" + }); + require$$0.watch(() => props.color, () => { + if (isInteracting.value) { + isInteracting.value = false; + return; + } + _dotPosition.value = props.color ? { + x: props.color.s * canvasWidth.value, + y: (1 - props.color.v) * canvasHeight.value + } : { + x: 0, + y: 0 + }; + }, { + deep: true, + immediate: true + }); + require$$0.onMounted(() => updateCanvas()); + useRender(() => require$$0.createElementVNode("div", { + "ref": resizeRef, + "class": require$$0.normalizeClass(["v-color-picker-canvas", props.class]), + "style": require$$0.normalizeStyle(props.style), + "onMousedown": handleMouseDown, + "onTouchstartPassive": handleMouseDown + }, [require$$0.createElementVNode("canvas", { + "ref": canvasRef, + "width": canvasWidth.value, + "height": canvasHeight.value + }, null), props.color && require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-color-picker-canvas__dot", { + "v-color-picker-canvas__dot--disabled": props.disabled + }]), + "style": require$$0.normalizeStyle(dotStyles.value) + }, null)])); + return {}; + } + }); + function stripAlpha(color, stripAlpha2) { + if (stripAlpha2) { + const { + a, + ...rest + } = color; + return rest; + } + return color; + } + function extractColor(color, input) { + if (input == null || typeof input === "string") { + const hasA = color.a !== 1; + if (input?.startsWith("rgb(")) { + const { + r, + g, + b, + a + } = HSVtoRGB(color); + return `rgb(${r} ${g} ${b}` + (hasA ? ` / ${a})` : ")"); + } else if (input?.startsWith("hsl(")) { + const { + h, + s, + l, + a + } = HSVtoHSL(color); + return `hsl(${h} ${Math.round(s * 100)} ${Math.round(l * 100)}` + (hasA ? ` / ${a})` : ")"); + } + const hex2 = HSVtoHex(color); + if (color.a === 1) return hex2.slice(0, 7); + else return hex2; + } + if (typeof input === "object") { + let converted; + if (has$2(input, ["r", "g", "b"])) converted = HSVtoRGB(color); + else if (has$2(input, ["h", "s", "l"])) converted = HSVtoHSL(color); + else if (has$2(input, ["h", "s", "v"])) converted = color; + return stripAlpha(converted, !has$2(input, ["a"]) && color.a === 1); + } + return color; + } + const nullColor = { + h: 0, + s: 0, + v: 0, + a: 1 + }; + const rgba = { + inputProps: { + type: "number", + min: 0 + }, + inputs: [{ + label: "R", + max: 255, + step: 1, + getValue: (c) => Math.round(c.r), + getColor: (c, v) => ({ + ...c, + r: Number(v) + }), + localeKey: "redInput" + }, { + label: "G", + max: 255, + step: 1, + getValue: (c) => Math.round(c.g), + getColor: (c, v) => ({ + ...c, + g: Number(v) + }), + localeKey: "greenInput" + }, { + label: "B", + max: 255, + step: 1, + getValue: (c) => Math.round(c.b), + getColor: (c, v) => ({ + ...c, + b: Number(v) + }), + localeKey: "blueInput" + }, { + label: "A", + max: 1, + step: 0.01, + getValue: (_ref) => { + let { + a + } = _ref; + return a != null ? Math.round(a * 100) / 100 : 1; + }, + getColor: (c, v) => ({ + ...c, + a: Number(v) + }), + localeKey: "alphaInput" + }], + to: HSVtoRGB, + from: RGBtoHSV + }; + const rgb = { + ...rgba, + inputs: rgba.inputs?.slice(0, 3) + }; + const hsla = { + inputProps: { + type: "number", + min: 0 + }, + inputs: [{ + label: "H", + max: 360, + step: 1, + getValue: (c) => Math.round(c.h), + getColor: (c, v) => ({ + ...c, + h: Number(v) + }), + localeKey: "hueInput" + }, { + label: "S", + max: 1, + step: 0.01, + getValue: (c) => Math.round(c.s * 100) / 100, + getColor: (c, v) => ({ + ...c, + s: Number(v) + }), + localeKey: "saturationInput" + }, { + label: "L", + max: 1, + step: 0.01, + getValue: (c) => Math.round(c.l * 100) / 100, + getColor: (c, v) => ({ + ...c, + l: Number(v) + }), + localeKey: "lightnessInput" + }, { + label: "A", + max: 1, + step: 0.01, + getValue: (_ref2) => { + let { + a + } = _ref2; + return a != null ? Math.round(a * 100) / 100 : 1; + }, + getColor: (c, v) => ({ + ...c, + a: Number(v) + }), + localeKey: "alphaInput" + }], + to: HSVtoHSL, + from: HSLtoHSV + }; + const hsl = { + ...hsla, + inputs: hsla.inputs.slice(0, 3) + }; + const hexa = { + inputProps: { + type: "text" + }, + inputs: [{ + label: "HEXA", + getValue: (c) => c, + getColor: (c, v) => v, + localeKey: "hexaInput" + }], + to: HSVtoHex, + from: HexToHSV + }; + const hex = { + ...hexa, + inputs: [{ + label: "HEX", + getValue: (c) => c.slice(0, 7), + getColor: (c, v) => v, + localeKey: "hexInput" + }] + }; + const modes = { + rgb, + rgba, + hsl, + hsla, + hex, + hexa + }; + const VColorPickerInput = (_ref) => { + let { + label, + ...rest + } = _ref; + return require$$0.createElementVNode("div", { + "class": "v-color-picker-edit__input" + }, [require$$0.createElementVNode("input", require$$0.normalizeProps(require$$0.guardReactiveProps(rest)), null), require$$0.createElementVNode("span", null, [label])]); + }; + const makeVColorPickerEditProps = propsFactory({ + color: Object, + disabled: Boolean, + mode: { + type: String, + default: "rgba", + validator: (v) => Object.keys(modes).includes(v) + }, + modes: { + type: Array, + default: () => Object.keys(modes), + validator: (v) => Array.isArray(v) && v.every((m7) => Object.keys(modes).includes(m7)) + }, + ...makeComponentProps() + }, "VColorPickerEdit"); + const VColorPickerEdit = defineComponent({ + name: "VColorPickerEdit", + props: makeVColorPickerEditProps(), + emits: { + "update:color": (color) => true, + "update:mode": (mode) => true + }, + setup(props, _ref2) { + let { + emit + } = _ref2; + const { + t + } = useLocale(); + const enabledModes = require$$0.computed(() => { + return props.modes.map((key) => ({ + ...modes[key], + name: key + })); + }); + const inputs = require$$0.computed(() => { + const mode = enabledModes.value.find((m7) => m7.name === props.mode); + if (!mode) return []; + const color = props.color ? mode.to(props.color) : null; + return mode.inputs?.map((_ref3) => { + let { + getValue, + getColor: getColor2, + localeKey, + ...inputProps + } = _ref3; + return { + ...mode.inputProps, + ...inputProps, + ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`), + disabled: props.disabled, + value: color && getValue(color), + onChange: (e7) => { + const target = e7.target; + if (!target) return; + emit("update:color", mode.from(getColor2(color ?? mode.to(nullColor), target.value))); + } + }; + }); + }); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-color-picker-edit", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [inputs.value?.map((props2) => require$$0.createVNode(VColorPickerInput, props2, null)), enabledModes.value.length > 1 && require$$0.createVNode(VBtn, { + "icon": "$unfold", + "size": "x-small", + "variant": "plain", + "aria-label": t("$vuetify.colorPicker.ariaLabel.changeFormat"), + "onClick": () => { + const mi2 = enabledModes.value.findIndex((m7) => m7.name === props.mode); + emit("update:mode", enabledModes.value[(mi2 + 1) % enabledModes.value.length].name); + } + }, null)])); + return {}; + } + }); + const VSliderSymbol = Symbol.for("vuetify:v-slider"); + function getOffset(e7, el2, direction) { + const vertical = direction === "vertical"; + const rect = el2.getBoundingClientRect(); + const touch = "touches" in e7 ? e7.touches[0] : e7; + return vertical ? touch.clientY - (rect.top + rect.height / 2) : touch.clientX - (rect.left + rect.width / 2); + } + function getPosition(e7, position2) { + if ("touches" in e7 && e7.touches.length) return e7.touches[0][position2]; + else if ("changedTouches" in e7 && e7.changedTouches.length) return e7.changedTouches[0][position2]; + else return e7[position2]; + } + const makeSliderProps = propsFactory({ + disabled: { + type: Boolean, + default: null + }, + error: Boolean, + readonly: { + type: Boolean, + default: null + }, + max: { + type: [Number, String], + default: 100 + }, + min: { + type: [Number, String], + default: 0 + }, + step: { + type: [Number, String], + default: 0 + }, + thumbColor: String, + thumbLabel: { + type: [Boolean, String], + default: void 0, + validator: (v) => typeof v === "boolean" || v === "always" + }, + thumbSize: { + type: [Number, String], + default: 20 + }, + showTicks: { + type: [Boolean, String], + default: false, + validator: (v) => typeof v === "boolean" || v === "always" + }, + ticks: { + type: [Array, Object] + }, + tickSize: { + type: [Number, String], + default: 2 + }, + color: String, + trackColor: String, + trackFillColor: String, + trackSize: { + type: [Number, String], + default: 4 + }, + direction: { + type: String, + default: "horizontal", + validator: (v) => ["vertical", "horizontal"].includes(v) + }, + reverse: Boolean, + noKeyboard: Boolean, + ...makeRoundedProps(), + ...makeElevationProps({ + elevation: 2 + }), + ripple: { + type: Boolean, + default: true + } + }, "Slider"); + const useSteps = (props) => { + const min3 = require$$0.computed(() => parseFloat(props.min)); + const max3 = require$$0.computed(() => parseFloat(props.max)); + const step = require$$0.computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0); + const decimals = require$$0.computed(() => Math.max(getDecimals(step.value), getDecimals(min3.value))); + function roundValue(value) { + value = parseFloat(value); + if (step.value <= 0) return value; + const clamped = clamp$1(value, min3.value, max3.value); + const offset = min3.value % step.value; + let newValue = Math.round((clamped - offset) / step.value) * step.value + offset; + if (clamped > newValue && newValue + step.value > max3.value) { + newValue = max3.value; + } + return parseFloat(Math.min(newValue, max3.value).toFixed(decimals.value)); + } + return { + min: min3, + max: max3, + step, + decimals, + roundValue + }; + }; + const useSlider = (_ref) => { + let { + props, + steps, + onSliderStart, + onSliderMove, + onSliderEnd, + getActiveThumb + } = _ref; + const form = useForm(props); + const { + isRtl + } = useRtl(); + const isReversed = require$$0.toRef(() => props.reverse); + const vertical = require$$0.computed(() => props.direction === "vertical"); + const indexFromEnd = require$$0.computed(() => vertical.value !== isReversed.value); + const { + min: min3, + max: max3, + step, + decimals, + roundValue + } = steps; + const thumbSize = require$$0.computed(() => parseInt(props.thumbSize, 10)); + const tickSize = require$$0.computed(() => parseInt(props.tickSize, 10)); + const trackSize = require$$0.computed(() => parseInt(props.trackSize, 10)); + const numTicks = require$$0.computed(() => (max3.value - min3.value) / step.value); + const thumbColor = require$$0.computed(() => props.error || form.isDisabled.value ? void 0 : props.thumbColor ?? props.color); + const thumbLabelColor = require$$0.computed(() => props.error || form.isDisabled.value ? void 0 : props.thumbColor); + const trackColor = require$$0.computed(() => props.error || form.isDisabled.value ? void 0 : props.trackColor ?? props.color); + const trackFillColor = require$$0.computed(() => props.error || form.isDisabled.value ? void 0 : props.trackFillColor ?? props.color); + const mousePressed = require$$0.shallowRef(false); + const startOffset = require$$0.shallowRef(0); + const trackContainerRef = require$$0.ref(); + const activeThumbRef = require$$0.ref(); + function parseMouseMove(e7) { + const el2 = trackContainerRef.value?.$el; + if (!el2) return; + const vertical2 = props.direction === "vertical"; + const start2 = vertical2 ? "top" : "left"; + const length = vertical2 ? "height" : "width"; + const position3 = vertical2 ? "clientY" : "clientX"; + const { + [start2]: trackStart, + [length]: trackLength + } = el2.getBoundingClientRect(); + const clickOffset = getPosition(e7, position3); + let clickPos = clamp$1((clickOffset - trackStart - startOffset.value) / trackLength) || 0; + if (vertical2 ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos; + return roundValue(min3.value + clickPos * (max3.value - min3.value)); + } + const handleStop = (e7) => { + const value = parseMouseMove(e7); + if (value != null) { + onSliderEnd({ + value + }); + } + mousePressed.value = false; + startOffset.value = 0; + }; + const handleStart = (e7) => { + const value = parseMouseMove(e7); + activeThumbRef.value = getActiveThumb(e7); + if (!activeThumbRef.value) return; + mousePressed.value = true; + if (activeThumbRef.value.contains(e7.target)) { + startOffset.value = getOffset(e7, activeThumbRef.value, props.direction); + } else { + startOffset.value = 0; + if (value != null) { + onSliderMove({ + value + }); + } + } + if (value != null) { + onSliderStart({ + value + }); + } + require$$0.nextTick(() => activeThumbRef.value?.focus()); + }; + const moveListenerOptions = { + passive: true, + capture: true + }; + function onMouseMove(e7) { + const value = parseMouseMove(e7); + if (value != null) { + onSliderMove({ + value + }); + } + } + function onSliderMouseUp(e7) { + e7.stopPropagation(); + e7.preventDefault(); + handleStop(e7); + window.removeEventListener("mousemove", onMouseMove, moveListenerOptions); + window.removeEventListener("mouseup", onSliderMouseUp); + } + function onSliderTouchend(e7) { + handleStop(e7); + window.removeEventListener("touchmove", onMouseMove, moveListenerOptions); + e7.target?.removeEventListener("touchend", onSliderTouchend); + } + function onSliderTouchstart(e7) { + handleStart(e7); + window.addEventListener("touchmove", onMouseMove, moveListenerOptions); + e7.target?.addEventListener("touchend", onSliderTouchend, { + passive: false + }); + } + function onSliderMousedown(e7) { + if (e7.button !== 0) return; + e7.preventDefault(); + handleStart(e7); + window.addEventListener("mousemove", onMouseMove, moveListenerOptions); + window.addEventListener("mouseup", onSliderMouseUp, { + passive: false + }); + } + const position2 = (val) => { + const percentage = (val - min3.value) / (max3.value - min3.value) * 100; + return clamp$1(isNaN(percentage) ? 0 : percentage, 0, 100); + }; + const showTicks = require$$0.toRef(() => props.showTicks); + const parsedTicks = require$$0.computed(() => { + if (!showTicks.value) return []; + if (!props.ticks) { + return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map((t) => { + const value = min3.value + t * step.value; + return { + value, + position: position2(value) + }; + }) : []; + } + if (Array.isArray(props.ticks)) return props.ticks.map((t) => ({ + value: t, + position: position2(t), + label: t.toString() + })); + return Object.keys(props.ticks).map((key) => ({ + value: parseFloat(key), + position: position2(parseFloat(key)), + label: props.ticks[key] + })); + }); + const hasLabels = require$$0.computed(() => parsedTicks.value.some((_ref2) => { + let { + label + } = _ref2; + return !!label; + })); + const data = { + activeThumbRef, + color: require$$0.toRef(() => props.color), + decimals, + disabled: form.isDisabled, + direction: require$$0.toRef(() => props.direction), + elevation: require$$0.toRef(() => props.elevation), + hasLabels, + isReversed, + indexFromEnd, + min: min3, + max: max3, + mousePressed, + noKeyboard: require$$0.toRef(() => props.noKeyboard), + numTicks, + onSliderMousedown, + onSliderTouchstart, + parsedTicks, + parseMouseMove, + position: position2, + readonly: form.isReadonly, + rounded: require$$0.toRef(() => props.rounded), + roundValue, + showTicks, + startOffset, + step, + thumbSize, + thumbColor, + thumbLabelColor, + thumbLabel: require$$0.toRef(() => props.thumbLabel), + ticks: require$$0.toRef(() => props.ticks), + tickSize, + trackColor, + trackContainerRef, + trackFillColor, + trackSize, + vertical + }; + require$$0.provide(VSliderSymbol, data); + return data; + }; + const makeVSliderThumbProps = propsFactory({ + focused: Boolean, + max: { + type: Number, + required: true + }, + min: { + type: Number, + required: true + }, + modelValue: { + type: Number, + required: true + }, + position: { + type: Number, + required: true + }, + ripple: { + type: [Boolean, Object], + default: true + }, + name: String, + noKeyboard: Boolean, + ...makeComponentProps() + }, "VSliderThumb"); + const VSliderThumb = genericComponent()({ + name: "VSliderThumb", + directives: { + vRipple: Ripple + }, + props: makeVSliderThumbProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const slider = require$$0.inject(VSliderSymbol); + const { + isRtl, + rtlClasses + } = useRtl(); + if (!slider) throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider"); + const { + min: min3, + max: max3, + thumbColor, + thumbLabelColor, + step, + disabled, + thumbSize, + thumbLabel, + direction, + isReversed, + vertical, + readonly, + elevation, + mousePressed, + decimals, + indexFromEnd + } = slider; + const elevationProps = require$$0.computed(() => !disabled.value ? elevation.value : void 0); + const { + elevationClasses + } = useElevation(elevationProps); + const { + textColorClasses, + textColorStyles + } = useTextColor(thumbColor); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(thumbLabelColor); + const { + pageup, + pagedown, + end: end2, + home, + left, + right, + down, + up: up2 + } = keyValues; + const relevantKeys = [pageup, pagedown, end2, home, left, right, down, up2]; + const multipliers = require$$0.computed(() => { + if (step.value) return [1, 2, 3]; + else return [1, 5, 10]; + }); + function parseKeydown(e7, value) { + if (props.noKeyboard) return; + if (!relevantKeys.includes(e7.key)) return; + e7.preventDefault(); + const _step = step.value || 0.1; + const steps = (max3.value - min3.value) / _step; + if ([left, right, down, up2].includes(e7.key)) { + const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up2] : indexFromEnd.value !== isRtl.value ? [left, up2] : [right, up2]; + const direction2 = increase.includes(e7.key) ? 1 : -1; + const multiplier = e7.shiftKey ? 2 : e7.ctrlKey ? 1 : 0; + if (direction2 === -1 && value === max3.value && !multiplier && !Number.isInteger(steps)) { + value = value - steps % 1 * _step; + } else { + value = value + direction2 * _step * multipliers.value[multiplier]; + } + } else if (e7.key === home) { + value = min3.value; + } else if (e7.key === end2) { + value = max3.value; + } else { + const direction2 = e7.key === pagedown ? 1 : -1; + value = value - direction2 * _step * (steps > 100 ? steps / 10 : 10); + } + return Math.max(props.min, Math.min(props.max, value)); + } + function onKeydown(e7) { + const newValue = parseKeydown(e7, props.modelValue); + newValue != null && emit("update:modelValue", newValue); + } + useRender(() => { + const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, "%"); + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-thumb", { + "v-slider-thumb--focused": props.focused, + "v-slider-thumb--pressed": props.focused && mousePressed.value + }, props.class, rtlClasses.value]), + "style": require$$0.normalizeStyle([{ + "--v-slider-thumb-position": positionPercentage, + "--v-slider-thumb-size": convertToUnit(thumbSize.value) + }, props.style]), + "role": "slider", + "tabindex": disabled.value ? -1 : 0, + "aria-label": props.name, + "aria-valuemin": min3.value, + "aria-valuemax": max3.value, + "aria-valuenow": props.modelValue, + "aria-readonly": !!readonly.value, + "aria-orientation": direction.value, + "onKeydown": !readonly.value ? onKeydown : void 0 + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-thumb__surface", textColorClasses.value, elevationClasses.value]), + "style": require$$0.normalizeStyle(textColorStyles.value) + }, null), require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-thumb__ripple", textColorClasses.value]), + "style": require$$0.normalizeStyle(textColorStyles.value) + }, null), [[Ripple, props.ripple, null, { + circle: true, + center: true + }]]), require$$0.createVNode(VScaleTransition, { + "origin": "bottom center" + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": "v-slider-thumb__label-container" + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-thumb__label", backgroundColorClasses.value]), + "style": require$$0.normalizeStyle(backgroundColorStyles.value) + }, [require$$0.createElementVNode("div", null, [slots["thumb-label"]?.({ + modelValue: props.modelValue + }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), require$$0.createElementVNode("div", { + "class": "v-slider-thumb__label-wedge" + }, null)])]), [[require$$0.vShow, thumbLabel.value && props.focused || thumbLabel.value === "always"]])] + })]); + }); + return {}; + } + }); + const makeVSliderTrackProps = propsFactory({ + start: { + type: Number, + required: true + }, + stop: { + type: Number, + required: true + }, + ...makeComponentProps() + }, "VSliderTrack"); + const VSliderTrack = genericComponent()({ + name: "VSliderTrack", + props: makeVSliderTrackProps(), + emits: {}, + setup(props, _ref) { + let { + slots + } = _ref; + const slider = require$$0.inject(VSliderSymbol); + if (!slider) throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider"); + const { + color, + parsedTicks, + rounded, + showTicks, + tickSize, + trackColor, + trackFillColor, + trackSize, + vertical, + min: min3, + max: max3, + indexFromEnd + } = slider; + const { + roundedClasses + } = useRounded(rounded); + const { + backgroundColorClasses: trackFillColorClasses, + backgroundColorStyles: trackFillColorStyles + } = useBackgroundColor(trackFillColor); + const { + backgroundColorClasses: trackColorClasses, + backgroundColorStyles: trackColorStyles + } = useBackgroundColor(trackColor); + const startDir = require$$0.computed(() => `inset-${vertical.value ? "block" : "inline"}-${indexFromEnd.value ? "end" : "start"}`); + const endDir = require$$0.computed(() => vertical.value ? "height" : "width"); + const backgroundStyles = require$$0.computed(() => { + return { + [startDir.value]: "0%", + [endDir.value]: "100%" + }; + }); + const trackFillWidth = require$$0.computed(() => props.stop - props.start); + const trackFillStyles = require$$0.computed(() => { + return { + [startDir.value]: convertToUnit(props.start, "%"), + [endDir.value]: convertToUnit(trackFillWidth.value, "%") + }; + }); + const computedTicks = require$$0.computed(() => { + if (!showTicks.value) return []; + const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value; + return ticks.map((tick, index2) => { + const directionValue = tick.value !== min3.value && tick.value !== max3.value ? convertToUnit(tick.position, "%") : void 0; + return require$$0.createElementVNode("div", { + "key": tick.value, + "class": require$$0.normalizeClass(["v-slider-track__tick", { + "v-slider-track__tick--filled": tick.position >= props.start && tick.position <= props.stop, + "v-slider-track__tick--first": tick.value === min3.value, + "v-slider-track__tick--last": tick.value === max3.value + }]), + "style": { + [startDir.value]: directionValue + } + }, [(tick.label || slots["tick-label"]) && require$$0.createElementVNode("div", { + "class": "v-slider-track__tick-label" + }, [slots["tick-label"]?.({ + tick, + index: index2 + }) ?? tick.label])]); + }); + }); + useRender(() => { + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-track", roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([{ + "--v-slider-track-size": convertToUnit(trackSize.value), + "--v-slider-tick-size": convertToUnit(tickSize.value) + }, props.style]) + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-track__background", trackColorClasses.value, { + "v-slider-track__background--opacity": !!color.value || !trackFillColor.value + }]), + "style": { + ...backgroundStyles.value, + ...trackColorStyles.value + } + }, null), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-track__fill", trackFillColorClasses.value]), + "style": { + ...trackFillStyles.value, + ...trackFillColorStyles.value + } + }, null), showTicks.value && require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-slider-track__ticks", { + "v-slider-track__ticks--always-show": showTicks.value === "always" + }]) + }, [computedTicks.value])]); + }); + return {}; + } + }); + const makeVSliderProps = propsFactory({ + ...makeFocusProps(), + ...makeSliderProps(), + ...makeVInputProps(), + modelValue: { + type: [Number, String], + default: 0 + } + }, "VSlider"); + const VSlider = genericComponent()({ + name: "VSlider", + props: makeVSliderProps(), + emits: { + "update:focused": (value) => true, + "update:modelValue": (v) => true, + start: (value) => true, + end: (value) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const thumbContainerRef = require$$0.ref(); + const inputRef = require$$0.ref(); + const { + rtlClasses + } = useRtl(); + const steps = useSteps(props); + const model = useProxiedModel(props, "modelValue", void 0, (value) => { + return steps.roundValue(value == null ? steps.min.value : value); + }); + const { + min: min3, + max: max3, + mousePressed, + roundValue, + onSliderMousedown, + onSliderTouchstart, + trackContainerRef, + position: position2, + hasLabels, + disabled, + readonly, + noKeyboard + } = useSlider({ + props, + steps, + onSliderStart: () => { + emit("start", model.value); + }, + onSliderEnd: (_ref2) => { + let { + value + } = _ref2; + const roundedValue = roundValue(value); + model.value = roundedValue; + emit("end", roundedValue); + }, + onSliderMove: (_ref3) => { + let { + value + } = _ref3; + return model.value = roundValue(value); + }, + getActiveThumb: () => thumbContainerRef.value?.$el + }); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const trackStop = require$$0.computed(() => position2(model.value)); + useRender(() => { + const inputProps = VInput.filterProps(props); + const hasPrepend = !!(props.label || slots.label || slots.prepend); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": inputRef, + "class": ["v-slider", { + "v-slider--has-labels": !!slots["tick-label"] || hasLabels.value, + "v-slider--focused": isFocused.value, + "v-slider--pressed": mousePressed.value, + "v-slider--disabled": props.disabled + }, rtlClasses.value, props.class], + "style": props.style + }, inputProps, { + "focused": isFocused.value + }), { + ...slots, + prepend: hasPrepend ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? require$$0.createVNode(VLabel, { + "id": slotProps.id.value, + "class": "v-slider__label", + "text": props.label + }, null) : void 0), slots.prepend?.(slotProps)]) : void 0, + default: (_ref4) => { + let { + id: id2, + messagesId + } = _ref4; + return require$$0.createElementVNode("div", { + "class": "v-slider__container", + "onMousedown": !readonly.value ? onSliderMousedown : void 0, + "onTouchstartPassive": !readonly.value ? onSliderTouchstart : void 0 + }, [require$$0.createElementVNode("input", { + "id": id2.value, + "name": props.name || id2.value, + "disabled": !!disabled.value, + "readonly": !!readonly.value, + "tabindex": "-1", + "value": model.value + }, null), require$$0.createVNode(VSliderTrack, { + "ref": trackContainerRef, + "start": 0, + "stop": trackStop.value + }, { + "tick-label": slots["tick-label"] + }), require$$0.createVNode(VSliderThumb, { + "ref": thumbContainerRef, + "aria-describedby": messagesId.value, + "focused": isFocused.value, + "noKeyboard": noKeyboard.value, + "min": min3.value, + "max": max3.value, + "modelValue": model.value, + "onUpdate:modelValue": (v) => model.value = v, + "position": trackStop.value, + "elevation": props.elevation, + "onFocus": focus2, + "onBlur": blur2, + "ripple": props.ripple, + "name": props.name + }, { + "thumb-label": slots["thumb-label"] + })]); + } + }); + }); + return forwardRefs$1({ + focus: () => thumbContainerRef.value?.$el.focus() + }, inputRef); + } + }); + const makeVColorPickerPreviewProps = propsFactory({ + color: { + type: Object + }, + disabled: Boolean, + hideAlpha: Boolean, + hideEyeDropper: Boolean, + eyeDropperIcon: { + type: IconValue, + default: "$eyeDropper" + }, + ...makeComponentProps() + }, "VColorPickerPreview"); + const VColorPickerPreview = defineComponent({ + name: "VColorPickerPreview", + props: makeVColorPickerPreviewProps(), + emits: { + "update:color": (color) => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + const { + t + } = useLocale(); + const abortController = new AbortController(); + require$$0.onUnmounted(() => abortController.abort()); + async function openEyeDropper() { + if (!SUPPORTS_EYE_DROPPER || props.disabled) return; + const eyeDropper = new window.EyeDropper(); + try { + const result = await eyeDropper.open({ + signal: abortController.signal + }); + const colorHexValue = RGBtoHSV(parseColor(result.sRGBHex)); + emit("update:color", { + ...props.color ?? nullColor, + ...colorHexValue + }); + } catch (e7) { + } + } + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-color-picker-preview", { + "v-color-picker-preview--hide-alpha": props.hideAlpha + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [SUPPORTS_EYE_DROPPER && !props.hideEyeDropper && require$$0.createElementVNode("div", { + "class": "v-color-picker-preview__eye-dropper", + "key": "eyeDropper" + }, [require$$0.createVNode(VBtn, { + "aria-label": t("$vuetify.colorPicker.ariaLabel.eyedropper"), + "density": "comfortable", + "disabled": props.disabled, + "icon": props.eyeDropperIcon, + "variant": "plain", + "onClick": openEyeDropper + }, null)]), require$$0.createElementVNode("div", { + "class": "v-color-picker-preview__dot" + }, [require$$0.createElementVNode("div", { + "style": { + background: HSVtoCSS(props.color ?? nullColor) + } + }, null)]), require$$0.createElementVNode("div", { + "class": "v-color-picker-preview__sliders" + }, [require$$0.createVNode(VSlider, { + "class": "v-color-picker-preview__track v-color-picker-preview__hue", + "name": t("$vuetify.colorPicker.ariaLabel.hueSlider"), + "modelValue": props.color?.h, + "onUpdate:modelValue": (h) => emit("update:color", { + ...props.color ?? nullColor, + h + }), + "step": 0, + "min": 0, + "max": 360, + "disabled": props.disabled, + "thumbSize": 14, + "trackSize": 8, + "trackFillColor": "white", + "hideDetails": true + }, null), !props.hideAlpha && require$$0.createVNode(VSlider, { + "class": "v-color-picker-preview__track v-color-picker-preview__alpha", + "name": t("$vuetify.colorPicker.ariaLabel.alphaSlider"), + "modelValue": props.color?.a ?? 1, + "onUpdate:modelValue": (a) => emit("update:color", { + ...props.color ?? nullColor, + a + }), + "step": 1 / 256, + "min": 0, + "max": 1, + "disabled": props.disabled, + "thumbSize": 14, + "trackSize": 8, + "trackFillColor": "white", + "hideDetails": true + }, null)])])); + return {}; + } + }); + const red = { + base: "#f44336", + lighten5: "#ffebee", + lighten4: "#ffcdd2", + lighten3: "#ef9a9a", + lighten2: "#e57373", + lighten1: "#ef5350", + darken1: "#e53935", + darken2: "#d32f2f", + darken3: "#c62828", + darken4: "#b71c1c", + accent1: "#ff8a80", + accent2: "#ff5252", + accent3: "#ff1744", + accent4: "#d50000" + }; + const pink = { + base: "#e91e63", + lighten5: "#fce4ec", + lighten4: "#f8bbd0", + lighten3: "#f48fb1", + lighten2: "#f06292", + lighten1: "#ec407a", + darken1: "#d81b60", + darken2: "#c2185b", + darken3: "#ad1457", + darken4: "#880e4f", + accent1: "#ff80ab", + accent2: "#ff4081", + accent3: "#f50057", + accent4: "#c51162" + }; + const purple = { + base: "#9c27b0", + lighten5: "#f3e5f5", + lighten4: "#e1bee7", + lighten3: "#ce93d8", + lighten2: "#ba68c8", + lighten1: "#ab47bc", + darken1: "#8e24aa", + darken2: "#7b1fa2", + darken3: "#6a1b9a", + darken4: "#4a148c", + accent1: "#ea80fc", + accent2: "#e040fb", + accent3: "#d500f9", + accent4: "#aa00ff" + }; + const deepPurple = { + base: "#673ab7", + lighten5: "#ede7f6", + lighten4: "#d1c4e9", + lighten3: "#b39ddb", + lighten2: "#9575cd", + lighten1: "#7e57c2", + darken1: "#5e35b1", + darken2: "#512da8", + darken3: "#4527a0", + darken4: "#311b92", + accent1: "#b388ff", + accent2: "#7c4dff", + accent3: "#651fff", + accent4: "#6200ea" + }; + const indigo = { + base: "#3f51b5", + lighten5: "#e8eaf6", + lighten4: "#c5cae9", + lighten3: "#9fa8da", + lighten2: "#7986cb", + lighten1: "#5c6bc0", + darken1: "#3949ab", + darken2: "#303f9f", + darken3: "#283593", + darken4: "#1a237e", + accent1: "#8c9eff", + accent2: "#536dfe", + accent3: "#3d5afe", + accent4: "#304ffe" + }; + const blue = { + base: "#2196f3", + lighten5: "#e3f2fd", + lighten4: "#bbdefb", + lighten3: "#90caf9", + lighten2: "#64b5f6", + lighten1: "#42a5f5", + darken1: "#1e88e5", + darken2: "#1976d2", + darken3: "#1565c0", + darken4: "#0d47a1", + accent1: "#82b1ff", + accent2: "#448aff", + accent3: "#2979ff", + accent4: "#2962ff" + }; + const lightBlue = { + base: "#03a9f4", + lighten5: "#e1f5fe", + lighten4: "#b3e5fc", + lighten3: "#81d4fa", + lighten2: "#4fc3f7", + lighten1: "#29b6f6", + darken1: "#039be5", + darken2: "#0288d1", + darken3: "#0277bd", + darken4: "#01579b", + accent1: "#80d8ff", + accent2: "#40c4ff", + accent3: "#00b0ff", + accent4: "#0091ea" + }; + const cyan = { + base: "#00bcd4", + lighten5: "#e0f7fa", + lighten4: "#b2ebf2", + lighten3: "#80deea", + lighten2: "#4dd0e1", + lighten1: "#26c6da", + darken1: "#00acc1", + darken2: "#0097a7", + darken3: "#00838f", + darken4: "#006064", + accent1: "#84ffff", + accent2: "#18ffff", + accent3: "#00e5ff", + accent4: "#00b8d4" + }; + const teal = { + base: "#009688", + lighten5: "#e0f2f1", + lighten4: "#b2dfdb", + lighten3: "#80cbc4", + lighten2: "#4db6ac", + lighten1: "#26a69a", + darken1: "#00897b", + darken2: "#00796b", + darken3: "#00695c", + darken4: "#004d40", + accent1: "#a7ffeb", + accent2: "#64ffda", + accent3: "#1de9b6", + accent4: "#00bfa5" + }; + const green = { + base: "#4caf50", + lighten5: "#e8f5e9", + lighten4: "#c8e6c9", + lighten3: "#a5d6a7", + lighten2: "#81c784", + lighten1: "#66bb6a", + darken1: "#43a047", + darken2: "#388e3c", + darken3: "#2e7d32", + darken4: "#1b5e20", + accent1: "#b9f6ca", + accent2: "#69f0ae", + accent3: "#00e676", + accent4: "#00c853" + }; + const lightGreen = { + base: "#8bc34a", + lighten5: "#f1f8e9", + lighten4: "#dcedc8", + lighten3: "#c5e1a5", + lighten2: "#aed581", + lighten1: "#9ccc65", + darken1: "#7cb342", + darken2: "#689f38", + darken3: "#558b2f", + darken4: "#33691e", + accent1: "#ccff90", + accent2: "#b2ff59", + accent3: "#76ff03", + accent4: "#64dd17" + }; + const lime = { + base: "#cddc39", + lighten5: "#f9fbe7", + lighten4: "#f0f4c3", + lighten3: "#e6ee9c", + lighten2: "#dce775", + lighten1: "#d4e157", + darken1: "#c0ca33", + darken2: "#afb42b", + darken3: "#9e9d24", + darken4: "#827717", + accent1: "#f4ff81", + accent2: "#eeff41", + accent3: "#c6ff00", + accent4: "#aeea00" + }; + const yellow = { + base: "#ffeb3b", + lighten5: "#fffde7", + lighten4: "#fff9c4", + lighten3: "#fff59d", + lighten2: "#fff176", + lighten1: "#ffee58", + darken1: "#fdd835", + darken2: "#fbc02d", + darken3: "#f9a825", + darken4: "#f57f17", + accent1: "#ffff8d", + accent2: "#ffff00", + accent3: "#ffea00", + accent4: "#ffd600" + }; + const amber = { + base: "#ffc107", + lighten5: "#fff8e1", + lighten4: "#ffecb3", + lighten3: "#ffe082", + lighten2: "#ffd54f", + lighten1: "#ffca28", + darken1: "#ffb300", + darken2: "#ffa000", + darken3: "#ff8f00", + darken4: "#ff6f00", + accent1: "#ffe57f", + accent2: "#ffd740", + accent3: "#ffc400", + accent4: "#ffab00" + }; + const orange = { + base: "#ff9800", + lighten5: "#fff3e0", + lighten4: "#ffe0b2", + lighten3: "#ffcc80", + lighten2: "#ffb74d", + lighten1: "#ffa726", + darken1: "#fb8c00", + darken2: "#f57c00", + darken3: "#ef6c00", + darken4: "#e65100", + accent1: "#ffd180", + accent2: "#ffab40", + accent3: "#ff9100", + accent4: "#ff6d00" + }; + const deepOrange = { + base: "#ff5722", + lighten5: "#fbe9e7", + lighten4: "#ffccbc", + lighten3: "#ffab91", + lighten2: "#ff8a65", + lighten1: "#ff7043", + darken1: "#f4511e", + darken2: "#e64a19", + darken3: "#d84315", + darken4: "#bf360c", + accent1: "#ff9e80", + accent2: "#ff6e40", + accent3: "#ff3d00", + accent4: "#dd2c00" + }; + const brown = { + base: "#795548", + lighten5: "#efebe9", + lighten4: "#d7ccc8", + lighten3: "#bcaaa4", + lighten2: "#a1887f", + lighten1: "#8d6e63", + darken1: "#6d4c41", + darken2: "#5d4037", + darken3: "#4e342e", + darken4: "#3e2723" + }; + const blueGrey = { + base: "#607d8b", + lighten5: "#eceff1", + lighten4: "#cfd8dc", + lighten3: "#b0bec5", + lighten2: "#90a4ae", + lighten1: "#78909c", + darken1: "#546e7a", + darken2: "#455a64", + darken3: "#37474f", + darken4: "#263238" + }; + const grey = { + base: "#9e9e9e", + lighten5: "#fafafa", + lighten4: "#f5f5f5", + lighten3: "#eeeeee", + lighten2: "#e0e0e0", + lighten1: "#bdbdbd", + darken1: "#757575", + darken2: "#616161", + darken3: "#424242", + darken4: "#212121" + }; + const shades = { + black: "#000000", + white: "#ffffff", + transparent: "#ffffff00" + }; + const colors = { + red, + pink, + purple, + deepPurple, + indigo, + blue, + lightBlue, + cyan, + teal, + green, + lightGreen, + lime, + yellow, + amber, + orange, + deepOrange, + brown, + blueGrey, + grey, + shades + }; + const makeVColorPickerSwatchesProps = propsFactory({ + swatches: { + type: Array, + default: () => parseDefaultColors(colors) + }, + disabled: Boolean, + color: Object, + maxHeight: [Number, String], + ...makeComponentProps() + }, "VColorPickerSwatches"); + function parseDefaultColors(colors2) { + return Object.keys(colors2).map((key) => { + const color = colors2[key]; + return color.base ? [color.base, color.darken4, color.darken3, color.darken2, color.darken1, color.lighten1, color.lighten2, color.lighten3, color.lighten4, color.lighten5] : [color.black, color.white, color.transparent]; + }); + } + const VColorPickerSwatches = defineComponent({ + name: "VColorPickerSwatches", + props: makeVColorPickerSwatchesProps(), + emits: { + "update:color": (color) => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-color-picker-swatches", props.class]), + "style": require$$0.normalizeStyle([{ + maxHeight: convertToUnit(props.maxHeight) + }, props.style]) + }, [require$$0.createElementVNode("div", null, [props.swatches.map((swatch) => require$$0.createElementVNode("div", { + "class": "v-color-picker-swatches__swatch" + }, [swatch.map((color) => { + const rgba2 = parseColor(color); + const hsva = RGBtoHSV(rgba2); + const background = RGBtoCSS(rgba2); + return require$$0.createElementVNode("div", { + "class": "v-color-picker-swatches__color", + "onClick": () => hsva && emit("update:color", hsva) + }, [require$$0.createElementVNode("div", { + "style": { + background + } + }, [props.color && deepEqual(props.color, hsva) ? require$$0.createVNode(VIcon, { + "size": "x-small", + "icon": "$success", + "color": getContrast(color, "#FFFFFF") > 2 ? "white" : "black" + }, null) : void 0])]); + })]))])])); + return {}; + } + }); + const VPickerTitle = createSimpleFunctional("v-picker-title"); + const makeVSheetProps = propsFactory({ + color: String, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeLocationProps(), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VSheet"); + const VSheet = genericComponent()({ + name: "VSheet", + props: makeVSheetProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + borderClasses + } = useBorder(props); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + locationStyles + } = useLocation(props); + const { + positionClasses + } = usePosition(props); + const { + roundedClasses + } = useRounded(props); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-sheet", themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]) + }, slots)); + return {}; + } + }); + const makeVPickerProps = propsFactory({ + bgColor: String, + divided: Boolean, + landscape: Boolean, + title: String, + hideHeader: Boolean, + hideTitle: Boolean, + ...makeVSheetProps() + }, "VPicker"); + const VPicker = genericComponent()({ + name: "VPicker", + props: makeVPickerProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + useRender(() => { + const sheetProps = VSheet.filterProps(props); + const hasTitle = !props.hideTitle && !!(props.title || slots.title); + return require$$0.createVNode(VSheet, require$$0.mergeProps(sheetProps, { + "color": props.bgColor, + "class": ["v-picker", { + "v-picker--divided": props.divided, + "v-picker--landscape": props.landscape, + "v-picker--with-actions": !!slots.actions + }, props.class], + "style": props.style + }), { + default: () => [!props.hideHeader && require$$0.createElementVNode("div", { + "key": "header", + "class": require$$0.normalizeClass([backgroundColorClasses.value]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value]) + }, [hasTitle && require$$0.createVNode(VPickerTitle, { + "key": "picker-title" + }, { + default: () => [slots.title?.() ?? props.title] + }), slots.header && require$$0.createElementVNode("div", { + "class": "v-picker__header" + }, [slots.header()])]), require$$0.createElementVNode("div", { + "class": "v-picker__body" + }, [slots.default?.()]), slots.actions && require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + slim: true, + variant: "text" + } + } + }, { + default: () => [require$$0.createElementVNode("div", { + "class": "v-picker__actions" + }, [slots.actions()])] + })] + }); + }); + return {}; + } + }); + function weekInfo(locale) { + const code2 = locale.slice(-2).toUpperCase(); + switch (true) { + case locale === "GB-alt-variant": { + return { + firstDay: 0, + firstWeekSize: 4 + }; + } + case locale === "001": { + return { + firstDay: 1, + firstWeekSize: 1 + }; + } + case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE + KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US + VE VI WS YE ZA ZW`.includes(code2): { + return { + firstDay: 0, + firstWeekSize: 1 + }; + } + case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV + MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code2): { + return { + firstDay: 1, + firstWeekSize: 1 + }; + } + case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS + IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code2): { + return { + firstDay: 1, + firstWeekSize: 4 + }; + } + case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code2): { + return { + firstDay: 6, + firstWeekSize: 1 + }; + } + case code2 === "MV": { + return { + firstDay: 5, + firstWeekSize: 1 + }; + } + case code2 === "PT": { + return { + firstDay: 0, + firstWeekSize: 4 + }; + } + default: + return null; + } + } + function getWeekArray(date2, locale, firstDayOfWeek) { + const weeks = []; + let currentWeek = []; + const firstDayOfMonth = startOfMonth(date2); + const lastDayOfMonth = endOfMonth(date2); + const first2 = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0; + const firstDayWeekIndex = (firstDayOfMonth.getDay() - first2 + 7) % 7; + const lastDayWeekIndex = (lastDayOfMonth.getDay() - first2 + 7) % 7; + for (let i7 = 0; i7 < firstDayWeekIndex; i7++) { + const adjacentDay = new Date(firstDayOfMonth); + adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i7)); + currentWeek.push(adjacentDay); + } + for (let i7 = 1; i7 <= lastDayOfMonth.getDate(); i7++) { + const day = new Date(date2.getFullYear(), date2.getMonth(), i7); + currentWeek.push(day); + if (currentWeek.length === 7) { + weeks.push(currentWeek); + currentWeek = []; + } + } + for (let i7 = 1; i7 < 7 - lastDayWeekIndex; i7++) { + const adjacentDay = new Date(lastDayOfMonth); + adjacentDay.setDate(adjacentDay.getDate() + i7); + currentWeek.push(adjacentDay); + } + if (currentWeek.length > 0) { + weeks.push(currentWeek); + } + return weeks; + } + function startOfWeek$1(date2, locale, firstDayOfWeek) { + let day = (firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0) % 7; + if (![0, 1, 2, 3, 4, 5, 6].includes(day)) { + consoleWarn("Invalid firstDayOfWeek, expected discrete number in range [0-6]"); + day = 0; + } + const d = new Date(date2); + while (d.getDay() !== day) { + d.setDate(d.getDate() - 1); + } + return d; + } + function endOfWeek(date2, locale) { + const d = new Date(date2); + const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7; + while (d.getDay() !== lastDay) { + d.setDate(d.getDate() + 1); + } + return d; + } + function startOfMonth(date2) { + return new Date(date2.getFullYear(), date2.getMonth(), 1); + } + function endOfMonth(date2) { + return new Date(date2.getFullYear(), date2.getMonth() + 1, 0); + } + function parseLocalDate(value) { + const parts = value.split("-").map(Number); + return new Date(parts[0], parts[1] - 1, parts[2]); + } + const _YYYMMDD = /^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/; + function date(value) { + if (value == null) return /* @__PURE__ */ new Date(); + if (value instanceof Date) return value; + if (typeof value === "string") { + let parsed; + if (_YYYMMDD.test(value)) { + return parseLocalDate(value); + } else { + parsed = Date.parse(value); + } + if (!isNaN(parsed)) return new Date(parsed); + } + return null; + } + const sundayJanuarySecond2000 = new Date(2e3, 0, 2); + function getWeekdays(locale, firstDayOfWeek, weekdayFormat) { + const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0; + return createRange(7).map((i7) => { + const weekday = new Date(sundayJanuarySecond2000); + weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i7); + return new Intl.DateTimeFormat(locale, { + weekday: weekdayFormat ?? "narrow" + }).format(weekday); + }); + } + function format$4(value, formatString, locale, formats) { + const newDate = date(value) ?? /* @__PURE__ */ new Date(); + const customFormat = formats?.[formatString]; + if (typeof customFormat === "function") { + return customFormat(newDate, formatString, locale); + } + let options = {}; + switch (formatString) { + case "fullDate": + options = { + year: "numeric", + month: "short", + day: "numeric" + }; + break; + case "fullDateWithWeekday": + options = { + weekday: "long", + year: "numeric", + month: "long", + day: "numeric" + }; + break; + case "normalDate": + const day = newDate.getDate(); + const month = new Intl.DateTimeFormat(locale, { + month: "long" + }).format(newDate); + return `${day} ${month}`; + case "normalDateWithWeekday": + options = { + weekday: "short", + day: "numeric", + month: "short" + }; + break; + case "shortDate": + options = { + month: "short", + day: "numeric" + }; + break; + case "year": + options = { + year: "numeric" + }; + break; + case "month": + options = { + month: "long" + }; + break; + case "monthShort": + options = { + month: "short" + }; + break; + case "monthAndYear": + options = { + month: "long", + year: "numeric" + }; + break; + case "monthAndDate": + options = { + month: "long", + day: "numeric" + }; + break; + case "weekday": + options = { + weekday: "long" + }; + break; + case "weekdayShort": + options = { + weekday: "short" + }; + break; + case "dayOfMonth": + return new Intl.NumberFormat(locale).format(newDate.getDate()); + case "hours12h": + options = { + hour: "numeric", + hour12: true + }; + break; + case "hours24h": + options = { + hour: "numeric", + hour12: false + }; + break; + case "minutes": + options = { + minute: "numeric" + }; + break; + case "seconds": + options = { + second: "numeric" + }; + break; + case "fullTime": + options = { + hour: "numeric", + minute: "numeric" + }; + break; + case "fullTime12h": + options = { + hour: "numeric", + minute: "numeric", + hour12: true + }; + break; + case "fullTime24h": + options = { + hour: "numeric", + minute: "numeric", + hour12: false + }; + break; + case "fullDateTime": + options = { + year: "numeric", + month: "short", + day: "numeric", + hour: "numeric", + minute: "numeric" + }; + break; + case "fullDateTime12h": + options = { + year: "numeric", + month: "short", + day: "numeric", + hour: "numeric", + minute: "numeric", + hour12: true + }; + break; + case "fullDateTime24h": + options = { + year: "numeric", + month: "short", + day: "numeric", + hour: "numeric", + minute: "numeric", + hour12: false + }; + break; + case "keyboardDate": + options = { + year: "numeric", + month: "2-digit", + day: "2-digit" + }; + break; + case "keyboardDateTime": + options = { + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "numeric", + minute: "numeric" + }; + return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, " "); + case "keyboardDateTime12h": + options = { + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "numeric", + minute: "numeric", + hour12: true + }; + return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, " "); + case "keyboardDateTime24h": + options = { + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "numeric", + minute: "numeric", + hour12: false + }; + return new Intl.DateTimeFormat(locale, options).format(newDate).replace(/, /g, " "); + default: + options = customFormat ?? { + timeZone: "UTC", + timeZoneName: "short" + }; + } + return new Intl.DateTimeFormat(locale, options).format(newDate); + } + function toISO(adapter, value) { + const date2 = adapter.toJsDate(value); + const year = date2.getFullYear(); + const month = padStart(String(date2.getMonth() + 1), 2, "0"); + const day = padStart(String(date2.getDate()), 2, "0"); + return `${year}-${month}-${day}`; + } + function parseISO(value) { + const [year, month, day] = value.split("-").map(Number); + return new Date(year, month - 1, day); + } + function addMinutes(date2, amount) { + const d = new Date(date2); + d.setMinutes(d.getMinutes() + amount); + return d; + } + function addHours(date2, amount) { + const d = new Date(date2); + d.setHours(d.getHours() + amount); + return d; + } + function addDays$1(date2, amount) { + const d = new Date(date2); + d.setDate(d.getDate() + amount); + return d; + } + function addWeeks(date2, amount) { + const d = new Date(date2); + d.setDate(d.getDate() + amount * 7); + return d; + } + function addMonths(date2, amount) { + const d = new Date(date2); + d.setDate(1); + d.setMonth(d.getMonth() + amount); + return d; + } + function getYear(date2) { + return date2.getFullYear(); + } + function getMonth(date2) { + return date2.getMonth(); + } + function getWeek$1(date2, locale, firstDayOfWeek, firstDayOfYear) { + const weekInfoFromLocale = weekInfo(locale); + const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0; + const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1; + return firstDayOfYear !== void 0 ? calculateWeekWithFirstDayOfYear(date2, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date2, locale, weekStart, minWeekSize); + } + function calculateWeekWithFirstDayOfYear(date2, locale, weekStart, firstDayOfYear) { + const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7; + const currentWeekStart = startOfWeek$1(date2, locale, weekStart); + const currentWeekEnd = addDays$1(currentWeekStart, 6); + function yearStartWeekdayOffset(year2) { + return (7 + new Date(year2, 0, 1).getDay() - weekStart) % 7; + } + let year = getYear(date2); + if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) { + year++; + } + const yearStart = new Date(year, 0, 1); + const offset = yearStartWeekdayOffset(year); + const d1w1 = offset <= firstDayOfYearOffset ? addDays$1(yearStart, -offset) : addDays$1(yearStart, 7 - offset); + return 1 + getDiff(endOfDay(date2), startOfDay$1(d1w1), "weeks"); + } + function calculateWeekWithMinWeekSize(date2, locale, weekStart, minWeekSize) { + const currentWeekEnd = addDays$1(startOfWeek$1(date2, locale, weekStart), 6); + function firstWeekSize(year2) { + const yearStart2 = new Date(year2, 0, 1); + return 7 - getDiff(yearStart2, startOfWeek$1(yearStart2, locale, weekStart), "days"); + } + let year = getYear(date2); + if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) { + year++; + } + const yearStart = new Date(year, 0, 1); + const size = firstWeekSize(year); + const d1w1 = size >= minWeekSize ? addDays$1(yearStart, size - 7) : addDays$1(yearStart, size); + return 1 + getDiff(endOfDay(date2), startOfDay$1(d1w1), "weeks"); + } + function getDate(date2) { + return date2.getDate(); + } + function getNextMonth(date2) { + return new Date(date2.getFullYear(), date2.getMonth() + 1, 1); + } + function getPreviousMonth(date2) { + return new Date(date2.getFullYear(), date2.getMonth() - 1, 1); + } + function getHours(date2) { + return date2.getHours(); + } + function getMinutes(date2) { + return date2.getMinutes(); + } + function startOfYear$1(date2) { + return new Date(date2.getFullYear(), 0, 1); + } + function endOfYear(date2) { + return new Date(date2.getFullYear(), 11, 31); + } + function isWithinRange(date2, range) { + return isAfter(date2, range[0]) && isBefore(date2, range[1]); + } + function isValid$1(date2) { + const d = new Date(date2); + return d instanceof Date && !isNaN(d.getTime()); + } + function isAfter(date2, comparing) { + return date2.getTime() > comparing.getTime(); + } + function isAfterDay(date2, comparing) { + return isAfter(startOfDay$1(date2), startOfDay$1(comparing)); + } + function isBefore(date2, comparing) { + return date2.getTime() < comparing.getTime(); + } + function isEqual$1(date2, comparing) { + return date2.getTime() === comparing.getTime(); + } + function isSameDay(date2, comparing) { + return date2.getDate() === comparing.getDate() && date2.getMonth() === comparing.getMonth() && date2.getFullYear() === comparing.getFullYear(); + } + function isSameMonth(date2, comparing) { + return date2.getMonth() === comparing.getMonth() && date2.getFullYear() === comparing.getFullYear(); + } + function isSameYear(date2, comparing) { + return date2.getFullYear() === comparing.getFullYear(); + } + function getDiff(date2, comparing, unit) { + const d = new Date(date2); + const c = new Date(comparing); + switch (unit) { + case "years": + return d.getFullYear() - c.getFullYear(); + case "quarters": + return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4); + case "months": + return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12; + case "weeks": + return Math.floor((d.getTime() - c.getTime()) / (1e3 * 60 * 60 * 24 * 7)); + case "days": + return Math.floor((d.getTime() - c.getTime()) / (1e3 * 60 * 60 * 24)); + case "hours": + return Math.floor((d.getTime() - c.getTime()) / (1e3 * 60 * 60)); + case "minutes": + return Math.floor((d.getTime() - c.getTime()) / (1e3 * 60)); + case "seconds": + return Math.floor((d.getTime() - c.getTime()) / 1e3); + default: { + return d.getTime() - c.getTime(); + } + } + } + function setHours(date2, count2) { + const d = new Date(date2); + d.setHours(count2); + return d; + } + function setMinutes(date2, count2) { + const d = new Date(date2); + d.setMinutes(count2); + return d; + } + function setMonth(date2, count2) { + const d = new Date(date2); + d.setMonth(count2); + return d; + } + function setDate(date2, day) { + const d = new Date(date2); + d.setDate(day); + return d; + } + function setYear(date2, year) { + const d = new Date(date2); + d.setFullYear(year); + return d; + } + function startOfDay$1(date2) { + return new Date(date2.getFullYear(), date2.getMonth(), date2.getDate(), 0, 0, 0, 0); + } + function endOfDay(date2) { + return new Date(date2.getFullYear(), date2.getMonth(), date2.getDate(), 23, 59, 59, 999); + } + class VuetifyDateAdapter { + constructor(options) { + this.locale = options.locale; + this.formats = options.formats; + } + date(value) { + return date(value); + } + toJsDate(date2) { + return date2; + } + toISO(date2) { + return toISO(this, date2); + } + parseISO(date2) { + return parseISO(date2); + } + addMinutes(date2, amount) { + return addMinutes(date2, amount); + } + addHours(date2, amount) { + return addHours(date2, amount); + } + addDays(date2, amount) { + return addDays$1(date2, amount); + } + addWeeks(date2, amount) { + return addWeeks(date2, amount); + } + addMonths(date2, amount) { + return addMonths(date2, amount); + } + getWeekArray(date2, firstDayOfWeek) { + const firstDay = firstDayOfWeek !== void 0 ? Number(firstDayOfWeek) : void 0; + return getWeekArray(date2, this.locale, firstDay); + } + startOfWeek(date2, firstDayOfWeek) { + const firstDay = firstDayOfWeek !== void 0 ? Number(firstDayOfWeek) : void 0; + return startOfWeek$1(date2, this.locale, firstDay); + } + endOfWeek(date2) { + return endOfWeek(date2, this.locale); + } + startOfMonth(date2) { + return startOfMonth(date2); + } + endOfMonth(date2) { + return endOfMonth(date2); + } + format(date2, formatString) { + return format$4(date2, formatString, this.locale, this.formats); + } + isEqual(date2, comparing) { + return isEqual$1(date2, comparing); + } + isValid(date2) { + return isValid$1(date2); + } + isWithinRange(date2, range) { + return isWithinRange(date2, range); + } + isAfter(date2, comparing) { + return isAfter(date2, comparing); + } + isAfterDay(date2, comparing) { + return isAfterDay(date2, comparing); + } + isBefore(date2, comparing) { + return !isAfter(date2, comparing) && !isEqual$1(date2, comparing); + } + isSameDay(date2, comparing) { + return isSameDay(date2, comparing); + } + isSameMonth(date2, comparing) { + return isSameMonth(date2, comparing); + } + isSameYear(date2, comparing) { + return isSameYear(date2, comparing); + } + setMinutes(date2, count2) { + return setMinutes(date2, count2); + } + setHours(date2, count2) { + return setHours(date2, count2); + } + setMonth(date2, count2) { + return setMonth(date2, count2); + } + setDate(date2, day) { + return setDate(date2, day); + } + setYear(date2, year) { + return setYear(date2, year); + } + getDiff(date2, comparing, unit) { + return getDiff(date2, comparing, unit); + } + getWeekdays(firstDayOfWeek, weekdayFormat) { + const firstDay = firstDayOfWeek !== void 0 ? Number(firstDayOfWeek) : void 0; + return getWeekdays(this.locale, firstDay, weekdayFormat); + } + getYear(date2) { + return getYear(date2); + } + getMonth(date2) { + return getMonth(date2); + } + getWeek(date2, firstDayOfWeek, firstDayOfYear) { + const firstDay = firstDayOfWeek !== void 0 ? Number(firstDayOfWeek) : void 0; + const firstWeekStart = firstDayOfYear !== void 0 ? Number(firstDayOfYear) : void 0; + return getWeek$1(date2, this.locale, firstDay, firstWeekStart); + } + getDate(date2) { + return getDate(date2); + } + getNextMonth(date2) { + return getNextMonth(date2); + } + getPreviousMonth(date2) { + return getPreviousMonth(date2); + } + getHours(date2) { + return getHours(date2); + } + getMinutes(date2) { + return getMinutes(date2); + } + startOfDay(date2) { + return startOfDay$1(date2); + } + endOfDay(date2) { + return endOfDay(date2); + } + startOfYear(date2) { + return startOfYear$1(date2); + } + endOfYear(date2) { + return endOfYear(date2); + } + } + const DateOptionsSymbol = Symbol.for("vuetify:date-options"); + const DateAdapterSymbol = Symbol.for("vuetify:date-adapter"); + function createDate(options, locale) { + const _options = mergeDeep$1({ + adapter: VuetifyDateAdapter, + locale: { + af: "af-ZA", + // ar: '', # not the same value for all variants + bg: "bg-BG", + ca: "ca-ES", + ckb: "", + cs: "cs-CZ", + de: "de-DE", + el: "el-GR", + en: "en-US", + // es: '', # not the same value for all variants + et: "et-EE", + fa: "fa-IR", + fi: "fi-FI", + // fr: '', #not the same value for all variants + hr: "hr-HR", + hu: "hu-HU", + he: "he-IL", + id: "id-ID", + it: "it-IT", + ja: "ja-JP", + ko: "ko-KR", + lv: "lv-LV", + lt: "lt-LT", + nl: "nl-NL", + no: "no-NO", + pl: "pl-PL", + pt: "pt-PT", + ro: "ro-RO", + ru: "ru-RU", + sk: "sk-SK", + sl: "sl-SI", + srCyrl: "sr-SP", + srLatn: "sr-SP", + sv: "sv-SE", + th: "th-TH", + tr: "tr-TR", + az: "az-AZ", + uk: "uk-UA", + vi: "vi-VN", + zhHans: "zh-CN", + zhHant: "zh-TW" + } + }, options); + return { + options: _options, + instance: createInstance(_options, locale) + }; + } + function createDateRange(adapter, start2, stop2) { + const diff = adapter.getDiff(adapter.endOfDay(stop2 ?? start2), adapter.startOfDay(start2), "days"); + const datesInRange = [start2]; + for (let i7 = 1; i7 < diff; i7++) { + const nextDate = adapter.addDays(start2, i7); + datesInRange.push(nextDate); + } + if (stop2) { + datesInRange.push(adapter.endOfDay(stop2)); + } + return datesInRange; + } + function createInstance(options, locale) { + const instance = require$$0.reactive(typeof options.adapter === "function" ? new options.adapter({ + locale: options.locale[locale.current.value] ?? locale.current.value, + formats: options.formats + }) : options.adapter); + require$$0.watch(locale.current, (value) => { + instance.locale = options.locale[value] ?? value ?? instance.locale; + }); + return instance; + } + function useDate() { + const options = require$$0.inject(DateOptionsSymbol); + if (!options) throw new Error("[Vuetify] Could not find injected date options"); + const locale = useLocale(); + return createInstance(options, locale); + } + const makeVColorPickerProps = propsFactory({ + canvasHeight: { + type: [String, Number], + default: 150 + }, + disabled: Boolean, + dotSize: { + type: [Number, String], + default: 10 + }, + hideCanvas: Boolean, + hideSliders: Boolean, + hideInputs: Boolean, + mode: { + type: String, + default: "rgba", + validator: (v) => Object.keys(modes).includes(v) + }, + modes: { + type: Array, + default: () => Object.keys(modes), + validator: (v) => Array.isArray(v) && v.every((m7) => Object.keys(modes).includes(m7)) + }, + showSwatches: Boolean, + swatches: Array, + swatchesMaxHeight: { + type: [Number, String], + default: 150 + }, + modelValue: { + type: [Object, String] + }, + ...makeVPickerProps({ + hideHeader: true + }), + ...pick(makeVColorPickerPreviewProps(), ["hideEyeDropper", "eyeDropperIcon"]) + }, "VColorPicker"); + const VColorPicker = defineComponent({ + name: "VColorPicker", + props: makeVColorPickerProps(), + emits: { + "update:modelValue": (color) => true, + "update:mode": (mode) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const mode = useProxiedModel(props, "mode"); + const hue = require$$0.ref(null); + const model = useProxiedModel(props, "modelValue", void 0, (v) => { + if (v == null || v === "") return null; + let c; + try { + c = RGBtoHSV(parseColor(v)); + } catch (err) { + consoleWarn(err); + return null; + } + return c; + }, (v) => { + if (!v) return null; + return extractColor(v, props.modelValue); + }); + const currentColor = require$$0.computed(() => { + return model.value ? { + ...model.value, + h: hue.value ?? model.value.h + } : null; + }); + const { + rtlClasses + } = useRtl(); + let externalChange = true; + require$$0.watch(model, (v) => { + if (!externalChange) { + externalChange = true; + return; + } + if (!v) return; + hue.value = v.h; + }, { + immediate: true + }); + const updateColor = (hsva) => { + externalChange = false; + hue.value = hsva.h; + model.value = hsva; + }; + require$$0.onBeforeMount(() => { + if (!props.modes.includes(mode.value)) mode.value = props.modes[0]; + }); + provideDefaults({ + VSlider: { + color: void 0, + trackColor: void 0, + trackFillColor: void 0 + } + }); + useRender(() => { + const pickerProps = VPicker.filterProps(props); + return require$$0.createVNode(VPicker, require$$0.mergeProps(pickerProps, { + "class": ["v-color-picker", rtlClasses.value, props.class], + "style": [{ + "--v-color-picker-color-hsv": HSVtoCSS({ + ...currentColor.value ?? nullColor, + a: 1 + }) + }, props.style] + }), { + ...slots, + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [!props.hideCanvas && require$$0.createVNode(VColorPickerCanvas, { + "key": "canvas", + "color": currentColor.value, + "onUpdate:color": updateColor, + "disabled": props.disabled, + "dotSize": props.dotSize, + "width": props.width, + "height": props.canvasHeight + }, null), (!props.hideSliders || !props.hideInputs) && require$$0.createElementVNode("div", { + "key": "controls", + "class": "v-color-picker__controls" + }, [!props.hideSliders && require$$0.createVNode(VColorPickerPreview, { + "key": "preview", + "color": currentColor.value, + "onUpdate:color": updateColor, + "hideAlpha": !mode.value.endsWith("a"), + "disabled": props.disabled, + "hideEyeDropper": props.hideEyeDropper, + "eyeDropperIcon": props.eyeDropperIcon + }, null), !props.hideInputs && require$$0.createVNode(VColorPickerEdit, { + "key": "edit", + "modes": props.modes, + "mode": mode.value, + "onUpdate:mode": (m7) => mode.value = m7, + "color": currentColor.value, + "onUpdate:color": updateColor, + "disabled": props.disabled + }, null)]), props.showSwatches && require$$0.createVNode(VColorPickerSwatches, { + "key": "swatches", + "color": currentColor.value, + "onUpdate:color": updateColor, + "maxHeight": props.swatchesMaxHeight, + "swatches": props.swatches, + "disabled": props.disabled + }, null)]) + }); + }); + return {}; + } + }); + const makeVComboboxProps = propsFactory({ + autoSelectFirst: { + type: [Boolean, String] + }, + clearOnSelect: { + type: Boolean, + default: true + }, + delimiters: Array, + ...makeFilterProps({ + filterKeys: ["title"] + }), + ...makeSelectProps({ + hideNoData: true, + returnObject: true + }), + ...omit(makeVTextFieldProps({ + modelValue: null, + role: "combobox" + }), ["validationValue", "dirty", "appendInnerIcon"]), + ...makeTransitionProps({ + transition: false + }) + }, "VCombobox"); + const VCombobox = genericComponent()({ + name: "VCombobox", + props: makeVComboboxProps(), + emits: { + "update:focused": (focused) => true, + "update:modelValue": (value) => true, + "update:search": (value) => true, + "update:menu": (value) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + t + } = useLocale(); + const vTextFieldRef = require$$0.ref(); + const isFocused = require$$0.shallowRef(false); + const isPristine = require$$0.shallowRef(true); + const listHasFocus = require$$0.shallowRef(false); + const showAllItemsForNoMatch = require$$0.shallowRef(false); + const vMenuRef = require$$0.ref(); + const vVirtualScrollRef = require$$0.ref(); + const selectionIndex = require$$0.shallowRef(-1); + let cleared = false; + const { + items, + transformIn, + transformOut + } = useItems(props); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => vTextFieldRef.value?.color); + const model = useProxiedModel(props, "modelValue", [], (v) => transformIn(wrapInArray(v)), (v) => { + const transformed = transformOut(v); + return props.multiple ? transformed : transformed[0] ?? null; + }); + const form = useForm(props); + const hasChips = require$$0.computed(() => !!(props.chips || slots.chip)); + const hasSelectionSlot = require$$0.computed(() => hasChips.value || !!slots.selection); + const _search = require$$0.shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? "" : ""); + const search = require$$0.computed({ + get: () => { + return _search.value; + }, + set: async (val) => { + _search.value = val ?? ""; + if (!props.multiple && !hasSelectionSlot.value) { + model.value = [transformItem$3(props, val)]; + require$$0.nextTick(() => vVirtualScrollRef.value?.scrollToIndex(0)); + } + if (val && props.multiple && props.delimiters?.length) { + const signsToMatch = props.delimiters.map(escapeForRegex).join("|"); + const values = val.split(new RegExp(`(?:${signsToMatch})+`)); + if (values.length > 1) { + for (let v of values) { + v = v.trim(); + if (v) { + select(transformItem$3(props, v)); + await require$$0.nextTick(); + } + } + _search.value = ""; + } + } + if (!val) selectionIndex.value = -1; + isPristine.value = !val; + } + }); + const counterValue = require$$0.computed(() => { + return typeof props.counterValue === "function" ? props.counterValue(model.value) : typeof props.counterValue === "number" ? props.counterValue : props.multiple ? model.value.length : search.value.length; + }); + const { + filteredItems, + getMatches + } = useFilter(props, items, search); + const hasMatchingItems = require$$0.computed(() => { + return props.hideSelected ? filteredItems.value.some((filteredItem) => !model.value.some((s) => s.value === filteredItem.value)) : filteredItems.value.length > 0; + }); + const displayItems = require$$0.computed(() => { + if (props.hideSelected) { + return filteredItems.value.filter((filteredItem) => !model.value.some((s) => s.value === filteredItem.value)); + } + if (filteredItems.value.length === 0 && showAllItemsForNoMatch.value) { + return items.value; + } + return filteredItems.value; + }); + const menuDisabled = require$$0.computed(() => { + return form.isReadonly.value || form.isDisabled.value; + }); + const _menu = useProxiedModel(props, "menu"); + const menu = require$$0.computed({ + get: () => _menu.value, + set: (v) => { + if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return; + if (v && menuDisabled.value) return; + _menu.value = v; + } + }); + const { + menuId, + ariaExpanded, + ariaControls, + ariaLabel + } = useMenuActivator(props, menu); + require$$0.watch(_search, (value) => { + showAllItemsForNoMatch.value = false; + if (cleared) { + require$$0.nextTick(() => cleared = false); + } else if (isFocused.value && !menu.value) { + menu.value = hasMatchingItems.value || !props.hideNoData; + } else if (isFocused.value && menu.value && !hasMatchingItems.value && props.hideNoData) { + menu.value = false; + } + isPristine.value = !value; + emit("update:search", value); + }); + require$$0.watch(model, (value) => { + if (!props.multiple && !hasSelectionSlot.value) { + _search.value = value[0]?.title ?? ""; + } + }); + const selectedValues = require$$0.computed(() => model.value.map((selection) => selection.value)); + const highlightFirst = require$$0.computed(() => { + const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === "exact" && search.value === displayItems.value[0]?.title; + return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value; + }); + const listRef = require$$0.ref(); + const listEvents = useScrolling(listRef, vTextFieldRef); + function onClear(e7) { + cleared = true; + if (props.openOnClear) { + menu.value = true; + } + } + function onMousedownControl() { + if (menuDisabled.value) return; + menu.value = true; + } + function onMousedownMenuIcon(e7) { + if (menuDisabled.value) return; + if (isFocused.value) { + e7.preventDefault(); + e7.stopPropagation(); + } + menu.value = !menu.value; + } + function onListKeydown(e7) { + if (checkPrintable(e7) || e7.key === "Backspace") { + vTextFieldRef.value?.focus(); + } + } + function onKeydown(e7) { + if (isComposingIgnoreKey(e7) || form.isReadonly.value) return; + const selectionStart = vTextFieldRef.value?.selectionStart; + const length = model.value.length; + if (["Enter", "ArrowDown", "ArrowUp"].includes(e7.key)) { + e7.preventDefault(); + } + if (["Enter", "ArrowDown"].includes(e7.key)) { + menu.value = true; + } + if (["Escape"].includes(e7.key)) { + menu.value = false; + } + if (["Enter", "Escape", "Tab"].includes(e7.key)) { + if (highlightFirst.value && ["Enter", "Tab"].includes(e7.key) && !model.value.some((_ref2) => { + let { + value + } = _ref2; + return value === displayItems.value[0].value; + })) { + select(filteredItems.value[0]); + } + isPristine.value = true; + } + if (e7.key === "ArrowDown" && highlightFirst.value) { + listRef.value?.focus("next"); + } + if (e7.key === "Enter" && search.value) { + select(transformItem$3(props, search.value)); + if (hasSelectionSlot.value) _search.value = ""; + } + if (["Backspace", "Delete"].includes(e7.key)) { + if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false); + if (~selectionIndex.value) { + e7.preventDefault(); + const originalSelectionIndex = selectionIndex.value; + select(model.value[selectionIndex.value], false); + selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex; + } else if (e7.key === "Backspace" && !search.value) { + selectionIndex.value = length - 1; + } + return; + } + if (!props.multiple) return; + if (e7.key === "ArrowLeft") { + if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return; + const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1; + if (model.value[prev]) { + selectionIndex.value = prev; + } else { + selectionIndex.value = -1; + vTextFieldRef.value?.setSelectionRange(search.value.length, search.value.length); + } + } else if (e7.key === "ArrowRight") { + if (selectionIndex.value < 0) return; + const next = selectionIndex.value + 1; + if (model.value[next]) { + selectionIndex.value = next; + } else { + selectionIndex.value = -1; + vTextFieldRef.value?.setSelectionRange(0, 0); + } + } else if (~selectionIndex.value && checkPrintable(e7)) { + selectionIndex.value = -1; + } + } + function onAfterEnter() { + if (props.eager) { + vVirtualScrollRef.value?.calculateVisibleItems(); + } + } + function onAfterLeave() { + if (isFocused.value) { + isPristine.value = true; + vTextFieldRef.value?.focus(); + } + } + function select(item) { + let set2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + if (!item || item.props.disabled) return; + if (props.multiple) { + const index2 = model.value.findIndex((selection) => (props.valueComparator || deepEqual)(selection.value, item.value)); + const add2 = set2 == null ? !~index2 : set2; + if (~index2) { + const value = add2 ? [...model.value, item] : [...model.value]; + value.splice(index2, 1); + model.value = value; + } else if (add2) { + model.value = [...model.value, item]; + } + if (props.clearOnSelect) { + search.value = ""; + } + } else { + const add2 = set2 !== false; + model.value = add2 ? [item] : []; + _search.value = add2 && !hasSelectionSlot.value ? item.title : ""; + require$$0.nextTick(() => { + menu.value = false; + isPristine.value = true; + }); + } + } + function onFocusin(e7) { + isFocused.value = true; + setTimeout(() => { + listHasFocus.value = true; + }); + } + function onFocusout(e7) { + listHasFocus.value = false; + } + function onUpdateModelValue(v) { + if (v == null || v === "" && !props.multiple && !hasSelectionSlot.value) model.value = []; + } + require$$0.watch(isFocused, (val, oldVal) => { + if (val || val === oldVal) return; + selectionIndex.value = -1; + menu.value = false; + if (search.value) { + if (props.multiple) { + select(transformItem$3(props, search.value)); + return; + } + if (!hasSelectionSlot.value) return; + if (model.value.some((_ref3) => { + let { + title + } = _ref3; + return title === search.value; + })) { + _search.value = ""; + } else { + select(transformItem$3(props, search.value)); + } + } + }); + require$$0.watch(menu, (val) => { + if (!props.hideSelected && val && model.value.length) { + const index2 = displayItems.value.findIndex((item) => model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))); + IN_BROWSER && window.requestAnimationFrame(() => { + index2 >= 0 && vVirtualScrollRef.value?.scrollToIndex(index2); + }); + } + if (val && search.value && !hasMatchingItems.value) { + showAllItemsForNoMatch.value = true; + } + isPristine.value = !search.value; + }, { + immediate: true + }); + require$$0.watch(() => props.items, (newVal, oldVal) => { + if (menu.value) return; + if (isFocused.value && !oldVal.length && newVal.length) { + menu.value = true; + } + }); + useRender(() => { + const hasList = !!(!props.hideNoData || displayItems.value.length || slots["prepend-item"] || slots["append-item"] || slots["no-data"]); + const isDirty = model.value.length > 0; + const textFieldProps = VTextField.filterProps(props); + return require$$0.createVNode(VTextField, require$$0.mergeProps({ + "ref": vTextFieldRef + }, textFieldProps, { + "modelValue": search.value, + "onUpdate:modelValue": [($event) => search.value = $event, onUpdateModelValue], + "focused": isFocused.value, + "onUpdate:focused": ($event) => isFocused.value = $event, + "validationValue": model.externalValue, + "counterValue": counterValue.value, + "dirty": isDirty, + "class": ["v-combobox", { + "v-combobox--active-menu": menu.value, + "v-combobox--chips": !!props.chips, + "v-combobox--selection-slot": !!hasSelectionSlot.value, + "v-combobox--selecting-index": selectionIndex.value > -1, + [`v-combobox--${props.multiple ? "multiple" : "single"}`]: true + }, props.class], + "style": props.style, + "readonly": form.isReadonly.value, + "placeholder": isDirty ? void 0 : props.placeholder, + "onClick:clear": onClear, + "onMousedown:control": onMousedownControl, + "onKeydown": onKeydown, + "aria-expanded": ariaExpanded.value, + "aria-controls": ariaControls.value + }), { + ...slots, + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VMenu, require$$0.mergeProps({ + "id": menuId.value, + "ref": vMenuRef, + "modelValue": menu.value, + "onUpdate:modelValue": ($event) => menu.value = $event, + "activator": "parent", + "contentClass": "v-combobox__content", + "disabled": menuDisabled.value, + "eager": props.eager, + "maxHeight": 310, + "openOnClick": false, + "closeOnContentClick": false, + "transition": props.transition, + "onAfterEnter": onAfterEnter, + "onAfterLeave": onAfterLeave + }, props.menuProps), { + default: () => [hasList && require$$0.createVNode(VList, require$$0.mergeProps({ + "ref": listRef, + "filterable": true, + "selected": selectedValues.value, + "selectStrategy": props.multiple ? "independent" : "single-independent", + "onMousedown": (e7) => e7.preventDefault(), + "selectable": true, + "onKeydown": onListKeydown, + "onFocusin": onFocusin, + "onFocusout": onFocusout, + "tabindex": "-1", + "aria-live": "polite", + "color": props.itemColor ?? props.color + }, listEvents, props.listProps), { + default: () => [slots["prepend-item"]?.(), !displayItems.value.length && !props.hideNoData && (slots["no-data"]?.() ?? require$$0.createVNode(VListItem, { + "key": "no-data", + "title": t(props.noDataText) + }, null)), require$$0.createVNode(VVirtualScroll, { + "ref": vVirtualScrollRef, + "renderless": true, + "items": displayItems.value, + "itemKey": "value" + }, { + default: (_ref4) => { + let { + item, + index: index2, + itemRef + } = _ref4; + const itemProps = require$$0.mergeProps(item.props, { + ref: itemRef, + key: item.value, + active: highlightFirst.value && index2 === 0 ? true : void 0, + onClick: () => select(item, null) + }); + if (item.type === "divider") { + return slots.divider?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VDivider, require$$0.mergeProps(item.props, { + "key": `divider-${index2}` + }), null); + } + if (item.type === "subheader") { + return slots.subheader?.({ + props: item.raw, + index: index2 + }) ?? require$$0.createVNode(VListSubheader, require$$0.mergeProps(item.props, { + "key": `subheader-${index2}` + }), null); + } + return slots.item?.({ + item, + index: index2, + props: itemProps + }) ?? require$$0.createVNode(VListItem, require$$0.mergeProps(itemProps, { + "role": "option" + }), { + prepend: (_ref5) => { + let { + isSelected + } = _ref5; + return require$$0.createElementVNode(require$$0.Fragment, null, [props.multiple && !props.hideSelected ? require$$0.createVNode(VCheckboxBtn, { + "key": item.value, + "modelValue": isSelected, + "ripple": false, + "tabindex": "-1" + }, null) : void 0, item.props.prependAvatar && require$$0.createVNode(VAvatar, { + "image": item.props.prependAvatar + }, null), item.props.prependIcon && require$$0.createVNode(VIcon, { + "icon": item.props.prependIcon + }, null)]); + }, + title: () => { + return isPristine.value ? item.title : highlightResult("v-combobox", item.title, getMatches(item)?.title); + } + }); + } + }), slots["append-item"]?.()] + })] + }), model.value.map((item, index2) => { + function onChipClose(e7) { + e7.stopPropagation(); + e7.preventDefault(); + select(item, false); + } + const slotProps = { + "onClick:close": onChipClose, + onKeydown(e7) { + if (e7.key !== "Enter" && e7.key !== " ") return; + e7.preventDefault(); + e7.stopPropagation(); + onChipClose(e7); + }, + onMousedown(e7) { + e7.preventDefault(); + e7.stopPropagation(); + }, + modelValue: true, + "onUpdate:modelValue": void 0 + }; + const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection; + const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({ + item, + index: index2, + props: slotProps + }) : slots.selection({ + item, + index: index2 + })) : void 0; + if (hasSlot && !slotContent) return void 0; + return require$$0.createElementVNode("div", { + "key": item.value, + "class": require$$0.normalizeClass(["v-combobox__selection", index2 === selectionIndex.value && ["v-combobox__selection--selected", textColorClasses.value]]), + "style": require$$0.normalizeStyle(index2 === selectionIndex.value ? textColorStyles.value : {}) + }, [hasChips.value ? !slots.chip ? require$$0.createVNode(VChip, require$$0.mergeProps({ + "key": "chip", + "closable": props.closableChips, + "size": "small", + "text": item.title, + "disabled": item.props.disabled + }, slotProps), null) : require$$0.createVNode(VDefaultsProvider, { + "key": "chip-defaults", + "defaults": { + VChip: { + closable: props.closableChips, + size: "small", + text: item.title + } + } + }, { + default: () => [slotContent] + }) : slotContent ?? require$$0.createElementVNode("span", { + "class": "v-combobox__selection-text" + }, [item.title, props.multiple && index2 < model.value.length - 1 && require$$0.createElementVNode("span", { + "class": "v-combobox__selection-comma" + }, [require$$0.createTextVNode(",")])])]); + })]), + "append-inner": function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createElementVNode(require$$0.Fragment, null, [slots["append-inner"]?.(...args), props.menuIcon ? require$$0.createVNode(VIcon, { + "class": "v-combobox__menu-icon", + "color": vTextFieldRef.value?.fieldIconColor, + "icon": props.menuIcon, + "onMousedown": onMousedownMenuIcon, + "onClick": noop$2, + "aria-label": ariaLabel.value, + "title": ariaLabel.value, + "tabindex": "-1" + }, null) : void 0]); + } + }); + }); + return forwardRefs$1({ + isFocused, + isPristine, + menu, + search, + selectionIndex, + filteredItems, + select + }, vTextFieldRef); + } + }); + const makeVConfirmEditProps = propsFactory({ + modelValue: null, + color: String, + cancelText: { + type: String, + default: "$vuetify.confirmEdit.cancel" + }, + okText: { + type: String, + default: "$vuetify.confirmEdit.ok" + }, + disabled: { + type: [Boolean, Array], + default: void 0 + }, + hideActions: Boolean + }, "VConfirmEdit"); + const VConfirmEdit = genericComponent()({ + name: "VConfirmEdit", + props: makeVConfirmEditProps(), + emits: { + cancel: () => true, + save: (value) => true, + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const internalModel = require$$0.ref(); + require$$0.watchEffect(() => { + internalModel.value = structuredClone(require$$0.toRaw(model.value)); + }); + const { + t + } = useLocale(); + const isPristine = require$$0.computed(() => { + return deepEqual(model.value, internalModel.value); + }); + function isActionDisabled(action) { + if (typeof props.disabled === "boolean") { + return props.disabled; + } + if (Array.isArray(props.disabled)) { + return props.disabled.includes(action); + } + return isPristine.value; + } + const isSaveDisabled = require$$0.computed(() => isActionDisabled("save")); + const isCancelDisabled = require$$0.computed(() => isActionDisabled("cancel")); + function save() { + model.value = internalModel.value; + emit("save", internalModel.value); + } + function cancel() { + internalModel.value = structuredClone(require$$0.toRaw(model.value)); + emit("cancel"); + } + function actions2(actionsProps) { + return require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VBtn, require$$0.mergeProps({ + "disabled": isCancelDisabled.value, + "variant": "text", + "color": props.color, + "onClick": cancel, + "text": t(props.cancelText) + }, actionsProps), null), require$$0.createVNode(VBtn, require$$0.mergeProps({ + "disabled": isSaveDisabled.value, + "variant": "text", + "color": props.color, + "onClick": save, + "text": t(props.okText) + }, actionsProps), null)]); + } + let actionsUsed = false; + useRender(() => { + return require$$0.createElementVNode(require$$0.Fragment, null, [slots.default?.({ + model: internalModel, + save, + cancel, + isPristine: isPristine.value, + get actions() { + actionsUsed = true; + return actions2; + } + }), !props.hideActions && !actionsUsed && actions2()]); + }); + return { + save, + cancel, + isPristine + }; + } + }); + const makeDataTableExpandProps = propsFactory({ + expandOnClick: Boolean, + showExpand: Boolean, + expanded: { + type: Array, + default: () => [] + } + }, "DataTable-expand"); + const VDataTableExpandedKey = Symbol.for("vuetify:datatable:expanded"); + function provideExpanded(props) { + const expandOnClick = require$$0.toRef(() => props.expandOnClick); + const expanded = useProxiedModel(props, "expanded", props.expanded, (v) => { + return new Set(v); + }, (v) => { + return [...v.values()]; + }); + function getItemKey(item) { + return isObject$7(item.value) ? item.key : item.value; + } + function expand(item, value) { + const newExpanded = new Set(expanded.value); + if (!value) { + newExpanded.delete(getItemKey(item)); + } else { + newExpanded.add(getItemKey(item)); + } + expanded.value = newExpanded; + } + function isExpanded(item) { + return expanded.value.has(getItemKey(item)); + } + function toggleExpand(item) { + expand(item, !isExpanded(item)); + } + const data = { + expand, + expanded, + expandOnClick, + isExpanded, + toggleExpand + }; + require$$0.provide(VDataTableExpandedKey, data); + return data; + } + function useExpanded() { + const data = require$$0.inject(VDataTableExpandedKey); + if (!data) throw new Error("foo"); + return data; + } + const makeDataTableGroupProps = propsFactory({ + groupBy: { + type: Array, + default: () => [] + } + }, "DataTable-group"); + const VDataTableGroupSymbol = Symbol.for("vuetify:data-table-group"); + function createGroupBy(props) { + const groupBy = useProxiedModel(props, "groupBy"); + return { + groupBy + }; + } + function provideGroupBy(options) { + const { + disableSort, + groupBy, + sortBy + } = options; + const opened = require$$0.ref(/* @__PURE__ */ new Set()); + const sortByWithGroups = require$$0.computed(() => { + return groupBy.value.map((val) => ({ + ...val, + order: val.order ?? false + })).concat(disableSort?.value ? [] : sortBy.value); + }); + function isGroupOpen(group) { + return opened.value.has(group.id); + } + function toggleGroup(group) { + const newOpened = new Set(opened.value); + if (!isGroupOpen(group)) newOpened.add(group.id); + else newOpened.delete(group.id); + opened.value = newOpened; + } + function extractRows(items) { + function dive(group) { + const arr = []; + for (const item of group.items) { + if ("type" in item && item.type === "group") { + arr.push(...dive(item)); + } else { + arr.push(item); + } + } + return [...new Set(arr)]; + } + return dive({ + items + }); + } + const data = { + sortByWithGroups, + toggleGroup, + opened, + groupBy, + extractRows, + isGroupOpen + }; + require$$0.provide(VDataTableGroupSymbol, data); + return data; + } + function useGroupBy() { + const data = require$$0.inject(VDataTableGroupSymbol); + if (!data) throw new Error("Missing group!"); + return data; + } + function groupItemsByProperty(items, groupBy) { + if (!items.length) return []; + const groups = /* @__PURE__ */ new Map(); + for (const item of items) { + const value = getObjectValueByPath(item.raw, groupBy); + if (!groups.has(value)) { + groups.set(value, []); + } + groups.get(value).push(item); + } + return groups; + } + function groupItems(items, groupBy) { + let depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; + let prefix = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "root"; + if (!groupBy.length) return []; + const groupedItems = groupItemsByProperty(items, groupBy[0]); + const groups = []; + const rest = groupBy.slice(1); + groupedItems.forEach((items2, value) => { + const key = groupBy[0]; + const id2 = `${prefix}_${key}_${value}`; + groups.push({ + depth, + id: id2, + key, + value, + items: rest.length ? groupItems(items2, rest, depth + 1, id2) : items2, + type: "group" + }); + }); + return groups; + } + function flattenItems(items, opened, hasSummary) { + const flatItems = []; + for (const item of items) { + if ("type" in item && item.type === "group") { + if (item.value != null) { + flatItems.push(item); + } + if (opened.has(item.id) || item.value == null) { + flatItems.push(...flattenItems(item.items, opened, hasSummary)); + if (hasSummary) { + flatItems.push({ + ...item, + type: "group-summary" + }); + } + } + } else { + flatItems.push(item); + } + } + return flatItems; + } + function useGroupedItems(items, groupBy, opened, hasSummary) { + const flatItems = require$$0.computed(() => { + if (!groupBy.value.length) return items.value; + const groupedItems = groupItems(items.value, groupBy.value.map((item) => item.key)); + return flattenItems(groupedItems, opened.value, require$$0.toValue(hasSummary)); + }); + return { + flatItems + }; + } + function useOptions(_ref) { + let { + page, + itemsPerPage, + sortBy, + groupBy, + search + } = _ref; + const vm = getCurrentInstance("VDataTable"); + const options = () => ({ + page: page.value, + itemsPerPage: itemsPerPage.value, + sortBy: sortBy.value, + groupBy: groupBy.value, + search: search.value + }); + let oldOptions = null; + require$$0.watch(options, (value) => { + if (deepEqual(oldOptions, value)) return; + if (oldOptions && oldOptions.search !== value.search) { + page.value = 1; + } + vm.emit("update:options", value); + oldOptions = value; + }, { + deep: true, + immediate: true + }); + } + const makeDataTablePaginateProps = propsFactory({ + page: { + type: [Number, String], + default: 1 + }, + itemsPerPage: { + type: [Number, String], + default: 10 + } + }, "DataTable-paginate"); + const VDataTablePaginationSymbol = Symbol.for("vuetify:data-table-pagination"); + function createPagination(props) { + const page = useProxiedModel(props, "page", void 0, (value) => Number(value ?? 1)); + const itemsPerPage = useProxiedModel(props, "itemsPerPage", void 0, (value) => Number(value ?? 10)); + return { + page, + itemsPerPage + }; + } + function providePagination(options) { + const { + page, + itemsPerPage, + itemsLength + } = options; + const startIndex = require$$0.computed(() => { + if (itemsPerPage.value === -1) return 0; + return itemsPerPage.value * (page.value - 1); + }); + const stopIndex = require$$0.computed(() => { + if (itemsPerPage.value === -1) return itemsLength.value; + return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value); + }); + const pageCount = require$$0.computed(() => { + if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1; + return Math.ceil(itemsLength.value / itemsPerPage.value); + }); + require$$0.watch([page, pageCount], () => { + if (page.value > pageCount.value) { + page.value = pageCount.value; + } + }); + function setItemsPerPage(value) { + itemsPerPage.value = value; + page.value = 1; + } + function nextPage() { + page.value = clamp$1(page.value + 1, 1, pageCount.value); + } + function prevPage() { + page.value = clamp$1(page.value - 1, 1, pageCount.value); + } + function setPage(value) { + page.value = clamp$1(value, 1, pageCount.value); + } + const data = { + page, + itemsPerPage, + startIndex, + stopIndex, + pageCount, + itemsLength, + nextPage, + prevPage, + setPage, + setItemsPerPage + }; + require$$0.provide(VDataTablePaginationSymbol, data); + return data; + } + function usePagination() { + const data = require$$0.inject(VDataTablePaginationSymbol); + if (!data) throw new Error("Missing pagination!"); + return data; + } + function usePaginatedItems(options) { + const vm = getCurrentInstance("usePaginatedItems"); + const { + items, + startIndex, + stopIndex, + itemsPerPage + } = options; + const paginatedItems = require$$0.computed(() => { + if (itemsPerPage.value <= 0) return items.value; + return items.value.slice(startIndex.value, stopIndex.value); + }); + require$$0.watch(paginatedItems, (val) => { + vm.emit("update:currentItems", val); + }, { + immediate: true + }); + return { + paginatedItems + }; + } + const singleSelectStrategy = { + showSelectAll: false, + allSelected: () => [], + select: (_ref) => { + let { + items, + value + } = _ref; + return new Set(value ? [items[0]?.value] : []); + }, + selectAll: (_ref2) => { + let { + selected + } = _ref2; + return selected; + } + }; + const pageSelectStrategy = { + showSelectAll: true, + allSelected: (_ref3) => { + let { + currentPage + } = _ref3; + return currentPage; + }, + select: (_ref4) => { + let { + items, + value, + selected + } = _ref4; + for (const item of items) { + if (value) selected.add(item.value); + else selected.delete(item.value); + } + return selected; + }, + selectAll: (_ref5) => { + let { + value, + currentPage, + selected + } = _ref5; + return pageSelectStrategy.select({ + items: currentPage, + value, + selected + }); + } + }; + const allSelectStrategy = { + showSelectAll: true, + allSelected: (_ref6) => { + let { + allItems + } = _ref6; + return allItems; + }, + select: (_ref7) => { + let { + items, + value, + selected + } = _ref7; + for (const item of items) { + if (value) selected.add(item.value); + else selected.delete(item.value); + } + return selected; + }, + selectAll: (_ref8) => { + let { + value, + allItems, + selected + } = _ref8; + return allSelectStrategy.select({ + items: allItems, + value, + selected + }); + } + }; + const makeDataTableSelectProps = propsFactory({ + showSelect: Boolean, + selectStrategy: { + type: [String, Object], + default: "page" + }, + modelValue: { + type: Array, + default: () => [] + }, + valueComparator: { + type: Function, + default: deepEqual + } + }, "DataTable-select"); + const VDataTableSelectionSymbol = Symbol.for("vuetify:data-table-selection"); + function provideSelection(props, _ref9) { + let { + allItems, + currentPage + } = _ref9; + const selected = useProxiedModel(props, "modelValue", props.modelValue, (v) => { + return new Set(wrapInArray(v).map((v7) => { + return allItems.value.find((item) => props.valueComparator(v7, item.value))?.value ?? v7; + })); + }, (v) => { + return [...v.values()]; + }); + const allSelectable = require$$0.computed(() => allItems.value.filter((item) => item.selectable)); + const currentPageSelectable = require$$0.computed(() => currentPage.value.filter((item) => item.selectable)); + const selectStrategy = require$$0.computed(() => { + if (typeof props.selectStrategy === "object") return props.selectStrategy; + switch (props.selectStrategy) { + case "single": + return singleSelectStrategy; + case "all": + return allSelectStrategy; + case "page": + default: + return pageSelectStrategy; + } + }); + const lastSelectedIndex = require$$0.shallowRef(null); + function isSelected(items) { + return wrapInArray(items).every((item) => selected.value.has(item.value)); + } + function isSomeSelected(items) { + return wrapInArray(items).some((item) => selected.value.has(item.value)); + } + function select(items, value) { + const newSelected = selectStrategy.value.select({ + items, + value, + selected: new Set(selected.value) + }); + selected.value = newSelected; + } + function toggleSelect(item, index2, event) { + const items = []; + index2 = index2 ?? currentPage.value.findIndex((i7) => i7.value === item.value); + if (props.selectStrategy !== "single" && event?.shiftKey && lastSelectedIndex.value !== null) { + const [start2, end2] = [lastSelectedIndex.value, index2].sort((a, b) => a - b); + items.push(...currentPage.value.slice(start2, end2 + 1).filter((item2) => item2.selectable)); + } else { + items.push(item); + lastSelectedIndex.value = index2; + } + select(items, !isSelected([item])); + } + function selectAll2(value) { + const newSelected = selectStrategy.value.selectAll({ + value, + allItems: allSelectable.value, + currentPage: currentPageSelectable.value, + selected: new Set(selected.value) + }); + selected.value = newSelected; + } + const someSelected = require$$0.computed(() => selected.value.size > 0); + const allSelected = require$$0.computed(() => { + const items = selectStrategy.value.allSelected({ + allItems: allSelectable.value, + currentPage: currentPageSelectable.value + }); + return !!items.length && isSelected(items); + }); + const showSelectAll = require$$0.toRef(() => selectStrategy.value.showSelectAll); + const data = { + toggleSelect, + select, + selectAll: selectAll2, + isSelected, + isSomeSelected, + someSelected, + allSelected, + showSelectAll, + lastSelectedIndex, + selectStrategy + }; + require$$0.provide(VDataTableSelectionSymbol, data); + return data; + } + function useSelection() { + const data = require$$0.inject(VDataTableSelectionSymbol); + if (!data) throw new Error("Missing selection!"); + return data; + } + const makeDataTableSortProps = propsFactory({ + sortBy: { + type: Array, + default: () => [] + }, + customKeySort: Object, + multiSort: Boolean, + mustSort: Boolean + }, "DataTable-sort"); + const VDataTableSortSymbol = Symbol.for("vuetify:data-table-sort"); + function createSort(props) { + const sortBy = useProxiedModel(props, "sortBy"); + const mustSort = require$$0.toRef(() => props.mustSort); + const multiSort = require$$0.toRef(() => props.multiSort); + return { + sortBy, + mustSort, + multiSort + }; + } + function provideSort(options) { + const { + sortBy, + mustSort, + multiSort, + page + } = options; + const toggleSort = (column) => { + if (column.key == null) return; + let newSortBy = sortBy.value.map((x) => ({ + ...x + })) ?? []; + const item = newSortBy.find((x) => x.key === column.key); + if (!item) { + if (multiSort.value) { + newSortBy.push({ + key: column.key, + order: "asc" + }); + } else { + newSortBy = [{ + key: column.key, + order: "asc" + }]; + } + } else if (item.order === "desc") { + if (mustSort.value && newSortBy.length === 1) { + item.order = "asc"; + } else { + newSortBy = newSortBy.filter((x) => x.key !== column.key); + } + } else { + item.order = "desc"; + } + sortBy.value = newSortBy; + if (page) page.value = 1; + }; + function isSorted(column) { + return !!sortBy.value.find((item) => item.key === column.key); + } + const data = { + sortBy, + toggleSort, + isSorted + }; + require$$0.provide(VDataTableSortSymbol, data); + return data; + } + function useSort() { + const data = require$$0.inject(VDataTableSortSymbol); + if (!data) throw new Error("Missing sort!"); + return data; + } + function useSortedItems(props, items, sortBy, options) { + const locale = useLocale(); + const sortedItems = require$$0.computed(() => { + if (!sortBy.value.length) return items.value; + return sortItems(items.value, sortBy.value, locale.current.value, { + transform: options?.transform, + sortFunctions: { + ...props.customKeySort, + ...options?.sortFunctions?.value + }, + sortRawFunctions: options?.sortRawFunctions?.value + }); + }); + return { + sortedItems + }; + } + function sortItems(items, sortByItems, locale, options) { + const stringCollator = new Intl.Collator(locale, { + sensitivity: "accent", + usage: "sort" + }); + const transformedItems = items.map((item) => [item, options?.transform ? options.transform(item) : item]); + return transformedItems.sort((a, b) => { + for (let i7 = 0; i7 < sortByItems.length; i7++) { + let hasCustomResult = false; + const sortKey = sortByItems[i7].key; + const sortOrder = sortByItems[i7].order ?? "asc"; + if (sortOrder === false) continue; + let sortA = getObjectValueByPath(a[1], sortKey); + let sortB = getObjectValueByPath(b[1], sortKey); + let sortARaw = a[0].raw; + let sortBRaw = b[0].raw; + if (sortOrder === "desc") { + [sortA, sortB] = [sortB, sortA]; + [sortARaw, sortBRaw] = [sortBRaw, sortARaw]; + } + if (options?.sortRawFunctions?.[sortKey]) { + const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw); + if (customResult == null) continue; + hasCustomResult = true; + if (customResult) return customResult; + } + if (options?.sortFunctions?.[sortKey]) { + const customResult = options.sortFunctions[sortKey](sortA, sortB); + if (customResult == null) continue; + hasCustomResult = true; + if (customResult) return customResult; + } + if (hasCustomResult) continue; + if (sortA instanceof Date && sortB instanceof Date) { + sortA = sortA.getTime(); + sortB = sortB.getTime(); + } + [sortA, sortB] = [sortA, sortB].map((s) => s != null ? s.toString().toLocaleLowerCase() : s); + if (sortA !== sortB) { + if (isEmpty(sortA) && isEmpty(sortB)) return 0; + if (isEmpty(sortA)) return -1; + if (isEmpty(sortB)) return 1; + if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB); + return stringCollator.compare(sortA, sortB); + } + } + return 0; + }).map((_ref) => { + let [item] = _ref; + return item; + }); + } + const makeDataIteratorItemsProps = propsFactory({ + items: { + type: Array, + default: () => [] + }, + itemValue: { + type: [String, Array, Function], + default: "id" + }, + itemSelectable: { + type: [String, Array, Function], + default: null + }, + returnObject: Boolean + }, "DataIterator-items"); + function transformItem$1(props, item) { + const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue); + const selectable = getPropertyFromItem(item, props.itemSelectable, true); + return { + type: "item", + value, + selectable, + raw: item + }; + } + function transformItems$1(props, items) { + const array = []; + for (const item of items) { + array.push(transformItem$1(props, item)); + } + return array; + } + function useDataIteratorItems(props) { + const items = require$$0.computed(() => transformItems$1(props, props.items)); + return { + items + }; + } + const makeVDataIteratorProps = propsFactory({ + search: String, + loading: Boolean, + ...makeComponentProps(), + ...makeDataIteratorItemsProps(), + ...makeDataTableSelectProps(), + ...makeDataTableSortProps(), + ...makeDataTablePaginateProps({ + itemsPerPage: 5 + }), + ...makeDataTableExpandProps(), + ...makeDataTableGroupProps(), + ...makeFilterProps(), + ...makeTagProps(), + ...makeTransitionProps({ + transition: { + component: VFadeTransition, + hideOnLeave: true + } + }) + }, "VDataIterator"); + const VDataIterator = genericComponent()({ + name: "VDataIterator", + props: makeVDataIteratorProps(), + emits: { + "update:modelValue": (value) => true, + "update:groupBy": (value) => true, + "update:page": (value) => true, + "update:itemsPerPage": (value) => true, + "update:sortBy": (value) => true, + "update:options": (value) => true, + "update:expanded": (value) => true, + "update:currentItems": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const groupBy = useProxiedModel(props, "groupBy"); + const search = require$$0.toRef(() => props.search); + const { + items + } = useDataIteratorItems(props); + const { + filteredItems + } = useFilter(props, items, search, { + transform: (item) => item.raw + }); + const { + sortBy, + multiSort, + mustSort + } = createSort(props); + const { + page, + itemsPerPage + } = createPagination(props); + const { + toggleSort + } = provideSort({ + sortBy, + multiSort, + mustSort, + page + }); + const { + sortByWithGroups, + opened, + extractRows, + isGroupOpen, + toggleGroup + } = provideGroupBy({ + groupBy, + sortBy + }); + const { + sortedItems + } = useSortedItems(props, filteredItems, sortByWithGroups, { + transform: (item) => item.raw + }); + const { + flatItems + } = useGroupedItems(sortedItems, groupBy, opened, false); + const itemsLength = require$$0.toRef(() => flatItems.value.length); + const { + startIndex, + stopIndex, + pageCount, + prevPage, + nextPage, + setItemsPerPage, + setPage + } = providePagination({ + page, + itemsPerPage, + itemsLength + }); + const { + paginatedItems + } = usePaginatedItems({ + items: flatItems, + startIndex, + stopIndex, + itemsPerPage + }); + const paginatedItemsWithoutGroups = require$$0.computed(() => extractRows(paginatedItems.value)); + const { + isSelected, + select, + selectAll: selectAll2, + toggleSelect + } = provideSelection(props, { + allItems: items, + currentPage: paginatedItemsWithoutGroups + }); + const { + isExpanded, + toggleExpand + } = provideExpanded(props); + useOptions({ + page, + itemsPerPage, + sortBy, + groupBy, + search + }); + const slotProps = require$$0.computed(() => ({ + page: page.value, + itemsPerPage: itemsPerPage.value, + sortBy: sortBy.value, + pageCount: pageCount.value, + toggleSort, + prevPage, + nextPage, + setPage, + setItemsPerPage, + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + isExpanded, + toggleExpand, + isGroupOpen, + toggleGroup, + items: paginatedItemsWithoutGroups.value, + itemsCount: filteredItems.value.length, + groupedItems: paginatedItems.value + })); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-data-iterator", { + "v-data-iterator--loading": props.loading + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.header?.(slotProps.value), require$$0.createVNode(MaybeTransition, { + "transition": props.transition + }, { + default: () => [props.loading ? require$$0.createVNode(LoaderSlot, { + "key": "loader", + "name": "v-data-iterator", + "active": true + }, { + default: (slotProps2) => slots.loader?.(slotProps2) + }) : require$$0.createElementVNode("div", { + "key": "items" + }, [!paginatedItems.value.length ? slots["no-data"]?.() : slots.default?.(slotProps.value)])] + }), slots.footer?.(slotProps.value)] + })); + return {}; + } + }); + function useRefs() { + const refs = require$$0.ref([]); + require$$0.onBeforeUpdate(() => refs.value = []); + function updateRef(e7, i7) { + refs.value[i7] = e7; + } + return { + refs, + updateRef + }; + } + const makeVPaginationProps = propsFactory({ + activeColor: String, + start: { + type: [Number, String], + default: 1 + }, + modelValue: { + type: Number, + default: (props) => props.start + }, + disabled: Boolean, + length: { + type: [Number, String], + default: 1, + validator: (val) => val % 1 === 0 + }, + totalVisible: [Number, String], + firstIcon: { + type: IconValue, + default: "$first" + }, + prevIcon: { + type: IconValue, + default: "$prev" + }, + nextIcon: { + type: IconValue, + default: "$next" + }, + lastIcon: { + type: IconValue, + default: "$last" + }, + ariaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.root" + }, + pageAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.page" + }, + currentPageAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.currentPage" + }, + firstAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.first" + }, + previousAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.previous" + }, + nextAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.next" + }, + lastAriaLabel: { + type: String, + default: "$vuetify.pagination.ariaLabel.last" + }, + ellipsis: { + type: String, + default: "..." + }, + showFirstLastPage: Boolean, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeSizeProps(), + ...makeTagProps({ + tag: "nav" + }), + ...makeThemeProps(), + ...makeVariantProps({ + variant: "text" + }) + }, "VPagination"); + const VPagination = genericComponent()({ + name: "VPagination", + props: makeVPaginationProps(), + emits: { + "update:modelValue": (value) => true, + first: (value) => true, + prev: (value) => true, + next: (value) => true, + last: (value) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const page = useProxiedModel(props, "modelValue"); + const { + t, + n + } = useLocale(); + const { + isRtl + } = useRtl(); + const { + themeClasses + } = provideTheme(props); + const { + width + } = useDisplay(); + const maxButtons = require$$0.shallowRef(-1); + provideDefaults(void 0, { + scoped: true + }); + const { + resizeRef + } = useResizeObserver((entries2) => { + if (!entries2.length) return; + const { + target, + contentRect + } = entries2[0]; + const firstItem = target.querySelector(".v-pagination__list > *"); + if (!firstItem) return; + const totalWidth = contentRect.width; + const itemWidth = firstItem.offsetWidth + parseFloat(getComputedStyle(firstItem).marginRight) * 2; + maxButtons.value = getMax(totalWidth, itemWidth); + }); + const length = require$$0.computed(() => parseInt(props.length, 10)); + const start2 = require$$0.computed(() => parseInt(props.start, 10)); + const totalVisible = require$$0.computed(() => { + if (props.totalVisible != null) return parseInt(props.totalVisible, 10); + else if (maxButtons.value >= 0) return maxButtons.value; + return getMax(width.value, 58); + }); + function getMax(totalWidth, itemWidth) { + const minButtons = props.showFirstLastPage ? 5 : 3; + return Math.max(0, Math.floor( + // Round to two decimal places to avoid floating point errors + Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)) + )); + } + const range = require$$0.computed(() => { + if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return []; + if (totalVisible.value <= 0) return []; + else if (totalVisible.value === 1) return [page.value]; + if (length.value <= totalVisible.value) { + return createRange(length.value, start2.value); + } + const even = totalVisible.value % 2 === 0; + const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2); + const left = even ? middle : middle + 1; + const right = length.value - middle; + if (left - page.value >= 0) { + return [...createRange(Math.max(1, totalVisible.value - 1), start2.value), props.ellipsis, length.value]; + } else if (page.value - right >= (even ? 1 : 0)) { + const rangeLength = totalVisible.value - 1; + const rangeStart = length.value - rangeLength + start2.value; + return [start2.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]; + } else { + const rangeLength = Math.max(1, totalVisible.value - 2); + const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start2.value; + return [start2.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]; + } + }); + function setValue(e7, value, event) { + e7.preventDefault(); + page.value = value; + event && emit(event, value); + } + const { + refs, + updateRef + } = useRefs(); + provideDefaults({ + VPaginationBtn: { + color: require$$0.toRef(() => props.color), + border: require$$0.toRef(() => props.border), + density: require$$0.toRef(() => props.density), + size: require$$0.toRef(() => props.size), + variant: require$$0.toRef(() => props.variant), + rounded: require$$0.toRef(() => props.rounded), + elevation: require$$0.toRef(() => props.elevation) + } + }); + const items = require$$0.computed(() => { + return range.value.map((item, index2) => { + const ref = (e7) => updateRef(e7, index2); + if (typeof item === "string") { + return { + isActive: false, + key: `ellipsis-${index2}`, + page: item, + props: { + ref, + ellipsis: true, + icon: true, + disabled: true + } + }; + } else { + const isActive = item === page.value; + return { + isActive, + key: item, + page: n(item), + props: { + ref, + ellipsis: false, + icon: true, + disabled: !!props.disabled || Number(props.length) < 2, + color: isActive ? props.activeColor : props.color, + "aria-current": isActive, + "aria-label": t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item), + onClick: (e7) => setValue(e7, item) + } + }; + } + }); + }); + const controls = require$$0.computed(() => { + const prevDisabled = !!props.disabled || page.value <= start2.value; + const nextDisabled = !!props.disabled || page.value >= start2.value + length.value - 1; + return { + first: props.showFirstLastPage ? { + icon: isRtl.value ? props.lastIcon : props.firstIcon, + onClick: (e7) => setValue(e7, start2.value, "first"), + disabled: prevDisabled, + "aria-label": t(props.firstAriaLabel), + "aria-disabled": prevDisabled + } : void 0, + prev: { + icon: isRtl.value ? props.nextIcon : props.prevIcon, + onClick: (e7) => setValue(e7, page.value - 1, "prev"), + disabled: prevDisabled, + "aria-label": t(props.previousAriaLabel), + "aria-disabled": prevDisabled + }, + next: { + icon: isRtl.value ? props.prevIcon : props.nextIcon, + onClick: (e7) => setValue(e7, page.value + 1, "next"), + disabled: nextDisabled, + "aria-label": t(props.nextAriaLabel), + "aria-disabled": nextDisabled + }, + last: props.showFirstLastPage ? { + icon: isRtl.value ? props.firstIcon : props.lastIcon, + onClick: (e7) => setValue(e7, start2.value + length.value - 1, "last"), + disabled: nextDisabled, + "aria-label": t(props.lastAriaLabel), + "aria-disabled": nextDisabled + } : void 0 + }; + }); + function updateFocus() { + const currentIndex = page.value - start2.value; + refs.value[currentIndex]?.$el.focus(); + } + function onKeydown(e7) { + if (e7.key === keyValues.left && !props.disabled && page.value > Number(props.start)) { + page.value = page.value - 1; + require$$0.nextTick(updateFocus); + } else if (e7.key === keyValues.right && !props.disabled && page.value < start2.value + length.value - 1) { + page.value = page.value + 1; + require$$0.nextTick(updateFocus); + } + } + useRender(() => require$$0.createVNode(props.tag, { + "ref": resizeRef, + "class": require$$0.normalizeClass(["v-pagination", themeClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style), + "role": "navigation", + "aria-label": t(props.ariaLabel), + "onKeydown": onKeydown, + "data-test": "v-pagination-root" + }, { + default: () => [require$$0.createElementVNode("ul", { + "class": "v-pagination__list" + }, [props.showFirstLastPage && require$$0.createElementVNode("li", { + "key": "first", + "class": "v-pagination__first", + "data-test": "v-pagination-first" + }, [slots.first ? slots.first(controls.value.first) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "_as": "VPaginationBtn" + }, controls.value.first), null)]), require$$0.createElementVNode("li", { + "key": "prev", + "class": "v-pagination__prev", + "data-test": "v-pagination-prev" + }, [slots.prev ? slots.prev(controls.value.prev) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "_as": "VPaginationBtn" + }, controls.value.prev), null)]), items.value.map((item, index2) => require$$0.createElementVNode("li", { + "key": item.key, + "class": require$$0.normalizeClass(["v-pagination__item", { + "v-pagination__item--is-active": item.isActive + }]), + "data-test": "v-pagination-item" + }, [slots.item ? slots.item(item) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "_as": "VPaginationBtn" + }, item.props), { + default: () => [item.page] + })])), require$$0.createElementVNode("li", { + "key": "next", + "class": "v-pagination__next", + "data-test": "v-pagination-next" + }, [slots.next ? slots.next(controls.value.next) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "_as": "VPaginationBtn" + }, controls.value.next), null)]), props.showFirstLastPage && require$$0.createElementVNode("li", { + "key": "last", + "class": "v-pagination__last", + "data-test": "v-pagination-last" + }, [slots.last ? slots.last(controls.value.last) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "_as": "VPaginationBtn" + }, controls.value.last), null)])])] + })); + return {}; + } + }); + const makeVDataTableFooterProps = propsFactory({ + prevIcon: { + type: IconValue, + default: "$prev" + }, + nextIcon: { + type: IconValue, + default: "$next" + }, + firstIcon: { + type: IconValue, + default: "$first" + }, + lastIcon: { + type: IconValue, + default: "$last" + }, + itemsPerPageText: { + type: String, + default: "$vuetify.dataFooter.itemsPerPageText" + }, + pageText: { + type: String, + default: "$vuetify.dataFooter.pageText" + }, + firstPageLabel: { + type: String, + default: "$vuetify.dataFooter.firstPage" + }, + prevPageLabel: { + type: String, + default: "$vuetify.dataFooter.prevPage" + }, + nextPageLabel: { + type: String, + default: "$vuetify.dataFooter.nextPage" + }, + lastPageLabel: { + type: String, + default: "$vuetify.dataFooter.lastPage" + }, + itemsPerPageOptions: { + type: Array, + default: () => [{ + value: 10, + title: "10" + }, { + value: 25, + title: "25" + }, { + value: 50, + title: "50" + }, { + value: 100, + title: "100" + }, { + value: -1, + title: "$vuetify.dataFooter.itemsPerPageAll" + }] + }, + showCurrentPage: Boolean + }, "VDataTableFooter"); + const VDataTableFooter = genericComponent()({ + name: "VDataTableFooter", + props: makeVDataTableFooterProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + t + } = useLocale(); + const { + page, + pageCount, + startIndex, + stopIndex, + itemsLength, + itemsPerPage, + setItemsPerPage + } = usePagination(); + const itemsPerPageOptions = require$$0.computed(() => props.itemsPerPageOptions.map((option) => { + if (typeof option === "number") { + return { + value: option, + title: option === -1 ? t("$vuetify.dataFooter.itemsPerPageAll") : String(option) + }; + } + return { + ...option, + title: !isNaN(Number(option.title)) ? option.title : t(option.title) + }; + })); + useRender(() => { + const paginationProps = VPagination.filterProps(props); + return require$$0.createElementVNode("div", { + "class": "v-data-table-footer" + }, [slots.prepend?.(), require$$0.createElementVNode("div", { + "class": "v-data-table-footer__items-per-page" + }, [require$$0.createElementVNode("span", { + "aria-label": t(props.itemsPerPageText) + }, [t(props.itemsPerPageText)]), require$$0.createVNode(VSelect, { + "items": itemsPerPageOptions.value, + "modelValue": itemsPerPage.value, + "onUpdate:modelValue": (v) => setItemsPerPage(Number(v)), + "density": "compact", + "variant": "outlined", + "hideDetails": true + }, null)]), require$$0.createElementVNode("div", { + "class": "v-data-table-footer__info" + }, [require$$0.createElementVNode("div", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), require$$0.createElementVNode("div", { + "class": "v-data-table-footer__pagination" + }, [require$$0.createVNode(VPagination, require$$0.mergeProps({ + "modelValue": page.value, + "onUpdate:modelValue": ($event) => page.value = $event, + "density": "comfortable", + "firstAriaLabel": props.firstPageLabel, + "lastAriaLabel": props.lastPageLabel, + "length": pageCount.value, + "nextAriaLabel": props.nextPageLabel, + "previousAriaLabel": props.prevPageLabel, + "rounded": true, + "showFirstLastPage": true, + "totalVisible": props.showCurrentPage ? 1 : 0, + "variant": "plain" + }, paginationProps), null)])]); + }); + return {}; + } + }); + const VDataTableColumn = defineFunctionalComponent({ + align: { + type: String, + default: "start" + }, + fixed: { + type: [Boolean, String], + default: false + }, + fixedOffset: [Number, String], + fixedEndOffset: [Number, String], + height: [Number, String], + lastFixed: Boolean, + firstFixedEnd: Boolean, + noPadding: Boolean, + indent: [Number, String], + empty: Boolean, + tag: String, + width: [Number, String], + maxWidth: [Number, String], + nowrap: Boolean + }, (props, _ref) => { + let { + slots + } = _ref; + const Tag = props.tag ?? "td"; + const fixedSide = typeof props.fixed === "string" ? props.fixed : props.fixed ? "start" : "none"; + return require$$0.createVNode(Tag, { + "class": require$$0.normalizeClass(["v-data-table__td", { + "v-data-table-column--fixed": fixedSide === "start", + "v-data-table-column--fixed-end": fixedSide === "end", + "v-data-table-column--last-fixed": props.lastFixed, + "v-data-table-column--first-fixed-end": props.firstFixedEnd, + "v-data-table-column--no-padding": props.noPadding, + "v-data-table-column--nowrap": props.nowrap, + "v-data-table-column--empty": props.empty + }, `v-data-table-column--align-${props.align}`]), + "style": { + height: convertToUnit(props.height), + width: convertToUnit(props.width), + maxWidth: convertToUnit(props.maxWidth), + left: fixedSide === "start" ? convertToUnit(props.fixedOffset || null) : void 0, + right: fixedSide === "end" ? convertToUnit(props.fixedEndOffset || null) : void 0, + paddingInlineStart: props.indent ? convertToUnit(props.indent) : void 0 + } + }, { + default: () => [slots.default?.()] + }); + }); + const makeDataTableHeaderProps = propsFactory({ + headers: Array + }, "DataTable-header"); + const VDataTableHeadersSymbol = Symbol.for("vuetify:data-table-headers"); + const defaultHeader = { + title: "", + sortable: false + }; + const defaultActionHeader = { + ...defaultHeader, + width: 48 + }; + function priorityQueue() { + let arr = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; + const queue = arr.map((element) => ({ + element, + priority: 0 + })); + return { + enqueue: (element, priority) => { + let added = false; + for (let i7 = 0; i7 < queue.length; i7++) { + const item = queue[i7]; + if (item.priority > priority) { + queue.splice(i7, 0, { + element, + priority + }); + added = true; + break; + } + } + if (!added) queue.push({ + element, + priority + }); + }, + size: () => queue.length, + count: () => { + let count2 = 0; + if (!queue.length) return 0; + const whole = Math.floor(queue[0].priority); + for (let i7 = 0; i7 < queue.length; i7++) { + if (Math.floor(queue[i7].priority) === whole) count2 += 1; + } + return count2; + }, + dequeue: () => { + return queue.shift(); + } + }; + } + function extractLeaves(item) { + let columns = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + if (!item.children) { + columns.push(item); + } else { + for (const child of item.children) { + extractLeaves(child, columns); + } + } + return columns; + } + function extractKeys(headers) { + let keys2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set(); + for (const item of headers) { + if (item.key) keys2.add(item.key); + if (item.children) { + extractKeys(item.children, keys2); + } + } + return keys2; + } + function getDefaultItem(item) { + if (!item.key) return void 0; + if (item.key === "data-table-group") return defaultHeader; + if (["data-table-expand", "data-table-select"].includes(item.key)) return defaultActionHeader; + return void 0; + } + function getDepth(item) { + let depth = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + if (!item.children) return depth; + return Math.max(depth, ...item.children.map((child) => getDepth(child, depth + 1))); + } + function parseFixedColumns(items) { + let seenFixed = false; + function setFixed(item, side) { + let parentFixedSide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "none"; + if (!item) return; + if (parentFixedSide !== "none") { + item.fixed = parentFixedSide; + } + if (item.fixed === true) { + item.fixed = "start"; + } + if (item.fixed === side) { + if (item.children) { + if (side === "start") { + for (let i7 = item.children.length - 1; i7 >= 0; i7--) { + setFixed(item.children[i7], side, side); + } + } else { + for (let i7 = 0; i7 < item.children.length; i7++) { + setFixed(item.children[i7], side, side); + } + } + } else { + if (!seenFixed && side === "start") { + item.lastFixed = true; + } else if (!seenFixed && side === "end") { + item.firstFixedEnd = true; + } else if (isNaN(Number(item.width))) { + consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`); + } else { + item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0); + } + seenFixed = true; + } + } else { + if (item.children) { + if (side === "start") { + for (let i7 = item.children.length - 1; i7 >= 0; i7--) { + setFixed(item.children[i7], side); + } + } else { + for (let i7 = 0; i7 < item.children.length; i7++) { + setFixed(item.children[i7], side); + } + } + } else { + seenFixed = false; + } + } + } + for (let i7 = items.length - 1; i7 >= 0; i7--) { + setFixed(items[i7], "start"); + } + for (let i7 = 0; i7 < items.length; i7++) { + setFixed(items[i7], "end"); + } + let fixedOffset = 0; + for (let i7 = 0; i7 < items.length; i7++) { + fixedOffset = setFixedOffset(items[i7], fixedOffset); + } + let fixedEndOffset = 0; + for (let i7 = items.length - 1; i7 >= 0; i7--) { + fixedEndOffset = setFixedEndOffset(items[i7], fixedEndOffset); + } + } + function setFixedOffset(item) { + let offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + if (!item) return offset; + if (item.children) { + item.fixedOffset = offset; + for (const child of item.children) { + offset = setFixedOffset(child, offset); + } + } else if (item.fixed && item.fixed !== "end") { + item.fixedOffset = offset; + offset += parseFloat(item.width || "0") || 0; + } + return offset; + } + function setFixedEndOffset(item) { + let offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + if (!item) return offset; + if (item.children) { + item.fixedEndOffset = offset; + for (const child of item.children) { + offset = setFixedEndOffset(child, offset); + } + } else if (item.fixed === "end") { + item.fixedEndOffset = offset; + offset += parseFloat(item.width || "0") || 0; + } + return offset; + } + function parse$3(items, maxDepth) { + const headers = []; + let currentDepth = 0; + const queue = priorityQueue(items); + while (queue.size() > 0) { + let rowSize = queue.count(); + const row = []; + let fraction = 1; + while (rowSize > 0) { + const { + element: item, + priority + } = queue.dequeue(); + const diff = maxDepth - currentDepth - getDepth(item); + row.push({ + ...item, + rowspan: diff ?? 1, + colspan: item.children ? extractLeaves(item).length : 1 + }); + if (item.children) { + for (const child of item.children) { + const sort2 = priority % 1 + fraction / Math.pow(10, currentDepth + 2); + queue.enqueue(child, currentDepth + diff + sort2); + } + } + fraction += 1; + rowSize -= 1; + } + currentDepth += 1; + headers.push(row); + } + const columns = items.map((item) => extractLeaves(item)).flat(); + return { + columns, + headers + }; + } + function convertToInternalHeaders(items) { + const internalHeaders = []; + for (const item of items) { + const defaultItem = { + ...getDefaultItem(item), + ...item + }; + const key = defaultItem.key ?? (typeof defaultItem.value === "string" ? defaultItem.value : null); + const value = defaultItem.value ?? key ?? null; + const internalItem = { + ...defaultItem, + key, + value, + sortable: defaultItem.sortable ?? (defaultItem.key != null || !!defaultItem.sort), + children: defaultItem.children ? convertToInternalHeaders(defaultItem.children) : void 0 + }; + internalHeaders.push(internalItem); + } + return internalHeaders; + } + function createHeaders(props, options) { + const headers = require$$0.ref([]); + const columns = require$$0.ref([]); + const sortFunctions = require$$0.ref({}); + const sortRawFunctions = require$$0.ref({}); + const filterFunctions = require$$0.ref({}); + require$$0.watchEffect(() => { + const _headers = props.headers || Object.keys(props.items[0] ?? {}).map((key) => ({ + key, + title: require$$0.capitalize(key) + })); + const items = _headers.slice(); + const keys2 = extractKeys(items); + if (options?.groupBy?.value.length && !keys2.has("data-table-group")) { + items.unshift({ + key: "data-table-group", + title: "Group" + }); + } + if (options?.showSelect?.value && !keys2.has("data-table-select")) { + items.unshift({ + key: "data-table-select" + }); + } + if (options?.showExpand?.value && !keys2.has("data-table-expand")) { + items.push({ + key: "data-table-expand" + }); + } + const internalHeaders = convertToInternalHeaders(items); + parseFixedColumns(internalHeaders); + const maxDepth = Math.max(...internalHeaders.map((item) => getDepth(item))) + 1; + const parsed = parse$3(internalHeaders, maxDepth); + headers.value = parsed.headers; + columns.value = parsed.columns; + const flatHeaders = parsed.headers.flat(1); + for (const header of flatHeaders) { + if (!header.key) continue; + if (header.sortable) { + if (header.sort) { + sortFunctions.value[header.key] = header.sort; + } + if (header.sortRaw) { + sortRawFunctions.value[header.key] = header.sortRaw; + } + } + if (header.filter) { + filterFunctions.value[header.key] = header.filter; + } + } + }); + const data = { + headers, + columns, + sortFunctions, + sortRawFunctions, + filterFunctions + }; + require$$0.provide(VDataTableHeadersSymbol, data); + return data; + } + function useHeaders() { + const data = require$$0.inject(VDataTableHeadersSymbol); + if (!data) throw new Error("Missing headers!"); + return data; + } + const makeVDataTableHeadersProps = propsFactory({ + color: String, + disableSort: Boolean, + fixedHeader: Boolean, + multiSort: Boolean, + sortAscIcon: { + type: IconValue, + default: "$sortAsc" + }, + sortDescIcon: { + type: IconValue, + default: "$sortDesc" + }, + headerProps: { + type: Object + }, + /** @deprecated */ + sticky: Boolean, + ...makeDisplayProps(), + ...makeLoaderProps() + }, "VDataTableHeaders"); + const VDataTableHeaders = genericComponent()({ + name: "VDataTableHeaders", + props: makeVDataTableHeadersProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + t + } = useLocale(); + const { + toggleSort, + sortBy, + isSorted + } = useSort(); + const { + someSelected, + allSelected, + selectAll: selectAll2, + showSelectAll + } = useSelection(); + const { + columns, + headers + } = useHeaders(); + const { + loaderClasses + } = useLoader(props); + function getFixedStyles(column, y) { + if (!(props.sticky || props.fixedHeader) && !column.fixed) return void 0; + const fixedSide = typeof column.fixed === "string" ? column.fixed : column.fixed ? "start" : "none"; + return { + position: "sticky", + left: fixedSide === "start" ? convertToUnit(column.fixedOffset) : void 0, + right: fixedSide === "end" ? convertToUnit(column.fixedEndOffset) : void 0, + top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : void 0 + }; + } + function handleEnterKeyPress(event, column) { + if (event.key === "Enter" && !props.disableSort) { + toggleSort(column); + } + } + function getSortIcon(column) { + const item = sortBy.value.find((item2) => item2.key === column.key); + if (!item) return props.sortAscIcon; + return item.order === "asc" ? props.sortAscIcon : props.sortDescIcon; + } + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + displayClasses, + mobile + } = useDisplay(props); + const slotProps = require$$0.computed(() => ({ + headers: headers.value, + columns: columns.value, + toggleSort, + isSorted, + sortBy: sortBy.value, + someSelected: someSelected.value, + allSelected: allSelected.value, + selectAll: selectAll2, + getSortIcon + })); + const headerCellClasses = require$$0.computed(() => ["v-data-table__th", { + "v-data-table__th--sticky": props.sticky || props.fixedHeader + }, displayClasses.value, loaderClasses.value]); + const VDataTableHeaderCell = (_ref2) => { + let { + column, + x, + y + } = _ref2; + const noPadding = column.key === "data-table-select" || column.key === "data-table-expand"; + const isEmpty2 = column.key === "data-table-group" && column.width === 0 && !column.title; + const headerProps = require$$0.mergeProps(props.headerProps ?? {}, column.headerProps ?? {}); + return require$$0.createVNode(VDataTableColumn, require$$0.mergeProps({ + "tag": "th", + "align": column.align, + "class": [{ + "v-data-table__th--sortable": column.sortable && !props.disableSort, + "v-data-table__th--sorted": isSorted(column), + "v-data-table__th--fixed": column.fixed + }, ...headerCellClasses.value], + "style": { + width: convertToUnit(column.width), + minWidth: convertToUnit(column.minWidth), + maxWidth: convertToUnit(column.maxWidth), + ...getFixedStyles(column, y) + }, + "colspan": column.colspan, + "rowspan": column.rowspan, + "fixed": column.fixed, + "nowrap": column.nowrap, + "lastFixed": column.lastFixed, + "firstFixedEnd": column.firstFixedEnd, + "noPadding": noPadding, + "empty": isEmpty2, + "tabindex": column.sortable ? 0 : void 0, + "onClick": column.sortable ? () => toggleSort(column) : void 0, + "onKeydown": column.sortable ? (event) => handleEnterKeyPress(event, column) : void 0 + }, headerProps), { + default: () => { + const columnSlotName = `header.${column.key}`; + const columnSlotProps = { + column, + selectAll: selectAll2, + isSorted, + toggleSort, + sortBy: sortBy.value, + someSelected: someSelected.value, + allSelected: allSelected.value, + getSortIcon + }; + if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps); + if (isEmpty2) return ""; + if (column.key === "data-table-select") { + return slots["header.data-table-select"]?.(columnSlotProps) ?? (showSelectAll.value && require$$0.createVNode(VCheckboxBtn, { + "modelValue": allSelected.value, + "indeterminate": someSelected.value && !allSelected.value, + "onUpdate:modelValue": selectAll2 + }, null)); + } + return require$$0.createElementVNode("div", { + "class": "v-data-table-header__content" + }, [require$$0.createElementVNode("span", null, [column.title]), column.sortable && !props.disableSort && require$$0.createVNode(VIcon, { + "key": "icon", + "class": "v-data-table-header__sort-icon", + "icon": getSortIcon(column) + }, null), props.multiSort && isSorted(column) && require$$0.createElementVNode("div", { + "key": "badge", + "class": require$$0.normalizeClass(["v-data-table-header__sort-badge", ...backgroundColorClasses.value]), + "style": require$$0.normalizeStyle(backgroundColorStyles.value) + }, [sortBy.value.findIndex((x7) => x7.key === column.key) + 1])]); + } + }); + }; + const VDataTableMobileHeaderCell = () => { + const displayItems = require$$0.computed(() => { + return columns.value.filter((column) => column?.sortable && !props.disableSort); + }); + const appendIcon = require$$0.computed(() => { + const showSelectColumn = columns.value.find((column) => column.key === "data-table-select"); + if (showSelectColumn == null) return; + return allSelected.value ? "$checkboxOn" : someSelected.value ? "$checkboxIndeterminate" : "$checkboxOff"; + }); + return require$$0.createVNode(VDataTableColumn, require$$0.mergeProps({ + "tag": "th", + "class": [...headerCellClasses.value], + "colspan": headers.value.length + 1 + }, props.headerProps), { + default: () => [require$$0.createElementVNode("div", { + "class": "v-data-table-header__content" + }, [require$$0.createVNode(VSelect, { + "chips": true, + "class": "v-data-table__td-sort-select", + "clearable": true, + "density": "default", + "items": displayItems.value, + "label": t("$vuetify.dataTable.sortBy"), + "multiple": props.multiSort, + "variant": "underlined", + "onClick:clear": () => sortBy.value = [], + "appendIcon": appendIcon.value, + "onClick:append": () => selectAll2(!allSelected.value) + }, { + chip: (props2) => require$$0.createVNode(VChip, { + "onClick": props2.item.raw?.sortable ? () => toggleSort(props2.item.raw) : void 0, + "onMousedown": (e7) => { + e7.preventDefault(); + e7.stopPropagation(); + } + }, { + default: () => [props2.item.title, require$$0.createVNode(VIcon, { + "class": require$$0.normalizeClass(["v-data-table__td-sort-icon", isSorted(props2.item.raw) && "v-data-table__td-sort-icon-active"]), + "icon": getSortIcon(props2.item.raw), + "size": "small" + }, null)] + }) + })])] + }); + }; + useRender(() => { + return mobile.value ? require$$0.createElementVNode("tr", null, [require$$0.createVNode(VDataTableMobileHeaderCell, null, null)]) : require$$0.createElementVNode(require$$0.Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => require$$0.createElementVNode("tr", null, [row.map((column, x) => require$$0.createVNode(VDataTableHeaderCell, { + "column": column, + "x": x, + "y": y + }, null))])), props.loading && require$$0.createElementVNode("tr", { + "class": "v-data-table-progress" + }, [require$$0.createElementVNode("th", { + "colspan": columns.value.length + }, [require$$0.createVNode(LoaderSlot, { + "name": "v-data-table-progress", + "absolute": true, + "active": true, + "color": typeof props.loading === "boolean" ? void 0 : props.loading, + "indeterminate": true + }, { + default: slots.loader + })])])]); + }); + } + }); + const makeVDataTableGroupHeaderRowProps = propsFactory({ + item: { + type: Object, + required: true + }, + groupCollapseIcon: { + type: IconValue, + default: "$tableGroupCollapse" + }, + groupExpandIcon: { + type: IconValue, + default: "$tableGroupExpand" + } + }, "VDataTableGroupHeaderRow"); + const VDataTableGroupHeaderRow = genericComponent()({ + name: "VDataTableGroupHeaderRow", + props: makeVDataTableGroupHeaderRowProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + isGroupOpen, + toggleGroup, + extractRows + } = useGroupBy(); + const { + isSelected, + isSomeSelected, + select + } = useSelection(); + const { + columns + } = useHeaders(); + const rows = require$$0.computed(() => { + return extractRows([props.item]); + }); + const colspan = require$$0.toRef(() => columns.value.length - (columns.value.some((c) => c.key === "data-table-select") ? 1 : 0)); + return () => require$$0.createElementVNode("tr", { + "class": "v-data-table-group-header-row", + "style": { + "--v-data-table-group-header-row-depth": props.item.depth + } + }, [columns.value.map((column) => { + if (column.key === "data-table-group") { + const icon = isGroupOpen(props.item) ? props.groupCollapseIcon : props.groupExpandIcon; + const onClick = () => toggleGroup(props.item); + return slots["data-table-group"]?.({ + item: props.item, + count: rows.value.length, + props: { + icon, + onClick + } + }) ?? require$$0.createVNode(VDataTableColumn, { + "class": "v-data-table-group-header-row__column", + "colspan": colspan.value + }, { + default: () => [require$$0.createVNode(VBtn, { + "size": "small", + "variant": "text", + "icon": icon, + "onClick": onClick + }, null), require$$0.createElementVNode("span", null, [props.item.value]), require$$0.createElementVNode("span", null, [require$$0.createTextVNode("("), rows.value.length, require$$0.createTextVNode(")")])] + }); + } else if (column.key === "data-table-select") { + const modelValue = isSelected(rows.value); + const indeterminate = isSomeSelected(rows.value) && !modelValue; + const selectGroup = (v) => select(rows.value, v); + return slots["data-table-select"]?.({ + props: { + modelValue, + indeterminate, + "onUpdate:modelValue": selectGroup + } + }) ?? require$$0.createVNode(VDataTableColumn, { + "class": "v-data-table__td--select-row", + "noPadding": true + }, { + default: () => [require$$0.createVNode(VCheckboxBtn, { + "modelValue": modelValue, + "indeterminate": indeterminate, + "onUpdate:modelValue": selectGroup + }, null)] + }); + } + return ""; + })]); + } + }); + const makeVDataTableRowProps = propsFactory({ + index: Number, + item: Object, + cellProps: [Object, Function], + collapseIcon: { + type: IconValue, + default: "$collapse" + }, + expandIcon: { + type: IconValue, + default: "$expand" + }, + onClick: EventProp(), + onContextmenu: EventProp(), + onDblclick: EventProp(), + ...makeDisplayProps() + }, "VDataTableRow"); + const VDataTableRow = genericComponent()({ + name: "VDataTableRow", + props: makeVDataTableRowProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + displayClasses, + mobile + } = useDisplay(props, "v-data-table__tr"); + const { + isSelected, + toggleSelect, + someSelected, + allSelected, + selectAll: selectAll2 + } = useSelection(); + const { + isExpanded, + toggleExpand + } = useExpanded(); + const { + toggleSort, + sortBy, + isSorted + } = useSort(); + const { + columns + } = useHeaders(); + useRender(() => require$$0.createElementVNode("tr", { + "class": require$$0.normalizeClass(["v-data-table__tr", { + "v-data-table__tr--clickable": !!(props.onClick || props.onContextmenu || props.onDblclick) + }, displayClasses.value]), + "onClick": props.onClick, + "onContextmenu": props.onContextmenu, + "onDblclick": props.onDblclick + }, [props.item && columns.value.map((column, i7) => { + const item = props.item; + const slotName = `item.${column.key}`; + const headerSlotName = `header.${column.key}`; + const slotProps = { + index: props.index, + item: item.raw, + internalItem: item, + value: getObjectValueByPath(item.columns, column.key), + column, + isSelected, + toggleSelect, + isExpanded, + toggleExpand + }; + const columnSlotProps = { + column, + selectAll: selectAll2, + isSorted, + toggleSort, + sortBy: sortBy.value, + someSelected: someSelected.value, + allSelected: allSelected.value, + getSortIcon: () => "" + }; + const cellProps = typeof props.cellProps === "function" ? props.cellProps({ + index: slotProps.index, + item: slotProps.item, + internalItem: slotProps.internalItem, + value: slotProps.value, + column + }) : props.cellProps; + const columnCellProps = typeof column.cellProps === "function" ? column.cellProps({ + index: slotProps.index, + item: slotProps.item, + internalItem: slotProps.internalItem, + value: slotProps.value + }) : column.cellProps; + const noPadding = column.key === "data-table-select" || column.key === "data-table-expand"; + const isEmpty2 = column.key === "data-table-group" && column.width === 0 && !column.title; + return require$$0.createVNode(VDataTableColumn, require$$0.mergeProps({ + "align": column.align, + "indent": column.intent, + "class": { + "v-data-table__td--expanded-row": column.key === "data-table-expand", + "v-data-table__td--select-row": column.key === "data-table-select" + }, + "fixed": column.fixed, + "fixedOffset": column.fixedOffset, + "fixedEndOffset": column.fixedEndOffset, + "lastFixed": column.lastFixed, + "firstFixedEnd": column.firstFixedEnd, + "maxWidth": !mobile.value ? column.maxWidth : void 0, + "noPadding": noPadding, + "empty": isEmpty2, + "nowrap": column.nowrap, + "width": !mobile.value ? column.width : void 0 + }, cellProps, columnCellProps), { + default: () => { + if (column.key === "data-table-select") { + return slots["item.data-table-select"]?.({ + ...slotProps, + props: { + disabled: !item.selectable, + modelValue: isSelected([item]), + onClick: require$$0.withModifiers(() => toggleSelect(item), ["stop"]) + } + }) ?? require$$0.createVNode(VCheckboxBtn, { + "disabled": !item.selectable, + "modelValue": isSelected([item]), + "onClick": require$$0.withModifiers((event) => toggleSelect(item, props.index, event), ["stop"]) + }, null); + } + if (column.key === "data-table-expand") { + return slots["item.data-table-expand"]?.({ + ...slotProps, + props: { + icon: isExpanded(item) ? props.collapseIcon : props.expandIcon, + size: "small", + variant: "text", + onClick: require$$0.withModifiers(() => toggleExpand(item), ["stop"]) + } + }) ?? require$$0.createVNode(VBtn, { + "icon": isExpanded(item) ? props.collapseIcon : props.expandIcon, + "size": "small", + "variant": "text", + "onClick": require$$0.withModifiers(() => toggleExpand(item), ["stop"]) + }, null); + } + if (slots[slotName] && !mobile.value) return slots[slotName](slotProps); + const displayValue = require$$0.toDisplayString(slotProps.value); + return !mobile.value ? displayValue : require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("div", { + "class": "v-data-table__td-title" + }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), require$$0.createElementVNode("div", { + "class": "v-data-table__td-value" + }, [slots[slotName]?.(slotProps) ?? displayValue])]); + } + }); + })])); + } + }); + const makeVDataTableRowsProps = propsFactory({ + loading: [Boolean, String], + loadingText: { + type: String, + default: "$vuetify.dataIterator.loadingText" + }, + hideNoData: Boolean, + items: { + type: Array, + default: () => [] + }, + noDataText: { + type: String, + default: "$vuetify.noDataText" + }, + rowProps: [Object, Function], + cellProps: [Object, Function], + ...pick(makeVDataTableRowProps(), ["collapseIcon", "expandIcon"]), + ...pick(makeVDataTableGroupHeaderRowProps(), ["groupCollapseIcon", "groupExpandIcon"]), + ...makeDisplayProps() + }, "VDataTableRows"); + const VDataTableRows = genericComponent()({ + name: "VDataTableRows", + inheritAttrs: false, + props: makeVDataTableRowsProps(), + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + columns + } = useHeaders(); + const { + expandOnClick, + toggleExpand, + isExpanded + } = useExpanded(); + const { + isSelected, + toggleSelect + } = useSelection(); + const { + toggleGroup, + isGroupOpen + } = useGroupBy(); + const { + t + } = useLocale(); + const { + mobile + } = useDisplay(props); + useRender(() => { + const groupHeaderRowProps = pick(props, ["groupCollapseIcon", "groupExpandIcon"]); + if (props.loading && (!props.items.length || slots.loading)) { + return require$$0.createElementVNode("tr", { + "class": "v-data-table-rows-loading", + "key": "loading" + }, [require$$0.createElementVNode("td", { + "colspan": columns.value.length + }, [slots.loading?.() ?? t(props.loadingText)])]); + } + if (!props.loading && !props.items.length && !props.hideNoData) { + return require$$0.createElementVNode("tr", { + "class": "v-data-table-rows-no-data", + "key": "no-data" + }, [require$$0.createElementVNode("td", { + "colspan": columns.value.length + }, [slots["no-data"]?.() ?? t(props.noDataText)])]); + } + return require$$0.createElementVNode(require$$0.Fragment, null, [props.items.map((item, index2) => { + if (item.type === "group") { + const slotProps2 = { + index: index2, + item, + columns: columns.value, + isExpanded, + toggleExpand, + isSelected, + toggleSelect, + toggleGroup, + isGroupOpen + }; + return slots["group-header"] ? slots["group-header"](slotProps2) : require$$0.createVNode(VDataTableGroupHeaderRow, require$$0.mergeProps({ + "key": `group-header_${item.id}`, + "item": item + }, getPrefixedEventHandlers(attrs, ":groupHeader", () => slotProps2), groupHeaderRowProps), slots); + } + if (item.type === "group-summary") { + const slotProps2 = { + index: index2, + item, + columns: columns.value, + toggleGroup + }; + return slots["group-summary"]?.(slotProps2) ?? ""; + } + const slotProps = { + index: index2, + item: item.raw, + internalItem: item, + columns: columns.value, + isExpanded, + toggleExpand, + isSelected, + toggleSelect + }; + const itemSlotProps = { + ...slotProps, + props: require$$0.mergeProps({ + key: `item_${item.key ?? item.index}`, + onClick: expandOnClick.value ? () => { + toggleExpand(item); + } : void 0, + index: index2, + item, + cellProps: props.cellProps, + collapseIcon: props.collapseIcon, + expandIcon: props.expandIcon, + mobile: mobile.value + }, getPrefixedEventHandlers(attrs, ":row", () => slotProps), typeof props.rowProps === "function" ? props.rowProps({ + item: slotProps.item, + index: slotProps.index, + internalItem: slotProps.internalItem + }) : props.rowProps) + }; + return require$$0.createElementVNode(require$$0.Fragment, { + "key": itemSlotProps.props.key + }, [slots.item ? slots.item(itemSlotProps) : require$$0.createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots["expanded-row"]?.(slotProps)]); + })]); + }); + return {}; + } + }); + const makeVTableProps = propsFactory({ + fixedHeader: Boolean, + fixedFooter: Boolean, + height: [Number, String], + hover: Boolean, + striped: { + type: String, + default: null, + validator: (v) => ["even", "odd"].includes(v) + }, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VTable"); + const VTable = genericComponent()({ + name: "VTable", + props: makeVTableProps(), + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + densityClasses + } = useDensity(props); + useRender(() => { + const tableContentDefaults = { + VCheckboxBtn: { + density: props.density + } + }; + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-table", { + "v-table--fixed-height": !!props.height, + "v-table--fixed-header": props.fixedHeader, + "v-table--fixed-footer": props.fixedFooter, + "v-table--has-top": !!slots.top, + "v-table--has-bottom": !!slots.bottom, + "v-table--hover": props.hover, + "v-table--striped-even": props.striped === "even", + "v-table--striped-odd": props.striped === "odd" + }, themeClasses.value, densityClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.top?.(), require$$0.createVNode(VDefaultsProvider, { + "defaults": tableContentDefaults + }, { + default: () => [slots.default ? require$$0.createElementVNode("div", { + "class": "v-table__wrapper", + "style": { + height: convertToUnit(props.height) + } + }, [require$$0.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()] + }), slots.bottom?.()] + }); + }); + return {}; + } + }); + const makeDataTableItemsProps = propsFactory({ + items: { + type: Array, + default: () => [] + }, + itemValue: { + type: [String, Array, Function], + default: "id" + }, + itemSelectable: { + type: [String, Array, Function], + default: null + }, + rowProps: [Object, Function], + cellProps: [Object, Function], + returnObject: Boolean + }, "DataTable-items"); + function transformItem(props, item, index2, columns) { + const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue); + const selectable = getPropertyFromItem(item, props.itemSelectable, true); + const itemColumns = columns.reduce((obj, column) => { + if (column.key != null) obj[column.key] = getPropertyFromItem(item, column.value); + return obj; + }, {}); + return { + type: "item", + key: props.returnObject ? getPropertyFromItem(item, props.itemValue) : value, + index: index2, + value, + selectable, + columns: itemColumns, + raw: item + }; + } + function transformItems(props, items, columns) { + return items.map((item, index2) => transformItem(props, item, index2, columns)); + } + function useDataTableItems(props, columns) { + const items = require$$0.computed(() => transformItems(props, props.items, columns.value)); + return { + items + }; + } + const makeDataTableProps = propsFactory({ + ...makeVDataTableRowsProps(), + hideDefaultBody: Boolean, + hideDefaultFooter: Boolean, + hideDefaultHeader: Boolean, + width: [String, Number], + search: String, + ...makeDataTableExpandProps(), + ...makeDataTableGroupProps(), + ...makeDataTableHeaderProps(), + ...makeDataTableItemsProps(), + ...makeDataTableSelectProps(), + ...makeDataTableSortProps(), + ...makeVDataTableHeadersProps(), + ...makeVTableProps() + }, "DataTable"); + const makeVDataTableProps = propsFactory({ + ...makeDataTablePaginateProps(), + ...makeDataTableProps(), + ...makeFilterProps(), + ...makeVDataTableFooterProps() + }, "VDataTable"); + const VDataTable = genericComponent()({ + name: "VDataTable", + props: makeVDataTableProps(), + emits: { + "update:modelValue": (value) => true, + "update:page": (value) => true, + "update:itemsPerPage": (value) => true, + "update:sortBy": (value) => true, + "update:options": (value) => true, + "update:groupBy": (value) => true, + "update:expanded": (value) => true, + "update:currentItems": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + groupBy + } = createGroupBy(props); + const { + sortBy, + multiSort, + mustSort + } = createSort(props); + const { + page, + itemsPerPage + } = createPagination(props); + const { + disableSort + } = require$$0.toRefs(props); + const { + columns, + headers, + sortFunctions, + sortRawFunctions, + filterFunctions + } = createHeaders(props, { + groupBy, + showSelect: require$$0.toRef(() => props.showSelect), + showExpand: require$$0.toRef(() => props.showExpand) + }); + const { + items + } = useDataTableItems(props, columns); + const search = require$$0.toRef(() => props.search); + const { + filteredItems + } = useFilter(props, items, search, { + transform: (item) => item.columns, + customKeyFilter: filterFunctions + }); + const { + toggleSort + } = provideSort({ + sortBy, + multiSort, + mustSort, + page + }); + const { + sortByWithGroups, + opened, + extractRows, + isGroupOpen, + toggleGroup + } = provideGroupBy({ + groupBy, + sortBy, + disableSort + }); + const { + sortedItems + } = useSortedItems(props, filteredItems, sortByWithGroups, { + transform: (item) => ({ + ...item.raw, + ...item.columns + }), + sortFunctions, + sortRawFunctions + }); + const { + flatItems + } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots["group-summary"]); + const itemsLength = require$$0.computed(() => flatItems.value.length); + const { + startIndex, + stopIndex, + pageCount, + setItemsPerPage + } = providePagination({ + page, + itemsPerPage, + itemsLength + }); + const { + paginatedItems + } = usePaginatedItems({ + items: flatItems, + startIndex, + stopIndex, + itemsPerPage + }); + const paginatedItemsWithoutGroups = require$$0.computed(() => extractRows(paginatedItems.value)); + const { + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + someSelected, + allSelected + } = provideSelection(props, { + allItems: items, + currentPage: paginatedItemsWithoutGroups + }); + const { + isExpanded, + toggleExpand + } = provideExpanded(props); + useOptions({ + page, + itemsPerPage, + sortBy, + groupBy, + search + }); + provideDefaults({ + VDataTableRows: { + hideNoData: require$$0.toRef(() => props.hideNoData), + noDataText: require$$0.toRef(() => props.noDataText), + loading: require$$0.toRef(() => props.loading), + loadingText: require$$0.toRef(() => props.loadingText) + } + }); + const slotProps = require$$0.computed(() => ({ + page: page.value, + itemsPerPage: itemsPerPage.value, + sortBy: sortBy.value, + pageCount: pageCount.value, + toggleSort, + setItemsPerPage, + someSelected: someSelected.value, + allSelected: allSelected.value, + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + isExpanded, + toggleExpand, + isGroupOpen, + toggleGroup, + items: paginatedItemsWithoutGroups.value.map((item) => item.raw), + internalItems: paginatedItemsWithoutGroups.value, + groupedItems: paginatedItems.value, + columns: columns.value, + headers: headers.value + })); + useRender(() => { + const dataTableFooterProps = VDataTableFooter.filterProps(props); + const dataTableHeadersProps = VDataTableHeaders.filterProps(props); + const dataTableRowsProps = VDataTableRows.filterProps(props); + const tableProps = VTable.filterProps(props); + return require$$0.createVNode(VTable, require$$0.mergeProps({ + "class": ["v-data-table", { + "v-data-table--show-select": props.showSelect, + "v-data-table--loading": props.loading + }, props.class], + "style": props.style + }, tableProps, { + "fixedHeader": props.fixedHeader || props.sticky + }), { + top: () => slots.top?.(slotProps.value), + default: () => slots.default ? slots.default(slotProps.value) : require$$0.createElementVNode(require$$0.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && require$$0.createElementVNode("thead", { + "key": "thead" + }, [require$$0.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && require$$0.createElementVNode("tbody", null, [slots["body.prepend"]?.(slotProps.value), slots.body ? slots.body(slotProps.value) : require$$0.createVNode(VDataTableRows, require$$0.mergeProps(attrs, dataTableRowsProps, { + "items": paginatedItems.value + }), slots), slots["body.append"]?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]), + bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VDivider, null, null), require$$0.createVNode(VDataTableFooter, dataTableFooterProps, { + prepend: slots["footer.prepend"] + })]) + }); + }); + return {}; + } + }); + const makeVDataTableVirtualProps = propsFactory({ + ...omit(makeDataTableProps(), ["hideDefaultFooter"]), + ...makeDataTableGroupProps(), + ...makeVirtualProps(), + ...makeFilterProps() + }, "VDataTableVirtual"); + const VDataTableVirtual = genericComponent()({ + name: "VDataTableVirtual", + props: makeVDataTableVirtualProps(), + emits: { + "update:modelValue": (value) => true, + "update:sortBy": (value) => true, + "update:options": (value) => true, + "update:groupBy": (value) => true, + "update:expanded": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + groupBy + } = createGroupBy(props); + const { + sortBy, + multiSort, + mustSort + } = createSort(props); + const { + disableSort + } = require$$0.toRefs(props); + const { + columns, + headers, + filterFunctions, + sortFunctions, + sortRawFunctions + } = createHeaders(props, { + groupBy, + showSelect: require$$0.toRef(() => props.showSelect), + showExpand: require$$0.toRef(() => props.showExpand) + }); + const { + items + } = useDataTableItems(props, columns); + const search = require$$0.toRef(() => props.search); + const { + filteredItems + } = useFilter(props, items, search, { + transform: (item) => item.columns, + customKeyFilter: filterFunctions + }); + const { + toggleSort + } = provideSort({ + sortBy, + multiSort, + mustSort + }); + const { + sortByWithGroups, + opened, + extractRows, + isGroupOpen, + toggleGroup + } = provideGroupBy({ + groupBy, + sortBy, + disableSort + }); + const { + sortedItems + } = useSortedItems(props, filteredItems, sortByWithGroups, { + transform: (item) => ({ + ...item.raw, + ...item.columns + }), + sortFunctions, + sortRawFunctions + }); + const { + flatItems + } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots["group-summary"]); + const allItems = require$$0.computed(() => extractRows(flatItems.value)); + const { + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + someSelected, + allSelected + } = provideSelection(props, { + allItems, + currentPage: allItems + }); + const { + isExpanded, + toggleExpand + } = provideExpanded(props); + const { + containerRef, + markerRef, + paddingTop, + paddingBottom, + computedItems, + handleItemResize, + handleScroll, + handleScrollend, + calculateVisibleItems, + scrollToIndex + } = useVirtual(props, flatItems); + const displayItems = require$$0.computed(() => computedItems.value.map((item) => item.raw)); + useOptions({ + sortBy, + page: require$$0.shallowRef(1), + itemsPerPage: require$$0.shallowRef(-1), + groupBy, + search + }); + provideDefaults({ + VDataTableRows: { + hideNoData: require$$0.toRef(() => props.hideNoData), + noDataText: require$$0.toRef(() => props.noDataText), + loading: require$$0.toRef(() => props.loading), + loadingText: require$$0.toRef(() => props.loadingText) + } + }); + const slotProps = require$$0.computed(() => ({ + sortBy: sortBy.value, + toggleSort, + someSelected: someSelected.value, + allSelected: allSelected.value, + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + isExpanded, + toggleExpand, + isGroupOpen, + toggleGroup, + items: allItems.value.map((item) => item.raw), + internalItems: allItems.value, + groupedItems: flatItems.value, + columns: columns.value, + headers: headers.value + })); + useRender(() => { + const dataTableHeadersProps = VDataTableHeaders.filterProps(props); + const dataTableRowsProps = VDataTableRows.filterProps(props); + const tableProps = VTable.filterProps(props); + return require$$0.createVNode(VTable, require$$0.mergeProps({ + "class": ["v-data-table", { + "v-data-table--loading": props.loading + }, props.class], + "style": props.style + }, tableProps, { + "fixedHeader": props.fixedHeader || props.sticky + }), { + top: () => slots.top?.(slotProps.value), + wrapper: () => require$$0.createElementVNode("div", { + "ref": containerRef, + "onScrollPassive": handleScroll, + "onScrollend": handleScrollend, + "class": "v-table__wrapper", + "style": { + height: convertToUnit(props.height) + } + }, [require$$0.createElementVNode("table", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && require$$0.createElementVNode("thead", { + "key": "thead" + }, [require$$0.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && require$$0.createElementVNode("tbody", { + "key": "tbody" + }, [require$$0.createElementVNode("tr", { + "ref": markerRef, + "style": { + height: convertToUnit(paddingTop.value), + border: 0 + } + }, [require$$0.createElementVNode("td", { + "colspan": columns.value.length, + "style": { + height: 0, + border: 0 + } + }, null)]), slots["body.prepend"]?.(slotProps.value), require$$0.createVNode(VDataTableRows, require$$0.mergeProps(attrs, dataTableRowsProps, { + "items": displayItems.value + }), { + ...slots, + item: (itemSlotProps) => require$$0.createVNode(VVirtualScrollItem, { + "key": itemSlotProps.internalItem.index, + "renderless": true, + "onUpdate:height": (height) => handleItemResize(itemSlotProps.internalItem.index, height) + }, { + default: (_ref2) => { + let { + itemRef + } = _ref2; + return slots.item?.({ + ...itemSlotProps, + itemRef + }) ?? require$$0.createVNode(VDataTableRow, require$$0.mergeProps(itemSlotProps.props, { + "ref": itemRef, + "key": itemSlotProps.internalItem.index, + "index": itemSlotProps.internalItem.index + }), slots); + } + }) + }), slots["body.append"]?.(slotProps.value), require$$0.createElementVNode("tr", { + "style": { + height: convertToUnit(paddingBottom.value), + border: 0 + } + }, [require$$0.createElementVNode("td", { + "colspan": columns.value.length, + "style": { + height: 0, + border: 0 + } + }, null)])]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)])]), + bottom: () => slots.bottom?.(slotProps.value) + }); + }); + return { + calculateVisibleItems, + scrollToIndex + }; + } + }); + const makeVDataTableServerProps = propsFactory({ + itemsLength: { + type: [Number, String], + required: true + }, + ...makeDataTablePaginateProps(), + ...makeDataTableProps(), + ...makeVDataTableFooterProps() + }, "VDataTableServer"); + const VDataTableServer = genericComponent()({ + name: "VDataTableServer", + props: makeVDataTableServerProps(), + emits: { + "update:modelValue": (value) => true, + "update:page": (page) => true, + "update:itemsPerPage": (page) => true, + "update:sortBy": (sortBy) => true, + "update:options": (options) => true, + "update:expanded": (options) => true, + "update:groupBy": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + groupBy + } = createGroupBy(props); + const { + sortBy, + multiSort, + mustSort + } = createSort(props); + const { + page, + itemsPerPage + } = createPagination(props); + const { + disableSort + } = require$$0.toRefs(props); + const itemsLength = require$$0.computed(() => parseInt(props.itemsLength, 10)); + const { + columns, + headers + } = createHeaders(props, { + groupBy, + showSelect: require$$0.toRef(() => props.showSelect), + showExpand: require$$0.toRef(() => props.showExpand) + }); + const { + items + } = useDataTableItems(props, columns); + const { + toggleSort + } = provideSort({ + sortBy, + multiSort, + mustSort, + page + }); + const { + opened, + isGroupOpen, + toggleGroup, + extractRows + } = provideGroupBy({ + groupBy, + sortBy, + disableSort + }); + const { + pageCount, + setItemsPerPage + } = providePagination({ + page, + itemsPerPage, + itemsLength + }); + const { + flatItems + } = useGroupedItems(items, groupBy, opened, () => !!slots["group-summary"]); + const { + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + someSelected, + allSelected + } = provideSelection(props, { + allItems: items, + currentPage: items + }); + const { + isExpanded, + toggleExpand + } = provideExpanded(props); + const itemsWithoutGroups = require$$0.computed(() => extractRows(items.value)); + useOptions({ + page, + itemsPerPage, + sortBy, + groupBy, + search: require$$0.toRef(() => props.search) + }); + require$$0.provide("v-data-table", { + toggleSort, + sortBy + }); + provideDefaults({ + VDataTableRows: { + hideNoData: require$$0.toRef(() => props.hideNoData), + noDataText: require$$0.toRef(() => props.noDataText), + loading: require$$0.toRef(() => props.loading), + loadingText: require$$0.toRef(() => props.loadingText) + } + }); + const slotProps = require$$0.computed(() => ({ + page: page.value, + itemsPerPage: itemsPerPage.value, + sortBy: sortBy.value, + pageCount: pageCount.value, + toggleSort, + setItemsPerPage, + someSelected: someSelected.value, + allSelected: allSelected.value, + isSelected, + select, + selectAll: selectAll2, + toggleSelect, + isExpanded, + toggleExpand, + isGroupOpen, + toggleGroup, + items: itemsWithoutGroups.value.map((item) => item.raw), + internalItems: itemsWithoutGroups.value, + groupedItems: flatItems.value, + columns: columns.value, + headers: headers.value + })); + useRender(() => { + const dataTableFooterProps = VDataTableFooter.filterProps(props); + const dataTableHeadersProps = VDataTableHeaders.filterProps(props); + const dataTableRowsProps = VDataTableRows.filterProps(props); + const tableProps = VTable.filterProps(props); + return require$$0.createVNode(VTable, require$$0.mergeProps({ + "class": ["v-data-table", { + "v-data-table--loading": props.loading + }, props.class], + "style": props.style + }, tableProps, { + "fixedHeader": props.fixedHeader || props.sticky + }), { + top: () => slots.top?.(slotProps.value), + default: () => slots.default ? slots.default(slotProps.value) : require$$0.createElementVNode(require$$0.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && require$$0.createElementVNode("thead", { + "key": "thead", + "class": "v-data-table__thead", + "role": "rowgroup" + }, [require$$0.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && require$$0.createElementVNode("tbody", { + "class": "v-data-table__tbody", + "role": "rowgroup" + }, [slots["body.prepend"]?.(slotProps.value), slots.body ? slots.body(slotProps.value) : require$$0.createVNode(VDataTableRows, require$$0.mergeProps(attrs, dataTableRowsProps, { + "items": flatItems.value + }), slots), slots["body.append"]?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]), + bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VDivider, null, null), require$$0.createVNode(VDataTableFooter, dataTableFooterProps, { + prepend: slots["footer.prepend"] + })]) + }); + }); + } + }); + const makeVContainerProps = propsFactory({ + fluid: { + type: Boolean, + default: false + }, + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeTagProps() + }, "VContainer"); + const VContainer = genericComponent()({ + name: "VContainer", + props: makeVContainerProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + rtlClasses + } = useRtl(); + const { + dimensionStyles + } = useDimension(props); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-container", { + "v-container--fluid": props.fluid + }, rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle([dimensionStyles.value, props.style]) + }, slots)); + return {}; + } + }); + const breakpointProps = (() => { + return breakpoints.reduce((props, val) => { + props[val] = { + type: [Boolean, String, Number], + default: false + }; + return props; + }, {}); + })(); + const offsetProps = (() => { + return breakpoints.reduce((props, val) => { + const offsetKey = "offset" + require$$0.capitalize(val); + props[offsetKey] = { + type: [String, Number], + default: null + }; + return props; + }, {}); + })(); + const orderProps = (() => { + return breakpoints.reduce((props, val) => { + const orderKey = "order" + require$$0.capitalize(val); + props[orderKey] = { + type: [String, Number], + default: null + }; + return props; + }, {}); + })(); + const propMap$1 = { + col: Object.keys(breakpointProps), + offset: Object.keys(offsetProps), + order: Object.keys(orderProps) + }; + function breakpointClass$1(type, prop, val) { + let className = type; + if (val == null || val === false) { + return void 0; + } + if (prop) { + const breakpoint = prop.replace(type, ""); + className += `-${breakpoint}`; + } + if (type === "col") { + className = "v-" + className; + } + if (type === "col" && (val === "" || val === true)) { + return className.toLowerCase(); + } + className += `-${val}`; + return className.toLowerCase(); + } + const ALIGN_SELF_VALUES = ["auto", "start", "end", "center", "baseline", "stretch"]; + const makeVColProps = propsFactory({ + cols: { + type: [Boolean, String, Number], + default: false + }, + ...breakpointProps, + offset: { + type: [String, Number], + default: null + }, + ...offsetProps, + order: { + type: [String, Number], + default: null + }, + ...orderProps, + alignSelf: { + type: String, + default: null, + validator: (str) => ALIGN_SELF_VALUES.includes(str) + }, + ...makeComponentProps(), + ...makeTagProps() + }, "VCol"); + const VCol = genericComponent()({ + name: "VCol", + props: makeVColProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const classes = require$$0.computed(() => { + const classList = []; + let type; + for (type in propMap$1) { + propMap$1[type].forEach((prop) => { + const value = props[prop]; + const className = breakpointClass$1(type, prop, value); + if (className) classList.push(className); + }); + } + const hasColClasses = classList.some((className) => className.startsWith("v-col-")); + classList.push({ + // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified. + "v-col": !hasColClasses || !props.cols, + [`v-col-${props.cols}`]: props.cols, + [`offset-${props.offset}`]: props.offset, + [`order-${props.order}`]: props.order, + [`align-self-${props.alignSelf}`]: props.alignSelf + }); + return classList; + }); + return () => require$$0.h(props.tag, { + class: [classes.value, props.class], + style: props.style + }, slots.default?.()); + } + }); + const ALIGNMENT = ["start", "end", "center"]; + const SPACE = ["space-between", "space-around", "space-evenly"]; + function makeRowProps(prefix, def) { + return breakpoints.reduce((props, val) => { + const prefixKey = prefix + require$$0.capitalize(val); + props[prefixKey] = def(); + return props; + }, {}); + } + const ALIGN_VALUES = [...ALIGNMENT, "baseline", "stretch"]; + const alignValidator = (str) => ALIGN_VALUES.includes(str); + const alignProps = makeRowProps("align", () => ({ + type: String, + default: null, + validator: alignValidator + })); + const JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE]; + const justifyValidator = (str) => JUSTIFY_VALUES.includes(str); + const justifyProps = makeRowProps("justify", () => ({ + type: String, + default: null, + validator: justifyValidator + })); + const ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, "stretch"]; + const alignContentValidator = (str) => ALIGN_CONTENT_VALUES.includes(str); + const alignContentProps = makeRowProps("alignContent", () => ({ + type: String, + default: null, + validator: alignContentValidator + })); + const propMap = { + align: Object.keys(alignProps), + justify: Object.keys(justifyProps), + alignContent: Object.keys(alignContentProps) + }; + const classMap = { + align: "align", + justify: "justify", + alignContent: "align-content" + }; + function breakpointClass(type, prop, val) { + let className = classMap[type]; + if (val == null) { + return void 0; + } + if (prop) { + const breakpoint = prop.replace(type, ""); + className += `-${breakpoint}`; + } + className += `-${val}`; + return className.toLowerCase(); + } + const makeVRowProps = propsFactory({ + dense: Boolean, + noGutters: Boolean, + align: { + type: String, + default: null, + validator: alignValidator + }, + ...alignProps, + justify: { + type: String, + default: null, + validator: justifyValidator + }, + ...justifyProps, + alignContent: { + type: String, + default: null, + validator: alignContentValidator + }, + ...alignContentProps, + ...makeComponentProps(), + ...makeTagProps() + }, "VRow"); + const VRow = genericComponent()({ + name: "VRow", + props: makeVRowProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const classes = require$$0.computed(() => { + const classList = []; + let type; + for (type in propMap) { + propMap[type].forEach((prop) => { + const value = props[prop]; + const className = breakpointClass(type, prop, value); + if (className) classList.push(className); + }); + } + classList.push({ + "v-row--no-gutters": props.noGutters, + "v-row--dense": props.dense, + [`align-${props.align}`]: props.align, + [`justify-${props.justify}`]: props.justify, + [`align-content-${props.alignContent}`]: props.alignContent + }); + return classList; + }); + return () => require$$0.h(props.tag, { + class: ["v-row", classes.value, props.class], + style: props.style + }, slots.default?.()); + } + }); + const VSpacer = createSimpleFunctional("v-spacer", "div", "VSpacer"); + const makeVDatePickerControlsProps = propsFactory({ + active: { + type: [String, Array], + default: void 0 + }, + controlHeight: [Number, String], + disabled: { + type: [Boolean, String, Array], + default: null + }, + nextIcon: { + type: IconValue, + default: "$next" + }, + prevIcon: { + type: IconValue, + default: "$prev" + }, + modeIcon: { + type: IconValue, + default: "$subgroup" + }, + text: String, + viewMode: { + type: String, + default: "month" + } + }, "VDatePickerControls"); + const VDatePickerControls = genericComponent()({ + name: "VDatePickerControls", + props: makeVDatePickerControlsProps(), + emits: { + "click:year": () => true, + "click:month": () => true, + "click:prev": () => true, + "click:next": () => true, + "click:text": () => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + const { + t + } = useLocale(); + const disableMonth = require$$0.computed(() => { + return Array.isArray(props.disabled) ? props.disabled.includes("text") : !!props.disabled; + }); + const disableYear = require$$0.computed(() => { + return Array.isArray(props.disabled) ? props.disabled.includes("mode") : !!props.disabled; + }); + const disablePrev = require$$0.computed(() => { + return Array.isArray(props.disabled) ? props.disabled.includes("prev") : !!props.disabled; + }); + const disableNext = require$$0.computed(() => { + return Array.isArray(props.disabled) ? props.disabled.includes("next") : !!props.disabled; + }); + function onClickPrev() { + emit("click:prev"); + } + function onClickNext() { + emit("click:next"); + } + function onClickYear() { + emit("click:year"); + } + function onClickMonth() { + emit("click:month"); + } + useRender(() => { + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-date-picker-controls"]), + "style": { + "--v-date-picker-controls-height": convertToUnit(props.controlHeight) + } + }, [require$$0.createVNode(VBtn, { + "class": "v-date-picker-controls__month-btn", + "data-testid": "month-btn", + "disabled": disableMonth.value, + "text": props.text, + "variant": "text", + "rounded": true, + "onClick": onClickMonth + }, null), require$$0.createVNode(VBtn, { + "class": "v-date-picker-controls__mode-btn", + "data-testid": "year-btn", + "disabled": disableYear.value, + "density": "comfortable", + "icon": props.modeIcon, + "variant": "text", + "aria-label": t("$vuetify.datePicker.ariaLabel.selectYear"), + "onClick": onClickYear + }, null), require$$0.createVNode(VSpacer, null, null), require$$0.createElementVNode("div", { + "class": "v-date-picker-controls__month" + }, [require$$0.createVNode(VBtn, { + "data-testid": "prev-month", + "disabled": disablePrev.value, + "density": "comfortable", + "icon": props.prevIcon, + "variant": "text", + "aria-label": t("$vuetify.datePicker.ariaLabel.previousMonth"), + "onClick": onClickPrev + }, null), require$$0.createVNode(VBtn, { + "data-testid": "next-month", + "disabled": disableNext.value, + "icon": props.nextIcon, + "density": "comfortable", + "variant": "text", + "aria-label": t("$vuetify.datePicker.ariaLabel.nextMonth"), + "onClick": onClickNext + }, null)])]); + }); + return {}; + } + }); + const makeVDatePickerHeaderProps = propsFactory({ + appendIcon: IconValue, + color: String, + header: String, + transition: String, + onClick: EventProp() + }, "VDatePickerHeader"); + const VDatePickerHeader = genericComponent()({ + name: "VDatePickerHeader", + props: makeVDatePickerHeaderProps(), + emits: { + click: () => true, + "click:append": () => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + function onClick() { + emit("click"); + } + function onClickAppend() { + emit("click:append"); + } + useRender(() => { + const hasContent = !!(slots.default || props.header); + const hasAppend = !!(slots.append || props.appendIcon); + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-date-picker-header", { + "v-date-picker-header--clickable": !!props.onClick + }, backgroundColorClasses.value]), + "style": require$$0.normalizeStyle(backgroundColorStyles.value), + "onClick": onClick + }, [slots.prepend && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-date-picker-header__prepend" + }, [slots.prepend()]), hasContent && require$$0.createVNode(MaybeTransition, { + "key": "content", + "name": props.transition + }, { + default: () => [require$$0.createElementVNode("div", { + "key": props.header, + "class": "v-date-picker-header__content" + }, [slots.default?.() ?? props.header])] + }), hasAppend && require$$0.createElementVNode("div", { + "class": "v-date-picker-header__append" + }, [!slots.append ? require$$0.createVNode(VBtn, { + "key": "append-btn", + "icon": props.appendIcon, + "variant": "text", + "onClick": onClickAppend + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "append-defaults", + "disabled": !props.appendIcon, + "defaults": { + VBtn: { + icon: props.appendIcon, + variant: "text" + } + } + }, { + default: () => [slots.append?.()] + })])]); + }); + return {}; + } + }); + const makeCalendarProps = propsFactory({ + allowedDates: [Array, Function], + disabled: { + type: Boolean, + default: null + }, + displayValue: null, + modelValue: Array, + month: [Number, String], + max: null, + min: null, + showAdjacentMonths: Boolean, + year: [Number, String], + weekdays: { + type: Array, + default: () => [0, 1, 2, 3, 4, 5, 6] + }, + weeksInMonth: { + type: String, + default: "dynamic" + }, + firstDayOfWeek: { + type: [Number, String], + default: void 0 + }, + firstDayOfYear: { + type: [Number, String], + default: void 0 + }, + weekdayFormat: String + }, "calendar"); + function useCalendar(props) { + const adapter = useDate(); + const model = useProxiedModel(props, "modelValue", [], (v) => wrapInArray(v).map((i7) => adapter.date(i7))); + const displayValue = require$$0.computed(() => { + if (props.displayValue) return adapter.date(props.displayValue); + if (model.value.length > 0) return adapter.date(model.value[0]); + if (props.min) return adapter.date(props.min); + if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0]); + return adapter.date(); + }); + const year = useProxiedModel(props, "year", void 0, (v) => { + const value = v != null ? Number(v) : adapter.getYear(displayValue.value); + return adapter.startOfYear(adapter.setYear(adapter.date(), value)); + }, (v) => adapter.getYear(v)); + const month = useProxiedModel(props, "month", void 0, (v) => { + const value = v != null ? Number(v) : adapter.getMonth(displayValue.value); + const date2 = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value)); + return adapter.setMonth(date2, value); + }, (v) => adapter.getMonth(v)); + const weekdayLabels = require$$0.computed(() => { + const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay(); + return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).filter((_7, i7) => props.weekdays.includes((i7 + firstDayOfWeek) % 7)); + }); + const weeksInMonth = require$$0.computed(() => { + const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek); + const days = weeks.flat(); + const daysInMonth2 = 6 * 7; + if (props.weeksInMonth === "static" && days.length < daysInMonth2) { + const lastDay = days[days.length - 1]; + let week = []; + for (let day = 1; day <= daysInMonth2 - days.length; day++) { + week.push(adapter.addDays(lastDay, day)); + if (day % 7 === 0) { + weeks.push(week); + week = []; + } + } + } + return weeks; + }); + function genDays(days, today) { + return days.filter((date2) => { + return props.weekdays.includes(adapter.toJsDate(date2).getDay()); + }).map((date2, index2) => { + const isoDate = adapter.toISO(date2); + const isAdjacent = !adapter.isSameMonth(date2, month.value); + const isStart = adapter.isSameDay(date2, adapter.startOfMonth(month.value)); + const isEnd = adapter.isSameDay(date2, adapter.endOfMonth(month.value)); + const isSame = adapter.isSameDay(date2, month.value); + const weekdaysCount = props.weekdays.length; + return { + date: date2, + formatted: adapter.format(date2, "keyboardDate"), + isAdjacent, + isDisabled: isDisabled(date2), + isEnd, + isHidden: isAdjacent && !props.showAdjacentMonths, + isSame, + isSelected: model.value.some((value) => adapter.isSameDay(date2, value)), + isStart, + isToday: adapter.isSameDay(date2, today), + isWeekEnd: index2 % weekdaysCount === weekdaysCount - 1, + isWeekStart: index2 % weekdaysCount === 0, + isoDate, + localized: adapter.format(date2, "dayOfMonth"), + month: adapter.getMonth(date2), + year: adapter.getYear(date2) + }; + }); + } + const daysInWeek = require$$0.computed(() => { + const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek); + const week = []; + for (let day = 0; day <= 6; day++) { + week.push(adapter.addDays(lastDay, day)); + } + const today = adapter.date(); + return genDays(week, today); + }); + const daysInMonth = require$$0.computed(() => { + const days = weeksInMonth.value.flat(); + const today = adapter.date(); + return genDays(days, today); + }); + const weekNumbers = require$$0.computed(() => { + return weeksInMonth.value.map((week) => { + return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null; + }); + }); + function isDisabled(value) { + if (props.disabled) return true; + const date2 = adapter.date(value); + if (props.min && adapter.isBefore(adapter.endOfDay(date2), adapter.date(props.min))) return true; + if (props.max && adapter.isAfter(date2, adapter.date(props.max))) return true; + if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) { + return !props.allowedDates.some((d) => adapter.isSameDay(adapter.date(d), date2)); + } + if (typeof props.allowedDates === "function") { + return !props.allowedDates(date2); + } + return false; + } + return { + displayValue, + daysInMonth, + daysInWeek, + genDays, + model, + weeksInMonth, + weekdayLabels, + weekNumbers + }; + } + const makeVDatePickerMonthProps = propsFactory({ + color: String, + hideWeekdays: Boolean, + multiple: [Boolean, Number, String], + showWeek: Boolean, + transition: { + type: String, + default: "picker-transition" + }, + reverseTransition: { + type: String, + default: "picker-reverse-transition" + }, + ...omit(makeCalendarProps(), ["displayValue"]) + }, "VDatePickerMonth"); + const VDatePickerMonth = genericComponent()({ + name: "VDatePickerMonth", + props: makeVDatePickerMonthProps(), + emits: { + "update:modelValue": (date2) => true, + "update:month": (date2) => true, + "update:year": (date2) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const daysRef = require$$0.ref(); + const { + t + } = useLocale(); + const { + daysInMonth, + model, + weekNumbers, + weekdayLabels + } = useCalendar(props); + const adapter = useDate(); + const rangeStart = require$$0.shallowRef(); + const rangeStop = require$$0.shallowRef(); + const isReverse = require$$0.shallowRef(false); + const transition = require$$0.toRef(() => { + return !isReverse.value ? props.transition : props.reverseTransition; + }); + if (props.multiple === "range" && model.value.length > 0) { + rangeStart.value = model.value[0]; + if (model.value.length > 1) { + rangeStop.value = model.value[model.value.length - 1]; + } + } + const atMax = require$$0.computed(() => { + const max3 = ["number", "string"].includes(typeof props.multiple) ? Number(props.multiple) : Infinity; + return model.value.length >= max3; + }); + require$$0.watch(daysInMonth, (val, oldVal) => { + if (!oldVal) return; + isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date); + }); + function onRangeClick(value) { + const _value = adapter.startOfDay(value); + if (model.value.length === 0) { + rangeStart.value = void 0; + } else if (model.value.length === 1) { + rangeStart.value = model.value[0]; + rangeStop.value = void 0; + } + if (!rangeStart.value) { + rangeStart.value = _value; + model.value = [rangeStart.value]; + } else if (!rangeStop.value) { + if (adapter.isSameDay(_value, rangeStart.value)) { + rangeStart.value = void 0; + model.value = []; + return; + } else if (adapter.isBefore(_value, rangeStart.value)) { + rangeStop.value = adapter.endOfDay(rangeStart.value); + rangeStart.value = _value; + } else { + rangeStop.value = adapter.endOfDay(_value); + } + model.value = createDateRange(adapter, rangeStart.value, rangeStop.value); + } else { + rangeStart.value = value; + rangeStop.value = void 0; + model.value = [rangeStart.value]; + } + } + function getDateAriaLabel(item) { + const fullDate = adapter.format(item.date, "fullDateWithWeekday"); + const localeKey = item.isToday ? "currentDate" : "selectDate"; + return t(`$vuetify.datePicker.ariaLabel.${localeKey}`, fullDate); + } + function onMultipleClick(value) { + const index2 = model.value.findIndex((selection) => adapter.isSameDay(selection, value)); + if (index2 === -1) { + model.value = [...model.value, value]; + } else { + const value2 = [...model.value]; + value2.splice(index2, 1); + model.value = value2; + } + } + function onClick(value) { + if (props.multiple === "range") { + onRangeClick(value); + } else if (props.multiple) { + onMultipleClick(value); + } else { + model.value = [value]; + } + } + useRender(() => require$$0.createElementVNode("div", { + "class": "v-date-picker-month", + "style": { + "--v-date-picker-days-in-week": props.weekdays.length + } + }, [props.showWeek && require$$0.createElementVNode("div", { + "key": "weeks", + "class": "v-date-picker-month__weeks" + }, [!props.hideWeekdays && require$$0.createElementVNode("div", { + "key": "hide-week-days", + "class": "v-date-picker-month__day" + }, [require$$0.createTextVNode(" ")]), weekNumbers.value.map((week) => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-date-picker-month__day", "v-date-picker-month__day--adjacent"]) + }, [week]))]), require$$0.createVNode(MaybeTransition, { + "name": transition.value + }, { + default: () => [require$$0.createElementVNode("div", { + "ref": daysRef, + "key": daysInMonth.value[0].date?.toString(), + "class": "v-date-picker-month__days" + }, [!props.hideWeekdays && weekdayLabels.value.map((weekDay) => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-date-picker-month__day", "v-date-picker-month__weekday"]) + }, [weekDay])), daysInMonth.value.map((item, i7) => { + const slotProps = { + props: { + class: "v-date-picker-month__day-btn", + color: item.isSelected || item.isToday ? props.color : void 0, + disabled: item.isDisabled, + icon: true, + ripple: false, + text: item.localized, + variant: item.isSelected ? "flat" : item.isToday ? "outlined" : "text", + "aria-label": getDateAriaLabel(item), + "aria-current": item.isToday ? "date" : void 0, + onClick: () => onClick(item.date) + }, + item, + i: i7 + }; + if (atMax.value && !item.isSelected) { + item.isDisabled = true; + } + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-date-picker-month__day", { + "v-date-picker-month__day--adjacent": item.isAdjacent, + "v-date-picker-month__day--hide-adjacent": item.isHidden, + "v-date-picker-month__day--selected": item.isSelected, + "v-date-picker-month__day--week-end": item.isWeekEnd, + "v-date-picker-month__day--week-start": item.isWeekStart + }]), + "data-v-date": !item.isDisabled ? item.isoDate : void 0 + }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? require$$0.createVNode(VBtn, slotProps.props, null))]); + })])] + })])); + } + }); + const makeVDatePickerMonthsProps = propsFactory({ + color: String, + height: [String, Number], + min: null, + max: null, + modelValue: Number, + year: Number, + allowedMonths: [Array, Function] + }, "VDatePickerMonths"); + const VDatePickerMonths = genericComponent()({ + name: "VDatePickerMonths", + props: makeVDatePickerMonthsProps(), + emits: { + "update:modelValue": (date2) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const adapter = useDate(); + const model = useProxiedModel(props, "modelValue"); + const months = require$$0.computed(() => { + let date2 = adapter.startOfYear(adapter.date()); + if (props.year) { + date2 = adapter.setYear(date2, props.year); + } + return createRange(12).map((i7) => { + const text2 = adapter.format(date2, "monthShort"); + const label = adapter.format(date2, "month"); + const isDisabled = !!(!isMonthAllowed(i7) || props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date2) || props.max && adapter.isAfter(date2, adapter.startOfMonth(adapter.date(props.max)))); + date2 = adapter.getNextMonth(date2); + return { + isDisabled, + text: text2, + label, + value: i7 + }; + }); + }); + require$$0.watchEffect(() => { + model.value = model.value ?? adapter.getMonth(adapter.date()); + }); + function isMonthAllowed(month) { + if (Array.isArray(props.allowedMonths) && props.allowedMonths.length) { + return props.allowedMonths.includes(month); + } + if (typeof props.allowedMonths === "function") { + return props.allowedMonths(month); + } + return true; + } + useRender(() => require$$0.createElementVNode("div", { + "class": "v-date-picker-months", + "style": { + height: convertToUnit(props.height) + } + }, [require$$0.createElementVNode("div", { + "class": "v-date-picker-months__content" + }, [months.value.map((month, i7) => { + const btnProps = { + active: model.value === i7, + ariaLabel: month.label, + color: model.value === i7 ? props.color : void 0, + disabled: month.isDisabled, + rounded: true, + text: month.text, + variant: model.value === month.value ? "flat" : "text", + onClick: () => onClick(i7) + }; + function onClick(i9) { + if (model.value === i9) { + emit("update:modelValue", model.value); + return; + } + model.value = i9; + } + return slots.month?.({ + month, + i: i7, + props: btnProps + }) ?? require$$0.createVNode(VBtn, require$$0.mergeProps({ + "key": "month" + }, btnProps), null); + })])])); + return {}; + } + }); + const makeVDatePickerYearsProps = propsFactory({ + color: String, + height: [String, Number], + min: null, + max: null, + modelValue: Number, + allowedYears: [Array, Function] + }, "VDatePickerYears"); + const VDatePickerYears = genericComponent()({ + name: "VDatePickerYears", + props: makeVDatePickerYearsProps(), + directives: { + vIntersect: Intersect + }, + emits: { + "update:modelValue": (year) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const adapter = useDate(); + const model = useProxiedModel(props, "modelValue"); + const years = require$$0.computed(() => { + const year = adapter.getYear(adapter.date()); + let min3 = year - 100; + let max3 = year + 52; + if (props.min) { + min3 = adapter.getYear(adapter.date(props.min)); + } + if (props.max) { + max3 = adapter.getYear(adapter.date(props.max)); + } + let date2 = adapter.startOfYear(adapter.date()); + date2 = adapter.setYear(date2, min3); + return createRange(max3 - min3 + 1, min3).map((i7) => { + const text2 = adapter.format(date2, "year"); + date2 = adapter.setYear(date2, adapter.getYear(date2) + 1); + return { + text: text2, + value: i7, + isDisabled: !isYearAllowed(i7) + }; + }); + }); + require$$0.watchEffect(() => { + model.value = model.value ?? adapter.getYear(adapter.date()); + }); + const yearRef = templateRef(); + function focusSelectedYear() { + yearRef.el?.focus(); + yearRef.el?.scrollIntoView({ + block: "center" + }); + } + function isYearAllowed(year) { + if (Array.isArray(props.allowedYears) && props.allowedYears.length) { + return props.allowedYears.includes(year); + } + if (typeof props.allowedYears === "function") { + return props.allowedYears(year); + } + return true; + } + useRender(() => require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": "v-date-picker-years", + "style": { + height: convertToUnit(props.height) + } + }, [require$$0.createElementVNode("div", { + "class": "v-date-picker-years__content" + }, [years.value.map((year, i7) => { + const btnProps = { + ref: model.value === year.value ? yearRef : void 0, + active: model.value === year.value, + color: model.value === year.value ? props.color : void 0, + rounded: true, + text: year.text, + disabled: year.isDisabled, + variant: model.value === year.value ? "flat" : "text", + onClick: () => { + if (model.value === year.value) { + emit("update:modelValue", model.value); + return; + } + model.value = year.value; + } + }; + return slots.year?.({ + year, + i: i7, + props: btnProps + }) ?? require$$0.createVNode(VBtn, require$$0.mergeProps({ + "key": "month" + }, btnProps), null); + })])]), [[Intersect, { + handler: focusSelectedYear + }, null, { + once: true + }]])); + return {}; + } + }); + const makeVDatePickerProps = propsFactory({ + // TODO: implement in v3.5 + // calendarIcon: { + // type: String, + // default: '$calendar', + // }, + // keyboardIcon: { + // type: String, + // default: '$edit', + // }, + // inputMode: { + // type: String as PropType<'calendar' | 'keyboard'>, + // default: 'calendar', + // }, + // inputText: { + // type: String, + // default: '$vuetify.datePicker.input.placeholder', + // }, + // inputPlaceholder: { + // type: String, + // default: 'dd/mm/yyyy', + // }, + header: { + type: String, + default: "$vuetify.datePicker.header" + }, + headerColor: String, + ...makeVDatePickerControlsProps(), + ...makeVDatePickerMonthProps({ + weeksInMonth: "static" + }), + ...omit(makeVDatePickerMonthsProps(), ["modelValue"]), + ...omit(makeVDatePickerYearsProps(), ["modelValue"]), + ...makeVPickerProps({ + title: "$vuetify.datePicker.title" + }), + modelValue: null + }, "VDatePicker"); + const VDatePicker = genericComponent()({ + name: "VDatePicker", + props: makeVDatePickerProps(), + emits: { + "update:modelValue": (date2) => true, + "update:month": (date2) => true, + "update:year": (date2) => true, + // 'update:inputMode': (date: any) => true, + "update:viewMode": (date2) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const adapter = useDate(); + const { + t + } = useLocale(); + const { + rtlClasses + } = useRtl(); + const model = useProxiedModel(props, "modelValue", void 0, (v) => wrapInArray(v).map((i7) => adapter.date(i7)), (v) => props.multiple ? v : v[0]); + const viewMode = useProxiedModel(props, "viewMode"); + const minDate = require$$0.computed(() => { + const date2 = adapter.date(props.min); + return props.min && adapter.isValid(date2) ? date2 : null; + }); + const maxDate = require$$0.computed(() => { + const date2 = adapter.date(props.max); + return props.max && adapter.isValid(date2) ? date2 : null; + }); + const internal = require$$0.computed(() => { + const today = adapter.date(); + let value = today; + if (model.value?.[0]) { + value = adapter.date(model.value[0]); + } else if (minDate.value && adapter.isBefore(today, minDate.value)) { + value = minDate.value; + } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) { + value = maxDate.value; + } + return value && adapter.isValid(value) ? value : today; + }); + const headerColor = require$$0.toRef(() => props.headerColor ?? props.color); + const _month = useProxiedModel(props, "month"); + const month = require$$0.computed({ + get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))), + set: (v) => _month.value = v + }); + const _year = useProxiedModel(props, "year"); + const year = require$$0.computed({ + get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))), + set: (v) => _year.value = v + }); + const isReversing = require$$0.shallowRef(false); + const header = require$$0.computed(() => { + if (props.multiple && model.value.length > 1) { + return t("$vuetify.datePicker.itemsSelected", model.value.length); + } + return model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(adapter.date(model.value[0]), "normalDateWithWeekday") : t(props.header); + }); + const text2 = require$$0.computed(() => { + let date2 = adapter.date(); + date2 = adapter.setDate(date2, 1); + date2 = adapter.setMonth(date2, month.value); + date2 = adapter.setYear(date2, year.value); + return adapter.format(date2, "monthAndYear"); + }); + const headerTransition = require$$0.toRef(() => `date-picker-header${isReversing.value ? "-reverse" : ""}-transition`); + const disabled = require$$0.computed(() => { + if (props.disabled) return true; + const targets = []; + if (viewMode.value !== "month") { + targets.push(...["prev", "next"]); + } else { + let _date = adapter.date(); + _date = adapter.startOfMonth(_date); + _date = adapter.setMonth(_date, month.value); + _date = adapter.setYear(_date, year.value); + if (minDate.value) { + const date2 = adapter.addDays(adapter.startOfMonth(_date), -1); + adapter.isAfter(minDate.value, date2) && targets.push("prev"); + } + if (maxDate.value) { + const date2 = adapter.addDays(adapter.endOfMonth(_date), 1); + adapter.isAfter(date2, maxDate.value) && targets.push("next"); + } + } + return targets; + }); + const allowedYears = require$$0.computed(() => { + return props.allowedYears || isYearAllowed; + }); + const allowedMonths = require$$0.computed(() => { + return props.allowedMonths || isMonthAllowed; + }); + function isAllowedInRange(start2, end2) { + const allowedDates = props.allowedDates; + if (typeof allowedDates !== "function") return true; + const days = adapter.getDiff(end2, start2, "days"); + for (let i7 = 0; i7 < days; i7++) { + if (allowedDates(adapter.addDays(start2, i7))) return true; + } + return false; + } + function isYearAllowed(year2) { + if (typeof props.allowedDates === "function") { + const startOfYear2 = adapter.parseISO(`${year2}-01-01`); + return isAllowedInRange(startOfYear2, adapter.endOfYear(startOfYear2)); + } + if (Array.isArray(props.allowedDates) && props.allowedDates.length) { + for (const date2 of props.allowedDates) { + if (adapter.getYear(adapter.date(date2)) === year2) return true; + } + return false; + } + return true; + } + function isMonthAllowed(month2) { + if (typeof props.allowedDates === "function") { + const monthTwoDigits = String(month2 + 1).padStart(2, "0"); + const startOfMonth2 = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`); + return isAllowedInRange(startOfMonth2, adapter.endOfMonth(startOfMonth2)); + } + if (Array.isArray(props.allowedDates) && props.allowedDates.length) { + for (const date2 of props.allowedDates) { + if (adapter.getYear(adapter.date(date2)) === year.value && adapter.getMonth(adapter.date(date2)) === month2) return true; + } + return false; + } + return true; + } + function onClickNext() { + if (month.value < 11) { + month.value++; + } else { + year.value++; + month.value = 0; + onUpdateYear(); + } + onUpdateMonth(); + } + function onClickPrev() { + if (month.value > 0) { + month.value--; + } else { + year.value--; + month.value = 11; + onUpdateYear(); + } + onUpdateMonth(); + } + function onClickDate() { + viewMode.value = "month"; + } + function onClickMonth() { + viewMode.value = viewMode.value === "months" ? "month" : "months"; + } + function onClickYear() { + viewMode.value = viewMode.value === "year" ? "month" : "year"; + } + function onUpdateMonth() { + if (viewMode.value === "months") onClickMonth(); + } + function onUpdateYear() { + if (viewMode.value === "year") onClickYear(); + } + require$$0.watch(model, (val, oldVal) => { + const arrBefore = wrapInArray(oldVal); + const arrAfter = wrapInArray(val); + if (!arrAfter.length) return; + const before = adapter.date(arrBefore[arrBefore.length - 1]); + const after = adapter.date(arrAfter[arrAfter.length - 1]); + const newMonth = adapter.getMonth(after); + const newYear = adapter.getYear(after); + if (newMonth !== month.value) { + month.value = newMonth; + onUpdateMonth(); + } + if (newYear !== year.value) { + year.value = newYear; + onUpdateYear(); + } + isReversing.value = adapter.isBefore(before, after); + }); + useRender(() => { + const pickerProps = VPicker.filterProps(props); + const datePickerControlsProps = VDatePickerControls.filterProps(props); + const datePickerHeaderProps = VDatePickerHeader.filterProps(props); + const datePickerMonthProps = VDatePickerMonth.filterProps(props); + const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ["modelValue"]); + const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ["modelValue"]); + const headerProps = { + color: headerColor.value, + header: header.value, + transition: headerTransition.value + }; + return require$$0.createVNode(VPicker, require$$0.mergeProps(pickerProps, { + "color": headerColor.value, + "class": ["v-date-picker", `v-date-picker--${viewMode.value}`, { + "v-date-picker--show-week": props.showWeek + }, rtlClasses.value, props.class], + "style": props.style + }), { + title: () => slots.title?.() ?? require$$0.createElementVNode("div", { + "class": "v-date-picker__title" + }, [t(props.title)]), + header: () => slots.header ? require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VDatePickerHeader: { + ...headerProps + } + } + }, { + default: () => [slots.header?.(headerProps)] + }) : require$$0.createVNode(VDatePickerHeader, require$$0.mergeProps({ + "key": "header" + }, datePickerHeaderProps, headerProps, { + "onClick": viewMode.value !== "month" ? onClickDate : void 0 + }), { + prepend: slots.prepend, + append: slots.append + }), + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VDatePickerControls, require$$0.mergeProps(datePickerControlsProps, { + "disabled": disabled.value, + "text": text2.value, + "onClick:next": onClickNext, + "onClick:prev": onClickPrev, + "onClick:month": onClickMonth, + "onClick:year": onClickYear + }), null), require$$0.createVNode(VFadeTransition, { + "hideOnLeave": true + }, { + default: () => [viewMode.value === "months" ? require$$0.createVNode(VDatePickerMonths, require$$0.mergeProps({ + "key": "date-picker-months" + }, datePickerMonthsProps, { + "modelValue": month.value, + "onUpdate:modelValue": [($event) => month.value = $event, onUpdateMonth], + "min": minDate.value, + "max": maxDate.value, + "year": year.value, + "allowedMonths": allowedMonths.value + }), { + month: slots.month + }) : viewMode.value === "year" ? require$$0.createVNode(VDatePickerYears, require$$0.mergeProps({ + "key": "date-picker-years" + }, datePickerYearsProps, { + "modelValue": year.value, + "onUpdate:modelValue": [($event) => year.value = $event, onUpdateYear], + "min": minDate.value, + "max": maxDate.value, + "allowedYears": allowedYears.value + }), { + year: slots.year + }) : require$$0.createVNode(VDatePickerMonth, require$$0.mergeProps({ + "key": "date-picker-month" + }, datePickerMonthProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "month": month.value, + "onUpdate:month": [($event) => month.value = $event, onUpdateMonth], + "year": year.value, + "onUpdate:year": [($event) => year.value = $event, onUpdateYear], + "min": minDate.value, + "max": maxDate.value + }), { + day: slots.day + })] + })]), + actions: slots.actions + }); + }); + return {}; + } + }); + const makeVEmptyStateProps = propsFactory({ + actionText: String, + bgColor: String, + color: String, + icon: IconValue, + image: String, + justify: { + type: String, + default: "center" + }, + headline: String, + title: String, + text: String, + textWidth: { + type: [Number, String], + default: 500 + }, + href: String, + to: String, + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeSizeProps({ + size: void 0 + }), + ...makeThemeProps() + }, "VEmptyState"); + const VEmptyState = genericComponent()({ + name: "VEmptyState", + props: makeVEmptyStateProps(), + emits: { + "click:action": (e7) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + dimensionStyles + } = useDimension(props); + const { + displayClasses + } = useDisplay(); + function onClickAction(e7) { + emit("click:action", e7); + } + useRender(() => { + const hasActions = !!(slots.actions || props.actionText); + const hasHeadline = !!(slots.headline || props.headline); + const hasTitle = !!(slots.title || props.title); + const hasText = !!(slots.text || props.text); + const hasMedia = !!(slots.media || props.image || props.icon); + const size = props.size || (props.image ? 200 : 96); + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-empty-state", { + [`v-empty-state--${props.justify}`]: true + }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]) + }, [hasMedia && require$$0.createElementVNode("div", { + "key": "media", + "class": "v-empty-state__media" + }, [!slots.media ? require$$0.createElementVNode(require$$0.Fragment, null, [props.image ? require$$0.createVNode(VImg, { + "key": "image", + "src": props.image, + "height": size + }, null) : props.icon ? require$$0.createVNode(VIcon, { + "key": "icon", + "color": props.color, + "size": size, + "icon": props.icon + }, null) : void 0]) : require$$0.createVNode(VDefaultsProvider, { + "key": "media-defaults", + "defaults": { + VImg: { + src: props.image, + height: size + }, + VIcon: { + size, + icon: props.icon + } + } + }, { + default: () => [slots.media()] + })]), hasHeadline && require$$0.createElementVNode("div", { + "key": "headline", + "class": "v-empty-state__headline" + }, [slots.headline?.() ?? props.headline]), hasTitle && require$$0.createElementVNode("div", { + "key": "title", + "class": "v-empty-state__title" + }, [slots.title?.() ?? props.title]), hasText && require$$0.createElementVNode("div", { + "key": "text", + "class": "v-empty-state__text", + "style": { + maxWidth: convertToUnit(props.textWidth) + } + }, [slots.text?.() ?? props.text]), slots.default && require$$0.createElementVNode("div", { + "key": "content", + "class": "v-empty-state__content" + }, [slots.default()]), hasActions && require$$0.createElementVNode("div", { + "key": "actions", + "class": "v-empty-state__actions" + }, [require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + class: "v-empty-state__action-btn", + color: props.color ?? "surface-variant", + href: props.href, + text: props.actionText, + to: props.to + } + } + }, { + default: () => [slots.actions?.({ + props: { + onClick: onClickAction + } + }) ?? require$$0.createVNode(VBtn, { + "onClick": onClickAction + }, null)] + })])]); + }); + return {}; + } + }); + const VExpansionPanelSymbol = Symbol.for("vuetify:v-expansion-panel"); + const makeVExpansionPanelTextProps = propsFactory({ + ...makeComponentProps(), + ...makeLazyProps() + }, "VExpansionPanelText"); + const VExpansionPanelText = genericComponent()({ + name: "VExpansionPanelText", + props: makeVExpansionPanelTextProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const expansionPanel = require$$0.inject(VExpansionPanelSymbol); + if (!expansionPanel) throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel"); + const { + hasContent, + onAfterLeave + } = useLazy(props, expansionPanel.isSelected); + useRender(() => require$$0.createVNode(VExpandTransition, { + "onAfterLeave": onAfterLeave + }, { + default: () => [require$$0.withDirectives(require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-expansion-panel-text", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots.default && hasContent.value && require$$0.createElementVNode("div", { + "class": "v-expansion-panel-text__wrapper" + }, [slots.default?.()])]), [[require$$0.vShow, expansionPanel.isSelected.value]])] + })); + return {}; + } + }); + const makeVExpansionPanelTitleProps = propsFactory({ + color: String, + expandIcon: { + type: IconValue, + default: "$expand" + }, + collapseIcon: { + type: IconValue, + default: "$collapse" + }, + hideActions: Boolean, + focusable: Boolean, + static: Boolean, + ripple: { + type: [Boolean, Object], + default: false + }, + readonly: Boolean, + ...makeComponentProps(), + ...makeDimensionProps() + }, "VExpansionPanelTitle"); + const VExpansionPanelTitle = genericComponent()({ + name: "VExpansionPanelTitle", + directives: { + vRipple: Ripple + }, + props: makeVExpansionPanelTitleProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const expansionPanel = require$$0.inject(VExpansionPanelSymbol); + if (!expansionPanel) throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel"); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + dimensionStyles + } = useDimension(props); + const slotProps = require$$0.computed(() => ({ + collapseIcon: props.collapseIcon, + disabled: expansionPanel.disabled.value, + expanded: expansionPanel.isSelected.value, + expandIcon: props.expandIcon, + readonly: props.readonly + })); + const icon = require$$0.toRef(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon); + useRender(() => require$$0.withDirectives(require$$0.createElementVNode("button", { + "class": require$$0.normalizeClass(["v-expansion-panel-title", { + "v-expansion-panel-title--active": expansionPanel.isSelected.value, + "v-expansion-panel-title--focusable": props.focusable, + "v-expansion-panel-title--static": props.static + }, backgroundColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]), + "type": "button", + "tabindex": expansionPanel.disabled.value ? -1 : void 0, + "disabled": expansionPanel.disabled.value, + "aria-expanded": expansionPanel.isSelected.value, + "onClick": !props.readonly ? expansionPanel.toggle : void 0 + }, [require$$0.createElementVNode("span", { + "class": "v-expansion-panel-title__overlay" + }, null), slots.default?.(slotProps.value), !props.hideActions && require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VIcon: { + icon: icon.value + } + } + }, { + default: () => [require$$0.createElementVNode("span", { + "class": "v-expansion-panel-title__icon" + }, [slots.actions?.(slotProps.value) ?? require$$0.createVNode(VIcon, null, null)])] + })]), [[Ripple, props.ripple]])); + return {}; + } + }); + const makeVExpansionPanelProps = propsFactory({ + title: String, + text: String, + bgColor: String, + ...makeElevationProps(), + ...makeGroupItemProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeVExpansionPanelTitleProps(), + ...makeVExpansionPanelTextProps() + }, "VExpansionPanel"); + const VExpansionPanel = genericComponent()({ + name: "VExpansionPanel", + props: makeVExpansionPanelProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const groupItem = useGroupItem(props, VExpansionPanelSymbol); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const isDisabled = require$$0.toRef(() => groupItem?.disabled.value || props.disabled); + const selectedIndices = require$$0.computed(() => groupItem.group.items.value.reduce((arr, item, index2) => { + if (groupItem.group.selected.value.includes(item.id)) arr.push(index2); + return arr; + }, [])); + const isBeforeSelected = require$$0.computed(() => { + const index2 = groupItem.group.items.value.findIndex((item) => item.id === groupItem.id); + return !groupItem.isSelected.value && selectedIndices.value.some((selectedIndex) => selectedIndex - index2 === 1); + }); + const isAfterSelected = require$$0.computed(() => { + const index2 = groupItem.group.items.value.findIndex((item) => item.id === groupItem.id); + return !groupItem.isSelected.value && selectedIndices.value.some((selectedIndex) => selectedIndex - index2 === -1); + }); + require$$0.provide(VExpansionPanelSymbol, groupItem); + useRender(() => { + const hasText = !!(slots.text || props.text); + const hasTitle = !!(slots.title || props.title); + const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props); + const expansionPanelTextProps = VExpansionPanelText.filterProps(props); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-expansion-panel", { + "v-expansion-panel--active": groupItem.isSelected.value, + "v-expansion-panel--before-active": isBeforeSelected.value, + "v-expansion-panel--after-active": isAfterSelected.value, + "v-expansion-panel--disabled": isDisabled.value + }, roundedClasses.value, backgroundColorClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, props.style]) + }, { + default: () => [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-expansion-panel__shadow", ...elevationClasses.value]) + }, null), require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VExpansionPanelTitle: { + ...expansionPanelTitleProps + }, + VExpansionPanelText: { + ...expansionPanelTextProps + } + } + }, { + default: () => [hasTitle && require$$0.createVNode(VExpansionPanelTitle, { + "key": "title" + }, { + default: () => [slots.title ? slots.title() : props.title] + }), hasText && require$$0.createVNode(VExpansionPanelText, { + "key": "text" + }, { + default: () => [slots.text ? slots.text() : props.text] + }), slots.default?.()] + })] + }); + }); + return { + groupItem + }; + } + }); + const allowedVariants = ["default", "accordion", "inset", "popout"]; + const makeVExpansionPanelsProps = propsFactory({ + flat: Boolean, + ...makeGroupProps(), + ...pick(makeVExpansionPanelProps(), ["bgColor", "collapseIcon", "color", "eager", "elevation", "expandIcon", "focusable", "hideActions", "readonly", "ripple", "rounded", "tile", "static"]), + ...makeThemeProps(), + ...makeComponentProps(), + ...makeTagProps(), + variant: { + type: String, + default: "default", + validator: (v) => allowedVariants.includes(v) + } + }, "VExpansionPanels"); + const VExpansionPanels = genericComponent()({ + name: "VExpansionPanels", + props: makeVExpansionPanelsProps(), + emits: { + "update:modelValue": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + next, + prev + } = useGroup(props, VExpansionPanelSymbol); + const { + themeClasses + } = provideTheme(props); + const variantClass = require$$0.toRef(() => props.variant && `v-expansion-panels--variant-${props.variant}`); + provideDefaults({ + VExpansionPanel: { + bgColor: require$$0.toRef(() => props.bgColor), + collapseIcon: require$$0.toRef(() => props.collapseIcon), + color: require$$0.toRef(() => props.color), + eager: require$$0.toRef(() => props.eager), + elevation: require$$0.toRef(() => props.elevation), + expandIcon: require$$0.toRef(() => props.expandIcon), + focusable: require$$0.toRef(() => props.focusable), + hideActions: require$$0.toRef(() => props.hideActions), + readonly: require$$0.toRef(() => props.readonly), + ripple: require$$0.toRef(() => props.ripple), + rounded: require$$0.toRef(() => props.rounded), + static: require$$0.toRef(() => props.static) + } + }); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-expansion-panels", { + "v-expansion-panels--flat": props.flat, + "v-expansion-panels--tile": props.tile + }, themeClasses.value, variantClass.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.default?.({ + prev, + next + })] + })); + return { + next, + prev + }; + } + }); + const makeVFabProps = propsFactory({ + app: Boolean, + appear: Boolean, + extended: Boolean, + layout: Boolean, + offset: Boolean, + modelValue: { + type: Boolean, + default: true + }, + ...omit(makeVBtnProps({ + active: true + }), ["location", "spaced"]), + ...makeLayoutItemProps(), + ...makeLocationProps(), + ...makeTransitionProps({ + transition: "fab-transition" + }) + }, "VFab"); + const VFab = genericComponent()({ + name: "VFab", + props: makeVFabProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const height = require$$0.shallowRef(56); + const layoutItemStyles = require$$0.ref(); + const { + resizeRef + } = useResizeObserver((entries2) => { + if (!entries2.length) return; + height.value = entries2[0].target.clientHeight; + }); + const hasPosition = require$$0.toRef(() => props.app || props.absolute); + const position2 = require$$0.computed(() => { + if (!hasPosition.value) return false; + return props.location?.split(" ").shift() ?? "bottom"; + }); + const orientation = require$$0.computed(() => { + if (!hasPosition.value) return false; + return props.location?.split(" ")[1] ?? "end"; + }); + useToggleScope(() => props.app, () => { + const layout2 = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: position2, + layoutSize: require$$0.computed(() => props.layout ? height.value + 24 : 0), + elementSize: require$$0.computed(() => height.value + 24), + active: require$$0.computed(() => props.app && model.value), + absolute: require$$0.toRef(() => props.absolute) + }); + require$$0.watchEffect(() => { + layoutItemStyles.value = layout2.layoutItemStyles.value; + }); + }); + const vFabRef = require$$0.ref(); + useRender(() => { + const btnProps = VBtn.filterProps(props); + return require$$0.createElementVNode("div", { + "ref": vFabRef, + "class": require$$0.normalizeClass(["v-fab", { + "v-fab--absolute": props.absolute, + "v-fab--app": !!props.app, + "v-fab--extended": props.extended, + "v-fab--offset": props.offset, + [`v-fab--${position2.value}`]: hasPosition.value, + [`v-fab--${orientation.value}`]: hasPosition.value + }, props.class]), + "style": require$$0.normalizeStyle([props.app ? { + ...layoutItemStyles.value + } : { + height: props.absolute ? "100%" : "inherit" + }, props.style]) + }, [require$$0.createElementVNode("div", { + "class": "v-fab__container" + }, [require$$0.createVNode(MaybeTransition, { + "appear": props.appear, + "transition": props.transition + }, { + default: () => [require$$0.withDirectives(require$$0.createVNode(VBtn, require$$0.mergeProps({ + "ref": resizeRef + }, btnProps, { + "active": void 0, + "location": void 0 + }), slots), [[require$$0.vShow, props.active]])] + })])]); + }); + return {}; + } + }); + function useFileDrop() { + function hasFilesOrFolders(e7) { + const entries2 = [...e7.dataTransfer?.items ?? []].filter((x) => x.kind === "file").map((x) => x.webkitGetAsEntry()).filter(Boolean); + return entries2.length > 0 || [...e7.dataTransfer?.files ?? []].length > 0; + } + async function handleDrop(e7) { + const result = []; + const entries2 = [...e7.dataTransfer?.items ?? []].filter((x) => x.kind === "file").map((x) => x.webkitGetAsEntry()).filter(Boolean); + if (entries2.length) { + for (const entry of entries2) { + const files = await traverseFileTree(entry, appendIfDirectory(".", entry)); + result.push(...files.map((x) => x.file)); + } + } else { + result.push(...[...e7.dataTransfer?.files ?? []]); + } + return result; + } + return { + handleDrop, + hasFilesOrFolders + }; + } + function traverseFileTree(item) { + let path = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ""; + return new Promise((resolve, reject) => { + if (item.isFile) { + const fileEntry = item; + fileEntry.file((file) => resolve([{ + file, + path + }]), reject); + } else if (item.isDirectory) { + const directoryReader = item.createReader(); + directoryReader.readEntries(async (entries2) => { + const files = []; + for (const entry of entries2) { + files.push(...await traverseFileTree(entry, appendIfDirectory(path, entry))); + } + resolve(files); + }); + } + }); + } + function appendIfDirectory(path, item) { + return item.isDirectory ? `${path}/${item.name}` : path; + } + const makeFileFilterProps = propsFactory({ + filterByType: String + }, "file-accept"); + function useFileFilter(props) { + const fileFilter = require$$0.computed(() => props.filterByType ? createFilter(props.filterByType) : null); + function filterAccepted(files) { + if (fileFilter.value) { + const accepted = files.filter(fileFilter.value); + return { + accepted, + rejected: files.filter((f) => !accepted.includes(f)) + }; + } + return { + accepted: files, + rejected: [] + }; + } + return { + filterAccepted + }; + } + function createFilter(v) { + const types = v.split(",").map((x) => x.trim().toLowerCase()); + const extensionsToMatch = types.filter((x) => x.startsWith(".")); + const wildcards = types.filter((x) => x.endsWith("/*")); + const typesToMatch = types.filter((x) => !extensionsToMatch.includes(x) && !wildcards.includes(x)); + return (file) => { + const extension = file.name.split(".").at(-1)?.toLowerCase() ?? ""; + const typeGroup = file.type.split("/").at(0)?.toLowerCase() ?? ""; + return typesToMatch.includes(file.type) || extensionsToMatch.includes(`.${extension}`) || wildcards.includes(`${typeGroup}/*`); + }; + } + const makeVFileInputProps = propsFactory({ + chips: Boolean, + counter: Boolean, + counterSizeString: { + type: String, + default: "$vuetify.fileInput.counterSize" + }, + counterString: { + type: String, + default: "$vuetify.fileInput.counter" + }, + hideInput: Boolean, + multiple: Boolean, + showSize: { + type: [Boolean, Number, String], + default: false, + validator: (v) => { + return typeof v === "boolean" || [1e3, 1024].includes(Number(v)); + } + }, + truncateLength: { + type: [Number, String], + default: 22 + }, + ...makeVInputProps({ + prependIcon: "$file" + }), + modelValue: { + type: [Array, Object], + default: (props) => props.multiple ? [] : null, + validator: (val) => { + return wrapInArray(val).every((v) => v != null && typeof v === "object"); + } + }, + ...makeFileFilterProps(), + ...makeVFieldProps({ + clearable: true + }) + }, "VFileInput"); + const VFileInput = genericComponent()({ + name: "VFileInput", + inheritAttrs: false, + props: makeVFileInputProps(), + emits: { + "click:control": (e7) => true, + "mousedown:control": (e7) => true, + "update:focused": (focused) => true, + "update:modelValue": (files) => true, + rejected: (files) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + t + } = useLocale(); + const { + filterAccepted + } = useFileFilter(props); + const model = useProxiedModel(props, "modelValue", props.modelValue, (val) => wrapInArray(val), (val) => !props.multiple && Array.isArray(val) ? val[0] : val); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const base2 = require$$0.computed(() => typeof props.showSize !== "boolean" ? props.showSize : void 0); + const totalBytes = require$$0.computed(() => (model.value ?? []).reduce((bytes, _ref2) => { + let { + size = 0 + } = _ref2; + return bytes + size; + }, 0)); + const totalBytesReadable = require$$0.computed(() => humanReadableFileSize(totalBytes.value, base2.value)); + const fileNames = require$$0.computed(() => (model.value ?? []).map((file) => { + const { + name = "", + size = 0 + } = file; + const truncatedText = truncateText(name); + return !props.showSize ? truncatedText : `${truncatedText} (${humanReadableFileSize(size, base2.value)})`; + })); + const counterValue = require$$0.computed(() => { + const fileCount = model.value?.length ?? 0; + if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value); + else return t(props.counterString, fileCount); + }); + const vInputRef = require$$0.ref(); + const vFieldRef = require$$0.ref(); + const inputRef = require$$0.ref(); + const isActive = require$$0.toRef(() => isFocused.value || props.active); + const isPlainOrUnderlined = require$$0.computed(() => ["plain", "underlined"].includes(props.variant)); + const isDragging = require$$0.shallowRef(false); + const { + handleDrop, + hasFilesOrFolders + } = useFileDrop(); + function onFocus() { + if (inputRef.value !== document.activeElement) { + inputRef.value?.focus(); + } + if (!isFocused.value) focus2(); + } + function onClickPrepend(e7) { + inputRef.value?.click(); + } + function onControlMousedown(e7) { + emit("mousedown:control", e7); + } + function onControlClick(e7) { + inputRef.value?.click(); + emit("click:control", e7); + } + function onClear(e7) { + e7.stopPropagation(); + onFocus(); + require$$0.nextTick(() => { + model.value = []; + callEvent(props["onClick:clear"], e7); + }); + } + function truncateText(str) { + if (str.length < Number(props.truncateLength)) return str; + const charsKeepOneSide = Math.floor((Number(props.truncateLength) - 1) / 2); + return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`; + } + function onDragover(e7) { + e7.preventDefault(); + e7.stopImmediatePropagation(); + isDragging.value = true; + } + function onDragleave(e7) { + e7.preventDefault(); + isDragging.value = false; + } + async function onDrop(e7) { + e7.preventDefault(); + e7.stopImmediatePropagation(); + isDragging.value = false; + if (!inputRef.value || !hasFilesOrFolders(e7)) return; + const allDroppedFiles = await handleDrop(e7); + selectAccepted(allDroppedFiles); + } + function onFileSelection(e7) { + if (!e7.target || e7.repack) return; + if (!props.filterByType) { + const target = e7.target; + model.value = [...target.files ?? []]; + } else { + selectAccepted([...e7.target.files]); + } + } + function selectAccepted(files) { + const dataTransfer = new DataTransfer(); + const { + accepted, + rejected + } = filterAccepted(files); + if (rejected.length) { + emit("rejected", rejected); + } + for (const file of accepted) { + dataTransfer.items.add(file); + } + inputRef.value.files = dataTransfer.files; + model.value = [...dataTransfer.files]; + const event = new Event("change", { + bubbles: true + }); + event.repack = true; + inputRef.value.dispatchEvent(event); + } + require$$0.watch(model, (newValue) => { + const hasModelReset = !Array.isArray(newValue) || !newValue.length; + if (hasModelReset && inputRef.value) { + inputRef.value.value = ""; + } + }); + useRender(() => { + const hasCounter = !!(slots.counter || props.counter); + const hasDetails = !!(hasCounter || slots.details); + const [rootAttrs, inputAttrs] = filterInputAttrs(attrs); + const { + modelValue: _7, + ...inputProps + } = VInput.filterProps(props); + const fieldProps = { + ...VField.filterProps(props), + "onClick:clear": onClear + }; + const expectsDirectory = attrs.webkitdirectory !== void 0 && attrs.webkitdirectory !== false; + const inputAccept = expectsDirectory ? void 0 : props.filterByType ?? String(attrs.accept); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": vInputRef, + "modelValue": props.multiple ? model.value : model.value[0], + "class": ["v-file-input", { + "v-file-input--chips": !!props.chips, + "v-file-input--dragging": isDragging.value, + "v-file-input--hide": props.hideInput, + "v-input--plain-underlined": isPlainOrUnderlined.value + }, props.class], + "style": props.style, + "onClick:prepend": onClickPrepend + }, rootAttrs, inputProps, { + "centerAffix": !isPlainOrUnderlined.value, + "focused": isFocused.value + }), { + ...slots, + default: (_ref3) => { + let { + id: id2, + isDisabled, + isDirty, + isReadonly, + isValid: isValid2, + hasDetails: hasDetails2 + } = _ref3; + return require$$0.createVNode(VField, require$$0.mergeProps({ + "ref": vFieldRef, + "prependIcon": props.prependIcon, + "onMousedown": onControlMousedown, + "onClick": onControlClick, + "onClick:prependInner": props["onClick:prependInner"], + "onClick:appendInner": props["onClick:appendInner"] + }, fieldProps, { + "id": id2.value, + "active": isActive.value || isDirty.value, + "dirty": isDirty.value || props.dirty, + "disabled": isDisabled.value, + "focused": isFocused.value, + "details": hasDetails2.value, + "error": isValid2.value === false, + "onDragover": onDragover, + "onDrop": onDrop + }), { + ...slots, + default: (_ref4) => { + let { + props: { + class: fieldClass, + ...slotProps + } + } = _ref4; + return require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("input", require$$0.mergeProps({ + "ref": inputRef, + "type": "file", + "accept": inputAccept, + "readonly": isReadonly.value, + "disabled": isDisabled.value, + "multiple": props.multiple, + "name": props.name, + "onClick": (e7) => { + e7.stopPropagation(); + if (isReadonly.value) e7.preventDefault(); + onFocus(); + }, + "onChange": onFileSelection, + "onDragleave": onDragleave, + "onFocus": onFocus, + "onBlur": blur2 + }, slotProps, inputAttrs), null), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(fieldClass) + }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({ + fileNames: fileNames.value, + totalBytes: totalBytes.value, + totalBytesReadable: totalBytesReadable.value + }) : props.chips ? fileNames.value.map((text2) => require$$0.createVNode(VChip, { + "key": text2, + "size": "small", + "text": text2 + }, null)) : fileNames.value.join(", "))])]); + } + }); + }, + details: hasDetails ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [slots.details?.(slotProps), hasCounter && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("span", null, null), require$$0.createVNode(VCounter, { + "active": !!model.value?.length, + "value": counterValue.value, + "disabled": props.disabled + }, slots.counter)])]) : void 0 + }); + }); + return forwardRefs$1({}, vInputRef, vFieldRef, inputRef); + } + }); + const makeVFooterProps = propsFactory({ + app: Boolean, + color: String, + height: { + type: [Number, String], + default: "auto" + }, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeElevationProps(), + ...makeLayoutItemProps(), + ...makeRoundedProps(), + ...makeTagProps({ + tag: "footer" + }), + ...makeThemeProps() + }, "VFooter"); + const VFooter = genericComponent()({ + name: "VFooter", + props: makeVFooterProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const layoutItemStyles = require$$0.ref(); + const { + themeClasses + } = provideTheme(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + borderClasses + } = useBorder(props); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const autoHeight = require$$0.shallowRef(32); + const { + resizeRef + } = useResizeObserver((entries2) => { + if (!entries2.length) return; + autoHeight.value = entries2[0].target.clientHeight; + }); + const height = require$$0.computed(() => props.height === "auto" ? autoHeight.value : parseInt(props.height, 10)); + useToggleScope(() => props.app, () => { + const layout2 = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: require$$0.toRef(() => "bottom"), + layoutSize: height, + elementSize: require$$0.computed(() => props.height === "auto" ? void 0 : height.value), + active: require$$0.toRef(() => props.app), + absolute: require$$0.toRef(() => props.absolute) + }); + require$$0.watchEffect(() => { + layoutItemStyles.value = layout2.layoutItemStyles.value; + }); + }); + useRender(() => require$$0.createVNode(props.tag, { + "ref": resizeRef, + "class": require$$0.normalizeClass(["v-footer", themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, props.app ? layoutItemStyles.value : { + height: convertToUnit(props.height) + }, props.style]) + }, slots)); + return {}; + } + }); + const makeVFormProps = propsFactory({ + ...makeComponentProps(), + ...makeFormProps() + }, "VForm"); + const VForm = genericComponent()({ + name: "VForm", + props: makeVFormProps(), + emits: { + "update:modelValue": (val) => true, + submit: (e7) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const form = createForm(props); + const formRef = require$$0.ref(); + function onReset(e7) { + e7.preventDefault(); + form.reset(); + } + function onSubmit(_e2) { + const e7 = _e2; + const ready = form.validate(); + e7.then = ready.then.bind(ready); + e7.catch = ready.catch.bind(ready); + e7.finally = ready.finally.bind(ready); + emit("submit", e7); + if (!e7.defaultPrevented) { + ready.then((_ref2) => { + let { + valid + } = _ref2; + if (valid) { + formRef.value?.submit(); + } + }); + } + e7.preventDefault(); + } + useRender(() => require$$0.createElementVNode("form", { + "ref": formRef, + "class": require$$0.normalizeClass(["v-form", props.class]), + "style": require$$0.normalizeStyle(props.style), + "novalidate": true, + "onReset": onReset, + "onSubmit": onSubmit + }, [slots.default?.(form)])); + return forwardRefs$1(form, formRef); + } + }); + const makeVHoverProps = propsFactory({ + disabled: Boolean, + modelValue: { + type: Boolean, + default: null + }, + ...makeDelayProps() + }, "VHover"); + const VHover = genericComponent()({ + name: "VHover", + props: makeVHoverProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const isHovering = useProxiedModel(props, "modelValue"); + const { + runOpenDelay, + runCloseDelay + } = useDelay(props, (value) => !props.disabled && (isHovering.value = value)); + return () => slots.default?.({ + isHovering: isHovering.value, + props: { + onMouseenter: runOpenDelay, + onMouseleave: runCloseDelay + } + }); + } + }); + const makeVInfiniteScrollProps = propsFactory({ + color: String, + direction: { + type: String, + default: "vertical", + validator: (v) => ["vertical", "horizontal"].includes(v) + }, + side: { + type: String, + default: "end", + validator: (v) => ["start", "end", "both"].includes(v) + }, + mode: { + type: String, + default: "intersect", + validator: (v) => ["intersect", "manual"].includes(v) + }, + margin: [Number, String], + loadMoreText: { + type: String, + default: "$vuetify.infiniteScroll.loadMore" + }, + emptyText: { + type: String, + default: "$vuetify.infiniteScroll.empty" + }, + ...makeDimensionProps(), + ...makeTagProps() + }, "VInfiniteScroll"); + const VInfiniteScrollIntersect = defineComponent({ + name: "VInfiniteScrollIntersect", + props: { + side: { + type: String, + required: true + }, + rootMargin: String + }, + emits: { + intersect: (side, isIntersecting) => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + const { + intersectionRef, + isIntersecting + } = useIntersectionObserver(); + require$$0.watch(isIntersecting, async (val) => { + emit("intersect", props.side, val); + }); + useRender(() => require$$0.createElementVNode("div", { + "class": "v-infinite-scroll-intersect", + "style": { + "--v-infinite-margin-size": props.rootMargin + }, + "ref": intersectionRef + }, [require$$0.createTextVNode(" ")])); + return {}; + } + }); + const VInfiniteScroll = genericComponent()({ + name: "VInfiniteScroll", + props: makeVInfiniteScrollProps(), + emits: { + load: (options) => true + }, + setup(props, _ref2) { + let { + slots, + emit + } = _ref2; + const rootEl2 = require$$0.ref(); + const startStatus = require$$0.shallowRef("ok"); + const endStatus = require$$0.shallowRef("ok"); + const margin = require$$0.computed(() => convertToUnit(props.margin)); + const isIntersecting = require$$0.shallowRef(false); + function setScrollAmount(amount) { + if (!rootEl2.value) return; + const property = props.direction === "vertical" ? "scrollTop" : "scrollLeft"; + rootEl2.value[property] = amount; + } + function getScrollAmount() { + if (!rootEl2.value) return 0; + const property = props.direction === "vertical" ? "scrollTop" : "scrollLeft"; + return rootEl2.value[property]; + } + function getScrollSize2() { + if (!rootEl2.value) return 0; + const property = props.direction === "vertical" ? "scrollHeight" : "scrollWidth"; + return rootEl2.value[property]; + } + function getContainerSize() { + if (!rootEl2.value) return 0; + const property = props.direction === "vertical" ? "clientHeight" : "clientWidth"; + return rootEl2.value[property]; + } + require$$0.onMounted(() => { + if (!rootEl2.value) return; + if (props.side === "start") { + setScrollAmount(getScrollSize2()); + } else if (props.side === "both") { + setScrollAmount(getScrollSize2() / 2 - getContainerSize() / 2); + } + }); + function setStatus(side, status) { + if (side === "start") { + startStatus.value = status; + } else if (side === "end") { + endStatus.value = status; + } else if (side === "both") { + startStatus.value = status; + endStatus.value = status; + } + } + function getStatus(side) { + return side === "start" ? startStatus.value : endStatus.value; + } + let previousScrollSize = 0; + function handleIntersect(side, _isIntersecting) { + isIntersecting.value = _isIntersecting; + if (isIntersecting.value) { + intersecting(side); + } + } + function intersecting(side) { + if (props.mode !== "manual" && !isIntersecting.value) return; + const status = getStatus(side); + if (!rootEl2.value || ["empty", "loading"].includes(status)) return; + previousScrollSize = getScrollSize2(); + setStatus(side, "loading"); + function done(status2) { + setStatus(side, status2); + require$$0.nextTick(() => { + if (status2 === "empty" || status2 === "error") return; + if (status2 === "ok" && side === "start") { + setScrollAmount(getScrollSize2() - previousScrollSize + getScrollAmount()); + } + if (props.mode !== "manual") { + require$$0.nextTick(() => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + intersecting(side); + }); + }); + }); + }); + } + }); + } + emit("load", { + side, + done + }); + } + const { + t + } = useLocale(); + function renderSide(side, status) { + if (props.side !== side && props.side !== "both") return; + const onClick = () => intersecting(side); + const slotProps = { + side, + props: { + onClick, + color: props.color + } + }; + if (status === "error") return slots.error?.(slotProps); + if (status === "empty") return slots.empty?.(slotProps) ?? require$$0.createElementVNode("div", null, [t(props.emptyText)]); + if (props.mode === "manual") { + if (status === "loading") { + return slots.loading?.(slotProps) ?? require$$0.createVNode(VProgressCircular, { + "indeterminate": true, + "color": props.color + }, null); + } + return slots["load-more"]?.(slotProps) ?? require$$0.createVNode(VBtn, { + "variant": "outlined", + "color": props.color, + "onClick": onClick + }, { + default: () => [t(props.loadMoreText)] + }); + } + return slots.loading?.(slotProps) ?? require$$0.createVNode(VProgressCircular, { + "indeterminate": true, + "color": props.color + }, null); + } + const { + dimensionStyles + } = useDimension(props); + useRender(() => { + const Tag = props.tag; + const hasStartIntersect = props.side === "start" || props.side === "both"; + const hasEndIntersect = props.side === "end" || props.side === "both"; + const intersectMode = props.mode === "intersect"; + return require$$0.createVNode(Tag, { + "ref": rootEl2, + "class": require$$0.normalizeClass(["v-infinite-scroll", `v-infinite-scroll--${props.direction}`, { + "v-infinite-scroll--start": hasStartIntersect, + "v-infinite-scroll--end": hasEndIntersect + }]), + "style": require$$0.normalizeStyle(dimensionStyles.value) + }, { + default: () => [require$$0.createElementVNode("div", { + "class": "v-infinite-scroll__side" + }, [renderSide("start", startStatus.value)]), hasStartIntersect && intersectMode && require$$0.createVNode(VInfiniteScrollIntersect, { + "key": "start", + "side": "start", + "onIntersect": handleIntersect, + "rootMargin": margin.value + }, null), slots.default?.(), hasEndIntersect && intersectMode && require$$0.createVNode(VInfiniteScrollIntersect, { + "key": "end", + "side": "end", + "onIntersect": handleIntersect, + "rootMargin": margin.value + }, null), require$$0.createElementVNode("div", { + "class": "v-infinite-scroll__side" + }, [renderSide("end", endStatus.value)])] + }); + }); + function reset(side) { + const effectiveSide = side ?? props.side; + setStatus(effectiveSide, "ok"); + require$$0.nextTick(() => { + setScrollAmount(getScrollSize2() - previousScrollSize + getScrollAmount()); + if (props.mode !== "manual") { + require$$0.nextTick(() => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + window.requestAnimationFrame(() => { + if (effectiveSide === "both") { + intersecting("start"); + intersecting("end"); + } else { + intersecting(effectiveSide); + } + }); + }); + }); + }); + } + }); + } + return { + reset + }; + } + }); + const VItemGroupSymbol = Symbol.for("vuetify:v-item-group"); + const makeVItemGroupProps = propsFactory({ + ...makeComponentProps(), + ...makeGroupProps({ + selectedClass: "v-item--selected" + }), + ...makeTagProps(), + ...makeThemeProps() + }, "VItemGroup"); + const VItemGroup = genericComponent()({ + name: "VItemGroup", + props: makeVItemGroupProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + isSelected, + select, + next, + prev, + selected + } = useGroup(props, VItemGroupSymbol); + return () => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-item-group", themeClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.default?.({ + isSelected, + select, + next, + prev, + selected: selected.value + })] + }); + } + }); + const VItem = genericComponent()({ + name: "VItem", + props: makeGroupItemProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + isSelected, + select, + toggle, + selectedClass, + value, + disabled + } = useGroupItem(props, VItemGroupSymbol); + return () => slots.default?.({ + isSelected: isSelected.value, + selectedClass: selectedClass.value, + select, + toggle, + value: value.value, + disabled: disabled.value + }); + } + }); + const makeVKbdProps = propsFactory({ + color: String, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeRoundedProps(), + ...makeTagProps({ + tag: "kbd" + }), + ...makeThemeProps(), + ...makeElevationProps() + }, "VKbd"); + const VKbd = genericComponent()({ + name: "VKbd", + props: makeVKbdProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + roundedClasses + } = useRounded(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + elevationClasses + } = useElevation(props); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-kbd", themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, props.style]) + }, slots)); + return {}; + } + }); + const makeVLayoutProps = propsFactory({ + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeLayoutProps() + }, "VLayout"); + const VLayout = genericComponent()({ + name: "VLayout", + props: makeVLayoutProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + layoutClasses, + layoutStyles, + getLayoutItem, + items, + layoutRef + } = createLayout(props); + const { + dimensionStyles + } = useDimension(props); + useRender(() => require$$0.createElementVNode("div", { + "ref": layoutRef, + "class": require$$0.normalizeClass([layoutClasses.value, props.class]), + "style": require$$0.normalizeStyle([dimensionStyles.value, layoutStyles.value, props.style]) + }, [slots.default?.()])); + return { + getLayoutItem, + items + }; + } + }); + const makeVLayoutItemProps = propsFactory({ + position: { + type: String, + required: true + }, + size: { + type: [Number, String], + default: 300 + }, + modelValue: Boolean, + ...makeComponentProps(), + ...makeLayoutItemProps() + }, "VLayoutItem"); + const VLayoutItem = genericComponent()({ + name: "VLayoutItem", + props: makeVLayoutItemProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + layoutItemStyles + } = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: require$$0.toRef(() => props.position), + elementSize: require$$0.toRef(() => props.size), + layoutSize: require$$0.toRef(() => props.size), + active: require$$0.toRef(() => props.modelValue), + absolute: require$$0.toRef(() => props.absolute) + }); + return () => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-layout-item", props.class]), + "style": require$$0.normalizeStyle([layoutItemStyles.value, props.style]) + }, [slots.default?.()]); + } + }); + const makeVLazyProps = propsFactory({ + modelValue: Boolean, + options: { + type: Object, + // For more information on types, navigate to: + // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API + default: () => ({ + root: void 0, + rootMargin: void 0, + threshold: void 0 + }) + }, + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeTagProps(), + ...makeTransitionProps({ + transition: "fade-transition" + }) + }, "VLazy"); + const VLazy = genericComponent()({ + name: "VLazy", + directives: { + vIntersect: Intersect + }, + props: makeVLazyProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + dimensionStyles + } = useDimension(props); + const isActive = useProxiedModel(props, "modelValue"); + function onIntersect(isIntersecting) { + if (isActive.value) return; + isActive.value = isIntersecting; + } + useRender(() => require$$0.withDirectives(require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-lazy", props.class]), + "style": require$$0.normalizeStyle([dimensionStyles.value, props.style]) + }, { + default: () => [isActive.value && require$$0.createVNode(MaybeTransition, { + "transition": props.transition, + "appear": true + }, { + default: () => [slots.default?.()] + })] + }), [[Intersect, { + handler: onIntersect, + options: props.options + }, null]])); + return {}; + } + }); + const makeVLocaleProviderProps = propsFactory({ + locale: String, + fallbackLocale: String, + messages: Object, + rtl: { + type: Boolean, + default: void 0 + }, + ...makeComponentProps() + }, "VLocaleProvider"); + const VLocaleProvider = genericComponent()({ + name: "VLocaleProvider", + props: makeVLocaleProviderProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + rtlClasses + } = provideLocale(props); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-locale-provider", rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots.default?.()])); + return {}; + } + }); + const makeVMainProps = propsFactory({ + scrollable: Boolean, + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeTagProps({ + tag: "main" + }) + }, "VMain"); + const VMain = genericComponent()({ + name: "VMain", + props: makeVMainProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + dimensionStyles + } = useDimension(props); + const { + mainStyles + } = useLayout(); + const { + ssrBootStyles + } = useSsrBoot(); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-main", { + "v-main--scrollable": props.scrollable + }, props.class]), + "style": require$$0.normalizeStyle([mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style]) + }, { + default: () => [props.scrollable ? require$$0.createElementVNode("div", { + "class": "v-main__scroller" + }, [slots.default?.()]) : slots.default?.()] + })); + return {}; + } + }); + function useSticky(_ref) { + let { + rootEl: rootEl2, + isSticky, + layoutItemStyles + } = _ref; + const isStuck = require$$0.shallowRef(false); + const stuckPosition = require$$0.shallowRef(0); + const stickyStyles = require$$0.computed(() => { + const side = typeof isStuck.value === "boolean" ? "top" : isStuck.value; + return [isSticky.value ? { + top: "auto", + bottom: "auto", + height: void 0 + } : void 0, isStuck.value ? { + [side]: convertToUnit(stuckPosition.value) + } : { + top: layoutItemStyles.value.top + }]; + }); + require$$0.onMounted(() => { + require$$0.watch(isSticky, (val) => { + if (val) { + window.addEventListener("scroll", onScroll, { + passive: true + }); + } else { + window.removeEventListener("scroll", onScroll); + } + }, { + immediate: true + }); + }); + require$$0.onBeforeUnmount(() => { + window.removeEventListener("scroll", onScroll); + }); + let lastScrollTop = 0; + function onScroll() { + const direction = lastScrollTop > window.scrollY ? "up" : "down"; + const rect = rootEl2.value.getBoundingClientRect(); + const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0); + const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop); + const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight; + const bodyScroll = parseFloat(getComputedStyle(rootEl2.value).getPropertyValue("--v-body-scroll-y")) || 0; + if (rect.height < window.innerHeight - layoutTop) { + isStuck.value = "top"; + stuckPosition.value = layoutTop; + } else if (direction === "up" && isStuck.value === "bottom" || direction === "down" && isStuck.value === "top") { + stuckPosition.value = window.scrollY + rect.top - bodyScroll; + isStuck.value = true; + } else if (direction === "down" && bottom <= 0) { + stuckPosition.value = 0; + isStuck.value = "bottom"; + } else if (direction === "up" && top <= 0) { + if (!bodyScroll) { + stuckPosition.value = rect.top + top; + isStuck.value = "top"; + } else if (isStuck.value !== "top") { + stuckPosition.value = -top + bodyScroll + layoutTop; + isStuck.value = "top"; + } + } + lastScrollTop = window.scrollY; + } + return { + isStuck, + stickyStyles + }; + } + const HORIZON = 100; + const HISTORY = 20; + function kineticEnergyToVelocity(work) { + const sqrt2 = 1.41421356237; + return (work < 0 ? -1 : 1) * Math.sqrt(Math.abs(work)) * sqrt2; + } + function calculateImpulseVelocity(samples) { + if (samples.length < 2) { + return 0; + } + if (samples.length === 2) { + if (samples[1].t === samples[0].t) { + return 0; + } + return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t); + } + let work = 0; + for (let i7 = samples.length - 1; i7 > 0; i7--) { + if (samples[i7].t === samples[i7 - 1].t) { + continue; + } + const vprev = kineticEnergyToVelocity(work); + const vcurr = (samples[i7].d - samples[i7 - 1].d) / (samples[i7].t - samples[i7 - 1].t); + work += (vcurr - vprev) * Math.abs(vcurr); + if (i7 === samples.length - 1) { + work *= 0.5; + } + } + return kineticEnergyToVelocity(work) * 1e3; + } + function useVelocity() { + const touches = {}; + function addMovement(e7) { + Array.from(e7.changedTouches).forEach((touch) => { + const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY)); + samples.push([e7.timeStamp, touch]); + }); + } + function endTouch(e7) { + Array.from(e7.changedTouches).forEach((touch) => { + delete touches[touch.identifier]; + }); + } + function getVelocity(id2) { + const samples = touches[id2]?.values().reverse(); + if (!samples) { + throw new Error(`No samples for touch id ${id2}`); + } + const newest = samples[0]; + const x = []; + const y = []; + for (const val of samples) { + if (newest[0] - val[0] > HORIZON) break; + x.push({ + t: val[0], + d: val[1].clientX + }); + y.push({ + t: val[0], + d: val[1].clientY + }); + } + return { + x: calculateImpulseVelocity(x), + y: calculateImpulseVelocity(y), + get direction() { + const { + x: x7, + y: y7 + } = this; + const [absX, absY] = [Math.abs(x7), Math.abs(y7)]; + return absX > absY && x7 >= 0 ? "right" : absX > absY && x7 <= 0 ? "left" : absY > absX && y7 >= 0 ? "down" : absY > absX && y7 <= 0 ? "up" : oops$1(); + } + }; + } + return { + addMovement, + endTouch, + getVelocity + }; + } + function oops$1() { + throw new Error(); + } + function useTouch(_ref) { + let { + el: el2, + isActive, + isTemporary, + width, + touchless, + position: position2 + } = _ref; + require$$0.onMounted(() => { + window.addEventListener("touchstart", onTouchstart, { + passive: true + }); + window.addEventListener("touchmove", onTouchmove, { + passive: false + }); + window.addEventListener("touchend", onTouchend, { + passive: true + }); + }); + require$$0.onBeforeUnmount(() => { + window.removeEventListener("touchstart", onTouchstart); + window.removeEventListener("touchmove", onTouchmove); + window.removeEventListener("touchend", onTouchend); + }); + const isHorizontal = require$$0.computed(() => ["left", "right"].includes(position2.value)); + const { + addMovement, + endTouch, + getVelocity + } = useVelocity(); + let maybeDragging = false; + const isDragging = require$$0.shallowRef(false); + const dragProgress = require$$0.shallowRef(0); + const offset = require$$0.shallowRef(0); + let start2; + function getOffset2(pos, active) { + return (position2.value === "left" ? pos : position2.value === "right" ? document.documentElement.clientWidth - pos : position2.value === "top" ? pos : position2.value === "bottom" ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0); + } + function getProgress(pos) { + let limit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true; + const progress = position2.value === "left" ? (pos - offset.value) / width.value : position2.value === "right" ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position2.value === "top" ? (pos - offset.value) / width.value : position2.value === "bottom" ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops(); + return limit ? clamp$1(progress) : progress; + } + function onTouchstart(e7) { + if (touchless.value) return; + const touchX = e7.changedTouches[0].clientX; + const touchY = e7.changedTouches[0].clientY; + const touchZone = 25; + const inTouchZone = position2.value === "left" ? touchX < touchZone : position2.value === "right" ? touchX > document.documentElement.clientWidth - touchZone : position2.value === "top" ? touchY < touchZone : position2.value === "bottom" ? touchY > document.documentElement.clientHeight - touchZone : oops(); + const inElement = isActive.value && (position2.value === "left" ? touchX < width.value : position2.value === "right" ? touchX > document.documentElement.clientWidth - width.value : position2.value === "top" ? touchY < width.value : position2.value === "bottom" ? touchY > document.documentElement.clientHeight - width.value : oops()); + if (inTouchZone || inElement || isActive.value && isTemporary.value) { + start2 = [touchX, touchY]; + offset.value = getOffset2(isHorizontal.value ? touchX : touchY, isActive.value); + dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY); + maybeDragging = offset.value > -20 && offset.value < 80; + endTouch(e7); + addMovement(e7); + } + } + function onTouchmove(e7) { + const touchX = e7.changedTouches[0].clientX; + const touchY = e7.changedTouches[0].clientY; + if (maybeDragging) { + if (!e7.cancelable) { + maybeDragging = false; + return; + } + const dx2 = Math.abs(touchX - start2[0]); + const dy2 = Math.abs(touchY - start2[1]); + const thresholdMet = isHorizontal.value ? dx2 > dy2 && dx2 > 3 : dy2 > dx2 && dy2 > 3; + if (thresholdMet) { + isDragging.value = true; + maybeDragging = false; + } else if ((isHorizontal.value ? dy2 : dx2) > 3) { + maybeDragging = false; + } + } + if (!isDragging.value) return; + e7.preventDefault(); + addMovement(e7); + const progress = getProgress(isHorizontal.value ? touchX : touchY, false); + dragProgress.value = Math.max(0, Math.min(1, progress)); + if (progress > 1) { + offset.value = getOffset2(isHorizontal.value ? touchX : touchY, true); + } else if (progress < 0) { + offset.value = getOffset2(isHorizontal.value ? touchX : touchY, false); + } + } + function onTouchend(e7) { + maybeDragging = false; + if (!isDragging.value) return; + addMovement(e7); + isDragging.value = false; + const velocity = getVelocity(e7.changedTouches[0].identifier); + const vx2 = Math.abs(velocity.x); + const vy2 = Math.abs(velocity.y); + const thresholdMet = isHorizontal.value ? vx2 > vy2 && vx2 > 400 : vy2 > vx2 && vy2 > 3; + if (thresholdMet) { + isActive.value = velocity.direction === ({ + left: "right", + right: "left", + top: "down", + bottom: "up" + }[position2.value] || oops()); + } else { + isActive.value = dragProgress.value > 0.5; + } + } + const dragStyles = require$$0.computed(() => { + return isDragging.value ? { + transform: position2.value === "left" ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))` : position2.value === "right" ? `translateX(calc(100% - ${dragProgress.value * width.value}px))` : position2.value === "top" ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))` : position2.value === "bottom" ? `translateY(calc(100% - ${dragProgress.value * width.value}px))` : oops(), + transition: "none" + } : void 0; + }); + useToggleScope(isDragging, () => { + const transform2 = el2.value?.style.transform ?? null; + const transition = el2.value?.style.transition ?? null; + require$$0.watchEffect(() => { + el2.value?.style.setProperty("transform", dragStyles.value?.transform || "none"); + el2.value?.style.setProperty("transition", dragStyles.value?.transition || null); + }); + require$$0.onScopeDispose(() => { + el2.value?.style.setProperty("transform", transform2); + el2.value?.style.setProperty("transition", transition); + }); + }); + return { + isDragging, + dragProgress, + dragStyles + }; + } + function oops() { + throw new Error(); + } + const locations = ["start", "end", "left", "right", "top", "bottom"]; + const makeVNavigationDrawerProps = propsFactory({ + color: String, + disableResizeWatcher: Boolean, + disableRouteWatcher: Boolean, + expandOnHover: Boolean, + floating: Boolean, + modelValue: { + type: Boolean, + default: null + }, + permanent: Boolean, + rail: { + type: Boolean, + default: null + }, + railWidth: { + type: [Number, String], + default: 56 + }, + scrim: { + type: [Boolean, String], + default: true + }, + image: String, + temporary: Boolean, + persistent: Boolean, + touchless: Boolean, + width: { + type: [Number, String], + default: 256 + }, + location: { + type: String, + default: "start", + validator: (value) => locations.includes(value) + }, + sticky: Boolean, + ...makeBorderProps(), + ...makeComponentProps(), + ...makeDelayProps(), + ...makeDisplayProps({ + mobile: null + }), + ...makeElevationProps(), + ...makeLayoutItemProps(), + ...makeRoundedProps(), + ...makeTagProps({ + tag: "nav" + }), + ...makeThemeProps() + }, "VNavigationDrawer"); + const VNavigationDrawer = genericComponent()({ + name: "VNavigationDrawer", + props: makeVNavigationDrawerProps(), + emits: { + "update:modelValue": (val) => true, + "update:rail": (val) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + isRtl + } = useRtl(); + const { + themeClasses + } = provideTheme(props); + const { + borderClasses + } = useBorder(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + elevationClasses + } = useElevation(props); + const { + displayClasses, + mobile + } = useDisplay(props); + const { + roundedClasses + } = useRounded(props); + const router = useRouter(); + const isActive = useProxiedModel(props, "modelValue", null, (v) => !!v); + const { + ssrBootStyles + } = useSsrBoot(); + const { + scopeId + } = useScopeId(); + const rootEl2 = require$$0.ref(); + const isHovering = require$$0.shallowRef(false); + const { + runOpenDelay, + runCloseDelay + } = useDelay(props, (value) => { + isHovering.value = value; + }); + const width = require$$0.computed(() => { + return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width); + }); + const location = require$$0.computed(() => { + return toPhysical(props.location, isRtl.value); + }); + const isPersistent = require$$0.toRef(() => props.persistent); + const isTemporary = require$$0.computed(() => !props.permanent && (mobile.value || props.temporary)); + const isSticky = require$$0.computed(() => props.sticky && !isTemporary.value && location.value !== "bottom"); + useToggleScope(() => props.expandOnHover && props.rail != null, () => { + require$$0.watch(isHovering, (val) => emit("update:rail", !val)); + }); + useToggleScope(() => !props.disableResizeWatcher, () => { + require$$0.watch(isTemporary, (val) => !props.permanent && require$$0.nextTick(() => isActive.value = !val)); + }); + useToggleScope(() => !props.disableRouteWatcher && !!router, () => { + require$$0.watch(router.currentRoute, () => isTemporary.value && (isActive.value = false)); + }); + require$$0.watch(() => props.permanent, (val) => { + if (val) isActive.value = true; + }); + if (props.modelValue == null && !isTemporary.value) { + isActive.value = props.permanent || !mobile.value; + } + const { + isDragging, + dragProgress + } = useTouch({ + el: rootEl2, + isActive, + isTemporary, + width, + touchless: require$$0.toRef(() => props.touchless), + position: location + }); + const layoutSize = require$$0.computed(() => { + const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value; + return isDragging.value ? size * dragProgress.value : size; + }); + const { + layoutItemStyles, + layoutItemScrimStyles + } = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: location, + layoutSize, + elementSize: width, + active: require$$0.readonly(isActive), + disableTransitions: require$$0.toRef(() => isDragging.value), + absolute: require$$0.computed(() => ( + // eslint-disable-next-line @typescript-eslint/no-use-before-define + props.absolute || isSticky.value && typeof isStuck.value !== "string" + )) + }); + const { + isStuck, + stickyStyles + } = useSticky({ + rootEl: rootEl2, + isSticky, + layoutItemStyles + }); + const scrimColor = useBackgroundColor(() => { + return typeof props.scrim === "string" ? props.scrim : null; + }); + const scrimStyles = require$$0.computed(() => ({ + ...isDragging.value ? { + opacity: dragProgress.value * 0.2, + transition: "none" + } : void 0, + ...layoutItemScrimStyles.value + })); + provideDefaults({ + VList: { + bgColor: "transparent" + } + }); + useRender(() => { + const hasImage = slots.image || props.image; + return require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(props.tag, require$$0.mergeProps({ + "ref": rootEl2, + "onMouseenter": runOpenDelay, + "onMouseleave": runCloseDelay, + "class": ["v-navigation-drawer", `v-navigation-drawer--${location.value}`, { + "v-navigation-drawer--expand-on-hover": props.expandOnHover, + "v-navigation-drawer--floating": props.floating, + "v-navigation-drawer--is-hovering": isHovering.value, + "v-navigation-drawer--rail": props.rail, + "v-navigation-drawer--temporary": isTemporary.value, + "v-navigation-drawer--persistent": isPersistent.value, + "v-navigation-drawer--active": isActive.value, + "v-navigation-drawer--sticky": isSticky.value + }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class], + "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style] + }, scopeId, attrs), { + default: () => [hasImage && require$$0.createElementVNode("div", { + "key": "image", + "class": "v-navigation-drawer__img" + }, [!slots.image ? require$$0.createVNode(VImg, { + "key": "image-img", + "alt": "", + "cover": true, + "height": "inherit", + "src": props.image + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "image-defaults", + "disabled": !props.image, + "defaults": { + VImg: { + alt: "", + cover: true, + height: "inherit", + src: props.image + } + } + }, slots.image)]), slots.prepend && require$$0.createElementVNode("div", { + "class": "v-navigation-drawer__prepend" + }, [slots.prepend?.()]), require$$0.createElementVNode("div", { + "class": "v-navigation-drawer__content" + }, [slots.default?.()]), slots.append && require$$0.createElementVNode("div", { + "class": "v-navigation-drawer__append" + }, [slots.append?.()])] + }), require$$0.createVNode(require$$0.Transition, { + "name": "fade-transition" + }, { + default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-navigation-drawer__scrim", scrimColor.backgroundColorClasses.value], + "style": [scrimStyles.value, scrimColor.backgroundColorStyles.value], + "onClick": () => { + if (isPersistent.value) return; + isActive.value = false; + } + }, scopeId), null)] + })]); + }); + return { + isStuck + }; + } + }); + const VNoSsr = defineComponent({ + name: "VNoSsr", + setup(_7, _ref) { + let { + slots + } = _ref; + const show = useHydration(); + return () => show.value && slots.default?.(); + } + }); + const HOLD_REPEAT = 50; + const HOLD_DELAY = 500; + function useHold(_ref) { + let { + toggleUpDown + } = _ref; + let timeout = -1; + let interval = -1; + require$$0.onScopeDispose(holdStop); + function holdStart(value) { + holdStop(); + tick(value); + window.addEventListener("pointerup", holdStop); + document.addEventListener("blur", holdStop); + timeout = window.setTimeout(() => { + interval = window.setInterval(() => tick(value), HOLD_REPEAT); + }, HOLD_DELAY); + } + function holdStop() { + window.clearTimeout(timeout); + window.clearInterval(interval); + window.removeEventListener("pointerup", holdStop); + document.removeEventListener("blur", holdStop); + } + function tick(value) { + toggleUpDown(value === "up"); + } + return { + holdStart, + holdStop + }; + } + const makeVNumberInputProps = propsFactory({ + controlVariant: { + type: String, + default: "default" + }, + inset: Boolean, + hideInput: Boolean, + modelValue: { + type: Number, + default: null + }, + min: { + type: Number, + default: Number.MIN_SAFE_INTEGER + }, + max: { + type: Number, + default: Number.MAX_SAFE_INTEGER + }, + step: { + type: Number, + default: 1 + }, + precision: { + type: Number, + default: 0 + }, + minFractionDigits: { + type: Number, + default: null + }, + decimalSeparator: { + type: String, + validator: (v) => !v || v.length === 1 + }, + ...omit(makeVTextFieldProps(), ["modelValue", "validationValue"]) + }, "VNumberInput"); + const VNumberInput = genericComponent()({ + name: "VNumberInput", + props: { + ...makeVNumberInputProps() + }, + emits: { + "update:focused": (val) => true, + "update:modelValue": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const vTextFieldRef = require$$0.ref(); + const { + holdStart, + holdStop + } = useHold({ + toggleUpDown + }); + const form = useForm(props); + const controlsDisabled = require$$0.computed(() => form.isDisabled.value || form.isReadonly.value); + const isFocused = require$$0.shallowRef(props.focused); + const { + decimalSeparator: decimalSeparatorFromLocale + } = useLocale(); + const decimalSeparator = require$$0.computed(() => props.decimalSeparator?.[0] || decimalSeparatorFromLocale.value); + function correctPrecision(val) { + let precision = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : props.precision; + let trim2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + const fixed = precision == null ? String(val) : val.toFixed(precision); + if (isFocused.value && trim2) { + return Number(fixed).toString().replace(".", decimalSeparator.value); + } + if (props.minFractionDigits === null || precision !== null && precision < props.minFractionDigits) { + return fixed.replace(".", decimalSeparator.value); + } + let [baseDigits, fractionDigits] = fixed.split("."); + fractionDigits = (fractionDigits ?? "").padEnd(props.minFractionDigits, "0").replace(new RegExp(`(?<=\\d{${props.minFractionDigits}})0+$`, "g"), ""); + return [baseDigits, fractionDigits].filter(Boolean).join(decimalSeparator.value); + } + const model = useProxiedModel(props, "modelValue", null, (val) => val ?? null, (val) => val == null ? val ?? null : clamp$1(Number(val), props.min, props.max)); + const _inputText = require$$0.shallowRef(null); + require$$0.watchEffect(() => { + if (isFocused.value && !controlsDisabled.value && Number(_inputText.value) === model.value) ; + else if (model.value == null) { + _inputText.value = null; + } else if (!isNaN(model.value)) { + _inputText.value = correctPrecision(model.value); + } + }); + const inputText = require$$0.computed({ + get: () => _inputText.value, + set(val) { + if (val === null || val === "") { + model.value = null; + _inputText.value = null; + return; + } + const parsedValue = Number(val.replace(decimalSeparator.value, ".")); + if (!isNaN(parsedValue) && parsedValue <= props.max && parsedValue >= props.min) { + model.value = parsedValue; + _inputText.value = val; + } + } + }); + const canIncrease = require$$0.computed(() => { + if (controlsDisabled.value) return false; + return (model.value ?? 0) + props.step <= props.max; + }); + const canDecrease = require$$0.computed(() => { + if (controlsDisabled.value) return false; + return (model.value ?? 0) - props.step >= props.min; + }); + const controlVariant = require$$0.computed(() => { + return props.hideInput ? "stacked" : props.controlVariant; + }); + const incrementIcon = require$$0.toRef(() => controlVariant.value === "split" ? "$plus" : "$collapse"); + const decrementIcon = require$$0.toRef(() => controlVariant.value === "split" ? "$minus" : "$expand"); + const controlNodeSize = require$$0.toRef(() => controlVariant.value === "split" ? "default" : "small"); + const controlNodeDefaultHeight = require$$0.toRef(() => controlVariant.value === "stacked" ? "auto" : "100%"); + const incrementSlotProps = { + props: { + onClick: onControlClick, + onPointerup: onControlMouseup, + onPointerdown: onUpControlMousedown, + onPointercancel: onControlMouseup + } + }; + const decrementSlotProps = { + props: { + onClick: onControlClick, + onPointerup: onControlMouseup, + onPointerdown: onDownControlMousedown, + onPointercancel: onControlMouseup + } + }; + require$$0.watch(() => props.precision, () => formatInputValue()); + require$$0.watch(() => props.minFractionDigits, () => formatInputValue()); + require$$0.onMounted(() => { + clampModel(); + }); + function inferPrecision(value) { + if (value == null) return 0; + const str = value.toString(); + const idx = str.indexOf("."); + return ~idx ? str.length - idx : 0; + } + function toggleUpDown() { + let increment = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true; + if (controlsDisabled.value) return; + if (model.value == null) { + inputText.value = correctPrecision(clamp$1(0, props.min, props.max)); + return; + } + let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step)); + if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision); + if (increment) { + if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision); + } else { + if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision); + } + } + function onBeforeinput(e7) { + if (!e7.data) return; + const inputElement = e7.target; + const { + value: existingTxt, + selectionStart, + selectionEnd + } = inputElement ?? {}; + const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e7.data + existingTxt.slice(selectionEnd) : e7.data; + const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision, decimalSeparator.value); + if (!new RegExp(`^-?\\d*${escapeForRegex(decimalSeparator.value)}?\\d*$`).test(potentialNewInputVal)) { + e7.preventDefault(); + inputElement.value = potentialNewNumber; + } + if (props.precision == null) return; + if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) { + e7.preventDefault(); + inputElement.value = potentialNewNumber; + const cursorPosition = (selectionStart ?? 0) + e7.data.length; + inputElement.setSelectionRange(cursorPosition, cursorPosition); + } + if (props.precision === 0 && potentialNewInputVal.includes(decimalSeparator.value)) { + e7.preventDefault(); + inputElement.value = potentialNewNumber; + } + } + async function onKeydown(e7) { + if (["Enter", "ArrowLeft", "ArrowRight", "Backspace", "Delete", "Tab"].includes(e7.key) || e7.ctrlKey) return; + if (["ArrowDown", "ArrowUp"].includes(e7.key)) { + e7.preventDefault(); + e7.stopPropagation(); + clampModel(); + await require$$0.nextTick(); + if (e7.key === "ArrowDown") { + toggleUpDown(false); + } else { + toggleUpDown(); + } + } + } + function onControlClick(e7) { + e7.stopPropagation(); + } + function onControlMouseup(e7) { + const el2 = e7.currentTarget; + el2?.releasePointerCapture(e7.pointerId); + e7.preventDefault(); + holdStop(); + } + function onUpControlMousedown(e7) { + const el2 = e7.currentTarget; + el2?.setPointerCapture(e7.pointerId); + e7.preventDefault(); + e7.stopPropagation(); + holdStart("up"); + } + function onDownControlMousedown(e7) { + const el2 = e7.currentTarget; + el2?.setPointerCapture(e7.pointerId); + e7.preventDefault(); + e7.stopPropagation(); + holdStart("down"); + } + function clampModel() { + if (controlsDisabled.value) return; + if (!vTextFieldRef.value) return; + const actualText = vTextFieldRef.value.value; + const parsedValue = Number(actualText.replace(decimalSeparator.value, ".")); + if (actualText && !isNaN(parsedValue)) { + inputText.value = correctPrecision(clamp$1(parsedValue, props.min, props.max)); + } else { + inputText.value = null; + } + } + function formatInputValue() { + if (controlsDisabled.value) return; + inputText.value = model.value !== null && !isNaN(model.value) ? correctPrecision(model.value, props.precision, false) : null; + } + function trimDecimalZeros() { + if (controlsDisabled.value) return; + if (model.value === null || isNaN(model.value)) { + inputText.value = null; + return; + } + inputText.value = model.value.toString().replace(".", decimalSeparator.value); + } + function onFocus() { + trimDecimalZeros(); + } + function onBlur() { + clampModel(); + } + useRender(() => { + const { + modelValue: _7, + ...textFieldProps + } = VTextField.filterProps(props); + function incrementControlNode() { + return !slots.increment ? require$$0.createVNode(VBtn, { + "aria-hidden": "true", + "data-testid": "increment", + "disabled": !canIncrease.value, + "height": controlNodeDefaultHeight.value, + "icon": incrementIcon.value, + "key": "increment-btn", + "onClick": onControlClick, + "onPointerdown": onUpControlMousedown, + "onPointerup": onControlMouseup, + "onPointercancel": onControlMouseup, + "size": controlNodeSize.value, + "variant": "text", + "tabindex": "-1" + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "increment-defaults", + "defaults": { + VBtn: { + disabled: !canIncrease.value, + height: controlNodeDefaultHeight.value, + size: controlNodeSize.value, + icon: incrementIcon.value, + variant: "text" + } + } + }, { + default: () => [slots.increment(incrementSlotProps)] + }); + } + function decrementControlNode() { + return !slots.decrement ? require$$0.createVNode(VBtn, { + "aria-hidden": "true", + "data-testid": "decrement", + "disabled": !canDecrease.value, + "height": controlNodeDefaultHeight.value, + "icon": decrementIcon.value, + "key": "decrement-btn", + "onClick": onControlClick, + "onPointerdown": onDownControlMousedown, + "onPointerup": onControlMouseup, + "onPointercancel": onControlMouseup, + "size": controlNodeSize.value, + "variant": "text", + "tabindex": "-1" + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "decrement-defaults", + "defaults": { + VBtn: { + disabled: !canDecrease.value, + height: controlNodeDefaultHeight.value, + size: controlNodeSize.value, + icon: decrementIcon.value, + variant: "text" + } + } + }, { + default: () => [slots.decrement(decrementSlotProps)] + }); + } + function controlNode() { + return require$$0.createElementVNode("div", { + "class": "v-number-input__control" + }, [decrementControlNode(), require$$0.createVNode(VDivider, { + "vertical": controlVariant.value !== "stacked" + }, null), incrementControlNode()]); + } + function dividerNode() { + return !props.hideInput && !props.inset ? require$$0.createVNode(VDivider, { + "vertical": true + }, null) : void 0; + } + const appendInnerControl = controlVariant.value === "split" ? require$$0.createElementVNode("div", { + "class": "v-number-input__control" + }, [require$$0.createVNode(VDivider, { + "vertical": true + }, null), incrementControlNode()]) : props.reverse || controlVariant.value === "hidden" ? void 0 : require$$0.createElementVNode(require$$0.Fragment, null, [dividerNode(), controlNode()]); + const hasAppendInner = slots["append-inner"] || appendInnerControl; + const prependInnerControl = controlVariant.value === "split" ? require$$0.createElementVNode("div", { + "class": "v-number-input__control" + }, [decrementControlNode(), require$$0.createVNode(VDivider, { + "vertical": true + }, null)]) : props.reverse && controlVariant.value !== "hidden" ? require$$0.createElementVNode(require$$0.Fragment, null, [controlNode(), dividerNode()]) : void 0; + const hasPrependInner = slots["prepend-inner"] || prependInnerControl; + return require$$0.createVNode(VTextField, require$$0.mergeProps({ + "ref": vTextFieldRef + }, textFieldProps, { + "modelValue": inputText.value, + "onUpdate:modelValue": ($event) => inputText.value = $event, + "focused": isFocused.value, + "onUpdate:focused": ($event) => isFocused.value = $event, + "validationValue": model.value, + "onBeforeinput": onBeforeinput, + "onFocus": onFocus, + "onBlur": onBlur, + "onKeydown": onKeydown, + "class": ["v-number-input", { + "v-number-input--default": controlVariant.value === "default", + "v-number-input--hide-input": props.hideInput, + "v-number-input--inset": props.inset, + "v-number-input--reverse": props.reverse, + "v-number-input--split": controlVariant.value === "split", + "v-number-input--stacked": controlVariant.value === "stacked" + }, props.class], + "style": props.style, + "inputmode": "decimal" + }), { + ...slots, + "append-inner": hasAppendInner ? function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return require$$0.createElementVNode(require$$0.Fragment, null, [slots["append-inner"]?.(...args), appendInnerControl]); + } : void 0, + "prepend-inner": hasPrependInner ? function() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return require$$0.createElementVNode(require$$0.Fragment, null, [prependInnerControl, slots["prepend-inner"]?.(...args)]); + } : void 0 + }); + }); + return forwardRefs$1({}, vTextFieldRef); + } + }); + const makeVOtpInputProps = propsFactory({ + autofocus: Boolean, + divider: String, + focusAll: Boolean, + label: { + type: String, + default: "$vuetify.input.otp" + }, + length: { + type: [Number, String], + default: 6 + }, + modelValue: { + type: [Number, String], + default: void 0 + }, + placeholder: String, + type: { + type: String, + default: "number" + }, + ...makeDimensionProps(), + ...makeFocusProps(), + ...pick(makeVFieldProps({ + variant: "outlined" + }), ["baseColor", "bgColor", "class", "color", "disabled", "error", "loading", "rounded", "style", "theme", "variant"]) + }, "VOtpInput"); + const VOtpInput = genericComponent()({ + name: "VOtpInput", + props: makeVOtpInputProps(), + emits: { + finish: (val) => true, + "update:focused": (val) => true, + "update:modelValue": (val) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const { + dimensionStyles + } = useDimension(props); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const model = useProxiedModel(props, "modelValue", "", (val) => val == null ? [] : String(val).split(""), (val) => val.join("")); + const { + t + } = useLocale(); + const length = require$$0.computed(() => Number(props.length)); + const fields = require$$0.computed(() => Array(length.value).fill(0)); + const focusIndex = require$$0.ref(-1); + const contentRef = require$$0.ref(); + const inputRef = require$$0.ref([]); + const current = require$$0.computed(() => inputRef.value[focusIndex.value]); + let _isComposing = false; + useToggleScope(() => props.autofocus, () => { + const intersectScope = require$$0.effectScope(); + intersectScope.run(() => { + const { + intersectionRef, + isIntersecting + } = useIntersectionObserver(); + require$$0.watchEffect(() => { + intersectionRef.value = inputRef.value[0]; + }); + require$$0.watch(isIntersecting, (v) => { + if (!v) return; + intersectionRef.value?.focus(); + intersectScope.stop(); + }); + }); + }); + function onInput() { + if (isValidNumber(current.value.value)) { + current.value.value = ""; + return; + } + if (_isComposing) return; + const array = model.value.slice(); + const value = current.value.value; + array[focusIndex.value] = value; + let target = null; + if (focusIndex.value > model.value.length) { + target = model.value.length + 1; + } else if (focusIndex.value + 1 !== length.value) { + target = "next"; + } + model.value = array; + if (target) focusChild(contentRef.value, target); + } + function onCompositionend() { + _isComposing = false; + onInput(); + } + function onKeydown(e7) { + const array = model.value.slice(); + const index2 = focusIndex.value; + let target = null; + if (!["ArrowLeft", "ArrowRight", "Backspace", "Delete"].includes(e7.key)) return; + e7.preventDefault(); + if (e7.key === "ArrowLeft") { + target = "prev"; + } else if (e7.key === "ArrowRight") { + target = "next"; + } else if (["Backspace", "Delete"].includes(e7.key)) { + array[focusIndex.value] = ""; + model.value = array; + if (focusIndex.value > 0 && e7.key === "Backspace") { + target = "prev"; + } else { + requestAnimationFrame(() => { + inputRef.value[index2]?.select(); + }); + } + } + requestAnimationFrame(() => { + if (target != null) { + focusChild(contentRef.value, target); + } + }); + } + function onPaste(index2, e7) { + e7.preventDefault(); + e7.stopPropagation(); + const clipboardText = e7?.clipboardData?.getData("Text").trim().slice(0, length.value) ?? ""; + const finalIndex = clipboardText.length - 1 === -1 ? index2 : clipboardText.length - 1; + if (isValidNumber(clipboardText)) return; + model.value = clipboardText.split(""); + focusIndex.value = finalIndex; + } + function reset() { + model.value = []; + } + function onFocus(e7, index2) { + focus2(); + focusIndex.value = index2; + } + function onBlur() { + blur2(); + focusIndex.value = -1; + } + function isValidNumber(value) { + return props.type === "number" && /[^0-9]/g.test(value); + } + provideDefaults({ + VField: { + color: require$$0.toRef(() => props.color), + bgColor: require$$0.toRef(() => props.color), + baseColor: require$$0.toRef(() => props.baseColor), + disabled: require$$0.toRef(() => props.disabled), + error: require$$0.toRef(() => props.error), + variant: require$$0.toRef(() => props.variant) + } + }, { + scoped: true + }); + require$$0.watch(model, (val) => { + if (val.length === length.value) { + emit("finish", val.join("")); + } + }, { + deep: true + }); + require$$0.watch(focusIndex, (val) => { + if (val < 0) return; + require$$0.nextTick(() => { + inputRef.value[val]?.select(); + }); + }); + useRender(() => { + const [rootAttrs, inputAttrs] = filterInputAttrs(attrs); + return require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-otp-input", { + "v-otp-input--divided": !!props.divider + }, props.class], + "style": [props.style] + }, rootAttrs), [require$$0.createElementVNode("div", { + "ref": contentRef, + "class": "v-otp-input__content", + "style": require$$0.normalizeStyle([dimensionStyles.value]) + }, [fields.value.map((_7, i7) => require$$0.createElementVNode(require$$0.Fragment, null, [props.divider && i7 !== 0 && require$$0.createElementVNode("span", { + "class": "v-otp-input__divider" + }, [props.divider]), require$$0.createVNode(VField, { + "focused": isFocused.value && props.focusAll || focusIndex.value === i7, + "key": i7 + }, { + ...slots, + loader: void 0, + default: () => { + return require$$0.createElementVNode("input", { + "ref": (val) => inputRef.value[i7] = val, + "aria-label": t(props.label, i7 + 1), + "autofocus": i7 === 0 && props.autofocus, + "autocomplete": "one-time-code", + "class": require$$0.normalizeClass(["v-otp-input__field"]), + "disabled": props.disabled, + "inputmode": props.type === "number" ? "numeric" : "text", + "min": props.type === "number" ? 0 : void 0, + "maxlength": i7 === 0 ? length.value : "1", + "placeholder": props.placeholder, + "type": props.type === "number" ? "text" : props.type, + "value": model.value[i7], + "onInput": onInput, + "onFocus": (e7) => onFocus(e7, i7), + "onBlur": onBlur, + "onKeydown": onKeydown, + "onCompositionstart": () => _isComposing = true, + "onCompositionend": onCompositionend, + "onPaste": (event) => onPaste(i7, event) + }, null); + } + })])), require$$0.createElementVNode("input", require$$0.mergeProps({ + "class": "v-otp-input-input", + "type": "hidden" + }, inputAttrs, { + "value": model.value.join("") + }), null), require$$0.createVNode(VOverlay, { + "contained": true, + "contentClass": "v-otp-input__loader", + "modelValue": !!props.loading, + "persistent": true + }, { + default: () => [slots.loader?.() ?? require$$0.createVNode(VProgressCircular, { + "color": typeof props.loading === "boolean" ? void 0 : props.loading, + "indeterminate": true, + "size": "24", + "width": "2" + }, null)] + }), slots.default?.()])]); + }); + return { + blur: () => { + inputRef.value?.some((input) => input.blur()); + }, + focus: () => { + inputRef.value?.[0].focus(); + }, + reset, + isFocused + }; + } + }); + function floor(val) { + return Math.floor(Math.abs(val)) * Math.sign(val); + } + const makeVParallaxProps = propsFactory({ + scale: { + type: [Number, String], + default: 0.5 + }, + ...makeComponentProps() + }, "VParallax"); + const VParallax = genericComponent()({ + name: "VParallax", + props: makeVParallaxProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + intersectionRef, + isIntersecting + } = useIntersectionObserver(); + const { + resizeRef, + contentRect + } = useResizeObserver(); + const { + height: displayHeight + } = useDisplay(); + const root = require$$0.ref(); + require$$0.watchEffect(() => { + intersectionRef.value = resizeRef.value = root.value?.$el; + }); + let scrollParent; + require$$0.watch(isIntersecting, (val) => { + if (val) { + scrollParent = getScrollParent(intersectionRef.value); + scrollParent = scrollParent === document.scrollingElement ? document : scrollParent; + scrollParent.addEventListener("scroll", onScroll, { + passive: true + }); + onScroll(); + } else { + scrollParent.removeEventListener("scroll", onScroll); + } + }); + require$$0.onBeforeUnmount(() => { + scrollParent?.removeEventListener("scroll", onScroll); + }); + require$$0.watch(displayHeight, onScroll); + require$$0.watch(() => contentRect.value?.height, onScroll); + const scale2 = require$$0.computed(() => { + return 1 - clamp$1(Number(props.scale)); + }); + let frame = -1; + function onScroll() { + if (!isIntersecting.value || PREFERS_REDUCED_MOTION()) return; + cancelAnimationFrame(frame); + frame = requestAnimationFrame(() => { + const el2 = (root.value?.$el).querySelector(".v-img__img"); + if (!el2) return; + const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight; + const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop; + const top = intersectionRef.value.getBoundingClientRect().top + scrollPos; + const height = contentRect.value.height; + const center2 = top + (height - scrollHeight) / 2; + const translate2 = floor((scrollPos - center2) * scale2.value); + const sizeScale = Math.max(1, (scale2.value * (scrollHeight - height) + height) / height); + el2.style.setProperty("transform", `translateY(${translate2}px) scale(${sizeScale})`); + }); + } + useRender(() => require$$0.createVNode(VImg, { + "class": require$$0.normalizeClass(["v-parallax", { + "v-parallax--active": isIntersecting.value + }, props.class]), + "style": require$$0.normalizeStyle(props.style), + "ref": root, + "cover": true, + "onLoadstart": onScroll, + "onLoad": onScroll + }, slots)); + return {}; + } + }); + const makeVRadioProps = propsFactory({ + ...makeVSelectionControlProps({ + falseIcon: "$radioOff", + trueIcon: "$radioOn" + }) + }, "VRadio"); + const VRadio = genericComponent()({ + name: "VRadio", + props: makeVRadioProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + const controlProps = VSelectionControl.filterProps(props); + return require$$0.createVNode(VSelectionControl, require$$0.mergeProps(controlProps, { + "class": ["v-radio", props.class], + "style": props.style, + "type": "radio" + }), slots); + }); + return {}; + } + }); + const makeVRadioGroupProps = propsFactory({ + height: { + type: [Number, String], + default: "auto" + }, + ...makeVInputProps(), + ...omit(makeSelectionControlGroupProps(), ["multiple"]), + trueIcon: { + type: IconValue, + default: "$radioOn" + }, + falseIcon: { + type: IconValue, + default: "$radioOff" + }, + type: { + type: String, + default: "radio" + } + }, "VRadioGroup"); + const VRadioGroup = genericComponent()({ + name: "VRadioGroup", + inheritAttrs: false, + props: makeVRadioGroupProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const uid = require$$0.useId(); + const id2 = require$$0.computed(() => props.id || `radio-group-${uid}`); + const model = useProxiedModel(props, "modelValue"); + const inputRef = require$$0.ref(); + useRender(() => { + const [rootAttrs, controlAttrs] = filterInputAttrs(attrs); + const inputProps = VInput.filterProps(props); + const controlProps = VSelectionControl.filterProps(props); + const label = slots.label ? slots.label({ + label: props.label, + props: { + for: id2.value + } + }) : props.label; + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": inputRef, + "class": ["v-radio-group", props.class], + "style": props.style + }, rootAttrs, inputProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "id": id2.value + }), { + ...slots, + default: (_ref2) => { + let { + id: id3, + messagesId, + isDisabled, + isReadonly + } = _ref2; + return require$$0.createElementVNode(require$$0.Fragment, null, [label && require$$0.createVNode(VLabel, { + "id": id3.value + }, { + default: () => [label] + }), require$$0.createVNode(VSelectionControlGroup, require$$0.mergeProps(controlProps, { + "id": id3.value, + "aria-describedby": messagesId.value, + "defaultsTarget": "VRadio", + "trueIcon": props.trueIcon, + "falseIcon": props.falseIcon, + "type": props.type, + "disabled": isDisabled.value, + "readonly": isReadonly.value, + "aria-labelledby": label ? id3.value : void 0, + "multiple": false + }, controlAttrs, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event + }), slots)]); + } + }); + }); + return forwardRefs$1({}, inputRef); + } + }); + const makeVRangeSliderProps = propsFactory({ + ...makeFocusProps(), + ...makeVInputProps(), + ...makeSliderProps(), + strict: Boolean, + modelValue: { + type: Array, + default: () => [0, 0] + } + }, "VRangeSlider"); + const VRangeSlider = genericComponent()({ + name: "VRangeSlider", + props: makeVRangeSliderProps(), + emits: { + "update:focused": (value) => true, + "update:modelValue": (value) => true, + end: (value) => true, + start: (value) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const startThumbRef = require$$0.ref(); + const stopThumbRef = require$$0.ref(); + const inputRef = require$$0.ref(); + const { + rtlClasses + } = useRtl(); + function getActiveThumb(e7) { + if (!startThumbRef.value || !stopThumbRef.value) return; + const startOffset = getOffset(e7, startThumbRef.value.$el, props.direction); + const stopOffset = getOffset(e7, stopThumbRef.value.$el, props.direction); + const a = Math.abs(startOffset); + const b = Math.abs(stopOffset); + return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el; + } + const steps = useSteps(props); + const model = useProxiedModel(props, "modelValue", void 0, (arr) => { + if (!arr?.length) return [0, 0]; + return arr.map((value) => steps.roundValue(value)); + }); + const { + activeThumbRef, + hasLabels, + max: max3, + min: min3, + mousePressed, + onSliderMousedown, + onSliderTouchstart, + position: position2, + trackContainerRef, + readonly + } = useSlider({ + props, + steps, + onSliderStart: () => { + emit("start", model.value); + }, + onSliderEnd: (_ref2) => { + let { + value + } = _ref2; + const newValue = activeThumbRef.value === startThumbRef.value?.$el ? [value, model.value[1]] : [model.value[0], value]; + if (!props.strict && newValue[0] < newValue[1]) { + model.value = newValue; + } + emit("end", model.value); + }, + onSliderMove: (_ref3) => { + let { + value + } = _ref3; + const [start2, stop2] = model.value; + if (!props.strict && start2 === stop2 && start2 !== min3.value) { + activeThumbRef.value = value > start2 ? stopThumbRef.value?.$el : startThumbRef.value?.$el; + activeThumbRef.value?.focus(); + } + if (activeThumbRef.value === startThumbRef.value?.$el) { + model.value = [Math.min(value, stop2), stop2]; + } else { + model.value = [start2, Math.max(start2, value)]; + } + }, + getActiveThumb + }); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const trackStart = require$$0.computed(() => position2(model.value[0])); + const trackStop = require$$0.computed(() => position2(model.value[1])); + useRender(() => { + const inputProps = VInput.filterProps(props); + const hasPrepend = !!(props.label || slots.label || slots.prepend); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "class": ["v-slider", "v-range-slider", { + "v-slider--has-labels": !!slots["tick-label"] || hasLabels.value, + "v-slider--focused": isFocused.value, + "v-slider--pressed": mousePressed.value, + "v-slider--disabled": props.disabled + }, rtlClasses.value, props.class], + "style": props.style, + "ref": inputRef + }, inputProps, { + "focused": isFocused.value + }), { + ...slots, + prepend: hasPrepend ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? require$$0.createVNode(VLabel, { + "class": "v-slider__label", + "text": props.label + }, null) : void 0), slots.prepend?.(slotProps)]) : void 0, + default: (_ref4) => { + let { + id: id2, + messagesId + } = _ref4; + return require$$0.createElementVNode("div", { + "class": "v-slider__container", + "onMousedown": !readonly.value ? onSliderMousedown : void 0, + "onTouchstartPassive": !readonly.value ? onSliderTouchstart : void 0 + }, [require$$0.createElementVNode("input", { + "id": `${id2.value}_start`, + "name": props.name || id2.value, + "disabled": !!props.disabled, + "readonly": !!props.readonly, + "tabindex": "-1", + "value": model.value[0] + }, null), require$$0.createElementVNode("input", { + "id": `${id2.value}_stop`, + "name": props.name || id2.value, + "disabled": !!props.disabled, + "readonly": !!props.readonly, + "tabindex": "-1", + "value": model.value[1] + }, null), require$$0.createVNode(VSliderTrack, { + "ref": trackContainerRef, + "start": trackStart.value, + "stop": trackStop.value + }, { + "tick-label": slots["tick-label"] + }), require$$0.createVNode(VSliderThumb, { + "ref": startThumbRef, + "aria-describedby": messagesId.value, + "focused": isFocused && activeThumbRef.value === startThumbRef.value?.$el, + "modelValue": model.value[0], + "onUpdate:modelValue": (v) => model.value = [v, model.value[1]], + "onFocus": (e7) => { + focus2(); + activeThumbRef.value = startThumbRef.value?.$el; + if (max3.value !== min3.value && model.value[0] === model.value[1] && model.value[1] === min3.value && e7.relatedTarget !== stopThumbRef.value?.$el) { + startThumbRef.value?.$el.blur(); + stopThumbRef.value?.$el.focus(); + } + }, + "onBlur": () => { + blur2(); + activeThumbRef.value = void 0; + }, + "min": min3.value, + "max": model.value[1], + "position": trackStart.value, + "ripple": props.ripple + }, { + "thumb-label": slots["thumb-label"] + }), require$$0.createVNode(VSliderThumb, { + "ref": stopThumbRef, + "aria-describedby": messagesId.value, + "focused": isFocused && activeThumbRef.value === stopThumbRef.value?.$el, + "modelValue": model.value[1], + "onUpdate:modelValue": (v) => model.value = [model.value[0], v], + "onFocus": (e7) => { + focus2(); + activeThumbRef.value = stopThumbRef.value?.$el; + if (max3.value !== min3.value && model.value[0] === model.value[1] && model.value[0] === max3.value && e7.relatedTarget !== startThumbRef.value?.$el) { + stopThumbRef.value?.$el.blur(); + startThumbRef.value?.$el.focus(); + } + }, + "onBlur": () => { + blur2(); + activeThumbRef.value = void 0; + }, + "min": model.value[0], + "max": max3.value, + "position": trackStop.value, + "ripple": props.ripple + }, { + "thumb-label": slots["thumb-label"] + })]); + } + }); + }); + return forwardRefs$1({ + focus: () => startThumbRef.value?.$el.focus() + }, inputRef); + } + }); + const makeVRatingProps = propsFactory({ + name: String, + itemAriaLabel: { + type: String, + default: "$vuetify.rating.ariaLabel.item" + }, + activeColor: String, + color: String, + clearable: Boolean, + disabled: Boolean, + emptyIcon: { + type: IconValue, + default: "$ratingEmpty" + }, + fullIcon: { + type: IconValue, + default: "$ratingFull" + }, + halfIncrements: Boolean, + hover: Boolean, + length: { + type: [Number, String], + default: 5 + }, + readonly: Boolean, + modelValue: { + type: [Number, String], + default: 0 + }, + itemLabels: Array, + itemLabelPosition: { + type: String, + default: "top", + validator: (v) => ["top", "bottom"].includes(v) + }, + ripple: Boolean, + ...makeComponentProps(), + ...makeDensityProps(), + ...makeSizeProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VRating"); + const VRating = genericComponent()({ + name: "VRating", + props: makeVRatingProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + t + } = useLocale(); + const { + themeClasses + } = provideTheme(props); + const rating = useProxiedModel(props, "modelValue"); + const normalizedValue = require$$0.computed(() => clamp$1(parseFloat(rating.value), 0, Number(props.length))); + const range = require$$0.computed(() => createRange(Number(props.length), 1)); + const increments = require$$0.computed(() => range.value.flatMap((v) => props.halfIncrements ? [v - 0.5, v] : [v])); + const hoverIndex = require$$0.shallowRef(-1); + const itemState = require$$0.computed(() => increments.value.map((value) => { + const isHovering = props.hover && hoverIndex.value > -1; + const isFilled = normalizedValue.value >= value; + const isHovered = hoverIndex.value >= value; + const isFullIcon = isHovering ? isHovered : isFilled; + const icon = isFullIcon ? props.fullIcon : props.emptyIcon; + const activeColor = props.activeColor ?? props.color; + const color = isFilled || isHovered ? activeColor : props.color; + return { + isFilled, + isHovered, + icon, + color + }; + })); + const eventState = require$$0.computed(() => [0, ...increments.value].map((value) => { + function onMouseenter() { + hoverIndex.value = value; + } + function onMouseleave() { + hoverIndex.value = -1; + } + function onClick() { + if (props.disabled || props.readonly) return; + rating.value = normalizedValue.value === value && props.clearable ? 0 : value; + } + return { + onMouseenter: props.hover ? onMouseenter : void 0, + onMouseleave: props.hover ? onMouseleave : void 0, + onClick + }; + })); + const uid = require$$0.useId(); + const name = require$$0.computed(() => props.name ?? `v-rating-${uid}`); + function VRatingItem(_ref2) { + let { + value, + index: index2, + showStar = true + } = _ref2; + const { + onMouseenter, + onMouseleave, + onClick + } = eventState.value[index2 + 1]; + const id2 = `${name.value}-${String(value).replace(".", "-")}`; + const btnProps = { + color: itemState.value[index2]?.color, + density: props.density, + disabled: props.disabled, + icon: itemState.value[index2]?.icon, + ripple: props.ripple, + size: props.size, + variant: "plain" + }; + return require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("label", { + "for": id2, + "class": require$$0.normalizeClass({ + "v-rating__item--half": props.halfIncrements && value % 1 > 0, + "v-rating__item--full": props.halfIncrements && value % 1 === 0 + }), + "onMouseenter": onMouseenter, + "onMouseleave": onMouseleave, + "onClick": onClick + }, [require$$0.createElementVNode("span", { + "class": "v-rating__hidden" + }, [t(props.itemAriaLabel, value, props.length)]), !showStar ? void 0 : slots.item ? slots.item({ + ...itemState.value[index2], + props: btnProps, + value, + index: index2, + rating: normalizedValue.value + }) : require$$0.createVNode(VBtn, require$$0.mergeProps({ + "aria-label": t(props.itemAriaLabel, value, props.length) + }, btnProps), null)]), require$$0.createElementVNode("input", { + "class": "v-rating__hidden", + "name": name.value, + "id": id2, + "type": "radio", + "value": value, + "checked": normalizedValue.value === value, + "tabindex": -1, + "readonly": props.readonly, + "disabled": props.disabled + }, null)]); + } + function createLabel(labelProps) { + if (slots["item-label"]) return slots["item-label"](labelProps); + if (labelProps.label) return require$$0.createElementVNode("span", null, [labelProps.label]); + return require$$0.createElementVNode("span", null, [require$$0.createTextVNode(" ")]); + } + useRender(() => { + const hasLabels = !!props.itemLabels?.length || slots["item-label"]; + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-rating", { + "v-rating--hover": props.hover, + "v-rating--readonly": props.readonly + }, themeClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [require$$0.createVNode(VRatingItem, { + "value": 0, + "index": -1, + "showStar": false + }, null), range.value.map((value, i7) => require$$0.createElementVNode("div", { + "class": "v-rating__wrapper" + }, [hasLabels && props.itemLabelPosition === "top" ? createLabel({ + value, + index: i7, + label: props.itemLabels?.[i7] + }) : void 0, require$$0.createElementVNode("div", { + "class": "v-rating__item" + }, [props.halfIncrements ? require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VRatingItem, { + "value": value - 0.5, + "index": i7 * 2 + }, null), require$$0.createVNode(VRatingItem, { + "value": value, + "index": i7 * 2 + 1 + }, null)]) : require$$0.createVNode(VRatingItem, { + "value": value, + "index": i7 + }, null)]), hasLabels && props.itemLabelPosition === "bottom" ? createLabel({ + value, + index: i7, + label: props.itemLabels?.[i7] + }) : void 0]))] + }); + }); + return {}; + } + }); + const rootTypes = { + actions: "button@2", + article: "heading, paragraph", + avatar: "avatar", + button: "button", + card: "image, heading", + "card-avatar": "image, list-item-avatar", + chip: "chip", + "date-picker": "list-item, heading, divider, date-picker-options, date-picker-days, actions", + "date-picker-options": "text, avatar@2", + "date-picker-days": "avatar@28", + divider: "divider", + heading: "heading", + image: "image", + "list-item": "text", + "list-item-avatar": "avatar, text", + "list-item-two-line": "sentences", + "list-item-avatar-two-line": "avatar, sentences", + "list-item-three-line": "paragraph", + "list-item-avatar-three-line": "avatar, paragraph", + ossein: "ossein", + paragraph: "text@3", + sentences: "text@2", + subtitle: "text", + table: "table-heading, table-thead, table-tbody, table-tfoot", + "table-heading": "chip, text", + "table-thead": "heading@6", + "table-tbody": "table-row-divider@6", + "table-row-divider": "table-row, divider", + "table-row": "text@6", + "table-tfoot": "text@2, avatar@2", + text: "text" + }; + function genBone(type) { + let children = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-skeleton-loader__bone", `v-skeleton-loader__${type}`]) + }, [children]); + } + function genBones(bone) { + const [type, length] = bone.split("@"); + return Array.from({ + length + }).map(() => genStructure(type)); + } + function genStructure(type) { + let children = []; + if (!type) return children; + const bone = rootTypes[type]; + if (type === bone) ; + else if (type.includes(",")) return mapBones(type); + else if (type.includes("@")) return genBones(type); + else if (bone.includes(",")) children = mapBones(bone); + else if (bone.includes("@")) children = genBones(bone); + else if (bone) children.push(genStructure(bone)); + return [genBone(type, children)]; + } + function mapBones(bones) { + return bones.replace(/\s/g, "").split(",").map(genStructure); + } + const makeVSkeletonLoaderProps = propsFactory({ + boilerplate: Boolean, + color: String, + loading: Boolean, + loadingText: { + type: String, + default: "$vuetify.loading" + }, + type: { + type: [String, Array], + default: "ossein" + }, + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeThemeProps() + }, "VSkeletonLoader"); + const VSkeletonLoader = genericComponent()({ + name: "VSkeletonLoader", + inheritAttrs: false, + props: makeVSkeletonLoaderProps(), + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + dimensionStyles + } = useDimension(props); + const { + elevationClasses + } = useElevation(props); + const { + themeClasses + } = provideTheme(props); + const { + t + } = useLocale(); + const items = require$$0.computed(() => genStructure(wrapInArray(props.type).join(","))); + useRender(() => { + const isLoading = !slots.default || props.loading; + const loadingProps = props.boilerplate || !isLoading ? {} : { + ariaLive: "polite", + ariaLabel: t(props.loadingText), + role: "alert" + }; + return require$$0.createElementVNode(require$$0.Fragment, null, [isLoading ? require$$0.createElementVNode("div", require$$0.mergeProps({ + "class": ["v-skeleton-loader", { + "v-skeleton-loader--boilerplate": props.boilerplate + }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value], + "style": [backgroundColorStyles.value, dimensionStyles.value] + }, loadingProps, attrs), [items.value]) : slots.default?.()]); + }); + return {}; + } + }); + const VSlideGroupItem = genericComponent()({ + name: "VSlideGroupItem", + props: makeGroupItemProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const slideGroupItem = useGroupItem(props, VSlideGroupSymbol); + return () => slots.default?.({ + isSelected: slideGroupItem.isSelected.value, + select: slideGroupItem.select, + toggle: slideGroupItem.toggle, + selectedClass: slideGroupItem.selectedClass.value + }); + } + }); + function useCountdown(milliseconds) { + const time = require$$0.shallowRef(milliseconds()); + let timer = -1; + function clear2() { + clearInterval(timer); + } + function reset() { + clear2(); + require$$0.nextTick(() => time.value = milliseconds()); + } + function start2(el2) { + const style = el2 ? getComputedStyle(el2) : { + transitionDuration: 0.2 + }; + const interval = parseFloat(style.transitionDuration) * 1e3 || 200; + clear2(); + if (time.value <= 0) return; + const startTime = performance.now(); + timer = window.setInterval(() => { + const elapsed = performance.now() - startTime + interval; + time.value = Math.max(milliseconds() - elapsed, 0); + if (time.value <= 0) clear2(); + }, interval); + } + require$$0.onScopeDispose(clear2); + return { + clear: clear2, + time, + start: start2, + reset + }; + } + const makeVSnackbarProps = propsFactory({ + multiLine: Boolean, + text: String, + timer: [Boolean, String], + timeout: { + type: [Number, String], + default: 5e3 + }, + vertical: Boolean, + ...makeLocationProps({ + location: "bottom" + }), + ...makePositionProps(), + ...makeRoundedProps(), + ...makeVariantProps(), + ...makeThemeProps(), + ...omit(makeVOverlayProps({ + transition: "v-snackbar-transition" + }), ["persistent", "noClickAnimation", "scrim", "scrollStrategy", "stickToTarget"]) + }, "VSnackbar"); + const VSnackbar = genericComponent()({ + name: "VSnackbar", + props: makeVSnackbarProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + const { + positionClasses + } = usePosition(props); + const { + scopeId + } = useScopeId(); + const { + themeClasses + } = provideTheme(props); + const { + colorClasses, + colorStyles, + variantClasses + } = useVariant(props); + const { + roundedClasses + } = useRounded(props); + const countdown = useCountdown(() => Number(props.timeout)); + const overlay = require$$0.ref(); + const timerRef = require$$0.ref(); + const isHovering = require$$0.shallowRef(false); + const startY = require$$0.shallowRef(0); + const mainStyles = require$$0.ref(); + const hasLayout = require$$0.inject(VuetifyLayoutKey, void 0); + useToggleScope(() => !!hasLayout, () => { + const layout2 = useLayout(); + require$$0.watchEffect(() => { + mainStyles.value = layout2.mainStyles.value; + }); + }); + require$$0.watch(isActive, startTimeout); + require$$0.watch(() => props.timeout, startTimeout); + require$$0.onMounted(() => { + if (isActive.value) startTimeout(); + }); + let activeTimeout = -1; + function startTimeout() { + countdown.reset(); + window.clearTimeout(activeTimeout); + const timeout = Number(props.timeout); + if (!isActive.value || timeout === -1) return; + const element = refElement(timerRef.value); + countdown.start(element); + activeTimeout = window.setTimeout(() => { + isActive.value = false; + }, timeout); + } + function clearTimeout2() { + countdown.reset(); + window.clearTimeout(activeTimeout); + } + function onPointerenter() { + isHovering.value = true; + clearTimeout2(); + } + function onPointerleave() { + isHovering.value = false; + startTimeout(); + } + function onTouchstart(event) { + startY.value = event.touches[0].clientY; + } + function onTouchend(event) { + if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) { + isActive.value = false; + } + } + function onAfterLeave() { + if (isHovering.value) onPointerleave(); + } + const locationClasses = require$$0.computed(() => { + return props.location.split(" ").reduce((acc, loc) => { + acc[`v-snackbar--${loc}`] = true; + return acc; + }, {}); + }); + useRender(() => { + const overlayProps = VOverlay.filterProps(props); + const hasContent = !!(slots.default || slots.text || props.text); + return require$$0.createVNode(VOverlay, require$$0.mergeProps({ + "ref": overlay, + "class": ["v-snackbar", { + "v-snackbar--active": isActive.value, + "v-snackbar--multi-line": props.multiLine && !props.vertical, + "v-snackbar--timer": !!props.timer, + "v-snackbar--vertical": props.vertical + }, locationClasses.value, positionClasses.value, props.class], + "style": [mainStyles.value, props.style] + }, overlayProps, { + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "contentProps": require$$0.mergeProps({ + class: ["v-snackbar__wrapper", themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value], + style: [colorStyles.value], + onPointerenter, + onPointerleave + }, overlayProps.contentProps), + "persistent": true, + "noClickAnimation": true, + "scrim": false, + "scrollStrategy": "none", + "_disableGlobalStack": true, + "onTouchstartPassive": onTouchstart, + "onTouchend": onTouchend, + "onAfterLeave": onAfterLeave + }, scopeId), { + default: () => [genOverlays(false, "v-snackbar"), props.timer && !isHovering.value && require$$0.createElementVNode("div", { + "key": "timer", + "class": "v-snackbar__timer" + }, [require$$0.createVNode(VProgressLinear, { + "ref": timerRef, + "color": typeof props.timer === "string" ? props.timer : "info", + "max": props.timeout, + "modelValue": countdown.time.value + }, null)]), hasContent && require$$0.createElementVNode("div", { + "key": "content", + "class": "v-snackbar__content", + "role": "status", + "aria-live": "polite" + }, [slots.text?.() ?? props.text, slots.default?.()]), slots.actions && require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + variant: "text", + ripple: false, + slim: true + } + } + }, { + default: () => [require$$0.createElementVNode("div", { + "class": "v-snackbar__actions" + }, [slots.actions({ + isActive + })])] + })], + activator: slots.activator + }); + }); + return forwardRefs$1({}, overlay); + } + }); + const makeVSnackbarQueueProps = propsFactory({ + // TODO: Port this to Snackbar on dev + closable: [Boolean, String], + closeText: { + type: String, + default: "$vuetify.dismiss" + }, + modelValue: { + type: Array, + default: () => [] + }, + ...omit(makeVSnackbarProps(), ["modelValue"]) + }, "VSnackbarQueue"); + const VSnackbarQueue = genericComponent()({ + name: "VSnackbarQueue", + props: makeVSnackbarQueueProps(), + emits: { + "update:modelValue": (val) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + t + } = useLocale(); + const isActive = require$$0.shallowRef(false); + const isVisible = require$$0.shallowRef(false); + const current = require$$0.shallowRef(); + require$$0.watch(() => props.modelValue.length, (val, oldVal) => { + if (!isVisible.value && val > oldVal) { + showNext(); + } + }); + require$$0.watch(isActive, (val) => { + if (val) isVisible.value = true; + }); + function onAfterLeave() { + if (props.modelValue.length) { + showNext(); + } else { + current.value = void 0; + isVisible.value = false; + } + } + function showNext() { + const [next, ...rest] = props.modelValue; + emit("update:modelValue", rest); + current.value = typeof next === "string" ? { + text: next + } : next; + require$$0.nextTick(() => { + isActive.value = true; + }); + } + function onClickClose() { + isActive.value = false; + } + const btnProps = require$$0.computed(() => ({ + color: typeof props.closable === "string" ? props.closable : void 0, + text: t(props.closeText) + })); + useRender(() => { + const hasActions = !!(props.closable || slots.actions); + const { + modelValue: _7, + ...snackbarProps + } = VSnackbar.filterProps(props); + return require$$0.createElementVNode(require$$0.Fragment, null, [isVisible.value && !!current.value && (slots.default ? require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VSnackbar: current.value + } + }, { + default: () => [slots.default({ + item: current.value + })] + }) : require$$0.createVNode(VSnackbar, require$$0.mergeProps(snackbarProps, current.value, { + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "onAfterLeave": onAfterLeave + }), { + text: slots.text ? () => slots.text?.({ + item: current.value + }) : void 0, + actions: hasActions ? () => require$$0.createElementVNode(require$$0.Fragment, null, [!slots.actions ? require$$0.createVNode(VBtn, require$$0.mergeProps(btnProps.value, { + "onClick": onClickClose + }), null) : require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: btnProps.value + } + }, { + default: () => [slots.actions({ + item: current.value, + props: { + onClick: onClickClose + } + })] + })]) : void 0 + }))]); + }); + } + }); + const makeLineProps = propsFactory({ + autoDraw: Boolean, + autoDrawDuration: [Number, String], + autoDrawEasing: { + type: String, + default: "ease" + }, + color: String, + gradient: { + type: Array, + default: () => [] + }, + gradientDirection: { + type: String, + validator: (val) => ["top", "bottom", "left", "right"].includes(val), + default: "top" + }, + height: { + type: [String, Number], + default: 75 + }, + labels: { + type: Array, + default: () => [] + }, + labelSize: { + type: [Number, String], + default: 7 + }, + lineWidth: { + type: [String, Number], + default: 4 + }, + id: String, + itemValue: { + type: String, + default: "value" + }, + modelValue: { + type: Array, + default: () => [] + }, + min: [String, Number], + max: [String, Number], + padding: { + type: [String, Number], + default: 8 + }, + showLabels: Boolean, + smooth: [Boolean, String, Number], + width: { + type: [Number, String], + default: 300 + } + }, "Line"); + const makeVBarlineProps = propsFactory({ + autoLineWidth: Boolean, + ...makeLineProps() + }, "VBarline"); + const VBarline = genericComponent()({ + name: "VBarline", + props: makeVBarlineProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const uid = require$$0.useId(); + const id2 = require$$0.computed(() => props.id || `barline-${uid}`); + const autoDrawDuration = require$$0.computed(() => Number(props.autoDrawDuration) || 500); + const hasLabels = require$$0.computed(() => { + return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label); + }); + const lineWidth = require$$0.computed(() => parseFloat(props.lineWidth) || 4); + const totalWidth = require$$0.computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width))); + const boundary = require$$0.computed(() => { + return { + minX: 0, + maxX: totalWidth.value, + minY: 0, + maxY: parseInt(props.height, 10) + }; + }); + const items = require$$0.computed(() => props.modelValue.map((item) => getPropertyFromItem(item, props.itemValue, item))); + function genBars(values, boundary2) { + const { + minX, + maxX, + minY, + maxY + } = boundary2; + const totalValues = values.length; + let maxValue = props.max != null ? Number(props.max) : Math.max(...values); + let minValue = props.min != null ? Number(props.min) : Math.min(...values); + if (minValue > 0 && props.min == null) minValue = 0; + if (maxValue < 0 && props.max == null) maxValue = 0; + const gridX = maxX / (totalValues === 1 ? 2 : totalValues); + const gridY = (maxY - minY) / (maxValue - minValue || 1); + const horizonY = maxY - Math.abs(minValue * gridY); + return values.map((value, index2) => { + const height = Math.abs(gridY * value); + return { + x: minX + index2 * gridX, + y: horizonY - height + Number(value < 0) * height, + height, + value + }; + }); + } + const parsedLabels = require$$0.computed(() => { + const labels = []; + const points2 = genBars(items.value, boundary.value); + const len2 = points2.length; + for (let i7 = 0; labels.length < len2; i7++) { + const item = points2[i7]; + let value = props.labels[i7]; + if (!value) { + value = typeof item === "object" ? item.value : item; + } + labels.push({ + x: item.x, + value: String(value) + }); + } + return labels; + }); + const bars = require$$0.computed(() => genBars(items.value, boundary.value)); + const offsetX = require$$0.computed(() => bars.value.length === 1 ? (boundary.value.maxX - lineWidth.value) / 2 : (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2); + const smooth = require$$0.computed(() => typeof props.smooth === "boolean" ? props.smooth ? 2 : 0 : Number(props.smooth)); + useRender(() => { + const gradientData = !props.gradient.slice().length ? [""] : props.gradient.slice().reverse(); + return require$$0.createElementVNode("svg", { + "display": "block" + }, [require$$0.createElementVNode("defs", null, [require$$0.createElementVNode("linearGradient", { + "id": id2.value, + "gradientUnits": "userSpaceOnUse", + "x1": props.gradientDirection === "left" ? "100%" : "0", + "y1": props.gradientDirection === "top" ? "100%" : "0", + "x2": props.gradientDirection === "right" ? "100%" : "0", + "y2": props.gradientDirection === "bottom" ? "100%" : "0" + }, [gradientData.map((color, index2) => require$$0.createElementVNode("stop", { + "offset": index2 / Math.max(gradientData.length - 1, 1), + "stop-color": color || "currentColor" + }, null))])]), require$$0.createElementVNode("clipPath", { + "id": `${id2.value}-clip` + }, [bars.value.map((item) => require$$0.createElementVNode("rect", { + "x": item.x + offsetX.value, + "y": item.y, + "width": lineWidth.value, + "height": item.height, + "rx": smooth.value, + "ry": smooth.value + }, [props.autoDraw && !PREFERS_REDUCED_MOTION() && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("animate", { + "attributeName": "y", + "from": item.y + item.height, + "to": item.y, + "dur": `${autoDrawDuration.value}ms`, + "fill": "freeze" + }, null), require$$0.createElementVNode("animate", { + "attributeName": "height", + "from": "0", + "to": item.height, + "dur": `${autoDrawDuration.value}ms`, + "fill": "freeze" + }, null)])]))]), hasLabels.value && require$$0.createElementVNode("g", { + "key": "labels", + "style": { + textAnchor: "middle", + dominantBaseline: "mathematical", + fill: "currentColor" + } + }, [parsedLabels.value.map((item, i7) => require$$0.createElementVNode("text", { + "x": item.x + offsetX.value + lineWidth.value / 2, + "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75), + "font-size": Number(props.labelSize) || 7 + }, [slots.label?.({ + index: i7, + value: item.value + }) ?? item.value]))]), require$$0.createElementVNode("g", { + "clip-path": `url(#${id2.value}-clip)`, + "fill": `url(#${id2.value})` + }, [require$$0.createElementVNode("rect", { + "x": 0, + "y": 0, + "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)), + "height": props.height + }, null)])]); + }); + } + }); + function genPath(points2, radius) { + let fill = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false; + let height = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 75; + if (points2.length === 0) return ""; + const start2 = points2.shift(); + const end2 = points2[points2.length - 1]; + return (fill ? `M${start2.x} ${height - start2.x + 2} L${start2.x} ${start2.y}` : `M${start2.x} ${start2.y}`) + points2.map((point, index2) => { + const next = points2[index2 + 1]; + const prev = points2[index2 - 1] || start2; + const isCollinear = next && checkCollinear(next, point, prev); + if (!next || isCollinear) { + return `L${point.x} ${point.y}`; + } + const threshold = Math.min(getDistance(prev, point), getDistance(next, point)); + const isTooCloseForRadius = threshold / 2 < radius; + const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius; + const before = moveTo(prev, point, radiusForPoint); + const after = moveTo(next, point, radiusForPoint); + return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`; + }).join("") + (fill ? `L${end2.x} ${height - start2.x + 2} Z` : ""); + } + function int(value) { + return parseInt(value, 10); + } + function checkCollinear(p02, p1, p22) { + return int(p02.x + p22.x) === int(2 * p1.x) && int(p02.y + p22.y) === int(2 * p1.y); + } + function getDistance(p1, p22) { + return Math.sqrt(Math.pow(p22.x - p1.x, 2) + Math.pow(p22.y - p1.y, 2)); + } + function moveTo(to2, from, radius) { + const vector = { + x: to2.x - from.x, + y: to2.y - from.y + }; + const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y); + const unitVector = { + x: vector.x / length, + y: vector.y / length + }; + return { + x: from.x + unitVector.x * radius, + y: from.y + unitVector.y * radius + }; + } + const makeVTrendlineProps = propsFactory({ + fill: Boolean, + ...makeLineProps() + }, "VTrendline"); + const VTrendline = genericComponent()({ + name: "VTrendline", + props: makeVTrendlineProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const uid = require$$0.useId(); + const id2 = require$$0.computed(() => props.id || `trendline-${uid}`); + const autoDrawDuration = require$$0.computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2e3)); + const lastLength = require$$0.ref(0); + const path = require$$0.ref(null); + function genPoints(values, boundary2) { + const { + minX, + maxX, + minY, + maxY + } = boundary2; + if (values.length === 1) { + values = [values[0], values[0]]; + } + const totalValues = values.length; + const maxValue = props.max != null ? Number(props.max) : Math.max(...values); + const minValue = props.min != null ? Number(props.min) : Math.min(...values); + const gridX = (maxX - minX) / (totalValues - 1); + const gridY = (maxY - minY) / (maxValue - minValue || 1); + return values.map((value, index2) => { + return { + x: minX + index2 * gridX, + y: maxY - (value - minValue) * gridY, + value + }; + }); + } + const hasLabels = require$$0.computed(() => { + return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label); + }); + const lineWidth = require$$0.computed(() => { + return parseFloat(props.lineWidth) || 4; + }); + const totalWidth = require$$0.computed(() => Number(props.width)); + const boundary = require$$0.computed(() => { + const padding = Number(props.padding); + return { + minX: padding, + maxX: totalWidth.value - padding, + minY: padding, + maxY: parseInt(props.height, 10) - padding + }; + }); + const items = require$$0.computed(() => props.modelValue.map((item) => getPropertyFromItem(item, props.itemValue, item))); + const parsedLabels = require$$0.computed(() => { + const labels = []; + const points2 = genPoints(items.value, boundary.value); + const len2 = points2.length; + for (let i7 = 0; labels.length < len2; i7++) { + const item = points2[i7]; + let value = props.labels[i7]; + if (!value) { + value = typeof item === "object" ? item.value : item; + } + labels.push({ + x: item.x, + value: String(value) + }); + } + return labels; + }); + require$$0.watch(() => props.modelValue, async () => { + await require$$0.nextTick(); + if (!props.autoDraw || !path.value || PREFERS_REDUCED_MOTION()) return; + const pathRef = path.value; + const length = pathRef.getTotalLength(); + if (!props.fill) { + pathRef.style.strokeDasharray = `${length}`; + pathRef.style.strokeDashoffset = `${length}`; + pathRef.getBoundingClientRect(); + pathRef.style.transition = `stroke-dashoffset ${autoDrawDuration.value}ms ${props.autoDrawEasing}`; + pathRef.style.strokeDashoffset = "0"; + } else { + pathRef.style.transformOrigin = "bottom center"; + pathRef.style.transition = "none"; + pathRef.style.transform = `scaleY(0)`; + pathRef.getBoundingClientRect(); + pathRef.style.transition = `transform ${autoDrawDuration.value}ms ${props.autoDrawEasing}`; + pathRef.style.transform = `scaleY(1)`; + } + lastLength.value = length; + }, { + immediate: true + }); + function genPath$1(fill) { + const smoothValue = typeof props.smooth === "boolean" ? props.smooth ? 8 : 0 : Number(props.smooth); + return genPath(genPoints(items.value, boundary.value), smoothValue, fill, parseInt(props.height, 10)); + } + useRender(() => { + const gradientData = !props.gradient.slice().length ? [""] : props.gradient.slice().reverse(); + return require$$0.createElementVNode("svg", { + "display": "block", + "stroke-width": parseFloat(props.lineWidth) ?? 4 + }, [require$$0.createElementVNode("defs", null, [require$$0.createElementVNode("linearGradient", { + "id": id2.value, + "gradientUnits": "userSpaceOnUse", + "x1": props.gradientDirection === "left" ? "100%" : "0", + "y1": props.gradientDirection === "top" ? "100%" : "0", + "x2": props.gradientDirection === "right" ? "100%" : "0", + "y2": props.gradientDirection === "bottom" ? "100%" : "0" + }, [gradientData.map((color, index2) => require$$0.createElementVNode("stop", { + "offset": index2 / Math.max(gradientData.length - 1, 1), + "stop-color": color || "currentColor" + }, null))])]), hasLabels.value && require$$0.createElementVNode("g", { + "key": "labels", + "style": { + textAnchor: "middle", + dominantBaseline: "mathematical", + fill: "currentColor" + } + }, [parsedLabels.value.map((item, i7) => require$$0.createElementVNode("text", { + "x": item.x + lineWidth.value / 2 + lineWidth.value / 2, + "y": parseInt(props.height, 10) - 4 + (parseInt(props.labelSize, 10) || 7 * 0.75), + "font-size": Number(props.labelSize) || 7 + }, [slots.label?.({ + index: i7, + value: item.value + }) ?? item.value]))]), require$$0.createElementVNode("path", { + "ref": path, + "d": genPath$1(props.fill), + "fill": props.fill ? `url(#${id2.value})` : "none", + "stroke": props.fill ? "none" : `url(#${id2.value})` + }, null), props.fill && require$$0.createElementVNode("path", { + "d": genPath$1(false), + "fill": "none", + "stroke": props.color ?? props.gradient?.[0] + }, null)]); + }); + } + }); + const makeVSparklineProps = propsFactory({ + type: { + type: String, + default: "trend" + }, + ...makeVBarlineProps(), + ...makeVTrendlineProps() + }, "VSparkline"); + const VSparkline = genericComponent()({ + name: "VSparkline", + props: makeVSparklineProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + const hasLabels = require$$0.computed(() => { + return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label); + }); + const totalHeight = require$$0.computed(() => { + let height = parseInt(props.height, 10); + if (hasLabels.value) height += parseInt(props.labelSize, 10) * 1.5; + return height; + }); + useRender(() => { + const Tag = props.type === "trend" ? VTrendline : VBarline; + const lineProps = props.type === "trend" ? VTrendline.filterProps(props) : VBarline.filterProps(props); + return require$$0.createVNode(Tag, require$$0.mergeProps({ + "key": props.type, + "class": textColorClasses.value, + "style": textColorStyles.value, + "viewBox": `0 0 ${props.width} ${parseInt(totalHeight.value, 10)}` + }, lineProps), slots); + }); + } + }); + const makeVSpeedDialProps = propsFactory({ + ...makeComponentProps(), + ...makeVMenuProps({ + offset: 8, + minWidth: 0, + openDelay: 0, + closeDelay: 100, + location: "top center", + transition: "scale-transition" + }) + }, "VSpeedDial"); + const VSpeedDial = genericComponent()({ + name: "VSpeedDial", + props: makeVSpeedDialProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const menuRef = require$$0.ref(); + const location = require$$0.computed(() => { + const [y, x = "center"] = props.location?.split(" ") ?? []; + return `${y} ${x}`; + }); + const locationClasses = require$$0.computed(() => ({ + [`v-speed-dial__content--${location.value.replace(" ", "-")}`]: true + })); + useRender(() => { + const menuProps = VMenu.filterProps(props); + return require$$0.createVNode(VMenu, require$$0.mergeProps(menuProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": props.class, + "style": props.style, + "contentClass": ["v-speed-dial__content", locationClasses.value, props.contentClass], + "location": location.value, + "ref": menuRef, + "transition": "fade-transition" + }), { + ...slots, + default: (slotProps) => require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + size: "small" + } + } + }, { + default: () => [require$$0.createVNode(MaybeTransition, { + "appear": true, + "group": true, + "transition": props.transition + }, { + default: () => [slots.default?.(slotProps)] + })] + }) + }); + }); + return {}; + } + }); + const VStepperSymbol = Symbol.for("vuetify:v-stepper"); + const makeVStepperActionsProps = propsFactory({ + color: String, + disabled: { + type: [Boolean, String], + default: false + }, + prevText: { + type: String, + default: "$vuetify.stepper.prev" + }, + nextText: { + type: String, + default: "$vuetify.stepper.next" + } + }, "VStepperActions"); + const VStepperActions = genericComponent()({ + name: "VStepperActions", + props: makeVStepperActionsProps(), + emits: { + "click:prev": () => true, + "click:next": () => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + t + } = useLocale(); + function onClickPrev() { + emit("click:prev"); + } + function onClickNext() { + emit("click:next"); + } + useRender(() => { + const prevSlotProps = { + onClick: onClickPrev + }; + const nextSlotProps = { + onClick: onClickNext + }; + return require$$0.createElementVNode("div", { + "class": "v-stepper-actions" + }, [require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + disabled: ["prev", true].includes(props.disabled), + text: t(props.prevText), + variant: "text" + } + } + }, { + default: () => [slots.prev?.({ + props: prevSlotProps + }) ?? require$$0.createVNode(VBtn, prevSlotProps, null)] + }), require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VBtn: { + color: props.color, + disabled: ["next", true].includes(props.disabled), + text: t(props.nextText), + variant: "tonal" + } + } + }, { + default: () => [slots.next?.({ + props: nextSlotProps + }) ?? require$$0.createVNode(VBtn, nextSlotProps, null)] + })]); + }); + return {}; + } + }); + const VStepperHeader = createSimpleFunctional("v-stepper-header"); + const makeStepperItemProps = propsFactory({ + color: String, + title: String, + subtitle: String, + complete: Boolean, + completeIcon: { + type: IconValue, + default: "$complete" + }, + editable: Boolean, + editIcon: { + type: IconValue, + default: "$edit" + }, + error: Boolean, + errorIcon: { + type: IconValue, + default: "$error" + }, + icon: IconValue, + ripple: { + type: [Boolean, Object], + default: true + }, + rules: { + type: Array, + default: () => [] + } + }, "StepperItem"); + const makeVStepperItemProps = propsFactory({ + ...makeStepperItemProps(), + ...makeGroupItemProps() + }, "VStepperItem"); + const VStepperItem = genericComponent()({ + name: "VStepperItem", + directives: { + vRipple: Ripple + }, + props: makeVStepperItemProps(), + emits: { + "group:selected": (val) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const group = useGroupItem(props, VStepperSymbol, true); + const step = require$$0.computed(() => group?.value.value ?? props.value); + const isValid2 = require$$0.computed(() => props.rules.every((handler) => handler() === true)); + const isClickable = require$$0.computed(() => !props.disabled && props.editable); + const canEdit = require$$0.computed(() => !props.disabled && props.editable); + const hasError = require$$0.computed(() => props.error || !isValid2.value); + const hasCompleted = require$$0.computed(() => props.complete || props.rules.length > 0 && isValid2.value); + const icon = require$$0.computed(() => { + if (hasError.value) return props.errorIcon; + if (hasCompleted.value) return props.completeIcon; + if (group.isSelected.value && props.editable) return props.editIcon; + return props.icon; + }); + const slotProps = require$$0.computed(() => ({ + canEdit: canEdit.value, + hasError: hasError.value, + hasCompleted: hasCompleted.value, + title: props.title, + subtitle: props.subtitle, + step: step.value, + value: props.value + })); + useRender(() => { + const hasColor = (!group || group.isSelected.value || hasCompleted.value || canEdit.value) && !hasError.value && !props.disabled; + const hasTitle = !!(props.title != null || slots.title); + const hasSubtitle = !!(props.subtitle != null || slots.subtitle); + function onClick() { + group?.toggle(); + } + return require$$0.withDirectives(require$$0.createElementVNode("button", { + "class": require$$0.normalizeClass(["v-stepper-item", { + "v-stepper-item--complete": hasCompleted.value, + "v-stepper-item--disabled": props.disabled, + "v-stepper-item--error": hasError.value + }, group?.selectedClass.value]), + "disabled": !props.editable, + "type": "button", + "onClick": onClick + }, [isClickable.value && genOverlays(true, "v-stepper-item"), require$$0.createVNode(VAvatar, { + "key": "stepper-avatar", + "class": "v-stepper-item__avatar", + "color": hasColor ? props.color : void 0, + "size": 24 + }, { + default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? require$$0.createVNode(VIcon, { + "icon": icon.value + }, null) : step.value)] + }), require$$0.createElementVNode("div", { + "class": "v-stepper-item__content" + }, [hasTitle && require$$0.createElementVNode("div", { + "key": "title", + "class": "v-stepper-item__title" + }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && require$$0.createElementVNode("div", { + "key": "subtitle", + "class": "v-stepper-item__subtitle" + }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[Ripple, props.editable && props.ripple, null]]); + }); + return {}; + } + }); + const makeVStepperWindowProps = propsFactory({ + ...omit(makeVWindowProps(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"]) + }, "VStepperWindow"); + const VStepperWindow = genericComponent()({ + name: "VStepperWindow", + props: makeVStepperWindowProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const group = require$$0.inject(VStepperSymbol, null); + const _model = useProxiedModel(props, "modelValue"); + const model = require$$0.computed({ + get() { + if (_model.value != null || !group) return _model.value; + return group.items.value.find((item) => group.selected.value.includes(item.id))?.value; + }, + set(val) { + _model.value = val; + } + }); + useRender(() => { + const windowProps = VWindow.filterProps(props); + return require$$0.createVNode(VWindow, require$$0.mergeProps({ + "_as": "VStepperWindow" + }, windowProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-stepper-window", props.class], + "style": props.style, + "mandatory": false, + "touch": false + }), slots); + }); + return {}; + } + }); + const makeVStepperWindowItemProps = propsFactory({ + ...makeVWindowItemProps() + }, "VStepperWindowItem"); + const VStepperWindowItem = genericComponent()({ + name: "VStepperWindowItem", + props: makeVStepperWindowItemProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + const windowItemProps = VWindowItem.filterProps(props); + return require$$0.createVNode(VWindowItem, require$$0.mergeProps({ + "_as": "VStepperWindowItem" + }, windowItemProps, { + "class": ["v-stepper-window-item", props.class], + "style": props.style + }), slots); + }); + return {}; + } + }); + const makeStepperProps = propsFactory({ + altLabels: Boolean, + bgColor: String, + completeIcon: IconValue, + editIcon: IconValue, + editable: Boolean, + errorIcon: IconValue, + hideActions: Boolean, + items: { + type: Array, + default: () => [] + }, + itemTitle: { + type: String, + default: "title" + }, + itemValue: { + type: String, + default: "value" + }, + nonLinear: Boolean, + flat: Boolean, + ...makeDisplayProps() + }, "Stepper"); + const makeVStepperProps = propsFactory({ + ...makeStepperProps(), + ...makeGroupProps({ + mandatory: "force", + selectedClass: "v-stepper-item--selected" + }), + ...makeVSheetProps(), + ...pick(makeVStepperActionsProps(), ["prevText", "nextText"]) + }, "VStepper"); + const VStepper = genericComponent()({ + name: "VStepper", + props: makeVStepperProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const { + items: _items, + next, + prev, + selected + } = useGroup(props, VStepperSymbol); + const { + displayClasses, + mobile + } = useDisplay(props); + const { + completeIcon, + editIcon, + errorIcon, + color, + editable, + prevText, + nextText + } = require$$0.toRefs(props); + const items = require$$0.computed(() => props.items.map((item, index2) => { + const title = getPropertyFromItem(item, props.itemTitle, item); + const value = getPropertyFromItem(item, props.itemValue, index2 + 1); + return { + title, + value, + raw: item + }; + })); + const activeIndex = require$$0.computed(() => { + return _items.value.findIndex((item) => selected.value.includes(item.id)); + }); + const disabled = require$$0.computed(() => { + if (props.disabled) return props.disabled; + if (activeIndex.value === 0) return "prev"; + if (activeIndex.value === _items.value.length - 1) return "next"; + return false; + }); + provideDefaults({ + VStepperItem: { + editable, + errorIcon, + completeIcon, + editIcon, + prevText, + nextText + }, + VStepperActions: { + color, + disabled, + prevText, + nextText + } + }); + useRender(() => { + const sheetProps = VSheet.filterProps(props); + const hasHeader = !!(slots.header || props.items.length); + const hasWindow = props.items.length > 0; + const hasActions = !props.hideActions && !!(hasWindow || slots.actions); + return require$$0.createVNode(VSheet, require$$0.mergeProps(sheetProps, { + "color": props.bgColor, + "class": ["v-stepper", { + "v-stepper--alt-labels": props.altLabels, + "v-stepper--flat": props.flat, + "v-stepper--non-linear": props.nonLinear, + "v-stepper--mobile": mobile.value + }, displayClasses.value, props.class], + "style": props.style + }), { + default: () => [hasHeader && require$$0.createVNode(VStepperHeader, { + "key": "stepper-header" + }, { + default: () => [items.value.map((_ref2, index2) => { + let { + raw, + ...item + } = _ref2; + return require$$0.createElementVNode(require$$0.Fragment, null, [!!index2 && require$$0.createVNode(VDivider, null, null), require$$0.createVNode(VStepperItem, item, { + default: slots[`header-item.${item.value}`] ?? slots.header, + icon: slots.icon, + title: slots.title, + subtitle: slots.subtitle + })]); + })] + }), hasWindow && require$$0.createVNode(VStepperWindow, { + "key": "stepper-window" + }, { + default: () => [items.value.map((item) => require$$0.createVNode(VStepperWindowItem, { + "value": item.value + }, { + default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item) + }))] + }), slots.default?.({ + prev, + next + }), hasActions && (slots.actions?.({ + next, + prev + }) ?? require$$0.createVNode(VStepperActions, { + "key": "stepper-actions", + "onClick:prev": prev, + "onClick:next": next + }, slots))] + }); + }); + return { + prev, + next + }; + } + }); + const makeVSwitchProps = propsFactory({ + indeterminate: Boolean, + inset: Boolean, + flat: Boolean, + loading: { + type: [Boolean, String], + default: false + }, + ...makeVInputProps(), + ...makeVSelectionControlProps() + }, "VSwitch"); + const VSwitch = genericComponent()({ + name: "VSwitch", + inheritAttrs: false, + props: makeVSwitchProps(), + emits: { + "update:focused": (focused) => true, + "update:modelValue": (value) => true, + "update:indeterminate": (value) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const indeterminate = useProxiedModel(props, "indeterminate"); + const model = useProxiedModel(props, "modelValue"); + const { + loaderClasses + } = useLoader(props); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const control = require$$0.ref(); + const inputRef = require$$0.ref(); + const isForcedColorsModeActive = IN_BROWSER && window.matchMedia("(forced-colors: active)").matches; + const loaderColor = require$$0.toRef(() => { + return typeof props.loading === "string" && props.loading !== "" ? props.loading : props.color; + }); + const uid = require$$0.useId(); + const id2 = require$$0.toRef(() => props.id || `switch-${uid}`); + function onChange() { + if (indeterminate.value) { + indeterminate.value = false; + } + } + function onTrackClick(e7) { + e7.stopPropagation(); + e7.preventDefault(); + control.value?.input?.click(); + } + useRender(() => { + const [rootAttrs, controlAttrs] = filterInputAttrs(attrs); + const inputProps = VInput.filterProps(props); + const controlProps = VSelectionControl.filterProps(props); + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": inputRef, + "class": ["v-switch", { + "v-switch--flat": props.flat + }, { + "v-switch--inset": props.inset + }, { + "v-switch--indeterminate": indeterminate.value + }, loaderClasses.value, props.class] + }, rootAttrs, inputProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "id": id2.value, + "focused": isFocused.value, + "style": props.style + }), { + ...slots, + default: (_ref2) => { + let { + id: id3, + messagesId, + isDisabled, + isReadonly, + isValid: isValid2 + } = _ref2; + const slotProps = { + model, + isValid: isValid2 + }; + return require$$0.createVNode(VSelectionControl, require$$0.mergeProps({ + "ref": control + }, controlProps, { + "modelValue": model.value, + "onUpdate:modelValue": [($event) => model.value = $event, onChange], + "id": id3.value, + "aria-describedby": messagesId.value, + "type": "checkbox", + "aria-checked": indeterminate.value ? "mixed" : void 0, + "disabled": isDisabled.value, + "readonly": isReadonly.value, + "onFocus": focus2, + "onBlur": blur2 + }, controlAttrs), { + ...slots, + default: (_ref3) => { + let { + backgroundColorClasses, + backgroundColorStyles + } = _ref3; + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-switch__track", !isForcedColorsModeActive ? backgroundColorClasses.value : void 0]), + "style": require$$0.normalizeStyle(backgroundColorStyles.value), + "onClick": onTrackClick + }, [slots["track-true"] && require$$0.createElementVNode("div", { + "key": "prepend", + "class": "v-switch__track-true" + }, [slots["track-true"](slotProps)]), slots["track-false"] && require$$0.createElementVNode("div", { + "key": "append", + "class": "v-switch__track-false" + }, [slots["track-false"](slotProps)])]); + }, + input: (_ref4) => { + let { + inputNode, + icon, + backgroundColorClasses, + backgroundColorStyles + } = _ref4; + return require$$0.createElementVNode(require$$0.Fragment, null, [inputNode, require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-switch__thumb", { + "v-switch__thumb--filled": icon || props.loading + }, props.inset || isForcedColorsModeActive ? void 0 : backgroundColorClasses.value]), + "style": require$$0.normalizeStyle(props.inset ? void 0 : backgroundColorStyles.value) + }, [slots.thumb ? require$$0.createVNode(VDefaultsProvider, { + "defaults": { + VIcon: { + icon, + size: "x-small" + } + } + }, { + default: () => [slots.thumb({ + ...slotProps, + icon + })] + }) : require$$0.createVNode(VScaleTransition, null, { + default: () => [!props.loading ? icon && require$$0.createVNode(VIcon, { + "key": String(icon), + "icon": icon, + "size": "x-small" + }, null) : require$$0.createVNode(LoaderSlot, { + "name": "v-switch", + "active": true, + "color": isValid2.value === false ? void 0 : loaderColor.value + }, { + default: (slotProps2) => slots.loader ? slots.loader(slotProps2) : require$$0.createVNode(VProgressCircular, { + "active": slotProps2.isActive, + "color": slotProps2.color, + "indeterminate": true, + "size": "16", + "width": "2" + }, null) + })] + })])]); + } + }); + } + }); + }); + return forwardRefs$1({}, inputRef); + } + }); + const makeVSystemBarProps = propsFactory({ + color: String, + height: [Number, String], + window: Boolean, + ...makeComponentProps(), + ...makeElevationProps(), + ...makeLayoutItemProps(), + ...makeRoundedProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VSystemBar"); + const VSystemBar = genericComponent()({ + name: "VSystemBar", + props: makeVSystemBarProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const { + elevationClasses + } = useElevation(props); + const { + roundedClasses + } = useRounded(props); + const { + ssrBootStyles + } = useSsrBoot(); + const height = require$$0.computed(() => props.height ?? (props.window ? 32 : 24)); + const { + layoutItemStyles + } = useLayoutItem({ + id: props.name, + order: require$$0.computed(() => parseInt(props.order, 10)), + position: require$$0.shallowRef("top"), + layoutSize: height, + elementSize: height, + active: require$$0.computed(() => true), + absolute: require$$0.toRef(() => props.absolute) + }); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-system-bar", { + "v-system-bar--window": props.window + }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class]), + "style": require$$0.normalizeStyle([backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]) + }, slots)); + return {}; + } + }); + const VTabsSymbol = Symbol.for("vuetify:v-tabs"); + const makeVTabProps = propsFactory({ + fixed: Boolean, + sliderColor: String, + hideSlider: Boolean, + direction: { + type: String, + default: "horizontal" + }, + ...omit(makeVBtnProps({ + selectedClass: "v-tab--selected", + variant: "text" + }), ["active", "block", "flat", "location", "position", "symbol"]) + }, "VTab"); + const VTab = genericComponent()({ + name: "VTab", + props: makeVTabProps(), + setup(props, _ref) { + let { + slots, + attrs + } = _ref; + const { + textColorClasses: sliderColorClasses, + textColorStyles: sliderColorStyles + } = useTextColor(() => props.sliderColor); + const rootEl2 = require$$0.ref(); + const sliderEl = require$$0.ref(); + const isHorizontal = require$$0.computed(() => props.direction === "horizontal"); + const isSelected = require$$0.computed(() => rootEl2.value?.group?.isSelected.value ?? false); + function updateSlider(_ref2) { + let { + value + } = _ref2; + if (value) { + const prevEl = rootEl2.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"); + const nextEl2 = sliderEl.value; + if (!prevEl || !nextEl2) return; + const color = getComputedStyle(prevEl).color; + const prevBox = prevEl.getBoundingClientRect(); + const nextBox = nextEl2.getBoundingClientRect(); + const xy2 = isHorizontal.value ? "x" : "y"; + const XY2 = isHorizontal.value ? "X" : "Y"; + const rightBottom = isHorizontal.value ? "right" : "bottom"; + const widthHeight = isHorizontal.value ? "width" : "height"; + const prevPos = prevBox[xy2]; + const nextPos = nextBox[xy2]; + const delta2 = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy2] - nextBox[xy2]; + const origin = Math.sign(delta2) > 0 ? isHorizontal.value ? "right" : "bottom" : Math.sign(delta2) < 0 ? isHorizontal.value ? "left" : "top" : "center"; + const size = Math.abs(delta2) + (Math.sign(delta2) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]); + const scale2 = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0; + const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0; + const sigma = 1.5; + animate(nextEl2, { + backgroundColor: [color, "currentcolor"], + transform: [`translate${XY2}(${delta2}px) scale${XY2}(${initialScale})`, `translate${XY2}(${delta2 / sigma}px) scale${XY2}(${(scale2 - 1) / sigma + 1})`, "none"], + transformOrigin: Array(3).fill(origin) + }, { + duration: 225, + easing: standardEasing + }); + } + } + useRender(() => { + const btnProps = VBtn.filterProps(props); + return require$$0.createVNode(VBtn, require$$0.mergeProps({ + "symbol": VTabsSymbol, + "ref": rootEl2, + "class": ["v-tab", props.class], + "style": props.style, + "tabindex": isSelected.value ? 0 : -1, + "role": "tab", + "aria-selected": String(isSelected.value), + "active": false + }, btnProps, attrs, { + "block": props.fixed, + "maxWidth": props.fixed ? 300 : void 0, + "onGroup:selected": updateSlider + }), { + ...slots, + default: () => require$$0.createElementVNode(require$$0.Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && require$$0.createElementVNode("div", { + "ref": sliderEl, + "class": require$$0.normalizeClass(["v-tab__slider", sliderColorClasses.value]), + "style": require$$0.normalizeStyle(sliderColorStyles.value) + }, null)]) + }); + }); + return forwardRefs$1({}, rootEl2); + } + }); + const makeVTabsWindowProps = propsFactory({ + ...omit(makeVWindowProps(), ["continuous", "nextIcon", "prevIcon", "showArrows", "touch", "mandatory"]) + }, "VTabsWindow"); + const VTabsWindow = genericComponent()({ + name: "VTabsWindow", + props: makeVTabsWindowProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const group = require$$0.inject(VTabsSymbol, null); + const _model = useProxiedModel(props, "modelValue"); + const model = require$$0.computed({ + get() { + if (_model.value != null || !group) return _model.value; + return group.items.value.find((item) => group.selected.value.includes(item.id))?.value; + }, + set(val) { + _model.value = val; + } + }); + useRender(() => { + const windowProps = VWindow.filterProps(props); + return require$$0.createVNode(VWindow, require$$0.mergeProps({ + "_as": "VTabsWindow" + }, windowProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-tabs-window", props.class], + "style": props.style, + "mandatory": false, + "touch": false + }), slots); + }); + return {}; + } + }); + const makeVTabsWindowItemProps = propsFactory({ + ...makeVWindowItemProps() + }, "VTabsWindowItem"); + const VTabsWindowItem = genericComponent()({ + name: "VTabsWindowItem", + props: makeVTabsWindowItemProps(), + setup(props, _ref) { + let { + slots + } = _ref; + useRender(() => { + const windowItemProps = VWindowItem.filterProps(props); + return require$$0.createVNode(VWindowItem, require$$0.mergeProps({ + "_as": "VTabsWindowItem" + }, windowItemProps, { + "class": ["v-tabs-window-item", props.class], + "style": props.style + }), slots); + }); + return {}; + } + }); + function parseItems(items) { + if (!items) return []; + return items.map((item) => { + if (!isObject$7(item)) return { + text: item, + value: item + }; + return item; + }); + } + const makeVTabsProps = propsFactory({ + alignTabs: { + type: String, + default: "start" + }, + color: String, + fixedTabs: Boolean, + items: { + type: Array, + default: () => [] + }, + stacked: Boolean, + bgColor: String, + grow: Boolean, + height: { + type: [Number, String], + default: void 0 + }, + hideSlider: Boolean, + sliderColor: String, + ...pick(makeVTabProps(), ["spaced"]), + ...makeVSlideGroupProps({ + mandatory: "force", + selectedClass: "v-tab-item--selected" + }), + ...makeDensityProps(), + ...makeTagProps() + }, "VTabs"); + const VTabs = genericComponent()({ + name: "VTabs", + props: makeVTabsProps(), + emits: { + "update:modelValue": (v) => true + }, + setup(props, _ref) { + let { + attrs, + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const items = require$$0.computed(() => parseItems(props.items)); + const { + densityClasses + } = useDensity(props); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.bgColor); + const { + scopeId + } = useScopeId(); + provideDefaults({ + VTab: { + color: require$$0.toRef(() => props.color), + direction: require$$0.toRef(() => props.direction), + stacked: require$$0.toRef(() => props.stacked), + fixed: require$$0.toRef(() => props.fixedTabs), + sliderColor: require$$0.toRef(() => props.sliderColor), + hideSlider: require$$0.toRef(() => props.hideSlider) + } + }); + useRender(() => { + const slideGroupProps = VSlideGroup.filterProps(props); + const hasWindow = !!(slots.window || props.items.length > 0); + return require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VSlideGroup, require$$0.mergeProps(slideGroupProps, { + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-tabs", `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, { + "v-tabs--fixed-tabs": props.fixedTabs, + "v-tabs--grow": props.grow, + "v-tabs--stacked": props.stacked + }, densityClasses.value, backgroundColorClasses.value, props.class], + "style": [{ + "--v-tabs-height": convertToUnit(props.height) + }, backgroundColorStyles.value, props.style], + "role": "tablist", + "symbol": VTabsSymbol + }, scopeId, attrs), { + default: () => [slots.default?.() ?? items.value.map((item) => slots.tab?.({ + item + }) ?? require$$0.createVNode(VTab, require$$0.mergeProps(item, { + "key": item.text, + "value": item.value, + "spaced": props.spaced + }), { + default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({ + item + }) : void 0 + }))] + }), hasWindow && require$$0.createVNode(VTabsWindow, require$$0.mergeProps({ + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "key": "tabs-window" + }, scopeId), { + default: () => [items.value.map((item) => slots.item?.({ + item + }) ?? require$$0.createVNode(VTabsWindowItem, { + "value": item.value + }, { + default: () => slots[`item.${item.value}`]?.({ + item + }) + })), slots.window?.()] + })]); + }); + return {}; + } + }); + const makeVTextareaProps = propsFactory({ + autoGrow: Boolean, + autofocus: Boolean, + counter: [Boolean, Number, String], + counterValue: Function, + prefix: String, + placeholder: String, + persistentPlaceholder: Boolean, + persistentCounter: Boolean, + noResize: Boolean, + rows: { + type: [Number, String], + default: 5, + validator: (v) => !isNaN(parseFloat(v)) + }, + maxRows: { + type: [Number, String], + validator: (v) => !isNaN(parseFloat(v)) + }, + suffix: String, + modelModifiers: Object, + ...makeAutocompleteProps(), + ...makeVInputProps(), + ...makeVFieldProps() + }, "VTextarea"); + const VTextarea = genericComponent()({ + name: "VTextarea", + directives: { + vIntersect: Intersect + }, + inheritAttrs: false, + props: makeVTextareaProps(), + emits: { + "click:control": (e7) => true, + "mousedown:control": (e7) => true, + "update:focused": (focused) => true, + "update:modelValue": (val) => true, + "update:rows": (rows) => true + }, + setup(props, _ref) { + let { + attrs, + emit, + slots + } = _ref; + const model = useProxiedModel(props, "modelValue"); + const { + isFocused, + focus: focus2, + blur: blur2 + } = useFocus(props); + const { + onIntersect + } = useAutofocus(props); + const counterValue = require$$0.computed(() => { + return typeof props.counterValue === "function" ? props.counterValue(model.value) : (model.value || "").toString().length; + }); + const max3 = require$$0.computed(() => { + if (attrs.maxlength) return attrs.maxlength; + if (!props.counter || typeof props.counter !== "number" && typeof props.counter !== "string") return void 0; + return props.counter; + }); + const vInputRef = require$$0.ref(); + const vFieldRef = require$$0.ref(); + const controlHeight = require$$0.shallowRef(""); + const textareaRef = require$$0.ref(); + const autocomplete = useAutocomplete(props); + const isActive = require$$0.computed(() => props.persistentPlaceholder || isFocused.value || props.active); + function onFocus() { + if (autocomplete.isSuppressing.value) { + autocomplete.update(); + } + if (textareaRef.value !== document.activeElement) { + textareaRef.value?.focus(); + } + if (!isFocused.value) focus2(); + } + function onControlClick(e7) { + onFocus(); + emit("click:control", e7); + } + function onControlMousedown(e7) { + emit("mousedown:control", e7); + } + function onClear(e7) { + e7.stopPropagation(); + onFocus(); + require$$0.nextTick(() => { + model.value = ""; + callEvent(props["onClick:clear"], e7); + }); + } + function onInput(e7) { + const el2 = e7.target; + model.value = el2.value; + if (props.modelModifiers?.trim) { + const caretPosition = [el2.selectionStart, el2.selectionEnd]; + require$$0.nextTick(() => { + el2.selectionStart = caretPosition[0]; + el2.selectionEnd = caretPosition[1]; + }); + } + } + const sizerRef = require$$0.ref(); + const rows = require$$0.ref(Number(props.rows)); + const isPlainOrUnderlined = require$$0.computed(() => ["plain", "underlined"].includes(props.variant)); + require$$0.watchEffect(() => { + if (!props.autoGrow) rows.value = Number(props.rows); + }); + function calculateInputHeight() { + if (!props.autoGrow) return; + require$$0.nextTick(() => { + if (!sizerRef.value || !vFieldRef.value) return; + const style = getComputedStyle(sizerRef.value); + const fieldStyle = getComputedStyle(vFieldRef.value.$el); + const padding = parseFloat(style.getPropertyValue("--v-field-padding-top")) + parseFloat(style.getPropertyValue("--v-input-padding-top")) + parseFloat(style.getPropertyValue("--v-field-padding-bottom")); + const height = sizerRef.value.scrollHeight; + const lineHeight = parseFloat(style.lineHeight); + const minHeight = Math.max(parseFloat(props.rows) * lineHeight + padding, parseFloat(fieldStyle.getPropertyValue("--v-input-control-height"))); + const maxHeight = parseFloat(props.maxRows) * lineHeight + padding || Infinity; + const newHeight = clamp$1(height ?? 0, minHeight, maxHeight); + rows.value = Math.floor((newHeight - padding) / lineHeight); + controlHeight.value = convertToUnit(newHeight); + }); + } + require$$0.onMounted(calculateInputHeight); + require$$0.watch(model, calculateInputHeight); + require$$0.watch(() => props.rows, calculateInputHeight); + require$$0.watch(() => props.maxRows, calculateInputHeight); + require$$0.watch(() => props.density, calculateInputHeight); + require$$0.watch(rows, (val) => { + emit("update:rows", val); + }); + let observer; + require$$0.watch(sizerRef, (val) => { + if (val) { + observer = new ResizeObserver(calculateInputHeight); + observer.observe(sizerRef.value); + } else { + observer?.disconnect(); + } + }); + require$$0.onBeforeUnmount(() => { + observer?.disconnect(); + }); + useRender(() => { + const hasCounter = !!(slots.counter || props.counter || props.counterValue); + const hasDetails = !!(hasCounter || slots.details); + const [rootAttrs, inputAttrs] = filterInputAttrs(attrs); + const { + modelValue: _7, + ...inputProps + } = VInput.filterProps(props); + const fieldProps = { + ...VField.filterProps(props), + "onClick:clear": onClear + }; + return require$$0.createVNode(VInput, require$$0.mergeProps({ + "ref": vInputRef, + "modelValue": model.value, + "onUpdate:modelValue": ($event) => model.value = $event, + "class": ["v-textarea v-text-field", { + "v-textarea--prefixed": props.prefix, + "v-textarea--suffixed": props.suffix, + "v-text-field--prefixed": props.prefix, + "v-text-field--suffixed": props.suffix, + "v-textarea--auto-grow": props.autoGrow, + "v-textarea--no-resize": props.noResize || props.autoGrow, + "v-input--plain-underlined": isPlainOrUnderlined.value + }, props.class], + "style": props.style + }, rootAttrs, inputProps, { + "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value, + "focused": isFocused.value + }), { + ...slots, + default: (_ref2) => { + let { + id: id2, + isDisabled, + isDirty, + isReadonly, + isValid: isValid2, + hasDetails: hasDetails2 + } = _ref2; + return require$$0.createVNode(VField, require$$0.mergeProps({ + "ref": vFieldRef, + "style": { + "--v-textarea-control-height": controlHeight.value + }, + "onClick": onControlClick, + "onMousedown": onControlMousedown, + "onClick:prependInner": props["onClick:prependInner"], + "onClick:appendInner": props["onClick:appendInner"] + }, fieldProps, { + "id": id2.value, + "active": isActive.value || isDirty.value, + "centerAffix": rows.value === 1 && !isPlainOrUnderlined.value, + "dirty": isDirty.value || props.dirty, + "disabled": isDisabled.value, + "focused": isFocused.value, + "details": hasDetails2.value, + "error": isValid2.value === false + }), { + ...slots, + default: (_ref3) => { + let { + props: { + class: fieldClass, + ...slotProps + } + } = _ref3; + return require$$0.createElementVNode(require$$0.Fragment, null, [props.prefix && require$$0.createElementVNode("span", { + "class": "v-text-field__prefix" + }, [props.prefix]), require$$0.withDirectives(require$$0.createElementVNode("textarea", require$$0.mergeProps({ + "ref": textareaRef, + "class": fieldClass, + "value": model.value, + "onInput": onInput, + "autofocus": props.autofocus, + "readonly": isReadonly.value, + "disabled": isDisabled.value, + "placeholder": props.placeholder, + "rows": props.rows, + "name": autocomplete.fieldName.value, + "autocomplete": autocomplete.fieldAutocomplete.value, + "onFocus": onFocus, + "onBlur": blur2 + }, slotProps, inputAttrs), null), [[Intersect, { + handler: onIntersect + }, null, { + once: true + }]]), props.autoGrow && require$$0.withDirectives(require$$0.createElementVNode("textarea", { + "class": require$$0.normalizeClass([fieldClass, "v-textarea__sizer"]), + "id": `${slotProps.id}-sizer`, + "onUpdate:modelValue": ($event) => model.value = $event, + "ref": sizerRef, + "readonly": true, + "aria-hidden": "true" + }, null), [[require$$0.vModelText, model.value]]), props.suffix && require$$0.createElementVNode("span", { + "class": "v-text-field__suffix" + }, [props.suffix])]); + } + }); + }, + details: hasDetails ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [slots.details?.(slotProps), hasCounter && require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createElementVNode("span", null, null), require$$0.createVNode(VCounter, { + "active": props.persistentCounter || isFocused.value, + "value": counterValue.value, + "max": max3.value, + "disabled": props.disabled + }, slots.counter)])]) : void 0 + }); + }); + return forwardRefs$1({}, vInputRef, vFieldRef, textareaRef); + } + }); + const makeVThemeProviderProps = propsFactory({ + withBackground: Boolean, + ...makeComponentProps(), + ...makeThemeProps(), + ...makeTagProps() + }, "VThemeProvider"); + const VThemeProvider = genericComponent()({ + name: "VThemeProvider", + props: makeVThemeProviderProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + return () => { + if (!props.withBackground) return slots.default?.(); + return require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-theme-provider", themeClasses.value, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, { + default: () => [slots.default?.()] + }); + }; + } + }); + const makeVTimelineDividerProps = propsFactory({ + dotColor: String, + fillDot: Boolean, + hideDot: Boolean, + icon: IconValue, + iconColor: String, + lineColor: String, + ...makeComponentProps(), + ...makeRoundedProps(), + ...makeSizeProps(), + ...makeElevationProps() + }, "VTimelineDivider"); + const VTimelineDivider = genericComponent()({ + name: "VTimelineDivider", + props: makeVTimelineDividerProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + sizeClasses, + sizeStyles + } = useSize(props, "v-timeline-divider__dot"); + const { + backgroundColorStyles, + backgroundColorClasses + } = useBackgroundColor(() => props.dotColor); + const { + roundedClasses + } = useRounded(props, "v-timeline-divider__dot"); + const { + elevationClasses + } = useElevation(props); + const { + backgroundColorClasses: lineColorClasses, + backgroundColorStyles: lineColorStyles + } = useBackgroundColor(() => props.lineColor); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-timeline-divider", { + "v-timeline-divider--fill-dot": props.fillDot + }, props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-timeline-divider__before", lineColorClasses.value]), + "style": require$$0.normalizeStyle(lineColorStyles.value) + }, null), !props.hideDot && require$$0.createElementVNode("div", { + "key": "dot", + "class": require$$0.normalizeClass(["v-timeline-divider__dot", elevationClasses.value, roundedClasses.value, sizeClasses.value]), + "style": require$$0.normalizeStyle(sizeStyles.value) + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-timeline-divider__inner-dot", backgroundColorClasses.value, roundedClasses.value]), + "style": require$$0.normalizeStyle(backgroundColorStyles.value) + }, [!slots.default ? require$$0.createVNode(VIcon, { + "key": "icon", + "color": props.iconColor, + "icon": props.icon, + "size": props.size + }, null) : require$$0.createVNode(VDefaultsProvider, { + "key": "icon-defaults", + "disabled": !props.icon, + "defaults": { + VIcon: { + color: props.iconColor, + icon: props.icon, + size: props.size + } + } + }, slots.default)])]), require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-timeline-divider__after", lineColorClasses.value]), + "style": require$$0.normalizeStyle(lineColorStyles.value) + }, null)])); + return {}; + } + }); + const makeVTimelineItemProps = propsFactory({ + density: String, + dotColor: String, + fillDot: Boolean, + hideDot: Boolean, + hideOpposite: { + type: Boolean, + default: void 0 + }, + icon: IconValue, + iconColor: String, + lineInset: [Number, String], + side: { + type: String, + validator: (v) => v == null || ["start", "end"].includes(v) + }, + ...makeComponentProps(), + ...makeDimensionProps(), + ...makeElevationProps(), + ...makeRoundedProps(), + ...makeSizeProps(), + ...makeTagProps() + }, "VTimelineItem"); + const VTimelineItem = genericComponent()({ + name: "VTimelineItem", + props: makeVTimelineItemProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + dimensionStyles + } = useDimension(props); + const dotSize = require$$0.shallowRef(0); + const dotRef = require$$0.ref(); + require$$0.watch(dotRef, (newValue) => { + if (!newValue) return; + dotSize.value = newValue.$el.querySelector(".v-timeline-divider__dot")?.getBoundingClientRect().width ?? 0; + }, { + flush: "post" + }); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-timeline-item", { + "v-timeline-item--fill-dot": props.fillDot, + "v-timeline-item--side-start": props.side === "start", + "v-timeline-item--side-end": props.side === "end" + }, props.class]), + "style": require$$0.normalizeStyle([{ + "--v-timeline-dot-size": convertToUnit(dotSize.value), + "--v-timeline-line-inset": props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0) + }, props.style]) + }, [require$$0.createElementVNode("div", { + "class": "v-timeline-item__body", + "style": require$$0.normalizeStyle(dimensionStyles.value) + }, [slots.default?.()]), require$$0.createVNode(VTimelineDivider, { + "ref": dotRef, + "hideDot": props.hideDot, + "icon": props.icon, + "iconColor": props.iconColor, + "size": props.size, + "elevation": props.elevation, + "dotColor": props.dotColor, + "fillDot": props.fillDot, + "rounded": props.rounded + }, { + default: slots.icon + }), props.density !== "compact" && require$$0.createElementVNode("div", { + "class": "v-timeline-item__opposite" + }, [!props.hideOpposite && slots.opposite?.()])])); + return {}; + } + }); + const makeVTimelineProps = propsFactory({ + align: { + type: String, + default: "center", + validator: (v) => ["center", "start"].includes(v) + }, + direction: { + type: String, + default: "vertical", + validator: (v) => ["vertical", "horizontal"].includes(v) + }, + justify: { + type: String, + default: "auto", + validator: (v) => ["auto", "center"].includes(v) + }, + side: { + type: String, + validator: (v) => v == null || ["start", "end"].includes(v) + }, + lineThickness: { + type: [String, Number], + default: 2 + }, + lineColor: String, + truncateLine: { + type: String, + validator: (v) => ["start", "end", "both"].includes(v) + }, + ...pick(makeVTimelineItemProps({ + lineInset: 0 + }), ["dotColor", "fillDot", "hideOpposite", "iconColor", "lineInset", "size"]), + ...makeComponentProps(), + ...makeDensityProps(), + ...makeTagProps(), + ...makeThemeProps() + }, "VTimeline"); + const VTimeline = genericComponent()({ + name: "VTimeline", + props: makeVTimelineProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const { + themeClasses + } = provideTheme(props); + const { + densityClasses + } = useDensity(props); + const { + rtlClasses + } = useRtl(); + provideDefaults({ + VTimelineDivider: { + lineColor: require$$0.toRef(() => props.lineColor) + }, + VTimelineItem: { + density: require$$0.toRef(() => props.density), + dotColor: require$$0.toRef(() => props.dotColor), + fillDot: require$$0.toRef(() => props.fillDot), + hideOpposite: require$$0.toRef(() => props.hideOpposite), + iconColor: require$$0.toRef(() => props.iconColor), + lineColor: require$$0.toRef(() => props.lineColor), + lineInset: require$$0.toRef(() => props.lineInset), + size: require$$0.toRef(() => props.size) + } + }); + const sideClasses = require$$0.computed(() => { + const side = props.side ? props.side : props.density !== "default" ? "end" : null; + return side && `v-timeline--side-${side}`; + }); + const truncateClasses = require$$0.computed(() => { + const classes = ["v-timeline--truncate-line-start", "v-timeline--truncate-line-end"]; + switch (props.truncateLine) { + case "both": + return classes; + case "start": + return classes[0]; + case "end": + return classes[1]; + default: + return null; + } + }); + useRender(() => require$$0.createVNode(props.tag, { + "class": require$$0.normalizeClass(["v-timeline", `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, { + "v-timeline--inset-line": !!props.lineInset + }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class]), + "style": require$$0.normalizeStyle([{ + "--v-timeline-line-thickness": convertToUnit(props.lineThickness) + }, props.style]) + }, slots)); + return {}; + } + }); + function pad$1(n) { + let length = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2; + return String(n).padStart(length, "0"); + } + const makeVTimePickerClockProps = propsFactory({ + allowedValues: Function, + ampm: Boolean, + color: String, + disabled: Boolean, + displayedValue: null, + double: Boolean, + format: { + type: Function, + default: (val) => val + }, + max: { + type: Number, + required: true + }, + min: { + type: Number, + required: true + }, + scrollable: Boolean, + readonly: Boolean, + rotate: { + type: Number, + default: 0 + }, + step: { + type: Number, + default: 1 + }, + modelValue: { + type: Number + } + }, "VTimePickerClock"); + const VTimePickerClock = genericComponent()({ + name: "VTimePickerClock", + props: makeVTimePickerClockProps(), + emits: { + change: (val) => true, + input: (val) => true + }, + setup(props, _ref) { + let { + emit + } = _ref; + const clockRef = require$$0.ref(null); + const innerClockRef = require$$0.ref(null); + const inputValue = require$$0.ref(void 0); + const isDragging = require$$0.ref(false); + const valueOnMouseDown = require$$0.ref(null); + const valueOnMouseUp = require$$0.ref(null); + const emitChangeDebounced = debounce((value) => emit("change", value), 750); + const { + textColorClasses, + textColorStyles + } = useTextColor(() => props.color); + const { + backgroundColorClasses, + backgroundColorStyles + } = useBackgroundColor(() => props.color); + const count2 = require$$0.computed(() => props.max - props.min + 1); + const roundCount = require$$0.computed(() => props.double ? count2.value / 2 : count2.value); + const degreesPerUnit = require$$0.computed(() => 360 / roundCount.value); + const degrees = require$$0.computed(() => degreesPerUnit.value * Math.PI / 180); + const displayedValue = require$$0.computed(() => props.modelValue == null ? props.min : props.modelValue); + const innerRadiusScale = require$$0.computed(() => 0.62); + const genChildren = require$$0.computed(() => { + const children = []; + for (let value = props.min; value <= props.max; value = value + props.step) { + children.push(value); + } + return children; + }); + require$$0.watch(() => props.modelValue, (val) => { + inputValue.value = val; + }); + function update(value) { + if (inputValue.value !== value) { + inputValue.value = value; + } + emit("input", value); + } + function isAllowed(value) { + return !props.allowedValues || props.allowedValues(value); + } + function wheel(e7) { + if (!props.scrollable || props.disabled) return; + e7.preventDefault(); + const delta2 = Math.sign(-e7.deltaY || 1); + let value = displayedValue.value; + do { + value = value + delta2; + value = (value - props.min + count2.value) % count2.value + props.min; + } while (!isAllowed(value) && value !== displayedValue.value); + if (value !== props.displayedValue) { + update(value); + } + emitChangeDebounced(value); + } + function isInner(value) { + return props.double && value - props.min >= roundCount.value; + } + function handScale(value) { + return isInner(value) ? innerRadiusScale.value : 1; + } + function getPosition2(value) { + const rotateRadians = props.rotate * Math.PI / 180; + return { + x: Math.sin((value - props.min) * degrees.value + rotateRadians) * handScale(value), + y: -Math.cos((value - props.min) * degrees.value + rotateRadians) * handScale(value) + }; + } + function angleToValue(angle2, insideClick) { + const value = (Math.round(angle2 / degreesPerUnit.value) + (insideClick ? roundCount.value : 0)) % count2.value + props.min; + if (angle2 < 360 - degreesPerUnit.value / 2) return value; + return insideClick ? props.max - roundCount.value + 1 : props.min; + } + function getTransform2(i7) { + const { + x, + y + } = getPosition2(i7); + return { + left: `${Math.round(50 + x * 50)}%`, + top: `${Math.round(50 + y * 50)}%` + }; + } + function euclidean(p02, p1) { + const dx2 = p1.x - p02.x; + const dy2 = p1.y - p02.y; + return Math.sqrt(dx2 * dx2 + dy2 * dy2); + } + function angle(center2, p1) { + const value = 2 * Math.atan2(p1.y - center2.y - euclidean(center2, p1), p1.x - center2.x); + return Math.abs(value * 180 / Math.PI); + } + function setMouseDownValue(value) { + if (valueOnMouseDown.value === null) { + valueOnMouseDown.value = value; + } + valueOnMouseUp.value = value; + update(value); + } + function onDragMove(e7) { + e7.preventDefault(); + if (!isDragging.value && e7.type !== "click" || !clockRef.value) return; + const { + width, + top, + left + } = clockRef.value?.getBoundingClientRect(); + const { + width: innerWidth + } = innerClockRef.value?.getBoundingClientRect() ?? { + width: 0 + }; + const { + clientX, + clientY + } = "touches" in e7 ? e7.touches[0] : e7; + const center2 = { + x: width / 2, + y: -width / 2 + }; + const coords = { + x: clientX - left, + y: top - clientY + }; + const handAngle = Math.round(angle(center2, coords) - props.rotate + 360) % 360; + const insideClick = props.double && euclidean(center2, coords) < (innerWidth + innerWidth * innerRadiusScale.value) / 4; + const checksCount = Math.ceil(15 / degreesPerUnit.value); + let value; + for (let i7 = 0; i7 < checksCount; i7++) { + value = angleToValue(handAngle + i7 * degreesPerUnit.value, insideClick); + if (isAllowed(value)) return setMouseDownValue(value); + value = angleToValue(handAngle - i7 * degreesPerUnit.value, insideClick); + if (isAllowed(value)) return setMouseDownValue(value); + } + } + function onMouseDown(e7) { + if (props.disabled) return; + e7.preventDefault(); + window.addEventListener("mousemove", onDragMove); + window.addEventListener("touchmove", onDragMove); + window.addEventListener("mouseup", onMouseUp); + window.addEventListener("touchend", onMouseUp); + valueOnMouseDown.value = null; + valueOnMouseUp.value = null; + isDragging.value = true; + onDragMove(e7); + } + function onMouseUp(e7) { + e7.stopPropagation(); + window.removeEventListener("mousemove", onDragMove); + window.removeEventListener("touchmove", onDragMove); + window.removeEventListener("mouseup", onMouseUp); + window.removeEventListener("touchend", onMouseUp); + isDragging.value = false; + if (valueOnMouseUp.value !== null && isAllowed(valueOnMouseUp.value)) { + emit("change", valueOnMouseUp.value); + } + } + useRender(() => { + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass([{ + "v-time-picker-clock": true, + "v-time-picker-clock--indeterminate": props.modelValue == null, + "v-time-picker-clock--readonly": props.readonly + }]), + "onMousedown": onMouseDown, + "onTouchstart": onMouseDown, + "onWheel": wheel, + "ref": clockRef + }, [require$$0.createElementVNode("div", { + "class": "v-time-picker-clock__inner", + "ref": innerClockRef + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass([{ + "v-time-picker-clock__hand": true, + "v-time-picker-clock__hand--inner": isInner(props.modelValue) + }, textColorClasses.value]), + "style": require$$0.normalizeStyle([{ + transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})` + }, textColorStyles.value]) + }, null), genChildren.value.map((value) => { + const isActive = value === displayedValue.value; + return require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass([{ + "v-time-picker-clock__item": true, + "v-time-picker-clock__item--active": isActive, + "v-time-picker-clock__item--disabled": props.disabled || !isAllowed(value) + }, isActive && backgroundColorClasses.value]), + "style": require$$0.normalizeStyle([getTransform2(value), isActive && backgroundColorStyles.value]) + }, [require$$0.createElementVNode("span", null, [props.format(value)])]); + })])]); + }); + } + }); + const makeVTimePickerControlsProps = propsFactory({ + ampm: Boolean, + color: String, + disabled: Boolean, + hour: Number, + minute: Number, + second: Number, + period: String, + readonly: Boolean, + useSeconds: Boolean, + value: Number, + viewMode: String + }, "VTimePickerControls"); + const VTimePickerControls = genericComponent()({ + name: "VTimePickerControls", + props: makeVTimePickerControlsProps(), + emits: { + "update:period": (data) => true, + "update:viewMode": (data) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + t + } = useLocale(); + useRender(() => { + let hour = props.hour; + if (props.ampm) { + hour = hour ? (hour - 1) % 12 + 1 : 12; + } + return require$$0.createElementVNode("div", { + "class": "v-time-picker-controls" + }, [require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass({ + "v-time-picker-controls__time": true, + "v-time-picker-controls__time--with-seconds": props.useSeconds + }) + }, [require$$0.createVNode(VBtn, { + "active": props.viewMode === "hour", + "color": props.viewMode === "hour" ? props.color : void 0, + "disabled": props.disabled, + "variant": "tonal", + "class": require$$0.normalizeClass({ + "v-time-picker-controls__time__btn": true, + "v-time-picker-controls__time--with-ampm__btn": props.ampm, + "v-time-picker-controls__time--with-seconds__btn": props.useSeconds + }), + "text": props.hour == null ? "--" : pad$1(`${hour}`), + "onClick": () => emit("update:viewMode", "hour") + }, null), require$$0.createElementVNode("span", { + "class": require$$0.normalizeClass(["v-time-picker-controls__time__separator", { + "v-time-picker-controls--with-seconds__time__separator": props.useSeconds + }]) + }, [require$$0.createTextVNode(":")]), require$$0.createVNode(VBtn, { + "active": props.viewMode === "minute", + "color": props.viewMode === "minute" ? props.color : void 0, + "class": require$$0.normalizeClass({ + "v-time-picker-controls__time__btn": true, + "v-time-picker-controls__time__btn__active": props.viewMode === "minute", + "v-time-picker-controls__time--with-ampm__btn": props.ampm, + "v-time-picker-controls__time--with-seconds__btn": props.useSeconds + }), + "disabled": props.disabled, + "variant": "tonal", + "text": props.minute == null ? "--" : pad$1(props.minute), + "onClick": () => emit("update:viewMode", "minute") + }, null), props.useSeconds && require$$0.createElementVNode("span", { + "class": require$$0.normalizeClass(["v-time-picker-controls__time__separator", { + "v-time-picker-controls--with-seconds__time__separator": props.useSeconds + }]), + "key": "secondsDivider" + }, [require$$0.createTextVNode(":")]), props.useSeconds && require$$0.createVNode(VBtn, { + "key": "secondsVal", + "active": props.viewMode === "second", + "color": props.viewMode === "second" ? props.color : void 0, + "variant": "tonal", + "onClick": () => emit("update:viewMode", "second"), + "class": require$$0.normalizeClass({ + "v-time-picker-controls__time__btn": true, + "v-time-picker-controls__time__btn__active": props.viewMode === "second", + "v-time-picker-controls__time--with-seconds__btn": props.useSeconds + }), + "disabled": props.disabled, + "text": props.second == null ? "--" : pad$1(props.second) + }, null), props.ampm && require$$0.createElementVNode("div", { + "class": "v-time-picker-controls__ampm" + }, [require$$0.createVNode(VBtn, { + "active": props.period === "am", + "color": props.period === "am" ? props.color : void 0, + "class": require$$0.normalizeClass({ + "v-time-picker-controls__ampm__am": true, + "v-time-picker-controls__ampm__btn": true, + "v-time-picker-controls__ampm__btn__active": props.period === "am" + }), + "disabled": props.disabled, + "text": t("$vuetify.timePicker.am"), + "variant": props.disabled && props.period === "am" ? "elevated" : "tonal", + "onClick": () => props.period !== "am" ? emit("update:period", "am") : null + }, null), require$$0.createVNode(VBtn, { + "active": props.period === "pm", + "color": props.period === "pm" ? props.color : void 0, + "class": require$$0.normalizeClass({ + "v-time-picker-controls__ampm__pm": true, + "v-time-picker-controls__ampm__btn": true, + "v-time-picker-controls__ampm__btn__active": props.period === "pm" + }), + "disabled": props.disabled, + "text": t("$vuetify.timePicker.pm"), + "variant": props.disabled && props.period === "pm" ? "elevated" : "tonal", + "onClick": () => props.period !== "pm" ? emit("update:period", "pm") : null + }, null)])])]); + }); + return {}; + } + }); + const rangeHours24 = createRange(24); + const rangeHours12am = createRange(12); + const rangeHours12pm = rangeHours12am.map((v) => v + 12); + createRange(60); + const makeVTimePickerProps = propsFactory({ + allowedHours: [Function, Array], + allowedMinutes: [Function, Array], + allowedSeconds: [Function, Array], + disabled: Boolean, + format: { + type: String, + default: "ampm" + }, + max: String, + min: String, + viewMode: { + type: String, + default: "hour" + }, + period: { + type: String, + default: "am", + validator: (v) => ["am", "pm"].includes(v) + }, + modelValue: null, + readonly: Boolean, + scrollable: Boolean, + useSeconds: Boolean, + ...omit(makeVPickerProps({ + title: "$vuetify.timePicker.title" + }), ["landscape"]) + }, "VTimePicker"); + const VTimePicker = genericComponent()({ + name: "VTimePicker", + props: makeVTimePickerProps(), + emits: { + "update:hour": (val) => true, + "update:minute": (val) => true, + "update:period": (val) => true, + "update:second": (val) => true, + "update:modelValue": (val) => true, + "update:viewMode": (val) => true + }, + setup(props, _ref) { + let { + emit, + slots + } = _ref; + const { + t + } = useLocale(); + const inputHour = require$$0.ref(null); + const inputMinute = require$$0.ref(null); + const inputSecond = require$$0.ref(null); + const lazyInputHour = require$$0.ref(null); + const lazyInputMinute = require$$0.ref(null); + const lazyInputSecond = require$$0.ref(null); + const period = useProxiedModel(props, "period", "am"); + const viewMode = useProxiedModel(props, "viewMode", "hour"); + const controlsRef = require$$0.ref(null); + const clockRef = require$$0.ref(null); + const isAllowedHourCb = require$$0.computed(() => { + let cb2; + if (props.allowedHours instanceof Array) { + cb2 = (val) => props.allowedHours.includes(val); + } else { + cb2 = props.allowedHours; + } + if (!props.min && !props.max) return cb2; + const minHour = props.min ? Number(props.min.split(":")[0]) : 0; + const maxHour = props.max ? Number(props.max.split(":")[0]) : 23; + return (val) => { + return val >= Number(minHour) && val <= Number(maxHour) && (!cb2 || cb2(val)); + }; + }); + const isAllowedMinuteCb = require$$0.computed(() => { + let cb2; + const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value); + if (props.allowedMinutes instanceof Array) { + cb2 = (val) => props.allowedMinutes.includes(val); + } else { + cb2 = props.allowedMinutes; + } + if (!props.min && !props.max) { + return isHourAllowed ? cb2 : () => false; + } + const [minHour, minMinute] = props.min ? props.min.split(":").map(Number) : [0, 0]; + const [maxHour, maxMinute] = props.max ? props.max.split(":").map(Number) : [23, 59]; + const minTime = minHour * 60 + Number(minMinute); + const maxTime = maxHour * 60 + Number(maxMinute); + return (val) => { + const time = 60 * inputHour.value + val; + return time >= minTime && time <= maxTime && isHourAllowed && (!cb2 || cb2(val)); + }; + }); + const isAllowedSecondCb = require$$0.computed(() => { + let cb2; + const isHourAllowed = !isAllowedHourCb.value || inputHour.value === null || isAllowedHourCb.value(inputHour.value); + const isMinuteAllowed = isHourAllowed && (!isAllowedMinuteCb.value || inputMinute.value === null || isAllowedMinuteCb.value(inputMinute.value)); + if (props.allowedSeconds instanceof Array) { + cb2 = (val) => props.allowedSeconds.includes(val); + } else { + cb2 = props.allowedSeconds; + } + if (!props.min && !props.max) { + return isMinuteAllowed ? cb2 : () => false; + } + const [minHour, minMinute, minSecond] = props.min ? props.min.split(":").map(Number) : [0, 0, 0]; + const [maxHour, maxMinute, maxSecond] = props.max ? props.max.split(":").map(Number) : [23, 59, 59]; + const minTime = minHour * 3600 + minMinute * 60 + Number(minSecond || 0); + const maxTime = maxHour * 3600 + maxMinute * 60 + Number(maxSecond || 0); + return (val) => { + const time = 3600 * inputHour.value + 60 * inputMinute.value + val; + return time >= minTime && time <= maxTime && isMinuteAllowed && (!cb2 || cb2(val)); + }; + }); + const isAmPm = require$$0.computed(() => { + return props.format === "ampm"; + }); + require$$0.watch(() => props.period, (val) => setPeriod(val)); + require$$0.watch(() => props.modelValue, (val) => setInputData(val)); + require$$0.onMounted(() => { + setInputData(props.modelValue); + }); + function genValue() { + if (inputHour.value != null && inputMinute.value != null && (!props.useSeconds || inputSecond.value != null)) { + return `${pad$1(inputHour.value)}:${pad$1(inputMinute.value)}` + (props.useSeconds ? `:${pad$1(inputSecond.value)}` : ""); + } + return null; + } + function emitValue() { + const value = genValue(); + if (value !== null) emit("update:modelValue", value); + } + function convert24to12(hour) { + return hour ? (hour - 1) % 12 + 1 : 12; + } + function convert12to24(hour, period2) { + return hour % 12 + (period2 === "pm" ? 12 : 0); + } + function setInputData(value) { + if (value == null || value === "") { + inputHour.value = null; + inputMinute.value = null; + inputSecond.value = null; + } else if (value instanceof Date) { + inputHour.value = value.getHours(); + inputMinute.value = value.getMinutes(); + inputSecond.value = value.getSeconds(); + } else { + const [hour, , minute, , second, period2] = value.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/) || new Array(6); + inputHour.value = period2 ? convert12to24(parseInt(hour, 10), period2) : parseInt(hour, 10); + inputMinute.value = parseInt(minute, 10); + inputSecond.value = parseInt(second || 0, 10); + } + period.value = inputHour.value == null || inputHour.value < 12 ? "am" : "pm"; + } + function firstAllowed(type, value) { + const allowedFn = isAllowedHourCb.value; + if (!allowedFn) return value; + const range = isAmPm.value ? value < 12 ? rangeHours12am : rangeHours12pm : rangeHours24; + const first2 = range.find((v) => allowedFn((v + value) % range.length + range[0])); + return ((first2 || 0) + value) % range.length + range[0]; + } + function setPeriod(val) { + period.value = val; + if (inputHour.value != null) { + const newHour = inputHour.value + (period.value === "am" ? -12 : 12); + inputHour.value = firstAllowed("hour", newHour); + } + emit("update:period", val); + emitValue(); + return true; + } + function onInput(value) { + if (viewMode.value === "hour") { + inputHour.value = isAmPm.value ? convert12to24(value, period.value) : value; + } else if (viewMode.value === "minute") { + inputMinute.value = value; + } else { + inputSecond.value = value; + } + } + function onChange(value) { + switch (viewMode.value || "hour") { + case "hour": + emit("update:hour", value); + break; + case "minute": + emit("update:minute", value); + break; + case "second": + emit("update:second", value); + break; + } + const emitChange = inputHour.value !== null && inputMinute.value !== null && (props.useSeconds ? inputSecond.value !== null : true); + if (viewMode.value === "hour") { + viewMode.value = "minute"; + } else if (props.useSeconds && viewMode.value === "minute") { + viewMode.value = "second"; + } + if (inputHour.value === lazyInputHour.value && inputMinute.value === lazyInputMinute.value && (!props.useSeconds || inputSecond.value === lazyInputSecond.value)) return; + const time = genValue(); + if (time === null) return; + lazyInputHour.value = inputHour.value; + lazyInputMinute.value = inputMinute.value; + props.useSeconds && (lazyInputSecond.value = inputSecond.value); + emitChange && emitValue(); + } + useRender(() => { + const pickerProps = VPicker.filterProps(props); + const timePickerControlsProps = VTimePickerControls.filterProps(props); + const timePickerClockProps = VTimePickerClock.filterProps(omit(props, ["format", "modelValue", "min", "max"])); + return require$$0.createVNode(VPicker, require$$0.mergeProps(pickerProps, { + "color": void 0, + "class": ["v-time-picker", props.class], + "style": props.style + }), { + title: () => slots.title?.() ?? require$$0.createElementVNode("div", { + "class": "v-time-picker__title" + }, [t(props.title)]), + header: () => require$$0.createVNode(VTimePickerControls, require$$0.mergeProps(timePickerControlsProps, { + "ampm": isAmPm.value, + "hour": inputHour.value, + "minute": inputMinute.value, + "period": period.value, + "second": inputSecond.value, + "viewMode": viewMode.value, + "onUpdate:period": (val) => setPeriod(val), + "onUpdate:viewMode": (value) => viewMode.value = value, + "ref": controlsRef + }), null), + default: () => require$$0.createVNode(VTimePickerClock, require$$0.mergeProps(timePickerClockProps, { + "allowedValues": viewMode.value === "hour" ? isAllowedHourCb.value : viewMode.value === "minute" ? isAllowedMinuteCb.value : isAllowedSecondCb.value, + "double": viewMode.value === "hour" && !isAmPm.value, + "format": viewMode.value === "hour" ? isAmPm.value ? convert24to12 : (val) => val : (val) => pad$1(val, 2), + "max": viewMode.value === "hour" ? isAmPm.value && period.value === "am" ? 11 : 23 : 59, + "min": viewMode.value === "hour" && isAmPm.value && period.value === "pm" ? 12 : 0, + "size": 20, + "step": viewMode.value === "hour" ? 1 : 5, + "modelValue": viewMode.value === "hour" ? inputHour.value : viewMode.value === "minute" ? inputMinute.value : inputSecond.value, + "onChange": onChange, + "onInput": onInput, + "ref": clockRef + }), null), + actions: slots.actions + }); + }); + } + }); + const makeVToolbarItemsProps = propsFactory({ + ...makeComponentProps(), + ...makeVariantProps({ + variant: "text" + }) + }, "VToolbarItems"); + const VToolbarItems = genericComponent()({ + name: "VToolbarItems", + props: makeVToolbarItemsProps(), + setup(props, _ref) { + let { + slots + } = _ref; + provideDefaults({ + VBtn: { + color: require$$0.toRef(() => props.color), + height: "inherit", + variant: require$$0.toRef(() => props.variant) + } + }); + useRender(() => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(["v-toolbar-items", props.class]), + "style": require$$0.normalizeStyle(props.style) + }, [slots.default?.()])); + return {}; + } + }); + const makeVTooltipProps = propsFactory({ + id: String, + interactive: Boolean, + text: String, + ...omit(makeVOverlayProps({ + closeOnBack: false, + location: "end", + locationStrategy: "connected", + eager: true, + minWidth: 0, + offset: 10, + openOnClick: false, + openOnHover: true, + origin: "auto", + scrim: false, + scrollStrategy: "reposition", + transition: null + }), ["absolute", "persistent"]) + }, "VTooltip"); + const VTooltip = genericComponent()({ + name: "VTooltip", + props: makeVTooltipProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const isActive = useProxiedModel(props, "modelValue"); + const { + scopeId + } = useScopeId(); + const uid = require$$0.useId(); + const id2 = require$$0.toRef(() => props.id || `v-tooltip-${uid}`); + const overlay = require$$0.ref(); + const location = require$$0.computed(() => { + return props.location.split(" ").length > 1 ? props.location : props.location + " center"; + }); + const origin = require$$0.computed(() => { + return props.origin === "auto" || props.origin === "overlap" || props.origin.split(" ").length > 1 || props.location.split(" ").length > 1 ? props.origin : props.origin + " center"; + }); + const transition = require$$0.toRef(() => { + if (props.transition != null) return props.transition; + return isActive.value ? "scale-transition" : "fade-transition"; + }); + const activatorProps = require$$0.computed(() => require$$0.mergeProps({ + "aria-describedby": id2.value + }, props.activatorProps)); + useRender(() => { + const overlayProps = VOverlay.filterProps(props); + return require$$0.createVNode(VOverlay, require$$0.mergeProps({ + "ref": overlay, + "class": ["v-tooltip", { + "v-tooltip--interactive": props.interactive + }, props.class], + "style": props.style, + "id": id2.value + }, overlayProps, { + "modelValue": isActive.value, + "onUpdate:modelValue": ($event) => isActive.value = $event, + "transition": transition.value, + "absolute": true, + "location": location.value, + "origin": origin.value, + "persistent": true, + "role": "tooltip", + "activatorProps": activatorProps.value, + "_disableGlobalStack": true + }, scopeId), { + activator: slots.activator, + default: function() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return slots.default?.(...args) ?? props.text; + } + }); + }); + return forwardRefs$1({}, overlay); + } + }); + const makeVTreeviewGroupProps = propsFactory({ + ...omit(makeVListGroupProps({ + collapseIcon: "$treeviewCollapse", + expandIcon: "$treeviewExpand" + }), ["subgroup"]) + }, "VTreeviewGroup"); + const VTreeviewGroup = genericComponent()({ + name: "VTreeviewGroup", + props: makeVTreeviewGroupProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const vListGroupRef = require$$0.ref(); + const toggleIcon = require$$0.computed(() => vListGroupRef.value?.isOpen ? props.collapseIcon : props.expandIcon); + const activatorDefaults = require$$0.computed(() => ({ + VTreeviewItem: { + prependIcon: void 0, + appendIcon: void 0, + toggleIcon: toggleIcon.value + } + })); + useRender(() => { + const listGroupProps = VListGroup.filterProps(props); + return require$$0.createVNode(VListGroup, require$$0.mergeProps(listGroupProps, { + "ref": vListGroupRef, + "class": ["v-treeview-group", props.class], + "subgroup": true + }), { + ...slots, + activator: slots.activator ? (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [require$$0.createVNode(VDefaultsProvider, { + "defaults": activatorDefaults.value + }, { + default: () => [slots.activator?.(slotProps)] + })]) : void 0 + }); + }); + return {}; + } + }); + const VTreeviewSymbol = Symbol.for("vuetify:v-treeview"); + const makeVTreeviewItemProps = propsFactory({ + loading: Boolean, + hideActions: Boolean, + hasCustomPrepend: Boolean, + indentLines: Array, + toggleIcon: IconValue, + ...makeVListItemProps({ + slim: true + }) + }, "VTreeviewItem"); + const VTreeviewItem = genericComponent()({ + name: "VTreeviewItem", + props: makeVTreeviewItemProps(), + emits: { + toggleExpand: (value) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const visibleIds = require$$0.inject(VTreeviewSymbol, { + visibleIds: require$$0.ref() + }).visibleIds; + const vListItemRef = require$$0.ref(); + const isActivatableGroupActivator = require$$0.computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator); + const vListItemRefIsClickable = require$$0.computed(() => vListItemRef.value?.link.isClickable.value || props.value != null && !!vListItemRef.value?.list); + const isClickable = require$$0.computed(() => !props.disabled && props.link !== false && (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value)); + const isFiltered = require$$0.computed(() => visibleIds.value && !visibleIds.value.has(require$$0.toRaw(vListItemRef.value?.id))); + function activateGroupActivator(e7) { + if (isClickable.value && isActivatableGroupActivator.value) { + vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e7); + } + } + function onClickAction(e7) { + e7.preventDefault(); + e7.stopPropagation(); + emit("toggleExpand", e7); + } + useRender(() => { + const listItemProps = VListItem.filterProps(props); + const hasPrepend = slots.prepend || props.toggleIcon || props.indentLines || props.prependIcon || props.prependAvatar; + return require$$0.createVNode(VListItem, require$$0.mergeProps({ + "ref": vListItemRef + }, listItemProps, { + "active": vListItemRef.value?.isActivated || void 0, + "class": ["v-treeview-item", { + "v-treeview-item--activatable-group-activator": isActivatableGroupActivator.value, + "v-treeview-item--filtered": isFiltered.value + }, props.class], + "ripple": false, + "onClick": activateGroupActivator + }), { + ...slots, + prepend: hasPrepend ? (slotProps) => { + return require$$0.createElementVNode(require$$0.Fragment, null, [props.indentLines && props.indentLines.length > 0 ? require$$0.createElementVNode("div", { + "key": "indent-lines", + "class": "v-treeview-indent-lines", + "style": { + "--v-indent-parts": props.indentLines.length + } + }, [props.indentLines.map((type) => require$$0.createElementVNode("div", { + "class": require$$0.normalizeClass(`v-treeview-indent-line v-treeview-indent-line--${type}`) + }, null))]) : "", !props.hideActions && require$$0.createVNode(VListItemAction, { + "start": true + }, { + default: () => [props.toggleIcon ? require$$0.createElementVNode(require$$0.Fragment, null, [!slots.toggle ? require$$0.createVNode(VBtn, { + "key": "prepend-toggle", + "density": "compact", + "icon": props.toggleIcon, + "loading": props.loading, + "variant": "text", + "onClick": onClickAction + }, { + loader: () => require$$0.createVNode(VProgressCircular, { + "indeterminate": "disable-shrink", + "size": "20", + "width": "2" + }, null) + }) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "defaults": { + VBtn: { + density: "compact", + icon: props.toggleIcon, + variant: "text", + loading: props.loading + }, + VProgressCircular: { + indeterminate: "disable-shrink", + size: 20, + width: 2 + } + } + }, { + default: () => [slots.toggle({ + ...slotProps, + loading: props.loading, + props: { + onClick: onClickAction + } + })] + })]) : require$$0.createElementVNode("div", { + "class": "v-treeview-item__level" + }, null)] + }), !props.hasCustomPrepend ? require$$0.createElementVNode(require$$0.Fragment, null, [slots.prepend?.(slotProps), props.prependAvatar && require$$0.createVNode(VAvatar, { + "key": "prepend-avatar", + "density": props.density, + "image": props.prependAvatar + }, null), props.prependIcon && require$$0.createVNode(VIcon, { + "key": "prepend-icon", + "density": props.density, + "icon": props.prependIcon + }, null)]) : require$$0.createVNode(VDefaultsProvider, { + "key": "prepend-defaults", + "defaults": { + VAvatar: { + density: props.density, + image: props.appendAvatar + }, + VIcon: { + density: props.density, + icon: props.appendIcon + }, + VListItemAction: { + start: true + } + } + }, { + default: () => [slots.prepend?.(slotProps)] + })]); + } : void 0 + }); + }); + return forwardRefs$1({}, vListItemRef); + } + }); + const makeVTreeviewChildrenProps = propsFactory({ + fluid: Boolean, + disabled: Boolean, + loadChildren: Function, + loadingIcon: { + type: String, + default: "$loading" + }, + items: Array, + openOnClick: { + type: Boolean, + default: void 0 + }, + indeterminateIcon: { + type: IconValue, + default: "$checkboxIndeterminate" + }, + falseIcon: IconValue, + trueIcon: IconValue, + returnObject: Boolean, + activatable: Boolean, + selectable: Boolean, + selectedColor: String, + selectStrategy: [String, Function, Object], + index: Number, + isLastGroup: Boolean, + separateRoots: Boolean, + parentIndentLines: Array, + indentLinesVariant: String, + path: { + type: Array, + default: () => [] + }, + ...pick(makeVTreeviewItemProps(), ["hideActions"]), + ...makeDensityProps() + }, "VTreeviewChildren"); + const VTreeviewChildren = genericComponent()({ + name: "VTreeviewChildren", + props: makeVTreeviewChildrenProps(), + setup(props, _ref) { + let { + slots + } = _ref; + const isLoading = require$$0.reactive(/* @__PURE__ */ new Set()); + const activatorItems = require$$0.ref([]); + const isClickOnOpen = require$$0.computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable && !props.activatable)); + async function checkChildren(item) { + try { + if (!props.items?.length || !props.loadChildren) return; + if (item?.children?.length === 0) { + isLoading.add(item.value); + await props.loadChildren(item.raw); + } + } finally { + isLoading.delete(item.value); + } + } + function selectItem(select, isSelected) { + if (props.selectable) { + select(isSelected); + } + } + return () => slots.default?.() ?? props.items?.map((item, index2, items) => { + const { + children, + props: itemProps + } = item; + const loading = isLoading.has(item.value); + const nextItemHasChildren = !!items.at(index2 + 1)?.children; + const depth = props.path?.length ?? 0; + const isLast = items.length - 1 === index2; + const treeItemProps = { + index: index2, + depth, + isFirst: index2 === 0, + isLast, + path: [...props.path, index2], + hideAction: props.hideActions + }; + const indentLines = getIndentLines({ + depth, + isLast, + isLastGroup: props.isLastGroup, + leafLinks: !props.hideActions && !props.fluid, + separateRoots: props.separateRoots, + parentIndentLines: props.parentIndentLines, + variant: props.indentLinesVariant + }); + const slotsWithItem = { + toggle: slots.toggle ? (slotProps) => slots.toggle?.({ + ...slotProps, + ...treeItemProps, + item: item.raw, + internalItem: item, + loading + }) : void 0, + prepend: (slotProps) => require$$0.createElementVNode(require$$0.Fragment, null, [props.selectable && (!children || children && !["leaf", "single-leaf"].includes(props.selectStrategy)) && require$$0.createVNode(VListItemAction, { + "start": true + }, { + default: () => [require$$0.createVNode(VCheckboxBtn, { + "key": item.value, + "modelValue": slotProps.isSelected, + "disabled": props.disabled, + "loading": loading, + "color": props.selectedColor, + "density": props.density, + "indeterminate": slotProps.isIndeterminate, + "indeterminateIcon": props.indeterminateIcon, + "falseIcon": props.falseIcon, + "trueIcon": props.trueIcon, + "onUpdate:modelValue": (v) => selectItem(slotProps.select, v), + "onClick": (e7) => e7.stopPropagation(), + "onKeydown": (e7) => { + if (!["Enter", "Space"].includes(e7.key)) return; + e7.stopPropagation(); + selectItem(slotProps.select, slotProps.isSelected); + } + }, null)] + }), slots.prepend?.({ + ...slotProps, + ...treeItemProps, + item: item.raw, + internalItem: item + })]), + append: slots.append ? (slotProps) => slots.append?.({ + ...slotProps, + ...treeItemProps, + item: item.raw, + internalItem: item + }) : void 0, + title: slots.title ? (slotProps) => slots.title?.({ + ...slotProps, + item: item.raw, + internalItem: item + }) : void 0, + subtitle: slots.subtitle ? (slotProps) => slots.subtitle?.({ + ...slotProps, + item: item.raw, + internalItem: item + }) : void 0 + }; + const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps); + const treeviewChildrenProps = VTreeviewChildren.filterProps({ + ...props, + ...treeItemProps + }); + return children ? require$$0.createVNode(VTreeviewGroup, require$$0.mergeProps(treeviewGroupProps, { + "value": props.returnObject ? item.raw : treeviewGroupProps?.value, + "rawId": treeviewGroupProps?.value + }), { + activator: (_ref2) => { + let { + props: activatorProps + } = _ref2; + const listItemProps = { + ...itemProps, + ...activatorProps, + value: itemProps?.value, + onToggleExpand: [() => checkChildren(item), activatorProps.onClick], + onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index2]?.select, !activatorItems.value[index2]?.isSelected) + }; + return renderSlot(slots.header, { + props: listItemProps, + item: item.raw, + internalItem: item, + loading + }, () => require$$0.createVNode(VTreeviewItem, require$$0.mergeProps({ + "ref": (el2) => activatorItems.value[index2] = el2 + }, listItemProps, { + "hasCustomPrepend": !!slots.prepend, + "hideActions": props.hideActions, + "indentLines": indentLines.node, + "value": props.returnObject ? item.raw : itemProps.value, + "loading": loading + }), slotsWithItem)); + }, + default: () => require$$0.createVNode(VTreeviewChildren, require$$0.mergeProps(treeviewChildrenProps, { + "items": children, + "indentLinesVariant": props.indentLinesVariant, + "parentIndentLines": indentLines.children, + "isLastGroup": nextItemHasChildren, + "returnObject": props.returnObject + }), slots) + }) : renderSlot(slots.item, { + props: itemProps, + item: item.raw, + internalItem: item + }, () => { + if (item.type === "divider") { + return renderSlot(slots.divider, { + props: item.raw + }, () => require$$0.createVNode(VDivider, item.props, null)); + } + if (item.type === "subheader") { + return renderSlot(slots.subheader, { + props: item.raw + }, () => require$$0.createVNode(VListSubheader, item.props, null)); + } + return require$$0.createVNode(VTreeviewItem, require$$0.mergeProps(itemProps, { + "hasCustomPrepend": !!slots.prepend, + "hideActions": props.hideActions, + "indentLines": indentLines.leaf, + "value": props.returnObject ? require$$0.toRaw(item.raw) : itemProps.value + }), slotsWithItem); + }); + }); + } + }); + function flatten(items) { + let flat = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; + for (const item of items) { + flat.push(item); + if (item.children) flatten(item.children, flat); + } + return flat; + } + const makeVTreeviewProps = propsFactory({ + openAll: Boolean, + indentLines: [Boolean, String], + search: String, + ...makeFilterProps({ + filterKeys: ["title"] + }), + ...omit(makeVTreeviewChildrenProps(), ["index", "path", "indentLinesVariant", "parentIndentLines", "isLastGroup"]), + ...omit(makeVListProps({ + collapseIcon: "$treeviewCollapse", + expandIcon: "$treeviewExpand", + slim: true + }), ["nav", "openStrategy"]), + modelValue: Array + }, "VTreeview"); + const VTreeview = genericComponent()({ + name: "VTreeview", + props: makeVTreeviewProps(), + emits: { + "update:opened": (val) => true, + "update:activated": (val) => true, + "update:selected": (val) => true, + "update:modelValue": (val) => true, + "click:open": (value) => true, + "click:select": (value) => true + }, + setup(props, _ref) { + let { + slots, + emit + } = _ref; + const { + items + } = useListItems(props); + const activeColor = require$$0.toRef(() => props.activeColor); + const baseColor = require$$0.toRef(() => props.baseColor); + const color = require$$0.toRef(() => props.color); + const activated = useProxiedModel(props, "activated"); + const _selected = useProxiedModel(props, "selected"); + const selected = require$$0.computed({ + get: () => props.modelValue ?? _selected.value, + set(val) { + _selected.value = val; + emit("update:modelValue", val); + } + }); + const vListRef = require$$0.ref(); + const opened = require$$0.computed(() => props.openAll ? openAll(items.value) : props.opened); + const flatItems = require$$0.computed(() => flatten(items.value)); + const search = require$$0.toRef(() => props.search); + const { + filteredItems + } = useFilter(props, flatItems, search); + const visibleIds = require$$0.computed(() => { + if (!search.value) return null; + const getPath = vListRef.value?.getPath; + if (!getPath) return null; + return new Set(filteredItems.value.flatMap((item) => { + const itemVal = props.returnObject ? item.raw : item.props.value; + return [...getPath(itemVal), ...getChildren2(itemVal)].map(require$$0.toRaw); + })); + }); + function getChildren2(id2) { + const arr = []; + const queue = (vListRef.value?.children.get(id2) ?? []).slice(); + while (queue.length) { + const child = queue.shift(); + if (!child) continue; + arr.push(child); + queue.push(...(vListRef.value?.children.get(child) ?? []).slice()); + } + return arr; + } + function openAll(items2) { + let ids = []; + for (const i7 of items2) { + if (!i7.children) continue; + ids.push(props.returnObject ? require$$0.toRaw(i7.raw) : i7.value); + if (i7.children) { + ids = ids.concat(openAll(i7.children)); + } + } + return ids; + } + require$$0.provide(VTreeviewSymbol, { + visibleIds + }); + provideDefaults({ + VTreeviewGroup: { + activeColor, + baseColor, + color, + collapseIcon: require$$0.toRef(() => props.collapseIcon), + expandIcon: require$$0.toRef(() => props.expandIcon) + }, + VTreeviewItem: { + activeClass: require$$0.toRef(() => props.activeClass), + activeColor, + baseColor, + color, + density: require$$0.toRef(() => props.density), + disabled: require$$0.toRef(() => props.disabled), + lines: require$$0.toRef(() => props.lines), + variant: require$$0.toRef(() => props.variant) + } + }); + useRender(() => { + const listProps = VList.filterProps(props); + const treeviewChildrenProps = VTreeviewChildren.filterProps(props); + const indentLinesVariant = typeof props.indentLines === "boolean" ? "default" : props.indentLines; + return require$$0.createVNode(VList, require$$0.mergeProps({ + "ref": vListRef + }, listProps, { + "class": ["v-treeview", { + "v-treeview--fluid": props.fluid + }, props.class], + "openStrategy": "multiple", + "style": props.style, + "opened": opened.value, + "activated": activated.value, + "onUpdate:activated": ($event) => activated.value = $event, + "selected": selected.value, + "onUpdate:selected": ($event) => selected.value = $event + }), { + default: () => [require$$0.createVNode(VTreeviewChildren, require$$0.mergeProps(treeviewChildrenProps, { + "density": props.density, + "returnObject": props.returnObject, + "items": items.value, + "parentIndentLines": props.indentLines ? [] : void 0, + "indentLinesVariant": indentLinesVariant + }), slots)] + }); + }); + return {}; + } + }); + const VValidation = genericComponent()({ + name: "VValidation", + props: makeValidationProps(), + emits: { + "update:modelValue": (value) => true + }, + setup(props, _ref) { + let { + slots + } = _ref; + const validation = useValidation(props, "validation"); + return () => slots.default?.(validation); + } + }); + const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ + __proto__: null, + VAlert, + VAlertTitle, + VApp, + VAppBar, + VAppBarNavIcon, + VAppBarTitle, + VAutocomplete, + VAvatar, + VBadge, + VBanner, + VBannerActions, + VBannerText, + VBottomNavigation, + VBottomSheet, + VBreadcrumbs, + VBreadcrumbsDivider, + VBreadcrumbsItem, + VBtn, + VBtnGroup, + VBtnToggle, + VCard, + VCardActions, + VCardItem, + VCardSubtitle, + VCardText, + VCardTitle, + VCarousel, + VCarouselItem, + VCheckbox, + VCheckboxBtn, + VChip, + VChipGroup, + VClassIcon, + VCode, + VCol, + VColorPicker, + VCombobox, + VComponentIcon, + VConfirmEdit, + VContainer, + VCounter, + VDataIterator, + VDataTable, + VDataTableFooter, + VDataTableHeaders, + VDataTableRow, + VDataTableRows, + VDataTableServer, + VDataTableVirtual, + VDatePicker, + VDatePickerControls, + VDatePickerHeader, + VDatePickerMonth, + VDatePickerMonths, + VDatePickerYears, + VDefaultsProvider, + VDialog, + VDialogBottomTransition, + VDialogTopTransition, + VDialogTransition, + VDivider, + VEmptyState, + VExpandTransition, + VExpandXTransition, + VExpansionPanel, + VExpansionPanelText, + VExpansionPanelTitle, + VExpansionPanels, + VFab, + VFabTransition, + VFadeTransition, + VField, + VFieldLabel, + VFileInput, + VFooter, + VForm, + VHover, + VIcon, + VImg, + VInfiniteScroll, + VInput, + VItem, + VItemGroup, + VKbd, + VLabel, + VLayout, + VLayoutItem, + VLazy, + VLigatureIcon, + VList, + VListGroup, + VListImg, + VListItem, + VListItemAction, + VListItemMedia, + VListItemSubtitle, + VListItemTitle, + VListSubheader, + VLocaleProvider, + VMain, + VMenu, + VMessages, + VNavigationDrawer, + VNoSsr, + VNumberInput, + VOtpInput, + VOverlay, + VPagination, + VParallax, + VProgressCircular, + VProgressLinear, + VRadio, + VRadioGroup, + VRangeSlider, + VRating, + VResponsive, + VRow, + VScaleTransition, + VScrollXReverseTransition, + VScrollXTransition, + VScrollYReverseTransition, + VScrollYTransition, + VSelect, + VSelectionControl, + VSelectionControlGroup, + VSheet, + VSkeletonLoader, + VSlideGroup, + VSlideGroupItem, + VSlideXReverseTransition, + VSlideXTransition, + VSlideYReverseTransition, + VSlideYTransition, + VSlider, + VSnackbar, + VSnackbarQueue, + VSpacer, + VSparkline, + VSpeedDial, + VStepper, + VStepperActions, + VStepperHeader, + VStepperItem, + VStepperWindow, + VStepperWindowItem, + VSvgIcon, + VSwitch, + VSystemBar, + VTab, + VTable, + VTabs, + VTabsWindow, + VTabsWindowItem, + VTextField, + VTextarea, + VThemeProvider, + VTimePicker, + VTimePickerClock, + VTimePickerControls, + VTimeline, + VTimelineItem, + VToolbar, + VToolbarItems, + VToolbarTitle, + VTooltip, + VTreeview, + VTreeviewGroup, + VTreeviewItem, + VValidation, + VVirtualScroll, + VWindow, + VWindowItem + }, Symbol.toStringTag, { value: "Module" })); + function mounted$2(el2, binding) { + const modifiers = binding.modifiers || {}; + const value = binding.value; + const { + once, + immediate, + ...modifierKeys + } = modifiers; + const defaultValue = !Object.keys(modifierKeys).length; + const { + handler, + options + } = typeof value === "object" ? value : { + handler: value, + options: { + attributes: modifierKeys?.attr ?? defaultValue, + characterData: modifierKeys?.char ?? defaultValue, + childList: modifierKeys?.child ?? defaultValue, + subtree: modifierKeys?.sub ?? defaultValue + } + }; + const observer = new MutationObserver(function() { + let mutations = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; + let observer2 = arguments.length > 1 ? arguments[1] : void 0; + handler?.(mutations, observer2); + if (once) unmounted$2(el2, binding); + }); + if (immediate) handler?.([], observer); + el2._mutate = Object(el2._mutate); + el2._mutate[binding.instance.$.uid] = { + observer + }; + observer.observe(el2, options); + } + function unmounted$2(el2, binding) { + if (!el2._mutate?.[binding.instance.$.uid]) return; + el2._mutate[binding.instance.$.uid].observer.disconnect(); + delete el2._mutate[binding.instance.$.uid]; + } + const Mutate = { + mounted: mounted$2, + unmounted: unmounted$2 + }; + function mounted$1(el2, binding) { + const handler = binding.value; + const options = { + passive: !binding.modifiers?.active + }; + window.addEventListener("resize", handler, options); + el2._onResize = Object(el2._onResize); + el2._onResize[binding.instance.$.uid] = { + handler, + options + }; + if (!binding.modifiers?.quiet) { + handler(); + } + } + function unmounted$1(el2, binding) { + if (!el2._onResize?.[binding.instance.$.uid]) return; + const { + handler, + options + } = el2._onResize[binding.instance.$.uid]; + window.removeEventListener("resize", handler, options); + delete el2._onResize[binding.instance.$.uid]; + } + const Resize = { + mounted: mounted$1, + unmounted: unmounted$1 + }; + function mounted(el2, binding) { + const { + self: self2 = false + } = binding.modifiers ?? {}; + const value = binding.value; + const options = typeof value === "object" && value.options || { + passive: true + }; + const handler = typeof value === "function" || "handleEvent" in value ? value : value.handler; + const target = self2 ? el2 : binding.arg ? document.querySelector(binding.arg) : window; + if (!target) return; + target.addEventListener("scroll", handler, options); + el2._onScroll = Object(el2._onScroll); + el2._onScroll[binding.instance.$.uid] = { + handler, + options, + // Don't reference self + target: self2 ? void 0 : target + }; + } + function unmounted(el2, binding) { + if (!el2._onScroll?.[binding.instance.$.uid]) return; + const { + handler, + options, + target = el2 + } = el2._onScroll[binding.instance.$.uid]; + target.removeEventListener("scroll", handler, options); + delete el2._onScroll[binding.instance.$.uid]; + } + function updated(el2, binding) { + if (binding.value === binding.oldValue) return; + unmounted(el2, binding); + mounted(el2, binding); + } + const Scroll = { + mounted, + unmounted, + updated + }; + function useDirectiveComponent(component, props) { + const concreteComponent = typeof component === "string" ? require$$0.resolveComponent(component) : component; + const hook = mountComponent(concreteComponent, props); + return { + mounted: hook, + updated: hook, + unmounted(el2) { + require$$0.render(null, el2); + } + }; + } + function mountComponent(component, props) { + return function(el2, binding, vnode) { + const _props = typeof props === "function" ? props(binding) : props; + const text2 = binding.value?.text ?? binding.value ?? _props?.text; + const value = isObject$7(binding.value) ? binding.value : {}; + const children = () => text2 ?? el2.textContent; + const provides = (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides; + const node = require$$0.h(component, require$$0.mergeProps(_props, value), children); + node.appContext = Object.assign(/* @__PURE__ */ Object.create(null), binding.instance.$.appContext, { + provides + }); + require$$0.render(node, el2); + }; + } + function findComponentParent(vnode, root) { + const stack = /* @__PURE__ */ new Set(); + const walk = (children) => { + for (const child of children) { + if (!child) continue; + if (child === vnode || child.el && vnode.el && child.el === vnode.el) { + return true; + } + stack.add(child); + let result2; + if (child.suspense) { + result2 = walk([child.ssContent]); + } else if (Array.isArray(child.children)) { + result2 = walk(child.children); + } else if (child.component?.vnode) { + result2 = walk([child.component?.subTree]); + } + if (result2) { + return result2; + } + stack.delete(child); + } + return false; + }; + if (!walk([root.subTree])) { + consoleError("Could not find original vnode, component will not inherit provides"); + return root; + } + const result = Array.from(stack).reverse(); + for (const child of result) { + if (child.component) { + return child.component; + } + } + return root; + } + const Tooltip = useDirectiveComponent(VTooltip, (binding) => { + return { + activator: "parent", + location: binding.arg?.replace("-", " "), + text: typeof binding.value === "boolean" ? void 0 : binding.value + }; + }); + const directives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ + __proto__: null, + ClickOutside, + Intersect, + Mutate, + Resize, + Ripple, + Scroll, + Tooltip, + Touch + }, Symbol.toStringTag, { value: "Module" })); + function useProvided(props, prop, provided) { + const internal = useProxiedModel(props, prop); + internal.value = props[prop] ?? provided.value; + require$$0.watch(provided, (v) => { + if (props[prop] == null) { + internal.value = v; + } + }); + return internal; + } + function inferDecimalSeparator(format2) { + return format2(0.1).includes(",") ? "," : "."; + } + function createProvideFunction(data) { + return (props) => { + const current = useProvided(props, "locale", data.current); + const fallback = useProvided(props, "fallback", data.fallback); + const messages2 = useProvided(props, "messages", data.messages); + const i18n2 = data.useI18n({ + locale: current.value, + fallbackLocale: fallback.value, + messages: messages2.value, + useScope: "local", + legacy: false, + inheritLocale: false + }); + require$$0.watch(current, (v) => { + i18n2.locale.value = v; + }); + return { + name: "vue-i18n", + current, + fallback, + messages: messages2, + decimalSeparator: require$$0.toRef(() => props.decimalSeparator ?? inferDecimalSeparator(i18n2.n)), + t: function(key) { + for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + params[_key - 1] = arguments[_key]; + } + return i18n2.t(key, params); + }, + n: i18n2.n, + provide: createProvideFunction({ + current, + fallback, + messages: messages2, + useI18n: data.useI18n + }) + }; + }; + } + function createVueI18nAdapter(_ref) { + let { + i18n: i18n2, + useI18n: useI18n2 + } = _ref; + const current = i18n2.global.locale; + const fallback = i18n2.global.fallbackLocale; + const messages2 = i18n2.global.messages; + return { + name: "vue-i18n", + current, + fallback, + messages: messages2, + decimalSeparator: require$$0.toRef(() => inferDecimalSeparator(i18n2.global.n)), + t: function(key) { + for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + params[_key2 - 1] = arguments[_key2]; + } + return i18n2.global.t(key, params); + }, + n: i18n2.global.n, + provide: createProvideFunction({ + current, + fallback, + messages: messages2, + useI18n: useI18n2 + }) + }; + } + /*! + * shared v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */ + function warn(msg, err) { + if (typeof console !== "undefined") { + console.warn(`[intlify] ` + msg); + if (err) { + console.warn(err.stack); + } + } + } + const inBrowser = typeof window !== "undefined"; + const makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name); + const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source }); + const friendlyJSONstringify = (json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"); + const isNumber$1 = (val) => typeof val === "number" && isFinite(val); + const isDate$1 = (val) => toTypeString(val) === "[object Date]"; + const isRegExp$2 = (val) => toTypeString(val) === "[object RegExp]"; + const isEmptyObject = (val) => isPlainObject$1(val) && Object.keys(val).length === 0; + const assign$1 = Object.assign; + const _create = Object.create; + const create$4 = (obj = null) => _create(obj); + let _globalThis; + const getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : create$4()); + }; + function escapeHtml(rawText) { + return rawText.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'").replace(/\//g, "/").replace(/=/g, "="); + } + function escapeAttributeValue(value) { + return value.replace(/&(?![a-zA-Z0-9#]{2,6};)/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); + } + function sanitizeTranslatedHtml(html2) { + html2 = html2.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_7, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`); + html2 = html2.replace(/(\w+)\s*=\s*'([^']*)'/g, (_7, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`); + const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi; + if (eventHandlerPattern.test(html2)) { + html2 = html2.replace(/(\s+)(on)(\w+\s*=)/gi, "$1on$3"); + } + const javascriptUrlPattern = [ + // In href, src, action, formaction attributes + /(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi, + // In style attributes within url() + /(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi + ]; + javascriptUrlPattern.forEach((pattern) => { + html2 = html2.replace(pattern, "$1javascript:"); + }); + return html2; + } + const hasOwnProperty = Object.prototype.hasOwnProperty; + function hasOwn$1(obj, key) { + return hasOwnProperty.call(obj, key); + } + const isArray$2 = Array.isArray; + const isFunction$2 = (val) => typeof val === "function"; + const isString$2 = (val) => typeof val === "string"; + const isBoolean = (val) => typeof val === "boolean"; + const isObject$6 = (val) => val !== null && typeof val === "object"; + const isPromise = (val) => { + return isObject$6(val) && isFunction$2(val.then) && isFunction$2(val.catch); + }; + const objectToString = Object.prototype.toString; + const toTypeString = (value) => objectToString.call(value); + const isPlainObject$1 = (val) => { + if (!isObject$6(val)) + return false; + const proto2 = Object.getPrototypeOf(val); + return proto2 === null || proto2.constructor === Object; + }; + const toDisplayString = (val) => { + return val == null ? "" : isArray$2(val) || isPlainObject$1(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val); + }; + function join$1(items, separator = "") { + return items.reduce((str, item, index2) => index2 === 0 ? str + item : str + separator + item, ""); + } + function incrementer(code2) { + let current = code2; + return () => ++current; + } + const isNotObjectOrIsArray = (val) => !isObject$6(val) || isArray$2(val); + function deepCopy(src, des) { + if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) { + throw new Error("Invalid value"); + } + const stack = [{ src, des }]; + while (stack.length) { + const { src: src2, des: des2 } = stack.pop(); + Object.keys(src2).forEach((key) => { + if (key === "__proto__") { + return; + } + if (isObject$6(src2[key]) && !isObject$6(des2[key])) { + des2[key] = Array.isArray(src2[key]) ? [] : create$4(); + } + if (isNotObjectOrIsArray(des2[key]) || isNotObjectOrIsArray(src2[key])) { + des2[key] = src2[key]; + } else { + stack.push({ src: src2[key], des: des2[key] }); + } + }); + } + } + /*! + * message-compiler v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */ + function createPosition(line, column, offset) { + return { line, column, offset }; + } + function createLocation(start2, end2, source) { + const loc = { start: start2, end: end2 }; + return loc; + } + const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g; + function format$3(message2, ...args) { + if (args.length === 1 && isObject$5(args[0])) { + args = args[0]; + } + if (!args || !args.hasOwnProperty) { + args = {}; + } + return message2.replace(RE_ARGS, (match2, identifier) => { + return args.hasOwnProperty(identifier) ? args[identifier] : ""; + }); + } + const assign = Object.assign; + const isString$1 = (val) => typeof val === "string"; + const isObject$5 = (val) => val !== null && typeof val === "object"; + function join(items, separator = "") { + return items.reduce((str, item, index2) => index2 === 0 ? str + item : str + separator + item, ""); + } + const CompileWarnCodes = { + USE_MODULO_SYNTAX: 1, + __EXTEND_POINT__: 2 + }; + const warnMessages = { + [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.` + }; + function createCompileWarn(code2, loc, ...args) { + const msg = format$3(warnMessages[code2], ...args || []); + const message2 = { message: String(msg), code: code2 }; + if (loc) { + message2.location = loc; + } + return message2; + } + const CompileErrorCodes = { + // tokenizer error codes + 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, + // parser error codes + MUST_HAVE_MESSAGES_IN_PLURAL: 11, + UNEXPECTED_EMPTY_LINKED_MODIFIER: 12, + UNEXPECTED_EMPTY_LINKED_KEY: 13, + UNEXPECTED_LEXICAL_ANALYSIS: 14, + // generator error codes + UNHANDLED_CODEGEN_NODE_TYPE: 15, + // minifier error codes + UNHANDLED_MINIFIER_NODE_TYPE: 16, + // Special value for higher-order compilers to pick up the last code + // to avoid collision of error codes. This should always be kept as the last + // item. + __EXTEND_POINT__: 17 + }; + const errorMessages = { + // tokenizer error messages + [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`, + [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`, + [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`, + [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\{0}`, + [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`, + [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`, + [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`, + [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`, + [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`, + [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`, + // parser error messages + [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`, + [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`, + [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`, + [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`, + // generator error messages + [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`, + // minimizer error messages + [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'` + }; + function createCompileError(code2, loc, options = {}) { + const { domain, messages: messages2, args } = options; + const msg = format$3((messages2 || errorMessages)[code2] || "", ...args || []); + const error = new SyntaxError(String(msg)); + error.code = code2; + if (loc) { + error.location = loc; + } + error.domain = domain; + return error; + } + function defaultOnError(error) { + throw error; + } + const CHAR_SP = " "; + const CHAR_CR = "\r"; + const CHAR_LF = "\n"; + const CHAR_LS = String.fromCharCode(8232); + const CHAR_PS = String.fromCharCode(8233); + function createScanner(str) { + const _buf = str; + let _index = 0; + let _line = 1; + let _column = 1; + let _peekOffset = 0; + const isCRLF = (index3) => _buf[index3] === CHAR_CR && _buf[index3 + 1] === CHAR_LF; + const isLF = (index3) => _buf[index3] === CHAR_LF; + const isPS = (index3) => _buf[index3] === CHAR_PS; + const isLS = (index3) => _buf[index3] === CHAR_LS; + const isLineEnd = (index3) => isCRLF(index3) || isLF(index3) || isPS(index3) || isLS(index3); + const index2 = () => _index; + const line = () => _line; + const column = () => _column; + const peekOffset = () => _peekOffset; + const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset]; + const currentChar = () => charAt(_index); + const currentPeek = () => charAt(_index + _peekOffset); + function next() { + _peekOffset = 0; + if (isLineEnd(_index)) { + _line++; + _column = 0; + } + if (isCRLF(_index)) { + _index++; + } + _index++; + _column++; + return _buf[_index]; + } + function peek() { + if (isCRLF(_index + _peekOffset)) { + _peekOffset++; + } + _peekOffset++; + return _buf[_index + _peekOffset]; + } + function reset() { + _index = 0; + _line = 1; + _column = 1; + _peekOffset = 0; + } + function resetPeek(offset = 0) { + _peekOffset = offset; + } + function skipToPeek() { + const target = _index + _peekOffset; + while (target !== _index) { + next(); + } + _peekOffset = 0; + } + return { + index: index2, + line, + column, + peekOffset, + charAt, + currentChar, + currentPeek, + next, + peek, + reset, + resetPeek, + skipToPeek + }; + } + const EOF = void 0; + const DOT = "."; + const LITERAL_DELIMITER = "'"; + const ERROR_DOMAIN$3 = "tokenizer"; + function createTokenizer(source, options = {}) { + const location = options.location !== false; + const _scnr = createScanner(source); + const currentOffset = () => _scnr.index(); + const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index()); + const _initLoc = currentPosition(); + const _initOffset = currentOffset(); + const _context = { + currentType: 14, + offset: _initOffset, + startLoc: _initLoc, + endLoc: _initLoc, + lastType: 14, + lastOffset: _initOffset, + lastStartLoc: _initLoc, + lastEndLoc: _initLoc, + braceNest: 0, + inLinked: false, + text: "" + }; + const context = () => _context; + const { onError } = options; + function emitError(code2, pos, offset, ...args) { + const ctx = context(); + pos.column += offset; + pos.offset += offset; + if (onError) { + const loc = location ? createLocation(ctx.startLoc, pos) : null; + const err = createCompileError(code2, loc, { + domain: ERROR_DOMAIN$3, + args + }); + onError(err); + } + } + function getToken(context2, type, value) { + context2.endLoc = currentPosition(); + context2.currentType = type; + const token = { type }; + if (location) { + token.loc = createLocation(context2.startLoc, context2.endLoc); + } + if (value != null) { + token.value = value; + } + return token; + } + const getEndToken = (context2) => getToken( + context2, + 14 + /* TokenTypes.EOF */ + ); + function eat(scnr, ch2) { + if (scnr.currentChar() === ch2) { + scnr.next(); + return ch2; + } else { + emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch2); + return ""; + } + } + function peekSpaces(scnr) { + let buf = ""; + while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) { + buf += scnr.currentPeek(); + scnr.peek(); + } + return buf; + } + function skipSpaces(scnr) { + const buf = peekSpaces(scnr); + scnr.skipToPeek(); + return buf; + } + function isIdentifierStart(ch2) { + if (ch2 === EOF) { + return false; + } + const cc2 = ch2.charCodeAt(0); + return cc2 >= 97 && cc2 <= 122 || // a-z + cc2 >= 65 && cc2 <= 90 || // A-Z + cc2 === 95; + } + function isNumberStart(ch2) { + if (ch2 === EOF) { + return false; + } + const cc2 = ch2.charCodeAt(0); + return cc2 >= 48 && cc2 <= 57; + } + function isNamedIdentifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ret = isIdentifierStart(scnr.currentPeek()); + scnr.resetPeek(); + return ret; + } + function isListIdentifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ch2 = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek(); + const ret = isNumberStart(ch2); + scnr.resetPeek(); + return ret; + } + function isLiteralStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 2) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === LITERAL_DELIMITER; + scnr.resetPeek(); + return ret; + } + function isLinkedDotStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 8) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === "."; + scnr.resetPeek(); + return ret; + } + function isLinkedModifierStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 9) { + return false; + } + peekSpaces(scnr); + const ret = isIdentifierStart(scnr.currentPeek()); + scnr.resetPeek(); + return ret; + } + function isLinkedDelimiterStart(scnr, context2) { + const { currentType } = context2; + if (!(currentType === 8 || currentType === 12)) { + return false; + } + peekSpaces(scnr); + const ret = scnr.currentPeek() === ":"; + scnr.resetPeek(); + return ret; + } + function isLinkedReferStart(scnr, context2) { + const { currentType } = context2; + if (currentType !== 10) { + return false; + } + const fn2 = () => { + const ch2 = scnr.currentPeek(); + if (ch2 === "{") { + return isIdentifierStart(scnr.peek()); + } else if (ch2 === "@" || ch2 === "%" || ch2 === "|" || ch2 === ":" || ch2 === "." || ch2 === CHAR_SP || !ch2) { + return false; + } else if (ch2 === CHAR_LF) { + scnr.peek(); + return fn2(); + } else { + return isTextStart(scnr, false); + } + }; + const ret = fn2(); + scnr.resetPeek(); + return ret; + } + function isPluralStart(scnr) { + peekSpaces(scnr); + const ret = scnr.currentPeek() === "|"; + scnr.resetPeek(); + return ret; + } + function detectModuloStart(scnr) { + const spaces = peekSpaces(scnr); + const ret = scnr.currentPeek() === "%" && scnr.peek() === "{"; + scnr.resetPeek(); + return { + isModulo: ret, + hasSpace: spaces.length > 0 + }; + } + function isTextStart(scnr, reset = true) { + const fn2 = (hasSpace = false, prev = "", detectModulo = false) => { + const ch2 = scnr.currentPeek(); + if (ch2 === "{") { + return prev === "%" ? false : hasSpace; + } else if (ch2 === "@" || !ch2) { + return prev === "%" ? true : hasSpace; + } else if (ch2 === "%") { + scnr.peek(); + return fn2(hasSpace, "%", true); + } else if (ch2 === "|") { + return prev === "%" || detectModulo ? true : !(prev === CHAR_SP || prev === CHAR_LF); + } else if (ch2 === CHAR_SP) { + scnr.peek(); + return fn2(true, CHAR_SP, detectModulo); + } else if (ch2 === CHAR_LF) { + scnr.peek(); + return fn2(true, CHAR_LF, detectModulo); + } else { + return true; + } + }; + const ret = fn2(); + reset && scnr.resetPeek(); + return ret; + } + function takeChar(scnr, fn2) { + const ch2 = scnr.currentChar(); + if (ch2 === EOF) { + return EOF; + } + if (fn2(ch2)) { + scnr.next(); + return ch2; + } + return null; + } + function isIdentifier(ch2) { + const cc2 = ch2.charCodeAt(0); + return cc2 >= 97 && cc2 <= 122 || // a-z + cc2 >= 65 && cc2 <= 90 || // A-Z + cc2 >= 48 && cc2 <= 57 || // 0-9 + cc2 === 95 || // _ + cc2 === 36; + } + function takeIdentifierChar(scnr) { + return takeChar(scnr, isIdentifier); + } + function isNamedIdentifier(ch2) { + const cc2 = ch2.charCodeAt(0); + return cc2 >= 97 && cc2 <= 122 || // a-z + cc2 >= 65 && cc2 <= 90 || // A-Z + cc2 >= 48 && cc2 <= 57 || // 0-9 + cc2 === 95 || // _ + cc2 === 36 || // $ + cc2 === 45; + } + function takeNamedIdentifierChar(scnr) { + return takeChar(scnr, isNamedIdentifier); + } + function isDigit(ch2) { + const cc2 = ch2.charCodeAt(0); + return cc2 >= 48 && cc2 <= 57; + } + function takeDigit(scnr) { + return takeChar(scnr, isDigit); + } + function isHexDigit(ch2) { + const cc2 = ch2.charCodeAt(0); + return cc2 >= 48 && cc2 <= 57 || // 0-9 + cc2 >= 65 && cc2 <= 70 || // A-F + cc2 >= 97 && cc2 <= 102; + } + function takeHexDigit(scnr) { + return takeChar(scnr, isHexDigit); + } + function getDigits(scnr) { + let ch2 = ""; + let num = ""; + while (ch2 = takeDigit(scnr)) { + num += ch2; + } + return num; + } + function readModulo(scnr) { + skipSpaces(scnr); + const ch2 = scnr.currentChar(); + if (ch2 !== "%") { + emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch2); + } + scnr.next(); + return "%"; + } + function readText(scnr) { + let buf = ""; + while (true) { + const ch2 = scnr.currentChar(); + if (ch2 === "{" || ch2 === "}" || ch2 === "@" || ch2 === "|" || !ch2) { + break; + } else if (ch2 === "%") { + if (isTextStart(scnr)) { + buf += ch2; + scnr.next(); + } else { + break; + } + } else if (ch2 === CHAR_SP || ch2 === CHAR_LF) { + if (isTextStart(scnr)) { + buf += ch2; + scnr.next(); + } else if (isPluralStart(scnr)) { + break; + } else { + buf += ch2; + scnr.next(); + } + } else { + buf += ch2; + scnr.next(); + } + } + return buf; + } + function readNamedIdentifier(scnr) { + skipSpaces(scnr); + let ch2 = ""; + let name = ""; + while (ch2 = takeNamedIdentifierChar(scnr)) { + name += ch2; + } + if (scnr.currentChar() === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + return name; + } + function readListIdentifier(scnr) { + skipSpaces(scnr); + let value = ""; + if (scnr.currentChar() === "-") { + scnr.next(); + value += `-${getDigits(scnr)}`; + } else { + value += getDigits(scnr); + } + if (scnr.currentChar() === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + return value; + } + function isLiteral2(ch2) { + return ch2 !== LITERAL_DELIMITER && ch2 !== CHAR_LF; + } + function readLiteral(scnr) { + skipSpaces(scnr); + eat(scnr, `'`); + let ch2 = ""; + let literal = ""; + while (ch2 = takeChar(scnr, isLiteral2)) { + if (ch2 === "\\") { + literal += readEscapeSequence(scnr); + } else { + literal += ch2; + } + } + const current = scnr.currentChar(); + if (current === CHAR_LF || current === EOF) { + emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0); + if (current === CHAR_LF) { + scnr.next(); + eat(scnr, `'`); + } + return literal; + } + eat(scnr, `'`); + return literal; + } + function readEscapeSequence(scnr) { + const ch2 = scnr.currentChar(); + switch (ch2) { + case "\\": + case `'`: + scnr.next(); + return `\\${ch2}`; + case "u": + return readUnicodeEscapeSequence(scnr, ch2, 4); + case "U": + return readUnicodeEscapeSequence(scnr, ch2, 6); + default: + emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch2); + return ""; + } + } + function readUnicodeEscapeSequence(scnr, unicode, digits) { + eat(scnr, unicode); + let sequence = ""; + for (let i7 = 0; i7 < digits; i7++) { + const ch2 = takeHexDigit(scnr); + if (!ch2) { + emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`); + break; + } + sequence += ch2; + } + return `\\${unicode}${sequence}`; + } + function isInvalidIdentifier(ch2) { + return ch2 !== "{" && ch2 !== "}" && ch2 !== CHAR_SP && ch2 !== CHAR_LF; + } + function readInvalidIdentifier(scnr) { + skipSpaces(scnr); + let ch2 = ""; + let identifiers = ""; + while (ch2 = takeChar(scnr, isInvalidIdentifier)) { + identifiers += ch2; + } + return identifiers; + } + function readLinkedModifier(scnr) { + let ch2 = ""; + let name = ""; + while (ch2 = takeIdentifierChar(scnr)) { + name += ch2; + } + return name; + } + function readLinkedRefer(scnr) { + const fn2 = (buf) => { + const ch2 = scnr.currentChar(); + if (ch2 === "{" || ch2 === "%" || ch2 === "@" || ch2 === "|" || ch2 === "(" || ch2 === ")" || !ch2) { + return buf; + } else if (ch2 === CHAR_SP) { + return buf; + } else if (ch2 === CHAR_LF || ch2 === DOT) { + buf += ch2; + scnr.next(); + return fn2(buf); + } else { + buf += ch2; + scnr.next(); + return fn2(buf); + } + }; + return fn2(""); + } + function readPlural(scnr) { + skipSpaces(scnr); + const plural = eat( + scnr, + "|" + /* TokenChars.Pipe */ + ); + skipSpaces(scnr); + return plural; + } + function readTokenInPlaceholder(scnr, context2) { + let token = null; + const ch2 = scnr.currentChar(); + switch (ch2) { + case "{": + if (context2.braceNest >= 1) { + emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0); + } + scnr.next(); + token = getToken( + context2, + 2, + "{" + /* TokenChars.BraceLeft */ + ); + skipSpaces(scnr); + context2.braceNest++; + return token; + case "}": + if (context2.braceNest > 0 && context2.currentType === 2) { + emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0); + } + scnr.next(); + token = getToken( + context2, + 3, + "}" + /* TokenChars.BraceRight */ + ); + context2.braceNest--; + context2.braceNest > 0 && skipSpaces(scnr); + if (context2.inLinked && context2.braceNest === 0) { + context2.inLinked = false; + } + return token; + case "@": + if (context2.braceNest > 0) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + token = readTokenInLinked(scnr, context2) || getEndToken(context2); + context2.braceNest = 0; + return token; + default: { + let validNamedIdentifier = true; + let validListIdentifier = true; + let validLiteral = true; + if (isPluralStart(scnr)) { + if (context2.braceNest > 0) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + } + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) { + emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0); + context2.braceNest = 0; + return readToken(scnr, context2); + } + if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) { + token = getToken(context2, 5, readNamedIdentifier(scnr)); + skipSpaces(scnr); + return token; + } + if (validListIdentifier = isListIdentifierStart(scnr, context2)) { + token = getToken(context2, 6, readListIdentifier(scnr)); + skipSpaces(scnr); + return token; + } + if (validLiteral = isLiteralStart(scnr, context2)) { + token = getToken(context2, 7, readLiteral(scnr)); + skipSpaces(scnr); + return token; + } + if (!validNamedIdentifier && !validListIdentifier && !validLiteral) { + token = getToken(context2, 13, readInvalidIdentifier(scnr)); + emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value); + skipSpaces(scnr); + return token; + } + break; + } + } + return token; + } + function readTokenInLinked(scnr, context2) { + const { currentType } = context2; + let token = null; + const ch2 = scnr.currentChar(); + if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch2 === CHAR_LF || ch2 === CHAR_SP)) { + emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); + } + switch (ch2) { + case "@": + scnr.next(); + token = getToken( + context2, + 8, + "@" + /* TokenChars.LinkedAlias */ + ); + context2.inLinked = true; + return token; + case ".": + skipSpaces(scnr); + scnr.next(); + return getToken( + context2, + 9, + "." + /* TokenChars.LinkedDot */ + ); + case ":": + skipSpaces(scnr); + scnr.next(); + return getToken( + context2, + 10, + ":" + /* TokenChars.LinkedDelimiter */ + ); + default: + if (isPluralStart(scnr)) { + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) { + skipSpaces(scnr); + return readTokenInLinked(scnr, context2); + } + if (isLinkedModifierStart(scnr, context2)) { + skipSpaces(scnr); + return getToken(context2, 12, readLinkedModifier(scnr)); + } + if (isLinkedReferStart(scnr, context2)) { + skipSpaces(scnr); + if (ch2 === "{") { + return readTokenInPlaceholder(scnr, context2) || token; + } else { + return getToken(context2, 11, readLinkedRefer(scnr)); + } + } + if (currentType === 8) { + emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0); + } + context2.braceNest = 0; + context2.inLinked = false; + return readToken(scnr, context2); + } + } + function readToken(scnr, context2) { + let token = { + type: 14 + /* TokenTypes.EOF */ + }; + if (context2.braceNest > 0) { + return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); + } + if (context2.inLinked) { + return readTokenInLinked(scnr, context2) || getEndToken(context2); + } + const ch2 = scnr.currentChar(); + switch (ch2) { + case "{": + return readTokenInPlaceholder(scnr, context2) || getEndToken(context2); + case "}": + emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0); + scnr.next(); + return getToken( + context2, + 3, + "}" + /* TokenChars.BraceRight */ + ); + case "@": + return readTokenInLinked(scnr, context2) || getEndToken(context2); + default: { + if (isPluralStart(scnr)) { + token = getToken(context2, 1, readPlural(scnr)); + context2.braceNest = 0; + context2.inLinked = false; + return token; + } + const { isModulo, hasSpace } = detectModuloStart(scnr); + if (isModulo) { + return hasSpace ? getToken(context2, 0, readText(scnr)) : getToken(context2, 4, readModulo(scnr)); + } + if (isTextStart(scnr)) { + return getToken(context2, 0, readText(scnr)); + } + break; + } + } + return token; + } + function nextToken() { + const { currentType, offset, startLoc, endLoc } = _context; + _context.lastType = currentType; + _context.lastOffset = offset; + _context.lastStartLoc = startLoc; + _context.lastEndLoc = endLoc; + _context.offset = currentOffset(); + _context.startLoc = currentPosition(); + if (_scnr.currentChar() === EOF) { + return getToken( + _context, + 14 + /* TokenTypes.EOF */ + ); + } + return readToken(_scnr, _context); + } + return { + nextToken, + currentOffset, + currentPosition, + context + }; + } + const ERROR_DOMAIN$2 = "parser"; + const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g; + function fromEscapeSequence(match2, codePoint4, codePoint6) { + switch (match2) { + case `\\\\`: + return `\\`; + // eslint-disable-next-line no-useless-escape + case `\\'`: + return `'`; + default: { + const codePoint = parseInt(codePoint4 || codePoint6, 16); + if (codePoint <= 55295 || codePoint >= 57344) { + return String.fromCodePoint(codePoint); + } + return "�"; + } + } + } + function createParser(options = {}) { + const location = options.location !== false; + const { onError, onWarn } = options; + function emitError(tokenzer, code2, start2, offset, ...args) { + const end2 = tokenzer.currentPosition(); + end2.offset += offset; + end2.column += offset; + if (onError) { + const loc = location ? createLocation(start2, end2) : null; + const err = createCompileError(code2, loc, { + domain: ERROR_DOMAIN$2, + args + }); + onError(err); + } + } + function emitWarn(tokenzer, code2, start2, offset, ...args) { + const end2 = tokenzer.currentPosition(); + end2.offset += offset; + end2.column += offset; + if (onWarn) { + const loc = location ? createLocation(start2, end2) : null; + onWarn(createCompileWarn(code2, loc, args)); + } + } + function startNode(type, offset, loc) { + const node = { type }; + if (location) { + node.start = offset; + node.end = offset; + node.loc = { start: loc, end: loc }; + } + return node; + } + function endNode(node, offset, pos, type) { + if (location) { + node.end = offset; + if (node.loc) { + node.loc.end = pos; + } + } + } + function parseText(tokenizer, value) { + const context = tokenizer.context(); + const node = startNode(3, context.offset, context.startLoc); + node.value = value; + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseList(tokenizer, index2) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node = startNode(5, offset, loc); + node.index = parseInt(index2, 10); + tokenizer.nextToken(); + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseNamed(tokenizer, key, modulo) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node = startNode(4, offset, loc); + node.key = key; + if (modulo === true) { + node.modulo = true; + } + tokenizer.nextToken(); + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseLiteral(tokenizer, value) { + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node = startNode(9, offset, loc); + node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence); + tokenizer.nextToken(); + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseLinkedModifier(tokenizer) { + const token = tokenizer.nextToken(); + const context = tokenizer.context(); + const { lastOffset: offset, lastStartLoc: loc } = context; + const node = startNode(8, offset, loc); + if (token.type !== 12) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0); + node.value = ""; + endNode(node, offset, loc); + return { + nextConsumeToken: token, + node + }; + } + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node.value = token.value || ""; + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return { + node + }; + } + function parseLinkedKey(tokenizer, value) { + const context = tokenizer.context(); + const node = startNode(7, context.offset, context.startLoc); + node.value = value; + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseLinked(tokenizer) { + const context = tokenizer.context(); + const linkedNode = startNode(6, context.offset, context.startLoc); + let token = tokenizer.nextToken(); + if (token.type === 9) { + const parsed = parseLinkedModifier(tokenizer); + linkedNode.modifier = parsed.node; + token = parsed.nextConsumeToken || tokenizer.nextToken(); + } + if (token.type !== 10) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + token = tokenizer.nextToken(); + if (token.type === 2) { + token = tokenizer.nextToken(); + } + switch (token.type) { + case 11: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseLinkedKey(tokenizer, token.value || ""); + break; + case 5: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseNamed(tokenizer, token.value || ""); + break; + case 6: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseList(tokenizer, token.value || ""); + break; + case 7: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + linkedNode.key = parseLiteral(tokenizer, token.value || ""); + break; + default: { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0); + const nextContext = tokenizer.context(); + const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc); + emptyLinkedKeyNode.value = ""; + endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc); + linkedNode.key = emptyLinkedKeyNode; + endNode(linkedNode, nextContext.offset, nextContext.startLoc); + return { + nextConsumeToken: token, + node: linkedNode + }; + } + } + endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition()); + return { + node: linkedNode + }; + } + function parseMessage(tokenizer) { + const context = tokenizer.context(); + const startOffset = context.currentType === 1 ? tokenizer.currentOffset() : context.offset; + const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc; + const node = startNode(2, startOffset, startLoc); + node.items = []; + let nextToken = null; + let modulo = null; + do { + const token = nextToken || tokenizer.nextToken(); + nextToken = null; + switch (token.type) { + case 0: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node.items.push(parseText(tokenizer, token.value || "")); + break; + case 6: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node.items.push(parseList(tokenizer, token.value || "")); + break; + case 4: + modulo = true; + break; + case 5: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node.items.push(parseNamed(tokenizer, token.value || "", !!modulo)); + if (modulo) { + emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token)); + modulo = null; + } + break; + case 7: + if (token.value == null) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token)); + } + node.items.push(parseLiteral(tokenizer, token.value || "")); + break; + case 8: { + const parsed = parseLinked(tokenizer); + node.items.push(parsed.node); + nextToken = parsed.nextConsumeToken || null; + break; + } + } + } while (context.currentType !== 14 && context.currentType !== 1); + const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer.currentOffset(); + const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer.currentPosition(); + endNode(node, endOffset, endLoc); + return node; + } + function parsePlural(tokenizer, offset, loc, msgNode) { + const context = tokenizer.context(); + let hasEmptyMessage = msgNode.items.length === 0; + const node = startNode(1, offset, loc); + node.cases = []; + node.cases.push(msgNode); + do { + const msg = parseMessage(tokenizer); + if (!hasEmptyMessage) { + hasEmptyMessage = msg.items.length === 0; + } + node.cases.push(msg); + } while (context.currentType !== 14); + if (hasEmptyMessage) { + emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0); + } + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + function parseResource(tokenizer) { + const context = tokenizer.context(); + const { offset, startLoc } = context; + const msgNode = parseMessage(tokenizer); + if (context.currentType === 14) { + return msgNode; + } else { + return parsePlural(tokenizer, offset, startLoc, msgNode); + } + } + function parse2(source) { + const tokenizer = createTokenizer(source, assign({}, options)); + const context = tokenizer.context(); + const node = startNode(0, context.offset, context.startLoc); + if (location && node.loc) { + node.loc.source = source; + } + node.body = parseResource(tokenizer); + if (options.onCacheKey) { + node.cacheKey = options.onCacheKey(source); + } + if (context.currentType !== 14) { + emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || ""); + } + endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition()); + return node; + } + return { parse: parse2 }; + } + function getTokenCaption(token) { + if (token.type === 14) { + return "EOF"; + } + const name = (token.value || "").replace(/\r?\n/gu, "\\n"); + return name.length > 10 ? name.slice(0, 9) + "…" : name; + } + function createTransformer(ast, options = {}) { + const _context = { + ast, + helpers: /* @__PURE__ */ new Set() + }; + const context = () => _context; + const helper = (name) => { + _context.helpers.add(name); + return name; + }; + return { context, helper }; + } + function traverseNodes(nodes, transformer) { + for (let i7 = 0; i7 < nodes.length; i7++) { + traverseNode(nodes[i7], transformer); + } + } + function traverseNode(node, transformer) { + switch (node.type) { + case 1: + traverseNodes(node.cases, transformer); + transformer.helper( + "plural" + /* HelperNameMap.PLURAL */ + ); + break; + case 2: + traverseNodes(node.items, transformer); + break; + case 6: { + const linked = node; + traverseNode(linked.key, transformer); + transformer.helper( + "linked" + /* HelperNameMap.LINKED */ + ); + transformer.helper( + "type" + /* HelperNameMap.TYPE */ + ); + break; + } + case 5: + transformer.helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ); + transformer.helper( + "list" + /* HelperNameMap.LIST */ + ); + break; + case 4: + transformer.helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ); + transformer.helper( + "named" + /* HelperNameMap.NAMED */ + ); + break; + } + } + function transform(ast, options = {}) { + const transformer = createTransformer(ast); + transformer.helper( + "normalize" + /* HelperNameMap.NORMALIZE */ + ); + ast.body && traverseNode(ast.body, transformer); + const context = transformer.context(); + ast.helpers = Array.from(context.helpers); + } + function optimize(ast) { + const body = ast.body; + if (body.type === 2) { + optimizeMessageNode(body); + } else { + body.cases.forEach((c) => optimizeMessageNode(c)); + } + return ast; + } + function optimizeMessageNode(message2) { + if (message2.items.length === 1) { + const item = message2.items[0]; + if (item.type === 3 || item.type === 9) { + message2.static = item.value; + delete item.value; + } + } else { + const values = []; + for (let i7 = 0; i7 < message2.items.length; i7++) { + const item = message2.items[i7]; + if (!(item.type === 3 || item.type === 9)) { + break; + } + if (item.value == null) { + break; + } + values.push(item.value); + } + if (values.length === message2.items.length) { + message2.static = join(values); + for (let i7 = 0; i7 < message2.items.length; i7++) { + const item = message2.items[i7]; + if (item.type === 3 || item.type === 9) { + delete item.value; + } + } + } + } + } + const ERROR_DOMAIN$1 = "minifier"; + function minify(node) { + node.t = node.type; + switch (node.type) { + case 0: { + const resource = node; + minify(resource.body); + resource.b = resource.body; + delete resource.body; + break; + } + case 1: { + const plural = node; + const cases = plural.cases; + for (let i7 = 0; i7 < cases.length; i7++) { + minify(cases[i7]); + } + plural.c = cases; + delete plural.cases; + break; + } + case 2: { + const message2 = node; + const items = message2.items; + for (let i7 = 0; i7 < items.length; i7++) { + minify(items[i7]); + } + message2.i = items; + delete message2.items; + if (message2.static) { + message2.s = message2.static; + delete message2.static; + } + break; + } + case 3: + case 9: + case 8: + case 7: { + const valueNode = node; + if (valueNode.value) { + valueNode.v = valueNode.value; + delete valueNode.value; + } + break; + } + case 6: { + const linked = node; + minify(linked.key); + linked.k = linked.key; + delete linked.key; + if (linked.modifier) { + minify(linked.modifier); + linked.m = linked.modifier; + delete linked.modifier; + } + break; + } + case 5: { + const list = node; + list.i = list.index; + delete list.index; + break; + } + case 4: { + const named = node; + named.k = named.key; + delete named.key; + break; + } + default: { + throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, { + domain: ERROR_DOMAIN$1, + args: [node.type] + }); + } + } + delete node.type; + } + const ERROR_DOMAIN = "parser"; + function createCodeGenerator(ast, options) { + const { filename, breakLineCode, needIndent: _needIndent } = options; + const location = options.location !== false; + const _context = { + filename, + code: "", + column: 1, + line: 1, + offset: 0, + map: void 0, + breakLineCode, + needIndent: _needIndent, + indentLevel: 0 + }; + if (location && ast.loc) { + _context.source = ast.loc.source; + } + const context = () => _context; + function push2(code2, node) { + _context.code += code2; + } + function _newline(n, withBreakLine = true) { + const _breakLineCode = withBreakLine ? breakLineCode : ""; + push2(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode); + } + function indent(withNewLine = true) { + const level = ++_context.indentLevel; + withNewLine && _newline(level); + } + function deindent(withNewLine = true) { + const level = --_context.indentLevel; + withNewLine && _newline(level); + } + function newline() { + _newline(_context.indentLevel); + } + const helper = (key) => `_${key}`; + const needIndent = () => _context.needIndent; + return { + context, + push: push2, + indent, + deindent, + newline, + helper, + needIndent + }; + } + function generateLinkedNode(generator, node) { + const { helper } = generator; + generator.push(`${helper( + "linked" + /* HelperNameMap.LINKED */ + )}(`); + generateNode(generator, node.key); + if (node.modifier) { + generator.push(`, `); + generateNode(generator, node.modifier); + generator.push(`, _type`); + } else { + generator.push(`, undefined, _type`); + } + generator.push(`)`); + } + function generateMessageNode(generator, node) { + const { helper, needIndent } = generator; + generator.push(`${helper( + "normalize" + /* HelperNameMap.NORMALIZE */ + )}([`); + generator.indent(needIndent()); + const length = node.items.length; + for (let i7 = 0; i7 < length; i7++) { + generateNode(generator, node.items[i7]); + if (i7 === length - 1) { + break; + } + generator.push(", "); + } + generator.deindent(needIndent()); + generator.push("])"); + } + function generatePluralNode(generator, node) { + const { helper, needIndent } = generator; + if (node.cases.length > 1) { + generator.push(`${helper( + "plural" + /* HelperNameMap.PLURAL */ + )}([`); + generator.indent(needIndent()); + const length = node.cases.length; + for (let i7 = 0; i7 < length; i7++) { + generateNode(generator, node.cases[i7]); + if (i7 === length - 1) { + break; + } + generator.push(", "); + } + generator.deindent(needIndent()); + generator.push(`])`); + } + } + function generateResource(generator, node) { + if (node.body) { + generateNode(generator, node.body); + } else { + generator.push("null"); + } + } + function generateNode(generator, node) { + const { helper } = generator; + switch (node.type) { + case 0: + generateResource(generator, node); + break; + case 1: + generatePluralNode(generator, node); + break; + case 2: + generateMessageNode(generator, node); + break; + case 6: + generateLinkedNode(generator, node); + break; + case 8: + generator.push(JSON.stringify(node.value), node); + break; + case 7: + generator.push(JSON.stringify(node.value), node); + break; + case 5: + generator.push(`${helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + )}(${helper( + "list" + /* HelperNameMap.LIST */ + )}(${node.index}))`, node); + break; + case 4: + generator.push(`${helper( + "interpolate" + /* HelperNameMap.INTERPOLATE */ + )}(${helper( + "named" + /* HelperNameMap.NAMED */ + )}(${JSON.stringify(node.key)}))`, node); + break; + case 9: + generator.push(JSON.stringify(node.value), node); + break; + case 3: + generator.push(JSON.stringify(node.value), node); + break; + default: { + throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, { + domain: ERROR_DOMAIN, + args: [node.type] + }); + } + } + } + const generate = (ast, options = {}) => { + const mode = isString$1(options.mode) ? options.mode : "normal"; + const filename = isString$1(options.filename) ? options.filename : "message.intl"; + !!options.sourceMap; + const breakLineCode = options.breakLineCode != null ? options.breakLineCode : mode === "arrow" ? ";" : "\n"; + const needIndent = options.needIndent ? options.needIndent : mode !== "arrow"; + const helpers = ast.helpers || []; + const generator = createCodeGenerator(ast, { + filename, + breakLineCode, + needIndent + }); + generator.push(mode === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`); + generator.indent(needIndent); + if (helpers.length > 0) { + generator.push(`const { ${join(helpers.map((s) => `${s}: _${s}`), ", ")} } = ctx`); + generator.newline(); + } + generator.push(`return `); + generateNode(generator, ast); + generator.deindent(needIndent); + generator.push(`}`); + delete ast.helpers; + const { code: code2, map: map2 } = generator.context(); + return { + ast, + code: code2, + map: map2 ? map2.toJSON() : void 0 + // eslint-disable-line @typescript-eslint/no-explicit-any + }; + }; + function baseCompile$1(source, options = {}) { + const assignedOptions = assign({}, options); + const jit = !!assignedOptions.jit; + const enalbeMinify = !!assignedOptions.minify; + const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize; + const parser = createParser(assignedOptions); + const ast = parser.parse(source); + if (!jit) { + transform(ast, assignedOptions); + return generate(ast, assignedOptions); + } else { + enambeOptimize && optimize(ast); + enalbeMinify && minify(ast); + return { ast, code: "" }; + } + } + /*! + * core-base v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */ + function initFeatureFlags$1() { + if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { + getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; + } + if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { + getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; + } + if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { + getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; + } + } + function isMessageAST(val) { + return isObject$6(val) && resolveType(val) === 0 && (hasOwn$1(val, "b") || hasOwn$1(val, "body")); + } + const PROPS_BODY = ["b", "body"]; + function resolveBody(node) { + return resolveProps(node, PROPS_BODY); + } + const PROPS_CASES = ["c", "cases"]; + function resolveCases(node) { + return resolveProps(node, PROPS_CASES, []); + } + const PROPS_STATIC = ["s", "static"]; + function resolveStatic(node) { + return resolveProps(node, PROPS_STATIC); + } + const PROPS_ITEMS = ["i", "items"]; + function resolveItems(node) { + return resolveProps(node, PROPS_ITEMS, []); + } + const PROPS_TYPE = ["t", "type"]; + function resolveType(node) { + return resolveProps(node, PROPS_TYPE); + } + const PROPS_VALUE = ["v", "value"]; + function resolveValue$1(node, type) { + const resolved = resolveProps(node, PROPS_VALUE); + if (resolved != null) { + return resolved; + } else { + throw createUnhandleNodeError(type); + } + } + const PROPS_MODIFIER = ["m", "modifier"]; + function resolveLinkedModifier(node) { + return resolveProps(node, PROPS_MODIFIER); + } + const PROPS_KEY = ["k", "key"]; + function resolveLinkedKey(node) { + const resolved = resolveProps(node, PROPS_KEY); + if (resolved) { + return resolved; + } else { + throw createUnhandleNodeError( + 6 + /* NodeTypes.Linked */ + ); + } + } + function resolveProps(node, props, defaultValue) { + for (let i7 = 0; i7 < props.length; i7++) { + const prop = props[i7]; + if (hasOwn$1(node, prop) && node[prop] != null) { + return node[prop]; + } + } + return defaultValue; + } + const AST_NODE_PROPS_KEYS = [ + ...PROPS_BODY, + ...PROPS_CASES, + ...PROPS_STATIC, + ...PROPS_ITEMS, + ...PROPS_KEY, + ...PROPS_MODIFIER, + ...PROPS_VALUE, + ...PROPS_TYPE + ]; + function createUnhandleNodeError(type) { + return new Error(`unhandled node type: ${type}`); + } + const pathStateMachine = []; + pathStateMachine[ + 0 + /* States.BEFORE_PATH */ + ] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 0 + /* States.BEFORE_PATH */ + ], + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4 + /* States.IN_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7 + /* States.AFTER_PATH */ + ] + }; + pathStateMachine[ + 1 + /* States.IN_PATH */ + ] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 1 + /* States.IN_PATH */ + ], + [ + "." + /* PathCharTypes.DOT */ + ]: [ + 2 + /* States.BEFORE_IDENT */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4 + /* States.IN_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7 + /* States.AFTER_PATH */ + ] + }; + pathStateMachine[ + 2 + /* States.BEFORE_IDENT */ + ] = { + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 2 + /* States.BEFORE_IDENT */ + ], + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "0" + /* PathCharTypes.ZERO */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ] + }; + pathStateMachine[ + 3 + /* States.IN_IDENT */ + ] = { + [ + "i" + /* PathCharTypes.IDENT */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "0" + /* PathCharTypes.ZERO */ + ]: [ + 3, + 0 + /* Actions.APPEND */ + ], + [ + "w" + /* PathCharTypes.WORKSPACE */ + ]: [ + 1, + 1 + /* Actions.PUSH */ + ], + [ + "." + /* PathCharTypes.DOT */ + ]: [ + 2, + 1 + /* Actions.PUSH */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4, + 1 + /* Actions.PUSH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: [ + 7, + 1 + /* Actions.PUSH */ + ] + }; + pathStateMachine[ + 4 + /* States.IN_SUB_PATH */ + ] = { + [ + "'" + /* PathCharTypes.SINGLE_QUOTE */ + ]: [ + 5, + 0 + /* Actions.APPEND */ + ], + [ + '"' + /* PathCharTypes.DOUBLE_QUOTE */ + ]: [ + 6, + 0 + /* Actions.APPEND */ + ], + [ + "[" + /* PathCharTypes.LEFT_BRACKET */ + ]: [ + 4, + 2 + /* Actions.INC_SUB_PATH_DEPTH */ + ], + [ + "]" + /* PathCharTypes.RIGHT_BRACKET */ + ]: [ + 1, + 3 + /* Actions.PUSH_SUB_PATH */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ] + }; + pathStateMachine[ + 5 + /* States.IN_SINGLE_QUOTE */ + ] = { + [ + "'" + /* PathCharTypes.SINGLE_QUOTE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 5, + 0 + /* Actions.APPEND */ + ] + }; + pathStateMachine[ + 6 + /* States.IN_DOUBLE_QUOTE */ + ] = { + [ + '"' + /* PathCharTypes.DOUBLE_QUOTE */ + ]: [ + 4, + 0 + /* Actions.APPEND */ + ], + [ + "o" + /* PathCharTypes.END_OF_FAIL */ + ]: 8, + [ + "l" + /* PathCharTypes.ELSE */ + ]: [ + 6, + 0 + /* Actions.APPEND */ + ] + }; + const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/; + function isLiteral(exp) { + return literalValueRE.test(exp); + } + function stripQuotes(str) { + const a = str.charCodeAt(0); + const b = str.charCodeAt(str.length - 1); + return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str; + } + function getPathCharType(ch2) { + if (ch2 === void 0 || ch2 === null) { + return "o"; + } + const code2 = ch2.charCodeAt(0); + switch (code2) { + case 91: + // [ + case 93: + // ] + case 46: + // . + case 34: + // " + case 39: + return ch2; + case 95: + // _ + case 36: + // $ + case 45: + return "i"; + case 9: + // Tab (HT) + case 10: + // Newline (LF) + case 13: + // Return (CR) + case 160: + // No-break space (NBSP) + case 65279: + // Byte Order Mark (BOM) + case 8232: + // Line Separator (LS) + case 8233: + return "w"; + } + return "i"; + } + function formatSubPath(path) { + const trimmed = path.trim(); + if (path.charAt(0) === "0" && isNaN(parseInt(path))) { + return false; + } + return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed; + } + function parse$2(path) { + const keys2 = []; + let index2 = -1; + let mode = 0; + let subPathDepth = 0; + let c; + let key; + let newChar; + let type; + let transition; + let action; + let typeMap; + const actions2 = []; + actions2[ + 0 + /* Actions.APPEND */ + ] = () => { + if (key === void 0) { + key = newChar; + } else { + key += newChar; + } + }; + actions2[ + 1 + /* Actions.PUSH */ + ] = () => { + if (key !== void 0) { + keys2.push(key); + key = void 0; + } + }; + actions2[ + 2 + /* Actions.INC_SUB_PATH_DEPTH */ + ] = () => { + actions2[ + 0 + /* Actions.APPEND */ + ](); + subPathDepth++; + }; + actions2[ + 3 + /* Actions.PUSH_SUB_PATH */ + ] = () => { + if (subPathDepth > 0) { + subPathDepth--; + mode = 4; + actions2[ + 0 + /* Actions.APPEND */ + ](); + } else { + subPathDepth = 0; + if (key === void 0) { + return false; + } + key = formatSubPath(key); + if (key === false) { + return false; + } else { + actions2[ + 1 + /* Actions.PUSH */ + ](); + } + } + }; + function maybeUnescapeQuote() { + const nextChar = path[index2 + 1]; + if (mode === 5 && nextChar === "'" || mode === 6 && nextChar === '"') { + index2++; + newChar = "\\" + nextChar; + actions2[ + 0 + /* Actions.APPEND */ + ](); + return true; + } + } + while (mode !== null) { + index2++; + c = path[index2]; + if (c === "\\" && maybeUnescapeQuote()) { + continue; + } + type = getPathCharType(c); + typeMap = pathStateMachine[mode]; + transition = typeMap[type] || typeMap[ + "l" + /* PathCharTypes.ELSE */ + ] || 8; + if (transition === 8) { + return; + } + mode = transition[0]; + if (transition[1] !== void 0) { + action = actions2[transition[1]]; + if (action) { + newChar = c; + if (action() === false) { + return; + } + } + } + if (mode === 7) { + return keys2; + } + } + } + const cache = /* @__PURE__ */ new Map(); + function resolveWithKeyValue(obj, path) { + return isObject$6(obj) ? obj[path] : null; + } + function resolveValue(obj, path) { + if (!isObject$6(obj)) { + return null; + } + let hit = cache.get(path); + if (!hit) { + hit = parse$2(path); + if (hit) { + cache.set(path, hit); + } + } + if (!hit) { + return null; + } + const len2 = hit.length; + let last = obj; + let i7 = 0; + while (i7 < len2) { + const key = hit[i7]; + if (AST_NODE_PROPS_KEYS.includes(key) && isMessageAST(last)) { + return null; + } + const val = last[key]; + if (val === void 0) { + return null; + } + if (isFunction$2(last)) { + return null; + } + last = val; + i7++; + } + return last; + } + const DEFAULT_MODIFIER = (str) => str; + const DEFAULT_MESSAGE = (ctx) => ""; + const DEFAULT_MESSAGE_DATA_TYPE = "text"; + const DEFAULT_NORMALIZE = (values) => values.length === 0 ? "" : join$1(values); + const DEFAULT_INTERPOLATE = toDisplayString; + function pluralDefault(choice, choicesLength) { + choice = Math.abs(choice); + if (choicesLength === 2) { + return choice ? choice > 1 ? 1 : 0 : 1; + } + return choice ? Math.min(choice, 2) : 0; + } + function getPluralIndex(options) { + const index2 = isNumber$1(options.pluralIndex) ? options.pluralIndex : -1; + return options.named && (isNumber$1(options.named.count) || isNumber$1(options.named.n)) ? isNumber$1(options.named.count) ? options.named.count : isNumber$1(options.named.n) ? options.named.n : index2 : index2; + } + function normalizeNamed(pluralIndex, props) { + if (!props.count) { + props.count = pluralIndex; + } + if (!props.n) { + props.n = pluralIndex; + } + } + function createMessageContext(options = {}) { + const locale = options.locale; + const pluralIndex = getPluralIndex(options); + const pluralRule = isObject$6(options.pluralRules) && isString$2(locale) && isFunction$2(options.pluralRules[locale]) ? options.pluralRules[locale] : pluralDefault; + const orgPluralRule = isObject$6(options.pluralRules) && isString$2(locale) && isFunction$2(options.pluralRules[locale]) ? pluralDefault : void 0; + const plural = (messages2) => { + return messages2[pluralRule(pluralIndex, messages2.length, orgPluralRule)]; + }; + const _list = options.list || []; + const list = (index2) => _list[index2]; + const _named = options.named || create$4(); + isNumber$1(options.pluralIndex) && normalizeNamed(pluralIndex, _named); + const named = (key) => _named[key]; + function message2(key) { + const msg = isFunction$2(options.messages) ? options.messages(key) : isObject$6(options.messages) ? options.messages[key] : false; + return !msg ? options.parent ? options.parent.message(key) : DEFAULT_MESSAGE : msg; + } + const _modifier = (name) => options.modifiers ? options.modifiers[name] : DEFAULT_MODIFIER; + const normalize2 = isPlainObject$1(options.processor) && isFunction$2(options.processor.normalize) ? options.processor.normalize : DEFAULT_NORMALIZE; + const interpolate = isPlainObject$1(options.processor) && isFunction$2(options.processor.interpolate) ? options.processor.interpolate : DEFAULT_INTERPOLATE; + const type = isPlainObject$1(options.processor) && isString$2(options.processor.type) ? options.processor.type : DEFAULT_MESSAGE_DATA_TYPE; + const linked = (key, ...args) => { + const [arg1, arg2] = args; + let type2 = "text"; + let modifier = ""; + if (args.length === 1) { + if (isObject$6(arg1)) { + modifier = arg1.modifier || modifier; + type2 = arg1.type || type2; + } else if (isString$2(arg1)) { + modifier = arg1 || modifier; + } + } else if (args.length === 2) { + if (isString$2(arg1)) { + modifier = arg1 || modifier; + } + if (isString$2(arg2)) { + type2 = arg2 || type2; + } + } + const ret = message2(key)(ctx); + const msg = ( + // The message in vnode resolved with linked are returned as an array by processor.nomalize + type2 === "vnode" && isArray$2(ret) && modifier ? ret[0] : ret + ); + return modifier ? _modifier(modifier)(msg, type2) : msg; + }; + const ctx = { + [ + "list" + /* HelperNameMap.LIST */ + ]: list, + [ + "named" + /* HelperNameMap.NAMED */ + ]: named, + [ + "plural" + /* HelperNameMap.PLURAL */ + ]: plural, + [ + "linked" + /* HelperNameMap.LINKED */ + ]: linked, + [ + "message" + /* HelperNameMap.MESSAGE */ + ]: message2, + [ + "type" + /* HelperNameMap.TYPE */ + ]: type, + [ + "interpolate" + /* HelperNameMap.INTERPOLATE */ + ]: interpolate, + [ + "normalize" + /* HelperNameMap.NORMALIZE */ + ]: normalize2, + [ + "values" + /* HelperNameMap.VALUES */ + ]: assign$1(create$4(), _list, _named) + }; + return ctx; + } + let devtools = null; + function setDevToolsHook(hook) { + devtools = hook; + } + function initI18nDevTools(i18n2, version2, meta) { + devtools && devtools.emit("i18n:init", { + timestamp: Date.now(), + i18n: i18n2, + version: version2, + meta + }); + } + const translateDevTools = /* @__PURE__ */ createDevToolsHook( + "function:translate" + /* IntlifyDevToolsHooks.FunctionTranslate */ + ); + function createDevToolsHook(hook) { + return (payloads) => devtools && devtools.emit(hook, payloads); + } + const code$1$1 = CompileWarnCodes.__EXTEND_POINT__; + const inc$1$1 = incrementer(code$1$1); + const CoreWarnCodes = { + // 2 + FALLBACK_TO_TRANSLATE: inc$1$1(), + // 3 + CANNOT_FORMAT_NUMBER: inc$1$1(), + // 4 + FALLBACK_TO_NUMBER_FORMAT: inc$1$1(), + // 5 + CANNOT_FORMAT_DATE: inc$1$1(), + // 6 + FALLBACK_TO_DATE_FORMAT: inc$1$1(), + // 7 + EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1$1(), + // 8 + __EXTEND_POINT__: inc$1$1() + // 9 + }; + const code$2 = CompileErrorCodes.__EXTEND_POINT__; + const inc$2 = incrementer(code$2); + const CoreErrorCodes = { + INVALID_ARGUMENT: code$2, + // 17 + INVALID_DATE_ARGUMENT: inc$2(), + // 18 + INVALID_ISO_DATE_ARGUMENT: inc$2(), + // 19 + NOT_SUPPORT_NON_STRING_MESSAGE: inc$2(), + // 20 + NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc$2(), + // 21 + NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc$2(), + // 22 + NOT_SUPPORT_LOCALE_TYPE: inc$2(), + // 23 + __EXTEND_POINT__: inc$2() + // 24 + }; + function createCoreError(code2) { + return createCompileError(code2, null, void 0); + } + function getLocale(context, options) { + return options.locale != null ? resolveLocale(options.locale) : resolveLocale(context.locale); + } + let _resolveLocale; + function resolveLocale(locale) { + if (isString$2(locale)) { + return locale; + } else { + if (isFunction$2(locale)) { + if (locale.resolvedOnce && _resolveLocale != null) { + return _resolveLocale; + } else if (locale.constructor.name === "Function") { + const resolve = locale(); + if (isPromise(resolve)) { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE); + } + return _resolveLocale = resolve; + } else { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION); + } + } else { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE); + } + } + } + function fallbackWithSimple(ctx, fallback, start2) { + return [.../* @__PURE__ */ new Set([ + start2, + ...isArray$2(fallback) ? fallback : isObject$6(fallback) ? Object.keys(fallback) : isString$2(fallback) ? [fallback] : [start2] + ])]; + } + function fallbackWithLocaleChain(ctx, fallback, start2) { + const startLocale = isString$2(start2) ? start2 : DEFAULT_LOCALE$1; + const context = ctx; + if (!context.__localeChainCache) { + context.__localeChainCache = /* @__PURE__ */ new Map(); + } + let chain = context.__localeChainCache.get(startLocale); + if (!chain) { + chain = []; + let block2 = [start2]; + while (isArray$2(block2)) { + block2 = appendBlockToChain(chain, block2, fallback); + } + const defaults2 = isArray$2(fallback) || !isPlainObject$1(fallback) ? fallback : fallback["default"] ? fallback["default"] : null; + block2 = isString$2(defaults2) ? [defaults2] : defaults2; + if (isArray$2(block2)) { + appendBlockToChain(chain, block2, false); + } + context.__localeChainCache.set(startLocale, chain); + } + return chain; + } + function appendBlockToChain(chain, block2, blocks) { + let follow = true; + for (let i7 = 0; i7 < block2.length && isBoolean(follow); i7++) { + const locale = block2[i7]; + if (isString$2(locale)) { + follow = appendLocaleToChain(chain, block2[i7], blocks); + } + } + return follow; + } + function appendLocaleToChain(chain, locale, blocks) { + let follow; + const tokens = locale.split("-"); + do { + const target = tokens.join("-"); + follow = appendItemToChain(chain, target, blocks); + tokens.splice(-1, 1); + } while (tokens.length && follow === true); + return follow; + } + function appendItemToChain(chain, target, blocks) { + let follow = false; + if (!chain.includes(target)) { + follow = true; + if (target) { + follow = target[target.length - 1] !== "!"; + const locale = target.replace(/!/g, ""); + chain.push(locale); + if ((isArray$2(blocks) || isPlainObject$1(blocks)) && blocks[locale]) { + follow = blocks[locale]; + } + } + } + return follow; + } + const VERSION$1 = "9.14.5"; + const NOT_REOSLVED = -1; + const DEFAULT_LOCALE$1 = "en-US"; + const MISSING_RESOLVE_VALUE = ""; + const capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`; + function getDefaultLinkedModifiers() { + return { + upper: (val, type) => { + return type === "text" && isString$2(val) ? val.toUpperCase() : type === "vnode" && isObject$6(val) && "__v_isVNode" in val ? val.children.toUpperCase() : val; + }, + lower: (val, type) => { + return type === "text" && isString$2(val) ? val.toLowerCase() : type === "vnode" && isObject$6(val) && "__v_isVNode" in val ? val.children.toLowerCase() : val; + }, + capitalize: (val, type) => { + return type === "text" && isString$2(val) ? capitalize(val) : type === "vnode" && isObject$6(val) && "__v_isVNode" in val ? capitalize(val.children) : val; + } + }; + } + let _compiler; + function registerMessageCompiler(compiler) { + _compiler = compiler; + } + let _resolver; + function registerMessageResolver(resolver) { + _resolver = resolver; + } + let _fallbacker; + function registerLocaleFallbacker(fallbacker) { + _fallbacker = fallbacker; + } + let _additionalMeta = null; + const setAdditionalMeta = /* @__NO_SIDE_EFFECTS__ */ (meta) => { + _additionalMeta = meta; + }; + const getAdditionalMeta = /* @__NO_SIDE_EFFECTS__ */ () => _additionalMeta; + let _fallbackContext = null; + const setFallbackContext = (context) => { + _fallbackContext = context; + }; + const getFallbackContext = () => _fallbackContext; + let _cid = 0; + function createCoreContext(options = {}) { + const onWarn = isFunction$2(options.onWarn) ? options.onWarn : warn; + const version2 = isString$2(options.version) ? options.version : VERSION$1; + const locale = isString$2(options.locale) || isFunction$2(options.locale) ? options.locale : DEFAULT_LOCALE$1; + const _locale = isFunction$2(locale) ? DEFAULT_LOCALE$1 : locale; + const fallbackLocale = isArray$2(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || isString$2(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale; + const messages2 = isPlainObject$1(options.messages) ? options.messages : createResources(_locale); + const datetimeFormats = isPlainObject$1(options.datetimeFormats) ? options.datetimeFormats : createResources(_locale); + const numberFormats = isPlainObject$1(options.numberFormats) ? options.numberFormats : createResources(_locale); + const modifiers = assign$1(create$4(), options.modifiers, getDefaultLinkedModifiers()); + const pluralRules = options.pluralRules || create$4(); + const missing = isFunction$2(options.missing) ? options.missing : null; + const missingWarn = isBoolean(options.missingWarn) || isRegExp$2(options.missingWarn) ? options.missingWarn : true; + const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp$2(options.fallbackWarn) ? options.fallbackWarn : true; + const fallbackFormat = !!options.fallbackFormat; + const unresolving = !!options.unresolving; + const postTranslation = isFunction$2(options.postTranslation) ? options.postTranslation : null; + const processor = isPlainObject$1(options.processor) ? options.processor : null; + const warnHtmlMessage = isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true; + const escapeParameter = !!options.escapeParameter; + const messageCompiler = isFunction$2(options.messageCompiler) ? options.messageCompiler : _compiler; + const messageResolver = isFunction$2(options.messageResolver) ? options.messageResolver : _resolver || resolveWithKeyValue; + const localeFallbacker = isFunction$2(options.localeFallbacker) ? options.localeFallbacker : _fallbacker || fallbackWithSimple; + const fallbackContext = isObject$6(options.fallbackContext) ? options.fallbackContext : void 0; + const internalOptions = options; + const __datetimeFormatters = isObject$6(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map(); + const __numberFormatters = isObject$6(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map(); + const __meta = isObject$6(internalOptions.__meta) ? internalOptions.__meta : {}; + _cid++; + const context = { + version: version2, + cid: _cid, + locale, + fallbackLocale, + messages: messages2, + modifiers, + pluralRules, + missing, + missingWarn, + fallbackWarn, + fallbackFormat, + unresolving, + postTranslation, + processor, + warnHtmlMessage, + escapeParameter, + messageCompiler, + messageResolver, + localeFallbacker, + fallbackContext, + onWarn, + __meta + }; + { + context.datetimeFormats = datetimeFormats; + context.numberFormats = numberFormats; + context.__datetimeFormatters = __datetimeFormatters; + context.__numberFormatters = __numberFormatters; + } + if (__INTLIFY_PROD_DEVTOOLS__) { + initI18nDevTools(context, version2, __meta); + } + return context; + } + const createResources = (locale) => ({ [locale]: create$4() }); + function handleMissing(context, key, locale, missingWarn, type) { + const { missing, onWarn } = context; + if (missing !== null) { + const ret = missing(context, locale, key, type); + return isString$2(ret) ? ret : key; + } else { + return key; + } + } + function updateFallbackLocale(ctx, locale, fallback) { + const context = ctx; + context.__localeChainCache = /* @__PURE__ */ new Map(); + ctx.localeFallbacker(ctx, fallback, locale); + } + function isAlmostSameLocale(locale, compareLocale) { + if (locale === compareLocale) + return false; + return locale.split("-")[0] === compareLocale.split("-")[0]; + } + function isImplicitFallback(targetLocale, locales) { + const index2 = locales.indexOf(targetLocale); + if (index2 === -1) { + return false; + } + for (let i7 = index2 + 1; i7 < locales.length; i7++) { + if (isAlmostSameLocale(targetLocale, locales[i7])) { + return true; + } + } + return false; + } + function format$2(ast) { + const msg = (ctx) => formatParts(ctx, ast); + return msg; + } + function formatParts(ctx, ast) { + const body = resolveBody(ast); + if (body == null) { + throw createUnhandleNodeError( + 0 + /* NodeTypes.Resource */ + ); + } + const type = resolveType(body); + if (type === 1) { + const plural = body; + const cases = resolveCases(plural); + return ctx.plural(cases.reduce((messages2, c) => [ + ...messages2, + formatMessageParts(ctx, c) + ], [])); + } else { + return formatMessageParts(ctx, body); + } + } + function formatMessageParts(ctx, node) { + const static_ = resolveStatic(node); + if (static_ != null) { + return ctx.type === "text" ? static_ : ctx.normalize([static_]); + } else { + const messages2 = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []); + return ctx.normalize(messages2); + } + } + function formatMessagePart(ctx, node) { + const type = resolveType(node); + switch (type) { + case 3: { + return resolveValue$1(node, type); + } + case 9: { + return resolveValue$1(node, type); + } + case 4: { + const named = node; + if (hasOwn$1(named, "k") && named.k) { + return ctx.interpolate(ctx.named(named.k)); + } + if (hasOwn$1(named, "key") && named.key) { + return ctx.interpolate(ctx.named(named.key)); + } + throw createUnhandleNodeError(type); + } + case 5: { + const list = node; + if (hasOwn$1(list, "i") && isNumber$1(list.i)) { + return ctx.interpolate(ctx.list(list.i)); + } + if (hasOwn$1(list, "index") && isNumber$1(list.index)) { + return ctx.interpolate(ctx.list(list.index)); + } + throw createUnhandleNodeError(type); + } + case 6: { + const linked = node; + const modifier = resolveLinkedModifier(linked); + const key = resolveLinkedKey(linked); + return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : void 0, ctx.type); + } + case 7: { + return resolveValue$1(node, type); + } + case 8: { + return resolveValue$1(node, type); + } + default: + throw new Error(`unhandled node on format message part: ${type}`); + } + } + const defaultOnCacheKey = (message2) => message2; + let compileCache = create$4(); + function baseCompile(message2, options = {}) { + let detectError = false; + const onError = options.onError || defaultOnError; + options.onError = (err) => { + detectError = true; + onError(err); + }; + return { ...baseCompile$1(message2, options), detectError }; + } + const compileToFunction = /* @__NO_SIDE_EFFECTS__ */ (message2, context) => { + if (!isString$2(message2)) { + throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE); + } + { + isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true; + const onCacheKey = context.onCacheKey || defaultOnCacheKey; + const cacheKey = onCacheKey(message2); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + const { code: code2, detectError } = baseCompile(message2, context); + const msg = new Function(`return ${code2}`)(); + return !detectError ? compileCache[cacheKey] = msg : msg; + } + }; + function compile(message2, context) { + if (__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__ && isString$2(message2)) { + isBoolean(context.warnHtmlMessage) ? context.warnHtmlMessage : true; + const onCacheKey = context.onCacheKey || defaultOnCacheKey; + const cacheKey = onCacheKey(message2); + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + const { ast, detectError } = baseCompile(message2, { + ...context, + location: false, + jit: true + }); + const msg = format$2(ast); + return !detectError ? compileCache[cacheKey] = msg : msg; + } else { + const cacheKey = message2.cacheKey; + if (cacheKey) { + const cached = compileCache[cacheKey]; + if (cached) { + return cached; + } + return compileCache[cacheKey] = format$2(message2); + } else { + return format$2(message2); + } + } + } + const NOOP_MESSAGE_FUNCTION = () => ""; + const isMessageFunction = (val) => isFunction$2(val); + function translate$1(context, ...args) { + const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages: messages2 } = context; + const [key, options] = parseTranslateArgs(...args); + const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn; + const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn; + const escapeParameter = isBoolean(options.escapeParameter) ? options.escapeParameter : context.escapeParameter; + const resolvedMessage = !!options.resolvedMessage; + const defaultMsgOrKey = isString$2(options.default) || isBoolean(options.default) ? !isBoolean(options.default) ? options.default : !messageCompiler ? () => key : key : fallbackFormat ? !messageCompiler ? () => key : key : ""; + const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== ""; + const locale = getLocale(context, options); + escapeParameter && escapeParams(options); + let [formatScope, targetLocale, message2] = !resolvedMessage ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) : [ + key, + locale, + messages2[locale] || create$4() + ]; + let format2 = formatScope; + let cacheBaseKey = key; + if (!resolvedMessage && !(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2))) { + if (enableDefaultMsg) { + format2 = defaultMsgOrKey; + cacheBaseKey = format2; + } + } + if (!resolvedMessage && (!(isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) || !isString$2(targetLocale))) { + return unresolving ? NOT_REOSLVED : key; + } + let occurred = false; + const onError = () => { + occurred = true; + }; + const msg = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) : format2; + if (occurred) { + return format2; + } + const ctxOptions = getMessageContextOptions(context, targetLocale, message2, options); + const msgContext = createMessageContext(ctxOptions); + const messaged = evaluateMessage(context, msg, msgContext); + let ret = postTranslation ? postTranslation(messaged, key) : messaged; + if (escapeParameter && isString$2(ret)) { + ret = sanitizeTranslatedHtml(ret); + } + if (__INTLIFY_PROD_DEVTOOLS__) { + const payloads = { + timestamp: Date.now(), + key: isString$2(key) ? key : isMessageFunction(format2) ? format2.key : "", + locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""), + format: isString$2(format2) ? format2 : isMessageFunction(format2) ? format2.source : "", + message: ret + }; + payloads.meta = assign$1({}, context.__meta, /* @__PURE__ */ getAdditionalMeta() || {}); + translateDevTools(payloads); + } + return ret; + } + function escapeParams(options) { + if (isArray$2(options.list)) { + options.list = options.list.map((item) => isString$2(item) ? escapeHtml(item) : item); + } else if (isObject$6(options.named)) { + Object.keys(options.named).forEach((key) => { + if (isString$2(options.named[key])) { + options.named[key] = escapeHtml(options.named[key]); + } + }); + } + } + function resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) { + const { messages: messages2, onWarn, messageResolver: resolveValue2, localeFallbacker } = context; + const locales = localeFallbacker(context, fallbackLocale, locale); + let message2 = create$4(); + let targetLocale; + let format2 = null; + const type = "translate"; + for (let i7 = 0; i7 < locales.length; i7++) { + targetLocale = locales[i7]; + message2 = messages2[targetLocale] || create$4(); + if ((format2 = resolveValue2(message2, key)) === null) { + format2 = message2[key]; + } + if (isString$2(format2) || isMessageAST(format2) || isMessageFunction(format2)) { + break; + } + if (!isImplicitFallback(targetLocale, locales)) { + const missingRet = handleMissing( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + key, + targetLocale, + missingWarn, + type + ); + if (missingRet !== key) { + format2 = missingRet; + } + } + } + return [format2, targetLocale, message2]; + } + function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, onError) { + const { messageCompiler, warnHtmlMessage } = context; + if (isMessageFunction(format2)) { + const msg2 = format2; + msg2.locale = msg2.locale || targetLocale; + msg2.key = msg2.key || key; + return msg2; + } + if (messageCompiler == null) { + const msg2 = () => format2; + msg2.locale = targetLocale; + msg2.key = key; + return msg2; + } + const msg = messageCompiler(format2, getCompileContext(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, onError)); + msg.locale = targetLocale; + msg.key = key; + msg.source = format2; + return msg; + } + function evaluateMessage(context, msg, msgCtx) { + const messaged = msg(msgCtx); + return messaged; + } + function parseTranslateArgs(...args) { + const [arg1, arg2, arg3] = args; + const options = create$4(); + if (!isString$2(arg1) && !isNumber$1(arg1) && !isMessageFunction(arg1) && !isMessageAST(arg1)) { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + const key = isNumber$1(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1; + if (isNumber$1(arg2)) { + options.plural = arg2; + } else if (isString$2(arg2)) { + options.default = arg2; + } else if (isPlainObject$1(arg2) && !isEmptyObject(arg2)) { + options.named = arg2; + } else if (isArray$2(arg2)) { + options.list = arg2; + } + if (isNumber$1(arg3)) { + options.plural = arg3; + } else if (isString$2(arg3)) { + options.default = arg3; + } else if (isPlainObject$1(arg3)) { + assign$1(options, arg3); + } + return [key, options]; + } + function getCompileContext(context, locale, key, source, warnHtmlMessage, onError) { + return { + locale, + key, + warnHtmlMessage, + onError: (err) => { + onError && onError(err); + { + throw err; + } + }, + onCacheKey: (source2) => generateFormatCacheKey(locale, key, source2) + }; + } + function getMessageContextOptions(context, locale, message2, options) { + const { modifiers, pluralRules, messageResolver: resolveValue2, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context; + const resolveMessage = (key) => { + let val = resolveValue2(message2, key); + if (val == null && fallbackContext) { + const [, , message22] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn); + val = resolveValue2(message22, key); + } + if (isString$2(val) || isMessageAST(val)) { + let occurred = false; + const onError = () => { + occurred = true; + }; + const msg = compileMessageFormat(context, key, locale, val, key, onError); + return !occurred ? msg : NOOP_MESSAGE_FUNCTION; + } else if (isMessageFunction(val)) { + return val; + } else { + return NOOP_MESSAGE_FUNCTION; + } + }; + const ctxOptions = { + locale, + modifiers, + pluralRules, + messages: resolveMessage + }; + if (context.processor) { + ctxOptions.processor = context.processor; + } + if (options.list) { + ctxOptions.list = options.list; + } + if (options.named) { + ctxOptions.named = options.named; + } + if (isNumber$1(options.plural)) { + ctxOptions.pluralIndex = options.plural; + } + return ctxOptions; + } + function datetime(context, ...args) { + const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; + const { __datetimeFormatters } = context; + const [key, value, options, overrides] = parseDateTimeArgs(...args); + const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn; + isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn; + const part = !!options.part; + const locale = getLocale(context, options); + const locales = localeFallbacker( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + fallbackLocale, + locale + ); + if (!isString$2(key) || key === "") { + return new Intl.DateTimeFormat(locale, overrides).format(value); + } + let datetimeFormat = {}; + let targetLocale; + let format2 = null; + const type = "datetime format"; + for (let i7 = 0; i7 < locales.length; i7++) { + targetLocale = locales[i7]; + datetimeFormat = datetimeFormats[targetLocale] || {}; + format2 = datetimeFormat[key]; + if (isPlainObject$1(format2)) + break; + handleMissing(context, key, targetLocale, missingWarn, type); + } + if (!isPlainObject$1(format2) || !isString$2(targetLocale)) { + return unresolving ? NOT_REOSLVED : key; + } + let id2 = `${targetLocale}__${key}`; + if (!isEmptyObject(overrides)) { + id2 = `${id2}__${JSON.stringify(overrides)}`; + } + let formatter = __datetimeFormatters.get(id2); + if (!formatter) { + formatter = new Intl.DateTimeFormat(targetLocale, assign$1({}, format2, overrides)); + __datetimeFormatters.set(id2, formatter); + } + return !part ? formatter.format(value) : formatter.formatToParts(value); + } + const DATETIME_FORMAT_OPTIONS_KEYS = [ + "localeMatcher", + "weekday", + "era", + "year", + "month", + "day", + "hour", + "minute", + "second", + "timeZoneName", + "formatMatcher", + "hour12", + "timeZone", + "dateStyle", + "timeStyle", + "calendar", + "dayPeriod", + "numberingSystem", + "hourCycle", + "fractionalSecondDigits" + ]; + function parseDateTimeArgs(...args) { + const [arg1, arg2, arg3, arg4] = args; + const options = create$4(); + let overrides = create$4(); + let value; + if (isString$2(arg1)) { + const matches2 = arg1.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/); + if (!matches2) { + throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); + } + const dateTime = matches2[3] ? matches2[3].trim().startsWith("T") ? `${matches2[1].trim()}${matches2[3].trim()}` : `${matches2[1].trim()}T${matches2[3].trim()}` : matches2[1].trim(); + value = new Date(dateTime); + try { + value.toISOString(); + } catch (e7) { + throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT); + } + } else if (isDate$1(arg1)) { + if (isNaN(arg1.getTime())) { + throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT); + } + value = arg1; + } else if (isNumber$1(arg1)) { + value = arg1; + } else { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + if (isString$2(arg2)) { + options.key = arg2; + } else if (isPlainObject$1(arg2)) { + Object.keys(arg2).forEach((key) => { + if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) { + overrides[key] = arg2[key]; + } else { + options[key] = arg2[key]; + } + }); + } + if (isString$2(arg3)) { + options.locale = arg3; + } else if (isPlainObject$1(arg3)) { + overrides = arg3; + } + if (isPlainObject$1(arg4)) { + overrides = arg4; + } + return [options.key || "", value, options, overrides]; + } + function clearDateTimeFormat(ctx, locale, format2) { + const context = ctx; + for (const key in format2) { + const id2 = `${locale}__${key}`; + if (!context.__datetimeFormatters.has(id2)) { + continue; + } + context.__datetimeFormatters.delete(id2); + } + } + function number(context, ...args) { + const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context; + const { __numberFormatters } = context; + const [key, value, options, overrides] = parseNumberArgs(...args); + const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn; + isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn; + const part = !!options.part; + const locale = getLocale(context, options); + const locales = localeFallbacker( + context, + // eslint-disable-line @typescript-eslint/no-explicit-any + fallbackLocale, + locale + ); + if (!isString$2(key) || key === "") { + return new Intl.NumberFormat(locale, overrides).format(value); + } + let numberFormat = {}; + let targetLocale; + let format2 = null; + const type = "number format"; + for (let i7 = 0; i7 < locales.length; i7++) { + targetLocale = locales[i7]; + numberFormat = numberFormats[targetLocale] || {}; + format2 = numberFormat[key]; + if (isPlainObject$1(format2)) + break; + handleMissing(context, key, targetLocale, missingWarn, type); + } + if (!isPlainObject$1(format2) || !isString$2(targetLocale)) { + return unresolving ? NOT_REOSLVED : key; + } + let id2 = `${targetLocale}__${key}`; + if (!isEmptyObject(overrides)) { + id2 = `${id2}__${JSON.stringify(overrides)}`; + } + let formatter = __numberFormatters.get(id2); + if (!formatter) { + formatter = new Intl.NumberFormat(targetLocale, assign$1({}, format2, overrides)); + __numberFormatters.set(id2, formatter); + } + return !part ? formatter.format(value) : formatter.formatToParts(value); + } + const NUMBER_FORMAT_OPTIONS_KEYS = [ + "localeMatcher", + "style", + "currency", + "currencyDisplay", + "currencySign", + "useGrouping", + "minimumIntegerDigits", + "minimumFractionDigits", + "maximumFractionDigits", + "minimumSignificantDigits", + "maximumSignificantDigits", + "compactDisplay", + "notation", + "signDisplay", + "unit", + "unitDisplay", + "roundingMode", + "roundingPriority", + "roundingIncrement", + "trailingZeroDisplay" + ]; + function parseNumberArgs(...args) { + const [arg1, arg2, arg3, arg4] = args; + const options = create$4(); + let overrides = create$4(); + if (!isNumber$1(arg1)) { + throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT); + } + const value = arg1; + if (isString$2(arg2)) { + options.key = arg2; + } else if (isPlainObject$1(arg2)) { + Object.keys(arg2).forEach((key) => { + if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) { + overrides[key] = arg2[key]; + } else { + options[key] = arg2[key]; + } + }); + } + if (isString$2(arg3)) { + options.locale = arg3; + } else if (isPlainObject$1(arg3)) { + overrides = arg3; + } + if (isPlainObject$1(arg4)) { + overrides = arg4; + } + return [options.key || "", value, options, overrides]; + } + function clearNumberFormat(ctx, locale, format2) { + const context = ctx; + for (const key in format2) { + const id2 = `${locale}__${key}`; + if (!context.__numberFormatters.has(id2)) { + continue; + } + context.__numberFormatters.delete(id2); + } + } + { + initFeatureFlags$1(); + } + /*! + * vue-i18n v9.14.5 + * (c) 2025 kazuya kawaguchi + * Released under the MIT License. + */ + const VERSION = "9.14.5"; + function initFeatureFlags() { + if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") { + getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true; + } + if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") { + getGlobalThis().__VUE_I18N_LEGACY_API__ = true; + } + if (typeof __INTLIFY_JIT_COMPILATION__ !== "boolean") { + getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false; + } + if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== "boolean") { + getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false; + } + if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") { + getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false; + } + } + const code$1 = CoreWarnCodes.__EXTEND_POINT__; + const inc$1 = incrementer(code$1); + ({ + // 9 + NOT_SUPPORTED_PRESERVE: inc$1(), + // 10 + NOT_SUPPORTED_FORMATTER: inc$1(), + // 11 + NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), + // 12 + NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), + // 13 + COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), + // 14 + NOT_FOUND_PARENT_SCOPE: inc$1(), + // 15 + IGNORE_OBJ_FLATTEN: inc$1(), + // 16 + NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), + // 17 + NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() + // 18 + }); + const code = CoreErrorCodes.__EXTEND_POINT__; + const inc = incrementer(code); + const I18nErrorCodes = { + // composer module errors + UNEXPECTED_RETURN_TYPE: code, + // 24 + // legacy module errors + INVALID_ARGUMENT: inc(), + // 25 + // i18n module errors + MUST_BE_CALL_SETUP_TOP: inc(), + // 26 + NOT_INSTALLED: inc(), + // 27 + NOT_AVAILABLE_IN_LEGACY_MODE: inc(), + // 28 + // directive module errors + REQUIRED_VALUE: inc(), + // 29 + INVALID_VALUE: inc(), + // 30 + // vue-devtools errors + CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), + // 31 + NOT_INSTALLED_WITH_PROVIDE: inc(), + // 32 + // unexpected error + UNEXPECTED_ERROR: inc(), + // 33 + // not compatible legacy vue-i18n constructor + NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), + // 34 + // bridge support vue 2.x only + BRIDGE_SUPPORT_VUE_2_ONLY: inc(), + // 35 + // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n`` + MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), + // 36 + // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly + NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), + // 37 + // for enhancement + __EXTEND_POINT__: inc() + // 38 + }; + function createI18nError(code2, ...args) { + return createCompileError(code2, null, void 0); + } + const TranslateVNodeSymbol = /* @__PURE__ */ makeSymbol("__translateVNode"); + const DatetimePartsSymbol = /* @__PURE__ */ makeSymbol("__datetimeParts"); + const NumberPartsSymbol = /* @__PURE__ */ makeSymbol("__numberParts"); + const SetPluralRulesSymbol = makeSymbol("__setPluralRules"); + const InejctWithOptionSymbol = /* @__PURE__ */ makeSymbol("__injectWithOption"); + const DisposeSymbol = /* @__PURE__ */ makeSymbol("__dispose"); + function handleFlatJson(obj) { + if (!isObject$6(obj)) { + return obj; + } + if (isMessageAST(obj)) { + return obj; + } + for (const key in obj) { + if (!hasOwn$1(obj, key)) { + continue; + } + if (!key.includes(".")) { + if (isObject$6(obj[key])) { + handleFlatJson(obj[key]); + } + } else { + const subKeys = key.split("."); + const lastIndex = subKeys.length - 1; + let currentObj = obj; + let hasStringValue = false; + for (let i7 = 0; i7 < lastIndex; i7++) { + if (subKeys[i7] === "__proto__") { + throw new Error(`unsafe key: ${subKeys[i7]}`); + } + if (!(subKeys[i7] in currentObj)) { + currentObj[subKeys[i7]] = create$4(); + } + if (!isObject$6(currentObj[subKeys[i7]])) { + hasStringValue = true; + break; + } + currentObj = currentObj[subKeys[i7]]; + } + if (!hasStringValue) { + if (!isMessageAST(currentObj)) { + currentObj[subKeys[lastIndex]] = obj[key]; + delete obj[key]; + } else { + if (!AST_NODE_PROPS_KEYS.includes(subKeys[lastIndex])) { + delete obj[key]; + } + } + } + if (!isMessageAST(currentObj)) { + const target = currentObj[subKeys[lastIndex]]; + if (isObject$6(target)) { + handleFlatJson(target); + } + } + } + } + return obj; + } + function getLocaleMessages(locale, options) { + const { messages: messages2, __i18n, messageResolver, flatJson } = options; + const ret = isPlainObject$1(messages2) ? messages2 : isArray$2(__i18n) ? create$4() : { [locale]: create$4() }; + if (isArray$2(__i18n)) { + __i18n.forEach((custom) => { + if ("locale" in custom && "resource" in custom) { + const { locale: locale2, resource } = custom; + if (locale2) { + ret[locale2] = ret[locale2] || create$4(); + deepCopy(resource, ret[locale2]); + } else { + deepCopy(resource, ret); + } + } else { + isString$2(custom) && deepCopy(JSON.parse(custom), ret); + } + }); + } + if (messageResolver == null && flatJson) { + for (const key in ret) { + if (hasOwn$1(ret, key)) { + handleFlatJson(ret[key]); + } + } + } + return ret; + } + function getComponentOptions(instance) { + return instance.type; + } + function adjustI18nResources(gl2, options, componentOptions) { + let messages2 = isObject$6(options.messages) ? options.messages : create$4(); + if ("__i18nGlobal" in componentOptions) { + messages2 = getLocaleMessages(gl2.locale.value, { + messages: messages2, + __i18n: componentOptions.__i18nGlobal + }); + } + const locales = Object.keys(messages2); + if (locales.length) { + locales.forEach((locale) => { + gl2.mergeLocaleMessage(locale, messages2[locale]); + }); + } + { + if (isObject$6(options.datetimeFormats)) { + const locales2 = Object.keys(options.datetimeFormats); + if (locales2.length) { + locales2.forEach((locale) => { + gl2.mergeDateTimeFormat(locale, options.datetimeFormats[locale]); + }); + } + } + if (isObject$6(options.numberFormats)) { + const locales2 = Object.keys(options.numberFormats); + if (locales2.length) { + locales2.forEach((locale) => { + gl2.mergeNumberFormat(locale, options.numberFormats[locale]); + }); + } + } + } + } + function createTextNode$1(key) { + return require$$0.createVNode(require$$0.Text, null, key, 0); + } + const DEVTOOLS_META = "__INTLIFY_META__"; + const NOOP_RETURN_ARRAY = () => []; + const NOOP_RETURN_FALSE = () => false; + let composerID = 0; + function defineCoreMissingHandler(missing) { + return (ctx, locale, key, type) => { + return missing(locale, key, require$$0.getCurrentInstance() || void 0, type); + }; + } + const getMetaInfo = /* @__NO_SIDE_EFFECTS__ */ () => { + const instance = require$$0.getCurrentInstance(); + let meta = null; + return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META]) ? { [DEVTOOLS_META]: meta } : null; + }; + function createComposer(options = {}, VueI18nLegacy) { + const { __root, __injectWithOption } = options; + const _isGlobal = __root === void 0; + const flatJson = options.flatJson; + const _ref = inBrowser ? require$$0.ref : require$$0.shallowRef; + const translateExistCompatible = !!options.translateExistCompatible; + let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true; + const _locale = _ref( + // prettier-ignore + __root && _inheritLocale ? __root.locale.value : isString$2(options.locale) ? options.locale : DEFAULT_LOCALE$1 + ); + const _fallbackLocale = _ref( + // prettier-ignore + __root && _inheritLocale ? __root.fallbackLocale.value : isString$2(options.fallbackLocale) || isArray$2(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value + ); + const _messages = _ref(getLocaleMessages(_locale.value, options)); + const _datetimeFormats = _ref(isPlainObject$1(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} }); + const _numberFormats = _ref(isPlainObject$1(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} }); + let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp$2(options.missingWarn) ? options.missingWarn : true; + let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp$2(options.fallbackWarn) ? options.fallbackWarn : true; + let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true; + let _fallbackFormat = !!options.fallbackFormat; + let _missing = isFunction$2(options.missing) ? options.missing : null; + let _runtimeMissing = isFunction$2(options.missing) ? defineCoreMissingHandler(options.missing) : null; + let _postTranslation = isFunction$2(options.postTranslation) ? options.postTranslation : null; + let _warnHtmlMessage = __root ? __root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true; + let _escapeParameter = !!options.escapeParameter; + const _modifiers = __root ? __root.modifiers : isPlainObject$1(options.modifiers) ? options.modifiers : {}; + let _pluralRules = options.pluralRules || __root && __root.pluralRules; + let _context; + const getCoreContext = () => { + _isGlobal && setFallbackContext(null); + const ctxOptions = { + version: VERSION, + locale: _locale.value, + fallbackLocale: _fallbackLocale.value, + messages: _messages.value, + modifiers: _modifiers, + pluralRules: _pluralRules, + missing: _runtimeMissing === null ? void 0 : _runtimeMissing, + missingWarn: _missingWarn, + fallbackWarn: _fallbackWarn, + fallbackFormat: _fallbackFormat, + unresolving: true, + postTranslation: _postTranslation === null ? void 0 : _postTranslation, + warnHtmlMessage: _warnHtmlMessage, + escapeParameter: _escapeParameter, + messageResolver: options.messageResolver, + messageCompiler: options.messageCompiler, + __meta: { framework: "vue" } + }; + { + ctxOptions.datetimeFormats = _datetimeFormats.value; + ctxOptions.numberFormats = _numberFormats.value; + ctxOptions.__datetimeFormatters = isPlainObject$1(_context) ? _context.__datetimeFormatters : void 0; + ctxOptions.__numberFormatters = isPlainObject$1(_context) ? _context.__numberFormatters : void 0; + } + const ctx = createCoreContext(ctxOptions); + _isGlobal && setFallbackContext(ctx); + return ctx; + }; + _context = getCoreContext(); + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + function trackReactivityValues() { + return [ + _locale.value, + _fallbackLocale.value, + _messages.value, + _datetimeFormats.value, + _numberFormats.value + ]; + } + const locale = require$$0.computed({ + get: () => _locale.value, + set: (val) => { + _locale.value = val; + _context.locale = _locale.value; + } + }); + const fallbackLocale = require$$0.computed({ + get: () => _fallbackLocale.value, + set: (val) => { + _fallbackLocale.value = val; + _context.fallbackLocale = _fallbackLocale.value; + updateFallbackLocale(_context, _locale.value, val); + } + }); + const messages2 = require$$0.computed(() => _messages.value); + const datetimeFormats = /* @__PURE__ */ require$$0.computed(() => _datetimeFormats.value); + const numberFormats = /* @__PURE__ */ require$$0.computed(() => _numberFormats.value); + function getPostTranslationHandler() { + return isFunction$2(_postTranslation) ? _postTranslation : null; + } + function setPostTranslationHandler(handler) { + _postTranslation = handler; + _context.postTranslation = handler; + } + function getMissingHandler() { + return _missing; + } + function setMissingHandler(handler) { + if (handler !== null) { + _runtimeMissing = defineCoreMissingHandler(handler); + } + _missing = handler; + _context.missing = _runtimeMissing; + } + const wrapWithDeps = (fn2, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => { + trackReactivityValues(); + let ret; + try { + if (__INTLIFY_PROD_DEVTOOLS__) { + /* @__PURE__ */ setAdditionalMeta(/* @__PURE__ */ getMetaInfo()); + } + if (!_isGlobal) { + _context.fallbackContext = __root ? getFallbackContext() : void 0; + } + ret = fn2(_context); + } finally { + if (__INTLIFY_PROD_DEVTOOLS__) ; + if (!_isGlobal) { + _context.fallbackContext = void 0; + } + } + if (warnType !== "translate exists" && // for not `te` (e.g `t`) + isNumber$1(ret) && ret === NOT_REOSLVED || warnType === "translate exists" && !ret) { + const [key, arg2] = argumentParser(); + return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key); + } else if (successCondition(ret)) { + return ret; + } else { + throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE); + } + }; + function t(...args) { + return wrapWithDeps((context) => Reflect.apply(translate$1, null, [context, ...args]), () => parseTranslateArgs(...args), "translate", (root) => Reflect.apply(root.t, root, [...args]), (key) => key, (val) => isString$2(val)); + } + function rt2(...args) { + const [arg1, arg2, arg3] = args; + if (arg3 && !isObject$6(arg3)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + return t(...[arg1, arg2, assign$1({ resolvedMessage: true }, arg3 || {})]); + } + function d(...args) { + return wrapWithDeps((context) => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), "datetime format", (root) => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); + } + function n(...args) { + return wrapWithDeps((context) => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), "number format", (root) => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, (val) => isString$2(val)); + } + function normalize2(values) { + return values.map((val) => isString$2(val) || isNumber$1(val) || isBoolean(val) ? createTextNode$1(String(val)) : val); + } + const interpolate = (val) => val; + const processor = { + normalize: normalize2, + interpolate, + type: "vnode" + }; + function translateVNode(...args) { + return wrapWithDeps( + (context) => { + let ret; + const _context2 = context; + try { + _context2.processor = processor; + ret = Reflect.apply(translate$1, null, [_context2, ...args]); + } finally { + _context2.processor = null; + } + return ret; + }, + () => parseTranslateArgs(...args), + "translate", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root) => root[TranslateVNodeSymbol](...args), + (key) => [createTextNode$1(key)], + (val) => isArray$2(val) + ); + } + function numberParts(...args) { + return wrapWithDeps( + (context) => Reflect.apply(number, null, [context, ...args]), + () => parseNumberArgs(...args), + "number format", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root) => root[NumberPartsSymbol](...args), + NOOP_RETURN_ARRAY, + (val) => isString$2(val) || isArray$2(val) + ); + } + function datetimeParts(...args) { + return wrapWithDeps( + (context) => Reflect.apply(datetime, null, [context, ...args]), + () => parseDateTimeArgs(...args), + "datetime format", + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (root) => root[DatetimePartsSymbol](...args), + NOOP_RETURN_ARRAY, + (val) => isString$2(val) || isArray$2(val) + ); + } + function setPluralRules(rules) { + _pluralRules = rules; + _context.pluralRules = _pluralRules; + } + function te(key, locale2) { + return wrapWithDeps(() => { + if (!key) { + return false; + } + const targetLocale = isString$2(locale2) ? locale2 : _locale.value; + const message2 = getLocaleMessage(targetLocale); + const resolved = _context.messageResolver(message2, key); + return !translateExistCompatible ? isMessageAST(resolved) || isMessageFunction(resolved) || isString$2(resolved) : resolved != null; + }, () => [key], "translate exists", (root) => { + return Reflect.apply(root.te, root, [key, locale2]); + }, NOOP_RETURN_FALSE, (val) => isBoolean(val)); + } + function resolveMessages(key) { + let messages22 = null; + const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value); + for (let i7 = 0; i7 < locales.length; i7++) { + const targetLocaleMessages = _messages.value[locales[i7]] || {}; + const messageValue = _context.messageResolver(targetLocaleMessages, key); + if (messageValue != null) { + messages22 = messageValue; + break; + } + } + return messages22; + } + function tm2(key) { + const messages22 = resolveMessages(key); + return messages22 != null ? messages22 : __root ? __root.tm(key) || {} : {}; + } + function getLocaleMessage(locale2) { + return _messages.value[locale2] || {}; + } + function setLocaleMessage(locale2, message2) { + if (flatJson) { + const _message = { [locale2]: message2 }; + for (const key in _message) { + if (hasOwn$1(_message, key)) { + handleFlatJson(_message[key]); + } + } + message2 = _message[locale2]; + } + _messages.value[locale2] = message2; + _context.messages = _messages.value; + } + function mergeLocaleMessage(locale2, message2) { + _messages.value[locale2] = _messages.value[locale2] || {}; + const _message = { [locale2]: message2 }; + if (flatJson) { + for (const key in _message) { + if (hasOwn$1(_message, key)) { + handleFlatJson(_message[key]); + } + } + } + message2 = _message[locale2]; + deepCopy(message2, _messages.value[locale2]); + _context.messages = _messages.value; + } + function getDateTimeFormat(locale2) { + return _datetimeFormats.value[locale2] || {}; + } + function setDateTimeFormat(locale2, format2) { + _datetimeFormats.value[locale2] = format2; + _context.datetimeFormats = _datetimeFormats.value; + clearDateTimeFormat(_context, locale2, format2); + } + function mergeDateTimeFormat(locale2, format2) { + _datetimeFormats.value[locale2] = assign$1(_datetimeFormats.value[locale2] || {}, format2); + _context.datetimeFormats = _datetimeFormats.value; + clearDateTimeFormat(_context, locale2, format2); + } + function getNumberFormat(locale2) { + return _numberFormats.value[locale2] || {}; + } + function setNumberFormat(locale2, format2) { + _numberFormats.value[locale2] = format2; + _context.numberFormats = _numberFormats.value; + clearNumberFormat(_context, locale2, format2); + } + function mergeNumberFormat(locale2, format2) { + _numberFormats.value[locale2] = assign$1(_numberFormats.value[locale2] || {}, format2); + _context.numberFormats = _numberFormats.value; + clearNumberFormat(_context, locale2, format2); + } + composerID++; + if (__root && inBrowser) { + require$$0.watch(__root.locale, (val) => { + if (_inheritLocale) { + _locale.value = val; + _context.locale = val; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }); + require$$0.watch(__root.fallbackLocale, (val) => { + if (_inheritLocale) { + _fallbackLocale.value = val; + _context.fallbackLocale = val; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }); + } + const composer = { + id: composerID, + locale, + fallbackLocale, + get inheritLocale() { + return _inheritLocale; + }, + set inheritLocale(val) { + _inheritLocale = val; + if (val && __root) { + _locale.value = __root.locale.value; + _fallbackLocale.value = __root.fallbackLocale.value; + updateFallbackLocale(_context, _locale.value, _fallbackLocale.value); + } + }, + get availableLocales() { + return Object.keys(_messages.value).sort(); + }, + messages: messages2, + get modifiers() { + return _modifiers; + }, + get pluralRules() { + return _pluralRules || {}; + }, + get isGlobal() { + return _isGlobal; + }, + get missingWarn() { + return _missingWarn; + }, + set missingWarn(val) { + _missingWarn = val; + _context.missingWarn = _missingWarn; + }, + get fallbackWarn() { + return _fallbackWarn; + }, + set fallbackWarn(val) { + _fallbackWarn = val; + _context.fallbackWarn = _fallbackWarn; + }, + get fallbackRoot() { + return _fallbackRoot; + }, + set fallbackRoot(val) { + _fallbackRoot = val; + }, + get fallbackFormat() { + return _fallbackFormat; + }, + set fallbackFormat(val) { + _fallbackFormat = val; + _context.fallbackFormat = _fallbackFormat; + }, + get warnHtmlMessage() { + return _warnHtmlMessage; + }, + set warnHtmlMessage(val) { + _warnHtmlMessage = val; + _context.warnHtmlMessage = val; + }, + get escapeParameter() { + return _escapeParameter; + }, + set escapeParameter(val) { + _escapeParameter = val; + _context.escapeParameter = val; + }, + t, + getLocaleMessage, + setLocaleMessage, + mergeLocaleMessage, + getPostTranslationHandler, + setPostTranslationHandler, + getMissingHandler, + setMissingHandler, + [SetPluralRulesSymbol]: setPluralRules + }; + { + composer.datetimeFormats = datetimeFormats; + composer.numberFormats = numberFormats; + composer.rt = rt2; + composer.te = te; + composer.tm = tm2; + composer.d = d; + composer.n = n; + composer.getDateTimeFormat = getDateTimeFormat; + composer.setDateTimeFormat = setDateTimeFormat; + composer.mergeDateTimeFormat = mergeDateTimeFormat; + composer.getNumberFormat = getNumberFormat; + composer.setNumberFormat = setNumberFormat; + composer.mergeNumberFormat = mergeNumberFormat; + composer[InejctWithOptionSymbol] = __injectWithOption; + composer[TranslateVNodeSymbol] = translateVNode; + composer[DatetimePartsSymbol] = datetimeParts; + composer[NumberPartsSymbol] = numberParts; + } + return composer; + } + function convertComposerOptions(options) { + const locale = isString$2(options.locale) ? options.locale : DEFAULT_LOCALE$1; + const fallbackLocale = isString$2(options.fallbackLocale) || isArray$2(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : locale; + const missing = isFunction$2(options.missing) ? options.missing : void 0; + const missingWarn = isBoolean(options.silentTranslationWarn) || isRegExp$2(options.silentTranslationWarn) ? !options.silentTranslationWarn : true; + const fallbackWarn = isBoolean(options.silentFallbackWarn) || isRegExp$2(options.silentFallbackWarn) ? !options.silentFallbackWarn : true; + const fallbackRoot = isBoolean(options.fallbackRoot) ? options.fallbackRoot : true; + const fallbackFormat = !!options.formatFallbackMessages; + const modifiers = isPlainObject$1(options.modifiers) ? options.modifiers : {}; + const pluralizationRules = options.pluralizationRules; + const postTranslation = isFunction$2(options.postTranslation) ? options.postTranslation : void 0; + const warnHtmlMessage = isString$2(options.warnHtmlInMessage) ? options.warnHtmlInMessage !== "off" : true; + const escapeParameter = !!options.escapeParameterHtml; + const inheritLocale = isBoolean(options.sync) ? options.sync : true; + let messages2 = options.messages; + if (isPlainObject$1(options.sharedMessages)) { + const sharedMessages = options.sharedMessages; + const locales = Object.keys(sharedMessages); + messages2 = locales.reduce((messages22, locale2) => { + const message2 = messages22[locale2] || (messages22[locale2] = {}); + assign$1(message2, sharedMessages[locale2]); + return messages22; + }, messages2 || {}); + } + const { __i18n, __root, __injectWithOption } = options; + const datetimeFormats = options.datetimeFormats; + const numberFormats = options.numberFormats; + const flatJson = options.flatJson; + const translateExistCompatible = options.translateExistCompatible; + return { + locale, + fallbackLocale, + messages: messages2, + flatJson, + datetimeFormats, + numberFormats, + missing, + missingWarn, + fallbackWarn, + fallbackRoot, + fallbackFormat, + modifiers, + pluralRules: pluralizationRules, + postTranslation, + warnHtmlMessage, + escapeParameter, + messageResolver: options.messageResolver, + inheritLocale, + translateExistCompatible, + __i18n, + __root, + __injectWithOption + }; + } + function createVueI18n(options = {}, VueI18nLegacy) { + { + const composer = createComposer(convertComposerOptions(options)); + const { __extender } = options; + const vueI18n = { + // id + id: composer.id, + // locale + get locale() { + return composer.locale.value; + }, + set locale(val) { + composer.locale.value = val; + }, + // fallbackLocale + get fallbackLocale() { + return composer.fallbackLocale.value; + }, + set fallbackLocale(val) { + composer.fallbackLocale.value = val; + }, + // messages + get messages() { + return composer.messages.value; + }, + // datetimeFormats + get datetimeFormats() { + return composer.datetimeFormats.value; + }, + // numberFormats + get numberFormats() { + return composer.numberFormats.value; + }, + // availableLocales + get availableLocales() { + return composer.availableLocales; + }, + // formatter + get formatter() { + return { + interpolate() { + return []; + } + }; + }, + set formatter(val) { + }, + // missing + get missing() { + return composer.getMissingHandler(); + }, + set missing(handler) { + composer.setMissingHandler(handler); + }, + // silentTranslationWarn + get silentTranslationWarn() { + return isBoolean(composer.missingWarn) ? !composer.missingWarn : composer.missingWarn; + }, + set silentTranslationWarn(val) { + composer.missingWarn = isBoolean(val) ? !val : val; + }, + // silentFallbackWarn + get silentFallbackWarn() { + return isBoolean(composer.fallbackWarn) ? !composer.fallbackWarn : composer.fallbackWarn; + }, + set silentFallbackWarn(val) { + composer.fallbackWarn = isBoolean(val) ? !val : val; + }, + // modifiers + get modifiers() { + return composer.modifiers; + }, + // formatFallbackMessages + get formatFallbackMessages() { + return composer.fallbackFormat; + }, + set formatFallbackMessages(val) { + composer.fallbackFormat = val; + }, + // postTranslation + get postTranslation() { + return composer.getPostTranslationHandler(); + }, + set postTranslation(handler) { + composer.setPostTranslationHandler(handler); + }, + // sync + get sync() { + return composer.inheritLocale; + }, + set sync(val) { + composer.inheritLocale = val; + }, + // warnInHtmlMessage + get warnHtmlInMessage() { + return composer.warnHtmlMessage ? "warn" : "off"; + }, + set warnHtmlInMessage(val) { + composer.warnHtmlMessage = val !== "off"; + }, + // escapeParameterHtml + get escapeParameterHtml() { + return composer.escapeParameter; + }, + set escapeParameterHtml(val) { + composer.escapeParameter = val; + }, + // preserveDirectiveContent + get preserveDirectiveContent() { + return true; + }, + set preserveDirectiveContent(val) { + }, + // pluralizationRules + get pluralizationRules() { + return composer.pluralRules || {}; + }, + // for internal + __composer: composer, + // t + t(...args) { + const [arg1, arg2, arg3] = args; + const options2 = {}; + let list = null; + let named = null; + if (!isString$2(arg1)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + const key = arg1; + if (isString$2(arg2)) { + options2.locale = arg2; + } else if (isArray$2(arg2)) { + list = arg2; + } else if (isPlainObject$1(arg2)) { + named = arg2; + } + if (isArray$2(arg3)) { + list = arg3; + } else if (isPlainObject$1(arg3)) { + named = arg3; + } + return Reflect.apply(composer.t, composer, [ + key, + list || named || {}, + options2 + ]); + }, + rt(...args) { + return Reflect.apply(composer.rt, composer, [...args]); + }, + // tc + tc(...args) { + const [arg1, arg2, arg3] = args; + const options2 = { plural: 1 }; + let list = null; + let named = null; + if (!isString$2(arg1)) { + throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT); + } + const key = arg1; + if (isString$2(arg2)) { + options2.locale = arg2; + } else if (isNumber$1(arg2)) { + options2.plural = arg2; + } else if (isArray$2(arg2)) { + list = arg2; + } else if (isPlainObject$1(arg2)) { + named = arg2; + } + if (isString$2(arg3)) { + options2.locale = arg3; + } else if (isArray$2(arg3)) { + list = arg3; + } else if (isPlainObject$1(arg3)) { + named = arg3; + } + return Reflect.apply(composer.t, composer, [ + key, + list || named || {}, + options2 + ]); + }, + // te + te(key, locale) { + return composer.te(key, locale); + }, + // tm + tm(key) { + return composer.tm(key); + }, + // getLocaleMessage + getLocaleMessage(locale) { + return composer.getLocaleMessage(locale); + }, + // setLocaleMessage + setLocaleMessage(locale, message2) { + composer.setLocaleMessage(locale, message2); + }, + // mergeLocaleMessage + mergeLocaleMessage(locale, message2) { + composer.mergeLocaleMessage(locale, message2); + }, + // d + d(...args) { + return Reflect.apply(composer.d, composer, [...args]); + }, + // getDateTimeFormat + getDateTimeFormat(locale) { + return composer.getDateTimeFormat(locale); + }, + // setDateTimeFormat + setDateTimeFormat(locale, format2) { + composer.setDateTimeFormat(locale, format2); + }, + // mergeDateTimeFormat + mergeDateTimeFormat(locale, format2) { + composer.mergeDateTimeFormat(locale, format2); + }, + // n + n(...args) { + return Reflect.apply(composer.n, composer, [...args]); + }, + // getNumberFormat + getNumberFormat(locale) { + return composer.getNumberFormat(locale); + }, + // setNumberFormat + setNumberFormat(locale, format2) { + composer.setNumberFormat(locale, format2); + }, + // mergeNumberFormat + mergeNumberFormat(locale, format2) { + composer.mergeNumberFormat(locale, format2); + }, + // getChoiceIndex + // eslint-disable-next-line @typescript-eslint/no-unused-vars + getChoiceIndex(choice, choicesLength) { + return -1; + } + }; + vueI18n.__extender = __extender; + return vueI18n; + } + } + const baseFormatProps = { + tag: { + type: [String, Object] + }, + locale: { + type: String + }, + scope: { + type: String, + // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050 + validator: (val) => val === "parent" || val === "global", + default: "parent" + /* ComponentI18nScope */ + }, + i18n: { + type: Object + } + }; + function getInterpolateArg({ slots }, keys2) { + if (keys2.length === 1 && keys2[0] === "default") { + const ret = slots.default ? slots.default() : []; + return ret.reduce((slot, current) => { + return [ + ...slot, + // prettier-ignore + ...current.type === require$$0.Fragment ? current.children : [current] + ]; + }, []); + } else { + return keys2.reduce((arg, key) => { + const slot = slots[key]; + if (slot) { + arg[key] = slot(); + } + return arg; + }, create$4()); + } + } + function getFragmentableTag(tag) { + return require$$0.Fragment; + } + const TranslationImpl = /* @__PURE__ */ require$$0.defineComponent({ + /* eslint-disable */ + name: "i18n-t", + props: assign$1({ + keypath: { + type: String, + required: true + }, + plural: { + type: [Number, String], + // eslint-disable-next-line @typescript-eslint/no-explicit-any + validator: (val) => isNumber$1(val) || !isNaN(val) + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const { slots, attrs } = context; + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return () => { + const keys2 = Object.keys(slots).filter((key) => key !== "_"); + const options = create$4(); + if (props.locale) { + options.locale = props.locale; + } + if (props.plural !== void 0) { + options.plural = isString$2(props.plural) ? +props.plural : props.plural; + } + const arg = getInterpolateArg(context, keys2); + const children = i18n2[TranslateVNodeSymbol](props.keypath, arg, options); + const assignedAttrs = assign$1(create$4(), attrs); + const tag = isString$2(props.tag) || isObject$6(props.tag) ? props.tag : getFragmentableTag(); + return require$$0.h(tag, assignedAttrs, children); + }; + } + }); + const Translation = TranslationImpl; + function isVNode(target) { + return isArray$2(target) && !isString$2(target[0]); + } + function renderFormatter(props, context, slotKeys, partFormatter) { + const { slots, attrs } = context; + return () => { + const options = { part: true }; + let overrides = create$4(); + if (props.locale) { + options.locale = props.locale; + } + if (isString$2(props.format)) { + options.key = props.format; + } else if (isObject$6(props.format)) { + if (isString$2(props.format.key)) { + options.key = props.format.key; + } + overrides = Object.keys(props.format).reduce((options2, prop) => { + return slotKeys.includes(prop) ? assign$1(create$4(), options2, { [prop]: props.format[prop] }) : options2; + }, create$4()); + } + const parts = partFormatter(...[props.value, options, overrides]); + let children = [options.key]; + if (isArray$2(parts)) { + children = parts.map((part, index2) => { + const slot = slots[part.type]; + const node = slot ? slot({ [part.type]: part.value, index: index2, parts }) : [part.value]; + if (isVNode(node)) { + node[0].key = `${part.type}-${index2}`; + } + return node; + }); + } else if (isString$2(parts)) { + children = [parts]; + } + const assignedAttrs = assign$1(create$4(), attrs); + const tag = isString$2(props.tag) || isObject$6(props.tag) ? props.tag : getFragmentableTag(); + return require$$0.h(tag, assignedAttrs, children); + }; + } + const NumberFormatImpl = /* @__PURE__ */ require$$0.defineComponent({ + /* eslint-disable */ + name: "i18n-n", + props: assign$1({ + value: { + type: Number, + required: true + }, + format: { + type: [String, Object] + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + i18n2[NumberPartsSymbol](...args) + )); + } + }); + const NumberFormat = NumberFormatImpl; + const DatetimeFormatImpl = /* @__PURE__ */ require$$0.defineComponent({ + /* eslint-disable */ + name: "i18n-d", + props: assign$1({ + value: { + type: [Number, Date], + required: true + }, + format: { + type: [String, Object] + } + }, baseFormatProps), + /* eslint-enable */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setup(props, context) { + const i18n2 = props.i18n || useI18n({ + useScope: props.scope, + __useComponent: true + }); + return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + i18n2[DatetimePartsSymbol](...args) + )); + } + }); + const DatetimeFormat = DatetimeFormatImpl; + function getComposer$2(i18n2, instance) { + const i18nInternal = i18n2; + if (i18n2.mode === "composition") { + return i18nInternal.__getInstance(instance) || i18n2.global; + } else { + const vueI18n = i18nInternal.__getInstance(instance); + return vueI18n != null ? vueI18n.__composer : i18n2.global.__composer; + } + } + function vTDirective(i18n2) { + const _process = (binding) => { + const { instance, modifiers, value } = binding; + if (!instance || !instance.$) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const composer = getComposer$2(i18n2, instance.$); + const parsedValue = parseValue(value); + return [ + Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]), + composer + ]; + }; + const register2 = (el2, binding) => { + const [textContent, composer] = _process(binding); + if (inBrowser && i18n2.global === composer) { + el2.__i18nWatcher = require$$0.watch(composer.locale, () => { + binding.instance && binding.instance.$forceUpdate(); + }); + } + el2.__composer = composer; + el2.textContent = textContent; + }; + const unregister2 = (el2) => { + if (inBrowser && el2.__i18nWatcher) { + el2.__i18nWatcher(); + el2.__i18nWatcher = void 0; + delete el2.__i18nWatcher; + } + if (el2.__composer) { + el2.__composer = void 0; + delete el2.__composer; + } + }; + const update = (el2, { value }) => { + if (el2.__composer) { + const composer = el2.__composer; + const parsedValue = parseValue(value); + el2.textContent = Reflect.apply(composer.t, composer, [ + ...makeParams(parsedValue) + ]); + } + }; + const getSSRProps = (binding) => { + const [textContent] = _process(binding); + return { textContent }; + }; + return { + created: register2, + unmounted: unregister2, + beforeUpdate: update, + getSSRProps + }; + } + function parseValue(value) { + if (isString$2(value)) { + return { path: value }; + } else if (isPlainObject$1(value)) { + if (!("path" in value)) { + throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, "path"); + } + return value; + } else { + throw createI18nError(I18nErrorCodes.INVALID_VALUE); + } + } + function makeParams(value) { + const { path, locale, args, choice, plural } = value; + const options = {}; + const named = args || {}; + if (isString$2(locale)) { + options.locale = locale; + } + if (isNumber$1(choice)) { + options.plural = choice; + } + if (isNumber$1(plural)) { + options.plural = plural; + } + return [path, named, options]; + } + function apply$1(app, i18n2, ...options) { + const pluginOptions = isPlainObject$1(options[0]) ? options[0] : {}; + const useI18nComponentName = !!pluginOptions.useI18nComponentName; + const globalInstall = isBoolean(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true; + if (globalInstall) { + [!useI18nComponentName ? Translation.name : "i18n", "I18nT"].forEach((name) => app.component(name, Translation)); + [NumberFormat.name, "I18nN"].forEach((name) => app.component(name, NumberFormat)); + [DatetimeFormat.name, "I18nD"].forEach((name) => app.component(name, DatetimeFormat)); + } + { + app.directive("t", vTDirective(i18n2)); + } + } + function defineMixin(vuei18n, composer, i18n2) { + return { + beforeCreate() { + const instance = require$$0.getCurrentInstance(); + if (!instance) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const options = this.$options; + if (options.i18n) { + const optionsI18n = options.i18n; + if (options.__i18n) { + optionsI18n.__i18n = options.__i18n; + } + optionsI18n.__root = composer; + if (this === this.$root) { + this.$i18n = mergeToGlobal(vuei18n, optionsI18n); + } else { + optionsI18n.__injectWithOption = true; + optionsI18n.__extender = i18n2.__vueI18nExtend; + this.$i18n = createVueI18n(optionsI18n); + const _vueI18n = this.$i18n; + if (_vueI18n.__extender) { + _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); + } + } + } else if (options.__i18n) { + if (this === this.$root) { + this.$i18n = mergeToGlobal(vuei18n, options); + } else { + this.$i18n = createVueI18n({ + __i18n: options.__i18n, + __injectWithOption: true, + __extender: i18n2.__vueI18nExtend, + __root: composer + }); + const _vueI18n = this.$i18n; + if (_vueI18n.__extender) { + _vueI18n.__disposer = _vueI18n.__extender(this.$i18n); + } + } + } else { + this.$i18n = vuei18n; + } + if (options.__i18nGlobal) { + adjustI18nResources(composer, options, options); + } + this.$t = (...args) => this.$i18n.t(...args); + this.$rt = (...args) => this.$i18n.rt(...args); + this.$tc = (...args) => this.$i18n.tc(...args); + this.$te = (key, locale) => this.$i18n.te(key, locale); + this.$d = (...args) => this.$i18n.d(...args); + this.$n = (...args) => this.$i18n.n(...args); + this.$tm = (key) => this.$i18n.tm(key); + i18n2.__setInstance(instance, this.$i18n); + }, + mounted() { + }, + unmounted() { + const instance = require$$0.getCurrentInstance(); + if (!instance) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const _vueI18n = this.$i18n; + delete this.$t; + delete this.$rt; + delete this.$tc; + delete this.$te; + delete this.$d; + delete this.$n; + delete this.$tm; + if (_vueI18n.__disposer) { + _vueI18n.__disposer(); + delete _vueI18n.__disposer; + delete _vueI18n.__extender; + } + i18n2.__deleteInstance(instance); + delete this.$i18n; + } + }; + } + function mergeToGlobal(g, options) { + g.locale = options.locale || g.locale; + g.fallbackLocale = options.fallbackLocale || g.fallbackLocale; + g.missing = options.missing || g.missing; + g.silentTranslationWarn = options.silentTranslationWarn || g.silentFallbackWarn; + g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn; + g.formatFallbackMessages = options.formatFallbackMessages || g.formatFallbackMessages; + g.postTranslation = options.postTranslation || g.postTranslation; + g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage; + g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml; + g.sync = options.sync || g.sync; + g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules); + const messages2 = getLocaleMessages(g.locale, { + messages: options.messages, + __i18n: options.__i18n + }); + Object.keys(messages2).forEach((locale) => g.mergeLocaleMessage(locale, messages2[locale])); + if (options.datetimeFormats) { + Object.keys(options.datetimeFormats).forEach((locale) => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale])); + } + if (options.numberFormats) { + Object.keys(options.numberFormats).forEach((locale) => g.mergeNumberFormat(locale, options.numberFormats[locale])); + } + return g; + } + const I18nInjectionKey = /* @__PURE__ */ makeSymbol("global-vue-i18n"); + function createI18n(options = {}, VueI18nLegacy) { + const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy) ? options.legacy : __VUE_I18N_LEGACY_API__; + const __globalInjection = isBoolean(options.globalInjection) ? options.globalInjection : true; + const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode ? !!options.allowComposition : true; + const __instances = /* @__PURE__ */ new Map(); + const [globalScope, __global] = createGlobal(options, __legacyMode); + const symbol = /* @__PURE__ */ makeSymbol(""); + function __getInstance(component) { + return __instances.get(component) || null; + } + function __setInstance(component, instance) { + __instances.set(component, instance); + } + function __deleteInstance(component) { + __instances.delete(component); + } + { + const i18n2 = { + // mode + get mode() { + return __VUE_I18N_LEGACY_API__ && __legacyMode ? "legacy" : "composition"; + }, + // allowComposition + get allowComposition() { + return __allowComposition; + }, + // install plugin + async install(app, ...options2) { + app.__VUE_I18N_SYMBOL__ = symbol; + app.provide(app.__VUE_I18N_SYMBOL__, i18n2); + if (isPlainObject$1(options2[0])) { + const opts = options2[0]; + i18n2.__composerExtend = opts.__composerExtend; + i18n2.__vueI18nExtend = opts.__vueI18nExtend; + } + let globalReleaseHandler = null; + if (!__legacyMode && __globalInjection) { + globalReleaseHandler = injectGlobalFields(app, i18n2.global); + } + if (__VUE_I18N_FULL_INSTALL__) { + apply$1(app, i18n2, ...options2); + } + if (__VUE_I18N_LEGACY_API__ && __legacyMode) { + app.mixin(defineMixin(__global, __global.__composer, i18n2)); + } + const unmountApp = app.unmount; + app.unmount = () => { + globalReleaseHandler && globalReleaseHandler(); + i18n2.dispose(); + unmountApp(); + }; + }, + // global accessor + get global() { + return __global; + }, + dispose() { + globalScope.stop(); + }, + // @internal + __instances, + // @internal + __getInstance, + // @internal + __setInstance, + // @internal + __deleteInstance + }; + return i18n2; + } + } + function useI18n(options = {}) { + const instance = require$$0.getCurrentInstance(); + if (instance == null) { + throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP); + } + if (!instance.isCE && instance.appContext.app != null && !instance.appContext.app.__VUE_I18N_SYMBOL__) { + throw createI18nError(I18nErrorCodes.NOT_INSTALLED); + } + const i18n2 = getI18nInstance(instance); + const gl2 = getGlobalComposer(i18n2); + const componentOptions = getComponentOptions(instance); + const scope = getScope(options, componentOptions); + if (__VUE_I18N_LEGACY_API__) { + if (i18n2.mode === "legacy" && !options.__useComponent) { + if (!i18n2.allowComposition) { + throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE); + } + return useI18nForLegacy(instance, scope, gl2, options); + } + } + if (scope === "global") { + adjustI18nResources(gl2, options, componentOptions); + return gl2; + } + if (scope === "parent") { + let composer2 = getComposer(i18n2, instance, options.__useComponent); + if (composer2 == null) { + composer2 = gl2; + } + return composer2; + } + const i18nInternal = i18n2; + let composer = i18nInternal.__getInstance(instance); + if (composer == null) { + const composerOptions = assign$1({}, options); + if ("__i18n" in componentOptions) { + composerOptions.__i18n = componentOptions.__i18n; + } + if (gl2) { + composerOptions.__root = gl2; + } + composer = createComposer(composerOptions); + if (i18nInternal.__composerExtend) { + composer[DisposeSymbol] = i18nInternal.__composerExtend(composer); + } + setupLifeCycle(i18nInternal, instance, composer); + i18nInternal.__setInstance(instance, composer); + } + return composer; + } + function createGlobal(options, legacyMode, VueI18nLegacy) { + const scope = require$$0.effectScope(); + { + const obj = __VUE_I18N_LEGACY_API__ && legacyMode ? scope.run(() => createVueI18n(options)) : scope.run(() => createComposer(options)); + if (obj == null) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + return [scope, obj]; + } + } + function getI18nInstance(instance) { + { + const i18n2 = require$$0.inject(!instance.isCE ? instance.appContext.app.__VUE_I18N_SYMBOL__ : I18nInjectionKey); + if (!i18n2) { + throw createI18nError(!instance.isCE ? I18nErrorCodes.UNEXPECTED_ERROR : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE); + } + return i18n2; + } + } + function getScope(options, componentOptions) { + return isEmptyObject(options) ? "__i18n" in componentOptions ? "local" : "global" : !options.useScope ? "local" : options.useScope; + } + function getGlobalComposer(i18n2) { + return i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer; + } + function getComposer(i18n2, target, useComponent = false) { + let composer = null; + const root = target.root; + let current = getParentComponentInstance(target, useComponent); + while (current != null) { + const i18nInternal = i18n2; + if (i18n2.mode === "composition") { + composer = i18nInternal.__getInstance(current); + } else { + if (__VUE_I18N_LEGACY_API__) { + const vueI18n = i18nInternal.__getInstance(current); + if (vueI18n != null) { + composer = vueI18n.__composer; + if (useComponent && composer && !composer[InejctWithOptionSymbol]) { + composer = null; + } + } + } + } + if (composer != null) { + break; + } + if (root === current) { + break; + } + current = current.parent; + } + return composer; + } + function getParentComponentInstance(target, useComponent = false) { + if (target == null) { + return null; + } + { + return !useComponent ? target.parent : target.vnode.ctx || target.parent; + } + } + function setupLifeCycle(i18n2, target, composer) { + { + require$$0.onMounted(() => { + }, target); + require$$0.onUnmounted(() => { + const _composer = composer; + i18n2.__deleteInstance(target); + const dispose = _composer[DisposeSymbol]; + if (dispose) { + dispose(); + delete _composer[DisposeSymbol]; + } + }, target); + } + } + function useI18nForLegacy(instance, scope, root, options = {}) { + const isLocalScope = scope === "local"; + const _composer = require$$0.shallowRef(null); + if (isLocalScope && instance.proxy && !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) { + throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION); + } + const _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : !isString$2(options.locale); + const _locale = require$$0.ref( + // prettier-ignore + !isLocalScope || _inheritLocale ? root.locale.value : isString$2(options.locale) ? options.locale : DEFAULT_LOCALE$1 + ); + const _fallbackLocale = require$$0.ref( + // prettier-ignore + !isLocalScope || _inheritLocale ? root.fallbackLocale.value : isString$2(options.fallbackLocale) || isArray$2(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value + ); + const _messages = require$$0.ref(getLocaleMessages(_locale.value, options)); + const _datetimeFormats = require$$0.ref(isPlainObject$1(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} }); + const _numberFormats = require$$0.ref(isPlainObject$1(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} }); + const _missingWarn = isLocalScope ? root.missingWarn : isBoolean(options.missingWarn) || isRegExp$2(options.missingWarn) ? options.missingWarn : true; + const _fallbackWarn = isLocalScope ? root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp$2(options.fallbackWarn) ? options.fallbackWarn : true; + const _fallbackRoot = isLocalScope ? root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true; + const _fallbackFormat = !!options.fallbackFormat; + const _missing = isFunction$2(options.missing) ? options.missing : null; + const _postTranslation = isFunction$2(options.postTranslation) ? options.postTranslation : null; + const _warnHtmlMessage = isLocalScope ? root.warnHtmlMessage : isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true; + const _escapeParameter = !!options.escapeParameter; + const _modifiers = isLocalScope ? root.modifiers : isPlainObject$1(options.modifiers) ? options.modifiers : {}; + const _pluralRules = options.pluralRules || isLocalScope && root.pluralRules; + function trackReactivityValues() { + return [ + _locale.value, + _fallbackLocale.value, + _messages.value, + _datetimeFormats.value, + _numberFormats.value + ]; + } + const locale = require$$0.computed({ + get: () => { + return _composer.value ? _composer.value.locale.value : _locale.value; + }, + set: (val) => { + if (_composer.value) { + _composer.value.locale.value = val; + } + _locale.value = val; + } + }); + const fallbackLocale = require$$0.computed({ + get: () => { + return _composer.value ? _composer.value.fallbackLocale.value : _fallbackLocale.value; + }, + set: (val) => { + if (_composer.value) { + _composer.value.fallbackLocale.value = val; + } + _fallbackLocale.value = val; + } + }); + const messages2 = require$$0.computed(() => { + if (_composer.value) { + return _composer.value.messages.value; + } else { + return _messages.value; + } + }); + const datetimeFormats = require$$0.computed(() => _datetimeFormats.value); + const numberFormats = require$$0.computed(() => _numberFormats.value); + function getPostTranslationHandler() { + return _composer.value ? _composer.value.getPostTranslationHandler() : _postTranslation; + } + function setPostTranslationHandler(handler) { + if (_composer.value) { + _composer.value.setPostTranslationHandler(handler); + } + } + function getMissingHandler() { + return _composer.value ? _composer.value.getMissingHandler() : _missing; + } + function setMissingHandler(handler) { + if (_composer.value) { + _composer.value.setMissingHandler(handler); + } + } + function warpWithDeps(fn2) { + trackReactivityValues(); + return fn2(); + } + function t(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args])) : warpWithDeps(() => ""); + } + function rt2(...args) { + return _composer.value ? Reflect.apply(_composer.value.rt, null, [...args]) : ""; + } + function d(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args])) : warpWithDeps(() => ""); + } + function n(...args) { + return _composer.value ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args])) : warpWithDeps(() => ""); + } + function tm2(key) { + return _composer.value ? _composer.value.tm(key) : {}; + } + function te(key, locale2) { + return _composer.value ? _composer.value.te(key, locale2) : false; + } + function getLocaleMessage(locale2) { + return _composer.value ? _composer.value.getLocaleMessage(locale2) : {}; + } + function setLocaleMessage(locale2, message2) { + if (_composer.value) { + _composer.value.setLocaleMessage(locale2, message2); + _messages.value[locale2] = message2; + } + } + function mergeLocaleMessage(locale2, message2) { + if (_composer.value) { + _composer.value.mergeLocaleMessage(locale2, message2); + } + } + function getDateTimeFormat(locale2) { + return _composer.value ? _composer.value.getDateTimeFormat(locale2) : {}; + } + function setDateTimeFormat(locale2, format2) { + if (_composer.value) { + _composer.value.setDateTimeFormat(locale2, format2); + _datetimeFormats.value[locale2] = format2; + } + } + function mergeDateTimeFormat(locale2, format2) { + if (_composer.value) { + _composer.value.mergeDateTimeFormat(locale2, format2); + } + } + function getNumberFormat(locale2) { + return _composer.value ? _composer.value.getNumberFormat(locale2) : {}; + } + function setNumberFormat(locale2, format2) { + if (_composer.value) { + _composer.value.setNumberFormat(locale2, format2); + _numberFormats.value[locale2] = format2; + } + } + function mergeNumberFormat(locale2, format2) { + if (_composer.value) { + _composer.value.mergeNumberFormat(locale2, format2); + } + } + const wrapper = { + get id() { + return _composer.value ? _composer.value.id : -1; + }, + locale, + fallbackLocale, + messages: messages2, + datetimeFormats, + numberFormats, + get inheritLocale() { + return _composer.value ? _composer.value.inheritLocale : _inheritLocale; + }, + set inheritLocale(val) { + if (_composer.value) { + _composer.value.inheritLocale = val; + } + }, + get availableLocales() { + return _composer.value ? _composer.value.availableLocales : Object.keys(_messages.value); + }, + get modifiers() { + return _composer.value ? _composer.value.modifiers : _modifiers; + }, + get pluralRules() { + return _composer.value ? _composer.value.pluralRules : _pluralRules; + }, + get isGlobal() { + return _composer.value ? _composer.value.isGlobal : false; + }, + get missingWarn() { + return _composer.value ? _composer.value.missingWarn : _missingWarn; + }, + set missingWarn(val) { + if (_composer.value) { + _composer.value.missingWarn = val; + } + }, + get fallbackWarn() { + return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn; + }, + set fallbackWarn(val) { + if (_composer.value) { + _composer.value.missingWarn = val; + } + }, + get fallbackRoot() { + return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot; + }, + set fallbackRoot(val) { + if (_composer.value) { + _composer.value.fallbackRoot = val; + } + }, + get fallbackFormat() { + return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat; + }, + set fallbackFormat(val) { + if (_composer.value) { + _composer.value.fallbackFormat = val; + } + }, + get warnHtmlMessage() { + return _composer.value ? _composer.value.warnHtmlMessage : _warnHtmlMessage; + }, + set warnHtmlMessage(val) { + if (_composer.value) { + _composer.value.warnHtmlMessage = val; + } + }, + get escapeParameter() { + return _composer.value ? _composer.value.escapeParameter : _escapeParameter; + }, + set escapeParameter(val) { + if (_composer.value) { + _composer.value.escapeParameter = val; + } + }, + t, + getPostTranslationHandler, + setPostTranslationHandler, + getMissingHandler, + setMissingHandler, + rt: rt2, + d, + n, + tm: tm2, + te, + getLocaleMessage, + setLocaleMessage, + mergeLocaleMessage, + getDateTimeFormat, + setDateTimeFormat, + mergeDateTimeFormat, + getNumberFormat, + setNumberFormat, + mergeNumberFormat + }; + function sync(composer) { + composer.locale.value = _locale.value; + composer.fallbackLocale.value = _fallbackLocale.value; + Object.keys(_messages.value).forEach((locale2) => { + composer.mergeLocaleMessage(locale2, _messages.value[locale2]); + }); + Object.keys(_datetimeFormats.value).forEach((locale2) => { + composer.mergeDateTimeFormat(locale2, _datetimeFormats.value[locale2]); + }); + Object.keys(_numberFormats.value).forEach((locale2) => { + composer.mergeNumberFormat(locale2, _numberFormats.value[locale2]); + }); + composer.escapeParameter = _escapeParameter; + composer.fallbackFormat = _fallbackFormat; + composer.fallbackRoot = _fallbackRoot; + composer.fallbackWarn = _fallbackWarn; + composer.missingWarn = _missingWarn; + composer.warnHtmlMessage = _warnHtmlMessage; + } + require$$0.onBeforeMount(() => { + if (instance.proxy == null || instance.proxy.$i18n == null) { + throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY); + } + const composer = _composer.value = instance.proxy.$i18n.__composer; + if (scope === "global") { + _locale.value = composer.locale.value; + _fallbackLocale.value = composer.fallbackLocale.value; + _messages.value = composer.messages.value; + _datetimeFormats.value = composer.datetimeFormats.value; + _numberFormats.value = composer.numberFormats.value; + } else if (isLocalScope) { + sync(composer); + } + }); + return wrapper; + } + const globalExportProps = [ + "locale", + "fallbackLocale", + "availableLocales" + ]; + const globalExportMethods = ["t", "rt", "d", "n", "tm", "te"]; + function injectGlobalFields(app, composer) { + const i18n2 = /* @__PURE__ */ Object.create(null); + globalExportProps.forEach((prop) => { + const desc = Object.getOwnPropertyDescriptor(composer, prop); + if (!desc) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + const wrap = require$$0.isRef(desc.value) ? { + get() { + return desc.value.value; + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + set(val) { + desc.value.value = val; + } + } : { + get() { + return desc.get && desc.get(); + } + }; + Object.defineProperty(i18n2, prop, wrap); + }); + app.config.globalProperties.$i18n = i18n2; + globalExportMethods.forEach((method) => { + const desc = Object.getOwnPropertyDescriptor(composer, method); + if (!desc || !desc.value) { + throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR); + } + Object.defineProperty(app.config.globalProperties, `$${method}`, desc); + }); + const dispose = () => { + delete app.config.globalProperties.$i18n; + globalExportMethods.forEach((method) => { + delete app.config.globalProperties[`$${method}`]; + }); + }; + return dispose; + } + { + initFeatureFlags(); + } + if (__INTLIFY_JIT_COMPILATION__) { + registerMessageCompiler(compile); + } else { + registerMessageCompiler(compileToFunction); + } + registerMessageResolver(resolveValue); + registerLocaleFallbacker(fallbackWithLocaleChain); + if (__INTLIFY_PROD_DEVTOOLS__) { + const target = getGlobalThis(); + target.__INTLIFY__ = true; + setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__); + } + const ja$1 = { + badge: "バッジ", + open: "開く", + close: "閉じる", + dismiss: "閉じる", + confirmEdit: { + ok: "OK", + cancel: "キャンセル" + }, + dataIterator: { + noResultsText: "検索結果が見つかりません。", + loadingText: "項目をロード中です..." + }, + dataTable: { + itemsPerPageText: "1ページあたりの行数:", + ariaLabel: { + sortDescending: "降順の並び替え。", + sortAscending: "昇順の並び替え。", + sortNone: "ソートされていません。", + activateNone: "ソートを削除するには有効にしてください。", + activateDescending: "降順の並び替えのためには有効にしてください。", + activateAscending: "昇順のソートのためには有効にしてください。" + }, + sortBy: "ソート方式" + }, + dataFooter: { + itemsPerPageText: "1ページあたりの件数:", + itemsPerPageAll: "すべて", + nextPage: "次のページ", + prevPage: "前のページ", + firstPage: "最初のページ", + lastPage: "最後のページ", + pageText: "{0}-{1} 件目 / {2}件" + }, + dateRangeInput: { + divider: "から" + }, + datePicker: { + itemsSelected: "{0} 選択済", + range: { + title: "日付を選択", + header: "日付を入力" + }, + title: "日付を選択", + header: "日付を入力", + input: { + placeholder: "日付を入力" + }, + ariaLabel: { + previousMonth: "前の月", + nextMonth: "次の月", + selectYear: "年を選択", + selectDate: "{0}", + currentDate: "今日、{0}" + } + }, + noDataText: "データはありません。", + carousel: { + prev: "前のビジュアル", + next: "次のビジュアル", + ariaLabel: { + delimiter: "カルーセルのスライド {0}件目 / {1}件" + } + }, + calendar: { + moreEvents: "さらに{0}", + today: "今日" + }, + input: { + clear: "クリア {0}", + prependAction: "{0} の前に追加されたアクション", + appendAction: "{0} の後に追加されたアクション", + otp: "{0}番目のワンタイムパスワードを入力してください" + }, + fileInput: { + counter: "{0} ファイル", + counterSize: "{0} ファイル (合計 {1})" + }, + fileUpload: { + title: "ここにファイルをドラッグ&ドロップ", + divider: "または", + browse: "ファイルを選択" + }, + timePicker: { + am: "午前", + pm: "午後", + title: "時間を選択" + }, + pagination: { + ariaLabel: { + root: "ページネーションナビゲーション", + next: "次のページ", + previous: "前のページ", + page: "{0}ページ目に移動", + currentPage: "現在のページ、ページ {0}", + first: "最初のページ", + last: "最後のページ" + } + }, + stepper: { + next: "次へ", + prev: "前へ" + }, + rating: { + ariaLabel: { + item: "評価 {1} のうち {0}" + } + }, + loading: "ロード中...", + infiniteScroll: { + loadMore: "さらに読み込む", + empty: "データがありません" + }, + rules: { + required: "このフィールドは必須です", + email: "有効なメールアドレスを入力してください", + number: "このフィールドには数字のみ入力できます", + integer: "このフィールドには整数のみ入力できます", + capital: "このフィールドには大文字のみ入力できます", + maxLength: "最大{0}文字まで入力してください", + minLength: "最低{0}文字以上入力してください", + strictLength: "入力されたフィールドの長さが無効です", + exclude: "{0}という文字は使用できません", + notEmpty: "少なくとも1つの値を選んでください", + pattern: "無効な形式です" + }, + hotkey: { + then: "次に", + ctrl: "Ctrl", + command: "Command", + shift: "Shift", + alt: "Alt", + option: "Option", + enter: "Enter", + escape: "Escape", + upArrow: "上矢印", + downArrow: "下矢印", + leftArrow: "左矢印", + rightArrow: "右矢印", + backspace: "バックスペース", + space: "スペース", + plus: "プラス", + shortcut: "キーボードショートカット: {0}" + }, + video: { + play: "再生", + pause: "一時停止", + seek: "シーク", + volume: "音量", + showVolume: "音量コントロールを表示", + mute: "ミュート", + unmute: "ミュート解除", + enterFullscreen: "全画面表示", + exitFullscreen: "全画面表示を終了" + }, + colorPicker: { + ariaLabel: { + eyedropper: "画面から色を選択", + hueSlider: "色相", + alphaSlider: "アルファ", + redInput: "赤", + greenInput: "緑", + blueInput: "青", + alphaInput: "アルファ", + hueInput: "色相", + saturationInput: "彩度", + lightnessInput: "明度", + hexInput: "HEX値", + hexaInput: "アルファ付きHEX値", + changeFormat: "カラーフォーマットを変更" + } + } + }; + const zhHans = { + badge: "徽章", + open: "打开", + close: "关闭", + dismiss: "取消", + confirmEdit: { + ok: "确定", + cancel: "取消" + }, + dataIterator: { + noResultsText: "没有符合条件的结果", + loadingText: "加载中……" + }, + dataTable: { + itemsPerPageText: "每页数目:", + ariaLabel: { + sortDescending: ":降序排列。", + sortAscending: ":升序排列。", + sortNone: ":未排序。", + activateNone: "点击以移除排序。", + activateDescending: "点击以降序排列。", + activateAscending: "点击以升序排列。" + }, + sortBy: "排序方式" + }, + dataFooter: { + itemsPerPageText: "每页数目:", + itemsPerPageAll: "全部", + nextPage: "下一页", + prevPage: "上一页", + firstPage: "首页", + lastPage: "尾页", + pageText: "{0}-{1} 共 {2}" + }, + dateRangeInput: { + divider: "至" + }, + datePicker: { + itemsSelected: "已选择 {0} 项", + range: { + title: "选择日期", + header: "输入日期" + }, + title: "选择日期", + header: "输入日期", + input: { + placeholder: "输入日期" + }, + ariaLabel: { + previousMonth: "上个月", + nextMonth: "下个月", + selectYear: "选择年份", + selectDate: "{0}", + currentDate: "今天,{0}" + } + }, + noDataText: "没有数据", + carousel: { + prev: "上一张", + next: "下一张", + ariaLabel: { + delimiter: "幻灯片 {0} / {1}" + } + }, + calendar: { + moreEvents: "还有 {0} 项", + today: "今天" + }, + input: { + clear: "清除 {0}", + prependAction: "{0} 前置操作", + appendAction: "{0} 后置操作", + otp: "请输入第 {0} 位 OTP" + }, + fileInput: { + counter: "{0} 个文件", + counterSize: "{0} 个文件(共 {1})" + }, + fileUpload: { + title: "拖放文件到此处", + divider: "或", + browse: "浏览文件" + }, + timePicker: { + am: "上午", + pm: "下午", + title: "选择时间" + }, + pagination: { + ariaLabel: { + root: "分页导航", + next: "下一页", + previous: "上一页", + page: "转到页面 {0}", + currentPage: "当前页 {0}", + first: "第一页", + last: "最后一页" + } + }, + stepper: { + next: "下一步", + prev: "上一步" + }, + rating: { + ariaLabel: { + item: "评分 {0} / {1}" + } + }, + loading: "加载中...", + infiniteScroll: { + loadMore: "加载更多", + empty: "没有更多内容" + }, + rules: { + required: "此字段为必填项", + email: "请输入有效的电子邮件地址", + number: "此字段只能包含数字", + integer: "此字段只能包含整数", + capital: "此字段只能包含大写字母", + maxLength: "您最多可以输入{0}个字符", + minLength: "您必须至少输入{0}个字符", + strictLength: "输入字段的长度无效", + exclude: "字符{0}是不允许的", + notEmpty: "请至少选择一个值", + pattern: "格式无效" + }, + hotkey: { + then: "然后", + ctrl: "Ctrl", + command: "Command", + shift: "Shift", + alt: "Alt", + option: "Option", + enter: "Enter", + escape: "Escape", + upArrow: "上箭头", + downArrow: "下箭头", + leftArrow: "左箭头", + rightArrow: "右箭头", + backspace: "退格", + space: "空格", + plus: "加", + shortcut: "键盘快捷键:{0}" + }, + video: { + play: "播放", + pause: "暂停", + seek: "跳转", + volume: "音量", + showVolume: "显示音量控制", + mute: "静音", + unmute: "取消静音", + enterFullscreen: "全屏", + exitFullscreen: "退出全屏" + }, + colorPicker: { + ariaLabel: { + eyedropper: "从屏幕拾取颜色", + hueSlider: "色相", + alphaSlider: "不透明度", + redInput: "红色", + greenInput: "绿色", + blueInput: "蓝色", + alphaInput: "不透明度", + hueInput: "色相", + saturationInput: "饱和度", + lightnessInput: "亮度", + hexInput: "HEX 值", + hexaInput: "带不透明度 HEX 值", + changeFormat: "更改颜色格式" + } + } + }; + const messages = { + zhHans: { + $vuetify: { + ...zhHans, + datePicker: { + ...zhHans.datePicker, + title: "", + header: "选择日期", + okTips: "选择日期才能保存", + saveBtn: "保存" + } + } + }, + en: { + $vuetify: { + ...en, + datePicker: { + ...en.datePicker, + title: "", + header: "Select date", + okTips: "You must select a date to save", + saveBtn: "Save" + } + } + }, + ja: { + $vuetify: { + ...ja$1, + datePicker: { + ...ja$1.datePicker, + title: "", + header: "日付を選択", + okTips: "日付を選択してから保存してください", + saveBtn: "ほぞん" + } + } + } + }; + const i18n = createI18n({ + legacy: false, + // Vuetify does not support the legacy mode of vue-i18n + locale: "en", + fallbackLocale: "en", + messages + }); + function createVuetify() { + let vuetify2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; + const { + blueprint, + ...rest + } = vuetify2; + const options = mergeDeep$1(blueprint, rest); + const { + aliases: aliases2 = {}, + components: components2 = {}, + directives: directives2 = {} + } = options; + const scope = require$$0.effectScope(); + return scope.run(() => { + const defaults2 = createDefaults(options.defaults); + const display = createDisplay(options.display, options.ssr); + const theme2 = createTheme(options.theme); + const icons = createIcons(options.icons); + const locale = createLocale(options.locale); + const date2 = createDate(options.date, locale); + const goTo = createGoTo(options.goTo, locale); + function install2(app) { + for (const key in directives2) { + app.directive(key, directives2[key]); + } + for (const key in components2) { + app.component(key, components2[key]); + } + for (const key in aliases2) { + app.component(key, defineComponent({ + ...aliases2[key], + name: key, + aliasName: aliases2[key].name + })); + } + const appScope = require$$0.effectScope(); + appScope.run(() => { + theme2.install(app); + }); + app.onUnmount(() => appScope.stop()); + app.provide(DefaultsSymbol, defaults2); + app.provide(DisplaySymbol, display); + app.provide(ThemeSymbol, theme2); + app.provide(IconSymbol, icons); + app.provide(LocaleSymbol, locale); + app.provide(DateOptionsSymbol, date2.options); + app.provide(DateAdapterSymbol, date2.instance); + app.provide(GoToSymbol, goTo); + if (IN_BROWSER && options.ssr) { + if (app.$nuxt) { + app.$nuxt.hook("app:suspense:resolve", () => { + display.update(); + }); + } else { + const { + mount + } = app; + app.mount = function() { + const vm = mount(...arguments); + require$$0.nextTick(() => display.update()); + app.mount = mount; + return vm; + }; + } + } + { + app.mixin({ + computed: { + $vuetify() { + return require$$0.reactive({ + defaults: inject.call(this, DefaultsSymbol), + display: inject.call(this, DisplaySymbol), + theme: inject.call(this, ThemeSymbol), + icons: inject.call(this, IconSymbol), + locale: inject.call(this, LocaleSymbol), + date: inject.call(this, DateAdapterSymbol) + }); + } + } + }); + } + } + function unmount() { + scope.stop(); + } + return { + install: install2, + unmount, + defaults: defaults2, + display, + theme: theme2, + icons, + locale, + date: date2, + goTo + }; + }); + } + const version$1 = "3.10.1"; + createVuetify.version = version$1; + function inject(key) { + const vm = this.$; + const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides; + if (provides && key in provides) { + return provides[key]; + } + } + const themes = { + defaultTheme: "light", + themes: { + light: { + dark: false, + colors: { + // primary + primary: "#3E63DD", + "on-primary": "#fff", + "primary-darken-1": "#3451B2", + "primary-darken-2": "#101D46", + "primary-lighten-1": "#8DA4EF", + "primary-lighten-2": "#E6EDFE", + // secondary + secondary: "#5B6471", + "on-secondary": "#fff", + "secondary-darken-1": "#444C58", + "secondary-darken-2": "#19212B", + "secondary-lighten-1": "#C2CDDC", + "secondary-lighten-2": "#E4ECFE", + // accent + accent: "#82B1FF", + // info + info: "#0091FF", + "on-info": "#fff", + "info-darken-1": "#006ADC", + "info-darken-2": "#00254D", + "info-lighten-1": "#5EB0EF", + "info-lighten-2": "#E1F0FF", + // success + success: "#30A46C", + "on-success": "#fff", + "success-darken-1": "#18794E", + "success-darken-2": "#153226", + "success-lighten-1": "#5BB98C", + "success-lighten-2": "#DDF3E4", + // warning + warning: "#F76808", + "on-warning": "#fff", + "warning-darken-1": "#BD4B00", + "warning-darken-2": "#451E11", + "warning-lighten-1": "#FA934E", + "warning-lighten-2": "#FFE8D7", + // error + error: "#E5484D", + "on-error": "#fff", + "error-darken-1": "#CD2B31", + "error-darken-2": "#381316", + "error-lighten-1": "#EB9091", + "error-lighten-2": "#FFE5E5", + // background + background: "#fff", + "on-background": "#212121", + // surface + surface: "#fff", + "on-surface": "#212121", + // grey + grey: "#9E9E9E", + "grey-lighten-1": "#BDBDBD", + "grey-lighten-2": "#E0E0E0", + "grey-lighten-3": "#EEEEEE", + "grey-lighten-4": "#F5F5F5", + "grey-lighten-5": "#FAFAFA", + "grey-darken-1": "#757575", + "grey-darken-2": "#616161", + "grey-darken-3": "#424242", + "grey-darken-4": "#212121", + // black + black: "rgba(0, 0, 0, 0.87)", + "black-lighten-1": "rgba(0, 0, 0, 0.6)", + "black-lighten-2": "rgba(0, 0, 0, 0.58)", + "black-lighten-3": "rgba(0, 0, 0, 0.54)", + "black-lighten-4": "rgba(0, 0, 0, 0.42)", + "black-lighten-5": "rgba(0, 0, 0, 0.38)", + "black-lighten-6": "rgba(0, 0, 0, 0.26)", + "black-lighten-7": "rgba(0, 0, 0, 0.2)", + "black-lighten-8": "rgba(0, 0, 0, 0.18)", + "black-lighten-9": "rgba(0, 0, 0, 0.12)", + "black-lighten-10": "rgba(0, 0, 0, 0.06)" + }, + variables: { + "border-color": "#000000", + "border-opacity": 0.12, + "high-emphasis-opacity": 1, + "medium-emphasis-opacity": 0.6, + "disabled-opacity": 0.38, + "idle-opacity": 0.04, + "hover-opacity": 0.04, + "focus-opacity": 0.12, + "selected-opacity": 0.08, + "activated-opacity": 0.12, + "pressed-opacity": 0.12, + "dragged-opacity": 0.08, + "theme-kbd": "#212121", + "theme-on-kbd": "#FFFFFF", + "theme-code": "#F5F5F5", + "theme-on-code": "#000000", + /* custom variables */ + // shadows + "shadow-key-umbra-color": "#000000", + "shadow-xs-opacity": "0.16", + "shadow-sm-opacity": "0.18", + "shadow-md-opacity": "0.20", + "shadow-lg-opacity": "0.22", + "shadow-xl-opacity": "0.24" + } + } + } + }; + const vuetify = createVuetify({ + locale: { + adapter: createVueI18nAdapter({ i18n, useI18n }) + }, + theme: themes, + components, + directives + }); + const _p = "en", hl = 200, Vm = hl - 80, Sc = 20, Tc = 1e5, Ec = 16, bo = 6, yo = 10, vo = 2, Rm = [ + "#f44336", + "#e91e63", + "#9c27b0", + "#673ab7", + "#3f51b5", + "#2196f3", + "#03a9f4", + "#00bcd4", + "#009688", + "#4caf50", + "#8bc34a", + "#cddc39", + "#ffeb3b", + "#ffc107", + "#ff9800", + "#ff5722", + "#000000", + "#333333", + "#666666", + "#999999", + "#CCCCCC", + "#D5D5D4", + "#E8E8E8", + "#EEEEEE" + ], ml = "Roboto", Dm = [ + { title: "editor.default", value: ml, divider: true, default: true }, + { title: "Arial", value: "Arial" }, + { title: "Arial Black", value: "Arial Black" }, + { title: "Georgia", value: "Georgia" }, + { title: "Impact", value: "Impact" }, + { title: "Helvetica", value: "Helvetica" }, + { title: "Tahoma", value: "Tahoma" }, + { title: "Times New Roman", value: "Times New Roman" }, + { title: "Verdana", value: "Verdana" }, + { title: "Courier New", value: "Courier New", divider: true }, + { title: "Monaco", value: "Monaco" }, + { title: "Monospace", value: "monospace" } + ], Xo = "default", _m = [8, 10, 12, 14, 16, 18, 20, 24, 30, 36, 48, 60, 72], yr = "default"; + var Yo = /* @__PURE__ */ ((t7) => (t7[t7["size-small"] = 200] = "size-small", t7[t7["size-medium"] = 500] = "size-medium", t7["size-large"] = "100%", t7))(Yo || {}), Qo = /* @__PURE__ */ ((t7) => (t7[t7["size-small"] = 480] = "size-small", t7[t7["size-medium"] = 640] = "size-medium", t7["size-large"] = "100%", t7))(Qo || {}); + const Pm = { + image: [ + "float-left", + "float-none", + "float-right", + "divider", + "image-size-small", + "image-size-medium", + "image-size-large", + "divider", + "textAlign", + "divider", + "image", + "image-aspect-ratio", + "remove" + ], + text: ["bold", "italic", "underline", "strike", "divider", "color", "highlight", "textAlign", "divider", "link"], + link: [ + "bold", + "italic", + "underline", + "strike", + "divider", + "color", + "highlight", + "textAlign", + "divider", + "link", + "unlink", + "link-open" + ], + video: ["video-size-small", "video-size-medium", "video-size-large", "divider", "video", "remove"] + }, zo = require$$0.reactive({ + extensions: [] + }); + function Im(t7) { + zo.defaultLang = t7.defaultLang, zo.defaultMarkdownTheme = t7.defaultMarkdownTheme, zo.extensions = t7.extensions ?? []; + } + function Gs() { + return { + state: zo + }; + } + var Pp = typeof global == "object" && global && global.Object === Object && global, Bm = typeof self == "object" && self && self.Object === Object && self, Pt = Pp || Bm || Function("return this")(), Ht = Pt.Symbol, Ip = Object.prototype, Fm = Ip.hasOwnProperty, zm = Ip.toString, ii = Ht ? Ht.toStringTag : void 0; + function $m(t7) { + var e7 = Fm.call(t7, ii), n = t7[ii]; + try { + t7[ii] = void 0; + var r = true; + } catch { + } + var i7 = zm.call(t7); + return r && (e7 ? t7[ii] = n : delete t7[ii]), i7; + } + var jm = Object.prototype, Wm = jm.toString; + function qm(t7) { + return Wm.call(t7); + } + var Um = "[object Null]", Km = "[object Undefined]", Oc = Ht ? Ht.toStringTag : void 0; + function Jr(t7) { + return t7 == null ? t7 === void 0 ? Km : Um : Oc && Oc in Object(t7) ? $m(t7) : qm(t7); + } + function er(t7) { + return t7 != null && typeof t7 == "object"; + } + var Gm = "[object Symbol]"; + function Js(t7) { + return typeof t7 == "symbol" || er(t7) && Jr(t7) == Gm; + } + function Bp(t7, e7) { + for (var n = -1, r = t7 == null ? 0 : t7.length, i7 = Array(r); ++n < r; ) + i7[n] = e7(t7[n], n, t7); + return i7; + } + var Vt = Array.isArray, Lc = Ht ? Ht.prototype : void 0, Nc = Lc ? Lc.toString : void 0; + function Fp(t7) { + if (typeof t7 == "string") + return t7; + if (Vt(t7)) + return Bp(t7, Fp) + ""; + if (Js(t7)) + return Nc ? Nc.call(t7) : ""; + var e7 = t7 + ""; + return e7 == "0" && 1 / t7 == -1 / 0 ? "-0" : e7; + } + var Jm = /\s/; + function Zm(t7) { + for (var e7 = t7.length; e7-- && Jm.test(t7.charAt(e7)); ) + ; + return e7; + } + var Xm = /^\s+/; + function Ym(t7) { + return t7 && t7.slice(0, Zm(t7) + 1).replace(Xm, ""); + } + function tr(t7) { + var e7 = typeof t7; + return t7 != null && (e7 == "object" || e7 == "function"); + } + var Hc = NaN, Qm = /^[-+]0x[0-9a-f]+$/i, eg = /^0b[01]+$/i, tg = /^0o[0-7]+$/i, ng = parseInt; + function Vc(t7) { + if (typeof t7 == "number") + return t7; + if (Js(t7)) + return Hc; + if (tr(t7)) { + var e7 = typeof t7.valueOf == "function" ? t7.valueOf() : t7; + t7 = tr(e7) ? e7 + "" : e7; + } + if (typeof t7 != "string") + return t7 === 0 ? t7 : +t7; + t7 = Ym(t7); + var n = eg.test(t7); + return n || tg.test(t7) ? ng(t7.slice(2), n ? 2 : 8) : Qm.test(t7) ? Hc : +t7; + } + function wu(t7) { + return t7; + } + var rg = "[object AsyncFunction]", ig = "[object Function]", og = "[object GeneratorFunction]", sg = "[object Proxy]"; + function zp(t7) { + if (!tr(t7)) + return false; + var e7 = Jr(t7); + return e7 == ig || e7 == og || e7 == rg || e7 == sg; + } + var Aa = Pt["__core-js_shared__"], Rc = function() { + var t7 = /[^.]+$/.exec(Aa && Aa.keys && Aa.keys.IE_PROTO || ""); + return t7 ? "Symbol(src)_1." + t7 : ""; + }(); + function ag(t7) { + return !!Rc && Rc in t7; + } + var lg = Function.prototype, ug = lg.toString; + function dr(t7) { + if (t7 != null) { + try { + return ug.call(t7); + } catch { + } + try { + return t7 + ""; + } catch { + } + } + return ""; + } + var cg = /[\\^$.*+?()[\]{}|]/g, dg = /^\[object .+?Constructor\]$/, fg = Function.prototype, pg = Object.prototype, hg = fg.toString, mg = pg.hasOwnProperty, gg = RegExp( + "^" + hg.call(mg).replace(cg, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" + ); + function bg(t7) { + if (!tr(t7) || ag(t7)) + return false; + var e7 = zp(t7) ? gg : dg; + return e7.test(dr(t7)); + } + function yg(t7, e7) { + return t7?.[e7]; + } + function fr(t7, e7) { + var n = yg(t7, e7); + return bg(n) ? n : void 0; + } + var gl = fr(Pt, "WeakMap"); + function vg(t7, e7, n) { + switch (n.length) { + case 0: + return t7.call(e7); + case 1: + return t7.call(e7, n[0]); + case 2: + return t7.call(e7, n[0], n[1]); + case 3: + return t7.call(e7, n[0], n[1], n[2]); + } + return t7.apply(e7, n); + } + var wg = 800, xg = 16, kg = Date.now; + function Ag(t7) { + var e7 = 0, n = 0; + return function() { + var r = kg(), i7 = xg - (r - n); + if (n = r, i7 > 0) { + if (++e7 >= wg) + return arguments[0]; + } else + e7 = 0; + return t7.apply(void 0, arguments); + }; + } + function Cg(t7) { + return function() { + return t7; + }; + } + var Dc = function() { + try { + var t7 = fr(Object, "defineProperty"); + return t7({}, "", {}), t7; + } catch { + } + }(), Sg = Dc ? function(t7, e7) { + return Dc(t7, "toString", { + configurable: true, + enumerable: false, + value: Cg(e7), + writable: true + }); + } : wu, Tg = Ag(Sg); + function Eg(t7, e7, n, r) { + for (var i7 = t7.length, o = n + -1; ++o < i7; ) + if (e7(t7[o], o, t7)) + return o; + return -1; + } + function Mg(t7) { + return t7 !== t7; + } + function Og(t7, e7, n) { + for (var r = n - 1, i7 = t7.length; ++r < i7; ) + if (t7[r] === e7) + return r; + return -1; + } + function Lg(t7, e7, n) { + return e7 === e7 ? Og(t7, e7, n) : Eg(t7, Mg, n); + } + function Ng(t7, e7) { + var n = t7 == null ? 0 : t7.length; + return !!n && Lg(t7, e7, 0) > -1; + } + var Hg = 9007199254740991, Vg = /^(?:0|[1-9]\d*)$/; + function $p(t7, e7) { + var n = typeof t7; + return e7 = e7 ?? Hg, !!e7 && (n == "number" || n != "symbol" && Vg.test(t7)) && t7 > -1 && t7 % 1 == 0 && t7 < e7; + } + function jp(t7, e7) { + return t7 === e7 || t7 !== t7 && e7 !== e7; + } + var _c$1 = Math.max; + function Rg(t7, e7, n) { + return e7 = _c$1(e7 === void 0 ? t7.length - 1 : e7, 0), function() { + for (var r = arguments, i7 = -1, o = _c$1(r.length - e7, 0), s = Array(o); ++i7 < o; ) + s[i7] = r[e7 + i7]; + i7 = -1; + for (var a = Array(e7 + 1); ++i7 < e7; ) + a[i7] = r[i7]; + return a[e7] = n(s), vg(t7, this, a); + }; + } + function Dg(t7, e7) { + return Tg(Rg(t7, e7, wu), t7 + ""); + } + var _g = 9007199254740991; + function xu(t7) { + return typeof t7 == "number" && t7 > -1 && t7 % 1 == 0 && t7 <= _g; + } + function Wp(t7) { + return t7 != null && xu(t7.length) && !zp(t7); + } + var Pg = Object.prototype; + function Ig(t7) { + var e7 = t7 && t7.constructor, n = typeof e7 == "function" && e7.prototype || Pg; + return t7 === n; + } + function Bg(t7, e7) { + for (var n = -1, r = Array(t7); ++n < t7; ) + r[n] = e7(n); + return r; + } + var Fg = "[object Arguments]"; + function Pc(t7) { + return er(t7) && Jr(t7) == Fg; + } + var qp = Object.prototype, zg = qp.hasOwnProperty, $g = qp.propertyIsEnumerable, ku = Pc(/* @__PURE__ */ function() { + return arguments; + }()) ? Pc : function(t7) { + return er(t7) && zg.call(t7, "callee") && !$g.call(t7, "callee"); + }; + function jg() { + return false; + } + var Up = typeof exports == "object" && exports && !exports.nodeType && exports, Ic = Up && typeof module == "object" && module && !module.nodeType && module, Wg = Ic && Ic.exports === Up, Bc = Wg ? Pt.Buffer : void 0, qg = Bc ? Bc.isBuffer : void 0, bl = qg || jg, Ug = "[object Arguments]", Kg = "[object Array]", Gg = "[object Boolean]", Jg = "[object Date]", Zg = "[object Error]", Xg = "[object Function]", Yg = "[object Map]", Qg = "[object Number]", eb = "[object Object]", tb = "[object RegExp]", nb = "[object Set]", rb$1 = "[object String]", ib = "[object WeakMap]", ob = "[object ArrayBuffer]", sb = "[object DataView]", ab = "[object Float32Array]", lb$1 = "[object Float64Array]", ub = "[object Int8Array]", cb = "[object Int16Array]", db = "[object Int32Array]", fb = "[object Uint8Array]", pb = "[object Uint8ClampedArray]", hb = "[object Uint16Array]", mb = "[object Uint32Array]", ue = {}; + ue[ab] = ue[lb$1] = ue[ub] = ue[cb] = ue[db] = ue[fb] = ue[pb] = ue[hb] = ue[mb] = true; + ue[Ug] = ue[Kg] = ue[ob] = ue[Gg] = ue[sb] = ue[Jg] = ue[Zg] = ue[Xg] = ue[Yg] = ue[Qg] = ue[eb] = ue[tb] = ue[nb] = ue[rb$1] = ue[ib] = false; + function gb(t7) { + return er(t7) && xu(t7.length) && !!ue[Jr(t7)]; + } + function Kp(t7) { + return function(e7) { + return t7(e7); + }; + } + var Gp = typeof exports == "object" && exports && !exports.nodeType && exports, pi = Gp && typeof module == "object" && module && !module.nodeType && module, bb = pi && pi.exports === Gp, Ca = bb && Pp.process, Fc = function() { + try { + var t7 = pi && pi.require && pi.require("util").types; + return t7 || Ca && Ca.binding && Ca.binding("util"); + } catch { + } + }(), zc = Fc && Fc.isTypedArray, Jp = zc ? Kp(zc) : gb, yb = Object.prototype, vb = yb.hasOwnProperty; + function wb(t7, e7) { + var n = Vt(t7), r = !n && ku(t7), i7 = !n && !r && bl(t7), o = !n && !r && !i7 && Jp(t7), s = n || r || i7 || o, a = s ? Bg(t7.length, String) : [], l = a.length; + for (var u in t7) + vb.call(t7, u) && !(s && // Safari 9 has enumerable `arguments.length` in strict mode. + (u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. + i7 && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. + o && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties. + $p(u, l))) && a.push(u); + return a; + } + function xb(t7, e7) { + return function(n) { + return t7(e7(n)); + }; + } + var kb = xb(Object.keys, Object), Ab = Object.prototype, Cb = Ab.hasOwnProperty; + function Sb(t7) { + if (!Ig(t7)) + return kb(t7); + var e7 = []; + for (var n in Object(t7)) + Cb.call(t7, n) && n != "constructor" && e7.push(n); + return e7; + } + function Zp(t7) { + return Wp(t7) ? wb(t7) : Sb(t7); + } + var Tb = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Eb = /^\w*$/; + function Au(t7, e7) { + if (Vt(t7)) + return false; + var n = typeof t7; + return n == "number" || n == "symbol" || n == "boolean" || t7 == null || Js(t7) ? true : Eb.test(t7) || !Tb.test(t7) || e7 != null && t7 in Object(e7); + } + var Ni = fr(Object, "create"); + function Mb() { + this.__data__ = Ni ? Ni(null) : {}, this.size = 0; + } + function Ob(t7) { + var e7 = this.has(t7) && delete this.__data__[t7]; + return this.size -= e7 ? 1 : 0, e7; + } + var Lb = "__lodash_hash_undefined__", Nb = Object.prototype, Hb = Nb.hasOwnProperty; + function Vb(t7) { + var e7 = this.__data__; + if (Ni) { + var n = e7[t7]; + return n === Lb ? void 0 : n; + } + return Hb.call(e7, t7) ? e7[t7] : void 0; + } + var Rb = Object.prototype, Db = Rb.hasOwnProperty; + function _b$1(t7) { + var e7 = this.__data__; + return Ni ? e7[t7] !== void 0 : Db.call(e7, t7); + } + var Pb = "__lodash_hash_undefined__"; + function Ib(t7, e7) { + var n = this.__data__; + return this.size += this.has(t7) ? 0 : 1, n[t7] = Ni && e7 === void 0 ? Pb : e7, this; + } + function nr(t7) { + var e7 = -1, n = t7 == null ? 0 : t7.length; + for (this.clear(); ++e7 < n; ) { + var r = t7[e7]; + this.set(r[0], r[1]); + } + } + nr.prototype.clear = Mb; + nr.prototype.delete = Ob; + nr.prototype.get = Vb; + nr.prototype.has = _b$1; + nr.prototype.set = Ib; + function Bb() { + this.__data__ = [], this.size = 0; + } + function Zs(t7, e7) { + for (var n = t7.length; n--; ) + if (jp(t7[n][0], e7)) + return n; + return -1; + } + var Fb = Array.prototype, zb = Fb.splice; + function $b(t7) { + var e7 = this.__data__, n = Zs(e7, t7); + if (n < 0) + return false; + var r = e7.length - 1; + return n == r ? e7.pop() : zb.call(e7, n, 1), --this.size, true; + } + function jb(t7) { + var e7 = this.__data__, n = Zs(e7, t7); + return n < 0 ? void 0 : e7[n][1]; + } + function Wb(t7) { + return Zs(this.__data__, t7) > -1; + } + function qb(t7, e7) { + var n = this.__data__, r = Zs(n, t7); + return r < 0 ? (++this.size, n.push([t7, e7])) : n[r][1] = e7, this; + } + function rn(t7) { + var e7 = -1, n = t7 == null ? 0 : t7.length; + for (this.clear(); ++e7 < n; ) { + var r = t7[e7]; + this.set(r[0], r[1]); + } + } + rn.prototype.clear = Bb; + rn.prototype.delete = $b; + rn.prototype.get = jb; + rn.prototype.has = Wb; + rn.prototype.set = qb; + var Hi = fr(Pt, "Map"); + function Ub() { + this.size = 0, this.__data__ = { + hash: new nr(), + map: new (Hi || rn)(), + string: new nr() + }; + } + function Kb(t7) { + var e7 = typeof t7; + return e7 == "string" || e7 == "number" || e7 == "symbol" || e7 == "boolean" ? t7 !== "__proto__" : t7 === null; + } + function Xs(t7, e7) { + var n = t7.__data__; + return Kb(e7) ? n[typeof e7 == "string" ? "string" : "hash"] : n.map; + } + function Gb(t7) { + var e7 = Xs(this, t7).delete(t7); + return this.size -= e7 ? 1 : 0, e7; + } + function Jb(t7) { + return Xs(this, t7).get(t7); + } + function Zb(t7) { + return Xs(this, t7).has(t7); + } + function Xb(t7, e7) { + var n = Xs(this, t7), r = n.size; + return n.set(t7, e7), this.size += n.size == r ? 0 : 1, this; + } + function on$1(t7) { + var e7 = -1, n = t7 == null ? 0 : t7.length; + for (this.clear(); ++e7 < n; ) { + var r = t7[e7]; + this.set(r[0], r[1]); + } + } + on$1.prototype.clear = Ub; + on$1.prototype.delete = Gb; + on$1.prototype.get = Jb; + on$1.prototype.has = Zb; + on$1.prototype.set = Xb; + var Yb = "Expected a function"; + function Cu(t7, e7) { + if (typeof t7 != "function" || e7 != null && typeof e7 != "function") + throw new TypeError(Yb); + var n = function() { + var r = arguments, i7 = e7 ? e7.apply(this, r) : r[0], o = n.cache; + if (o.has(i7)) + return o.get(i7); + var s = t7.apply(this, r); + return n.cache = o.set(i7, s) || o, s; + }; + return n.cache = new (Cu.Cache || on$1)(), n; + } + Cu.Cache = on$1; + var Qb = 500; + function e2(t7) { + var e7 = Cu(t7, function(r) { + return n.size === Qb && n.clear(), r; + }), n = e7.cache; + return e7; + } + var t2 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, n2 = /\\(\\)?/g, r2 = e2(function(t7) { + var e7 = []; + return t7.charCodeAt(0) === 46 && e7.push(""), t7.replace(t2, function(n, r, i7, o) { + e7.push(i7 ? o.replace(n2, "$1") : r || n); + }), e7; + }); + function i2(t7) { + return t7 == null ? "" : Fp(t7); + } + function Xp(t7, e7) { + return Vt(t7) ? t7 : Au(t7, e7) ? [t7] : r2(i2(t7)); + } + function Ys(t7) { + if (typeof t7 == "string" || Js(t7)) + return t7; + var e7 = t7 + ""; + return e7 == "0" && 1 / t7 == -1 / 0 ? "-0" : e7; + } + function Yp(t7, e7) { + e7 = Xp(e7, t7); + for (var n = 0, r = e7.length; t7 != null && n < r; ) + t7 = t7[Ys(e7[n++])]; + return n && n == r ? t7 : void 0; + } + function o2(t7, e7, n) { + var r = t7 == null ? void 0 : Yp(t7, e7); + return r === void 0 ? n : r; + } + function Qp(t7, e7) { + for (var n = -1, r = e7.length, i7 = t7.length; ++n < r; ) + t7[i7 + n] = e7[n]; + return t7; + } + var $c = Ht ? Ht.isConcatSpreadable : void 0; + function s2(t7) { + return Vt(t7) || ku(t7) || !!($c && t7 && t7[$c]); + } + function a2(t7, e7, n, r, i7) { + var o = -1, s = t7.length; + for (n || (n = s2), i7 || (i7 = []); ++o < s; ) { + var a = t7[o]; + n(a) && Qp(i7, a); + } + return i7; + } + function l2() { + this.__data__ = new rn(), this.size = 0; + } + function u2(t7) { + var e7 = this.__data__, n = e7.delete(t7); + return this.size = e7.size, n; + } + function c2(t7) { + return this.__data__.get(t7); + } + function d2(t7) { + return this.__data__.has(t7); + } + var f2 = 200; + function p2(t7, e7) { + var n = this.__data__; + if (n instanceof rn) { + var r = n.__data__; + if (!Hi || r.length < f2 - 1) + return r.push([t7, e7]), this.size = ++n.size, this; + n = this.__data__ = new on$1(r); + } + return n.set(t7, e7), this.size = n.size, this; + } + function Zt(t7) { + var e7 = this.__data__ = new rn(t7); + this.size = e7.size; + } + Zt.prototype.clear = l2; + Zt.prototype.delete = u2; + Zt.prototype.get = c2; + Zt.prototype.has = d2; + Zt.prototype.set = p2; + function h2(t7, e7) { + for (var n = -1, r = t7 == null ? 0 : t7.length, i7 = 0, o = []; ++n < r; ) { + var s = t7[n]; + e7(s, n, t7) && (o[i7++] = s); + } + return o; + } + function m2() { + return []; + } + var g2 = Object.prototype, b2 = g2.propertyIsEnumerable, jc = Object.getOwnPropertySymbols, y2 = jc ? function(t7) { + return t7 == null ? [] : (t7 = Object(t7), h2(jc(t7), function(e7) { + return b2.call(t7, e7); + })); + } : m2; + function v2$1(t7, e7, n) { + var r = e7(t7); + return Vt(t7) ? r : Qp(r, n(t7)); + } + function Wc(t7) { + return v2$1(t7, Zp, y2); + } + var yl = fr(Pt, "DataView"), vl = fr(Pt, "Promise"), wl = fr(Pt, "Set"), qc = "[object Map]", w2 = "[object Object]", Uc = "[object Promise]", Kc = "[object Set]", Gc = "[object WeakMap]", Jc = "[object DataView]", x2 = dr(yl), k2 = dr(Hi), A2 = dr(vl), C2 = dr(wl), S2 = dr(gl), fn = Jr; + (yl && fn(new yl(new ArrayBuffer(1))) != Jc || Hi && fn(new Hi()) != qc || vl && fn(vl.resolve()) != Uc || wl && fn(new wl()) != Kc || gl && fn(new gl()) != Gc) && (fn = function(t7) { + var e7 = Jr(t7), n = e7 == w2 ? t7.constructor : void 0, r = n ? dr(n) : ""; + if (r) + switch (r) { + case x2: + return Jc; + case k2: + return qc; + case A2: + return Uc; + case C2: + return Kc; + case S2: + return Gc; + } + return e7; + }); + var Zc = Pt.Uint8Array, T2 = "__lodash_hash_undefined__"; + function E2(t7) { + return this.__data__.set(t7, T2), this; + } + function M2(t7) { + return this.__data__.has(t7); + } + function Vi(t7) { + var e7 = -1, n = t7 == null ? 0 : t7.length; + for (this.__data__ = new on$1(); ++e7 < n; ) + this.add(t7[e7]); + } + Vi.prototype.add = Vi.prototype.push = E2; + Vi.prototype.has = M2; + function O2(t7, e7) { + for (var n = -1, r = t7 == null ? 0 : t7.length; ++n < r; ) + if (e7(t7[n], n, t7)) + return true; + return false; + } + function eh(t7, e7) { + return t7.has(e7); + } + var L2 = 1, N2 = 2; + function th(t7, e7, n, r, i7, o) { + var s = n & L2, a = t7.length, l = e7.length; + if (a != l && !(s && l > a)) + return false; + var u = o.get(t7), c = o.get(e7); + if (u && c) + return u == e7 && c == t7; + var d = -1, f = true, p = n & N2 ? new Vi() : void 0; + for (o.set(t7, e7), o.set(e7, t7); ++d < a; ) { + var h = t7[d], m7 = e7[d]; + if (r) + var g = s ? r(m7, h, d, e7, t7, o) : r(h, m7, d, t7, e7, o); + if (g !== void 0) { + if (g) + continue; + f = false; + break; + } + if (p) { + if (!O2(e7, function(b, x) { + if (!eh(p, x) && (h === b || i7(h, b, n, r, o))) + return p.push(x); + })) { + f = false; + break; + } + } else if (!(h === m7 || i7(h, m7, n, r, o))) { + f = false; + break; + } + } + return o.delete(t7), o.delete(e7), f; + } + function H2(t7) { + var e7 = -1, n = Array(t7.size); + return t7.forEach(function(r, i7) { + n[++e7] = [i7, r]; + }), n; + } + function V2(t7) { + var e7 = -1, n = Array(t7.size); + return t7.forEach(function(r) { + n[++e7] = r; + }), n; + } + var R2 = 1, D2 = 2, _2 = "[object Boolean]", P2 = "[object Date]", I2 = "[object Error]", B2 = "[object Map]", F2 = "[object Number]", z2 = "[object RegExp]", $2 = "[object Set]", j2 = "[object String]", W2 = "[object Symbol]", q2 = "[object ArrayBuffer]", U2 = "[object DataView]", Xc = Ht ? Ht.prototype : void 0, Sa = Xc ? Xc.valueOf : void 0; + function K2(t7, e7, n, r, i7, o, s) { + switch (n) { + case U2: + if (t7.byteLength != e7.byteLength || t7.byteOffset != e7.byteOffset) + return false; + t7 = t7.buffer, e7 = e7.buffer; + case q2: + return !(t7.byteLength != e7.byteLength || !o(new Zc(t7), new Zc(e7))); + case _2: + case P2: + case F2: + return jp(+t7, +e7); + case I2: + return t7.name == e7.name && t7.message == e7.message; + case z2: + case j2: + return t7 == e7 + ""; + case B2: + var a = H2; + case $2: + var l = r & R2; + if (a || (a = V2), t7.size != e7.size && !l) + return false; + var u = s.get(t7); + if (u) + return u == e7; + r |= D2, s.set(t7, e7); + var c = th(a(t7), a(e7), r, i7, o, s); + return s.delete(t7), c; + case W2: + if (Sa) + return Sa.call(t7) == Sa.call(e7); + } + return false; + } + var G2 = 1, J2 = Object.prototype, Z2 = J2.hasOwnProperty; + function X2(t7, e7, n, r, i7, o) { + var s = n & G2, a = Wc(t7), l = a.length, u = Wc(e7), c = u.length; + if (l != c && !s) + return false; + for (var d = l; d--; ) { + var f = a[d]; + if (!(s ? f in e7 : Z2.call(e7, f))) + return false; + } + var p = o.get(t7), h = o.get(e7); + if (p && h) + return p == e7 && h == t7; + var m7 = true; + o.set(t7, e7), o.set(e7, t7); + for (var g = s; ++d < l; ) { + f = a[d]; + var b = t7[f], x = e7[f]; + if (r) + var w = s ? r(x, b, f, e7, t7, o) : r(b, x, f, t7, e7, o); + if (!(w === void 0 ? b === x || i7(b, x, n, r, o) : w)) { + m7 = false; + break; + } + g || (g = f == "constructor"); + } + if (m7 && !g) { + var y = t7.constructor, k7 = e7.constructor; + y != k7 && "constructor" in t7 && "constructor" in e7 && !(typeof y == "function" && y instanceof y && typeof k7 == "function" && k7 instanceof k7) && (m7 = false); + } + return o.delete(t7), o.delete(e7), m7; + } + var Y2 = 1, Yc = "[object Arguments]", Qc = "[object Array]", wo = "[object Object]", Q2 = Object.prototype, ed = Q2.hasOwnProperty; + function ey(t7, e7, n, r, i7, o) { + var s = Vt(t7), a = Vt(e7), l = s ? Qc : fn(t7), u = a ? Qc : fn(e7); + l = l == Yc ? wo : l, u = u == Yc ? wo : u; + var c = l == wo, d = u == wo, f = l == u; + if (f && bl(t7)) { + if (!bl(e7)) + return false; + s = true, c = false; + } + if (f && !c) + return o || (o = new Zt()), s || Jp(t7) ? th(t7, e7, n, r, i7, o) : K2(t7, e7, l, n, r, i7, o); + if (!(n & Y2)) { + var p = c && ed.call(t7, "__wrapped__"), h = d && ed.call(e7, "__wrapped__"); + if (p || h) { + var m7 = p ? t7.value() : t7, g = h ? e7.value() : e7; + return o || (o = new Zt()), i7(m7, g, n, r, o); + } + } + return f ? (o || (o = new Zt()), X2(t7, e7, n, r, i7, o)) : false; + } + function Qs(t7, e7, n, r, i7) { + return t7 === e7 ? true : t7 == null || e7 == null || !er(t7) && !er(e7) ? t7 !== t7 && e7 !== e7 : ey(t7, e7, n, r, Qs, i7); + } + var ty = 1, ny = 2; + function ry(t7, e7, n, r) { + var i7 = n.length, o = i7; + if (t7 == null) + return !o; + for (t7 = Object(t7); i7--; ) { + var s = n[i7]; + if (s[2] ? s[1] !== t7[s[0]] : !(s[0] in t7)) + return false; + } + for (; ++i7 < o; ) { + s = n[i7]; + var a = s[0], l = t7[a], u = s[1]; + if (s[2]) { + if (l === void 0 && !(a in t7)) + return false; + } else { + var c = new Zt(), d; + if (!(d === void 0 ? Qs(u, l, ty | ny, r, c) : d)) + return false; + } + } + return true; + } + function nh(t7) { + return t7 === t7 && !tr(t7); + } + function iy(t7) { + for (var e7 = Zp(t7), n = e7.length; n--; ) { + var r = e7[n], i7 = t7[r]; + e7[n] = [r, i7, nh(i7)]; + } + return e7; + } + function rh(t7, e7) { + return function(n) { + return n == null ? false : n[t7] === e7 && (e7 !== void 0 || t7 in Object(n)); + }; + } + function oy(t7) { + var e7 = iy(t7); + return e7.length == 1 && e7[0][2] ? rh(e7[0][0], e7[0][1]) : function(n) { + return n === t7 || ry(n, t7, e7); + }; + } + function sy(t7, e7) { + return t7 != null && e7 in Object(t7); + } + function ay(t7, e7, n) { + e7 = Xp(e7, t7); + for (var r = -1, i7 = e7.length, o = false; ++r < i7; ) { + var s = Ys(e7[r]); + if (!(o = t7 != null && n(t7, s))) + break; + t7 = t7[s]; + } + return o || ++r != i7 ? o : (i7 = t7 == null ? 0 : t7.length, !!i7 && xu(i7) && $p(s, i7) && (Vt(t7) || ku(t7))); + } + function ly(t7, e7) { + return t7 != null && ay(t7, e7, sy); + } + var uy = 1, cy = 2; + function dy(t7, e7) { + return Au(t7) && nh(e7) ? rh(Ys(t7), e7) : function(n) { + var r = o2(n, t7); + return r === void 0 && r === e7 ? ly(n, t7) : Qs(e7, r, uy | cy); + }; + } + function fy(t7) { + return function(e7) { + return e7?.[t7]; + }; + } + function py(t7) { + return function(e7) { + return Yp(e7, t7); + }; + } + function hy(t7) { + return Au(t7) ? fy(Ys(t7)) : py(t7); + } + function my(t7) { + return typeof t7 == "function" ? t7 : t7 == null ? wu : typeof t7 == "object" ? Vt(t7) ? dy(t7[0], t7[1]) : oy(t7) : hy(t7); + } + var Ta = function() { + return Pt.Date.now(); + }, gy = "Expected a function", by = Math.max, yy = Math.min; + function vy(t7, e7, n) { + var r, i7, o, s, a, l, u = 0, c = false, d = false, f = true; + if (typeof t7 != "function") + throw new TypeError(gy); + e7 = Vc(e7) || 0, tr(n) && (c = !!n.leading, d = "maxWait" in n, o = d ? by(Vc(n.maxWait) || 0, e7) : o, f = "trailing" in n ? !!n.trailing : f); + function p(v) { + var E = r, A = i7; + return r = i7 = void 0, u = v, s = t7.apply(A, E), s; + } + function h(v) { + return u = v, a = setTimeout(b, e7), c ? p(v) : s; + } + function m7(v) { + var E = v - l, A = v - u, H = e7 - E; + return d ? yy(H, o - A) : H; + } + function g(v) { + var E = v - l, A = v - u; + return l === void 0 || E >= e7 || E < 0 || d && A >= o; + } + function b() { + var v = Ta(); + if (g(v)) + return x(v); + a = setTimeout(b, m7(v)); + } + function x(v) { + return a = void 0, f && r ? p(v) : (r = i7 = void 0, s); + } + function w() { + a !== void 0 && clearTimeout(a), u = 0, r = l = i7 = a = void 0; + } + function y() { + return a === void 0 ? s : x(Ta()); + } + function k7() { + var v = Ta(), E = g(v); + if (r = arguments, i7 = this, l = v, E) { + if (a === void 0) + return h(l); + if (d) + return clearTimeout(a), a = setTimeout(b, e7), p(l); + } + return a === void 0 && (a = setTimeout(b, e7)), s; + } + return k7.cancel = w, k7.flush = y, k7; + } + function Ea(t7) { + return er(t7) && Wp(t7); + } + var wy = 200; + function xy(t7, e7, n, r) { + var i7 = -1, o = Ng, s = true, a = t7.length, l = [], u = e7.length; + if (!a) + return l; + n && (e7 = Bp(e7, Kp(n))), e7.length >= wy && (o = eh, s = false, e7 = new Vi(e7)); + e: + for (; ++i7 < a; ) { + var c = t7[i7], d = n == null ? c : n(c); + if (c = c !== 0 ? c : 0, s && d === d) { + for (var f = u; f--; ) + if (e7[f] === d) + continue e; + l.push(c); + } else o(e7, d, r) || l.push(c); + } + return l; + } + function ky(t7) { + var e7 = t7 == null ? 0 : t7.length; + return e7 ? t7[e7 - 1] : void 0; + } + var Ay = Dg(function(t7, e7) { + var n = ky(e7); + return Ea(n) && (n = void 0), Ea(t7) ? xy(t7, a2(e7, 1, Ea), my(n)) : []; + }); + function Cy(t7, e7) { + return Qs(t7, e7); + } + var Sy = "Expected a function"; + function hi(t7, e7, n) { + var r = true, i7 = true; + if (typeof t7 != "function") + throw new TypeError(Sy); + return tr(n) && (r = "leading" in n ? !!n.leading : r, i7 = "trailing" in n ? !!n.trailing : i7), vy(t7, e7, { + leading: r, + maxWait: e7, + trailing: i7 + }); + } + function Ty(t7, e7, n) { + return t7 < e7 ? e7 : t7 > n ? n : t7; + } + const xl = (t7) => typeof t7 == "number", mi = (t7) => typeof t7 == "string", Dr = (t7) => typeof t7 == "boolean", Ey = (t7) => typeof t7 == "function", gi = (t7, e7 = "px") => { + if (!t7) return t7; + const n = xl(t7) ? String(t7) : t7, r = Number.parseFloat(n), i7 = n.match(/[a-zA-Z%]+$/), o = i7 ? i7[0] : e7; + return Number.isNaN(r) ? t7 : r + o; + }; + function My(t7, e7) { + const { extensions: n = [] } = t7.extensionManager ?? {}; + return !!n.find((i7) => i7.name === e7); + } + function ih(t7, e7) { + const { state: n } = Gs(), r = require$$0.computed(() => Dr(require$$0.unref(t7)) ? Xo : mi(n.defaultMarkdownTheme) && n.defaultMarkdownTheme ? n.defaultMarkdownTheme : Xo), i7 = require$$0.computed(() => ({ + [`markdown-theme-${require$$0.unref(r)}`]: !!mi(require$$0.unref(r)) + })); + function o(a) { + !Dr(require$$0.unref(t7)) && require$$0.unref(t7) !== a && e7?.(a); + } + return require$$0.watch(r, (a) => o(a)), require$$0.watch(t7, (a) => { + a && mi(a) && n.defaultMarkdownTheme !== a && (n.defaultMarkdownTheme = a); + }), (() => { + n.defaultMarkdownTheme && o(n.defaultMarkdownTheme); + })(), { + markdownThemeStyle: i7 + }; + } + function oh(t7) { + return require$$0.getCurrentScope() ? (require$$0.onScopeDispose(t7), true) : false; + } + const Nr = /* @__PURE__ */ new WeakMap(), Oy = (...t7) => { + var e7; + const n = t7[0], r = (e7 = require$$0.getCurrentInstance()) == null ? void 0 : e7.proxy; + if (r == null) + throw new Error("injectLocal must be called in setup"); + return Nr.has(r) && n in Nr.get(r) ? Nr.get(r)[n] : require$$0.inject(...t7); + }, Ly = (t7, e7) => { + var n; + const r = (n = require$$0.getCurrentInstance()) == null ? void 0 : n.proxy; + if (r == null) + throw new Error("provideLocal must be called in setup"); + Nr.has(r) || Nr.set(r, /* @__PURE__ */ Object.create(null)); + const i7 = Nr.get(r); + i7[t7] = e7, require$$0.provide(t7, e7); + }; + function Ny(t7, e7) { + const n = Symbol(t7.name || "InjectionState"), r = void 0; + return [(...s) => { + const a = t7(...s); + return Ly(n, a), a; + }, () => Oy(n, r)]; + } + function sh(t7) { + return typeof t7 == "function" ? t7() : require$$0.unref(t7); + } + const ah = typeof window < "u" && typeof document < "u"; + typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope; + const Hy = Object.prototype.toString, Vy = (t7) => Hy.call(t7) === "[object Object]", Ry = () => { + }, Dy = ah ? window : void 0, _y = ah ? window.document : void 0; + function kl(t7) { + var e7; + const n = sh(t7); + return (e7 = n?.$el) != null ? e7 : n; + } + function td(...t7) { + let e7, n, r, i7; + if (typeof t7[0] == "string" || Array.isArray(t7[0]) ? ([n, r, i7] = t7, e7 = Dy) : [e7, n, r, i7] = t7, !e7) + return Ry; + Array.isArray(n) || (n = [n]), Array.isArray(r) || (r = [r]); + const o = [], s = () => { + o.forEach((c) => c()), o.length = 0; + }, a = (c, d, f, p) => (c.addEventListener(d, f, p), () => c.removeEventListener(d, f, p)), l = require$$0.watch( + () => [kl(e7), sh(i7)], + ([c, d]) => { + if (s(), !c) + return; + const f = Vy(d) ? { ...d } : d; + o.push( + ...n.flatMap((p) => r.map((h) => a(c, p, h, f))) + ); + }, + { immediate: true, flush: "post" } + ), u = () => { + l(), s(); + }; + return oh(u), u; + } + function Py() { + const t7 = require$$0.ref(false), e7 = require$$0.getCurrentInstance(); + return e7 && require$$0.onMounted(() => { + t7.value = true; + }, e7), t7; + } + function Iy(t7) { + const e7 = Py(); + return require$$0.computed(() => (e7.value, !!t7())); + } + const nd = [ + "fullscreenchange", + "webkitfullscreenchange", + "webkitendfullscreen", + "mozfullscreenchange", + "MSFullscreenChange" + ]; + function By(t7, e7 = {}) { + const { + document: n = _y, + autoExit: r = false + } = e7, i7 = require$$0.computed(() => { + var b; + return (b = kl(t7)) != null ? b : n?.querySelector("html"); + }), o = require$$0.ref(false), s = require$$0.computed(() => [ + "requestFullscreen", + "webkitRequestFullscreen", + "webkitEnterFullscreen", + "webkitEnterFullScreen", + "webkitRequestFullScreen", + "mozRequestFullScreen", + "msRequestFullscreen" + ].find((b) => n && b in n || i7.value && b in i7.value)), a = require$$0.computed(() => [ + "exitFullscreen", + "webkitExitFullscreen", + "webkitExitFullScreen", + "webkitCancelFullScreen", + "mozCancelFullScreen", + "msExitFullscreen" + ].find((b) => n && b in n || i7.value && b in i7.value)), l = require$$0.computed(() => [ + "fullScreen", + "webkitIsFullScreen", + "webkitDisplayingFullscreen", + "mozFullScreen", + "msFullscreenElement" + ].find((b) => n && b in n || i7.value && b in i7.value)), u = [ + "fullscreenElement", + "webkitFullscreenElement", + "mozFullScreenElement", + "msFullscreenElement" + ].find((b) => n && b in n), c = Iy(() => i7.value && n && s.value !== void 0 && a.value !== void 0 && l.value !== void 0), d = () => u ? n?.[u] === i7.value : false, f = () => { + if (l.value) { + if (n && n[l.value] != null) + return n[l.value]; + { + const b = i7.value; + if (b?.[l.value] != null) + return !!b[l.value]; + } + } + return false; + }; + async function p() { + if (!(!c.value || !o.value)) { + if (a.value) + if (n?.[a.value] != null) + await n[a.value](); + else { + const b = i7.value; + b?.[a.value] != null && await b[a.value](); + } + o.value = false; + } + } + async function h() { + if (!c.value || o.value) + return; + f() && await p(); + const b = i7.value; + s.value && b?.[s.value] != null && (await b[s.value](), o.value = true); + } + async function m7() { + await (o.value ? p() : h()); + } + const g = () => { + const b = f(); + (!b || b && d()) && (o.value = b); + }; + return td(n, nd, g, false), td(() => kl(i7), nd, g, false), r && oh(p), { + isSupported: c, + isFullscreen: o, + enter: h, + exit: p, + toggle: m7 + }; + } + const [Fy, Su] = Ny(() => { + const { state: t7 } = Gs(), e7 = require$$0.reactive({ + extensions: t7.extensions ?? [], + defaultLang: _p, + defaultMarkdownTheme: Xo, + isFullscreen: false, + color: void 0, + highlight: void 0 + }), n = require$$0.computed(() => e7.isFullscreen); + function r() { + e7.isFullscreen = !e7.isFullscreen; + } + return require$$0.watchEffect(() => { + e7.extensions = t7.extensions, e7.defaultLang = t7.defaultLang, e7.defaultMarkdownTheme = t7.defaultMarkdownTheme; + }), { + state: e7, + isFullscreen: n, + toggleFullscreen: r + }; + }), rd = "[vuetify-pro-tiptap]"; + class lh { + static warn(e7) { + console.warn(`${rd}: ${e7}`); + } + static error(e7) { + console.error(`${rd}: ${e7}`); + } + } + function zy(t7) { + return t7 = t7 || /* @__PURE__ */ new Map(), { + /** + * A Map of event names to registered handler functions. + */ + all: t7, + /** + * Register an event handler for the given type. + * @param {string|symbol} type Type of event to listen for, or `'*'` for all events + * @param {Function} handler Function to call in response to given event + * @memberOf mitt + */ + on(e7, n) { + const r = t7.get(e7); + r ? r.push(n) : t7.set(e7, [n]); + }, + /** + * Remove an event handler for the given type. + * If `handler` is omitted, all handlers of the given type are removed. + * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler) + * @param {Function} [handler] Handler function to remove + * @memberOf mitt + */ + off(e7, n) { + const r = t7.get(e7); + r && (n ? r.splice(r.indexOf(n) >>> 0, 1) : t7.set(e7, [])); + }, + /** + * Invoke all handlers for the given type. + * If present, `'*'` handlers are invoked after type-matched handlers. + * + * Note: Manually firing '*' handlers is not supported. + * + * @param {string|symbol} type The event type to invoke + * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler + * @memberOf mitt + */ + emit(e7, n) { + let r = t7.get(e7); + r && r.slice().map((i7) => { + i7(n); + }), r = t7.get("*"), r && r.slice().map((i7) => { + i7(e7, n); + }); + } + }; + } + const $y = { + "editor.remove": "Entfernen", + "editor.words": "WÖRTER", + "editor.characters": "ZEICHEN", + "editor.default": "Standard", + "editor.size.small.tooltip": "Klein", + "editor.size.medium.tooltip": "Mittel", + "editor.size.large.tooltip": "Groß", + "editor.bold.tooltip": "Fett", + "editor.italic.tooltip": "Kursiv", + "editor.underline.tooltip": "Unterstrichen", + "editor.strike.tooltip": "Durchgestrichen", + "editor.color.tooltip": "Farbe", + "editor.highlight.tooltip": "Hervorheben", + "editor.heading.tooltip": "Überschriften", + "editor.heading.h1.tooltip": "Überschrift 1", + "editor.heading.h2.tooltip": "Überschrift 2", + "editor.heading.h3.tooltip": "Überschrift 3", + "editor.heading.h4.tooltip": "Überschrift 4", + "editor.heading.h5.tooltip": "Überschrift 5", + "editor.heading.h6.tooltip": "Überschrift 6", + "editor.paragraph.tooltip": "Absatz", + "editor.textalign.tooltip": "Ausrichten", + "editor.textalign.left.tooltip": "Links", + "editor.textalign.center.tooltip": "Zentriert", + "editor.textalign.right.tooltip": "Rechts", + "editor.textalign.justify.tooltip": "Blocksatz", + "editor.fontFamily.tooltip": "Schriftart", + "editor.fontSize.tooltip": "Schriftgröße", + "editor.superscript.tooltip": "Hochgestellt", + "editor.subscript.tooltip": "Tiefgestellt", + "editor.bulletlist.tooltip": "Aufzählungsliste", + "editor.orderedlist.tooltip": "Nummerierte Liste", + "editor.tasklist.tooltip": "Aufgabenliste", + "editor.indent.tooltip": "Einzug", + "editor.outdent.tooltip": "Ausrücken", + "editor.link.tooltip": "Link", + "editor.link.unlink.tooltip": "Link entfernen", + "editor.link.open": "Link öffnen", + "editor.link.dialog.title": "Link einfügen", + "editor.link.dialog.link": "Link", + "editor.link.dialog.rel": "rel", + "editor.link.dialog.openInNewTab": "In neuem Tab öffnen", + "editor.link.dialog.button.apply": "Anwenden", + "editor.markdownTheme.tooltip": "Thema", + "editor.image.tooltip": "Bild", + "editor.image.float.left.tooltip": "Links ausrichten", + "editor.image.float.none.tooltip": "Keine Ausrichtung", + "editor.image.float.right.tooltip": "Rechts ausrichten", + "editor.image.dialog.title": "Bild einfügen", + "editor.image.dialog.tab.url": "URL", + "editor.image.dialog.tab.upload": "Hochladen", + "editor.image.dialog.form.link": "Link", + "editor.image.dialog.form.alt": "Alt" + }, jy = { + "editor.remove": "Remove", + "editor.words": "WORDS", + "editor.characters": "CHARACTERS", + "editor.default": "default", + "editor.size.small.tooltip": "Small", + "editor.size.medium.tooltip": "Medium", + "editor.size.large.tooltip": "Cover", + "editor.bold.tooltip": "Bold", + "editor.italic.tooltip": "Italic", + "editor.underline.tooltip": "Underline", + "editor.strike.tooltip": "Strike", + "editor.color.tooltip": "Color", + "editor.highlight.tooltip": "Highlight", + "editor.heading.tooltip": "Headings", + "editor.heading.h1.tooltip": "Heading 1", + "editor.heading.h2.tooltip": "Heading 2", + "editor.heading.h3.tooltip": "Heading 3", + "editor.heading.h4.tooltip": "Heading 4", + "editor.heading.h5.tooltip": "Heading 5", + "editor.heading.h6.tooltip": "Heading 6", + "editor.paragraph.tooltip": "Paragraph", + "editor.textalign.tooltip": "Align", + "editor.textalign.left.tooltip": "Left", + "editor.textalign.center.tooltip": "Center", + "editor.textalign.right.tooltip": "Right", + "editor.textalign.justify.tooltip": "Justify", + "editor.fontFamily.tooltip": "Font family", + "editor.fontSize.tooltip": "Font size", + "editor.superscript.tooltip": "Superscript", + "editor.subscript.tooltip": "Subscript", + "editor.bulletlist.tooltip": "Bullet List", + "editor.orderedlist.tooltip": "Ordered List", + "editor.tasklist.tooltip": "Task List", + "editor.indent.tooltip": "Indent", + "editor.outdent.tooltip": "Outdent", + "editor.link.tooltip": "Link", + "editor.link.unlink.tooltip": "Unlink", + "editor.link.open": "Open link", + "editor.link.dialog.title": "Insert link", + "editor.link.dialog.link": "link", + "editor.link.dialog.rel": "rel", + "editor.link.dialog.openInNewTab": "Open in new tab", + "editor.link.dialog.button.apply": "apply", + "editor.markdownTheme.tooltip": "Theme", + "editor.image.tooltip": "Image", + "editor.image.float.left.tooltip": "Float left", + "editor.image.float.none.tooltip": "Float none", + "editor.image.float.right.tooltip": "Float right", + "editor.image.dialog.title": "Insert image", + "editor.image.dialog.tab.url": "url", + "editor.image.dialog.tab.upload": "upload", + "editor.image.dialog.form.link": "Link", + "editor.image.dialog.form.alt": "Alt", + "editor.image.dialog.form.aspectRatio": "Lock original aspect ratio", + "editor.image.dialog.form.file": "File", + "editor.image.dialog.button.apply": "apply", + "editor.video.tooltip": "Video", + "editor.video.dialog.title": "Insert video", + "editor.video.dialog.link": "link", + "editor.video.dialog.button.apply": "apply", + "editor.table.tooltip": "Table", + "editor.table.menu.insert_table": "Insert Table", + "editor.table.menu.insert_table.with_header_row": "With header row", + "editor.table.menu.add_column_before": "Add Column Before", + "editor.table.menu.add_column_after": "Add Column After", + "editor.table.menu.delete_column": "Delete Column", + "editor.table.menu.add_row_before": "Add Row Before", + "editor.table.menu.add_row_after": "Add Row After", + "editor.table.menu.delete_row": "Delete Row", + "editor.table.menu.merge_or_split_cells": "Merge Or Split Cells", + "editor.table.menu.delete_table": "Delete Table", + "editor.blockquote.tooltip": "Blockquote", + "editor.horizontalrule.tooltip": "Horizontal Rule", + "editor.code.tooltip": "Code", + "editor.codeblock.tooltip": "Code Block", + "editor.htmlview.tooltip": "HTML View", + "editor.clear.tooltip": "Clear Format", + "editor.undo.tooltip": "Undo", + "editor.redo.tooltip": "Redo", + "editor.fullscreen.tooltip.fullscreen": "Fullscreen", + "editor.fullscreen.tooltip.exit": "Fullscreen Exit" + }, Wy = { + "editor.remove": "Rimuovi", + "editor.words": "Parole", + "editor.characters": "Caratteri", + "editor.default": "Predefinito", + "editor.size.small.tooltip": "Piccolo", + "editor.size.medium.tooltip": "Medio", + "editor.size.large.tooltip": "Grande", + "editor.bold.tooltip": "Grassetto", + "editor.italic.tooltip": "Corsivo", + "editor.underline.tooltip": "Sottolineato", + "editor.strike.tooltip": "Barrato", + "editor.color.tooltip": "Colore", + "editor.highlight.tooltip": "Evidenzia", + "editor.heading.tooltip": "Intestazioni", + "editor.heading.h1.tooltip": "Intestzione 1", + "editor.heading.h2.tooltip": "Intestzione 2", + "editor.heading.h3.tooltip": "Intestzione 3", + "editor.heading.h4.tooltip": "Intestazione 4", + "editor.heading.h5.tooltip": "Intestazione 5", + "editor.heading.h6.tooltip": "Intestazione 6", + "editor.paragraph.tooltip": "Paragrafo", + "editor.textalign.tooltip": "Allineamento", + "editor.textalign.left.tooltip": "Sinistra", + "editor.textalign.center.tooltip": "Centro", + "editor.textalign.right.tooltip": "Destra", + "editor.textalign.justify.tooltip": "Giustificato", + "editor.fontFamily.tooltip": "Tipo carattere", + "editor.fontSize.tooltip": "Dimensione carattere", + "editor.superscript.tooltip": "Apice", + "editor.subscript.tooltip": "Pedice", + "editor.bulletlist.tooltip": "Elenco puntato", + "editor.orderedlist.tooltip": "Elenco numerato", + "editor.tasklist.tooltip": "Elenco attività", + "editor.indent.tooltip": "Aumenta rientro", + "editor.outdent.tooltip": "Riduci rientro", + "editor.link.tooltip": "Aggiungi collegamento", + "editor.link.unlink.tooltip": "Rimuovi collegamento", + "editor.link.open": "Apri collegamento", + "editor.link.dialog.title": "Inserisci collegamento", + "editor.link.dialog.link": "Collegamento", + "editor.link.dialog.rel": "rel", + "editor.link.dialog.openInNewTab": "Apri in una nuova finestra", + "editor.link.dialog.button.apply": "Applica", + "editor.markdownTheme.tooltip": "Tema", + "editor.image.tooltip": "Immagine", + "editor.image.float.left.tooltip": "Allinea a sinistra", + "editor.image.float.none.tooltip": "Nessun allineamento", + "editor.image.float.right.tooltip": "Allinea a destra", + "editor.image.dialog.title": "Inserisci immagine", + "editor.image.dialog.tab.url": "URL", + "editor.image.dialog.tab.upload": "Carica", + "editor.image.dialog.form.link": "Collegamento", + "editor.image.dialog.form.alt": "Alt", + "editor.image.dialog.form.aspectRatio": "Blocca le proporzioni originali", + "editor.image.dialog.form.file": "File", + "editor.image.dialog.button.apply": "Applica", + "editor.video.tooltip": "Video", + "editor.video.dialog.title": "Inserisci video", + "editor.video.dialog.link": "Collegamento", + "editor.video.dialog.button.apply": "Applica", + "editor.table.tooltip": "Tabella", + "editor.table.menu.insert_table": "Inserisci tabella", + "editor.table.menu.insert_table.with_header_row": "Con riga intestazione", + "editor.table.menu.add_column_before": "Aggiungi colonna prima", + "editor.table.menu.add_column_after": "Aggiungi colonna dopo", + "editor.table.menu.delete_column": "Elimina colonna", + "editor.table.menu.add_row_before": "Aggiungi riga prima", + "editor.table.menu.add_row_after": "Aggiungi riga dopo", + "editor.table.menu.delete_row": "Elimina riga", + "editor.table.menu.merge_or_split_cells": "Unisci o dividi celle", + "editor.table.menu.delete_table": "Elimina tabella", + "editor.blockquote.tooltip": "Citazione", + "editor.horizontalrule.tooltip": "Linea orizzontale", + "editor.code.tooltip": "Codice", + "editor.codeblock.tooltip": "Blocco di codice", + "editor.clear.tooltip": "Rimuovi formattazione", + "editor.undo.tooltip": "Annulla", + "editor.redo.tooltip": "Ripristina", + "editor.fullscreen.tooltip.fullscreen": "Schermo intero", + "editor.fullscreen.tooltip.exit": "Esci da schermo intero" + }, qy = { + "editor.remove": "Verwijderen", + "editor.words": "WOORDEN", + "editor.characters": "KARAKTERS", + "editor.default": "standaard", + "editor.size.small.tooltip": "Klein", + "editor.size.medium.tooltip": "Middelmatig", + "editor.size.large.tooltip": "Cover", + "editor.bold.tooltip": "Dikgedrukt", + "editor.italic.tooltip": "Cursief", + "editor.underline.tooltip": "Onderstreept", + "editor.strike.tooltip": "Doorgetrokken", + "editor.color.tooltip": "Kleur", + "editor.highlight.tooltip": "Markeren", + "editor.heading.tooltip": "Koppen", + "editor.heading.h1.tooltip": "Kop 1", + "editor.heading.h2.tooltip": "Kop 2", + "editor.heading.h3.tooltip": "Kop 3", + "editor.heading.h4.tooltip": "Kop 4", + "editor.heading.h5.tooltip": "Kop 5", + "editor.heading.h6.tooltip": "Kop 6", + "editor.paragraph.tooltip": "Paragraaf", + "editor.textalign.tooltip": "Uitlijnen", + "editor.textalign.left.tooltip": "Links", + "editor.textalign.center.tooltip": "Midden", + "editor.textalign.right.tooltip": "Rechts", + "editor.textalign.justify.tooltip": "Justify", + "editor.fontFamily.tooltip": "Font familie", + "editor.fontSize.tooltip": "Font grootte", + "editor.superscript.tooltip": "Superscript", + "editor.subscript.tooltip": "Subscript", + "editor.bulletlist.tooltip": "Ongenummerde lijst", + "editor.orderedlist.tooltip": "Genummerde lijst", + "editor.tasklist.tooltip": "Takenlijst", + "editor.indent.tooltip": "Inspringing vergroten", + "editor.outdent.tooltip": "Inspringing verkleinen", + "editor.link.tooltip": "Link", + "editor.link.unlink.tooltip": "Link verwijderen", + "editor.link.open": "Link openen", + "editor.link.dialog.title": "Link invoegen", + "editor.link.dialog.link": "link", + "editor.link.dialog.rel": "rel", + "editor.link.dialog.openInNewTab": "Openen in nieuw tabblad", + "editor.link.dialog.button.apply": "Toepassen", + "editor.markdownTheme.tooltip": "Thema", + "editor.image.tooltip": "Afbeelding", + "editor.image.float.left.tooltip": "Zweef links", + "editor.image.float.none.tooltip": "Niet zweven", + "editor.image.float.right.tooltip": "Zweef rechts", + "editor.image.dialog.title": "Afbeelding invoegen", + "editor.image.dialog.tab.url": "URL", + "editor.image.dialog.tab.upload": "Upload", + "editor.image.dialog.form.link": "Link", + "editor.image.dialog.form.alt": "Alt", + "editor.image.dialog.form.aspectRatio": "Originele aspect ratio vastzetten", + "editor.image.dialog.form.file": "Bestand", + "editor.image.dialog.button.apply": "Toepassen", + "editor.video.tooltip": "Video", + "editor.video.dialog.title": "Video invoegen", + "editor.video.dialog.link": "link", + "editor.video.dialog.button.apply": "Toepassen", + "editor.table.tooltip": "Tabel", + "editor.table.menu.insert_table": "Tabel invoegen", + "editor.table.menu.insert_table.with_header_row": "Met kop rij", + "editor.table.menu.add_column_before": "Kolom ervoor invoegen", + "editor.table.menu.add_column_after": "Kolom erna invoegen", + "editor.table.menu.delete_column": "Kolom verwijderen", + "editor.table.menu.add_row_before": "Rij ervoor invoegen", + "editor.table.menu.add_row_after": "Rij erna invoegen", + "editor.table.menu.delete_row": "Rij verwijderen", + "editor.table.menu.merge_or_split_cells": "Cellen samenvoegen/splitsen", + "editor.table.menu.delete_table": "Tabel verwijderen", + "editor.blockquote.tooltip": "Citaatblok", + "editor.horizontalrule.tooltip": "Horizontale lijn", + "editor.code.tooltip": "Code", + "editor.codeblock.tooltip": "Code blok", + "editor.clear.tooltip": "Formattering verwijderen", + "editor.undo.tooltip": "Stap terug", + "editor.redo.tooltip": "Stap verder", + "editor.fullscreen.tooltip.fullscreen": "Volledig scherm", + "editor.fullscreen.tooltip.exit": "Volledig scherm verlaten" + }, Uy = { + "editor.remove": "删除", + "editor.words": "单词", + "editor.characters": "字符", + "editor.default": "默认", + "editor.size.small.tooltip": "小尺寸", + "editor.size.medium.tooltip": "中等尺寸", + "editor.size.large.tooltip": "铺满", + "editor.bold.tooltip": "粗体", + "editor.italic.tooltip": "斜体", + "editor.underline.tooltip": "下划线", + "editor.strike.tooltip": "中划线", + "editor.color.tooltip": "文本颜色", + "editor.highlight.tooltip": "文本高亮", + "editor.heading.tooltip": "标题", + "editor.heading.h1.tooltip": "标题 1", + "editor.heading.h2.tooltip": "标题 2", + "editor.heading.h3.tooltip": "标题 3", + "editor.heading.h4.tooltip": "标题 4", + "editor.heading.h5.tooltip": "标题 5", + "editor.heading.h6.tooltip": "标题 6", + "editor.paragraph.tooltip": "正文", + "editor.textalign.tooltip": "对齐方式", + "editor.textalign.left.tooltip": "左对齐", + "editor.textalign.center.tooltip": "居中对齐", + "editor.textalign.right.tooltip": "右对齐", + "editor.textalign.justify.tooltip": "两端对齐", + "editor.fontFamily.tooltip": "字体", + "editor.fontSize.tooltip": "字体大小", + "editor.superscript.tooltip": "上标", + "editor.subscript.tooltip": "下标", + "editor.bulletlist.tooltip": "无序列表", + "editor.orderedlist.tooltip": "有序列表", + "editor.tasklist.tooltip": "任务列表", + "editor.indent.tooltip": "增加缩进", + "editor.outdent.tooltip": "减少缩进", + "editor.link.tooltip": "网络链接", + "editor.link.unlink.tooltip": "取消链接", + "editor.link.open": "打开链接", + "editor.link.dialog.title": "插入链接", + "editor.link.dialog.link": "链接", + "editor.link.dialog.rel": "rel", + "editor.link.dialog.openInNewTab": "在新标签页中打开", + "editor.link.dialog.button.apply": "应用", + "editor.markdownTheme.tooltip": "主题", + "editor.image.tooltip": "图片", + "editor.image.float.left.tooltip": "左浮动", + "editor.image.float.none.tooltip": "无浮动", + "editor.image.float.right.tooltip": "右浮动", + "editor.image.dialog.title": "插入图片", + "editor.image.dialog.tab.url": "网络图片", + "editor.image.dialog.tab.upload": "本地图片", + "editor.image.dialog.form.link": "链接", + "editor.image.dialog.form.alt": "说明", + "editor.image.dialog.form.aspectRatio": "锁定原有长宽比", + "editor.image.dialog.form.file": "文件", + "editor.image.dialog.button.apply": "应用", + "editor.video.tooltip": "视频", + "editor.video.dialog.title": "插入视频", + "editor.video.dialog.link": "网络链接", + "editor.video.dialog.button.apply": "应用", + "editor.table.tooltip": "表格", + "editor.table.menu.insert_table": "插入表格", + "editor.table.menu.insert_table.with_header_row": "带标题行", + "editor.table.menu.add_column_before": "向左插入一列", + "editor.table.menu.add_column_after": "向右插入一列", + "editor.table.menu.delete_column": "删除列", + "editor.table.menu.add_row_before": "向上插入一行", + "editor.table.menu.add_row_after": "向下插入一行", + "editor.table.menu.delete_row": "删除行", + "editor.table.menu.merge_or_split_cells": "合并或拆分单元格", + "editor.table.menu.delete_table": "删除表格", + "editor.blockquote.tooltip": "引用", + "editor.horizontalrule.tooltip": "分隔线", + "editor.code.tooltip": "代码", + "editor.codeblock.tooltip": "代码块", + "editor.htmlview.tooltip": "HTML视图", + "editor.clear.tooltip": "清除格式", + "editor.undo.tooltip": "撤销", + "editor.redo.tooltip": "重做", + "editor.fullscreen.tooltip.fullscreen": "全屏", + "editor.fullscreen.tooltip.exit": "退出全屏" + }, Ky = { + nl: qy, + zhHans: Uy, + en: jy, + de: $y, + it: Wy + }, kr = { + lang: _p, + message: Ky + }; + class Gy { + emitter; + constructor() { + this.emitter = zy(); + } + get lang() { + return kr.lang; + } + set lang(e7) { + if (!this.isLangSupported(e7)) { + lh.warn(`Can't find the current language "${e7}", Using language "${kr.lang}" by default`); + return; + } + kr.lang = e7, this.emitter.emit("lang", e7); + } + get message() { + return kr.message; + } + set message(e7) { + kr.message = e7; + } + loadLangMessage(e7) { + return this.message[e7]; + } + isLangSupported(e7) { + return Object.keys(this.message).includes(e7); + } + setLang(e7) { + this.lang = e7; + } + registerWatchLang(e7) { + return this.emitter.on("lang", e7), { + unsubscribe: () => { + this.emitter.off("lang", e7); + } + }; + } + setMessage(e7, n) { + this.message[e7] = n; + } + buildI18nHandler(e7) { + e7 || (e7 = this.lang); + const n = this.loadLangMessage(e7); + return function(i7) { + return n[i7] || i7; + }; + } + } + const Al = new Gy(), sn = () => { + const t7 = require$$0.ref(kr.lang), e7 = require$$0.computed(() => Al.buildI18nHandler(require$$0.unref(t7))); + return require$$0.watchEffect((n) => { + const r = Al.registerWatchLang((i7) => { + t7.value = i7; + }); + n(() => { + r.unsubscribe(); + }); + }), { + lang: t7, + t: e7 + }; + }; + function Re(t7) { + this.content = t7; + } + Re.prototype = { + constructor: Re, + find: function(t7) { + for (var e7 = 0; e7 < this.content.length; e7 += 2) + if (this.content[e7] === t7) return e7; + return -1; + }, + // :: (string) → ?any + // Retrieve the value stored under `key`, or return undefined when + // no such key exists. + get: function(t7) { + var e7 = this.find(t7); + return e7 == -1 ? void 0 : this.content[e7 + 1]; + }, + // :: (string, any, ?string) → OrderedMap + // Create a new map by replacing the value of `key` with a new + // value, or adding a binding to the end of the map. If `newKey` is + // given, the key of the binding will be replaced with that key. + update: function(t7, e7, n) { + var r = n && n != t7 ? this.remove(n) : this, i7 = r.find(t7), o = r.content.slice(); + return i7 == -1 ? o.push(n || t7, e7) : (o[i7 + 1] = e7, n && (o[i7] = n)), new Re(o); + }, + // :: (string) → OrderedMap + // Return a map with the given key removed, if it existed. + remove: function(t7) { + var e7 = this.find(t7); + if (e7 == -1) return this; + var n = this.content.slice(); + return n.splice(e7, 2), new Re(n); + }, + // :: (string, any) → OrderedMap + // Add a new key to the start of the map. + addToStart: function(t7, e7) { + return new Re([t7, e7].concat(this.remove(t7).content)); + }, + // :: (string, any) → OrderedMap + // Add a new key to the end of the map. + addToEnd: function(t7, e7) { + var n = this.remove(t7).content.slice(); + return n.push(t7, e7), new Re(n); + }, + // :: (string, string, any) → OrderedMap + // Add a key after the given key. If `place` is not found, the new + // key is added to the end. + addBefore: function(t7, e7, n) { + var r = this.remove(e7), i7 = r.content.slice(), o = r.find(t7); + return i7.splice(o == -1 ? i7.length : o, 0, e7, n), new Re(i7); + }, + // :: ((key: string, value: any)) + // Call the given function for each key/value pair in the map, in + // order. + forEach: function(t7) { + for (var e7 = 0; e7 < this.content.length; e7 += 2) + t7(this.content[e7], this.content[e7 + 1]); + }, + // :: (union) → OrderedMap + // Create a new map by prepending the keys in this map that don't + // appear in `map` before the keys in `map`. + prepend: function(t7) { + return t7 = Re.from(t7), t7.size ? new Re(t7.content.concat(this.subtract(t7).content)) : this; + }, + // :: (union) → OrderedMap + // Create a new map by appending the keys in this map that don't + // appear in `map` after the keys in `map`. + append: function(t7) { + return t7 = Re.from(t7), t7.size ? new Re(this.subtract(t7).content.concat(t7.content)) : this; + }, + // :: (union) → OrderedMap + // Create a map containing all the keys in this map that don't + // appear in `map`. + subtract: function(t7) { + var e7 = this; + t7 = Re.from(t7); + for (var n = 0; n < t7.content.length; n += 2) + e7 = e7.remove(t7.content[n]); + return e7; + }, + // :: () → Object + // Turn ordered map into a plain object. + toObject: function() { + var t7 = {}; + return this.forEach(function(e7, n) { + t7[e7] = n; + }), t7; + }, + // :: number + // The amount of keys in this map. + get size() { + return this.content.length >> 1; + } + }; + Re.from = function(t7) { + if (t7 instanceof Re) return t7; + var e7 = []; + if (t7) for (var n in t7) e7.push(n, t7[n]); + return new Re(e7); + }; + function uh(t7, e7, n) { + for (let r = 0; ; r++) { + if (r == t7.childCount || r == e7.childCount) + return t7.childCount == e7.childCount ? null : n; + let i7 = t7.child(r), o = e7.child(r); + if (i7 == o) { + n += i7.nodeSize; + continue; + } + if (!i7.sameMarkup(o)) + return n; + if (i7.isText && i7.text != o.text) { + for (let s = 0; i7.text[s] == o.text[s]; s++) + n++; + return n; + } + if (i7.content.size || o.content.size) { + let s = uh(i7.content, o.content, n + 1); + if (s != null) + return s; + } + n += i7.nodeSize; + } + } + function ch(t7, e7, n, r) { + for (let i7 = t7.childCount, o = e7.childCount; ; ) { + if (i7 == 0 || o == 0) + return i7 == o ? null : { a: n, b: r }; + let s = t7.child(--i7), a = e7.child(--o), l = s.nodeSize; + if (s == a) { + n -= l, r -= l; + continue; + } + if (!s.sameMarkup(a)) + return { a: n, b: r }; + if (s.isText && s.text != a.text) { + let u = 0, c = Math.min(s.text.length, a.text.length); + for (; u < c && s.text[s.text.length - u - 1] == a.text[a.text.length - u - 1]; ) + u++, n--, r--; + return { a: n, b: r }; + } + if (s.content.size || a.content.size) { + let u = ch(s.content, a.content, n - 1, r - 1); + if (u) + return u; + } + n -= l, r -= l; + } + } + class S { + /** + @internal + */ + constructor(e7, n) { + if (this.content = e7, this.size = n || 0, n == null) + for (let r = 0; r < e7.length; r++) + this.size += e7[r].nodeSize; + } + /** + Invoke a callback for all descendant nodes between the given two + positions (relative to start of this fragment). Doesn't descend + into a node when the callback returns `false`. + */ + nodesBetween(e7, n, r, i7 = 0, o) { + for (let s = 0, a = 0; a < n; s++) { + let l = this.content[s], u = a + l.nodeSize; + if (u > e7 && r(l, i7 + a, o || null, s) !== false && l.content.size) { + let c = a + 1; + l.nodesBetween(Math.max(0, e7 - c), Math.min(l.content.size, n - c), r, i7 + c); + } + a = u; + } + } + /** + Call the given callback for every descendant node. `pos` will be + relative to the start of the fragment. The callback may return + `false` to prevent traversal of a given node's children. + */ + descendants(e7) { + this.nodesBetween(0, this.size, e7); + } + /** + Extract the text between `from` and `to`. See the same method on + [`Node`](https://prosemirror.net/docs/ref/#model.Node.textBetween). + */ + textBetween(e7, n, r, i7) { + let o = "", s = true; + return this.nodesBetween(e7, n, (a, l) => { + let u = a.isText ? a.text.slice(Math.max(e7, l) - l, n - l) : a.isLeaf ? i7 ? typeof i7 == "function" ? i7(a) : i7 : a.type.spec.leafText ? a.type.spec.leafText(a) : "" : ""; + a.isBlock && (a.isLeaf && u || a.isTextblock) && r && (s ? s = false : o += r), o += u; + }, 0), o; + } + /** + Create a new fragment containing the combined content of this + fragment and the other. + */ + append(e7) { + if (!e7.size) + return this; + if (!this.size) + return e7; + let n = this.lastChild, r = e7.firstChild, i7 = this.content.slice(), o = 0; + for (n.isText && n.sameMarkup(r) && (i7[i7.length - 1] = n.withText(n.text + r.text), o = 1); o < e7.content.length; o++) + i7.push(e7.content[o]); + return new S(i7, this.size + e7.size); + } + /** + Cut out the sub-fragment between the two given positions. + */ + cut(e7, n = this.size) { + if (e7 == 0 && n == this.size) + return this; + let r = [], i7 = 0; + if (n > e7) + for (let o = 0, s = 0; s < n; o++) { + let a = this.content[o], l = s + a.nodeSize; + l > e7 && ((s < e7 || l > n) && (a.isText ? a = a.cut(Math.max(0, e7 - s), Math.min(a.text.length, n - s)) : a = a.cut(Math.max(0, e7 - s - 1), Math.min(a.content.size, n - s - 1))), r.push(a), i7 += a.nodeSize), s = l; + } + return new S(r, i7); + } + /** + @internal + */ + cutByIndex(e7, n) { + return e7 == n ? S.empty : e7 == 0 && n == this.content.length ? this : new S(this.content.slice(e7, n)); + } + /** + Create a new fragment in which the node at the given index is + replaced by the given node. + */ + replaceChild(e7, n) { + let r = this.content[e7]; + if (r == n) + return this; + let i7 = this.content.slice(), o = this.size + n.nodeSize - r.nodeSize; + return i7[e7] = n, new S(i7, o); + } + /** + Create a new fragment by prepending the given node to this + fragment. + */ + addToStart(e7) { + return new S([e7].concat(this.content), this.size + e7.nodeSize); + } + /** + Create a new fragment by appending the given node to this + fragment. + */ + addToEnd(e7) { + return new S(this.content.concat(e7), this.size + e7.nodeSize); + } + /** + Compare this fragment to another one. + */ + eq(e7) { + if (this.content.length != e7.content.length) + return false; + for (let n = 0; n < this.content.length; n++) + if (!this.content[n].eq(e7.content[n])) + return false; + return true; + } + /** + The first child of the fragment, or `null` if it is empty. + */ + get firstChild() { + return this.content.length ? this.content[0] : null; + } + /** + The last child of the fragment, or `null` if it is empty. + */ + get lastChild() { + return this.content.length ? this.content[this.content.length - 1] : null; + } + /** + The number of child nodes in this fragment. + */ + get childCount() { + return this.content.length; + } + /** + Get the child node at the given index. Raise an error when the + index is out of range. + */ + child(e7) { + let n = this.content[e7]; + if (!n) + throw new RangeError("Index " + e7 + " out of range for " + this); + return n; + } + /** + Get the child node at the given index, if it exists. + */ + maybeChild(e7) { + return this.content[e7] || null; + } + /** + Call `f` for every child node, passing the node, its offset + into this parent node, and its index. + */ + forEach(e7) { + for (let n = 0, r = 0; n < this.content.length; n++) { + let i7 = this.content[n]; + e7(i7, r, n), r += i7.nodeSize; + } + } + /** + Find the first position at which this fragment and another + fragment differ, or `null` if they are the same. + */ + findDiffStart(e7, n = 0) { + return uh(this, e7, n); + } + /** + Find the first position, searching from the end, at which this + fragment and the given fragment differ, or `null` if they are + the same. Since this position will not be the same in both + nodes, an object with two separate positions is returned. + */ + findDiffEnd(e7, n = this.size, r = e7.size) { + return ch(this, e7, n, r); + } + /** + Find the index and inner offset corresponding to a given relative + position in this fragment. The result object will be reused + (overwritten) the next time the function is called. @internal + */ + findIndex(e7) { + if (e7 == 0) + return xo(0, e7); + if (e7 == this.size) + return xo(this.content.length, e7); + if (e7 > this.size || e7 < 0) + throw new RangeError(`Position ${e7} outside of fragment (${this})`); + for (let n = 0, r = 0; ; n++) { + let i7 = this.child(n), o = r + i7.nodeSize; + if (o >= e7) + return o == e7 ? xo(n + 1, o) : xo(n, r); + r = o; + } + } + /** + Return a debugging string that describes this fragment. + */ + toString() { + return "<" + this.toStringInner() + ">"; + } + /** + @internal + */ + toStringInner() { + return this.content.join(", "); + } + /** + Create a JSON-serializeable representation of this fragment. + */ + toJSON() { + return this.content.length ? this.content.map((e7) => e7.toJSON()) : null; + } + /** + Deserialize a fragment from its JSON representation. + */ + static fromJSON(e7, n) { + if (!n) + return S.empty; + if (!Array.isArray(n)) + throw new RangeError("Invalid input for Fragment.fromJSON"); + return new S(n.map(e7.nodeFromJSON)); + } + /** + Build a fragment from an array of nodes. Ensures that adjacent + text nodes with the same marks are joined together. + */ + static fromArray(e7) { + if (!e7.length) + return S.empty; + let n, r = 0; + for (let i7 = 0; i7 < e7.length; i7++) { + let o = e7[i7]; + r += o.nodeSize, i7 && o.isText && e7[i7 - 1].sameMarkup(o) ? (n || (n = e7.slice(0, i7)), n[n.length - 1] = o.withText(n[n.length - 1].text + o.text)) : n && n.push(o); + } + return new S(n || e7, r); + } + /** + Create a fragment from something that can be interpreted as a + set of nodes. For `null`, it returns the empty fragment. For a + fragment, the fragment itself. For a node or array of nodes, a + fragment containing those nodes. + */ + static from(e7) { + if (!e7) + return S.empty; + if (e7 instanceof S) + return e7; + if (Array.isArray(e7)) + return this.fromArray(e7); + if (e7.attrs) + return new S([e7], e7.nodeSize); + throw new RangeError("Can not convert " + e7 + " to a Fragment" + (e7.nodesBetween ? " (looks like multiple versions of prosemirror-model were loaded)" : "")); + } + } + S.empty = new S([], 0); + const Ma = { index: 0, offset: 0 }; + function xo(t7, e7) { + return Ma.index = t7, Ma.offset = e7, Ma; + } + function es(t7, e7) { + if (t7 === e7) + return true; + if (!(t7 && typeof t7 == "object") || !(e7 && typeof e7 == "object")) + return false; + let n = Array.isArray(t7); + if (Array.isArray(e7) != n) + return false; + if (n) { + if (t7.length != e7.length) + return false; + for (let r = 0; r < t7.length; r++) + if (!es(t7[r], e7[r])) + return false; + } else { + for (let r in t7) + if (!(r in e7) || !es(t7[r], e7[r])) + return false; + for (let r in e7) + if (!(r in t7)) + return false; + } + return true; + } + let se = class Cl { + /** + @internal + */ + constructor(e7, n) { + this.type = e7, this.attrs = n; + } + /** + Given a set of marks, create a new set which contains this one as + well, in the right position. If this mark is already in the set, + the set itself is returned. If any marks that are set to be + [exclusive](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) with this mark are present, + those are replaced by this one. + */ + addToSet(e7) { + let n, r = false; + for (let i7 = 0; i7 < e7.length; i7++) { + let o = e7[i7]; + if (this.eq(o)) + return e7; + if (this.type.excludes(o.type)) + n || (n = e7.slice(0, i7)); + else { + if (o.type.excludes(this.type)) + return e7; + !r && o.type.rank > this.type.rank && (n || (n = e7.slice(0, i7)), n.push(this), r = true), n && n.push(o); + } + } + return n || (n = e7.slice()), r || n.push(this), n; + } + /** + Remove this mark from the given set, returning a new set. If this + mark is not in the set, the set itself is returned. + */ + removeFromSet(e7) { + for (let n = 0; n < e7.length; n++) + if (this.eq(e7[n])) + return e7.slice(0, n).concat(e7.slice(n + 1)); + return e7; + } + /** + Test whether this mark is in the given set of marks. + */ + isInSet(e7) { + for (let n = 0; n < e7.length; n++) + if (this.eq(e7[n])) + return true; + return false; + } + /** + Test whether this mark has the same type and attributes as + another mark. + */ + eq(e7) { + return this == e7 || this.type == e7.type && es(this.attrs, e7.attrs); + } + /** + Convert this mark to a JSON-serializeable representation. + */ + toJSON() { + let e7 = { type: this.type.name }; + for (let n in this.attrs) { + e7.attrs = this.attrs; + break; + } + return e7; + } + /** + Deserialize a mark from JSON. + */ + static fromJSON(e7, n) { + if (!n) + throw new RangeError("Invalid input for Mark.fromJSON"); + let r = e7.marks[n.type]; + if (!r) + throw new RangeError(`There is no mark type ${n.type} in this schema`); + let i7 = r.create(n.attrs); + return r.checkAttrs(i7.attrs), i7; + } + /** + Test whether two sets of marks are identical. + */ + static sameSet(e7, n) { + if (e7 == n) + return true; + if (e7.length != n.length) + return false; + for (let r = 0; r < e7.length; r++) + if (!e7[r].eq(n[r])) + return false; + return true; + } + /** + Create a properly sorted mark set from null, a single mark, or an + unsorted array of marks. + */ + static setFrom(e7) { + if (!e7 || Array.isArray(e7) && e7.length == 0) + return Cl.none; + if (e7 instanceof Cl) + return [e7]; + let n = e7.slice(); + return n.sort((r, i7) => r.type.rank - i7.type.rank), n; + } + }; + se.none = []; + class ts extends Error { + } + class N { + /** + Create a slice. When specifying a non-zero open depth, you must + make sure that there are nodes of at least that depth at the + appropriate side of the fragment—i.e. if the fragment is an + empty paragraph node, `openStart` and `openEnd` can't be greater + than 1. + + It is not necessary for the content of open nodes to conform to + the schema's content constraints, though it should be a valid + start/end/middle for such a node, depending on which sides are + open. + */ + constructor(e7, n, r) { + this.content = e7, this.openStart = n, this.openEnd = r; + } + /** + The size this slice would add when inserted into a document. + */ + get size() { + return this.content.size - this.openStart - this.openEnd; + } + /** + @internal + */ + insertAt(e7, n) { + let r = fh(this.content, e7 + this.openStart, n); + return r && new N(r, this.openStart, this.openEnd); + } + /** + @internal + */ + removeBetween(e7, n) { + return new N(dh(this.content, e7 + this.openStart, n + this.openStart), this.openStart, this.openEnd); + } + /** + Tests whether this slice is equal to another slice. + */ + eq(e7) { + return this.content.eq(e7.content) && this.openStart == e7.openStart && this.openEnd == e7.openEnd; + } + /** + @internal + */ + toString() { + return this.content + "(" + this.openStart + "," + this.openEnd + ")"; + } + /** + Convert a slice to a JSON-serializable representation. + */ + toJSON() { + if (!this.content.size) + return null; + let e7 = { content: this.content.toJSON() }; + return this.openStart > 0 && (e7.openStart = this.openStart), this.openEnd > 0 && (e7.openEnd = this.openEnd), e7; + } + /** + Deserialize a slice from its JSON representation. + */ + static fromJSON(e7, n) { + if (!n) + return N.empty; + let r = n.openStart || 0, i7 = n.openEnd || 0; + if (typeof r != "number" || typeof i7 != "number") + throw new RangeError("Invalid input for Slice.fromJSON"); + return new N(S.fromJSON(e7, n.content), r, i7); + } + /** + Create a slice from a fragment by taking the maximum possible + open value on both side of the fragment. + */ + static maxOpen(e7, n = true) { + let r = 0, i7 = 0; + for (let o = e7.firstChild; o && !o.isLeaf && (n || !o.type.spec.isolating); o = o.firstChild) + r++; + for (let o = e7.lastChild; o && !o.isLeaf && (n || !o.type.spec.isolating); o = o.lastChild) + i7++; + return new N(e7, r, i7); + } + } + N.empty = new N(S.empty, 0, 0); + function dh(t7, e7, n) { + let { index: r, offset: i7 } = t7.findIndex(e7), o = t7.maybeChild(r), { index: s, offset: a } = t7.findIndex(n); + if (i7 == e7 || o.isText) { + if (a != n && !t7.child(s).isText) + throw new RangeError("Removing non-flat range"); + return t7.cut(0, e7).append(t7.cut(n)); + } + if (r != s) + throw new RangeError("Removing non-flat range"); + return t7.replaceChild(r, o.copy(dh(o.content, e7 - i7 - 1, n - i7 - 1))); + } + function fh(t7, e7, n, r) { + let { index: i7, offset: o } = t7.findIndex(e7), s = t7.maybeChild(i7); + if (o == e7 || s.isText) + return r && !r.canReplace(i7, i7, n) ? null : t7.cut(0, e7).append(n).append(t7.cut(e7)); + let a = fh(s.content, e7 - o - 1, n, s); + return a && t7.replaceChild(i7, s.copy(a)); + } + function Jy(t7, e7, n) { + if (n.openStart > t7.depth) + throw new ts("Inserted content deeper than insertion position"); + if (t7.depth - n.openStart != e7.depth - n.openEnd) + throw new ts("Inconsistent open depths"); + return ph(t7, e7, n, 0); + } + function ph(t7, e7, n, r) { + let i7 = t7.index(r), o = t7.node(r); + if (i7 == e7.index(r) && r < t7.depth - n.openStart) { + let s = ph(t7, e7, n, r + 1); + return o.copy(o.content.replaceChild(i7, s)); + } else if (n.content.size) + if (!n.openStart && !n.openEnd && t7.depth == r && e7.depth == r) { + let s = t7.parent, a = s.content; + return Jn(s, a.cut(0, t7.parentOffset).append(n.content).append(a.cut(e7.parentOffset))); + } else { + let { start: s, end: a } = Zy(n, t7); + return Jn(o, mh(t7, s, a, e7, r)); + } + else return Jn(o, ns(t7, e7, r)); + } + function hh(t7, e7) { + if (!e7.type.compatibleContent(t7.type)) + throw new ts("Cannot join " + e7.type.name + " onto " + t7.type.name); + } + function Sl(t7, e7, n) { + let r = t7.node(n); + return hh(r, e7.node(n)), r; + } + function Gn(t7, e7) { + let n = e7.length - 1; + n >= 0 && t7.isText && t7.sameMarkup(e7[n]) ? e7[n] = t7.withText(e7[n].text + t7.text) : e7.push(t7); + } + function bi(t7, e7, n, r) { + let i7 = (e7 || t7).node(n), o = 0, s = e7 ? e7.index(n) : i7.childCount; + t7 && (o = t7.index(n), t7.depth > n ? o++ : t7.textOffset && (Gn(t7.nodeAfter, r), o++)); + for (let a = o; a < s; a++) + Gn(i7.child(a), r); + e7 && e7.depth == n && e7.textOffset && Gn(e7.nodeBefore, r); + } + function Jn(t7, e7) { + return t7.type.checkContent(e7), t7.copy(e7); + } + function mh(t7, e7, n, r, i7) { + let o = t7.depth > i7 && Sl(t7, e7, i7 + 1), s = r.depth > i7 && Sl(n, r, i7 + 1), a = []; + return bi(null, t7, i7, a), o && s && e7.index(i7) == n.index(i7) ? (hh(o, s), Gn(Jn(o, mh(t7, e7, n, r, i7 + 1)), a)) : (o && Gn(Jn(o, ns(t7, e7, i7 + 1)), a), bi(e7, n, i7, a), s && Gn(Jn(s, ns(n, r, i7 + 1)), a)), bi(r, null, i7, a), new S(a); + } + function ns(t7, e7, n) { + let r = []; + if (bi(null, t7, n, r), t7.depth > n) { + let i7 = Sl(t7, e7, n + 1); + Gn(Jn(i7, ns(t7, e7, n + 1)), r); + } + return bi(e7, null, n, r), new S(r); + } + function Zy(t7, e7) { + let n = e7.depth - t7.openStart, i7 = e7.node(n).copy(t7.content); + for (let o = n - 1; o >= 0; o--) + i7 = e7.node(o).copy(S.from(i7)); + return { + start: i7.resolveNoCache(t7.openStart + n), + end: i7.resolveNoCache(i7.content.size - t7.openEnd - n) + }; + } + class Ri { + /** + @internal + */ + constructor(e7, n, r) { + this.pos = e7, this.path = n, this.parentOffset = r, this.depth = n.length / 3 - 1; + } + /** + @internal + */ + resolveDepth(e7) { + return e7 == null ? this.depth : e7 < 0 ? this.depth + e7 : e7; + } + /** + The parent node that the position points into. Note that even if + a position points into a text node, that node is not considered + the parent—text nodes are ‘flat’ in this model, and have no content. + */ + get parent() { + return this.node(this.depth); + } + /** + The root node in which the position was resolved. + */ + get doc() { + return this.node(0); + } + /** + The ancestor node at the given level. `p.node(p.depth)` is the + same as `p.parent`. + */ + node(e7) { + return this.path[this.resolveDepth(e7) * 3]; + } + /** + The index into the ancestor at the given level. If this points + at the 3rd node in the 2nd paragraph on the top level, for + example, `p.index(0)` is 1 and `p.index(1)` is 2. + */ + index(e7) { + return this.path[this.resolveDepth(e7) * 3 + 1]; + } + /** + The index pointing after this position into the ancestor at the + given level. + */ + indexAfter(e7) { + return e7 = this.resolveDepth(e7), this.index(e7) + (e7 == this.depth && !this.textOffset ? 0 : 1); + } + /** + The (absolute) position at the start of the node at the given + level. + */ + start(e7) { + return e7 = this.resolveDepth(e7), e7 == 0 ? 0 : this.path[e7 * 3 - 1] + 1; + } + /** + The (absolute) position at the end of the node at the given + level. + */ + end(e7) { + return e7 = this.resolveDepth(e7), this.start(e7) + this.node(e7).content.size; + } + /** + The (absolute) position directly before the wrapping node at the + given level, or, when `depth` is `this.depth + 1`, the original + position. + */ + before(e7) { + if (e7 = this.resolveDepth(e7), !e7) + throw new RangeError("There is no position before the top-level node"); + return e7 == this.depth + 1 ? this.pos : this.path[e7 * 3 - 1]; + } + /** + The (absolute) position directly after the wrapping node at the + given level, or the original position when `depth` is `this.depth + 1`. + */ + after(e7) { + if (e7 = this.resolveDepth(e7), !e7) + throw new RangeError("There is no position after the top-level node"); + return e7 == this.depth + 1 ? this.pos : this.path[e7 * 3 - 1] + this.path[e7 * 3].nodeSize; + } + /** + When this position points into a text node, this returns the + distance between the position and the start of the text node. + Will be zero for positions that point between nodes. + */ + get textOffset() { + return this.pos - this.path[this.path.length - 1]; + } + /** + Get the node directly after the position, if any. If the position + points into a text node, only the part of that node after the + position is returned. + */ + get nodeAfter() { + let e7 = this.parent, n = this.index(this.depth); + if (n == e7.childCount) + return null; + let r = this.pos - this.path[this.path.length - 1], i7 = e7.child(n); + return r ? e7.child(n).cut(r) : i7; + } + /** + Get the node directly before the position, if any. If the + position points into a text node, only the part of that node + before the position is returned. + */ + get nodeBefore() { + let e7 = this.index(this.depth), n = this.pos - this.path[this.path.length - 1]; + return n ? this.parent.child(e7).cut(0, n) : e7 == 0 ? null : this.parent.child(e7 - 1); + } + /** + Get the position at the given index in the parent node at the + given depth (which defaults to `this.depth`). + */ + posAtIndex(e7, n) { + n = this.resolveDepth(n); + let r = this.path[n * 3], i7 = n == 0 ? 0 : this.path[n * 3 - 1] + 1; + for (let o = 0; o < e7; o++) + i7 += r.child(o).nodeSize; + return i7; + } + /** + Get the marks at this position, factoring in the surrounding + marks' [`inclusive`](https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive) property. If the + position is at the start of a non-empty node, the marks of the + node after it (if any) are returned. + */ + marks() { + let e7 = this.parent, n = this.index(); + if (e7.content.size == 0) + return se.none; + if (this.textOffset) + return e7.child(n).marks; + let r = e7.maybeChild(n - 1), i7 = e7.maybeChild(n); + if (!r) { + let a = r; + r = i7, i7 = a; + } + let o = r.marks; + for (var s = 0; s < o.length; s++) + o[s].type.spec.inclusive === false && (!i7 || !o[s].isInSet(i7.marks)) && (o = o[s--].removeFromSet(o)); + return o; + } + /** + Get the marks after the current position, if any, except those + that are non-inclusive and not present at position `$end`. This + is mostly useful for getting the set of marks to preserve after a + deletion. Will return `null` if this position is at the end of + its parent node or its parent node isn't a textblock (in which + case no marks should be preserved). + */ + marksAcross(e7) { + let n = this.parent.maybeChild(this.index()); + if (!n || !n.isInline) + return null; + let r = n.marks, i7 = e7.parent.maybeChild(e7.index()); + for (var o = 0; o < r.length; o++) + r[o].type.spec.inclusive === false && (!i7 || !r[o].isInSet(i7.marks)) && (r = r[o--].removeFromSet(r)); + return r; + } + /** + The depth up to which this position and the given (non-resolved) + position share the same parent nodes. + */ + sharedDepth(e7) { + for (let n = this.depth; n > 0; n--) + if (this.start(n) <= e7 && this.end(n) >= e7) + return n; + return 0; + } + /** + Returns a range based on the place where this position and the + given position diverge around block content. If both point into + the same textblock, for example, a range around that textblock + will be returned. If they point into different blocks, the range + around those blocks in their shared ancestor is returned. You can + pass in an optional predicate that will be called with a parent + node to see if a range into that parent is acceptable. + */ + blockRange(e7 = this, n) { + if (e7.pos < this.pos) + return e7.blockRange(this); + for (let r = this.depth - (this.parent.inlineContent || this.pos == e7.pos ? 1 : 0); r >= 0; r--) + if (e7.pos <= this.end(r) && (!n || n(this.node(r)))) + return new rs(this, e7, r); + return null; + } + /** + Query whether the given position shares the same parent node. + */ + sameParent(e7) { + return this.pos - this.parentOffset == e7.pos - e7.parentOffset; + } + /** + Return the greater of this and the given position. + */ + max(e7) { + return e7.pos > this.pos ? e7 : this; + } + /** + Return the smaller of this and the given position. + */ + min(e7) { + return e7.pos < this.pos ? e7 : this; + } + /** + @internal + */ + toString() { + let e7 = ""; + for (let n = 1; n <= this.depth; n++) + e7 += (e7 ? "/" : "") + this.node(n).type.name + "_" + this.index(n - 1); + return e7 + ":" + this.parentOffset; + } + /** + @internal + */ + static resolve(e7, n) { + if (!(n >= 0 && n <= e7.content.size)) + throw new RangeError("Position " + n + " out of range"); + let r = [], i7 = 0, o = n; + for (let s = e7; ; ) { + let { index: a, offset: l } = s.content.findIndex(o), u = o - l; + if (r.push(s, a, i7 + l), !u || (s = s.child(a), s.isText)) + break; + o = u - 1, i7 += l + 1; + } + return new Ri(n, r, o); + } + /** + @internal + */ + static resolveCached(e7, n) { + let r = id.get(e7); + if (r) + for (let o = 0; o < r.elts.length; o++) { + let s = r.elts[o]; + if (s.pos == n) + return s; + } + else + id.set(e7, r = new Xy()); + let i7 = r.elts[r.i] = Ri.resolve(e7, n); + return r.i = (r.i + 1) % Yy, i7; + } + } + class Xy { + constructor() { + this.elts = [], this.i = 0; + } + } + const Yy = 12, id = /* @__PURE__ */ new WeakMap(); + class rs { + /** + Construct a node range. `$from` and `$to` should point into the + same node until at least the given `depth`, since a node range + denotes an adjacent set of nodes in a single parent node. + */ + constructor(e7, n, r) { + this.$from = e7, this.$to = n, this.depth = r; + } + /** + The position at the start of the range. + */ + get start() { + return this.$from.before(this.depth + 1); + } + /** + The position at the end of the range. + */ + get end() { + return this.$to.after(this.depth + 1); + } + /** + The parent node that the range points into. + */ + get parent() { + return this.$from.node(this.depth); + } + /** + The start index of the range in the parent node. + */ + get startIndex() { + return this.$from.index(this.depth); + } + /** + The end index of the range in the parent node. + */ + get endIndex() { + return this.$to.indexAfter(this.depth); + } + } + const Qy = /* @__PURE__ */ Object.create(null); + let Xt = class Tl { + /** + @internal + */ + constructor(e7, n, r, i7 = se.none) { + this.type = e7, this.attrs = n, this.marks = i7, this.content = r || S.empty; + } + /** + The array of this node's child nodes. + */ + get children() { + return this.content.content; + } + /** + The size of this node, as defined by the integer-based [indexing + scheme](https://prosemirror.net/docs/guide/#doc.indexing). For text nodes, this is the + amount of characters. For other leaf nodes, it is one. For + non-leaf nodes, it is the size of the content plus two (the + start and end token). + */ + get nodeSize() { + return this.isLeaf ? 1 : 2 + this.content.size; + } + /** + The number of children that the node has. + */ + get childCount() { + return this.content.childCount; + } + /** + Get the child node at the given index. Raises an error when the + index is out of range. + */ + child(e7) { + return this.content.child(e7); + } + /** + Get the child node at the given index, if it exists. + */ + maybeChild(e7) { + return this.content.maybeChild(e7); + } + /** + Call `f` for every child node, passing the node, its offset + into this parent node, and its index. + */ + forEach(e7) { + this.content.forEach(e7); + } + /** + Invoke a callback for all descendant nodes recursively between + the given two positions that are relative to start of this + node's content. The callback is invoked with the node, its + position relative to the original node (method receiver), + its parent node, and its child index. When the callback returns + false for a given node, that node's children will not be + recursed over. The last parameter can be used to specify a + starting position to count from. + */ + nodesBetween(e7, n, r, i7 = 0) { + this.content.nodesBetween(e7, n, r, i7, this); + } + /** + Call the given callback for every descendant node. Doesn't + descend into a node when the callback returns `false`. + */ + descendants(e7) { + this.nodesBetween(0, this.content.size, e7); + } + /** + Concatenates all the text nodes found in this fragment and its + children. + */ + get textContent() { + return this.isLeaf && this.type.spec.leafText ? this.type.spec.leafText(this) : this.textBetween(0, this.content.size, ""); + } + /** + Get all text between positions `from` and `to`. When + `blockSeparator` is given, it will be inserted to separate text + from different block nodes. If `leafText` is given, it'll be + inserted for every non-text leaf node encountered, otherwise + [`leafText`](https://prosemirror.net/docs/ref/#model.NodeSpec.leafText) will be used. + */ + textBetween(e7, n, r, i7) { + return this.content.textBetween(e7, n, r, i7); + } + /** + Returns this node's first child, or `null` if there are no + children. + */ + get firstChild() { + return this.content.firstChild; + } + /** + Returns this node's last child, or `null` if there are no + children. + */ + get lastChild() { + return this.content.lastChild; + } + /** + Test whether two nodes represent the same piece of document. + */ + eq(e7) { + return this == e7 || this.sameMarkup(e7) && this.content.eq(e7.content); + } + /** + Compare the markup (type, attributes, and marks) of this node to + those of another. Returns `true` if both have the same markup. + */ + sameMarkup(e7) { + return this.hasMarkup(e7.type, e7.attrs, e7.marks); + } + /** + Check whether this node's markup correspond to the given type, + attributes, and marks. + */ + hasMarkup(e7, n, r) { + return this.type == e7 && es(this.attrs, n || e7.defaultAttrs || Qy) && se.sameSet(this.marks, r || se.none); + } + /** + Create a new node with the same markup as this node, containing + the given content (or empty, if no content is given). + */ + copy(e7 = null) { + return e7 == this.content ? this : new Tl(this.type, this.attrs, e7, this.marks); + } + /** + Create a copy of this node, with the given set of marks instead + of the node's own marks. + */ + mark(e7) { + return e7 == this.marks ? this : new Tl(this.type, this.attrs, this.content, e7); + } + /** + Create a copy of this node with only the content between the + given positions. If `to` is not given, it defaults to the end of + the node. + */ + cut(e7, n = this.content.size) { + return e7 == 0 && n == this.content.size ? this : this.copy(this.content.cut(e7, n)); + } + /** + Cut out the part of the document between the given positions, and + return it as a `Slice` object. + */ + slice(e7, n = this.content.size, r = false) { + if (e7 == n) + return N.empty; + let i7 = this.resolve(e7), o = this.resolve(n), s = r ? 0 : i7.sharedDepth(n), a = i7.start(s), u = i7.node(s).content.cut(i7.pos - a, o.pos - a); + return new N(u, i7.depth - s, o.depth - s); + } + /** + Replace the part of the document between the given positions with + the given slice. The slice must 'fit', meaning its open sides + must be able to connect to the surrounding content, and its + content nodes must be valid children for the node they are placed + into. If any of this is violated, an error of type + [`ReplaceError`](https://prosemirror.net/docs/ref/#model.ReplaceError) is thrown. + */ + replace(e7, n, r) { + return Jy(this.resolve(e7), this.resolve(n), r); + } + /** + Find the node directly after the given position. + */ + nodeAt(e7) { + for (let n = this; ; ) { + let { index: r, offset: i7 } = n.content.findIndex(e7); + if (n = n.maybeChild(r), !n) + return null; + if (i7 == e7 || n.isText) + return n; + e7 -= i7 + 1; + } + } + /** + Find the (direct) child node after the given offset, if any, + and return it along with its index and offset relative to this + node. + */ + childAfter(e7) { + let { index: n, offset: r } = this.content.findIndex(e7); + return { node: this.content.maybeChild(n), index: n, offset: r }; + } + /** + Find the (direct) child node before the given offset, if any, + and return it along with its index and offset relative to this + node. + */ + childBefore(e7) { + if (e7 == 0) + return { node: null, index: 0, offset: 0 }; + let { index: n, offset: r } = this.content.findIndex(e7); + if (r < e7) + return { node: this.content.child(n), index: n, offset: r }; + let i7 = this.content.child(n - 1); + return { node: i7, index: n - 1, offset: r - i7.nodeSize }; + } + /** + Resolve the given position in the document, returning an + [object](https://prosemirror.net/docs/ref/#model.ResolvedPos) with information about its context. + */ + resolve(e7) { + return Ri.resolveCached(this, e7); + } + /** + @internal + */ + resolveNoCache(e7) { + return Ri.resolve(this, e7); + } + /** + Test whether a given mark or mark type occurs in this document + between the two given positions. + */ + rangeHasMark(e7, n, r) { + let i7 = false; + return n > e7 && this.nodesBetween(e7, n, (o) => (r.isInSet(o.marks) && (i7 = true), !i7)), i7; + } + /** + True when this is a block (non-inline node) + */ + get isBlock() { + return this.type.isBlock; + } + /** + True when this is a textblock node, a block node with inline + content. + */ + get isTextblock() { + return this.type.isTextblock; + } + /** + True when this node allows inline content. + */ + get inlineContent() { + return this.type.inlineContent; + } + /** + True when this is an inline node (a text node or a node that can + appear among text). + */ + get isInline() { + return this.type.isInline; + } + /** + True when this is a text node. + */ + get isText() { + return this.type.isText; + } + /** + True when this is a leaf node. + */ + get isLeaf() { + return this.type.isLeaf; + } + /** + True when this is an atom, i.e. when it does not have directly + editable content. This is usually the same as `isLeaf`, but can + be configured with the [`atom` property](https://prosemirror.net/docs/ref/#model.NodeSpec.atom) + on a node's spec (typically used when the node is displayed as + an uneditable [node view](https://prosemirror.net/docs/ref/#view.NodeView)). + */ + get isAtom() { + return this.type.isAtom; + } + /** + Return a string representation of this node for debugging + purposes. + */ + toString() { + if (this.type.spec.toDebugString) + return this.type.spec.toDebugString(this); + let e7 = this.type.name; + return this.content.size && (e7 += "(" + this.content.toStringInner() + ")"), gh(this.marks, e7); + } + /** + Get the content match in this node at the given index. + */ + contentMatchAt(e7) { + let n = this.type.contentMatch.matchFragment(this.content, 0, e7); + if (!n) + throw new Error("Called contentMatchAt on a node with invalid content"); + return n; + } + /** + Test whether replacing the range between `from` and `to` (by + child index) with the given replacement fragment (which defaults + to the empty fragment) would leave the node's content valid. You + can optionally pass `start` and `end` indices into the + replacement fragment. + */ + canReplace(e7, n, r = S.empty, i7 = 0, o = r.childCount) { + let s = this.contentMatchAt(e7).matchFragment(r, i7, o), a = s && s.matchFragment(this.content, n); + if (!a || !a.validEnd) + return false; + for (let l = i7; l < o; l++) + if (!this.type.allowsMarks(r.child(l).marks)) + return false; + return true; + } + /** + Test whether replacing the range `from` to `to` (by index) with + a node of the given type would leave the node's content valid. + */ + canReplaceWith(e7, n, r, i7) { + if (i7 && !this.type.allowsMarks(i7)) + return false; + let o = this.contentMatchAt(e7).matchType(r), s = o && o.matchFragment(this.content, n); + return s ? s.validEnd : false; + } + /** + Test whether the given node's content could be appended to this + node. If that node is empty, this will only return true if there + is at least one node type that can appear in both nodes (to avoid + merging completely incompatible nodes). + */ + canAppend(e7) { + return e7.content.size ? this.canReplace(this.childCount, this.childCount, e7.content) : this.type.compatibleContent(e7.type); + } + /** + Check whether this node and its descendants conform to the + schema, and raise an exception when they do not. + */ + check() { + this.type.checkContent(this.content), this.type.checkAttrs(this.attrs); + let e7 = se.none; + for (let n = 0; n < this.marks.length; n++) { + let r = this.marks[n]; + r.type.checkAttrs(r.attrs), e7 = r.addToSet(e7); + } + if (!se.sameSet(e7, this.marks)) + throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map((n) => n.type.name)}`); + this.content.forEach((n) => n.check()); + } + /** + Return a JSON-serializeable representation of this node. + */ + toJSON() { + let e7 = { type: this.type.name }; + for (let n in this.attrs) { + e7.attrs = this.attrs; + break; + } + return this.content.size && (e7.content = this.content.toJSON()), this.marks.length && (e7.marks = this.marks.map((n) => n.toJSON())), e7; + } + /** + Deserialize a node from its JSON representation. + */ + static fromJSON(e7, n) { + if (!n) + throw new RangeError("Invalid input for Node.fromJSON"); + let r; + if (n.marks) { + if (!Array.isArray(n.marks)) + throw new RangeError("Invalid mark data for Node.fromJSON"); + r = n.marks.map(e7.markFromJSON); + } + if (n.type == "text") { + if (typeof n.text != "string") + throw new RangeError("Invalid text node in JSON"); + return e7.text(n.text, r); + } + let i7 = S.fromJSON(e7, n.content), o = e7.nodeType(n.type).create(n.attrs, i7, r); + return o.type.checkAttrs(o.attrs), o; + } + }; + Xt.prototype.text = void 0; + class is extends Xt { + /** + @internal + */ + constructor(e7, n, r, i7) { + if (super(e7, n, null, i7), !r) + throw new RangeError("Empty text nodes are not allowed"); + this.text = r; + } + toString() { + return this.type.spec.toDebugString ? this.type.spec.toDebugString(this) : gh(this.marks, JSON.stringify(this.text)); + } + get textContent() { + return this.text; + } + textBetween(e7, n) { + return this.text.slice(e7, n); + } + get nodeSize() { + return this.text.length; + } + mark(e7) { + return e7 == this.marks ? this : new is(this.type, this.attrs, this.text, e7); + } + withText(e7) { + return e7 == this.text ? this : new is(this.type, this.attrs, e7, this.marks); + } + cut(e7 = 0, n = this.text.length) { + return e7 == 0 && n == this.text.length ? this : this.withText(this.text.slice(e7, n)); + } + eq(e7) { + return this.sameMarkup(e7) && this.text == e7.text; + } + toJSON() { + let e7 = super.toJSON(); + return e7.text = this.text, e7; + } + } + function gh(t7, e7) { + for (let n = t7.length - 1; n >= 0; n--) + e7 = t7[n].type.name + "(" + e7 + ")"; + return e7; + } + class rr { + /** + @internal + */ + constructor(e7) { + this.validEnd = e7, this.next = [], this.wrapCache = []; + } + /** + @internal + */ + static parse(e7, n) { + let r = new e3(e7, n); + if (r.next == null) + return rr.empty; + let i7 = bh(r); + r.next && r.err("Unexpected trailing text"); + let o = a3(s3(i7)); + return l3(o, r), o; + } + /** + Match a node type, returning a match after that node if + successful. + */ + matchType(e7) { + for (let n = 0; n < this.next.length; n++) + if (this.next[n].type == e7) + return this.next[n].next; + return null; + } + /** + Try to match a fragment. Returns the resulting match when + successful. + */ + matchFragment(e7, n = 0, r = e7.childCount) { + let i7 = this; + for (let o = n; i7 && o < r; o++) + i7 = i7.matchType(e7.child(o).type); + return i7; + } + /** + @internal + */ + get inlineContent() { + return this.next.length != 0 && this.next[0].type.isInline; + } + /** + Get the first matching node type at this match position that can + be generated. + */ + get defaultType() { + for (let e7 = 0; e7 < this.next.length; e7++) { + let { type: n } = this.next[e7]; + if (!(n.isText || n.hasRequiredAttrs())) + return n; + } + return null; + } + /** + @internal + */ + compatible(e7) { + for (let n = 0; n < this.next.length; n++) + for (let r = 0; r < e7.next.length; r++) + if (this.next[n].type == e7.next[r].type) + return true; + return false; + } + /** + Try to match the given fragment, and if that fails, see if it can + be made to match by inserting nodes in front of it. When + successful, return a fragment of inserted nodes (which may be + empty if nothing had to be inserted). When `toEnd` is true, only + return a fragment if the resulting match goes to the end of the + content expression. + */ + fillBefore(e7, n = false, r = 0) { + let i7 = [this]; + function o(s, a) { + let l = s.matchFragment(e7, r); + if (l && (!n || l.validEnd)) + return S.from(a.map((u) => u.createAndFill())); + for (let u = 0; u < s.next.length; u++) { + let { type: c, next: d } = s.next[u]; + if (!(c.isText || c.hasRequiredAttrs()) && i7.indexOf(d) == -1) { + i7.push(d); + let f = o(d, a.concat(c)); + if (f) + return f; + } + } + return null; + } + return o(this, []); + } + /** + Find a set of wrapping node types that would allow a node of the + given type to appear at this position. The result may be empty + (when it fits directly) and will be null when no such wrapping + exists. + */ + findWrapping(e7) { + for (let r = 0; r < this.wrapCache.length; r += 2) + if (this.wrapCache[r] == e7) + return this.wrapCache[r + 1]; + let n = this.computeWrapping(e7); + return this.wrapCache.push(e7, n), n; + } + /** + @internal + */ + computeWrapping(e7) { + let n = /* @__PURE__ */ Object.create(null), r = [{ match: this, type: null, via: null }]; + for (; r.length; ) { + let i7 = r.shift(), o = i7.match; + if (o.matchType(e7)) { + let s = []; + for (let a = i7; a.type; a = a.via) + s.push(a.type); + return s.reverse(); + } + for (let s = 0; s < o.next.length; s++) { + let { type: a, next: l } = o.next[s]; + !a.isLeaf && !a.hasRequiredAttrs() && !(a.name in n) && (!i7.type || l.validEnd) && (r.push({ match: a.contentMatch, type: a, via: i7 }), n[a.name] = true); + } + } + return null; + } + /** + The number of outgoing edges this node has in the finite + automaton that describes the content expression. + */ + get edgeCount() { + return this.next.length; + } + /** + Get the _n_​th outgoing edge from this node in the finite + automaton that describes the content expression. + */ + edge(e7) { + if (e7 >= this.next.length) + throw new RangeError(`There's no ${e7}th edge in this content match`); + return this.next[e7]; + } + /** + @internal + */ + toString() { + let e7 = []; + function n(r) { + e7.push(r); + for (let i7 = 0; i7 < r.next.length; i7++) + e7.indexOf(r.next[i7].next) == -1 && n(r.next[i7].next); + } + return n(this), e7.map((r, i7) => { + let o = i7 + (r.validEnd ? "*" : " ") + " "; + for (let s = 0; s < r.next.length; s++) + o += (s ? ", " : "") + r.next[s].type.name + "->" + e7.indexOf(r.next[s].next); + return o; + }).join(` +`); + } + } + rr.empty = new rr(true); + class e3 { + constructor(e7, n) { + this.string = e7, this.nodeTypes = n, this.inline = null, this.pos = 0, this.tokens = e7.split(/\s*(?=\b|\W|$)/), this.tokens[this.tokens.length - 1] == "" && this.tokens.pop(), this.tokens[0] == "" && this.tokens.shift(); + } + get next() { + return this.tokens[this.pos]; + } + eat(e7) { + return this.next == e7 && (this.pos++ || true); + } + err(e7) { + throw new SyntaxError(e7 + " (in content expression '" + this.string + "')"); + } + } + function bh(t7) { + let e7 = []; + do + e7.push(t3(t7)); + while (t7.eat("|")); + return e7.length == 1 ? e7[0] : { type: "choice", exprs: e7 }; + } + function t3(t7) { + let e7 = []; + do + e7.push(n3(t7)); + while (t7.next && t7.next != ")" && t7.next != "|"); + return e7.length == 1 ? e7[0] : { type: "seq", exprs: e7 }; + } + function n3(t7) { + let e7 = o3(t7); + for (; ; ) + if (t7.eat("+")) + e7 = { type: "plus", expr: e7 }; + else if (t7.eat("*")) + e7 = { type: "star", expr: e7 }; + else if (t7.eat("?")) + e7 = { type: "opt", expr: e7 }; + else if (t7.eat("{")) + e7 = r3(t7, e7); + else + break; + return e7; + } + function od(t7) { + /\D/.test(t7.next) && t7.err("Expected number, got '" + t7.next + "'"); + let e7 = Number(t7.next); + return t7.pos++, e7; + } + function r3(t7, e7) { + let n = od(t7), r = n; + return t7.eat(",") && (t7.next != "}" ? r = od(t7) : r = -1), t7.eat("}") || t7.err("Unclosed braced range"), { type: "range", min: n, max: r, expr: e7 }; + } + function i3(t7, e7) { + let n = t7.nodeTypes, r = n[e7]; + if (r) + return [r]; + let i7 = []; + for (let o in n) { + let s = n[o]; + s.isInGroup(e7) && i7.push(s); + } + return i7.length == 0 && t7.err("No node type or group '" + e7 + "' found"), i7; + } + function o3(t7) { + if (t7.eat("(")) { + let e7 = bh(t7); + return t7.eat(")") || t7.err("Missing closing paren"), e7; + } else if (/\W/.test(t7.next)) + t7.err("Unexpected token '" + t7.next + "'"); + else { + let e7 = i3(t7, t7.next).map((n) => (t7.inline == null ? t7.inline = n.isInline : t7.inline != n.isInline && t7.err("Mixing inline and block content"), { type: "name", value: n })); + return t7.pos++, e7.length == 1 ? e7[0] : { type: "choice", exprs: e7 }; + } + } + function s3(t7) { + let e7 = [[]]; + return i7(o(t7, 0), n()), e7; + function n() { + return e7.push([]) - 1; + } + function r(s, a, l) { + let u = { term: l, to: a }; + return e7[s].push(u), u; + } + function i7(s, a) { + s.forEach((l) => l.to = a); + } + function o(s, a) { + if (s.type == "choice") + return s.exprs.reduce((l, u) => l.concat(o(u, a)), []); + if (s.type == "seq") + for (let l = 0; ; l++) { + let u = o(s.exprs[l], a); + if (l == s.exprs.length - 1) + return u; + i7(u, a = n()); + } + else if (s.type == "star") { + let l = n(); + return r(a, l), i7(o(s.expr, l), l), [r(l)]; + } else if (s.type == "plus") { + let l = n(); + return i7(o(s.expr, a), l), i7(o(s.expr, l), l), [r(l)]; + } else { + if (s.type == "opt") + return [r(a)].concat(o(s.expr, a)); + if (s.type == "range") { + let l = a; + for (let u = 0; u < s.min; u++) { + let c = n(); + i7(o(s.expr, l), c), l = c; + } + if (s.max == -1) + i7(o(s.expr, l), l); + else + for (let u = s.min; u < s.max; u++) { + let c = n(); + r(l, c), i7(o(s.expr, l), c), l = c; + } + return [r(l)]; + } else { + if (s.type == "name") + return [r(a, void 0, s.value)]; + throw new Error("Unknown expr type"); + } + } + } + } + function yh(t7, e7) { + return e7 - t7; + } + function sd(t7, e7) { + let n = []; + return r(e7), n.sort(yh); + function r(i7) { + let o = t7[i7]; + if (o.length == 1 && !o[0].term) + return r(o[0].to); + n.push(i7); + for (let s = 0; s < o.length; s++) { + let { term: a, to: l } = o[s]; + !a && n.indexOf(l) == -1 && r(l); + } + } + } + function a3(t7) { + let e7 = /* @__PURE__ */ Object.create(null); + return n(sd(t7, 0)); + function n(r) { + let i7 = []; + r.forEach((s) => { + t7[s].forEach(({ term: a, to: l }) => { + if (!a) + return; + let u; + for (let c = 0; c < i7.length; c++) + i7[c][0] == a && (u = i7[c][1]); + sd(t7, l).forEach((c) => { + u || i7.push([a, u = []]), u.indexOf(c) == -1 && u.push(c); + }); + }); + }); + let o = e7[r.join(",")] = new rr(r.indexOf(t7.length - 1) > -1); + for (let s = 0; s < i7.length; s++) { + let a = i7[s][1].sort(yh); + o.next.push({ type: i7[s][0], next: e7[a.join(",")] || n(a) }); + } + return o; + } + } + function l3(t7, e7) { + for (let n = 0, r = [t7]; n < r.length; n++) { + let i7 = r[n], o = !i7.validEnd, s = []; + for (let a = 0; a < i7.next.length; a++) { + let { type: l, next: u } = i7.next[a]; + s.push(l.name), o && !(l.isText || l.hasRequiredAttrs()) && (o = false), r.indexOf(u) == -1 && r.push(u); + } + o && e7.err("Only non-generatable nodes (" + s.join(", ") + ") in a required position (see https://prosemirror.net/docs/guide/#generatable)"); + } + } + function vh(t7) { + let e7 = /* @__PURE__ */ Object.create(null); + for (let n in t7) { + let r = t7[n]; + if (!r.hasDefault) + return null; + e7[n] = r.default; + } + return e7; + } + function wh(t7, e7) { + let n = /* @__PURE__ */ Object.create(null); + for (let r in t7) { + let i7 = e7 && e7[r]; + if (i7 === void 0) { + let o = t7[r]; + if (o.hasDefault) + i7 = o.default; + else + throw new RangeError("No value supplied for attribute " + r); + } + n[r] = i7; + } + return n; + } + function xh(t7, e7, n, r) { + for (let i7 in e7) + if (!(i7 in t7)) + throw new RangeError(`Unsupported attribute ${i7} for ${n} of type ${i7}`); + for (let i7 in t7) { + let o = t7[i7]; + o.validate && o.validate(e7[i7]); + } + } + function kh(t7, e7) { + let n = /* @__PURE__ */ Object.create(null); + if (e7) + for (let r in e7) + n[r] = new c3(t7, r, e7[r]); + return n; + } + let ad = class Ah { + /** + @internal + */ + constructor(e7, n, r) { + this.name = e7, this.schema = n, this.spec = r, this.markSet = null, this.groups = r.group ? r.group.split(" ") : [], this.attrs = kh(e7, r.attrs), this.defaultAttrs = vh(this.attrs), this.contentMatch = null, this.inlineContent = null, this.isBlock = !(r.inline || e7 == "text"), this.isText = e7 == "text"; + } + /** + True if this is an inline type. + */ + get isInline() { + return !this.isBlock; + } + /** + True if this is a textblock type, a block that contains inline + content. + */ + get isTextblock() { + return this.isBlock && this.inlineContent; + } + /** + True for node types that allow no content. + */ + get isLeaf() { + return this.contentMatch == rr.empty; + } + /** + True when this node is an atom, i.e. when it does not have + directly editable content. + */ + get isAtom() { + return this.isLeaf || !!this.spec.atom; + } + /** + Return true when this node type is part of the given + [group](https://prosemirror.net/docs/ref/#model.NodeSpec.group). + */ + isInGroup(e7) { + return this.groups.indexOf(e7) > -1; + } + /** + The node type's [whitespace](https://prosemirror.net/docs/ref/#model.NodeSpec.whitespace) option. + */ + get whitespace() { + return this.spec.whitespace || (this.spec.code ? "pre" : "normal"); + } + /** + Tells you whether this node type has any required attributes. + */ + hasRequiredAttrs() { + for (let e7 in this.attrs) + if (this.attrs[e7].isRequired) + return true; + return false; + } + /** + Indicates whether this node allows some of the same content as + the given node type. + */ + compatibleContent(e7) { + return this == e7 || this.contentMatch.compatible(e7.contentMatch); + } + /** + @internal + */ + computeAttrs(e7) { + return !e7 && this.defaultAttrs ? this.defaultAttrs : wh(this.attrs, e7); + } + /** + Create a `Node` of this type. The given attributes are + checked and defaulted (you can pass `null` to use the type's + defaults entirely, if no required attributes exist). `content` + may be a `Fragment`, a node, an array of nodes, or + `null`. Similarly `marks` may be `null` to default to the empty + set of marks. + */ + create(e7 = null, n, r) { + if (this.isText) + throw new Error("NodeType.create can't construct text nodes"); + return new Xt(this, this.computeAttrs(e7), S.from(n), se.setFrom(r)); + } + /** + Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but check the given content + against the node type's content restrictions, and throw an error + if it doesn't match. + */ + createChecked(e7 = null, n, r) { + return n = S.from(n), this.checkContent(n), new Xt(this, this.computeAttrs(e7), n, se.setFrom(r)); + } + /** + Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but see if it is + necessary to add nodes to the start or end of the given fragment + to make it fit the node. If no fitting wrapping can be found, + return null. Note that, due to the fact that required nodes can + always be created, this will always succeed if you pass null or + `Fragment.empty` as content. + */ + createAndFill(e7 = null, n, r) { + if (e7 = this.computeAttrs(e7), n = S.from(n), n.size) { + let s = this.contentMatch.fillBefore(n); + if (!s) + return null; + n = s.append(n); + } + let i7 = this.contentMatch.matchFragment(n), o = i7 && i7.fillBefore(S.empty, true); + return o ? new Xt(this, e7, n.append(o), se.setFrom(r)) : null; + } + /** + Returns true if the given fragment is valid content for this node + type. + */ + validContent(e7) { + let n = this.contentMatch.matchFragment(e7); + if (!n || !n.validEnd) + return false; + for (let r = 0; r < e7.childCount; r++) + if (!this.allowsMarks(e7.child(r).marks)) + return false; + return true; + } + /** + Throws a RangeError if the given fragment is not valid content for this + node type. + @internal + */ + checkContent(e7) { + if (!this.validContent(e7)) + throw new RangeError(`Invalid content for node ${this.name}: ${e7.toString().slice(0, 50)}`); + } + /** + @internal + */ + checkAttrs(e7) { + xh(this.attrs, e7, "node", this.name); + } + /** + Check whether the given mark type is allowed in this node. + */ + allowsMarkType(e7) { + return this.markSet == null || this.markSet.indexOf(e7) > -1; + } + /** + Test whether the given set of marks are allowed in this node. + */ + allowsMarks(e7) { + if (this.markSet == null) + return true; + for (let n = 0; n < e7.length; n++) + if (!this.allowsMarkType(e7[n].type)) + return false; + return true; + } + /** + Removes the marks that are not allowed in this node from the given set. + */ + allowedMarks(e7) { + if (this.markSet == null) + return e7; + let n; + for (let r = 0; r < e7.length; r++) + this.allowsMarkType(e7[r].type) ? n && n.push(e7[r]) : n || (n = e7.slice(0, r)); + return n ? n.length ? n : se.none : e7; + } + /** + @internal + */ + static compile(e7, n) { + let r = /* @__PURE__ */ Object.create(null); + e7.forEach((o, s) => r[o] = new Ah(o, n, s)); + let i7 = n.spec.topNode || "doc"; + if (!r[i7]) + throw new RangeError("Schema is missing its top node type ('" + i7 + "')"); + if (!r.text) + throw new RangeError("Every schema needs a 'text' type"); + for (let o in r.text.attrs) + throw new RangeError("The text node type should not have attributes"); + return r; + } + }; + function u3(t7, e7, n) { + let r = n.split("|"); + return (i7) => { + let o = i7 === null ? "null" : typeof i7; + if (r.indexOf(o) < 0) + throw new RangeError(`Expected value of type ${r} for attribute ${e7} on type ${t7}, got ${o}`); + }; + } + class c3 { + constructor(e7, n, r) { + this.hasDefault = Object.prototype.hasOwnProperty.call(r, "default"), this.default = r.default, this.validate = typeof r.validate == "string" ? u3(e7, n, r.validate) : r.validate; + } + get isRequired() { + return !this.hasDefault; + } + } + class ea { + /** + @internal + */ + constructor(e7, n, r, i7) { + this.name = e7, this.rank = n, this.schema = r, this.spec = i7, this.attrs = kh(e7, i7.attrs), this.excluded = null; + let o = vh(this.attrs); + this.instance = o ? new se(this, o) : null; + } + /** + Create a mark of this type. `attrs` may be `null` or an object + containing only some of the mark's attributes. The others, if + they have defaults, will be added. + */ + create(e7 = null) { + return !e7 && this.instance ? this.instance : new se(this, wh(this.attrs, e7)); + } + /** + @internal + */ + static compile(e7, n) { + let r = /* @__PURE__ */ Object.create(null), i7 = 0; + return e7.forEach((o, s) => r[o] = new ea(o, i7++, n, s)), r; + } + /** + When there is a mark of this type in the given set, a new set + without it is returned. Otherwise, the input set is returned. + */ + removeFromSet(e7) { + for (var n = 0; n < e7.length; n++) + e7[n].type == this && (e7 = e7.slice(0, n).concat(e7.slice(n + 1)), n--); + return e7; + } + /** + Tests whether there is a mark of this type in the given set. + */ + isInSet(e7) { + for (let n = 0; n < e7.length; n++) + if (e7[n].type == this) + return e7[n]; + } + /** + @internal + */ + checkAttrs(e7) { + xh(this.attrs, e7, "mark", this.name); + } + /** + Queries whether a given mark type is + [excluded](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) by this one. + */ + excludes(e7) { + return this.excluded.indexOf(e7) > -1; + } + } + class Ch { + /** + Construct a schema from a schema [specification](https://prosemirror.net/docs/ref/#model.SchemaSpec). + */ + constructor(e7) { + this.linebreakReplacement = null, this.cached = /* @__PURE__ */ Object.create(null); + let n = this.spec = {}; + for (let i7 in e7) + n[i7] = e7[i7]; + n.nodes = Re.from(e7.nodes), n.marks = Re.from(e7.marks || {}), this.nodes = ad.compile(this.spec.nodes, this), this.marks = ea.compile(this.spec.marks, this); + let r = /* @__PURE__ */ Object.create(null); + for (let i7 in this.nodes) { + if (i7 in this.marks) + throw new RangeError(i7 + " can not be both a node and a mark"); + let o = this.nodes[i7], s = o.spec.content || "", a = o.spec.marks; + if (o.contentMatch = r[s] || (r[s] = rr.parse(s, this.nodes)), o.inlineContent = o.contentMatch.inlineContent, o.spec.linebreakReplacement) { + if (this.linebreakReplacement) + throw new RangeError("Multiple linebreak nodes defined"); + if (!o.isInline || !o.isLeaf) + throw new RangeError("Linebreak replacement nodes must be inline leaf nodes"); + this.linebreakReplacement = o; + } + o.markSet = a == "_" ? null : a ? ld(this, a.split(" ")) : a == "" || !o.inlineContent ? [] : null; + } + for (let i7 in this.marks) { + let o = this.marks[i7], s = o.spec.excludes; + o.excluded = s == null ? [o] : s == "" ? [] : ld(this, s.split(" ")); + } + this.nodeFromJSON = (i7) => Xt.fromJSON(this, i7), this.markFromJSON = (i7) => se.fromJSON(this, i7), this.topNodeType = this.nodes[this.spec.topNode || "doc"], this.cached.wrappings = /* @__PURE__ */ Object.create(null); + } + /** + Create a node in this schema. The `type` may be a string or a + `NodeType` instance. Attributes will be extended with defaults, + `content` may be a `Fragment`, `null`, a `Node`, or an array of + nodes. + */ + node(e7, n = null, r, i7) { + if (typeof e7 == "string") + e7 = this.nodeType(e7); + else if (e7 instanceof ad) { + if (e7.schema != this) + throw new RangeError("Node type from different schema used (" + e7.name + ")"); + } else throw new RangeError("Invalid node type: " + e7); + return e7.createChecked(n, r, i7); + } + /** + Create a text node in the schema. Empty text nodes are not + allowed. + */ + text(e7, n) { + let r = this.nodes.text; + return new is(r, r.defaultAttrs, e7, se.setFrom(n)); + } + /** + Create a mark with the given type and attributes. + */ + mark(e7, n) { + return typeof e7 == "string" && (e7 = this.marks[e7]), e7.create(n); + } + /** + @internal + */ + nodeType(e7) { + let n = this.nodes[e7]; + if (!n) + throw new RangeError("Unknown node type: " + e7); + return n; + } + } + function ld(t7, e7) { + let n = []; + for (let r = 0; r < e7.length; r++) { + let i7 = e7[r], o = t7.marks[i7], s = o; + if (o) + n.push(o); + else + for (let a in t7.marks) { + let l = t7.marks[a]; + (i7 == "_" || l.spec.group && l.spec.group.split(" ").indexOf(i7) > -1) && n.push(s = l); + } + if (!s) + throw new SyntaxError("Unknown mark type: '" + e7[r] + "'"); + } + return n; + } + function d3(t7) { + return t7.tag != null; + } + function f3(t7) { + return t7.style != null; + } + class Cn { + /** + Create a parser that targets the given schema, using the given + parsing rules. + */ + constructor(e7, n) { + this.schema = e7, this.rules = n, this.tags = [], this.styles = []; + let r = this.matchedStyles = []; + n.forEach((i7) => { + if (d3(i7)) + this.tags.push(i7); + else if (f3(i7)) { + let o = /[^=]*/.exec(i7.style)[0]; + r.indexOf(o) < 0 && r.push(o), this.styles.push(i7); + } + }), this.normalizeLists = !this.tags.some((i7) => { + if (!/^(ul|ol)\b/.test(i7.tag) || !i7.node) + return false; + let o = e7.nodes[i7.node]; + return o.contentMatch.matchType(o); + }); + } + /** + Parse a document from the content of a DOM node. + */ + parse(e7, n = {}) { + let r = new cd(this, n, false); + return r.addAll(e7, se.none, n.from, n.to), r.finish(); + } + /** + Parses the content of the given DOM node, like + [`parse`](https://prosemirror.net/docs/ref/#model.DOMParser.parse), and takes the same set of + options. But unlike that method, which produces a whole node, + this one returns a slice that is open at the sides, meaning that + the schema constraints aren't applied to the start of nodes to + the left of the input and the end of nodes at the end. + */ + parseSlice(e7, n = {}) { + let r = new cd(this, n, true); + return r.addAll(e7, se.none, n.from, n.to), N.maxOpen(r.finish()); + } + /** + @internal + */ + matchTag(e7, n, r) { + for (let i7 = r ? this.tags.indexOf(r) + 1 : 0; i7 < this.tags.length; i7++) { + let o = this.tags[i7]; + if (m3(e7, o.tag) && (o.namespace === void 0 || e7.namespaceURI == o.namespace) && (!o.context || n.matchesContext(o.context))) { + if (o.getAttrs) { + let s = o.getAttrs(e7); + if (s === false) + continue; + o.attrs = s || void 0; + } + return o; + } + } + } + /** + @internal + */ + matchStyle(e7, n, r, i7) { + for (let o = i7 ? this.styles.indexOf(i7) + 1 : 0; o < this.styles.length; o++) { + let s = this.styles[o], a = s.style; + if (!(a.indexOf(e7) != 0 || s.context && !r.matchesContext(s.context) || // Test that the style string either precisely matches the prop, + // or has an '=' sign after the prop, followed by the given + // value. + a.length > e7.length && (a.charCodeAt(e7.length) != 61 || a.slice(e7.length + 1) != n))) { + if (s.getAttrs) { + let l = s.getAttrs(n); + if (l === false) + continue; + s.attrs = l || void 0; + } + return s; + } + } + } + /** + @internal + */ + static schemaRules(e7) { + let n = []; + function r(i7) { + let o = i7.priority == null ? 50 : i7.priority, s = 0; + for (; s < n.length; s++) { + let a = n[s]; + if ((a.priority == null ? 50 : a.priority) < o) + break; + } + n.splice(s, 0, i7); + } + for (let i7 in e7.marks) { + let o = e7.marks[i7].spec.parseDOM; + o && o.forEach((s) => { + r(s = dd(s)), s.mark || s.ignore || s.clearMark || (s.mark = i7); + }); + } + for (let i7 in e7.nodes) { + let o = e7.nodes[i7].spec.parseDOM; + o && o.forEach((s) => { + r(s = dd(s)), s.node || s.ignore || s.mark || (s.node = i7); + }); + } + return n; + } + /** + Construct a DOM parser using the parsing rules listed in a + schema's [node specs](https://prosemirror.net/docs/ref/#model.NodeSpec.parseDOM), reordered by + [priority](https://prosemirror.net/docs/ref/#model.GenericParseRule.priority). + */ + static fromSchema(e7) { + return e7.cached.domParser || (e7.cached.domParser = new Cn(e7, Cn.schemaRules(e7))); + } + } + const Sh = { + address: true, + article: true, + aside: true, + blockquote: true, + canvas: true, + dd: true, + div: true, + dl: true, + fieldset: true, + figcaption: true, + figure: true, + footer: true, + form: true, + h1: true, + h2: true, + h3: true, + h4: true, + h5: true, + h6: true, + header: true, + hgroup: true, + hr: true, + li: true, + noscript: true, + ol: true, + output: true, + p: true, + pre: true, + section: true, + table: true, + tfoot: true, + ul: true + }, p3 = { + head: true, + noscript: true, + object: true, + script: true, + style: true, + title: true + }, Th = { ol: true, ul: true }, Di = 1, El = 2, yi = 4; + function ud(t7, e7, n) { + return e7 != null ? (e7 ? Di : 0) | (e7 === "full" ? El : 0) : t7 && t7.whitespace == "pre" ? Di | El : n & ~yi; + } + class ko { + constructor(e7, n, r, i7, o, s) { + this.type = e7, this.attrs = n, this.marks = r, this.solid = i7, this.options = s, this.content = [], this.activeMarks = se.none, this.match = o || (s & yi ? null : e7.contentMatch); + } + findWrapping(e7) { + if (!this.match) { + if (!this.type) + return []; + let n = this.type.contentMatch.fillBefore(S.from(e7)); + if (n) + this.match = this.type.contentMatch.matchFragment(n); + else { + let r = this.type.contentMatch, i7; + return (i7 = r.findWrapping(e7.type)) ? (this.match = r, i7) : null; + } + } + return this.match.findWrapping(e7.type); + } + finish(e7) { + if (!(this.options & Di)) { + let r = this.content[this.content.length - 1], i7; + if (r && r.isText && (i7 = /[ \t\r\n\u000c]+$/.exec(r.text))) { + let o = r; + r.text.length == i7[0].length ? this.content.pop() : this.content[this.content.length - 1] = o.withText(o.text.slice(0, o.text.length - i7[0].length)); + } + } + let n = S.from(this.content); + return !e7 && this.match && (n = n.append(this.match.fillBefore(S.empty, true))), this.type ? this.type.create(this.attrs, n, this.marks) : n; + } + inlineContext(e7) { + return this.type ? this.type.inlineContent : this.content.length ? this.content[0].isInline : e7.parentNode && !Sh.hasOwnProperty(e7.parentNode.nodeName.toLowerCase()); + } + } + class cd { + constructor(e7, n, r) { + this.parser = e7, this.options = n, this.isOpen = r, this.open = 0, this.localPreserveWS = false; + let i7 = n.topNode, o, s = ud(null, n.preserveWhitespace, 0) | (r ? yi : 0); + i7 ? o = new ko(i7.type, i7.attrs, se.none, true, n.topMatch || i7.type.contentMatch, s) : r ? o = new ko(null, null, se.none, true, null, s) : o = new ko(e7.schema.topNodeType, null, se.none, true, null, s), this.nodes = [o], this.find = n.findPositions, this.needsBlock = false; + } + get top() { + return this.nodes[this.open]; + } + // Add a DOM node to the content. Text is inserted as text node, + // otherwise, the node is passed to `addElement` or, if it has a + // `style` attribute, `addElementWithStyles`. + addDOM(e7, n) { + e7.nodeType == 3 ? this.addTextNode(e7, n) : e7.nodeType == 1 && this.addElement(e7, n); + } + addTextNode(e7, n) { + let r = e7.nodeValue, i7 = this.top, o = i7.options & El ? "full" : this.localPreserveWS || (i7.options & Di) > 0; + if (o === "full" || i7.inlineContext(e7) || /[^ \t\r\n\u000c]/.test(r)) { + if (o) + o !== "full" ? r = r.replace(/\r?\n|\r/g, " ") : r = r.replace(/\r\n?/g, ` +`); + else if (r = r.replace(/[ \t\r\n\u000c]+/g, " "), /^[ \t\r\n\u000c]/.test(r) && this.open == this.nodes.length - 1) { + let s = i7.content[i7.content.length - 1], a = e7.previousSibling; + (!s || a && a.nodeName == "BR" || s.isText && /[ \t\r\n\u000c]$/.test(s.text)) && (r = r.slice(1)); + } + r && this.insertNode(this.parser.schema.text(r), n, !/\S/.test(r)), this.findInText(e7); + } else + this.findInside(e7); + } + // Try to find a handler for the given tag and use that to parse. If + // none is found, the element's content nodes are added directly. + addElement(e7, n, r) { + let i7 = this.localPreserveWS, o = this.top; + (e7.tagName == "PRE" || /pre/.test(e7.style && e7.style.whiteSpace)) && (this.localPreserveWS = true); + let s = e7.nodeName.toLowerCase(), a; + Th.hasOwnProperty(s) && this.parser.normalizeLists && h3(e7); + let l = this.options.ruleFromNode && this.options.ruleFromNode(e7) || (a = this.parser.matchTag(e7, this, r)); + e: if (l ? l.ignore : p3.hasOwnProperty(s)) + this.findInside(e7), this.ignoreFallback(e7, n); + else if (!l || l.skip || l.closeParent) { + l && l.closeParent ? this.open = Math.max(0, this.open - 1) : l && l.skip.nodeType && (e7 = l.skip); + let u, c = this.needsBlock; + if (Sh.hasOwnProperty(s)) + o.content.length && o.content[0].isInline && this.open && (this.open--, o = this.top), u = true, o.type || (this.needsBlock = true); + else if (!e7.firstChild) { + this.leafFallback(e7, n); + break e; + } + let d = l && l.skip ? n : this.readStyles(e7, n); + d && this.addAll(e7, d), u && this.sync(o), this.needsBlock = c; + } else { + let u = this.readStyles(e7, n); + u && this.addElementByRule(e7, l, u, l.consuming === false ? a : void 0); + } + this.localPreserveWS = i7; + } + // Called for leaf DOM nodes that would otherwise be ignored + leafFallback(e7, n) { + e7.nodeName == "BR" && this.top.type && this.top.type.inlineContent && this.addTextNode(e7.ownerDocument.createTextNode(` +`), n); + } + // Called for ignored nodes + ignoreFallback(e7, n) { + e7.nodeName == "BR" && (!this.top.type || !this.top.type.inlineContent) && this.findPlace(this.parser.schema.text("-"), n, true); + } + // Run any style parser associated with the node's styles. Either + // return an updated array of marks, or null to indicate some of the + // styles had a rule with `ignore` set. + readStyles(e7, n) { + let r = e7.style; + if (r && r.length) + for (let i7 = 0; i7 < this.parser.matchedStyles.length; i7++) { + let o = this.parser.matchedStyles[i7], s = r.getPropertyValue(o); + if (s) + for (let a = void 0; ; ) { + let l = this.parser.matchStyle(o, s, this, a); + if (!l) + break; + if (l.ignore) + return null; + if (l.clearMark ? n = n.filter((u) => !l.clearMark(u)) : n = n.concat(this.parser.schema.marks[l.mark].create(l.attrs)), l.consuming === false) + a = l; + else + break; + } + } + return n; + } + // Look up a handler for the given node. If none are found, return + // false. Otherwise, apply it, use its return value to drive the way + // the node's content is wrapped, and return true. + addElementByRule(e7, n, r, i7) { + let o, s; + if (n.node) + if (s = this.parser.schema.nodes[n.node], s.isLeaf) + this.insertNode(s.create(n.attrs), r, e7.nodeName == "BR") || this.leafFallback(e7, r); + else { + let l = this.enter(s, n.attrs || null, r, n.preserveWhitespace); + l && (o = true, r = l); + } + else { + let l = this.parser.schema.marks[n.mark]; + r = r.concat(l.create(n.attrs)); + } + let a = this.top; + if (s && s.isLeaf) + this.findInside(e7); + else if (i7) + this.addElement(e7, r, i7); + else if (n.getContent) + this.findInside(e7), n.getContent(e7, this.parser.schema).forEach((l) => this.insertNode(l, r, false)); + else { + let l = e7; + typeof n.contentElement == "string" ? l = e7.querySelector(n.contentElement) : typeof n.contentElement == "function" ? l = n.contentElement(e7) : n.contentElement && (l = n.contentElement), this.findAround(e7, l, true), this.addAll(l, r), this.findAround(e7, l, false); + } + o && this.sync(a) && this.open--; + } + // Add all child nodes between `startIndex` and `endIndex` (or the + // whole node, if not given). If `sync` is passed, use it to + // synchronize after every block element. + addAll(e7, n, r, i7) { + let o = r || 0; + for (let s = r ? e7.childNodes[r] : e7.firstChild, a = i7 == null ? null : e7.childNodes[i7]; s != a; s = s.nextSibling, ++o) + this.findAtPoint(e7, o), this.addDOM(s, n); + this.findAtPoint(e7, o); + } + // Try to find a way to fit the given node type into the current + // context. May add intermediate wrappers and/or leave non-solid + // nodes that we're in. + findPlace(e7, n, r) { + let i7, o; + for (let s = this.open, a = 0; s >= 0; s--) { + let l = this.nodes[s], u = l.findWrapping(e7); + if (u && (!i7 || i7.length > u.length + a) && (i7 = u, o = l, !u.length)) + break; + if (l.solid) { + if (r) + break; + a += 2; + } + } + if (!i7) + return null; + this.sync(o); + for (let s = 0; s < i7.length; s++) + n = this.enterInner(i7[s], null, n, false); + return n; + } + // Try to insert the given node, adjusting the context when needed. + insertNode(e7, n, r) { + if (e7.isInline && this.needsBlock && !this.top.type) { + let o = this.textblockFromContext(); + o && (n = this.enterInner(o, null, n)); + } + let i7 = this.findPlace(e7, n, r); + if (i7) { + this.closeExtra(); + let o = this.top; + o.match && (o.match = o.match.matchType(e7.type)); + let s = se.none; + for (let a of i7.concat(e7.marks)) + (o.type ? o.type.allowsMarkType(a.type) : fd(a.type, e7.type)) && (s = a.addToSet(s)); + return o.content.push(e7.mark(s)), true; + } + return false; + } + // Try to start a node of the given type, adjusting the context when + // necessary. + enter(e7, n, r, i7) { + let o = this.findPlace(e7.create(n), r, false); + return o && (o = this.enterInner(e7, n, r, true, i7)), o; + } + // Open a node of the given type + enterInner(e7, n, r, i7 = false, o) { + this.closeExtra(); + let s = this.top; + s.match = s.match && s.match.matchType(e7); + let a = ud(e7, o, s.options); + s.options & yi && s.content.length == 0 && (a |= yi); + let l = se.none; + return r = r.filter((u) => (s.type ? s.type.allowsMarkType(u.type) : fd(u.type, e7)) ? (l = u.addToSet(l), false) : true), this.nodes.push(new ko(e7, n, l, i7, null, a)), this.open++, r; + } + // Make sure all nodes above this.open are finished and added to + // their parents + closeExtra(e7 = false) { + let n = this.nodes.length - 1; + if (n > this.open) { + for (; n > this.open; n--) + this.nodes[n - 1].content.push(this.nodes[n].finish(e7)); + this.nodes.length = this.open + 1; + } + } + finish() { + return this.open = 0, this.closeExtra(this.isOpen), this.nodes[0].finish(!!(this.isOpen || this.options.topOpen)); + } + sync(e7) { + for (let n = this.open; n >= 0; n--) { + if (this.nodes[n] == e7) + return this.open = n, true; + this.localPreserveWS && (this.nodes[n].options |= Di); + } + return false; + } + get currentPos() { + this.closeExtra(); + let e7 = 0; + for (let n = this.open; n >= 0; n--) { + let r = this.nodes[n].content; + for (let i7 = r.length - 1; i7 >= 0; i7--) + e7 += r[i7].nodeSize; + n && e7++; + } + return e7; + } + findAtPoint(e7, n) { + if (this.find) + for (let r = 0; r < this.find.length; r++) + this.find[r].node == e7 && this.find[r].offset == n && (this.find[r].pos = this.currentPos); + } + findInside(e7) { + if (this.find) + for (let n = 0; n < this.find.length; n++) + this.find[n].pos == null && e7.nodeType == 1 && e7.contains(this.find[n].node) && (this.find[n].pos = this.currentPos); + } + findAround(e7, n, r) { + if (e7 != n && this.find) + for (let i7 = 0; i7 < this.find.length; i7++) + this.find[i7].pos == null && e7.nodeType == 1 && e7.contains(this.find[i7].node) && n.compareDocumentPosition(this.find[i7].node) & (r ? 2 : 4) && (this.find[i7].pos = this.currentPos); + } + findInText(e7) { + if (this.find) + for (let n = 0; n < this.find.length; n++) + this.find[n].node == e7 && (this.find[n].pos = this.currentPos - (e7.nodeValue.length - this.find[n].offset)); + } + // Determines whether the given context string matches this context. + matchesContext(e7) { + if (e7.indexOf("|") > -1) + return e7.split(/\s*\|\s*/).some(this.matchesContext, this); + let n = e7.split("/"), r = this.options.context, i7 = !this.isOpen && (!r || r.parent.type == this.nodes[0].type), o = -(r ? r.depth + 1 : 0) + (i7 ? 0 : 1), s = (a, l) => { + for (; a >= 0; a--) { + let u = n[a]; + if (u == "") { + if (a == n.length - 1 || a == 0) + continue; + for (; l >= o; l--) + if (s(a - 1, l)) + return true; + return false; + } else { + let c = l > 0 || l == 0 && i7 ? this.nodes[l].type : r && l >= o ? r.node(l - o).type : null; + if (!c || c.name != u && !c.isInGroup(u)) + return false; + l--; + } + } + return true; + }; + return s(n.length - 1, this.open); + } + textblockFromContext() { + let e7 = this.options.context; + if (e7) + for (let n = e7.depth; n >= 0; n--) { + let r = e7.node(n).contentMatchAt(e7.indexAfter(n)).defaultType; + if (r && r.isTextblock && r.defaultAttrs) + return r; + } + for (let n in this.parser.schema.nodes) { + let r = this.parser.schema.nodes[n]; + if (r.isTextblock && r.defaultAttrs) + return r; + } + } + } + function h3(t7) { + for (let e7 = t7.firstChild, n = null; e7; e7 = e7.nextSibling) { + let r = e7.nodeType == 1 ? e7.nodeName.toLowerCase() : null; + r && Th.hasOwnProperty(r) && n ? (n.appendChild(e7), e7 = n) : r == "li" ? n = e7 : r && (n = null); + } + } + function m3(t7, e7) { + return (t7.matches || t7.msMatchesSelector || t7.webkitMatchesSelector || t7.mozMatchesSelector).call(t7, e7); + } + function dd(t7) { + let e7 = {}; + for (let n in t7) + e7[n] = t7[n]; + return e7; + } + function fd(t7, e7) { + let n = e7.schema.nodes; + for (let r in n) { + let i7 = n[r]; + if (!i7.allowsMarkType(t7)) + continue; + let o = [], s = (a) => { + o.push(a); + for (let l = 0; l < a.edgeCount; l++) { + let { type: u, next: c } = a.edge(l); + if (u == e7 || o.indexOf(c) < 0 && s(c)) + return true; + } + }; + if (s(i7.contentMatch)) + return true; + } + } + class Hn { + /** + Create a serializer. `nodes` should map node names to functions + that take a node and return a description of the corresponding + DOM. `marks` does the same for mark names, but also gets an + argument that tells it whether the mark's content is block or + inline content (for typical use, it'll always be inline). A mark + serializer may be `null` to indicate that marks of that type + should not be serialized. + */ + constructor(e7, n) { + this.nodes = e7, this.marks = n; + } + /** + Serialize the content of this fragment to a DOM fragment. When + not in the browser, the `document` option, containing a DOM + document, should be passed so that the serializer can create + nodes. + */ + serializeFragment(e7, n = {}, r) { + r || (r = Oa(n).createDocumentFragment()); + let i7 = r, o = []; + return e7.forEach((s) => { + if (o.length || s.marks.length) { + let a = 0, l = 0; + for (; a < o.length && l < s.marks.length; ) { + let u = s.marks[l]; + if (!this.marks[u.type.name]) { + l++; + continue; + } + if (!u.eq(o[a][0]) || u.type.spec.spanning === false) + break; + a++, l++; + } + for (; a < o.length; ) + i7 = o.pop()[1]; + for (; l < s.marks.length; ) { + let u = s.marks[l++], c = this.serializeMark(u, s.isInline, n); + c && (o.push([u, i7]), i7.appendChild(c.dom), i7 = c.contentDOM || c.dom); + } + } + i7.appendChild(this.serializeNodeInner(s, n)); + }), r; + } + /** + @internal + */ + serializeNodeInner(e7, n) { + let { dom: r, contentDOM: i7 } = $o(Oa(n), this.nodes[e7.type.name](e7), null, e7.attrs); + if (i7) { + if (e7.isLeaf) + throw new RangeError("Content hole not allowed in a leaf node spec"); + this.serializeFragment(e7.content, n, i7); + } + return r; + } + /** + Serialize this node to a DOM node. This can be useful when you + need to serialize a part of a document, as opposed to the whole + document. To serialize a whole document, use + [`serializeFragment`](https://prosemirror.net/docs/ref/#model.DOMSerializer.serializeFragment) on + its [content](https://prosemirror.net/docs/ref/#model.Node.content). + */ + serializeNode(e7, n = {}) { + let r = this.serializeNodeInner(e7, n); + for (let i7 = e7.marks.length - 1; i7 >= 0; i7--) { + let o = this.serializeMark(e7.marks[i7], e7.isInline, n); + o && ((o.contentDOM || o.dom).appendChild(r), r = o.dom); + } + return r; + } + /** + @internal + */ + serializeMark(e7, n, r = {}) { + let i7 = this.marks[e7.type.name]; + return i7 && $o(Oa(r), i7(e7, n), null, e7.attrs); + } + static renderSpec(e7, n, r = null, i7) { + return $o(e7, n, r, i7); + } + /** + Build a serializer using the [`toDOM`](https://prosemirror.net/docs/ref/#model.NodeSpec.toDOM) + properties in a schema's node and mark specs. + */ + static fromSchema(e7) { + return e7.cached.domSerializer || (e7.cached.domSerializer = new Hn(this.nodesFromSchema(e7), this.marksFromSchema(e7))); + } + /** + Gather the serializers in a schema's node specs into an object. + This can be useful as a base to build a custom serializer from. + */ + static nodesFromSchema(e7) { + let n = pd(e7.nodes); + return n.text || (n.text = (r) => r.text), n; + } + /** + Gather the serializers in a schema's mark specs into an object. + */ + static marksFromSchema(e7) { + return pd(e7.marks); + } + } + function pd(t7) { + let e7 = {}; + for (let n in t7) { + let r = t7[n].spec.toDOM; + r && (e7[n] = r); + } + return e7; + } + function Oa(t7) { + return t7.document || window.document; + } + const hd = /* @__PURE__ */ new WeakMap(); + function g3(t7) { + let e7 = hd.get(t7); + return e7 === void 0 && hd.set(t7, e7 = b3(t7)), e7; + } + function b3(t7) { + let e7 = null; + function n(r) { + if (r && typeof r == "object") + if (Array.isArray(r)) + if (typeof r[0] == "string") + e7 || (e7 = []), e7.push(r); + else + for (let i7 = 0; i7 < r.length; i7++) + n(r[i7]); + else + for (let i7 in r) + n(r[i7]); + } + return n(t7), e7; + } + function $o(t7, e7, n, r) { + if (typeof e7 == "string") + return { dom: t7.createTextNode(e7) }; + if (e7.nodeType != null) + return { dom: e7 }; + if (e7.dom && e7.dom.nodeType != null) + return e7; + let i7 = e7[0], o; + if (typeof i7 != "string") + throw new RangeError("Invalid array passed to renderSpec"); + if (r && (o = g3(r)) && o.indexOf(e7) > -1) + throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack."); + let s = i7.indexOf(" "); + s > 0 && (n = i7.slice(0, s), i7 = i7.slice(s + 1)); + let a, l = n ? t7.createElementNS(n, i7) : t7.createElement(i7), u = e7[1], c = 1; + if (u && typeof u == "object" && u.nodeType == null && !Array.isArray(u)) { + c = 2; + for (let d in u) + if (u[d] != null) { + let f = d.indexOf(" "); + f > 0 ? l.setAttributeNS(d.slice(0, f), d.slice(f + 1), u[d]) : d == "style" && l.style ? l.style.cssText = u[d] : l.setAttribute(d, u[d]); + } + } + for (let d = c; d < e7.length; d++) { + let f = e7[d]; + if (f === 0) { + if (d < e7.length - 1 || d > c) + throw new RangeError("Content hole must be the only child of its parent node"); + return { dom: l, contentDOM: l }; + } else { + let { dom: p, contentDOM: h } = $o(t7, f, n, r); + if (l.appendChild(p), h) { + if (a) + throw new RangeError("Multiple content holes"); + a = h; + } + } + } + return { dom: l, contentDOM: a }; + } + const Eh = 65535, Mh = Math.pow(2, 16); + function y3(t7, e7) { + return t7 + e7 * Mh; + } + function md(t7) { + return t7 & Eh; + } + function v3$1(t7) { + return (t7 - (t7 & Eh)) / Mh; + } + const Oh = 1, Lh = 2, jo = 4, Nh = 8; + class Ml { + /** + @internal + */ + constructor(e7, n, r) { + this.pos = e7, this.delInfo = n, this.recover = r; + } + /** + Tells you whether the position was deleted, that is, whether the + step removed the token on the side queried (via the `assoc`) + argument from the document. + */ + get deleted() { + return (this.delInfo & Nh) > 0; + } + /** + Tells you whether the token before the mapped position was deleted. + */ + get deletedBefore() { + return (this.delInfo & (Oh | jo)) > 0; + } + /** + True when the token after the mapped position was deleted. + */ + get deletedAfter() { + return (this.delInfo & (Lh | jo)) > 0; + } + /** + Tells whether any of the steps mapped through deletes across the + position (including both the token before and after the + position). + */ + get deletedAcross() { + return (this.delInfo & jo) > 0; + } + } + let rt$1 = class rt2 { + /** + Create a position map. The modifications to the document are + represented as an array of numbers, in which each group of three + represents a modified chunk as `[start, oldSize, newSize]`. + */ + constructor(e7, n = false) { + if (this.ranges = e7, this.inverted = n, !e7.length && rt2.empty) + return rt2.empty; + } + /** + @internal + */ + recover(e7) { + let n = 0, r = md(e7); + if (!this.inverted) + for (let i7 = 0; i7 < r; i7++) + n += this.ranges[i7 * 3 + 2] - this.ranges[i7 * 3 + 1]; + return this.ranges[r * 3] + n + v3$1(e7); + } + mapResult(e7, n = 1) { + return this._map(e7, n, false); + } + map(e7, n = 1) { + return this._map(e7, n, true); + } + /** + @internal + */ + _map(e7, n, r) { + let i7 = 0, o = this.inverted ? 2 : 1, s = this.inverted ? 1 : 2; + for (let a = 0; a < this.ranges.length; a += 3) { + let l = this.ranges[a] - (this.inverted ? i7 : 0); + if (l > e7) + break; + let u = this.ranges[a + o], c = this.ranges[a + s], d = l + u; + if (e7 <= d) { + let f = u ? e7 == l ? -1 : e7 == d ? 1 : n : n, p = l + i7 + (f < 0 ? 0 : c); + if (r) + return p; + let h = e7 == (n < 0 ? l : d) ? null : y3(a / 3, e7 - l), m7 = e7 == l ? Lh : e7 == d ? Oh : jo; + return (n < 0 ? e7 != l : e7 != d) && (m7 |= Nh), new Ml(p, m7, h); + } + i7 += c - u; + } + return r ? e7 + i7 : new Ml(e7 + i7, 0, null); + } + /** + @internal + */ + touches(e7, n) { + let r = 0, i7 = md(n), o = this.inverted ? 2 : 1, s = this.inverted ? 1 : 2; + for (let a = 0; a < this.ranges.length; a += 3) { + let l = this.ranges[a] - (this.inverted ? r : 0); + if (l > e7) + break; + let u = this.ranges[a + o], c = l + u; + if (e7 <= c && a == i7 * 3) + return true; + r += this.ranges[a + s] - u; + } + return false; + } + /** + Calls the given function on each of the changed ranges included in + this map. + */ + forEach(e7) { + let n = this.inverted ? 2 : 1, r = this.inverted ? 1 : 2; + for (let i7 = 0, o = 0; i7 < this.ranges.length; i7 += 3) { + let s = this.ranges[i7], a = s - (this.inverted ? o : 0), l = s + (this.inverted ? 0 : o), u = this.ranges[i7 + n], c = this.ranges[i7 + r]; + e7(a, a + u, l, l + c), o += c - u; + } + } + /** + Create an inverted version of this map. The result can be used to + map positions in the post-step document to the pre-step document. + */ + invert() { + return new rt2(this.ranges, !this.inverted); + } + /** + @internal + */ + toString() { + return (this.inverted ? "-" : "") + JSON.stringify(this.ranges); + } + /** + Create a map that moves all positions by offset `n` (which may be + negative). This can be useful when applying steps meant for a + sub-document to a larger document, or vice-versa. + */ + static offset(e7) { + return e7 == 0 ? rt2.empty : new rt2(e7 < 0 ? [0, -e7, 0] : [0, 0, e7]); + } + }; + rt$1.empty = new rt$1([]); + class _i { + /** + Create a new mapping with the given position maps. + */ + constructor(e7, n, r = 0, i7 = e7 ? e7.length : 0) { + this.mirror = n, this.from = r, this.to = i7, this._maps = e7 || [], this.ownData = !(e7 || n); + } + /** + The step maps in this mapping. + */ + get maps() { + return this._maps; + } + /** + Create a mapping that maps only through a part of this one. + */ + slice(e7 = 0, n = this.maps.length) { + return new _i(this._maps, this.mirror, e7, n); + } + /** + Add a step map to the end of this mapping. If `mirrors` is + given, it should be the index of the step map that is the mirror + image of this one. + */ + appendMap(e7, n) { + this.ownData || (this._maps = this._maps.slice(), this.mirror = this.mirror && this.mirror.slice(), this.ownData = true), this.to = this._maps.push(e7), n != null && this.setMirror(this._maps.length - 1, n); + } + /** + Add all the step maps in a given mapping to this one (preserving + mirroring information). + */ + appendMapping(e7) { + for (let n = 0, r = this._maps.length; n < e7._maps.length; n++) { + let i7 = e7.getMirror(n); + this.appendMap(e7._maps[n], i7 != null && i7 < n ? r + i7 : void 0); + } + } + /** + Finds the offset of the step map that mirrors the map at the + given offset, in this mapping (as per the second argument to + `appendMap`). + */ + getMirror(e7) { + if (this.mirror) { + for (let n = 0; n < this.mirror.length; n++) + if (this.mirror[n] == e7) + return this.mirror[n + (n % 2 ? -1 : 1)]; + } + } + /** + @internal + */ + setMirror(e7, n) { + this.mirror || (this.mirror = []), this.mirror.push(e7, n); + } + /** + Append the inverse of the given mapping to this one. + */ + appendMappingInverted(e7) { + for (let n = e7.maps.length - 1, r = this._maps.length + e7._maps.length; n >= 0; n--) { + let i7 = e7.getMirror(n); + this.appendMap(e7._maps[n].invert(), i7 != null && i7 > n ? r - i7 - 1 : void 0); + } + } + /** + Create an inverted version of this mapping. + */ + invert() { + let e7 = new _i(); + return e7.appendMappingInverted(this), e7; + } + /** + Map a position through this mapping. + */ + map(e7, n = 1) { + if (this.mirror) + return this._map(e7, n, true); + for (let r = this.from; r < this.to; r++) + e7 = this._maps[r].map(e7, n); + return e7; + } + /** + Map a position through this mapping, returning a mapping + result. + */ + mapResult(e7, n = 1) { + return this._map(e7, n, false); + } + /** + @internal + */ + _map(e7, n, r) { + let i7 = 0; + for (let o = this.from; o < this.to; o++) { + let s = this._maps[o], a = s.mapResult(e7, n); + if (a.recover != null) { + let l = this.getMirror(o); + if (l != null && l > o && l < this.to) { + o = l, e7 = this._maps[l].recover(a.recover); + continue; + } + } + i7 |= a.delInfo, e7 = a.pos; + } + return r ? e7 : new Ml(e7, i7, null); + } + } + const La = /* @__PURE__ */ Object.create(null); + class We { + /** + Get the step map that represents the changes made by this step, + and which can be used to transform between positions in the old + and the new document. + */ + getMap() { + return rt$1.empty; + } + /** + Try to merge this step with another one, to be applied directly + after it. Returns the merged step when possible, null if the + steps can't be merged. + */ + merge(e7) { + return null; + } + /** + Deserialize a step from its JSON representation. Will call + through to the step class' own implementation of this method. + */ + static fromJSON(e7, n) { + if (!n || !n.stepType) + throw new RangeError("Invalid input for Step.fromJSON"); + let r = La[n.stepType]; + if (!r) + throw new RangeError(`No step type ${n.stepType} defined`); + return r.fromJSON(e7, n); + } + /** + To be able to serialize steps to JSON, each step needs a string + ID to attach to its JSON representation. Use this method to + register an ID for your step classes. Try to pick something + that's unlikely to clash with steps from other modules. + */ + static jsonID(e7, n) { + if (e7 in La) + throw new RangeError("Duplicate use of step JSON ID " + e7); + return La[e7] = n, n.prototype.jsonID = e7, n; + } + } + class Ce { + /** + @internal + */ + constructor(e7, n) { + this.doc = e7, this.failed = n; + } + /** + Create a successful step result. + */ + static ok(e7) { + return new Ce(e7, null); + } + /** + Create a failed step result. + */ + static fail(e7) { + return new Ce(null, e7); + } + /** + Call [`Node.replace`](https://prosemirror.net/docs/ref/#model.Node.replace) with the given + arguments. Create a successful result if it succeeds, and a + failed one if it throws a `ReplaceError`. + */ + static fromReplace(e7, n, r, i7) { + try { + return Ce.ok(e7.replace(n, r, i7)); + } catch (o) { + if (o instanceof ts) + return Ce.fail(o.message); + throw o; + } + } + } + function Tu(t7, e7, n) { + let r = []; + for (let i7 = 0; i7 < t7.childCount; i7++) { + let o = t7.child(i7); + o.content.size && (o = o.copy(Tu(o.content, e7, o))), o.isInline && (o = e7(o, n, i7)), r.push(o); + } + return S.fromArray(r); + } + class wn extends We { + /** + Create a mark step. + */ + constructor(e7, n, r) { + super(), this.from = e7, this.to = n, this.mark = r; + } + apply(e7) { + let n = e7.slice(this.from, this.to), r = e7.resolve(this.from), i7 = r.node(r.sharedDepth(this.to)), o = new N(Tu(n.content, (s, a) => !s.isAtom || !a.type.allowsMarkType(this.mark.type) ? s : s.mark(this.mark.addToSet(s.marks)), i7), n.openStart, n.openEnd); + return Ce.fromReplace(e7, this.from, this.to, o); + } + invert() { + return new Mt(this.from, this.to, this.mark); + } + map(e7) { + let n = e7.mapResult(this.from, 1), r = e7.mapResult(this.to, -1); + return n.deleted && r.deleted || n.pos >= r.pos ? null : new wn(n.pos, r.pos, this.mark); + } + merge(e7) { + return e7 instanceof wn && e7.mark.eq(this.mark) && this.from <= e7.to && this.to >= e7.from ? new wn(Math.min(this.from, e7.from), Math.max(this.to, e7.to), this.mark) : null; + } + toJSON() { + return { + stepType: "addMark", + mark: this.mark.toJSON(), + from: this.from, + to: this.to + }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.from != "number" || typeof n.to != "number") + throw new RangeError("Invalid input for AddMarkStep.fromJSON"); + return new wn(n.from, n.to, e7.markFromJSON(n.mark)); + } + } + We.jsonID("addMark", wn); + class Mt extends We { + /** + Create a mark-removing step. + */ + constructor(e7, n, r) { + super(), this.from = e7, this.to = n, this.mark = r; + } + apply(e7) { + let n = e7.slice(this.from, this.to), r = new N(Tu(n.content, (i7) => i7.mark(this.mark.removeFromSet(i7.marks)), e7), n.openStart, n.openEnd); + return Ce.fromReplace(e7, this.from, this.to, r); + } + invert() { + return new wn(this.from, this.to, this.mark); + } + map(e7) { + let n = e7.mapResult(this.from, 1), r = e7.mapResult(this.to, -1); + return n.deleted && r.deleted || n.pos >= r.pos ? null : new Mt(n.pos, r.pos, this.mark); + } + merge(e7) { + return e7 instanceof Mt && e7.mark.eq(this.mark) && this.from <= e7.to && this.to >= e7.from ? new Mt(Math.min(this.from, e7.from), Math.max(this.to, e7.to), this.mark) : null; + } + toJSON() { + return { + stepType: "removeMark", + mark: this.mark.toJSON(), + from: this.from, + to: this.to + }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.from != "number" || typeof n.to != "number") + throw new RangeError("Invalid input for RemoveMarkStep.fromJSON"); + return new Mt(n.from, n.to, e7.markFromJSON(n.mark)); + } + } + We.jsonID("removeMark", Mt); + class xn extends We { + /** + Create a node mark step. + */ + constructor(e7, n) { + super(), this.pos = e7, this.mark = n; + } + apply(e7) { + let n = e7.nodeAt(this.pos); + if (!n) + return Ce.fail("No node at mark step's position"); + let r = n.type.create(n.attrs, null, this.mark.addToSet(n.marks)); + return Ce.fromReplace(e7, this.pos, this.pos + 1, new N(S.from(r), 0, n.isLeaf ? 0 : 1)); + } + invert(e7) { + let n = e7.nodeAt(this.pos); + if (n) { + let r = this.mark.addToSet(n.marks); + if (r.length == n.marks.length) { + for (let i7 = 0; i7 < n.marks.length; i7++) + if (!n.marks[i7].isInSet(r)) + return new xn(this.pos, n.marks[i7]); + return new xn(this.pos, this.mark); + } + } + return new ir(this.pos, this.mark); + } + map(e7) { + let n = e7.mapResult(this.pos, 1); + return n.deletedAfter ? null : new xn(n.pos, this.mark); + } + toJSON() { + return { stepType: "addNodeMark", pos: this.pos, mark: this.mark.toJSON() }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.pos != "number") + throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON"); + return new xn(n.pos, e7.markFromJSON(n.mark)); + } + } + We.jsonID("addNodeMark", xn); + class ir extends We { + /** + Create a mark-removing step. + */ + constructor(e7, n) { + super(), this.pos = e7, this.mark = n; + } + apply(e7) { + let n = e7.nodeAt(this.pos); + if (!n) + return Ce.fail("No node at mark step's position"); + let r = n.type.create(n.attrs, null, this.mark.removeFromSet(n.marks)); + return Ce.fromReplace(e7, this.pos, this.pos + 1, new N(S.from(r), 0, n.isLeaf ? 0 : 1)); + } + invert(e7) { + let n = e7.nodeAt(this.pos); + return !n || !this.mark.isInSet(n.marks) ? this : new xn(this.pos, this.mark); + } + map(e7) { + let n = e7.mapResult(this.pos, 1); + return n.deletedAfter ? null : new ir(n.pos, this.mark); + } + toJSON() { + return { stepType: "removeNodeMark", pos: this.pos, mark: this.mark.toJSON() }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.pos != "number") + throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON"); + return new ir(n.pos, e7.markFromJSON(n.mark)); + } + } + We.jsonID("removeNodeMark", ir); + class Ee extends We { + /** + The given `slice` should fit the 'gap' between `from` and + `to`—the depths must line up, and the surrounding nodes must be + able to be joined with the open sides of the slice. When + `structure` is true, the step will fail if the content between + from and to is not just a sequence of closing and then opening + tokens (this is to guard against rebased replace steps + overwriting something they weren't supposed to). + */ + constructor(e7, n, r, i7 = false) { + super(), this.from = e7, this.to = n, this.slice = r, this.structure = i7; + } + apply(e7) { + return this.structure && Ol(e7, this.from, this.to) ? Ce.fail("Structure replace would overwrite content") : Ce.fromReplace(e7, this.from, this.to, this.slice); + } + getMap() { + return new rt$1([this.from, this.to - this.from, this.slice.size]); + } + invert(e7) { + return new Ee(this.from, this.from + this.slice.size, e7.slice(this.from, this.to)); + } + map(e7) { + let n = e7.mapResult(this.from, 1), r = e7.mapResult(this.to, -1); + return n.deletedAcross && r.deletedAcross ? null : new Ee(n.pos, Math.max(n.pos, r.pos), this.slice, this.structure); + } + merge(e7) { + if (!(e7 instanceof Ee) || e7.structure || this.structure) + return null; + if (this.from + this.slice.size == e7.from && !this.slice.openEnd && !e7.slice.openStart) { + let n = this.slice.size + e7.slice.size == 0 ? N.empty : new N(this.slice.content.append(e7.slice.content), this.slice.openStart, e7.slice.openEnd); + return new Ee(this.from, this.to + (e7.to - e7.from), n, this.structure); + } else if (e7.to == this.from && !this.slice.openStart && !e7.slice.openEnd) { + let n = this.slice.size + e7.slice.size == 0 ? N.empty : new N(e7.slice.content.append(this.slice.content), e7.slice.openStart, this.slice.openEnd); + return new Ee(e7.from, this.to, n, this.structure); + } else + return null; + } + toJSON() { + let e7 = { stepType: "replace", from: this.from, to: this.to }; + return this.slice.size && (e7.slice = this.slice.toJSON()), this.structure && (e7.structure = true), e7; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.from != "number" || typeof n.to != "number") + throw new RangeError("Invalid input for ReplaceStep.fromJSON"); + return new Ee(n.from, n.to, N.fromJSON(e7, n.slice), !!n.structure); + } + } + We.jsonID("replace", Ee); + class Oe extends We { + /** + Create a replace-around step with the given range and gap. + `insert` should be the point in the slice into which the content + of the gap should be moved. `structure` has the same meaning as + it has in the [`ReplaceStep`](https://prosemirror.net/docs/ref/#transform.ReplaceStep) class. + */ + constructor(e7, n, r, i7, o, s, a = false) { + super(), this.from = e7, this.to = n, this.gapFrom = r, this.gapTo = i7, this.slice = o, this.insert = s, this.structure = a; + } + apply(e7) { + if (this.structure && (Ol(e7, this.from, this.gapFrom) || Ol(e7, this.gapTo, this.to))) + return Ce.fail("Structure gap-replace would overwrite content"); + let n = e7.slice(this.gapFrom, this.gapTo); + if (n.openStart || n.openEnd) + return Ce.fail("Gap is not a flat range"); + let r = this.slice.insertAt(this.insert, n.content); + return r ? Ce.fromReplace(e7, this.from, this.to, r) : Ce.fail("Content does not fit in gap"); + } + getMap() { + return new rt$1([ + this.from, + this.gapFrom - this.from, + this.insert, + this.gapTo, + this.to - this.gapTo, + this.slice.size - this.insert + ]); + } + invert(e7) { + let n = this.gapTo - this.gapFrom; + return new Oe(this.from, this.from + this.slice.size + n, this.from + this.insert, this.from + this.insert + n, e7.slice(this.from, this.to).removeBetween(this.gapFrom - this.from, this.gapTo - this.from), this.gapFrom - this.from, this.structure); + } + map(e7) { + let n = e7.mapResult(this.from, 1), r = e7.mapResult(this.to, -1), i7 = this.from == this.gapFrom ? n.pos : e7.map(this.gapFrom, -1), o = this.to == this.gapTo ? r.pos : e7.map(this.gapTo, 1); + return n.deletedAcross && r.deletedAcross || i7 < n.pos || o > r.pos ? null : new Oe(n.pos, r.pos, i7, o, this.slice, this.insert, this.structure); + } + toJSON() { + let e7 = { + stepType: "replaceAround", + from: this.from, + to: this.to, + gapFrom: this.gapFrom, + gapTo: this.gapTo, + insert: this.insert + }; + return this.slice.size && (e7.slice = this.slice.toJSON()), this.structure && (e7.structure = true), e7; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.from != "number" || typeof n.to != "number" || typeof n.gapFrom != "number" || typeof n.gapTo != "number" || typeof n.insert != "number") + throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON"); + return new Oe(n.from, n.to, n.gapFrom, n.gapTo, N.fromJSON(e7, n.slice), n.insert, !!n.structure); + } + } + We.jsonID("replaceAround", Oe); + function Ol(t7, e7, n) { + let r = t7.resolve(e7), i7 = n - e7, o = r.depth; + for (; i7 > 0 && o > 0 && r.indexAfter(o) == r.node(o).childCount; ) + o--, i7--; + if (i7 > 0) { + let s = r.node(o).maybeChild(r.indexAfter(o)); + for (; i7 > 0; ) { + if (!s || s.isLeaf) + return true; + s = s.firstChild, i7--; + } + } + return false; + } + function w3(t7, e7, n, r) { + let i7 = [], o = [], s, a; + t7.doc.nodesBetween(e7, n, (l, u, c) => { + if (!l.isInline) + return; + let d = l.marks; + if (!r.isInSet(d) && c.type.allowsMarkType(r.type)) { + let f = Math.max(u, e7), p = Math.min(u + l.nodeSize, n), h = r.addToSet(d); + for (let m7 = 0; m7 < d.length; m7++) + d[m7].isInSet(h) || (s && s.to == f && s.mark.eq(d[m7]) ? s.to = p : i7.push(s = new Mt(f, p, d[m7]))); + a && a.to == f ? a.to = p : o.push(a = new wn(f, p, r)); + } + }), i7.forEach((l) => t7.step(l)), o.forEach((l) => t7.step(l)); + } + function x3(t7, e7, n, r) { + let i7 = [], o = 0; + t7.doc.nodesBetween(e7, n, (s, a) => { + if (!s.isInline) + return; + o++; + let l = null; + if (r instanceof ea) { + let u = s.marks, c; + for (; c = r.isInSet(u); ) + (l || (l = [])).push(c), u = c.removeFromSet(u); + } else r ? r.isInSet(s.marks) && (l = [r]) : l = s.marks; + if (l && l.length) { + let u = Math.min(a + s.nodeSize, n); + for (let c = 0; c < l.length; c++) { + let d = l[c], f; + for (let p = 0; p < i7.length; p++) { + let h = i7[p]; + h.step == o - 1 && d.eq(i7[p].style) && (f = h); + } + f ? (f.to = u, f.step = o) : i7.push({ style: d, from: Math.max(a, e7), to: u, step: o }); + } + } + }), i7.forEach((s) => t7.step(new Mt(s.from, s.to, s.style))); + } + function Eu(t7, e7, n, r = n.contentMatch, i7 = true) { + let o = t7.doc.nodeAt(e7), s = [], a = e7 + 1; + for (let l = 0; l < o.childCount; l++) { + let u = o.child(l), c = a + u.nodeSize, d = r.matchType(u.type); + if (!d) + s.push(new Ee(a, c, N.empty)); + else { + r = d; + for (let f = 0; f < u.marks.length; f++) + n.allowsMarkType(u.marks[f].type) || t7.step(new Mt(a, c, u.marks[f])); + if (i7 && u.isText && n.whitespace != "pre") { + let f, p = /\r?\n|\r/g, h; + for (; f = p.exec(u.text); ) + h || (h = new N(S.from(n.schema.text(" ", n.allowedMarks(u.marks))), 0, 0)), s.push(new Ee(a + f.index, a + f.index + f[0].length, h)); + } + } + a = c; + } + if (!r.validEnd) { + let l = r.fillBefore(S.empty, true); + t7.replace(a, a, new N(l, 0, 0)); + } + for (let l = s.length - 1; l >= 0; l--) + t7.step(s[l]); + } + function k3(t7, e7, n) { + return (e7 == 0 || t7.canReplace(e7, t7.childCount)) && (n == t7.childCount || t7.canReplace(0, n)); + } + function Zr(t7) { + let n = t7.parent.content.cutByIndex(t7.startIndex, t7.endIndex); + for (let r = t7.depth; ; --r) { + let i7 = t7.$from.node(r), o = t7.$from.index(r), s = t7.$to.indexAfter(r); + if (r < t7.depth && i7.canReplace(o, s, n)) + return r; + if (r == 0 || i7.type.spec.isolating || !k3(i7, o, s)) + break; + } + return null; + } + function A3(t7, e7, n) { + let { $from: r, $to: i7, depth: o } = e7, s = r.before(o + 1), a = i7.after(o + 1), l = s, u = a, c = S.empty, d = 0; + for (let h = o, m7 = false; h > n; h--) + m7 || r.index(h) > 0 ? (m7 = true, c = S.from(r.node(h).copy(c)), d++) : l--; + let f = S.empty, p = 0; + for (let h = o, m7 = false; h > n; h--) + m7 || i7.after(h + 1) < i7.end(h) ? (m7 = true, f = S.from(i7.node(h).copy(f)), p++) : u++; + t7.step(new Oe(l, u, s, a, new N(c.append(f), d, p), c.size - d, true)); + } + function Mu(t7, e7, n = null, r = t7) { + let i7 = C3(t7, e7), o = i7 && S3(r, e7); + return o ? i7.map(gd).concat({ type: e7, attrs: n }).concat(o.map(gd)) : null; + } + function gd(t7) { + return { type: t7, attrs: null }; + } + function C3(t7, e7) { + let { parent: n, startIndex: r, endIndex: i7 } = t7, o = n.contentMatchAt(r).findWrapping(e7); + if (!o) + return null; + let s = o.length ? o[0] : e7; + return n.canReplaceWith(r, i7, s) ? o : null; + } + function S3(t7, e7) { + let { parent: n, startIndex: r, endIndex: i7 } = t7, o = n.child(r), s = e7.contentMatch.findWrapping(o.type); + if (!s) + return null; + let l = (s.length ? s[s.length - 1] : e7).contentMatch; + for (let u = r; l && u < i7; u++) + l = l.matchType(n.child(u).type); + return !l || !l.validEnd ? null : s; + } + function T3(t7, e7, n) { + let r = S.empty; + for (let s = n.length - 1; s >= 0; s--) { + if (r.size) { + let a = n[s].type.contentMatch.matchFragment(r); + if (!a || !a.validEnd) + throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper"); + } + r = S.from(n[s].type.create(n[s].attrs, r)); + } + let i7 = e7.start, o = e7.end; + t7.step(new Oe(i7, o, i7, o, new N(r, 0, 0), n.length, true)); + } + function E3(t7, e7, n, r, i7) { + if (!r.isTextblock) + throw new RangeError("Type given to setBlockType should be a textblock"); + let o = t7.steps.length; + t7.doc.nodesBetween(e7, n, (s, a) => { + let l = typeof i7 == "function" ? i7(s) : i7; + if (s.isTextblock && !s.hasMarkup(r, l) && M3(t7.doc, t7.mapping.slice(o).map(a), r)) { + let u = null; + if (r.schema.linebreakReplacement) { + let p = r.whitespace == "pre", h = !!r.contentMatch.matchType(r.schema.linebreakReplacement); + p && !h ? u = false : !p && h && (u = true); + } + u === false && Vh(t7, s, a, o), Eu(t7, t7.mapping.slice(o).map(a, 1), r, void 0, u === null); + let c = t7.mapping.slice(o), d = c.map(a, 1), f = c.map(a + s.nodeSize, 1); + return t7.step(new Oe(d, f, d + 1, f - 1, new N(S.from(r.create(l, null, s.marks)), 0, 0), 1, true)), u === true && Hh(t7, s, a, o), false; + } + }); + } + function Hh(t7, e7, n, r) { + e7.forEach((i7, o) => { + if (i7.isText) { + let s, a = /\r?\n|\r/g; + for (; s = a.exec(i7.text); ) { + let l = t7.mapping.slice(r).map(n + 1 + o + s.index); + t7.replaceWith(l, l + 1, e7.type.schema.linebreakReplacement.create()); + } + } + }); + } + function Vh(t7, e7, n, r) { + e7.forEach((i7, o) => { + if (i7.type == i7.type.schema.linebreakReplacement) { + let s = t7.mapping.slice(r).map(n + 1 + o); + t7.replaceWith(s, s + 1, e7.type.schema.text(` +`)); + } + }); + } + function M3(t7, e7, n) { + let r = t7.resolve(e7), i7 = r.index(); + return r.parent.canReplaceWith(i7, i7 + 1, n); + } + function O3(t7, e7, n, r, i7) { + let o = t7.doc.nodeAt(e7); + if (!o) + throw new RangeError("No node at given position"); + n || (n = o.type); + let s = n.create(r, null, i7 || o.marks); + if (o.isLeaf) + return t7.replaceWith(e7, e7 + o.nodeSize, s); + if (!n.validContent(o.content)) + throw new RangeError("Invalid content for node type " + n.name); + t7.step(new Oe(e7, e7 + o.nodeSize, e7 + 1, e7 + o.nodeSize - 1, new N(S.from(s), 0, 0), 1, true)); + } + function Yt(t7, e7, n = 1, r) { + let i7 = t7.resolve(e7), o = i7.depth - n, s = r && r[r.length - 1] || i7.parent; + if (o < 0 || i7.parent.type.spec.isolating || !i7.parent.canReplace(i7.index(), i7.parent.childCount) || !s.type.validContent(i7.parent.content.cutByIndex(i7.index(), i7.parent.childCount))) + return false; + for (let u = i7.depth - 1, c = n - 2; u > o; u--, c--) { + let d = i7.node(u), f = i7.index(u); + if (d.type.spec.isolating) + return false; + let p = d.content.cutByIndex(f, d.childCount), h = r && r[c + 1]; + h && (p = p.replaceChild(0, h.type.create(h.attrs))); + let m7 = r && r[c] || d; + if (!d.canReplace(f + 1, d.childCount) || !m7.type.validContent(p)) + return false; + } + let a = i7.indexAfter(o), l = r && r[0]; + return i7.node(o).canReplaceWith(a, a, l ? l.type : i7.node(o + 1).type); + } + function L3(t7, e7, n = 1, r) { + let i7 = t7.doc.resolve(e7), o = S.empty, s = S.empty; + for (let a = i7.depth, l = i7.depth - n, u = n - 1; a > l; a--, u--) { + o = S.from(i7.node(a).copy(o)); + let c = r && r[u]; + s = S.from(c ? c.type.create(c.attrs, s) : i7.node(a).copy(s)); + } + t7.step(new Ee(e7, e7, new N(o.append(s), n, n), true)); + } + function Vn(t7, e7) { + let n = t7.resolve(e7), r = n.index(); + return Rh(n.nodeBefore, n.nodeAfter) && n.parent.canReplace(r, r + 1); + } + function N3(t7, e7) { + e7.content.size || t7.type.compatibleContent(e7.type); + let n = t7.contentMatchAt(t7.childCount), { linebreakReplacement: r } = t7.type.schema; + for (let i7 = 0; i7 < e7.childCount; i7++) { + let o = e7.child(i7), s = o.type == r ? t7.type.schema.nodes.text : o.type; + if (n = n.matchType(s), !n || !t7.type.allowsMarks(o.marks)) + return false; + } + return n.validEnd; + } + function Rh(t7, e7) { + return !!(t7 && e7 && !t7.isLeaf && N3(t7, e7)); + } + function ta(t7, e7, n = -1) { + let r = t7.resolve(e7); + for (let i7 = r.depth; ; i7--) { + let o, s, a = r.index(i7); + if (i7 == r.depth ? (o = r.nodeBefore, s = r.nodeAfter) : n > 0 ? (o = r.node(i7 + 1), a++, s = r.node(i7).maybeChild(a)) : (o = r.node(i7).maybeChild(a - 1), s = r.node(i7 + 1)), o && !o.isTextblock && Rh(o, s) && r.node(i7).canReplace(a, a + 1)) + return e7; + if (i7 == 0) + break; + e7 = n < 0 ? r.before(i7) : r.after(i7); + } + } + function H3(t7, e7, n) { + let r = null, { linebreakReplacement: i7 } = t7.doc.type.schema, o = t7.doc.resolve(e7 - n), s = o.node().type; + if (i7 && s.inlineContent) { + let c = s.whitespace == "pre", d = !!s.contentMatch.matchType(i7); + c && !d ? r = false : !c && d && (r = true); + } + let a = t7.steps.length; + if (r === false) { + let c = t7.doc.resolve(e7 + n); + Vh(t7, c.node(), c.before(), a); + } + s.inlineContent && Eu(t7, e7 + n - 1, s, o.node().contentMatchAt(o.index()), r == null); + let l = t7.mapping.slice(a), u = l.map(e7 - n); + if (t7.step(new Ee(u, l.map(e7 + n, -1), N.empty, true)), r === true) { + let c = t7.doc.resolve(u); + Hh(t7, c.node(), c.before(), t7.steps.length); + } + return t7; + } + function V3(t7, e7, n) { + let r = t7.resolve(e7); + if (r.parent.canReplaceWith(r.index(), r.index(), n)) + return e7; + if (r.parentOffset == 0) + for (let i7 = r.depth - 1; i7 >= 0; i7--) { + let o = r.index(i7); + if (r.node(i7).canReplaceWith(o, o, n)) + return r.before(i7 + 1); + if (o > 0) + return null; + } + if (r.parentOffset == r.parent.content.size) + for (let i7 = r.depth - 1; i7 >= 0; i7--) { + let o = r.indexAfter(i7); + if (r.node(i7).canReplaceWith(o, o, n)) + return r.after(i7 + 1); + if (o < r.node(i7).childCount) + return null; + } + return null; + } + function Dh(t7, e7, n) { + let r = t7.resolve(e7); + if (!n.content.size) + return e7; + let i7 = n.content; + for (let o = 0; o < n.openStart; o++) + i7 = i7.firstChild.content; + for (let o = 1; o <= (n.openStart == 0 && n.size ? 2 : 1); o++) + for (let s = r.depth; s >= 0; s--) { + let a = s == r.depth ? 0 : r.pos <= (r.start(s + 1) + r.end(s + 1)) / 2 ? -1 : 1, l = r.index(s) + (a > 0 ? 1 : 0), u = r.node(s), c = false; + if (o == 1) + c = u.canReplace(l, l, i7); + else { + let d = u.contentMatchAt(l).findWrapping(i7.firstChild.type); + c = d && u.canReplaceWith(l, l, d[0]); + } + if (c) + return a == 0 ? r.pos : a < 0 ? r.before(s + 1) : r.after(s + 1); + } + return null; + } + function na(t7, e7, n = e7, r = N.empty) { + if (e7 == n && !r.size) + return null; + let i7 = t7.resolve(e7), o = t7.resolve(n); + return _h(i7, o, r) ? new Ee(e7, n, r) : new R3(i7, o, r).fit(); + } + function _h(t7, e7, n) { + return !n.openStart && !n.openEnd && t7.start() == e7.start() && t7.parent.canReplace(t7.index(), e7.index(), n.content); + } + class R3 { + constructor(e7, n, r) { + this.$from = e7, this.$to = n, this.unplaced = r, this.frontier = [], this.placed = S.empty; + for (let i7 = 0; i7 <= e7.depth; i7++) { + let o = e7.node(i7); + this.frontier.push({ + type: o.type, + match: o.contentMatchAt(e7.indexAfter(i7)) + }); + } + for (let i7 = e7.depth; i7 > 0; i7--) + this.placed = S.from(e7.node(i7).copy(this.placed)); + } + get depth() { + return this.frontier.length - 1; + } + fit() { + for (; this.unplaced.size; ) { + let u = this.findFittable(); + u ? this.placeNodes(u) : this.openMore() || this.dropNode(); + } + let e7 = this.mustMoveInline(), n = this.placed.size - this.depth - this.$from.depth, r = this.$from, i7 = this.close(e7 < 0 ? this.$to : r.doc.resolve(e7)); + if (!i7) + return null; + let o = this.placed, s = r.depth, a = i7.depth; + for (; s && a && o.childCount == 1; ) + o = o.firstChild.content, s--, a--; + let l = new N(o, s, a); + return e7 > -1 ? new Oe(r.pos, e7, this.$to.pos, this.$to.end(), l, n) : l.size || r.pos != this.$to.pos ? new Ee(r.pos, i7.pos, l) : null; + } + // Find a position on the start spine of `this.unplaced` that has + // content that can be moved somewhere on the frontier. Returns two + // depths, one for the slice and one for the frontier. + findFittable() { + let e7 = this.unplaced.openStart; + for (let n = this.unplaced.content, r = 0, i7 = this.unplaced.openEnd; r < e7; r++) { + let o = n.firstChild; + if (n.childCount > 1 && (i7 = 0), o.type.spec.isolating && i7 <= r) { + e7 = r; + break; + } + n = o.content; + } + for (let n = 1; n <= 2; n++) + for (let r = n == 1 ? e7 : this.unplaced.openStart; r >= 0; r--) { + let i7, o = null; + r ? (o = Na(this.unplaced.content, r - 1).firstChild, i7 = o.content) : i7 = this.unplaced.content; + let s = i7.firstChild; + for (let a = this.depth; a >= 0; a--) { + let { type: l, match: u } = this.frontier[a], c, d = null; + if (n == 1 && (s ? u.matchType(s.type) || (d = u.fillBefore(S.from(s), false)) : o && l.compatibleContent(o.type))) + return { sliceDepth: r, frontierDepth: a, parent: o, inject: d }; + if (n == 2 && s && (c = u.findWrapping(s.type))) + return { sliceDepth: r, frontierDepth: a, parent: o, wrap: c }; + if (o && u.matchType(o.type)) + break; + } + } + } + openMore() { + let { content: e7, openStart: n, openEnd: r } = this.unplaced, i7 = Na(e7, n); + return !i7.childCount || i7.firstChild.isLeaf ? false : (this.unplaced = new N(e7, n + 1, Math.max(r, i7.size + n >= e7.size - r ? n + 1 : 0)), true); + } + dropNode() { + let { content: e7, openStart: n, openEnd: r } = this.unplaced, i7 = Na(e7, n); + if (i7.childCount <= 1 && n > 0) { + let o = e7.size - n <= n + i7.size; + this.unplaced = new N(ui(e7, n - 1, 1), n - 1, o ? n - 1 : r); + } else + this.unplaced = new N(ui(e7, n, 1), n, r); + } + // Move content from the unplaced slice at `sliceDepth` to the + // frontier node at `frontierDepth`. Close that frontier node when + // applicable. + placeNodes({ sliceDepth: e7, frontierDepth: n, parent: r, inject: i7, wrap: o }) { + for (; this.depth > n; ) + this.closeFrontierNode(); + if (o) + for (let m7 = 0; m7 < o.length; m7++) + this.openFrontierNode(o[m7]); + let s = this.unplaced, a = r ? r.content : s.content, l = s.openStart - e7, u = 0, c = [], { match: d, type: f } = this.frontier[n]; + if (i7) { + for (let m7 = 0; m7 < i7.childCount; m7++) + c.push(i7.child(m7)); + d = d.matchFragment(i7); + } + let p = a.size + e7 - (s.content.size - s.openEnd); + for (; u < a.childCount; ) { + let m7 = a.child(u), g = d.matchType(m7.type); + if (!g) + break; + u++, (u > 1 || l == 0 || m7.content.size) && (d = g, c.push(Ph(m7.mark(f.allowedMarks(m7.marks)), u == 1 ? l : 0, u == a.childCount ? p : -1))); + } + let h = u == a.childCount; + h || (p = -1), this.placed = ci(this.placed, n, S.from(c)), this.frontier[n].match = d, h && p < 0 && r && r.type == this.frontier[this.depth].type && this.frontier.length > 1 && this.closeFrontierNode(); + for (let m7 = 0, g = a; m7 < p; m7++) { + let b = g.lastChild; + this.frontier.push({ type: b.type, match: b.contentMatchAt(b.childCount) }), g = b.content; + } + this.unplaced = h ? e7 == 0 ? N.empty : new N(ui(s.content, e7 - 1, 1), e7 - 1, p < 0 ? s.openEnd : e7 - 1) : new N(ui(s.content, e7, u), s.openStart, s.openEnd); + } + mustMoveInline() { + if (!this.$to.parent.isTextblock) + return -1; + let e7 = this.frontier[this.depth], n; + if (!e7.type.isTextblock || !Ha(this.$to, this.$to.depth, e7.type, e7.match, false) || this.$to.depth == this.depth && (n = this.findCloseLevel(this.$to)) && n.depth == this.depth) + return -1; + let { depth: r } = this.$to, i7 = this.$to.after(r); + for (; r > 1 && i7 == this.$to.end(--r); ) + ++i7; + return i7; + } + findCloseLevel(e7) { + e: for (let n = Math.min(this.depth, e7.depth); n >= 0; n--) { + let { match: r, type: i7 } = this.frontier[n], o = n < e7.depth && e7.end(n + 1) == e7.pos + (e7.depth - (n + 1)), s = Ha(e7, n, i7, r, o); + if (s) { + for (let a = n - 1; a >= 0; a--) { + let { match: l, type: u } = this.frontier[a], c = Ha(e7, a, u, l, true); + if (!c || c.childCount) + continue e; + } + return { depth: n, fit: s, move: o ? e7.doc.resolve(e7.after(n + 1)) : e7 }; + } + } + } + close(e7) { + let n = this.findCloseLevel(e7); + if (!n) + return null; + for (; this.depth > n.depth; ) + this.closeFrontierNode(); + n.fit.childCount && (this.placed = ci(this.placed, n.depth, n.fit)), e7 = n.move; + for (let r = n.depth + 1; r <= e7.depth; r++) { + let i7 = e7.node(r), o = i7.type.contentMatch.fillBefore(i7.content, true, e7.index(r)); + this.openFrontierNode(i7.type, i7.attrs, o); + } + return e7; + } + openFrontierNode(e7, n = null, r) { + let i7 = this.frontier[this.depth]; + i7.match = i7.match.matchType(e7), this.placed = ci(this.placed, this.depth, S.from(e7.create(n, r))), this.frontier.push({ type: e7, match: e7.contentMatch }); + } + closeFrontierNode() { + let n = this.frontier.pop().match.fillBefore(S.empty, true); + n.childCount && (this.placed = ci(this.placed, this.frontier.length, n)); + } + } + function ui(t7, e7, n) { + return e7 == 0 ? t7.cutByIndex(n, t7.childCount) : t7.replaceChild(0, t7.firstChild.copy(ui(t7.firstChild.content, e7 - 1, n))); + } + function ci(t7, e7, n) { + return e7 == 0 ? t7.append(n) : t7.replaceChild(t7.childCount - 1, t7.lastChild.copy(ci(t7.lastChild.content, e7 - 1, n))); + } + function Na(t7, e7) { + for (let n = 0; n < e7; n++) + t7 = t7.firstChild.content; + return t7; + } + function Ph(t7, e7, n) { + if (e7 <= 0) + return t7; + let r = t7.content; + return e7 > 1 && (r = r.replaceChild(0, Ph(r.firstChild, e7 - 1, r.childCount == 1 ? n - 1 : 0))), e7 > 0 && (r = t7.type.contentMatch.fillBefore(r).append(r), n <= 0 && (r = r.append(t7.type.contentMatch.matchFragment(r).fillBefore(S.empty, true)))), t7.copy(r); + } + function Ha(t7, e7, n, r, i7) { + let o = t7.node(e7), s = i7 ? t7.indexAfter(e7) : t7.index(e7); + if (s == o.childCount && !n.compatibleContent(o.type)) + return null; + let a = r.fillBefore(o.content, true, s); + return a && !D3(n, o.content, s) ? a : null; + } + function D3(t7, e7, n) { + for (let r = n; r < e7.childCount; r++) + if (!t7.allowsMarks(e7.child(r).marks)) + return true; + return false; + } + function _3(t7) { + return t7.spec.defining || t7.spec.definingForContent; + } + function P3(t7, e7, n, r) { + if (!r.size) + return t7.deleteRange(e7, n); + let i7 = t7.doc.resolve(e7), o = t7.doc.resolve(n); + if (_h(i7, o, r)) + return t7.step(new Ee(e7, n, r)); + let s = Bh(i7, t7.doc.resolve(n)); + s[s.length - 1] == 0 && s.pop(); + let a = -(i7.depth + 1); + s.unshift(a); + for (let f = i7.depth, p = i7.pos - 1; f > 0; f--, p--) { + let h = i7.node(f).type.spec; + if (h.defining || h.definingAsContext || h.isolating) + break; + s.indexOf(f) > -1 ? a = f : i7.before(f) == p && s.splice(1, 0, -f); + } + let l = s.indexOf(a), u = [], c = r.openStart; + for (let f = r.content, p = 0; ; p++) { + let h = f.firstChild; + if (u.push(h), p == r.openStart) + break; + f = h.content; + } + for (let f = c - 1; f >= 0; f--) { + let p = u[f], h = _3(p.type); + if (h && !p.sameMarkup(i7.node(Math.abs(a) - 1))) + c = f; + else if (h || !p.type.isTextblock) + break; + } + for (let f = r.openStart; f >= 0; f--) { + let p = (f + c + 1) % (r.openStart + 1), h = u[p]; + if (h) + for (let m7 = 0; m7 < s.length; m7++) { + let g = s[(m7 + l) % s.length], b = true; + g < 0 && (b = false, g = -g); + let x = i7.node(g - 1), w = i7.index(g - 1); + if (x.canReplaceWith(w, w, h.type, h.marks)) + return t7.replace(i7.before(g), b ? o.after(g) : n, new N(Ih(r.content, 0, r.openStart, p), p, r.openEnd)); + } + } + let d = t7.steps.length; + for (let f = s.length - 1; f >= 0 && (t7.replace(e7, n, r), !(t7.steps.length > d)); f--) { + let p = s[f]; + p < 0 || (e7 = i7.before(p), n = o.after(p)); + } + } + function Ih(t7, e7, n, r, i7) { + if (e7 < n) { + let o = t7.firstChild; + t7 = t7.replaceChild(0, o.copy(Ih(o.content, e7 + 1, n, r, o))); + } + if (e7 > r) { + let o = i7.contentMatchAt(0), s = o.fillBefore(t7).append(t7); + t7 = s.append(o.matchFragment(s).fillBefore(S.empty, true)); + } + return t7; + } + function I3(t7, e7, n, r) { + if (!r.isInline && e7 == n && t7.doc.resolve(e7).parent.content.size) { + let i7 = V3(t7.doc, e7, r.type); + i7 != null && (e7 = n = i7); + } + t7.replaceRange(e7, n, new N(S.from(r), 0, 0)); + } + function B3(t7, e7, n) { + let r = t7.doc.resolve(e7), i7 = t7.doc.resolve(n), o = Bh(r, i7); + for (let s = 0; s < o.length; s++) { + let a = o[s], l = s == o.length - 1; + if (l && a == 0 || r.node(a).type.contentMatch.validEnd) + return t7.delete(r.start(a), i7.end(a)); + if (a > 0 && (l || r.node(a - 1).canReplace(r.index(a - 1), i7.indexAfter(a - 1)))) + return t7.delete(r.before(a), i7.after(a)); + } + for (let s = 1; s <= r.depth && s <= i7.depth; s++) + if (e7 - r.start(s) == r.depth - s && n > r.end(s) && i7.end(s) - n != i7.depth - s && r.start(s - 1) == i7.start(s - 1) && r.node(s - 1).canReplace(r.index(s - 1), i7.index(s - 1))) + return t7.delete(r.before(s), n); + t7.delete(e7, n); + } + function Bh(t7, e7) { + let n = [], r = Math.min(t7.depth, e7.depth); + for (let i7 = r; i7 >= 0; i7--) { + let o = t7.start(i7); + if (o < t7.pos - (t7.depth - i7) || e7.end(i7) > e7.pos + (e7.depth - i7) || t7.node(i7).type.spec.isolating || e7.node(i7).type.spec.isolating) + break; + (o == e7.start(i7) || i7 == t7.depth && i7 == e7.depth && t7.parent.inlineContent && e7.parent.inlineContent && i7 && e7.start(i7 - 1) == o - 1) && n.push(i7); + } + return n; + } + class Hr extends We { + /** + Construct an attribute step. + */ + constructor(e7, n, r) { + super(), this.pos = e7, this.attr = n, this.value = r; + } + apply(e7) { + let n = e7.nodeAt(this.pos); + if (!n) + return Ce.fail("No node at attribute step's position"); + let r = /* @__PURE__ */ Object.create(null); + for (let o in n.attrs) + r[o] = n.attrs[o]; + r[this.attr] = this.value; + let i7 = n.type.create(r, null, n.marks); + return Ce.fromReplace(e7, this.pos, this.pos + 1, new N(S.from(i7), 0, n.isLeaf ? 0 : 1)); + } + getMap() { + return rt$1.empty; + } + invert(e7) { + return new Hr(this.pos, this.attr, e7.nodeAt(this.pos).attrs[this.attr]); + } + map(e7) { + let n = e7.mapResult(this.pos, 1); + return n.deletedAfter ? null : new Hr(n.pos, this.attr, this.value); + } + toJSON() { + return { stepType: "attr", pos: this.pos, attr: this.attr, value: this.value }; + } + static fromJSON(e7, n) { + if (typeof n.pos != "number" || typeof n.attr != "string") + throw new RangeError("Invalid input for AttrStep.fromJSON"); + return new Hr(n.pos, n.attr, n.value); + } + } + We.jsonID("attr", Hr); + class Pi extends We { + /** + Construct an attribute step. + */ + constructor(e7, n) { + super(), this.attr = e7, this.value = n; + } + apply(e7) { + let n = /* @__PURE__ */ Object.create(null); + for (let i7 in e7.attrs) + n[i7] = e7.attrs[i7]; + n[this.attr] = this.value; + let r = e7.type.create(n, e7.content, e7.marks); + return Ce.ok(r); + } + getMap() { + return rt$1.empty; + } + invert(e7) { + return new Pi(this.attr, e7.attrs[this.attr]); + } + map(e7) { + return this; + } + toJSON() { + return { stepType: "docAttr", attr: this.attr, value: this.value }; + } + static fromJSON(e7, n) { + if (typeof n.attr != "string") + throw new RangeError("Invalid input for DocAttrStep.fromJSON"); + return new Pi(n.attr, n.value); + } + } + We.jsonID("docAttr", Pi); + let _r = class extends Error { + }; + _r = function t(e7) { + let n = Error.call(this, e7); + return n.__proto__ = t.prototype, n; + }; + _r.prototype = Object.create(Error.prototype); + _r.prototype.constructor = _r; + _r.prototype.name = "TransformError"; + class Ou { + /** + Create a transform that starts with the given document. + */ + constructor(e7) { + this.doc = e7, this.steps = [], this.docs = [], this.mapping = new _i(); + } + /** + The starting document. + */ + get before() { + return this.docs.length ? this.docs[0] : this.doc; + } + /** + Apply a new step in this transform, saving the result. Throws an + error when the step fails. + */ + step(e7) { + let n = this.maybeStep(e7); + if (n.failed) + throw new _r(n.failed); + return this; + } + /** + Try to apply a step in this transformation, ignoring it if it + fails. Returns the step result. + */ + maybeStep(e7) { + let n = e7.apply(this.doc); + return n.failed || this.addStep(e7, n.doc), n; + } + /** + True when the document has been changed (when there are any + steps). + */ + get docChanged() { + return this.steps.length > 0; + } + /** + @internal + */ + addStep(e7, n) { + this.docs.push(this.doc), this.steps.push(e7), this.mapping.appendMap(e7.getMap()), this.doc = n; + } + /** + Replace the part of the document between `from` and `to` with the + given `slice`. + */ + replace(e7, n = e7, r = N.empty) { + let i7 = na(this.doc, e7, n, r); + return i7 && this.step(i7), this; + } + /** + Replace the given range with the given content, which may be a + fragment, node, or array of nodes. + */ + replaceWith(e7, n, r) { + return this.replace(e7, n, new N(S.from(r), 0, 0)); + } + /** + Delete the content between the given positions. + */ + delete(e7, n) { + return this.replace(e7, n, N.empty); + } + /** + Insert the given content at the given position. + */ + insert(e7, n) { + return this.replaceWith(e7, e7, n); + } + /** + Replace a range of the document with a given slice, using + `from`, `to`, and the slice's + [`openStart`](https://prosemirror.net/docs/ref/#model.Slice.openStart) property as hints, rather + than fixed start and end points. This method may grow the + replaced area or close open nodes in the slice in order to get a + fit that is more in line with WYSIWYG expectations, by dropping + fully covered parent nodes of the replaced region when they are + marked [non-defining as + context](https://prosemirror.net/docs/ref/#model.NodeSpec.definingAsContext), or including an + open parent node from the slice that _is_ marked as [defining + its content](https://prosemirror.net/docs/ref/#model.NodeSpec.definingForContent). + + This is the method, for example, to handle paste. The similar + [`replace`](https://prosemirror.net/docs/ref/#transform.Transform.replace) method is a more + primitive tool which will _not_ move the start and end of its given + range, and is useful in situations where you need more precise + control over what happens. + */ + replaceRange(e7, n, r) { + return P3(this, e7, n, r), this; + } + /** + Replace the given range with a node, but use `from` and `to` as + hints, rather than precise positions. When from and to are the same + and are at the start or end of a parent node in which the given + node doesn't fit, this method may _move_ them out towards a parent + that does allow the given node to be placed. When the given range + completely covers a parent node, this method may completely replace + that parent node. + */ + replaceRangeWith(e7, n, r) { + return I3(this, e7, n, r), this; + } + /** + Delete the given range, expanding it to cover fully covered + parent nodes until a valid replace is found. + */ + deleteRange(e7, n) { + return B3(this, e7, n), this; + } + /** + Split the content in the given range off from its parent, if there + is sibling content before or after it, and move it up the tree to + the depth specified by `target`. You'll probably want to use + [`liftTarget`](https://prosemirror.net/docs/ref/#transform.liftTarget) to compute `target`, to make + sure the lift is valid. + */ + lift(e7, n) { + return A3(this, e7, n), this; + } + /** + Join the blocks around the given position. If depth is 2, their + last and first siblings are also joined, and so on. + */ + join(e7, n = 1) { + return H3(this, e7, n), this; + } + /** + Wrap the given [range](https://prosemirror.net/docs/ref/#model.NodeRange) in the given set of wrappers. + The wrappers are assumed to be valid in this position, and should + probably be computed with [`findWrapping`](https://prosemirror.net/docs/ref/#transform.findWrapping). + */ + wrap(e7, n) { + return T3(this, e7, n), this; + } + /** + Set the type of all textblocks (partly) between `from` and `to` to + the given node type with the given attributes. + */ + setBlockType(e7, n = e7, r, i7 = null) { + return E3(this, e7, n, r, i7), this; + } + /** + Change the type, attributes, and/or marks of the node at `pos`. + When `type` isn't given, the existing node type is preserved, + */ + setNodeMarkup(e7, n, r = null, i7) { + return O3(this, e7, n, r, i7), this; + } + /** + Set a single attribute on a given node to a new value. + The `pos` addresses the document content. Use `setDocAttribute` + to set attributes on the document itself. + */ + setNodeAttribute(e7, n, r) { + return this.step(new Hr(e7, n, r)), this; + } + /** + Set a single attribute on the document to a new value. + */ + setDocAttribute(e7, n) { + return this.step(new Pi(e7, n)), this; + } + /** + Add a mark to the node at position `pos`. + */ + addNodeMark(e7, n) { + return this.step(new xn(e7, n)), this; + } + /** + Remove a mark (or all marks of the given type) from the node at + position `pos`. + */ + removeNodeMark(e7, n) { + let r = this.doc.nodeAt(e7); + if (!r) + throw new RangeError("No node at position " + e7); + if (n instanceof se) + n.isInSet(r.marks) && this.step(new ir(e7, n)); + else { + let i7 = r.marks, o, s = []; + for (; o = n.isInSet(i7); ) + s.push(new ir(e7, o)), i7 = o.removeFromSet(i7); + for (let a = s.length - 1; a >= 0; a--) + this.step(s[a]); + } + return this; + } + /** + Split the node at the given position, and optionally, if `depth` is + greater than one, any number of nodes above that. By default, the + parts split off will inherit the node type of the original node. + This can be changed by passing an array of types and attributes to + use after the split (with the outermost nodes coming first). + */ + split(e7, n = 1, r) { + return L3(this, e7, n, r), this; + } + /** + Add the given mark to the inline content between `from` and `to`. + */ + addMark(e7, n, r) { + return w3(this, e7, n, r), this; + } + /** + Remove marks from inline nodes between `from` and `to`. When + `mark` is a single mark, remove precisely that mark. When it is + a mark type, remove all marks of that type. When it is null, + remove all marks of any type. + */ + removeMark(e7, n, r) { + return x3(this, e7, n, r), this; + } + /** + Removes all marks and nodes from the content of the node at + `pos` that don't match the given new parent node type. Accepts + an optional starting [content match](https://prosemirror.net/docs/ref/#model.ContentMatch) as + third argument. + */ + clearIncompatible(e7, n, r) { + return Eu(this, e7, n, r), this; + } + } + const Va = /* @__PURE__ */ Object.create(null); + class $ { + /** + Initialize a selection with the head and anchor and ranges. If no + ranges are given, constructs a single range across `$anchor` and + `$head`. + */ + constructor(e7, n, r) { + this.$anchor = e7, this.$head = n, this.ranges = r || [new Fh(e7.min(n), e7.max(n))]; + } + /** + The selection's anchor, as an unresolved position. + */ + get anchor() { + return this.$anchor.pos; + } + /** + The selection's head. + */ + get head() { + return this.$head.pos; + } + /** + The lower bound of the selection's main range. + */ + get from() { + return this.$from.pos; + } + /** + The upper bound of the selection's main range. + */ + get to() { + return this.$to.pos; + } + /** + The resolved lower bound of the selection's main range. + */ + get $from() { + return this.ranges[0].$from; + } + /** + The resolved upper bound of the selection's main range. + */ + get $to() { + return this.ranges[0].$to; + } + /** + Indicates whether the selection contains any content. + */ + get empty() { + let e7 = this.ranges; + for (let n = 0; n < e7.length; n++) + if (e7[n].$from.pos != e7[n].$to.pos) + return false; + return true; + } + /** + Get the content of this selection as a slice. + */ + content() { + return this.$from.doc.slice(this.from, this.to, true); + } + /** + Replace the selection with a slice or, if no slice is given, + delete the selection. Will append to the given transaction. + */ + replace(e7, n = N.empty) { + let r = n.content.lastChild, i7 = null; + for (let a = 0; a < n.openEnd; a++) + i7 = r, r = r.lastChild; + let o = e7.steps.length, s = this.ranges; + for (let a = 0; a < s.length; a++) { + let { $from: l, $to: u } = s[a], c = e7.mapping.slice(o); + e7.replaceRange(c.map(l.pos), c.map(u.pos), a ? N.empty : n), a == 0 && vd(e7, o, (r ? r.isInline : i7 && i7.isTextblock) ? -1 : 1); + } + } + /** + Replace the selection with the given node, appending the changes + to the given transaction. + */ + replaceWith(e7, n) { + let r = e7.steps.length, i7 = this.ranges; + for (let o = 0; o < i7.length; o++) { + let { $from: s, $to: a } = i7[o], l = e7.mapping.slice(r), u = l.map(s.pos), c = l.map(a.pos); + o ? e7.deleteRange(u, c) : (e7.replaceRangeWith(u, c, n), vd(e7, r, n.isInline ? -1 : 1)); + } + } + /** + Find a valid cursor or leaf node selection starting at the given + position and searching back if `dir` is negative, and forward if + positive. When `textOnly` is true, only consider cursor + selections. Will return null when no valid selection position is + found. + */ + static findFrom(e7, n, r = false) { + let i7 = e7.parent.inlineContent ? new z(e7) : Ar(e7.node(0), e7.parent, e7.pos, e7.index(), n, r); + if (i7) + return i7; + for (let o = e7.depth - 1; o >= 0; o--) { + let s = n < 0 ? Ar(e7.node(0), e7.node(o), e7.before(o + 1), e7.index(o), n, r) : Ar(e7.node(0), e7.node(o), e7.after(o + 1), e7.index(o) + 1, n, r); + if (s) + return s; + } + return null; + } + /** + Find a valid cursor or leaf node selection near the given + position. Searches forward first by default, but if `bias` is + negative, it will search backwards first. + */ + static near(e7, n = 1) { + return this.findFrom(e7, n) || this.findFrom(e7, -n) || new st(e7.node(0)); + } + /** + Find the cursor or leaf node selection closest to the start of + the given document. Will return an + [`AllSelection`](https://prosemirror.net/docs/ref/#state.AllSelection) if no valid position + exists. + */ + static atStart(e7) { + return Ar(e7, e7, 0, 0, 1) || new st(e7); + } + /** + Find the cursor or leaf node selection closest to the end of the + given document. + */ + static atEnd(e7) { + return Ar(e7, e7, e7.content.size, e7.childCount, -1) || new st(e7); + } + /** + Deserialize the JSON representation of a selection. Must be + implemented for custom classes (as a static class method). + */ + static fromJSON(e7, n) { + if (!n || !n.type) + throw new RangeError("Invalid input for Selection.fromJSON"); + let r = Va[n.type]; + if (!r) + throw new RangeError(`No selection type ${n.type} defined`); + return r.fromJSON(e7, n); + } + /** + To be able to deserialize selections from JSON, custom selection + classes must register themselves with an ID string, so that they + can be disambiguated. Try to pick something that's unlikely to + clash with classes from other modules. + */ + static jsonID(e7, n) { + if (e7 in Va) + throw new RangeError("Duplicate use of selection JSON ID " + e7); + return Va[e7] = n, n.prototype.jsonID = e7, n; + } + /** + Get a [bookmark](https://prosemirror.net/docs/ref/#state.SelectionBookmark) for this selection, + which is a value that can be mapped without having access to a + current document, and later resolved to a real selection for a + given document again. (This is used mostly by the history to + track and restore old selections.) The default implementation of + this method just converts the selection to a text selection and + returns the bookmark for that. + */ + getBookmark() { + return z.between(this.$anchor, this.$head).getBookmark(); + } + } + $.prototype.visible = true; + class Fh { + /** + Create a range. + */ + constructor(e7, n) { + this.$from = e7, this.$to = n; + } + } + let bd = false; + function yd(t7) { + !bd && !t7.parent.inlineContent && (bd = true, console.warn("TextSelection endpoint not pointing into a node with inline content (" + t7.parent.type.name + ")")); + } + class z extends $ { + /** + Construct a text selection between the given points. + */ + constructor(e7, n = e7) { + yd(e7), yd(n), super(e7, n); + } + /** + Returns a resolved position if this is a cursor selection (an + empty text selection), and null otherwise. + */ + get $cursor() { + return this.$anchor.pos == this.$head.pos ? this.$head : null; + } + map(e7, n) { + let r = e7.resolve(n.map(this.head)); + if (!r.parent.inlineContent) + return $.near(r); + let i7 = e7.resolve(n.map(this.anchor)); + return new z(i7.parent.inlineContent ? i7 : r, r); + } + replace(e7, n = N.empty) { + if (super.replace(e7, n), n == N.empty) { + let r = this.$from.marksAcross(this.$to); + r && e7.ensureMarks(r); + } + } + eq(e7) { + return e7 instanceof z && e7.anchor == this.anchor && e7.head == this.head; + } + getBookmark() { + return new ra(this.anchor, this.head); + } + toJSON() { + return { type: "text", anchor: this.anchor, head: this.head }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.anchor != "number" || typeof n.head != "number") + throw new RangeError("Invalid input for TextSelection.fromJSON"); + return new z(e7.resolve(n.anchor), e7.resolve(n.head)); + } + /** + Create a text selection from non-resolved positions. + */ + static create(e7, n, r = n) { + let i7 = e7.resolve(n); + return new this(i7, r == n ? i7 : e7.resolve(r)); + } + /** + Return a text selection that spans the given positions or, if + they aren't text positions, find a text selection near them. + `bias` determines whether the method searches forward (default) + or backwards (negative number) first. Will fall back to calling + [`Selection.near`](https://prosemirror.net/docs/ref/#state.Selection^near) when the document + doesn't contain a valid text position. + */ + static between(e7, n, r) { + let i7 = e7.pos - n.pos; + if ((!r || i7) && (r = i7 >= 0 ? 1 : -1), !n.parent.inlineContent) { + let o = $.findFrom(n, r, true) || $.findFrom(n, -r, true); + if (o) + n = o.$head; + else + return $.near(n, r); + } + return e7.parent.inlineContent || (i7 == 0 ? e7 = n : (e7 = ($.findFrom(e7, -r, true) || $.findFrom(e7, r, true)).$anchor, e7.pos < n.pos != i7 < 0 && (e7 = n))), new z(e7, n); + } + } + $.jsonID("text", z); + class ra { + constructor(e7, n) { + this.anchor = e7, this.head = n; + } + map(e7) { + return new ra(e7.map(this.anchor), e7.map(this.head)); + } + resolve(e7) { + return z.between(e7.resolve(this.anchor), e7.resolve(this.head)); + } + } + class F extends $ { + /** + Create a node selection. Does not verify the validity of its + argument. + */ + constructor(e7) { + let n = e7.nodeAfter, r = e7.node(0).resolve(e7.pos + n.nodeSize); + super(e7, r), this.node = n; + } + map(e7, n) { + let { deleted: r, pos: i7 } = n.mapResult(this.anchor), o = e7.resolve(i7); + return r ? $.near(o) : new F(o); + } + content() { + return new N(S.from(this.node), 0, 0); + } + eq(e7) { + return e7 instanceof F && e7.anchor == this.anchor; + } + toJSON() { + return { type: "node", anchor: this.anchor }; + } + getBookmark() { + return new Lu(this.anchor); + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.anchor != "number") + throw new RangeError("Invalid input for NodeSelection.fromJSON"); + return new F(e7.resolve(n.anchor)); + } + /** + Create a node selection from non-resolved positions. + */ + static create(e7, n) { + return new F(e7.resolve(n)); + } + /** + Determines whether the given node may be selected as a node + selection. + */ + static isSelectable(e7) { + return !e7.isText && e7.type.spec.selectable !== false; + } + } + F.prototype.visible = false; + $.jsonID("node", F); + class Lu { + constructor(e7) { + this.anchor = e7; + } + map(e7) { + let { deleted: n, pos: r } = e7.mapResult(this.anchor); + return n ? new ra(r, r) : new Lu(r); + } + resolve(e7) { + let n = e7.resolve(this.anchor), r = n.nodeAfter; + return r && F.isSelectable(r) ? new F(n) : $.near(n); + } + } + class st extends $ { + /** + Create an all-selection over the given document. + */ + constructor(e7) { + super(e7.resolve(0), e7.resolve(e7.content.size)); + } + replace(e7, n = N.empty) { + if (n == N.empty) { + e7.delete(0, e7.doc.content.size); + let r = $.atStart(e7.doc); + r.eq(e7.selection) || e7.setSelection(r); + } else + super.replace(e7, n); + } + toJSON() { + return { type: "all" }; + } + /** + @internal + */ + static fromJSON(e7) { + return new st(e7); + } + map(e7) { + return new st(e7); + } + eq(e7) { + return e7 instanceof st; + } + getBookmark() { + return F3; + } + } + $.jsonID("all", st); + const F3 = { + map() { + return this; + }, + resolve(t7) { + return new st(t7); + } + }; + function Ar(t7, e7, n, r, i7, o = false) { + if (e7.inlineContent) + return z.create(t7, n); + for (let s = r - (i7 > 0 ? 0 : 1); i7 > 0 ? s < e7.childCount : s >= 0; s += i7) { + let a = e7.child(s); + if (a.isAtom) { + if (!o && F.isSelectable(a)) + return F.create(t7, n - (i7 < 0 ? a.nodeSize : 0)); + } else { + let l = Ar(t7, a, n + i7, i7 < 0 ? a.childCount : 0, i7, o); + if (l) + return l; + } + n += a.nodeSize * i7; + } + return null; + } + function vd(t7, e7, n) { + let r = t7.steps.length - 1; + if (r < e7) + return; + let i7 = t7.steps[r]; + if (!(i7 instanceof Ee || i7 instanceof Oe)) + return; + let o = t7.mapping.maps[r], s; + o.forEach((a, l, u, c) => { + s == null && (s = c); + }), t7.setSelection($.near(t7.doc.resolve(s), n)); + } + const wd = 1, Ao = 2, xd = 4; + class z3 extends Ou { + /** + @internal + */ + constructor(e7) { + super(e7.doc), this.curSelectionFor = 0, this.updated = 0, this.meta = /* @__PURE__ */ Object.create(null), this.time = Date.now(), this.curSelection = e7.selection, this.storedMarks = e7.storedMarks; + } + /** + The transaction's current selection. This defaults to the editor + selection [mapped](https://prosemirror.net/docs/ref/#state.Selection.map) through the steps in the + transaction, but can be overwritten with + [`setSelection`](https://prosemirror.net/docs/ref/#state.Transaction.setSelection). + */ + get selection() { + return this.curSelectionFor < this.steps.length && (this.curSelection = this.curSelection.map(this.doc, this.mapping.slice(this.curSelectionFor)), this.curSelectionFor = this.steps.length), this.curSelection; + } + /** + Update the transaction's current selection. Will determine the + selection that the editor gets when the transaction is applied. + */ + setSelection(e7) { + if (e7.$from.doc != this.doc) + throw new RangeError("Selection passed to setSelection must point at the current document"); + return this.curSelection = e7, this.curSelectionFor = this.steps.length, this.updated = (this.updated | wd) & ~Ao, this.storedMarks = null, this; + } + /** + Whether the selection was explicitly updated by this transaction. + */ + get selectionSet() { + return (this.updated & wd) > 0; + } + /** + Set the current stored marks. + */ + setStoredMarks(e7) { + return this.storedMarks = e7, this.updated |= Ao, this; + } + /** + Make sure the current stored marks or, if that is null, the marks + at the selection, match the given set of marks. Does nothing if + this is already the case. + */ + ensureMarks(e7) { + return se.sameSet(this.storedMarks || this.selection.$from.marks(), e7) || this.setStoredMarks(e7), this; + } + /** + Add a mark to the set of stored marks. + */ + addStoredMark(e7) { + return this.ensureMarks(e7.addToSet(this.storedMarks || this.selection.$head.marks())); + } + /** + Remove a mark or mark type from the set of stored marks. + */ + removeStoredMark(e7) { + return this.ensureMarks(e7.removeFromSet(this.storedMarks || this.selection.$head.marks())); + } + /** + Whether the stored marks were explicitly set for this transaction. + */ + get storedMarksSet() { + return (this.updated & Ao) > 0; + } + /** + @internal + */ + addStep(e7, n) { + super.addStep(e7, n), this.updated = this.updated & ~Ao, this.storedMarks = null; + } + /** + Update the timestamp for the transaction. + */ + setTime(e7) { + return this.time = e7, this; + } + /** + Replace the current selection with the given slice. + */ + replaceSelection(e7) { + return this.selection.replace(this, e7), this; + } + /** + Replace the selection with the given node. When `inheritMarks` is + true and the content is inline, it inherits the marks from the + place where it is inserted. + */ + replaceSelectionWith(e7, n = true) { + let r = this.selection; + return n && (e7 = e7.mark(this.storedMarks || (r.empty ? r.$from.marks() : r.$from.marksAcross(r.$to) || se.none))), r.replaceWith(this, e7), this; + } + /** + Delete the selection. + */ + deleteSelection() { + return this.selection.replace(this), this; + } + /** + Replace the given range, or the selection if no range is given, + with a text node containing the given string. + */ + insertText(e7, n, r) { + let i7 = this.doc.type.schema; + if (n == null) + return e7 ? this.replaceSelectionWith(i7.text(e7), true) : this.deleteSelection(); + { + if (r == null && (r = n), r = r ?? n, !e7) + return this.deleteRange(n, r); + let o = this.storedMarks; + if (!o) { + let s = this.doc.resolve(n); + o = r == n ? s.marks() : s.marksAcross(this.doc.resolve(r)); + } + return this.replaceRangeWith(n, r, i7.text(e7, o)), this.selection.empty || this.setSelection($.near(this.selection.$to)), this; + } + } + /** + Store a metadata property in this transaction, keyed either by + name or by plugin. + */ + setMeta(e7, n) { + return this.meta[typeof e7 == "string" ? e7 : e7.key] = n, this; + } + /** + Retrieve a metadata property for a given name or plugin. + */ + getMeta(e7) { + return this.meta[typeof e7 == "string" ? e7 : e7.key]; + } + /** + Returns true if this transaction doesn't contain any metadata, + and can thus safely be extended. + */ + get isGeneric() { + for (let e7 in this.meta) + return false; + return true; + } + /** + Indicate that the editor should scroll the selection into view + when updated to the state produced by this transaction. + */ + scrollIntoView() { + return this.updated |= xd, this; + } + /** + True when this transaction has had `scrollIntoView` called on it. + */ + get scrolledIntoView() { + return (this.updated & xd) > 0; + } + } + function kd(t7, e7) { + return !e7 || !t7 ? t7 : t7.bind(e7); + } + class di { + constructor(e7, n, r) { + this.name = e7, this.init = kd(n.init, r), this.apply = kd(n.apply, r); + } + } + const $3 = [ + new di("doc", { + init(t7) { + return t7.doc || t7.schema.topNodeType.createAndFill(); + }, + apply(t7) { + return t7.doc; + } + }), + new di("selection", { + init(t7, e7) { + return t7.selection || $.atStart(e7.doc); + }, + apply(t7) { + return t7.selection; + } + }), + new di("storedMarks", { + init(t7) { + return t7.storedMarks || null; + }, + apply(t7, e7, n, r) { + return r.selection.$cursor ? t7.storedMarks : null; + } + }), + new di("scrollToSelection", { + init() { + return 0; + }, + apply(t7, e7) { + return t7.scrolledIntoView ? e7 + 1 : e7; + } + }) + ]; + class Ra { + constructor(e7, n) { + this.schema = e7, this.plugins = [], this.pluginsByKey = /* @__PURE__ */ Object.create(null), this.fields = $3.slice(), n && n.forEach((r) => { + if (this.pluginsByKey[r.key]) + throw new RangeError("Adding different instances of a keyed plugin (" + r.key + ")"); + this.plugins.push(r), this.pluginsByKey[r.key] = r, r.spec.state && this.fields.push(new di(r.key, r.spec.state, r)); + }); + } + } + class Er { + /** + @internal + */ + constructor(e7) { + this.config = e7; + } + /** + The schema of the state's document. + */ + get schema() { + return this.config.schema; + } + /** + The plugins that are active in this state. + */ + get plugins() { + return this.config.plugins; + } + /** + Apply the given transaction to produce a new state. + */ + apply(e7) { + return this.applyTransaction(e7).state; + } + /** + @internal + */ + filterTransaction(e7, n = -1) { + for (let r = 0; r < this.config.plugins.length; r++) + if (r != n) { + let i7 = this.config.plugins[r]; + if (i7.spec.filterTransaction && !i7.spec.filterTransaction.call(i7, e7, this)) + return false; + } + return true; + } + /** + Verbose variant of [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) that + returns the precise transactions that were applied (which might + be influenced by the [transaction + hooks](https://prosemirror.net/docs/ref/#state.PluginSpec.filterTransaction) of + plugins) along with the new state. + */ + applyTransaction(e7) { + if (!this.filterTransaction(e7)) + return { state: this, transactions: [] }; + let n = [e7], r = this.applyInner(e7), i7 = null; + for (; ; ) { + let o = false; + for (let s = 0; s < this.config.plugins.length; s++) { + let a = this.config.plugins[s]; + if (a.spec.appendTransaction) { + let l = i7 ? i7[s].n : 0, u = i7 ? i7[s].state : this, c = l < n.length && a.spec.appendTransaction.call(a, l ? n.slice(l) : n, u, r); + if (c && r.filterTransaction(c, s)) { + if (c.setMeta("appendedTransaction", e7), !i7) { + i7 = []; + for (let d = 0; d < this.config.plugins.length; d++) + i7.push(d < s ? { state: r, n: n.length } : { state: this, n: 0 }); + } + n.push(c), r = r.applyInner(c), o = true; + } + i7 && (i7[s] = { state: r, n: n.length }); + } + } + if (!o) + return { state: r, transactions: n }; + } + } + /** + @internal + */ + applyInner(e7) { + if (!e7.before.eq(this.doc)) + throw new RangeError("Applying a mismatched transaction"); + let n = new Er(this.config), r = this.config.fields; + for (let i7 = 0; i7 < r.length; i7++) { + let o = r[i7]; + n[o.name] = o.apply(e7, this[o.name], this, n); + } + return n; + } + /** + Start a [transaction](https://prosemirror.net/docs/ref/#state.Transaction) from this state. + */ + get tr() { + return new z3(this); + } + /** + Create a new state. + */ + static create(e7) { + let n = new Ra(e7.doc ? e7.doc.type.schema : e7.schema, e7.plugins), r = new Er(n); + for (let i7 = 0; i7 < n.fields.length; i7++) + r[n.fields[i7].name] = n.fields[i7].init(e7, r); + return r; + } + /** + Create a new state based on this one, but with an adjusted set + of active plugins. State fields that exist in both sets of + plugins are kept unchanged. Those that no longer exist are + dropped, and those that are new are initialized using their + [`init`](https://prosemirror.net/docs/ref/#state.StateField.init) method, passing in the new + configuration object.. + */ + reconfigure(e7) { + let n = new Ra(this.schema, e7.plugins), r = n.fields, i7 = new Er(n); + for (let o = 0; o < r.length; o++) { + let s = r[o].name; + i7[s] = this.hasOwnProperty(s) ? this[s] : r[o].init(e7, i7); + } + return i7; + } + /** + Serialize this state to JSON. If you want to serialize the state + of plugins, pass an object mapping property names to use in the + resulting JSON object to plugin objects. The argument may also be + a string or number, in which case it is ignored, to support the + way `JSON.stringify` calls `toString` methods. + */ + toJSON(e7) { + let n = { doc: this.doc.toJSON(), selection: this.selection.toJSON() }; + if (this.storedMarks && (n.storedMarks = this.storedMarks.map((r) => r.toJSON())), e7 && typeof e7 == "object") + for (let r in e7) { + if (r == "doc" || r == "selection") + throw new RangeError("The JSON fields `doc` and `selection` are reserved"); + let i7 = e7[r], o = i7.spec.state; + o && o.toJSON && (n[r] = o.toJSON.call(i7, this[i7.key])); + } + return n; + } + /** + Deserialize a JSON representation of a state. `config` should + have at least a `schema` field, and should contain array of + plugins to initialize the state with. `pluginFields` can be used + to deserialize the state of plugins, by associating plugin + instances with the property names they use in the JSON object. + */ + static fromJSON(e7, n, r) { + if (!n) + throw new RangeError("Invalid input for EditorState.fromJSON"); + if (!e7.schema) + throw new RangeError("Required config field 'schema' missing"); + let i7 = new Ra(e7.schema, e7.plugins), o = new Er(i7); + return i7.fields.forEach((s) => { + if (s.name == "doc") + o.doc = Xt.fromJSON(e7.schema, n.doc); + else if (s.name == "selection") + o.selection = $.fromJSON(o.doc, n.selection); + else if (s.name == "storedMarks") + n.storedMarks && (o.storedMarks = n.storedMarks.map(e7.schema.markFromJSON)); + else { + if (r) + for (let a in r) { + let l = r[a], u = l.spec.state; + if (l.key == s.name && u && u.fromJSON && Object.prototype.hasOwnProperty.call(n, a)) { + o[s.name] = u.fromJSON.call(l, e7, n[a], o); + return; + } + } + o[s.name] = s.init(e7, o); + } + }), o; + } + } + function zh(t7, e7, n) { + for (let r in t7) { + let i7 = t7[r]; + i7 instanceof Function ? i7 = i7.bind(e7) : r == "handleDOMEvents" && (i7 = zh(i7, e7, {})), n[r] = i7; + } + return n; + } + class fe { + /** + Create a plugin. + */ + constructor(e7) { + this.spec = e7, this.props = {}, e7.props && zh(e7.props, this, this.props), this.key = e7.key ? e7.key.key : $h("plugin"); + } + /** + Extract the plugin's state field from an editor state. + */ + getState(e7) { + return e7[this.key]; + } + } + const Da = /* @__PURE__ */ Object.create(null); + function $h(t7) { + return t7 in Da ? t7 + "$" + ++Da[t7] : (Da[t7] = 0, t7 + "$"); + } + class Ae { + /** + Create a plugin key. + */ + constructor(e7 = "key") { + this.key = $h(e7); + } + /** + Get the active plugin with this key, if any, from an editor + state. + */ + get(e7) { + return e7.config.pluginsByKey[this.key]; + } + /** + Get the plugin's state from an editor state. + */ + getState(e7) { + return e7[this.key]; + } + } + const De = function(t7) { + for (var e7 = 0; ; e7++) + if (t7 = t7.previousSibling, !t7) + return e7; + }, Pr = function(t7) { + let e7 = t7.assignedSlot || t7.parentNode; + return e7 && e7.nodeType == 11 ? e7.host : e7; + }; + let Ll = null; + const Ut = function(t7, e7, n) { + let r = Ll || (Ll = document.createRange()); + return r.setEnd(t7, n ?? t7.nodeValue.length), r.setStart(t7, e7 || 0), r; + }, j3 = function() { + Ll = null; + }, or = function(t7, e7, n, r) { + return n && (Ad(t7, e7, n, r, -1) || Ad(t7, e7, n, r, 1)); + }, W3 = /^(img|br|input|textarea|hr)$/i; + function Ad(t7, e7, n, r, i7) { + for (var o; ; ) { + if (t7 == n && e7 == r) + return true; + if (e7 == (i7 < 0 ? 0 : pt(t7))) { + let s = t7.parentNode; + if (!s || s.nodeType != 1 || Qi(t7) || W3.test(t7.nodeName) || t7.contentEditable == "false") + return false; + e7 = De(t7) + (i7 < 0 ? 0 : 1), t7 = s; + } else if (t7.nodeType == 1) { + let s = t7.childNodes[e7 + (i7 < 0 ? -1 : 0)]; + if (s.nodeType == 1 && s.contentEditable == "false") + if (!((o = s.pmViewDesc) === null || o === void 0) && o.ignoreForSelection) + e7 += i7; + else + return false; + else + t7 = s, e7 = i7 < 0 ? pt(t7) : 0; + } else + return false; + } + } + function pt(t7) { + return t7.nodeType == 3 ? t7.nodeValue.length : t7.childNodes.length; + } + function q3(t7, e7) { + for (; ; ) { + if (t7.nodeType == 3 && e7) + return t7; + if (t7.nodeType == 1 && e7 > 0) { + if (t7.contentEditable == "false") + return null; + t7 = t7.childNodes[e7 - 1], e7 = pt(t7); + } else if (t7.parentNode && !Qi(t7)) + e7 = De(t7), t7 = t7.parentNode; + else + return null; + } + } + function U3(t7, e7) { + for (; ; ) { + if (t7.nodeType == 3 && e7 < t7.nodeValue.length) + return t7; + if (t7.nodeType == 1 && e7 < t7.childNodes.length) { + if (t7.contentEditable == "false") + return null; + t7 = t7.childNodes[e7], e7 = 0; + } else if (t7.parentNode && !Qi(t7)) + e7 = De(t7) + 1, t7 = t7.parentNode; + else + return null; + } + } + function K3(t7, e7, n) { + for (let r = e7 == 0, i7 = e7 == pt(t7); r || i7; ) { + if (t7 == n) + return true; + let o = De(t7); + if (t7 = t7.parentNode, !t7) + return false; + r = r && o == 0, i7 = i7 && o == pt(t7); + } + } + function Qi(t7) { + let e7; + for (let n = t7; n && !(e7 = n.pmViewDesc); n = n.parentNode) + ; + return e7 && e7.node && e7.node.isBlock && (e7.dom == t7 || e7.contentDOM == t7); + } + const ia = function(t7) { + return t7.focusNode && or(t7.focusNode, t7.focusOffset, t7.anchorNode, t7.anchorOffset); + }; + function $n(t7, e7) { + let n = document.createEvent("Event"); + return n.initEvent("keydown", true, true), n.keyCode = t7, n.key = n.code = e7, n; + } + function G3(t7) { + let e7 = t7.activeElement; + for (; e7 && e7.shadowRoot; ) + e7 = e7.shadowRoot.activeElement; + return e7; + } + function J3(t7, e7, n) { + if (t7.caretPositionFromPoint) + try { + let r = t7.caretPositionFromPoint(e7, n); + if (r) + return { node: r.offsetNode, offset: Math.min(pt(r.offsetNode), r.offset) }; + } catch { + } + if (t7.caretRangeFromPoint) { + let r = t7.caretRangeFromPoint(e7, n); + if (r) + return { node: r.startContainer, offset: Math.min(pt(r.startContainer), r.startOffset) }; + } + } + const Rt = typeof navigator < "u" ? navigator : null, Cd = typeof document < "u" ? document : null, Rn = Rt && Rt.userAgent || "", Nl = /Edge\/(\d+)/.exec(Rn), jh = /MSIE \d/.exec(Rn), Hl = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Rn), Xe = !!(jh || Hl || Nl), Sn = jh ? document.documentMode : Hl ? +Hl[1] : Nl ? +Nl[1] : 0, ht = !Xe && /gecko\/(\d+)/i.test(Rn); + ht && +(/Firefox\/(\d+)/.exec(Rn) || [0, 0])[1]; + const Vl = !Xe && /Chrome\/(\d+)/.exec(Rn), ze = !!Vl, Wh = Vl ? +Vl[1] : 0, Ue = !Xe && !!Rt && /Apple Computer/.test(Rt.vendor), Ir = Ue && (/Mobile\/\w+/.test(Rn) || !!Rt && Rt.maxTouchPoints > 2), dt = Ir || (Rt ? /Mac/.test(Rt.platform) : false), Z3 = Rt ? /Win/.test(Rt.platform) : false, Gt = /Android \d/.test(Rn), eo = !!Cd && "webkitFontSmoothing" in Cd.documentElement.style, X3 = eo ? +(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent) || [0, 0])[1] : 0; + function Y3(t7) { + let e7 = t7.defaultView && t7.defaultView.visualViewport; + return e7 ? { + left: 0, + right: e7.width, + top: 0, + bottom: e7.height + } : { + left: 0, + right: t7.documentElement.clientWidth, + top: 0, + bottom: t7.documentElement.clientHeight + }; + } + function zt(t7, e7) { + return typeof t7 == "number" ? t7 : t7[e7]; + } + function Q3(t7) { + let e7 = t7.getBoundingClientRect(), n = e7.width / t7.offsetWidth || 1, r = e7.height / t7.offsetHeight || 1; + return { + left: e7.left, + right: e7.left + t7.clientWidth * n, + top: e7.top, + bottom: e7.top + t7.clientHeight * r + }; + } + function Sd(t7, e7, n) { + let r = t7.someProp("scrollThreshold") || 0, i7 = t7.someProp("scrollMargin") || 5, o = t7.dom.ownerDocument; + for (let s = n || t7.dom; s; ) { + if (s.nodeType != 1) { + s = Pr(s); + continue; + } + let a = s, l = a == o.body, u = l ? Y3(o) : Q3(a), c = 0, d = 0; + if (e7.top < u.top + zt(r, "top") ? d = -(u.top - e7.top + zt(i7, "top")) : e7.bottom > u.bottom - zt(r, "bottom") && (d = e7.bottom - e7.top > u.bottom - u.top ? e7.top + zt(i7, "top") - u.top : e7.bottom - u.bottom + zt(i7, "bottom")), e7.left < u.left + zt(r, "left") ? c = -(u.left - e7.left + zt(i7, "left")) : e7.right > u.right - zt(r, "right") && (c = e7.right - u.right + zt(i7, "right")), c || d) + if (l) + o.defaultView.scrollBy(c, d); + else { + let p = a.scrollLeft, h = a.scrollTop; + d && (a.scrollTop += d), c && (a.scrollLeft += c); + let m7 = a.scrollLeft - p, g = a.scrollTop - h; + e7 = { left: e7.left - m7, top: e7.top - g, right: e7.right - m7, bottom: e7.bottom - g }; + } + let f = l ? "fixed" : getComputedStyle(s).position; + if (/^(fixed|sticky)$/.test(f)) + break; + s = f == "absolute" ? s.offsetParent : Pr(s); + } + } + function ev(t7) { + let e7 = t7.dom.getBoundingClientRect(), n = Math.max(0, e7.top), r, i7; + for (let o = (e7.left + e7.right) / 2, s = n + 1; s < Math.min(innerHeight, e7.bottom); s += 5) { + let a = t7.root.elementFromPoint(o, s); + if (!a || a == t7.dom || !t7.dom.contains(a)) + continue; + let l = a.getBoundingClientRect(); + if (l.top >= n - 20) { + r = a, i7 = l.top; + break; + } + } + return { refDOM: r, refTop: i7, stack: qh(t7.dom) }; + } + function qh(t7) { + let e7 = [], n = t7.ownerDocument; + for (let r = t7; r && (e7.push({ dom: r, top: r.scrollTop, left: r.scrollLeft }), t7 != n); r = Pr(r)) + ; + return e7; + } + function tv({ refDOM: t7, refTop: e7, stack: n }) { + let r = t7 ? t7.getBoundingClientRect().top : 0; + Uh(n, r == 0 ? 0 : r - e7); + } + function Uh(t7, e7) { + for (let n = 0; n < t7.length; n++) { + let { dom: r, top: i7, left: o } = t7[n]; + r.scrollTop != i7 + e7 && (r.scrollTop = i7 + e7), r.scrollLeft != o && (r.scrollLeft = o); + } + } + let vr = null; + function nv(t7) { + if (t7.setActive) + return t7.setActive(); + if (vr) + return t7.focus(vr); + let e7 = qh(t7); + t7.focus(vr == null ? { + get preventScroll() { + return vr = { preventScroll: true }, true; + } + } : void 0), vr || (vr = false, Uh(e7, 0)); + } + function Kh(t7, e7) { + let n, r = 2e8, i7, o = 0, s = e7.top, a = e7.top, l, u; + for (let c = t7.firstChild, d = 0; c; c = c.nextSibling, d++) { + let f; + if (c.nodeType == 1) + f = c.getClientRects(); + else if (c.nodeType == 3) + f = Ut(c).getClientRects(); + else + continue; + for (let p = 0; p < f.length; p++) { + let h = f[p]; + if (h.top <= s && h.bottom >= a) { + s = Math.max(h.bottom, s), a = Math.min(h.top, a); + let m7 = h.left > e7.left ? h.left - e7.left : h.right < e7.left ? e7.left - h.right : 0; + if (m7 < r) { + n = c, r = m7, i7 = m7 && n.nodeType == 3 ? { + left: h.right < e7.left ? h.right : h.left, + top: e7.top + } : e7, c.nodeType == 1 && m7 && (o = d + (e7.left >= (h.left + h.right) / 2 ? 1 : 0)); + continue; + } + } else h.top > e7.top && !l && h.left <= e7.left && h.right >= e7.left && (l = c, u = { left: Math.max(h.left, Math.min(h.right, e7.left)), top: h.top }); + !n && (e7.left >= h.right && e7.top >= h.top || e7.left >= h.left && e7.top >= h.bottom) && (o = d + 1); + } + } + return !n && l && (n = l, i7 = u, r = 0), n && n.nodeType == 3 ? rv(n, i7) : !n || r && n.nodeType == 1 ? { node: t7, offset: o } : Kh(n, i7); + } + function rv(t7, e7) { + let n = t7.nodeValue.length, r = document.createRange(); + for (let i7 = 0; i7 < n; i7++) { + r.setEnd(t7, i7 + 1), r.setStart(t7, i7); + let o = dn(r, 1); + if (o.top != o.bottom && Nu(e7, o)) + return { node: t7, offset: i7 + (e7.left >= (o.left + o.right) / 2 ? 1 : 0) }; + } + return { node: t7, offset: 0 }; + } + function Nu(t7, e7) { + return t7.left >= e7.left - 1 && t7.left <= e7.right + 1 && t7.top >= e7.top - 1 && t7.top <= e7.bottom + 1; + } + function iv(t7, e7) { + let n = t7.parentNode; + return n && /^li$/i.test(n.nodeName) && e7.left < t7.getBoundingClientRect().left ? n : t7; + } + function ov(t7, e7, n) { + let { node: r, offset: i7 } = Kh(e7, n), o = -1; + if (r.nodeType == 1 && !r.firstChild) { + let s = r.getBoundingClientRect(); + o = s.left != s.right && n.left > (s.left + s.right) / 2 ? 1 : -1; + } + return t7.docView.posFromDOM(r, i7, o); + } + function sv(t7, e7, n, r) { + let i7 = -1; + for (let o = e7, s = false; o != t7.dom; ) { + let a = t7.docView.nearestDesc(o, true), l; + if (!a) + return null; + if (a.dom.nodeType == 1 && (a.node.isBlock && a.parent || !a.contentDOM) && // Ignore elements with zero-size bounding rectangles + ((l = a.dom.getBoundingClientRect()).width || l.height) && (a.node.isBlock && a.parent && !/^T(R|BODY|HEAD|FOOT)$/.test(a.dom.nodeName) && (!s && l.left > r.left || l.top > r.top ? i7 = a.posBefore : (!s && l.right < r.left || l.bottom < r.top) && (i7 = a.posAfter), s = true), !a.contentDOM && i7 < 0 && !a.node.isText)) + return (a.node.isBlock ? r.top < (l.top + l.bottom) / 2 : r.left < (l.left + l.right) / 2) ? a.posBefore : a.posAfter; + o = a.dom.parentNode; + } + return i7 > -1 ? i7 : t7.docView.posFromDOM(e7, n, -1); + } + function Gh(t7, e7, n) { + let r = t7.childNodes.length; + if (r && n.top < n.bottom) + for (let i7 = Math.max(0, Math.min(r - 1, Math.floor(r * (e7.top - n.top) / (n.bottom - n.top)) - 2)), o = i7; ; ) { + let s = t7.childNodes[o]; + if (s.nodeType == 1) { + let a = s.getClientRects(); + for (let l = 0; l < a.length; l++) { + let u = a[l]; + if (Nu(e7, u)) + return Gh(s, e7, u); + } + } + if ((o = (o + 1) % r) == i7) + break; + } + return t7; + } + function av(t7, e7) { + let n = t7.dom.ownerDocument, r, i7 = 0, o = J3(n, e7.left, e7.top); + o && ({ node: r, offset: i7 } = o); + let s = (t7.root.elementFromPoint ? t7.root : n).elementFromPoint(e7.left, e7.top), a; + if (!s || !t7.dom.contains(s.nodeType != 1 ? s.parentNode : s)) { + let u = t7.dom.getBoundingClientRect(); + if (!Nu(e7, u) || (s = Gh(t7.dom, e7, u), !s)) + return null; + } + if (Ue) + for (let u = s; r && u; u = Pr(u)) + u.draggable && (r = void 0); + if (s = iv(s, e7), r) { + if (ht && r.nodeType == 1 && (i7 = Math.min(i7, r.childNodes.length), i7 < r.childNodes.length)) { + let c = r.childNodes[i7], d; + c.nodeName == "IMG" && (d = c.getBoundingClientRect()).right <= e7.left && d.bottom > e7.top && i7++; + } + let u; + eo && i7 && r.nodeType == 1 && (u = r.childNodes[i7 - 1]).nodeType == 1 && u.contentEditable == "false" && u.getBoundingClientRect().top >= e7.top && i7--, r == t7.dom && i7 == r.childNodes.length - 1 && r.lastChild.nodeType == 1 && e7.top > r.lastChild.getBoundingClientRect().bottom ? a = t7.state.doc.content.size : (i7 == 0 || r.nodeType != 1 || r.childNodes[i7 - 1].nodeName != "BR") && (a = sv(t7, r, i7, e7)); + } + a == null && (a = ov(t7, s, e7)); + let l = t7.docView.nearestDesc(s, true); + return { pos: a, inside: l ? l.posAtStart - l.border : -1 }; + } + function Td(t7) { + return t7.top < t7.bottom || t7.left < t7.right; + } + function dn(t7, e7) { + let n = t7.getClientRects(); + if (n.length) { + let r = n[e7 < 0 ? 0 : n.length - 1]; + if (Td(r)) + return r; + } + return Array.prototype.find.call(n, Td) || t7.getBoundingClientRect(); + } + const lv = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; + function Jh(t7, e7, n) { + let { node: r, offset: i7, atom: o } = t7.docView.domFromPos(e7, n < 0 ? -1 : 1), s = eo || ht; + if (r.nodeType == 3) + if (s && (lv.test(r.nodeValue) || (n < 0 ? !i7 : i7 == r.nodeValue.length))) { + let l = dn(Ut(r, i7, i7), n); + if (ht && i7 && /\s/.test(r.nodeValue[i7 - 1]) && i7 < r.nodeValue.length) { + let u = dn(Ut(r, i7 - 1, i7 - 1), -1); + if (u.top == l.top) { + let c = dn(Ut(r, i7, i7 + 1), -1); + if (c.top != l.top) + return oi(c, c.left < u.left); + } + } + return l; + } else { + let l = i7, u = i7, c = n < 0 ? 1 : -1; + return n < 0 && !i7 ? (u++, c = -1) : n >= 0 && i7 == r.nodeValue.length ? (l--, c = 1) : n < 0 ? l-- : u++, oi(dn(Ut(r, l, u), c), c < 0); + } + if (!t7.state.doc.resolve(e7 - (o || 0)).parent.inlineContent) { + if (o == null && i7 && (n < 0 || i7 == pt(r))) { + let l = r.childNodes[i7 - 1]; + if (l.nodeType == 1) + return _a$1(l.getBoundingClientRect(), false); + } + if (o == null && i7 < pt(r)) { + let l = r.childNodes[i7]; + if (l.nodeType == 1) + return _a$1(l.getBoundingClientRect(), true); + } + return _a$1(r.getBoundingClientRect(), n >= 0); + } + if (o == null && i7 && (n < 0 || i7 == pt(r))) { + let l = r.childNodes[i7 - 1], u = l.nodeType == 3 ? Ut(l, pt(l) - (s ? 0 : 1)) : l.nodeType == 1 && (l.nodeName != "BR" || !l.nextSibling) ? l : null; + if (u) + return oi(dn(u, 1), false); + } + if (o == null && i7 < pt(r)) { + let l = r.childNodes[i7]; + for (; l.pmViewDesc && l.pmViewDesc.ignoreForCoords; ) + l = l.nextSibling; + let u = l ? l.nodeType == 3 ? Ut(l, 0, s ? 0 : 1) : l.nodeType == 1 ? l : null : null; + if (u) + return oi(dn(u, -1), true); + } + return oi(dn(r.nodeType == 3 ? Ut(r) : r, -n), n >= 0); + } + function oi(t7, e7) { + if (t7.width == 0) + return t7; + let n = e7 ? t7.left : t7.right; + return { top: t7.top, bottom: t7.bottom, left: n, right: n }; + } + function _a$1(t7, e7) { + if (t7.height == 0) + return t7; + let n = e7 ? t7.top : t7.bottom; + return { top: n, bottom: n, left: t7.left, right: t7.right }; + } + function Zh(t7, e7, n) { + let r = t7.state, i7 = t7.root.activeElement; + r != e7 && t7.updateState(e7), i7 != t7.dom && t7.focus(); + try { + return n(); + } finally { + r != e7 && t7.updateState(r), i7 != t7.dom && i7 && i7.focus(); + } + } + function uv(t7, e7, n) { + let r = e7.selection, i7 = n == "up" ? r.$from : r.$to; + return Zh(t7, e7, () => { + let { node: o } = t7.docView.domFromPos(i7.pos, n == "up" ? -1 : 1); + for (; ; ) { + let a = t7.docView.nearestDesc(o, true); + if (!a) + break; + if (a.node.isBlock) { + o = a.contentDOM || a.dom; + break; + } + o = a.dom.parentNode; + } + let s = Jh(t7, i7.pos, 1); + for (let a = o.firstChild; a; a = a.nextSibling) { + let l; + if (a.nodeType == 1) + l = a.getClientRects(); + else if (a.nodeType == 3) + l = Ut(a, 0, a.nodeValue.length).getClientRects(); + else + continue; + for (let u = 0; u < l.length; u++) { + let c = l[u]; + if (c.bottom > c.top + 1 && (n == "up" ? s.top - c.top > (c.bottom - s.top) * 2 : c.bottom - s.bottom > (s.bottom - c.top) * 2)) + return false; + } + } + return true; + }); + } + const cv = /[\u0590-\u08ac]/; + function dv(t7, e7, n) { + let { $head: r } = e7.selection; + if (!r.parent.isTextblock) + return false; + let i7 = r.parentOffset, o = !i7, s = i7 == r.parent.content.size, a = t7.domSelection(); + return a ? !cv.test(r.parent.textContent) || !a.modify ? n == "left" || n == "backward" ? o : s : Zh(t7, e7, () => { + let { focusNode: l, focusOffset: u, anchorNode: c, anchorOffset: d } = t7.domSelectionRange(), f = a.caretBidiLevel; + a.modify("move", n, "character"); + let p = r.depth ? t7.docView.domAfterPos(r.before()) : t7.dom, { focusNode: h, focusOffset: m7 } = t7.domSelectionRange(), g = h && !p.contains(h.nodeType == 1 ? h : h.parentNode) || l == h && u == m7; + try { + a.collapse(c, d), l && (l != c || u != d) && a.extend && a.extend(l, u); + } catch { + } + return f != null && (a.caretBidiLevel = f), g; + }) : r.pos == r.start() || r.pos == r.end(); + } + let Ed = null, Md = null, Od = false; + function fv(t7, e7, n) { + return Ed == e7 && Md == n ? Od : (Ed = e7, Md = n, Od = n == "up" || n == "down" ? uv(t7, e7, n) : dv(t7, e7, n)); + } + const mt = 0, Ld = 1, Wn = 2, Dt = 3; + class to { + constructor(e7, n, r, i7) { + this.parent = e7, this.children = n, this.dom = r, this.contentDOM = i7, this.dirty = mt, r.pmViewDesc = this; + } + // Used to check whether a given description corresponds to a + // widget/mark/node. + matchesWidget(e7) { + return false; + } + matchesMark(e7) { + return false; + } + matchesNode(e7, n, r) { + return false; + } + matchesHack(e7) { + return false; + } + // When parsing in-editor content (in domchange.js), we allow + // descriptions to determine the parse rules that should be used to + // parse them. + parseRule() { + return null; + } + // Used by the editor's event handler to ignore events that come + // from certain descs. + stopEvent(e7) { + return false; + } + // The size of the content represented by this desc. + get size() { + let e7 = 0; + for (let n = 0; n < this.children.length; n++) + e7 += this.children[n].size; + return e7; + } + // For block nodes, this represents the space taken up by their + // start/end tokens. + get border() { + return 0; + } + destroy() { + this.parent = void 0, this.dom.pmViewDesc == this && (this.dom.pmViewDesc = void 0); + for (let e7 = 0; e7 < this.children.length; e7++) + this.children[e7].destroy(); + } + posBeforeChild(e7) { + for (let n = 0, r = this.posAtStart; ; n++) { + let i7 = this.children[n]; + if (i7 == e7) + return r; + r += i7.size; + } + } + get posBefore() { + return this.parent.posBeforeChild(this); + } + get posAtStart() { + return this.parent ? this.parent.posBeforeChild(this) + this.border : 0; + } + get posAfter() { + return this.posBefore + this.size; + } + get posAtEnd() { + return this.posAtStart + this.size - 2 * this.border; + } + localPosFromDOM(e7, n, r) { + if (this.contentDOM && this.contentDOM.contains(e7.nodeType == 1 ? e7 : e7.parentNode)) + if (r < 0) { + let o, s; + if (e7 == this.contentDOM) + o = e7.childNodes[n - 1]; + else { + for (; e7.parentNode != this.contentDOM; ) + e7 = e7.parentNode; + o = e7.previousSibling; + } + for (; o && !((s = o.pmViewDesc) && s.parent == this); ) + o = o.previousSibling; + return o ? this.posBeforeChild(s) + s.size : this.posAtStart; + } else { + let o, s; + if (e7 == this.contentDOM) + o = e7.childNodes[n]; + else { + for (; e7.parentNode != this.contentDOM; ) + e7 = e7.parentNode; + o = e7.nextSibling; + } + for (; o && !((s = o.pmViewDesc) && s.parent == this); ) + o = o.nextSibling; + return o ? this.posBeforeChild(s) : this.posAtEnd; + } + let i7; + if (e7 == this.dom && this.contentDOM) + i7 = n > De(this.contentDOM); + else if (this.contentDOM && this.contentDOM != this.dom && this.dom.contains(this.contentDOM)) + i7 = e7.compareDocumentPosition(this.contentDOM) & 2; + else if (this.dom.firstChild) { + if (n == 0) + for (let o = e7; ; o = o.parentNode) { + if (o == this.dom) { + i7 = false; + break; + } + if (o.previousSibling) + break; + } + if (i7 == null && n == e7.childNodes.length) + for (let o = e7; ; o = o.parentNode) { + if (o == this.dom) { + i7 = true; + break; + } + if (o.nextSibling) + break; + } + } + return i7 ?? r > 0 ? this.posAtEnd : this.posAtStart; + } + nearestDesc(e7, n = false) { + for (let r = true, i7 = e7; i7; i7 = i7.parentNode) { + let o = this.getDesc(i7), s; + if (o && (!n || o.node)) + if (r && (s = o.nodeDOM) && !(s.nodeType == 1 ? s.contains(e7.nodeType == 1 ? e7 : e7.parentNode) : s == e7)) + r = false; + else + return o; + } + } + getDesc(e7) { + let n = e7.pmViewDesc; + for (let r = n; r; r = r.parent) + if (r == this) + return n; + } + posFromDOM(e7, n, r) { + for (let i7 = e7; i7; i7 = i7.parentNode) { + let o = this.getDesc(i7); + if (o) + return o.localPosFromDOM(e7, n, r); + } + return -1; + } + // Find the desc for the node after the given pos, if any. (When a + // parent node overrode rendering, there might not be one.) + descAt(e7) { + for (let n = 0, r = 0; n < this.children.length; n++) { + let i7 = this.children[n], o = r + i7.size; + if (r == e7 && o != r) { + for (; !i7.border && i7.children.length; ) + for (let s = 0; s < i7.children.length; s++) { + let a = i7.children[s]; + if (a.size) { + i7 = a; + break; + } + } + return i7; + } + if (e7 < o) + return i7.descAt(e7 - r - i7.border); + r = o; + } + } + domFromPos(e7, n) { + if (!this.contentDOM) + return { node: this.dom, offset: 0, atom: e7 + 1 }; + let r = 0, i7 = 0; + for (let o = 0; r < this.children.length; r++) { + let s = this.children[r], a = o + s.size; + if (a > e7 || s instanceof Yh) { + i7 = e7 - o; + break; + } + o = a; + } + if (i7) + return this.children[r].domFromPos(i7 - this.children[r].border, n); + for (let o; r && !(o = this.children[r - 1]).size && o instanceof Xh && o.side >= 0; r--) + ; + if (n <= 0) { + let o, s = true; + for (; o = r ? this.children[r - 1] : null, !(!o || o.dom.parentNode == this.contentDOM); r--, s = false) + ; + return o && n && s && !o.border && !o.domAtom ? o.domFromPos(o.size, n) : { node: this.contentDOM, offset: o ? De(o.dom) + 1 : 0 }; + } else { + let o, s = true; + for (; o = r < this.children.length ? this.children[r] : null, !(!o || o.dom.parentNode == this.contentDOM); r++, s = false) + ; + return o && s && !o.border && !o.domAtom ? o.domFromPos(0, n) : { node: this.contentDOM, offset: o ? De(o.dom) : this.contentDOM.childNodes.length }; + } + } + // Used to find a DOM range in a single parent for a given changed + // range. + parseRange(e7, n, r = 0) { + if (this.children.length == 0) + return { node: this.contentDOM, from: e7, to: n, fromOffset: 0, toOffset: this.contentDOM.childNodes.length }; + let i7 = -1, o = -1; + for (let s = r, a = 0; ; a++) { + let l = this.children[a], u = s + l.size; + if (i7 == -1 && e7 <= u) { + let c = s + l.border; + if (e7 >= c && n <= u - l.border && l.node && l.contentDOM && this.contentDOM.contains(l.contentDOM)) + return l.parseRange(e7, n, c); + e7 = s; + for (let d = a; d > 0; d--) { + let f = this.children[d - 1]; + if (f.size && f.dom.parentNode == this.contentDOM && !f.emptyChildAt(1)) { + i7 = De(f.dom) + 1; + break; + } + e7 -= f.size; + } + i7 == -1 && (i7 = 0); + } + if (i7 > -1 && (u > n || a == this.children.length - 1)) { + n = u; + for (let c = a + 1; c < this.children.length; c++) { + let d = this.children[c]; + if (d.size && d.dom.parentNode == this.contentDOM && !d.emptyChildAt(-1)) { + o = De(d.dom); + break; + } + n += d.size; + } + o == -1 && (o = this.contentDOM.childNodes.length); + break; + } + s = u; + } + return { node: this.contentDOM, from: e7, to: n, fromOffset: i7, toOffset: o }; + } + emptyChildAt(e7) { + if (this.border || !this.contentDOM || !this.children.length) + return false; + let n = this.children[e7 < 0 ? 0 : this.children.length - 1]; + return n.size == 0 || n.emptyChildAt(e7); + } + domAfterPos(e7) { + let { node: n, offset: r } = this.domFromPos(e7, 0); + if (n.nodeType != 1 || r == n.childNodes.length) + throw new RangeError("No node after pos " + e7); + return n.childNodes[r]; + } + // View descs are responsible for setting any selection that falls + // entirely inside of them, so that custom implementations can do + // custom things with the selection. Note that this falls apart when + // a selection starts in such a node and ends in another, in which + // case we just use whatever domFromPos produces as a best effort. + setSelection(e7, n, r, i7 = false) { + let o = Math.min(e7, n), s = Math.max(e7, n); + for (let p = 0, h = 0; p < this.children.length; p++) { + let m7 = this.children[p], g = h + m7.size; + if (o > h && s < g) + return m7.setSelection(e7 - h - m7.border, n - h - m7.border, r, i7); + h = g; + } + let a = this.domFromPos(e7, e7 ? -1 : 1), l = n == e7 ? a : this.domFromPos(n, n ? -1 : 1), u = r.root.getSelection(), c = r.domSelectionRange(), d = false; + if ((ht || Ue) && e7 == n) { + let { node: p, offset: h } = a; + if (p.nodeType == 3) { + if (d = !!(h && p.nodeValue[h - 1] == ` +`), d && h == p.nodeValue.length) + for (let m7 = p, g; m7; m7 = m7.parentNode) { + if (g = m7.nextSibling) { + g.nodeName == "BR" && (a = l = { node: g.parentNode, offset: De(g) + 1 }); + break; + } + let b = m7.pmViewDesc; + if (b && b.node && b.node.isBlock) + break; + } + } else { + let m7 = p.childNodes[h - 1]; + d = m7 && (m7.nodeName == "BR" || m7.contentEditable == "false"); + } + } + if (ht && c.focusNode && c.focusNode != l.node && c.focusNode.nodeType == 1) { + let p = c.focusNode.childNodes[c.focusOffset]; + p && p.contentEditable == "false" && (i7 = true); + } + if (!(i7 || d && Ue) && or(a.node, a.offset, c.anchorNode, c.anchorOffset) && or(l.node, l.offset, c.focusNode, c.focusOffset)) + return; + let f = false; + if ((u.extend || e7 == n) && !(d && ht)) { + u.collapse(a.node, a.offset); + try { + e7 != n && u.extend(l.node, l.offset), f = true; + } catch { + } + } + if (!f) { + if (e7 > n) { + let h = a; + a = l, l = h; + } + let p = document.createRange(); + p.setEnd(l.node, l.offset), p.setStart(a.node, a.offset), u.removeAllRanges(), u.addRange(p); + } + } + ignoreMutation(e7) { + return !this.contentDOM && e7.type != "selection"; + } + get contentLost() { + return this.contentDOM && this.contentDOM != this.dom && !this.dom.contains(this.contentDOM); + } + // Remove a subtree of the element tree that has been touched + // by a DOM change, so that the next update will redraw it. + markDirty(e7, n) { + for (let r = 0, i7 = 0; i7 < this.children.length; i7++) { + let o = this.children[i7], s = r + o.size; + if (r == s ? e7 <= s && n >= r : e7 < s && n > r) { + let a = r + o.border, l = s - o.border; + if (e7 >= a && n <= l) { + this.dirty = e7 == r || n == s ? Wn : Ld, e7 == a && n == l && (o.contentLost || o.dom.parentNode != this.contentDOM) ? o.dirty = Dt : o.markDirty(e7 - a, n - a); + return; + } else + o.dirty = o.dom == o.contentDOM && o.dom.parentNode == this.contentDOM && !o.children.length ? Wn : Dt; + } + r = s; + } + this.dirty = Wn; + } + markParentsDirty() { + let e7 = 1; + for (let n = this.parent; n; n = n.parent, e7++) { + let r = e7 == 1 ? Wn : Ld; + n.dirty < r && (n.dirty = r); + } + } + get domAtom() { + return false; + } + get ignoreForCoords() { + return false; + } + get ignoreForSelection() { + return false; + } + isText(e7) { + return false; + } + } + class Xh extends to { + constructor(e7, n, r, i7) { + let o, s = n.type.toDOM; + if (typeof s == "function" && (s = s(r, () => { + if (!o) + return i7; + if (o.parent) + return o.parent.posBeforeChild(o); + })), !n.type.spec.raw) { + if (s.nodeType != 1) { + let a = document.createElement("span"); + a.appendChild(s), s = a; + } + s.contentEditable = "false", s.classList.add("ProseMirror-widget"); + } + super(e7, [], s, null), this.widget = n, this.widget = n, o = this; + } + matchesWidget(e7) { + return this.dirty == mt && e7.type.eq(this.widget.type); + } + parseRule() { + return { ignore: true }; + } + stopEvent(e7) { + let n = this.widget.spec.stopEvent; + return n ? n(e7) : false; + } + ignoreMutation(e7) { + return e7.type != "selection" || this.widget.spec.ignoreSelection; + } + destroy() { + this.widget.type.destroy(this.dom), super.destroy(); + } + get domAtom() { + return true; + } + get ignoreForSelection() { + return !!this.widget.type.spec.relaxedSide; + } + get side() { + return this.widget.type.side; + } + } + class pv extends to { + constructor(e7, n, r, i7) { + super(e7, [], n, null), this.textDOM = r, this.text = i7; + } + get size() { + return this.text.length; + } + localPosFromDOM(e7, n) { + return e7 != this.textDOM ? this.posAtStart + (n ? this.size : 0) : this.posAtStart + n; + } + domFromPos(e7) { + return { node: this.textDOM, offset: e7 }; + } + ignoreMutation(e7) { + return e7.type === "characterData" && e7.target.nodeValue == e7.oldValue; + } + } + class sr extends to { + constructor(e7, n, r, i7, o) { + super(e7, [], r, i7), this.mark = n, this.spec = o; + } + static create(e7, n, r, i7) { + let o = i7.nodeViews[n.type.name], s = o && o(n, i7, r); + return (!s || !s.dom) && (s = Hn.renderSpec(document, n.type.spec.toDOM(n, r), null, n.attrs)), new sr(e7, n, s.dom, s.contentDOM || s.dom, s); + } + parseRule() { + return this.dirty & Dt || this.mark.type.spec.reparseInView ? null : { mark: this.mark.type.name, attrs: this.mark.attrs, contentElement: this.contentDOM }; + } + matchesMark(e7) { + return this.dirty != Dt && this.mark.eq(e7); + } + markDirty(e7, n) { + if (super.markDirty(e7, n), this.dirty != mt) { + let r = this.parent; + for (; !r.node; ) + r = r.parent; + r.dirty < this.dirty && (r.dirty = this.dirty), this.dirty = mt; + } + } + slice(e7, n, r) { + let i7 = sr.create(this.parent, this.mark, true, r), o = this.children, s = this.size; + n < s && (o = Dl(o, n, s, r)), e7 > 0 && (o = Dl(o, 0, e7, r)); + for (let a = 0; a < o.length; a++) + o[a].parent = i7; + return i7.children = o, i7; + } + ignoreMutation(e7) { + return this.spec.ignoreMutation ? this.spec.ignoreMutation(e7) : super.ignoreMutation(e7); + } + destroy() { + this.spec.destroy && this.spec.destroy(), super.destroy(); + } + } + class Tn extends to { + constructor(e7, n, r, i7, o, s, a, l, u) { + super(e7, [], o, s), this.node = n, this.outerDeco = r, this.innerDeco = i7, this.nodeDOM = a; + } + // By default, a node is rendered using the `toDOM` method from the + // node type spec. But client code can use the `nodeViews` spec to + // supply a custom node view, which can influence various aspects of + // the way the node works. + // + // (Using subclassing for this was intentionally decided against, + // since it'd require exposing a whole slew of finicky + // implementation details to the user code that they probably will + // never need.) + static create(e7, n, r, i7, o, s) { + let a = o.nodeViews[n.type.name], l, u = a && a(n, o, () => { + if (!l) + return s; + if (l.parent) + return l.parent.posBeforeChild(l); + }, r, i7), c = u && u.dom, d = u && u.contentDOM; + if (n.isText) { + if (!c) + c = document.createTextNode(n.text); + else if (c.nodeType != 3) + throw new RangeError("Text must be rendered as a DOM text node"); + } else c || ({ dom: c, contentDOM: d } = Hn.renderSpec(document, n.type.spec.toDOM(n), null, n.attrs)); + !d && !n.isText && c.nodeName != "BR" && (c.hasAttribute("contenteditable") || (c.contentEditable = "false"), n.type.spec.draggable && (c.draggable = true)); + let f = c; + return c = t0(c, r, n), u ? l = new hv(e7, n, r, i7, c, d || null, f, u, o, s + 1) : n.isText ? new oa(e7, n, r, i7, c, f, o) : new Tn(e7, n, r, i7, c, d || null, f, o, s + 1); + } + parseRule() { + if (this.node.type.spec.reparseInView) + return null; + let e7 = { node: this.node.type.name, attrs: this.node.attrs }; + if (this.node.type.whitespace == "pre" && (e7.preserveWhitespace = "full"), !this.contentDOM) + e7.getContent = () => this.node.content; + else if (!this.contentLost) + e7.contentElement = this.contentDOM; + else { + for (let n = this.children.length - 1; n >= 0; n--) { + let r = this.children[n]; + if (this.dom.contains(r.dom.parentNode)) { + e7.contentElement = r.dom.parentNode; + break; + } + } + e7.contentElement || (e7.getContent = () => S.empty); + } + return e7; + } + matchesNode(e7, n, r) { + return this.dirty == mt && e7.eq(this.node) && ss(n, this.outerDeco) && r.eq(this.innerDeco); + } + get size() { + return this.node.nodeSize; + } + get border() { + return this.node.isLeaf ? 0 : 1; + } + // Syncs `this.children` to match `this.node.content` and the local + // decorations, possibly introducing nesting for marks. Then, in a + // separate step, syncs the DOM inside `this.contentDOM` to + // `this.children`. + updateChildren(e7, n) { + let r = this.node.inlineContent, i7 = n, o = e7.composing ? this.localCompositionInfo(e7, n) : null, s = o && o.pos > -1 ? o : null, a = o && o.pos < 0, l = new gv(this, s && s.node, e7); + vv(this.node, this.innerDeco, (u, c, d) => { + u.spec.marks ? l.syncToMarks(u.spec.marks, r, e7) : u.type.side >= 0 && !d && l.syncToMarks(c == this.node.childCount ? se.none : this.node.child(c).marks, r, e7), l.placeWidget(u, e7, i7); + }, (u, c, d, f) => { + l.syncToMarks(u.marks, r, e7); + let p; + l.findNodeMatch(u, c, d, f) || a && e7.state.selection.from > i7 && e7.state.selection.to < i7 + u.nodeSize && (p = l.findIndexWithChild(o.node)) > -1 && l.updateNodeAt(u, c, d, p, e7) || l.updateNextNode(u, c, d, e7, f, i7) || l.addNode(u, c, d, e7, i7), i7 += u.nodeSize; + }), l.syncToMarks([], r, e7), this.node.isTextblock && l.addTextblockHacks(), l.destroyRest(), (l.changed || this.dirty == Wn) && (s && this.protectLocalComposition(e7, s), Qh(this.contentDOM, this.children, e7), Ir && wv(this.dom)); + } + localCompositionInfo(e7, n) { + let { from: r, to: i7 } = e7.state.selection; + if (!(e7.state.selection instanceof z) || r < n || i7 > n + this.node.content.size) + return null; + let o = e7.input.compositionNode; + if (!o || !this.dom.contains(o.parentNode)) + return null; + if (this.node.inlineContent) { + let s = o.nodeValue, a = xv(this.node.content, s, r - n, i7 - n); + return a < 0 ? null : { node: o, pos: a, text: s }; + } else + return { node: o, pos: -1, text: "" }; + } + protectLocalComposition(e7, { node: n, pos: r, text: i7 }) { + if (this.getDesc(n)) + return; + let o = n; + for (; o.parentNode != this.contentDOM; o = o.parentNode) { + for (; o.previousSibling; ) + o.parentNode.removeChild(o.previousSibling); + for (; o.nextSibling; ) + o.parentNode.removeChild(o.nextSibling); + o.pmViewDesc && (o.pmViewDesc = void 0); + } + let s = new pv(this, o, n, i7); + e7.input.compositionNodes.push(s), this.children = Dl(this.children, r, r + i7.length, e7, s); + } + // If this desc must be updated to match the given node decoration, + // do so and return true. + update(e7, n, r, i7) { + return this.dirty == Dt || !e7.sameMarkup(this.node) ? false : (this.updateInner(e7, n, r, i7), true); + } + updateInner(e7, n, r, i7) { + this.updateOuterDeco(n), this.node = e7, this.innerDeco = r, this.contentDOM && this.updateChildren(i7, this.posAtStart), this.dirty = mt; + } + updateOuterDeco(e7) { + if (ss(e7, this.outerDeco)) + return; + let n = this.nodeDOM.nodeType != 1, r = this.dom; + this.dom = e0(this.dom, this.nodeDOM, Rl(this.outerDeco, this.node, n), Rl(e7, this.node, n)), this.dom != r && (r.pmViewDesc = void 0, this.dom.pmViewDesc = this), this.outerDeco = e7; + } + // Mark this node as being the selected node. + selectNode() { + this.nodeDOM.nodeType == 1 && this.nodeDOM.classList.add("ProseMirror-selectednode"), (this.contentDOM || !this.node.type.spec.draggable) && (this.dom.draggable = true); + } + // Remove selected node marking from this node. + deselectNode() { + this.nodeDOM.nodeType == 1 && (this.nodeDOM.classList.remove("ProseMirror-selectednode"), (this.contentDOM || !this.node.type.spec.draggable) && this.dom.removeAttribute("draggable")); + } + get domAtom() { + return this.node.isAtom; + } + } + function Nd(t7, e7, n, r, i7) { + t0(r, e7, t7); + let o = new Tn(void 0, t7, e7, n, r, r, r, i7, 0); + return o.contentDOM && o.updateChildren(i7, 0), o; + } + class oa extends Tn { + constructor(e7, n, r, i7, o, s, a) { + super(e7, n, r, i7, o, null, s, a, 0); + } + parseRule() { + let e7 = this.nodeDOM.parentNode; + for (; e7 && e7 != this.dom && !e7.pmIsDeco; ) + e7 = e7.parentNode; + return { skip: e7 || true }; + } + update(e7, n, r, i7) { + return this.dirty == Dt || this.dirty != mt && !this.inParent() || !e7.sameMarkup(this.node) ? false : (this.updateOuterDeco(n), (this.dirty != mt || e7.text != this.node.text) && e7.text != this.nodeDOM.nodeValue && (this.nodeDOM.nodeValue = e7.text, i7.trackWrites == this.nodeDOM && (i7.trackWrites = null)), this.node = e7, this.dirty = mt, true); + } + inParent() { + let e7 = this.parent.contentDOM; + for (let n = this.nodeDOM; n; n = n.parentNode) + if (n == e7) + return true; + return false; + } + domFromPos(e7) { + return { node: this.nodeDOM, offset: e7 }; + } + localPosFromDOM(e7, n, r) { + return e7 == this.nodeDOM ? this.posAtStart + Math.min(n, this.node.text.length) : super.localPosFromDOM(e7, n, r); + } + ignoreMutation(e7) { + return e7.type != "characterData" && e7.type != "selection"; + } + slice(e7, n, r) { + let i7 = this.node.cut(e7, n), o = document.createTextNode(i7.text); + return new oa(this.parent, i7, this.outerDeco, this.innerDeco, o, o, r); + } + markDirty(e7, n) { + super.markDirty(e7, n), this.dom != this.nodeDOM && (e7 == 0 || n == this.nodeDOM.nodeValue.length) && (this.dirty = Dt); + } + get domAtom() { + return false; + } + isText(e7) { + return this.node.text == e7; + } + } + class Yh extends to { + parseRule() { + return { ignore: true }; + } + matchesHack(e7) { + return this.dirty == mt && this.dom.nodeName == e7; + } + get domAtom() { + return true; + } + get ignoreForCoords() { + return this.dom.nodeName == "IMG"; + } + } + class hv extends Tn { + constructor(e7, n, r, i7, o, s, a, l, u, c) { + super(e7, n, r, i7, o, s, a, u, c), this.spec = l; + } + // A custom `update` method gets to decide whether the update goes + // through. If it does, and there's a `contentDOM` node, our logic + // updates the children. + update(e7, n, r, i7) { + if (this.dirty == Dt) + return false; + if (this.spec.update && (this.node.type == e7.type || this.spec.multiType)) { + let o = this.spec.update(e7, n, r); + return o && this.updateInner(e7, n, r, i7), o; + } else return !this.contentDOM && !e7.isLeaf ? false : super.update(e7, n, r, i7); + } + selectNode() { + this.spec.selectNode ? this.spec.selectNode() : super.selectNode(); + } + deselectNode() { + this.spec.deselectNode ? this.spec.deselectNode() : super.deselectNode(); + } + setSelection(e7, n, r, i7) { + this.spec.setSelection ? this.spec.setSelection(e7, n, r.root) : super.setSelection(e7, n, r, i7); + } + destroy() { + this.spec.destroy && this.spec.destroy(), super.destroy(); + } + stopEvent(e7) { + return this.spec.stopEvent ? this.spec.stopEvent(e7) : false; + } + ignoreMutation(e7) { + return this.spec.ignoreMutation ? this.spec.ignoreMutation(e7) : super.ignoreMutation(e7); + } + } + function Qh(t7, e7, n) { + let r = t7.firstChild, i7 = false; + for (let o = 0; o < e7.length; o++) { + let s = e7[o], a = s.dom; + if (a.parentNode == t7) { + for (; a != r; ) + r = Hd(r), i7 = true; + r = r.nextSibling; + } else + i7 = true, t7.insertBefore(a, r); + if (s instanceof sr) { + let l = r ? r.previousSibling : t7.lastChild; + Qh(s.contentDOM, s.children, n), r = l ? l.nextSibling : t7.firstChild; + } + } + for (; r; ) + r = Hd(r), i7 = true; + i7 && n.trackWrites == t7 && (n.trackWrites = null); + } + const vi = function(t7) { + t7 && (this.nodeName = t7); + }; + vi.prototype = /* @__PURE__ */ Object.create(null); + const qn = [new vi()]; + function Rl(t7, e7, n) { + if (t7.length == 0) + return qn; + let r = n ? qn[0] : new vi(), i7 = [r]; + for (let o = 0; o < t7.length; o++) { + let s = t7[o].type.attrs; + if (s) { + s.nodeName && i7.push(r = new vi(s.nodeName)); + for (let a in s) { + let l = s[a]; + l != null && (n && i7.length == 1 && i7.push(r = new vi(e7.isInline ? "span" : "div")), a == "class" ? r.class = (r.class ? r.class + " " : "") + l : a == "style" ? r.style = (r.style ? r.style + ";" : "") + l : a != "nodeName" && (r[a] = l)); + } + } + } + return i7; + } + function e0(t7, e7, n, r) { + if (n == qn && r == qn) + return e7; + let i7 = e7; + for (let o = 0; o < r.length; o++) { + let s = r[o], a = n[o]; + if (o) { + let l; + a && a.nodeName == s.nodeName && i7 != t7 && (l = i7.parentNode) && l.nodeName.toLowerCase() == s.nodeName || (l = document.createElement(s.nodeName), l.pmIsDeco = true, l.appendChild(i7), a = qn[0]), i7 = l; + } + mv(i7, a || qn[0], s); + } + return i7; + } + function mv(t7, e7, n) { + for (let r in e7) + r != "class" && r != "style" && r != "nodeName" && !(r in n) && t7.removeAttribute(r); + for (let r in n) + r != "class" && r != "style" && r != "nodeName" && n[r] != e7[r] && t7.setAttribute(r, n[r]); + if (e7.class != n.class) { + let r = e7.class ? e7.class.split(" ").filter(Boolean) : [], i7 = n.class ? n.class.split(" ").filter(Boolean) : []; + for (let o = 0; o < r.length; o++) + i7.indexOf(r[o]) == -1 && t7.classList.remove(r[o]); + for (let o = 0; o < i7.length; o++) + r.indexOf(i7[o]) == -1 && t7.classList.add(i7[o]); + t7.classList.length == 0 && t7.removeAttribute("class"); + } + if (e7.style != n.style) { + if (e7.style) { + let r = /\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g, i7; + for (; i7 = r.exec(e7.style); ) + t7.style.removeProperty(i7[1]); + } + n.style && (t7.style.cssText += n.style); + } + } + function t0(t7, e7, n) { + return e0(t7, t7, qn, Rl(e7, n, t7.nodeType != 1)); + } + function ss(t7, e7) { + if (t7.length != e7.length) + return false; + for (let n = 0; n < t7.length; n++) + if (!t7[n].type.eq(e7[n].type)) + return false; + return true; + } + function Hd(t7) { + let e7 = t7.nextSibling; + return t7.parentNode.removeChild(t7), e7; + } + class gv { + constructor(e7, n, r) { + this.lock = n, this.view = r, this.index = 0, this.stack = [], this.changed = false, this.top = e7, this.preMatch = bv(e7.node.content, e7); + } + // Destroy and remove the children between the given indices in + // `this.top`. + destroyBetween(e7, n) { + if (e7 != n) { + for (let r = e7; r < n; r++) + this.top.children[r].destroy(); + this.top.children.splice(e7, n - e7), this.changed = true; + } + } + // Destroy all remaining children in `this.top`. + destroyRest() { + this.destroyBetween(this.index, this.top.children.length); + } + // Sync the current stack of mark descs with the given array of + // marks, reusing existing mark descs when possible. + syncToMarks(e7, n, r) { + let i7 = 0, o = this.stack.length >> 1, s = Math.min(o, e7.length); + for (; i7 < s && (i7 == o - 1 ? this.top : this.stack[i7 + 1 << 1]).matchesMark(e7[i7]) && e7[i7].type.spec.spanning !== false; ) + i7++; + for (; i7 < o; ) + this.destroyRest(), this.top.dirty = mt, this.index = this.stack.pop(), this.top = this.stack.pop(), o--; + for (; o < e7.length; ) { + this.stack.push(this.top, this.index + 1); + let a = -1; + for (let l = this.index; l < Math.min(this.index + 3, this.top.children.length); l++) { + let u = this.top.children[l]; + if (u.matchesMark(e7[o]) && !this.isLocked(u.dom)) { + a = l; + break; + } + } + if (a > -1) + a > this.index && (this.changed = true, this.destroyBetween(this.index, a)), this.top = this.top.children[this.index]; + else { + let l = sr.create(this.top, e7[o], n, r); + this.top.children.splice(this.index, 0, l), this.top = l, this.changed = true; + } + this.index = 0, o++; + } + } + // Try to find a node desc matching the given data. Skip over it and + // return true when successful. + findNodeMatch(e7, n, r, i7) { + let o = -1, s; + if (i7 >= this.preMatch.index && (s = this.preMatch.matches[i7 - this.preMatch.index]).parent == this.top && s.matchesNode(e7, n, r)) + o = this.top.children.indexOf(s, this.index); + else + for (let a = this.index, l = Math.min(this.top.children.length, a + 5); a < l; a++) { + let u = this.top.children[a]; + if (u.matchesNode(e7, n, r) && !this.preMatch.matched.has(u)) { + o = a; + break; + } + } + return o < 0 ? false : (this.destroyBetween(this.index, o), this.index++, true); + } + updateNodeAt(e7, n, r, i7, o) { + let s = this.top.children[i7]; + return s.dirty == Dt && s.dom == s.contentDOM && (s.dirty = Wn), s.update(e7, n, r, o) ? (this.destroyBetween(this.index, i7), this.index++, true) : false; + } + findIndexWithChild(e7) { + for (; ; ) { + let n = e7.parentNode; + if (!n) + return -1; + if (n == this.top.contentDOM) { + let r = e7.pmViewDesc; + if (r) { + for (let i7 = this.index; i7 < this.top.children.length; i7++) + if (this.top.children[i7] == r) + return i7; + } + return -1; + } + e7 = n; + } + } + // Try to update the next node, if any, to the given data. Checks + // pre-matches to avoid overwriting nodes that could still be used. + updateNextNode(e7, n, r, i7, o, s) { + for (let a = this.index; a < this.top.children.length; a++) { + let l = this.top.children[a]; + if (l instanceof Tn) { + let u = this.preMatch.matched.get(l); + if (u != null && u != o) + return false; + let c = l.dom, d, f = this.isLocked(c) && !(e7.isText && l.node && l.node.isText && l.nodeDOM.nodeValue == e7.text && l.dirty != Dt && ss(n, l.outerDeco)); + if (!f && l.update(e7, n, r, i7)) + return this.destroyBetween(this.index, a), l.dom != c && (this.changed = true), this.index++, true; + if (!f && (d = this.recreateWrapper(l, e7, n, r, i7, s))) + return this.destroyBetween(this.index, a), this.top.children[this.index] = d, d.contentDOM && (d.dirty = Wn, d.updateChildren(i7, s + 1), d.dirty = mt), this.changed = true, this.index++, true; + break; + } + } + return false; + } + // When a node with content is replaced by a different node with + // identical content, move over its children. + recreateWrapper(e7, n, r, i7, o, s) { + if (e7.dirty || n.isAtom || !e7.children.length || !e7.node.content.eq(n.content) || !ss(r, e7.outerDeco) || !i7.eq(e7.innerDeco)) + return null; + let a = Tn.create(this.top, n, r, i7, o, s); + if (a.contentDOM) { + a.children = e7.children, e7.children = []; + for (let l of a.children) + l.parent = a; + } + return e7.destroy(), a; + } + // Insert the node as a newly created node desc. + addNode(e7, n, r, i7, o) { + let s = Tn.create(this.top, e7, n, r, i7, o); + s.contentDOM && s.updateChildren(i7, o + 1), this.top.children.splice(this.index++, 0, s), this.changed = true; + } + placeWidget(e7, n, r) { + let i7 = this.index < this.top.children.length ? this.top.children[this.index] : null; + if (i7 && i7.matchesWidget(e7) && (e7 == i7.widget || !i7.widget.type.toDOM.parentNode)) + this.index++; + else { + let o = new Xh(this.top, e7, n, r); + this.top.children.splice(this.index++, 0, o), this.changed = true; + } + } + // Make sure a textblock looks and behaves correctly in + // contentEditable. + addTextblockHacks() { + let e7 = this.top.children[this.index - 1], n = this.top; + for (; e7 instanceof sr; ) + n = e7, e7 = n.children[n.children.length - 1]; + (!e7 || // Empty textblock + !(e7 instanceof oa) || /\n$/.test(e7.node.text) || this.view.requiresGeckoHackNode && /\s$/.test(e7.node.text)) && ((Ue || ze) && e7 && e7.dom.contentEditable == "false" && this.addHackNode("IMG", n), this.addHackNode("BR", this.top)); + } + addHackNode(e7, n) { + if (n == this.top && this.index < n.children.length && n.children[this.index].matchesHack(e7)) + this.index++; + else { + let r = document.createElement(e7); + e7 == "IMG" && (r.className = "ProseMirror-separator", r.alt = ""), e7 == "BR" && (r.className = "ProseMirror-trailingBreak"); + let i7 = new Yh(this.top, [], r, null); + n != this.top ? n.children.push(i7) : n.children.splice(this.index++, 0, i7), this.changed = true; + } + } + isLocked(e7) { + return this.lock && (e7 == this.lock || e7.nodeType == 1 && e7.contains(this.lock.parentNode)); + } + } + function bv(t7, e7) { + let n = e7, r = n.children.length, i7 = t7.childCount, o = /* @__PURE__ */ new Map(), s = []; + e: for (; i7 > 0; ) { + let a; + for (; ; ) + if (r) { + let u = n.children[r - 1]; + if (u instanceof sr) + n = u, r = u.children.length; + else { + a = u, r--; + break; + } + } else { + if (n == e7) + break e; + r = n.parent.children.indexOf(n), n = n.parent; + } + let l = a.node; + if (l) { + if (l != t7.child(i7 - 1)) + break; + --i7, o.set(a, i7), s.push(a); + } + } + return { index: i7, matched: o, matches: s.reverse() }; + } + function yv(t7, e7) { + return t7.type.side - e7.type.side; + } + function vv(t7, e7, n, r) { + let i7 = e7.locals(t7), o = 0; + if (i7.length == 0) { + for (let u = 0; u < t7.childCount; u++) { + let c = t7.child(u); + r(c, i7, e7.forChild(o, c), u), o += c.nodeSize; + } + return; + } + let s = 0, a = [], l = null; + for (let u = 0; ; ) { + let c, d; + for (; s < i7.length && i7[s].to == o; ) { + let g = i7[s++]; + g.widget && (c ? (d || (d = [c])).push(g) : c = g); + } + if (c) + if (d) { + d.sort(yv); + for (let g = 0; g < d.length; g++) + n(d[g], u, !!l); + } else + n(c, u, !!l); + let f, p; + if (l) + p = -1, f = l, l = null; + else if (u < t7.childCount) + p = u, f = t7.child(u++); + else + break; + for (let g = 0; g < a.length; g++) + a[g].to <= o && a.splice(g--, 1); + for (; s < i7.length && i7[s].from <= o && i7[s].to > o; ) + a.push(i7[s++]); + let h = o + f.nodeSize; + if (f.isText) { + let g = h; + s < i7.length && i7[s].from < g && (g = i7[s].from); + for (let b = 0; b < a.length; b++) + a[b].to < g && (g = a[b].to); + g < h && (l = f.cut(g - o), f = f.cut(0, g - o), h = g, p = -1); + } else + for (; s < i7.length && i7[s].to < h; ) + s++; + let m7 = f.isInline && !f.isLeaf ? a.filter((g) => !g.inline) : a.slice(); + r(f, m7, e7.forChild(o, f), p), o = h; + } + } + function wv(t7) { + if (t7.nodeName == "UL" || t7.nodeName == "OL") { + let e7 = t7.style.cssText; + t7.style.cssText = e7 + "; list-style: square !important", window.getComputedStyle(t7).listStyle, t7.style.cssText = e7; + } + } + function xv(t7, e7, n, r) { + for (let i7 = 0, o = 0; i7 < t7.childCount && o <= r; ) { + let s = t7.child(i7++), a = o; + if (o += s.nodeSize, !s.isText) + continue; + let l = s.text; + for (; i7 < t7.childCount; ) { + let u = t7.child(i7++); + if (o += u.nodeSize, !u.isText) + break; + l += u.text; + } + if (o >= n) { + if (o >= r && l.slice(r - e7.length - a, r - a) == e7) + return r - e7.length; + let u = a < r ? l.lastIndexOf(e7, r - a - 1) : -1; + if (u >= 0 && u + e7.length + a >= n) + return a + u; + if (n == r && l.length >= r + e7.length - a && l.slice(r - a, r - a + e7.length) == e7) + return r; + } + } + return -1; + } + function Dl(t7, e7, n, r, i7) { + let o = []; + for (let s = 0, a = 0; s < t7.length; s++) { + let l = t7[s], u = a, c = a += l.size; + u >= n || c <= e7 ? o.push(l) : (u < e7 && o.push(l.slice(0, e7 - u, r)), i7 && (o.push(i7), i7 = void 0), c > n && o.push(l.slice(n - u, l.size, r))); + } + return o; + } + function Hu(t7, e7 = null) { + let n = t7.domSelectionRange(), r = t7.state.doc; + if (!n.focusNode) + return null; + let i7 = t7.docView.nearestDesc(n.focusNode), o = i7 && i7.size == 0, s = t7.docView.posFromDOM(n.focusNode, n.focusOffset, 1); + if (s < 0) + return null; + let a = r.resolve(s), l, u; + if (ia(n)) { + for (l = s; i7 && !i7.node; ) + i7 = i7.parent; + let d = i7.node; + if (i7 && d.isAtom && F.isSelectable(d) && i7.parent && !(d.isInline && K3(n.focusNode, n.focusOffset, i7.dom))) { + let f = i7.posBefore; + u = new F(s == f ? a : r.resolve(f)); + } + } else { + if (n instanceof t7.dom.ownerDocument.defaultView.Selection && n.rangeCount > 1) { + let d = s, f = s; + for (let p = 0; p < n.rangeCount; p++) { + let h = n.getRangeAt(p); + d = Math.min(d, t7.docView.posFromDOM(h.startContainer, h.startOffset, 1)), f = Math.max(f, t7.docView.posFromDOM(h.endContainer, h.endOffset, -1)); + } + if (d < 0) + return null; + [l, s] = f == t7.state.selection.anchor ? [f, d] : [d, f], a = r.resolve(s); + } else + l = t7.docView.posFromDOM(n.anchorNode, n.anchorOffset, 1); + if (l < 0) + return null; + } + let c = r.resolve(l); + if (!u) { + let d = e7 == "pointer" || t7.state.selection.head < a.pos && !o ? 1 : -1; + u = Vu(t7, c, a, d); + } + return u; + } + function n0(t7) { + return t7.editable ? t7.hasFocus() : i0(t7) && document.activeElement && document.activeElement.contains(t7.dom); + } + function Qt(t7, e7 = false) { + let n = t7.state.selection; + if (r0(t7, n), !!n0(t7)) { + if (!e7 && t7.input.mouseDown && t7.input.mouseDown.allowDefault && ze) { + let r = t7.domSelectionRange(), i7 = t7.domObserver.currentSelection; + if (r.anchorNode && i7.anchorNode && or(r.anchorNode, r.anchorOffset, i7.anchorNode, i7.anchorOffset)) { + t7.input.mouseDown.delayedSelectionSync = true, t7.domObserver.setCurSelection(); + return; + } + } + if (t7.domObserver.disconnectSelection(), t7.cursorWrapper) + Av(t7); + else { + let { anchor: r, head: i7 } = n, o, s; + Vd && !(n instanceof z) && (n.$from.parent.inlineContent || (o = Rd(t7, n.from)), !n.empty && !n.$from.parent.inlineContent && (s = Rd(t7, n.to))), t7.docView.setSelection(r, i7, t7, e7), Vd && (o && Dd(o), s && Dd(s)), n.visible ? t7.dom.classList.remove("ProseMirror-hideselection") : (t7.dom.classList.add("ProseMirror-hideselection"), "onselectionchange" in document && kv(t7)); + } + t7.domObserver.setCurSelection(), t7.domObserver.connectSelection(); + } + } + const Vd = Ue || ze && Wh < 63; + function Rd(t7, e7) { + let { node: n, offset: r } = t7.docView.domFromPos(e7, 0), i7 = r < n.childNodes.length ? n.childNodes[r] : null, o = r ? n.childNodes[r - 1] : null; + if (Ue && i7 && i7.contentEditable == "false") + return Pa(i7); + if ((!i7 || i7.contentEditable == "false") && (!o || o.contentEditable == "false")) { + if (i7) + return Pa(i7); + if (o) + return Pa(o); + } + } + function Pa(t7) { + return t7.contentEditable = "true", Ue && t7.draggable && (t7.draggable = false, t7.wasDraggable = true), t7; + } + function Dd(t7) { + t7.contentEditable = "false", t7.wasDraggable && (t7.draggable = true, t7.wasDraggable = null); + } + function kv(t7) { + let e7 = t7.dom.ownerDocument; + e7.removeEventListener("selectionchange", t7.input.hideSelectionGuard); + let n = t7.domSelectionRange(), r = n.anchorNode, i7 = n.anchorOffset; + e7.addEventListener("selectionchange", t7.input.hideSelectionGuard = () => { + (n.anchorNode != r || n.anchorOffset != i7) && (e7.removeEventListener("selectionchange", t7.input.hideSelectionGuard), setTimeout(() => { + (!n0(t7) || t7.state.selection.visible) && t7.dom.classList.remove("ProseMirror-hideselection"); + }, 20)); + }); + } + function Av(t7) { + let e7 = t7.domSelection(); + if (!e7) + return; + let n = t7.cursorWrapper.dom, r = n.nodeName == "IMG"; + r ? e7.collapse(n.parentNode, De(n) + 1) : e7.collapse(n, 0), !r && !t7.state.selection.visible && Xe && Sn <= 11 && (n.disabled = true, n.disabled = false); + } + function r0(t7, e7) { + if (e7 instanceof F) { + let n = t7.docView.descAt(e7.from); + n != t7.lastSelectedViewDesc && (_d(t7), n && n.selectNode(), t7.lastSelectedViewDesc = n); + } else + _d(t7); + } + function _d(t7) { + t7.lastSelectedViewDesc && (t7.lastSelectedViewDesc.parent && t7.lastSelectedViewDesc.deselectNode(), t7.lastSelectedViewDesc = void 0); + } + function Vu(t7, e7, n, r) { + return t7.someProp("createSelectionBetween", (i7) => i7(t7, e7, n)) || z.between(e7, n, r); + } + function Pd(t7) { + return t7.editable && !t7.hasFocus() ? false : i0(t7); + } + function i0(t7) { + let e7 = t7.domSelectionRange(); + if (!e7.anchorNode) + return false; + try { + return t7.dom.contains(e7.anchorNode.nodeType == 3 ? e7.anchorNode.parentNode : e7.anchorNode) && (t7.editable || t7.dom.contains(e7.focusNode.nodeType == 3 ? e7.focusNode.parentNode : e7.focusNode)); + } catch { + return false; + } + } + function Cv(t7) { + let e7 = t7.docView.domFromPos(t7.state.selection.anchor, 0), n = t7.domSelectionRange(); + return or(e7.node, e7.offset, n.anchorNode, n.anchorOffset); + } + function _l(t7, e7) { + let { $anchor: n, $head: r } = t7.selection, i7 = e7 > 0 ? n.max(r) : n.min(r), o = i7.parent.inlineContent ? i7.depth ? t7.doc.resolve(e7 > 0 ? i7.after() : i7.before()) : null : i7; + return o && $.findFrom(o, e7); + } + function pn(t7, e7) { + return t7.dispatch(t7.state.tr.setSelection(e7).scrollIntoView()), true; + } + function Id(t7, e7, n) { + let r = t7.state.selection; + if (r instanceof z) + if (n.indexOf("s") > -1) { + let { $head: i7 } = r, o = i7.textOffset ? null : e7 < 0 ? i7.nodeBefore : i7.nodeAfter; + if (!o || o.isText || !o.isLeaf) + return false; + let s = t7.state.doc.resolve(i7.pos + o.nodeSize * (e7 < 0 ? -1 : 1)); + return pn(t7, new z(r.$anchor, s)); + } else if (r.empty) { + if (t7.endOfTextblock(e7 > 0 ? "forward" : "backward")) { + let i7 = _l(t7.state, e7); + return i7 && i7 instanceof F ? pn(t7, i7) : false; + } else if (!(dt && n.indexOf("m") > -1)) { + let i7 = r.$head, o = i7.textOffset ? null : e7 < 0 ? i7.nodeBefore : i7.nodeAfter, s; + if (!o || o.isText) + return false; + let a = e7 < 0 ? i7.pos - o.nodeSize : i7.pos; + return o.isAtom || (s = t7.docView.descAt(a)) && !s.contentDOM ? F.isSelectable(o) ? pn(t7, new F(e7 < 0 ? t7.state.doc.resolve(i7.pos - o.nodeSize) : i7)) : eo ? pn(t7, new z(t7.state.doc.resolve(e7 < 0 ? a : a + o.nodeSize))) : false : false; + } + } else return false; + else { + if (r instanceof F && r.node.isInline) + return pn(t7, new z(e7 > 0 ? r.$to : r.$from)); + { + let i7 = _l(t7.state, e7); + return i7 ? pn(t7, i7) : false; + } + } + } + function as(t7) { + return t7.nodeType == 3 ? t7.nodeValue.length : t7.childNodes.length; + } + function wi(t7, e7) { + let n = t7.pmViewDesc; + return n && n.size == 0 && (e7 < 0 || t7.nextSibling || t7.nodeName != "BR"); + } + function wr(t7, e7) { + return e7 < 0 ? Sv(t7) : Tv(t7); + } + function Sv(t7) { + let e7 = t7.domSelectionRange(), n = e7.focusNode, r = e7.focusOffset; + if (!n) + return; + let i7, o, s = false; + for (ht && n.nodeType == 1 && r < as(n) && wi(n.childNodes[r], -1) && (s = true); ; ) + if (r > 0) { + if (n.nodeType != 1) + break; + { + let a = n.childNodes[r - 1]; + if (wi(a, -1)) + i7 = n, o = --r; + else if (a.nodeType == 3) + n = a, r = n.nodeValue.length; + else + break; + } + } else { + if (o0(n)) + break; + { + let a = n.previousSibling; + for (; a && wi(a, -1); ) + i7 = n.parentNode, o = De(a), a = a.previousSibling; + if (a) + n = a, r = as(n); + else { + if (n = n.parentNode, n == t7.dom) + break; + r = 0; + } + } + } + s ? Pl(t7, n, r) : i7 && Pl(t7, i7, o); + } + function Tv(t7) { + let e7 = t7.domSelectionRange(), n = e7.focusNode, r = e7.focusOffset; + if (!n) + return; + let i7 = as(n), o, s; + for (; ; ) + if (r < i7) { + if (n.nodeType != 1) + break; + let a = n.childNodes[r]; + if (wi(a, 1)) + o = n, s = ++r; + else + break; + } else { + if (o0(n)) + break; + { + let a = n.nextSibling; + for (; a && wi(a, 1); ) + o = a.parentNode, s = De(a) + 1, a = a.nextSibling; + if (a) + n = a, r = 0, i7 = as(n); + else { + if (n = n.parentNode, n == t7.dom) + break; + r = i7 = 0; + } + } + } + o && Pl(t7, o, s); + } + function o0(t7) { + let e7 = t7.pmViewDesc; + return e7 && e7.node && e7.node.isBlock; + } + function Ev(t7, e7) { + for (; t7 && e7 == t7.childNodes.length && !Qi(t7); ) + e7 = De(t7) + 1, t7 = t7.parentNode; + for (; t7 && e7 < t7.childNodes.length; ) { + let n = t7.childNodes[e7]; + if (n.nodeType == 3) + return n; + if (n.nodeType == 1 && n.contentEditable == "false") + break; + t7 = n, e7 = 0; + } + } + function Mv(t7, e7) { + for (; t7 && !e7 && !Qi(t7); ) + e7 = De(t7), t7 = t7.parentNode; + for (; t7 && e7; ) { + let n = t7.childNodes[e7 - 1]; + if (n.nodeType == 3) + return n; + if (n.nodeType == 1 && n.contentEditable == "false") + break; + t7 = n, e7 = t7.childNodes.length; + } + } + function Pl(t7, e7, n) { + if (e7.nodeType != 3) { + let o, s; + (s = Ev(e7, n)) ? (e7 = s, n = 0) : (o = Mv(e7, n)) && (e7 = o, n = o.nodeValue.length); + } + let r = t7.domSelection(); + if (!r) + return; + if (ia(r)) { + let o = document.createRange(); + o.setEnd(e7, n), o.setStart(e7, n), r.removeAllRanges(), r.addRange(o); + } else r.extend && r.extend(e7, n); + t7.domObserver.setCurSelection(); + let { state: i7 } = t7; + setTimeout(() => { + t7.state == i7 && Qt(t7); + }, 50); + } + function Bd(t7, e7) { + let n = t7.state.doc.resolve(e7); + if (!(ze || Z3) && n.parent.inlineContent) { + let i7 = t7.coordsAtPos(e7); + if (e7 > n.start()) { + let o = t7.coordsAtPos(e7 - 1), s = (o.top + o.bottom) / 2; + if (s > i7.top && s < i7.bottom && Math.abs(o.left - i7.left) > 1) + return o.left < i7.left ? "ltr" : "rtl"; + } + if (e7 < n.end()) { + let o = t7.coordsAtPos(e7 + 1), s = (o.top + o.bottom) / 2; + if (s > i7.top && s < i7.bottom && Math.abs(o.left - i7.left) > 1) + return o.left > i7.left ? "ltr" : "rtl"; + } + } + return getComputedStyle(t7.dom).direction == "rtl" ? "rtl" : "ltr"; + } + function Fd(t7, e7, n) { + let r = t7.state.selection; + if (r instanceof z && !r.empty || n.indexOf("s") > -1 || dt && n.indexOf("m") > -1) + return false; + let { $from: i7, $to: o } = r; + if (!i7.parent.inlineContent || t7.endOfTextblock(e7 < 0 ? "up" : "down")) { + let s = _l(t7.state, e7); + if (s && s instanceof F) + return pn(t7, s); + } + if (!i7.parent.inlineContent) { + let s = e7 < 0 ? i7 : o, a = r instanceof st ? $.near(s, e7) : $.findFrom(s, e7); + return a ? pn(t7, a) : false; + } + return false; + } + function zd(t7, e7) { + if (!(t7.state.selection instanceof z)) + return true; + let { $head: n, $anchor: r, empty: i7 } = t7.state.selection; + if (!n.sameParent(r)) + return true; + if (!i7) + return false; + if (t7.endOfTextblock(e7 > 0 ? "forward" : "backward")) + return true; + let o = !n.textOffset && (e7 < 0 ? n.nodeBefore : n.nodeAfter); + if (o && !o.isText) { + let s = t7.state.tr; + return e7 < 0 ? s.delete(n.pos - o.nodeSize, n.pos) : s.delete(n.pos, n.pos + o.nodeSize), t7.dispatch(s), true; + } + return false; + } + function $d(t7, e7, n) { + t7.domObserver.stop(), e7.contentEditable = n, t7.domObserver.start(); + } + function Ov(t7) { + if (!Ue || t7.state.selection.$head.parentOffset > 0) + return false; + let { focusNode: e7, focusOffset: n } = t7.domSelectionRange(); + if (e7 && e7.nodeType == 1 && n == 0 && e7.firstChild && e7.firstChild.contentEditable == "false") { + let r = e7.firstChild; + $d(t7, r, "true"), setTimeout(() => $d(t7, r, "false"), 20); + } + return false; + } + function Lv(t7) { + let e7 = ""; + return t7.ctrlKey && (e7 += "c"), t7.metaKey && (e7 += "m"), t7.altKey && (e7 += "a"), t7.shiftKey && (e7 += "s"), e7; + } + function Nv(t7, e7) { + let n = e7.keyCode, r = Lv(e7); + if (n == 8 || dt && n == 72 && r == "c") + return zd(t7, -1) || wr(t7, -1); + if (n == 46 && !e7.shiftKey || dt && n == 68 && r == "c") + return zd(t7, 1) || wr(t7, 1); + if (n == 13 || n == 27) + return true; + if (n == 37 || dt && n == 66 && r == "c") { + let i7 = n == 37 ? Bd(t7, t7.state.selection.from) == "ltr" ? -1 : 1 : -1; + return Id(t7, i7, r) || wr(t7, i7); + } else if (n == 39 || dt && n == 70 && r == "c") { + let i7 = n == 39 ? Bd(t7, t7.state.selection.from) == "ltr" ? 1 : -1 : 1; + return Id(t7, i7, r) || wr(t7, i7); + } else { + if (n == 38 || dt && n == 80 && r == "c") + return Fd(t7, -1, r) || wr(t7, -1); + if (n == 40 || dt && n == 78 && r == "c") + return Ov(t7) || Fd(t7, 1, r) || wr(t7, 1); + if (r == (dt ? "m" : "c") && (n == 66 || n == 73 || n == 89 || n == 90)) + return true; + } + return false; + } + function Ru(t7, e7) { + t7.someProp("transformCopied", (p) => { + e7 = p(e7, t7); + }); + let n = [], { content: r, openStart: i7, openEnd: o } = e7; + for (; i7 > 1 && o > 1 && r.childCount == 1 && r.firstChild.childCount == 1; ) { + i7--, o--; + let p = r.firstChild; + n.push(p.type.name, p.attrs != p.type.defaultAttrs ? p.attrs : null), r = p.content; + } + let s = t7.someProp("clipboardSerializer") || Hn.fromSchema(t7.state.schema), a = d0(), l = a.createElement("div"); + l.appendChild(s.serializeFragment(r, { document: a })); + let u = l.firstChild, c, d = 0; + for (; u && u.nodeType == 1 && (c = c0[u.nodeName.toLowerCase()]); ) { + for (let p = c.length - 1; p >= 0; p--) { + let h = a.createElement(c[p]); + for (; l.firstChild; ) + h.appendChild(l.firstChild); + l.appendChild(h), d++; + } + u = l.firstChild; + } + u && u.nodeType == 1 && u.setAttribute("data-pm-slice", `${i7} ${o}${d ? ` -${d}` : ""} ${JSON.stringify(n)}`); + let f = t7.someProp("clipboardTextSerializer", (p) => p(e7, t7)) || e7.content.textBetween(0, e7.content.size, ` + +`); + return { dom: l, text: f, slice: e7 }; + } + function s0(t7, e7, n, r, i7) { + let o = i7.parent.type.spec.code, s, a; + if (!n && !e7) + return null; + let l = !!e7 && (r || o || !n); + if (l) { + if (t7.someProp("transformPastedText", (f) => { + e7 = f(e7, o || r, t7); + }), o) + return a = new N(S.from(t7.state.schema.text(e7.replace(/\r\n?/g, ` +`))), 0, 0), t7.someProp("transformPasted", (f) => { + a = f(a, t7, true); + }), a; + let d = t7.someProp("clipboardTextParser", (f) => f(e7, i7, r, t7)); + if (d) + a = d; + else { + let f = i7.marks(), { schema: p } = t7.state, h = Hn.fromSchema(p); + s = document.createElement("div"), e7.split(/(?:\r\n?|\n)+/).forEach((m7) => { + let g = s.appendChild(document.createElement("p")); + m7 && g.appendChild(h.serializeNode(p.text(m7, f))); + }); + } + } else + t7.someProp("transformPastedHTML", (d) => { + n = d(n, t7); + }), s = Dv(n), eo && _v(s); + let u = s && s.querySelector("[data-pm-slice]"), c = u && /^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice") || ""); + if (c && c[3]) + for (let d = +c[3]; d > 0; d--) { + let f = s.firstChild; + for (; f && f.nodeType != 1; ) + f = f.nextSibling; + if (!f) + break; + s = f; + } + if (a || (a = (t7.someProp("clipboardParser") || t7.someProp("domParser") || Cn.fromSchema(t7.state.schema)).parseSlice(s, { + preserveWhitespace: !!(l || c), + context: i7, + ruleFromNode(f) { + return f.nodeName == "BR" && !f.nextSibling && f.parentNode && !Hv.test(f.parentNode.nodeName) ? { ignore: true } : null; + } + })), c) + a = Pv(jd(a, +c[1], +c[2]), c[4]); + else if (a = N.maxOpen(Vv(a.content, i7), true), a.openStart || a.openEnd) { + let d = 0, f = 0; + for (let p = a.content.firstChild; d < a.openStart && !p.type.spec.isolating; d++, p = p.firstChild) + ; + for (let p = a.content.lastChild; f < a.openEnd && !p.type.spec.isolating; f++, p = p.lastChild) + ; + a = jd(a, d, f); + } + return t7.someProp("transformPasted", (d) => { + a = d(a, t7, l); + }), a; + } + const Hv = /^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i; + function Vv(t7, e7) { + if (t7.childCount < 2) + return t7; + for (let n = e7.depth; n >= 0; n--) { + let i7 = e7.node(n).contentMatchAt(e7.index(n)), o, s = []; + if (t7.forEach((a) => { + if (!s) + return; + let l = i7.findWrapping(a.type), u; + if (!l) + return s = null; + if (u = s.length && o.length && l0(l, o, a, s[s.length - 1], 0)) + s[s.length - 1] = u; + else { + s.length && (s[s.length - 1] = u0(s[s.length - 1], o.length)); + let c = a0(a, l); + s.push(c), i7 = i7.matchType(c.type), o = l; + } + }), s) + return S.from(s); + } + return t7; + } + function a0(t7, e7, n = 0) { + for (let r = e7.length - 1; r >= n; r--) + t7 = e7[r].create(null, S.from(t7)); + return t7; + } + function l0(t7, e7, n, r, i7) { + if (i7 < t7.length && i7 < e7.length && t7[i7] == e7[i7]) { + let o = l0(t7, e7, n, r.lastChild, i7 + 1); + if (o) + return r.copy(r.content.replaceChild(r.childCount - 1, o)); + if (r.contentMatchAt(r.childCount).matchType(i7 == t7.length - 1 ? n.type : t7[i7 + 1])) + return r.copy(r.content.append(S.from(a0(n, t7, i7 + 1)))); + } + } + function u0(t7, e7) { + if (e7 == 0) + return t7; + let n = t7.content.replaceChild(t7.childCount - 1, u0(t7.lastChild, e7 - 1)), r = t7.contentMatchAt(t7.childCount).fillBefore(S.empty, true); + return t7.copy(n.append(r)); + } + function Il(t7, e7, n, r, i7, o) { + let s = e7 < 0 ? t7.firstChild : t7.lastChild, a = s.content; + return t7.childCount > 1 && (o = 0), i7 < r - 1 && (a = Il(a, e7, n, r, i7 + 1, o)), i7 >= n && (a = e7 < 0 ? s.contentMatchAt(0).fillBefore(a, o <= i7).append(a) : a.append(s.contentMatchAt(s.childCount).fillBefore(S.empty, true))), t7.replaceChild(e7 < 0 ? 0 : t7.childCount - 1, s.copy(a)); + } + function jd(t7, e7, n) { + return e7 < t7.openStart && (t7 = new N(Il(t7.content, -1, e7, t7.openStart, 0, t7.openEnd), e7, t7.openEnd)), n < t7.openEnd && (t7 = new N(Il(t7.content, 1, n, t7.openEnd, 0, 0), t7.openStart, n)), t7; + } + const c0 = { + thead: ["table"], + tbody: ["table"], + tfoot: ["table"], + caption: ["table"], + colgroup: ["table"], + col: ["table", "colgroup"], + tr: ["table", "tbody"], + td: ["table", "tbody", "tr"], + th: ["table", "tbody", "tr"] + }; + let Wd = null; + function d0() { + return Wd || (Wd = document.implementation.createHTMLDocument("title")); + } + let Ia = null; + function Rv(t7) { + let e7 = window.trustedTypes; + return e7 ? (Ia || (Ia = e7.defaultPolicy || e7.createPolicy("ProseMirrorClipboard", { createHTML: (n) => n })), Ia.createHTML(t7)) : t7; + } + function Dv(t7) { + let e7 = /^(\s*]*>)*/.exec(t7); + e7 && (t7 = t7.slice(e7[0].length)); + let n = d0().createElement("div"), r = /<([a-z][^>\s]+)/i.exec(t7), i7; + if ((i7 = r && c0[r[1].toLowerCase()]) && (t7 = i7.map((o) => "<" + o + ">").join("") + t7 + i7.map((o) => "").reverse().join("")), n.innerHTML = Rv(t7), i7) + for (let o = 0; o < i7.length; o++) + n = n.querySelector(i7[o]) || n; + return n; + } + function _v(t7) { + let e7 = t7.querySelectorAll(ze ? "span:not([class]):not([style])" : "span.Apple-converted-space"); + for (let n = 0; n < e7.length; n++) { + let r = e7[n]; + r.childNodes.length == 1 && r.textContent == " " && r.parentNode && r.parentNode.replaceChild(t7.ownerDocument.createTextNode(" "), r); + } + } + function Pv(t7, e7) { + if (!t7.size) + return t7; + let n = t7.content.firstChild.type.schema, r; + try { + r = JSON.parse(e7); + } catch { + return t7; + } + let { content: i7, openStart: o, openEnd: s } = t7; + for (let a = r.length - 2; a >= 0; a -= 2) { + let l = n.nodes[r[a]]; + if (!l || l.hasRequiredAttrs()) + break; + i7 = S.from(l.create(r[a + 1], i7)), o++, s++; + } + return new N(i7, o, s); + } + const Ke = {}, Ge = {}, Iv = { touchstart: true, touchmove: true }; + class Bv { + constructor() { + this.shiftKey = false, this.mouseDown = null, this.lastKeyCode = null, this.lastKeyCodeTime = 0, this.lastClick = { time: 0, x: 0, y: 0, type: "", button: 0 }, this.lastSelectionOrigin = null, this.lastSelectionTime = 0, this.lastIOSEnter = 0, this.lastIOSEnterFallbackTimeout = -1, this.lastFocus = 0, this.lastTouch = 0, this.lastChromeDelete = 0, this.composing = false, this.compositionNode = null, this.composingTimeout = -1, this.compositionNodes = [], this.compositionEndedAt = -2e8, this.compositionID = 1, this.compositionPendingChanges = 0, this.domChangeCount = 0, this.eventHandlers = /* @__PURE__ */ Object.create(null), this.hideSelectionGuard = null; + } + } + function Fv(t7) { + for (let e7 in Ke) { + let n = Ke[e7]; + t7.dom.addEventListener(e7, t7.input.eventHandlers[e7] = (r) => { + $v(t7, r) && !Du(t7, r) && (t7.editable || !(r.type in Ge)) && n(t7, r); + }, Iv[e7] ? { passive: true } : void 0); + } + Ue && t7.dom.addEventListener("input", () => null), Bl(t7); + } + function kn(t7, e7) { + t7.input.lastSelectionOrigin = e7, t7.input.lastSelectionTime = Date.now(); + } + function zv(t7) { + t7.domObserver.stop(); + for (let e7 in t7.input.eventHandlers) + t7.dom.removeEventListener(e7, t7.input.eventHandlers[e7]); + clearTimeout(t7.input.composingTimeout), clearTimeout(t7.input.lastIOSEnterFallbackTimeout); + } + function Bl(t7) { + t7.someProp("handleDOMEvents", (e7) => { + for (let n in e7) + t7.input.eventHandlers[n] || t7.dom.addEventListener(n, t7.input.eventHandlers[n] = (r) => Du(t7, r)); + }); + } + function Du(t7, e7) { + return t7.someProp("handleDOMEvents", (n) => { + let r = n[e7.type]; + return r ? r(t7, e7) || e7.defaultPrevented : false; + }); + } + function $v(t7, e7) { + if (!e7.bubbles) + return true; + if (e7.defaultPrevented) + return false; + for (let n = e7.target; n != t7.dom; n = n.parentNode) + if (!n || n.nodeType == 11 || n.pmViewDesc && n.pmViewDesc.stopEvent(e7)) + return false; + return true; + } + function jv(t7, e7) { + !Du(t7, e7) && Ke[e7.type] && (t7.editable || !(e7.type in Ge)) && Ke[e7.type](t7, e7); + } + Ge.keydown = (t7, e7) => { + let n = e7; + if (t7.input.shiftKey = n.keyCode == 16 || n.shiftKey, !p0(t7, n) && (t7.input.lastKeyCode = n.keyCode, t7.input.lastKeyCodeTime = Date.now(), !(Gt && ze && n.keyCode == 13))) + if (n.keyCode != 229 && t7.domObserver.forceFlush(), Ir && n.keyCode == 13 && !n.ctrlKey && !n.altKey && !n.metaKey) { + let r = Date.now(); + t7.input.lastIOSEnter = r, t7.input.lastIOSEnterFallbackTimeout = setTimeout(() => { + t7.input.lastIOSEnter == r && (t7.someProp("handleKeyDown", (i7) => i7(t7, $n(13, "Enter"))), t7.input.lastIOSEnter = 0); + }, 200); + } else t7.someProp("handleKeyDown", (r) => r(t7, n)) || Nv(t7, n) ? n.preventDefault() : kn(t7, "key"); + }; + Ge.keyup = (t7, e7) => { + e7.keyCode == 16 && (t7.input.shiftKey = false); + }; + Ge.keypress = (t7, e7) => { + let n = e7; + if (p0(t7, n) || !n.charCode || n.ctrlKey && !n.altKey || dt && n.metaKey) + return; + if (t7.someProp("handleKeyPress", (i7) => i7(t7, n))) { + n.preventDefault(); + return; + } + let r = t7.state.selection; + if (!(r instanceof z) || !r.$from.sameParent(r.$to)) { + let i7 = String.fromCharCode(n.charCode), o = () => t7.state.tr.insertText(i7).scrollIntoView(); + !/[\r\n]/.test(i7) && !t7.someProp("handleTextInput", (s) => s(t7, r.$from.pos, r.$to.pos, i7, o)) && t7.dispatch(o()), n.preventDefault(); + } + }; + function sa(t7) { + return { left: t7.clientX, top: t7.clientY }; + } + function Wv(t7, e7) { + let n = e7.x - t7.clientX, r = e7.y - t7.clientY; + return n * n + r * r < 100; + } + function _u(t7, e7, n, r, i7) { + if (r == -1) + return false; + let o = t7.state.doc.resolve(r); + for (let s = o.depth + 1; s > 0; s--) + if (t7.someProp(e7, (a) => s > o.depth ? a(t7, n, o.nodeAfter, o.before(s), i7, true) : a(t7, n, o.node(s), o.before(s), i7, false))) + return true; + return false; + } + function Vr(t7, e7, n) { + if (t7.focused || t7.focus(), t7.state.selection.eq(e7)) + return; + let r = t7.state.tr.setSelection(e7); + r.setMeta("pointer", true), t7.dispatch(r); + } + function qv(t7, e7) { + if (e7 == -1) + return false; + let n = t7.state.doc.resolve(e7), r = n.nodeAfter; + return r && r.isAtom && F.isSelectable(r) ? (Vr(t7, new F(n)), true) : false; + } + function Uv(t7, e7) { + if (e7 == -1) + return false; + let n = t7.state.selection, r, i7; + n instanceof F && (r = n.node); + let o = t7.state.doc.resolve(e7); + for (let s = o.depth + 1; s > 0; s--) { + let a = s > o.depth ? o.nodeAfter : o.node(s); + if (F.isSelectable(a)) { + r && n.$from.depth > 0 && s >= n.$from.depth && o.before(n.$from.depth + 1) == n.$from.pos ? i7 = o.before(n.$from.depth) : i7 = o.before(s); + break; + } + } + return i7 != null ? (Vr(t7, F.create(t7.state.doc, i7)), true) : false; + } + function Kv(t7, e7, n, r, i7) { + return _u(t7, "handleClickOn", e7, n, r) || t7.someProp("handleClick", (o) => o(t7, e7, r)) || (i7 ? Uv(t7, n) : qv(t7, n)); + } + function Gv(t7, e7, n, r) { + return _u(t7, "handleDoubleClickOn", e7, n, r) || t7.someProp("handleDoubleClick", (i7) => i7(t7, e7, r)); + } + function Jv(t7, e7, n, r) { + return _u(t7, "handleTripleClickOn", e7, n, r) || t7.someProp("handleTripleClick", (i7) => i7(t7, e7, r)) || Zv(t7, n, r); + } + function Zv(t7, e7, n) { + if (n.button != 0) + return false; + let r = t7.state.doc; + if (e7 == -1) + return r.inlineContent ? (Vr(t7, z.create(r, 0, r.content.size)), true) : false; + let i7 = r.resolve(e7); + for (let o = i7.depth + 1; o > 0; o--) { + let s = o > i7.depth ? i7.nodeAfter : i7.node(o), a = i7.before(o); + if (s.inlineContent) + Vr(t7, z.create(r, a + 1, a + 1 + s.content.size)); + else if (F.isSelectable(s)) + Vr(t7, F.create(r, a)); + else + continue; + return true; + } + } + function Pu(t7) { + return ls(t7); + } + const f0 = dt ? "metaKey" : "ctrlKey"; + Ke.mousedown = (t7, e7) => { + let n = e7; + t7.input.shiftKey = n.shiftKey; + let r = Pu(t7), i7 = Date.now(), o = "singleClick"; + i7 - t7.input.lastClick.time < 500 && Wv(n, t7.input.lastClick) && !n[f0] && t7.input.lastClick.button == n.button && (t7.input.lastClick.type == "singleClick" ? o = "doubleClick" : t7.input.lastClick.type == "doubleClick" && (o = "tripleClick")), t7.input.lastClick = { time: i7, x: n.clientX, y: n.clientY, type: o, button: n.button }; + let s = t7.posAtCoords(sa(n)); + s && (o == "singleClick" ? (t7.input.mouseDown && t7.input.mouseDown.done(), t7.input.mouseDown = new Xv(t7, s, n, !!r)) : (o == "doubleClick" ? Gv : Jv)(t7, s.pos, s.inside, n) ? n.preventDefault() : kn(t7, "pointer")); + }; + class Xv { + constructor(e7, n, r, i7) { + this.view = e7, this.pos = n, this.event = r, this.flushed = i7, this.delayedSelectionSync = false, this.mightDrag = null, this.startDoc = e7.state.doc, this.selectNode = !!r[f0], this.allowDefault = r.shiftKey; + let o, s; + if (n.inside > -1) + o = e7.state.doc.nodeAt(n.inside), s = n.inside; + else { + let c = e7.state.doc.resolve(n.pos); + o = c.parent, s = c.depth ? c.before() : 0; + } + const a = i7 ? null : r.target, l = a ? e7.docView.nearestDesc(a, true) : null; + this.target = l && l.dom.nodeType == 1 ? l.dom : null; + let { selection: u } = e7.state; + (r.button == 0 && o.type.spec.draggable && o.type.spec.selectable !== false || u instanceof F && u.from <= s && u.to > s) && (this.mightDrag = { + node: o, + pos: s, + addAttr: !!(this.target && !this.target.draggable), + setUneditable: !!(this.target && ht && !this.target.hasAttribute("contentEditable")) + }), this.target && this.mightDrag && (this.mightDrag.addAttr || this.mightDrag.setUneditable) && (this.view.domObserver.stop(), this.mightDrag.addAttr && (this.target.draggable = true), this.mightDrag.setUneditable && setTimeout(() => { + this.view.input.mouseDown == this && this.target.setAttribute("contentEditable", "false"); + }, 20), this.view.domObserver.start()), e7.root.addEventListener("mouseup", this.up = this.up.bind(this)), e7.root.addEventListener("mousemove", this.move = this.move.bind(this)), kn(e7, "pointer"); + } + done() { + this.view.root.removeEventListener("mouseup", this.up), this.view.root.removeEventListener("mousemove", this.move), this.mightDrag && this.target && (this.view.domObserver.stop(), this.mightDrag.addAttr && this.target.removeAttribute("draggable"), this.mightDrag.setUneditable && this.target.removeAttribute("contentEditable"), this.view.domObserver.start()), this.delayedSelectionSync && setTimeout(() => Qt(this.view)), this.view.input.mouseDown = null; + } + up(e7) { + if (this.done(), !this.view.dom.contains(e7.target)) + return; + let n = this.pos; + this.view.state.doc != this.startDoc && (n = this.view.posAtCoords(sa(e7))), this.updateAllowDefault(e7), this.allowDefault || !n ? kn(this.view, "pointer") : Kv(this.view, n.pos, n.inside, e7, this.selectNode) ? e7.preventDefault() : e7.button == 0 && (this.flushed || // Safari ignores clicks on draggable elements + Ue && this.mightDrag && !this.mightDrag.node.isAtom || // Chrome will sometimes treat a node selection as a + // cursor, but still report that the node is selected + // when asked through getSelection. You'll then get a + // situation where clicking at the point where that + // (hidden) cursor is doesn't change the selection, and + // thus doesn't get a reaction from ProseMirror. This + // works around that. + ze && !this.view.state.selection.visible && Math.min(Math.abs(n.pos - this.view.state.selection.from), Math.abs(n.pos - this.view.state.selection.to)) <= 2) ? (Vr(this.view, $.near(this.view.state.doc.resolve(n.pos))), e7.preventDefault()) : kn(this.view, "pointer"); + } + move(e7) { + this.updateAllowDefault(e7), kn(this.view, "pointer"), e7.buttons == 0 && this.done(); + } + updateAllowDefault(e7) { + !this.allowDefault && (Math.abs(this.event.x - e7.clientX) > 4 || Math.abs(this.event.y - e7.clientY) > 4) && (this.allowDefault = true); + } + } + Ke.touchstart = (t7) => { + t7.input.lastTouch = Date.now(), Pu(t7), kn(t7, "pointer"); + }; + Ke.touchmove = (t7) => { + t7.input.lastTouch = Date.now(), kn(t7, "pointer"); + }; + Ke.contextmenu = (t7) => Pu(t7); + function p0(t7, e7) { + return t7.composing ? true : Ue && Math.abs(e7.timeStamp - t7.input.compositionEndedAt) < 500 ? (t7.input.compositionEndedAt = -2e8, true) : false; + } + const Yv = Gt ? 5e3 : -1; + Ge.compositionstart = Ge.compositionupdate = (t7) => { + if (!t7.composing) { + t7.domObserver.flush(); + let { state: e7 } = t7, n = e7.selection.$to; + if (e7.selection instanceof z && (e7.storedMarks || !n.textOffset && n.parentOffset && n.nodeBefore.marks.some((r) => r.type.spec.inclusive === false))) + t7.markCursor = t7.state.storedMarks || n.marks(), ls(t7, true), t7.markCursor = null; + else if (ls(t7, !e7.selection.empty), ht && e7.selection.empty && n.parentOffset && !n.textOffset && n.nodeBefore.marks.length) { + let r = t7.domSelectionRange(); + for (let i7 = r.focusNode, o = r.focusOffset; i7 && i7.nodeType == 1 && o != 0; ) { + let s = o < 0 ? i7.lastChild : i7.childNodes[o - 1]; + if (!s) + break; + if (s.nodeType == 3) { + let a = t7.domSelection(); + a && a.collapse(s, s.nodeValue.length); + break; + } else + i7 = s, o = -1; + } + } + t7.input.composing = true; + } + h0(t7, Yv); + }; + Ge.compositionend = (t7, e7) => { + t7.composing && (t7.input.composing = false, t7.input.compositionEndedAt = e7.timeStamp, t7.input.compositionPendingChanges = t7.domObserver.pendingRecords().length ? t7.input.compositionID : 0, t7.input.compositionNode = null, t7.input.compositionPendingChanges && Promise.resolve().then(() => t7.domObserver.flush()), t7.input.compositionID++, h0(t7, 20)); + }; + function h0(t7, e7) { + clearTimeout(t7.input.composingTimeout), e7 > -1 && (t7.input.composingTimeout = setTimeout(() => ls(t7), e7)); + } + function m0(t7) { + for (t7.composing && (t7.input.composing = false, t7.input.compositionEndedAt = e6()); t7.input.compositionNodes.length > 0; ) + t7.input.compositionNodes.pop().markParentsDirty(); + } + function Qv(t7) { + let e7 = t7.domSelectionRange(); + if (!e7.focusNode) + return null; + let n = q3(e7.focusNode, e7.focusOffset), r = U3(e7.focusNode, e7.focusOffset); + if (n && r && n != r) { + let i7 = r.pmViewDesc, o = t7.domObserver.lastChangedTextNode; + if (n == o || r == o) + return o; + if (!i7 || !i7.isText(r.nodeValue)) + return r; + if (t7.input.compositionNode == r) { + let s = n.pmViewDesc; + if (!(!s || !s.isText(n.nodeValue))) + return r; + } + } + return n || r; + } + function e6() { + let t7 = document.createEvent("Event"); + return t7.initEvent("event", true, true), t7.timeStamp; + } + function ls(t7, e7 = false) { + if (!(Gt && t7.domObserver.flushingSoon >= 0)) { + if (t7.domObserver.forceFlush(), m0(t7), e7 || t7.docView && t7.docView.dirty) { + let n = Hu(t7), r = t7.state.selection; + return n && !n.eq(r) ? t7.dispatch(t7.state.tr.setSelection(n)) : (t7.markCursor || e7) && !r.$from.node(r.$from.sharedDepth(r.to)).inlineContent ? t7.dispatch(t7.state.tr.deleteSelection()) : t7.updateState(t7.state), true; + } + return false; + } + } + function t6(t7, e7) { + if (!t7.dom.parentNode) + return; + let n = t7.dom.parentNode.appendChild(document.createElement("div")); + n.appendChild(e7), n.style.cssText = "position: fixed; left: -10000px; top: 10px"; + let r = getSelection(), i7 = document.createRange(); + i7.selectNodeContents(e7), t7.dom.blur(), r.removeAllRanges(), r.addRange(i7), setTimeout(() => { + n.parentNode && n.parentNode.removeChild(n), t7.focus(); + }, 50); + } + const Ii = Xe && Sn < 15 || Ir && X3 < 604; + Ke.copy = Ge.cut = (t7, e7) => { + let n = e7, r = t7.state.selection, i7 = n.type == "cut"; + if (r.empty) + return; + let o = Ii ? null : n.clipboardData, s = r.content(), { dom: a, text: l } = Ru(t7, s); + o ? (n.preventDefault(), o.clearData(), o.setData("text/html", a.innerHTML), o.setData("text/plain", l)) : t6(t7, a), i7 && t7.dispatch(t7.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent", "cut")); + }; + function n6(t7) { + return t7.openStart == 0 && t7.openEnd == 0 && t7.content.childCount == 1 ? t7.content.firstChild : null; + } + function r6(t7, e7) { + if (!t7.dom.parentNode) + return; + let n = t7.input.shiftKey || t7.state.selection.$from.parent.type.spec.code, r = t7.dom.parentNode.appendChild(document.createElement(n ? "textarea" : "div")); + n || (r.contentEditable = "true"), r.style.cssText = "position: fixed; left: -10000px; top: 10px", r.focus(); + let i7 = t7.input.shiftKey && t7.input.lastKeyCode != 45; + setTimeout(() => { + t7.focus(), r.parentNode && r.parentNode.removeChild(r), n ? Bi(t7, r.value, null, i7, e7) : Bi(t7, r.textContent, r.innerHTML, i7, e7); + }, 50); + } + function Bi(t7, e7, n, r, i7) { + let o = s0(t7, e7, n, r, t7.state.selection.$from); + if (t7.someProp("handlePaste", (l) => l(t7, i7, o || N.empty))) + return true; + if (!o) + return false; + let s = n6(o), a = s ? t7.state.tr.replaceSelectionWith(s, r) : t7.state.tr.replaceSelection(o); + return t7.dispatch(a.scrollIntoView().setMeta("paste", true).setMeta("uiEvent", "paste")), true; + } + function g0(t7) { + let e7 = t7.getData("text/plain") || t7.getData("Text"); + if (e7) + return e7; + let n = t7.getData("text/uri-list"); + return n ? n.replace(/\r?\n/g, " ") : ""; + } + Ge.paste = (t7, e7) => { + let n = e7; + if (t7.composing && !Gt) + return; + let r = Ii ? null : n.clipboardData, i7 = t7.input.shiftKey && t7.input.lastKeyCode != 45; + r && Bi(t7, g0(r), r.getData("text/html"), i7, n) ? n.preventDefault() : r6(t7, n); + }; + class b0 { + constructor(e7, n, r) { + this.slice = e7, this.move = n, this.node = r; + } + } + const i6 = dt ? "altKey" : "ctrlKey"; + function y0(t7, e7) { + let n = t7.someProp("dragCopies", (r) => !r(e7)); + return n ?? !e7[i6]; + } + Ke.dragstart = (t7, e7) => { + let n = e7, r = t7.input.mouseDown; + if (r && r.done(), !n.dataTransfer) + return; + let i7 = t7.state.selection, o = i7.empty ? null : t7.posAtCoords(sa(n)), s; + if (!(o && o.pos >= i7.from && o.pos <= (i7 instanceof F ? i7.to - 1 : i7.to))) { + if (r && r.mightDrag) + s = F.create(t7.state.doc, r.mightDrag.pos); + else if (n.target && n.target.nodeType == 1) { + let d = t7.docView.nearestDesc(n.target, true); + d && d.node.type.spec.draggable && d != t7.docView && (s = F.create(t7.state.doc, d.posBefore)); + } + } + let a = (s || t7.state.selection).content(), { dom: l, text: u, slice: c } = Ru(t7, a); + (!n.dataTransfer.files.length || !ze || Wh > 120) && n.dataTransfer.clearData(), n.dataTransfer.setData(Ii ? "Text" : "text/html", l.innerHTML), n.dataTransfer.effectAllowed = "copyMove", Ii || n.dataTransfer.setData("text/plain", u), t7.dragging = new b0(c, y0(t7, n), s); + }; + Ke.dragend = (t7) => { + let e7 = t7.dragging; + window.setTimeout(() => { + t7.dragging == e7 && (t7.dragging = null); + }, 50); + }; + Ge.dragover = Ge.dragenter = (t7, e7) => e7.preventDefault(); + Ge.drop = (t7, e7) => { + let n = e7, r = t7.dragging; + if (t7.dragging = null, !n.dataTransfer) + return; + let i7 = t7.posAtCoords(sa(n)); + if (!i7) + return; + let o = t7.state.doc.resolve(i7.pos), s = r && r.slice; + s ? t7.someProp("transformPasted", (h) => { + s = h(s, t7, false); + }) : s = s0(t7, g0(n.dataTransfer), Ii ? null : n.dataTransfer.getData("text/html"), false, o); + let a = !!(r && y0(t7, n)); + if (t7.someProp("handleDrop", (h) => h(t7, n, s || N.empty, a))) { + n.preventDefault(); + return; + } + if (!s) + return; + n.preventDefault(); + let l = s ? Dh(t7.state.doc, o.pos, s) : o.pos; + l == null && (l = o.pos); + let u = t7.state.tr; + if (a) { + let { node: h } = r; + h ? h.replace(u) : u.deleteSelection(); + } + let c = u.mapping.map(l), d = s.openStart == 0 && s.openEnd == 0 && s.content.childCount == 1, f = u.doc; + if (d ? u.replaceRangeWith(c, c, s.content.firstChild) : u.replaceRange(c, c, s), u.doc.eq(f)) + return; + let p = u.doc.resolve(c); + if (d && F.isSelectable(s.content.firstChild) && p.nodeAfter && p.nodeAfter.sameMarkup(s.content.firstChild)) + u.setSelection(new F(p)); + else { + let h = u.mapping.map(l); + u.mapping.maps[u.mapping.maps.length - 1].forEach((m7, g, b, x) => h = x), u.setSelection(Vu(t7, p, u.doc.resolve(h))); + } + t7.focus(), t7.dispatch(u.setMeta("uiEvent", "drop")); + }; + Ke.focus = (t7) => { + t7.input.lastFocus = Date.now(), t7.focused || (t7.domObserver.stop(), t7.dom.classList.add("ProseMirror-focused"), t7.domObserver.start(), t7.focused = true, setTimeout(() => { + t7.docView && t7.hasFocus() && !t7.domObserver.currentSelection.eq(t7.domSelectionRange()) && Qt(t7); + }, 20)); + }; + Ke.blur = (t7, e7) => { + let n = e7; + t7.focused && (t7.domObserver.stop(), t7.dom.classList.remove("ProseMirror-focused"), t7.domObserver.start(), n.relatedTarget && t7.dom.contains(n.relatedTarget) && t7.domObserver.currentSelection.clear(), t7.focused = false); + }; + Ke.beforeinput = (t7, e7) => { + if (ze && Gt && e7.inputType == "deleteContentBackward") { + t7.domObserver.flushSoon(); + let { domChangeCount: r } = t7.input; + setTimeout(() => { + if (t7.input.domChangeCount != r || (t7.dom.blur(), t7.focus(), t7.someProp("handleKeyDown", (o) => o(t7, $n(8, "Backspace"))))) + return; + let { $cursor: i7 } = t7.state.selection; + i7 && i7.pos > 0 && t7.dispatch(t7.state.tr.delete(i7.pos - 1, i7.pos).scrollIntoView()); + }, 50); + } + }; + for (let t7 in Ge) + Ke[t7] = Ge[t7]; + function Fi(t7, e7) { + if (t7 == e7) + return true; + for (let n in t7) + if (t7[n] !== e7[n]) + return false; + for (let n in e7) + if (!(n in t7)) + return false; + return true; + } + class us { + constructor(e7, n) { + this.toDOM = e7, this.spec = n || Zn, this.side = this.spec.side || 0; + } + map(e7, n, r, i7) { + let { pos: o, deleted: s } = e7.mapResult(n.from + i7, this.side < 0 ? -1 : 1); + return s ? null : new Ie(o - r, o - r, this); + } + valid() { + return true; + } + eq(e7) { + return this == e7 || e7 instanceof us && (this.spec.key && this.spec.key == e7.spec.key || this.toDOM == e7.toDOM && Fi(this.spec, e7.spec)); + } + destroy(e7) { + this.spec.destroy && this.spec.destroy(e7); + } + } + class En { + constructor(e7, n) { + this.attrs = e7, this.spec = n || Zn; + } + map(e7, n, r, i7) { + let o = e7.map(n.from + i7, this.spec.inclusiveStart ? -1 : 1) - r, s = e7.map(n.to + i7, this.spec.inclusiveEnd ? 1 : -1) - r; + return o >= s ? null : new Ie(o, s, this); + } + valid(e7, n) { + return n.from < n.to; + } + eq(e7) { + return this == e7 || e7 instanceof En && Fi(this.attrs, e7.attrs) && Fi(this.spec, e7.spec); + } + static is(e7) { + return e7.type instanceof En; + } + destroy() { + } + } + class Iu { + constructor(e7, n) { + this.attrs = e7, this.spec = n || Zn; + } + map(e7, n, r, i7) { + let o = e7.mapResult(n.from + i7, 1); + if (o.deleted) + return null; + let s = e7.mapResult(n.to + i7, -1); + return s.deleted || s.pos <= o.pos ? null : new Ie(o.pos - r, s.pos - r, this); + } + valid(e7, n) { + let { index: r, offset: i7 } = e7.content.findIndex(n.from), o; + return i7 == n.from && !(o = e7.child(r)).isText && i7 + o.nodeSize == n.to; + } + eq(e7) { + return this == e7 || e7 instanceof Iu && Fi(this.attrs, e7.attrs) && Fi(this.spec, e7.spec); + } + destroy() { + } + } + class Ie { + /** + @internal + */ + constructor(e7, n, r) { + this.from = e7, this.to = n, this.type = r; + } + /** + @internal + */ + copy(e7, n) { + return new Ie(e7, n, this.type); + } + /** + @internal + */ + eq(e7, n = 0) { + return this.type.eq(e7.type) && this.from + n == e7.from && this.to + n == e7.to; + } + /** + @internal + */ + map(e7, n, r) { + return this.type.map(e7, this, n, r); + } + /** + Creates a widget decoration, which is a DOM node that's shown in + the document at the given position. It is recommended that you + delay rendering the widget by passing a function that will be + called when the widget is actually drawn in a view, but you can + also directly pass a DOM node. `getPos` can be used to find the + widget's current document position. + */ + static widget(e7, n, r) { + return new Ie(e7, e7, new us(n, r)); + } + /** + Creates an inline decoration, which adds the given attributes to + each inline node between `from` and `to`. + */ + static inline(e7, n, r, i7) { + return new Ie(e7, n, new En(r, i7)); + } + /** + Creates a node decoration. `from` and `to` should point precisely + before and after a node in the document. That node, and only that + node, will receive the given attributes. + */ + static node(e7, n, r, i7) { + return new Ie(e7, n, new Iu(r, i7)); + } + /** + The spec provided when creating this decoration. Can be useful + if you've stored extra information in that object. + */ + get spec() { + return this.type.spec; + } + /** + @internal + */ + get inline() { + return this.type instanceof En; + } + /** + @internal + */ + get widget() { + return this.type instanceof us; + } + } + const Cr = [], Zn = {}; + class de { + /** + @internal + */ + constructor(e7, n) { + this.local = e7.length ? e7 : Cr, this.children = n.length ? n : Cr; + } + /** + Create a set of decorations, using the structure of the given + document. This will consume (modify) the `decorations` array, so + you must make a copy if you want need to preserve that. + */ + static create(e7, n) { + return n.length ? cs(n, e7, 0, Zn) : Fe; + } + /** + Find all decorations in this set which touch the given range + (including decorations that start or end directly at the + boundaries) and match the given predicate on their spec. When + `start` and `end` are omitted, all decorations in the set are + considered. When `predicate` isn't given, all decorations are + assumed to match. + */ + find(e7, n, r) { + let i7 = []; + return this.findInner(e7 ?? 0, n ?? 1e9, i7, 0, r), i7; + } + findInner(e7, n, r, i7, o) { + for (let s = 0; s < this.local.length; s++) { + let a = this.local[s]; + a.from <= n && a.to >= e7 && (!o || o(a.spec)) && r.push(a.copy(a.from + i7, a.to + i7)); + } + for (let s = 0; s < this.children.length; s += 3) + if (this.children[s] < n && this.children[s + 1] > e7) { + let a = this.children[s] + 1; + this.children[s + 2].findInner(e7 - a, n - a, r, i7 + a, o); + } + } + /** + Map the set of decorations in response to a change in the + document. + */ + map(e7, n, r) { + return this == Fe || e7.maps.length == 0 ? this : this.mapInner(e7, n, 0, 0, r || Zn); + } + /** + @internal + */ + mapInner(e7, n, r, i7, o) { + let s; + for (let a = 0; a < this.local.length; a++) { + let l = this.local[a].map(e7, r, i7); + l && l.type.valid(n, l) ? (s || (s = [])).push(l) : o.onRemove && o.onRemove(this.local[a].spec); + } + return this.children.length ? o6(this.children, s || [], e7, n, r, i7, o) : s ? new de(s.sort(Xn), Cr) : Fe; + } + /** + Add the given array of decorations to the ones in the set, + producing a new set. Consumes the `decorations` array. Needs + access to the current document to create the appropriate tree + structure. + */ + add(e7, n) { + return n.length ? this == Fe ? de.create(e7, n) : this.addInner(e7, n, 0) : this; + } + addInner(e7, n, r) { + let i7, o = 0; + e7.forEach((a, l) => { + let u = l + r, c; + if (c = w0(n, a, u)) { + for (i7 || (i7 = this.children.slice()); o < i7.length && i7[o] < l; ) + o += 3; + i7[o] == l ? i7[o + 2] = i7[o + 2].addInner(a, c, u + 1) : i7.splice(o, 0, l, l + a.nodeSize, cs(c, a, u + 1, Zn)), o += 3; + } + }); + let s = v0(o ? x0(n) : n, -r); + for (let a = 0; a < s.length; a++) + s[a].type.valid(e7, s[a]) || s.splice(a--, 1); + return new de(s.length ? this.local.concat(s).sort(Xn) : this.local, i7 || this.children); + } + /** + Create a new set that contains the decorations in this set, minus + the ones in the given array. + */ + remove(e7) { + return e7.length == 0 || this == Fe ? this : this.removeInner(e7, 0); + } + removeInner(e7, n) { + let r = this.children, i7 = this.local; + for (let o = 0; o < r.length; o += 3) { + let s, a = r[o] + n, l = r[o + 1] + n; + for (let c = 0, d; c < e7.length; c++) + (d = e7[c]) && d.from > a && d.to < l && (e7[c] = null, (s || (s = [])).push(d)); + if (!s) + continue; + r == this.children && (r = this.children.slice()); + let u = r[o + 2].removeInner(s, a + 1); + u != Fe ? r[o + 2] = u : (r.splice(o, 3), o -= 3); + } + if (i7.length) { + for (let o = 0, s; o < e7.length; o++) + if (s = e7[o]) + for (let a = 0; a < i7.length; a++) + i7[a].eq(s, n) && (i7 == this.local && (i7 = this.local.slice()), i7.splice(a--, 1)); + } + return r == this.children && i7 == this.local ? this : i7.length || r.length ? new de(i7, r) : Fe; + } + forChild(e7, n) { + if (this == Fe) + return this; + if (n.isLeaf) + return de.empty; + let r, i7; + for (let a = 0; a < this.children.length; a += 3) + if (this.children[a] >= e7) { + this.children[a] == e7 && (r = this.children[a + 2]); + break; + } + let o = e7 + 1, s = o + n.content.size; + for (let a = 0; a < this.local.length; a++) { + let l = this.local[a]; + if (l.from < s && l.to > o && l.type instanceof En) { + let u = Math.max(o, l.from) - o, c = Math.min(s, l.to) - o; + u < c && (i7 || (i7 = [])).push(l.copy(u, c)); + } + } + if (i7) { + let a = new de(i7.sort(Xn), Cr); + return r ? new gn([a, r]) : a; + } + return r || Fe; + } + /** + @internal + */ + eq(e7) { + if (this == e7) + return true; + if (!(e7 instanceof de) || this.local.length != e7.local.length || this.children.length != e7.children.length) + return false; + for (let n = 0; n < this.local.length; n++) + if (!this.local[n].eq(e7.local[n])) + return false; + for (let n = 0; n < this.children.length; n += 3) + if (this.children[n] != e7.children[n] || this.children[n + 1] != e7.children[n + 1] || !this.children[n + 2].eq(e7.children[n + 2])) + return false; + return true; + } + /** + @internal + */ + locals(e7) { + return Bu(this.localsInner(e7)); + } + /** + @internal + */ + localsInner(e7) { + if (this == Fe) + return Cr; + if (e7.inlineContent || !this.local.some(En.is)) + return this.local; + let n = []; + for (let r = 0; r < this.local.length; r++) + this.local[r].type instanceof En || n.push(this.local[r]); + return n; + } + forEachSet(e7) { + e7(this); + } + } + de.empty = new de([], []); + de.removeOverlap = Bu; + const Fe = de.empty; + class gn { + constructor(e7) { + this.members = e7; + } + map(e7, n) { + const r = this.members.map((i7) => i7.map(e7, n, Zn)); + return gn.from(r); + } + forChild(e7, n) { + if (n.isLeaf) + return de.empty; + let r = []; + for (let i7 = 0; i7 < this.members.length; i7++) { + let o = this.members[i7].forChild(e7, n); + o != Fe && (o instanceof gn ? r = r.concat(o.members) : r.push(o)); + } + return gn.from(r); + } + eq(e7) { + if (!(e7 instanceof gn) || e7.members.length != this.members.length) + return false; + for (let n = 0; n < this.members.length; n++) + if (!this.members[n].eq(e7.members[n])) + return false; + return true; + } + locals(e7) { + let n, r = true; + for (let i7 = 0; i7 < this.members.length; i7++) { + let o = this.members[i7].localsInner(e7); + if (o.length) + if (!n) + n = o; + else { + r && (n = n.slice(), r = false); + for (let s = 0; s < o.length; s++) + n.push(o[s]); + } + } + return n ? Bu(r ? n : n.sort(Xn)) : Cr; + } + // Create a group for the given array of decoration sets, or return + // a single set when possible. + static from(e7) { + switch (e7.length) { + case 0: + return Fe; + case 1: + return e7[0]; + default: + return new gn(e7.every((n) => n instanceof de) ? e7 : e7.reduce((n, r) => n.concat(r instanceof de ? r : r.members), [])); + } + } + forEachSet(e7) { + for (let n = 0; n < this.members.length; n++) + this.members[n].forEachSet(e7); + } + } + function o6(t7, e7, n, r, i7, o, s) { + let a = t7.slice(); + for (let u = 0, c = o; u < n.maps.length; u++) { + let d = 0; + n.maps[u].forEach((f, p, h, m7) => { + let g = m7 - h - (p - f); + for (let b = 0; b < a.length; b += 3) { + let x = a[b + 1]; + if (x < 0 || f > x + c - d) + continue; + let w = a[b] + c - d; + p >= w ? a[b + 1] = f <= w ? -2 : -1 : f >= c && g && (a[b] += g, a[b + 1] += g); + } + d += g; + }), c = n.maps[u].map(c, -1); + } + let l = false; + for (let u = 0; u < a.length; u += 3) + if (a[u + 1] < 0) { + if (a[u + 1] == -2) { + l = true, a[u + 1] = -1; + continue; + } + let c = n.map(t7[u] + o), d = c - i7; + if (d < 0 || d >= r.content.size) { + l = true; + continue; + } + let f = n.map(t7[u + 1] + o, -1), p = f - i7, { index: h, offset: m7 } = r.content.findIndex(d), g = r.maybeChild(h); + if (g && m7 == d && m7 + g.nodeSize == p) { + let b = a[u + 2].mapInner(n, g, c + 1, t7[u] + o + 1, s); + b != Fe ? (a[u] = d, a[u + 1] = p, a[u + 2] = b) : (a[u + 1] = -2, l = true); + } else + l = true; + } + if (l) { + let u = s6(a, t7, e7, n, i7, o, s), c = cs(u, r, 0, s); + e7 = c.local; + for (let d = 0; d < a.length; d += 3) + a[d + 1] < 0 && (a.splice(d, 3), d -= 3); + for (let d = 0, f = 0; d < c.children.length; d += 3) { + let p = c.children[d]; + for (; f < a.length && a[f] < p; ) + f += 3; + a.splice(f, 0, c.children[d], c.children[d + 1], c.children[d + 2]); + } + } + return new de(e7.sort(Xn), a); + } + function v0(t7, e7) { + if (!e7 || !t7.length) + return t7; + let n = []; + for (let r = 0; r < t7.length; r++) { + let i7 = t7[r]; + n.push(new Ie(i7.from + e7, i7.to + e7, i7.type)); + } + return n; + } + function s6(t7, e7, n, r, i7, o, s) { + function a(l, u) { + for (let c = 0; c < l.local.length; c++) { + let d = l.local[c].map(r, i7, u); + d ? n.push(d) : s.onRemove && s.onRemove(l.local[c].spec); + } + for (let c = 0; c < l.children.length; c += 3) + a(l.children[c + 2], l.children[c] + u + 1); + } + for (let l = 0; l < t7.length; l += 3) + t7[l + 1] == -1 && a(t7[l + 2], e7[l] + o + 1); + return n; + } + function w0(t7, e7, n) { + if (e7.isLeaf) + return null; + let r = n + e7.nodeSize, i7 = null; + for (let o = 0, s; o < t7.length; o++) + (s = t7[o]) && s.from > n && s.to < r && ((i7 || (i7 = [])).push(s), t7[o] = null); + return i7; + } + function x0(t7) { + let e7 = []; + for (let n = 0; n < t7.length; n++) + t7[n] != null && e7.push(t7[n]); + return e7; + } + function cs(t7, e7, n, r) { + let i7 = [], o = false; + e7.forEach((a, l) => { + let u = w0(t7, a, l + n); + if (u) { + o = true; + let c = cs(u, a, n + l + 1, r); + c != Fe && i7.push(l, l + a.nodeSize, c); + } + }); + let s = v0(o ? x0(t7) : t7, -n).sort(Xn); + for (let a = 0; a < s.length; a++) + s[a].type.valid(e7, s[a]) || (r.onRemove && r.onRemove(s[a].spec), s.splice(a--, 1)); + return s.length || i7.length ? new de(s, i7) : Fe; + } + function Xn(t7, e7) { + return t7.from - e7.from || t7.to - e7.to; + } + function Bu(t7) { + let e7 = t7; + for (let n = 0; n < e7.length - 1; n++) { + let r = e7[n]; + if (r.from != r.to) + for (let i7 = n + 1; i7 < e7.length; i7++) { + let o = e7[i7]; + if (o.from == r.from) { + o.to != r.to && (e7 == t7 && (e7 = t7.slice()), e7[i7] = o.copy(o.from, r.to), qd(e7, i7 + 1, o.copy(r.to, o.to))); + continue; + } else { + o.from < r.to && (e7 == t7 && (e7 = t7.slice()), e7[n] = r.copy(r.from, o.from), qd(e7, i7, r.copy(o.from, r.to))); + break; + } + } + } + return e7; + } + function qd(t7, e7, n) { + for (; e7 < t7.length && Xn(n, t7[e7]) > 0; ) + e7++; + t7.splice(e7, 0, n); + } + function Ba(t7) { + let e7 = []; + return t7.someProp("decorations", (n) => { + let r = n(t7.state); + r && r != Fe && e7.push(r); + }), t7.cursorWrapper && e7.push(de.create(t7.state.doc, [t7.cursorWrapper.deco])), gn.from(e7); + } + const a6 = { + childList: true, + characterData: true, + characterDataOldValue: true, + attributes: true, + attributeOldValue: true, + subtree: true + }, l6 = Xe && Sn <= 11; + class u6 { + constructor() { + this.anchorNode = null, this.anchorOffset = 0, this.focusNode = null, this.focusOffset = 0; + } + set(e7) { + this.anchorNode = e7.anchorNode, this.anchorOffset = e7.anchorOffset, this.focusNode = e7.focusNode, this.focusOffset = e7.focusOffset; + } + clear() { + this.anchorNode = this.focusNode = null; + } + eq(e7) { + return e7.anchorNode == this.anchorNode && e7.anchorOffset == this.anchorOffset && e7.focusNode == this.focusNode && e7.focusOffset == this.focusOffset; + } + } + class c6 { + constructor(e7, n) { + this.view = e7, this.handleDOMChange = n, this.queue = [], this.flushingSoon = -1, this.observer = null, this.currentSelection = new u6(), this.onCharData = null, this.suppressingSelectionUpdates = false, this.lastChangedTextNode = null, this.observer = window.MutationObserver && new window.MutationObserver((r) => { + for (let i7 = 0; i7 < r.length; i7++) + this.queue.push(r[i7]); + Xe && Sn <= 11 && r.some((i7) => i7.type == "childList" && i7.removedNodes.length || i7.type == "characterData" && i7.oldValue.length > i7.target.nodeValue.length) ? this.flushSoon() : this.flush(); + }), l6 && (this.onCharData = (r) => { + this.queue.push({ target: r.target, type: "characterData", oldValue: r.prevValue }), this.flushSoon(); + }), this.onSelectionChange = this.onSelectionChange.bind(this); + } + flushSoon() { + this.flushingSoon < 0 && (this.flushingSoon = window.setTimeout(() => { + this.flushingSoon = -1, this.flush(); + }, 20)); + } + forceFlush() { + this.flushingSoon > -1 && (window.clearTimeout(this.flushingSoon), this.flushingSoon = -1, this.flush()); + } + start() { + this.observer && (this.observer.takeRecords(), this.observer.observe(this.view.dom, a6)), this.onCharData && this.view.dom.addEventListener("DOMCharacterDataModified", this.onCharData), this.connectSelection(); + } + stop() { + if (this.observer) { + let e7 = this.observer.takeRecords(); + if (e7.length) { + for (let n = 0; n < e7.length; n++) + this.queue.push(e7[n]); + window.setTimeout(() => this.flush(), 20); + } + this.observer.disconnect(); + } + this.onCharData && this.view.dom.removeEventListener("DOMCharacterDataModified", this.onCharData), this.disconnectSelection(); + } + connectSelection() { + this.view.dom.ownerDocument.addEventListener("selectionchange", this.onSelectionChange); + } + disconnectSelection() { + this.view.dom.ownerDocument.removeEventListener("selectionchange", this.onSelectionChange); + } + suppressSelectionUpdates() { + this.suppressingSelectionUpdates = true, setTimeout(() => this.suppressingSelectionUpdates = false, 50); + } + onSelectionChange() { + if (Pd(this.view)) { + if (this.suppressingSelectionUpdates) + return Qt(this.view); + if (Xe && Sn <= 11 && !this.view.state.selection.empty) { + let e7 = this.view.domSelectionRange(); + if (e7.focusNode && or(e7.focusNode, e7.focusOffset, e7.anchorNode, e7.anchorOffset)) + return this.flushSoon(); + } + this.flush(); + } + } + setCurSelection() { + this.currentSelection.set(this.view.domSelectionRange()); + } + ignoreSelectionChange(e7) { + if (!e7.focusNode) + return true; + let n = /* @__PURE__ */ new Set(), r; + for (let o = e7.focusNode; o; o = Pr(o)) + n.add(o); + for (let o = e7.anchorNode; o; o = Pr(o)) + if (n.has(o)) { + r = o; + break; + } + let i7 = r && this.view.docView.nearestDesc(r); + if (i7 && i7.ignoreMutation({ + type: "selection", + target: r.nodeType == 3 ? r.parentNode : r + })) + return this.setCurSelection(), true; + } + pendingRecords() { + if (this.observer) + for (let e7 of this.observer.takeRecords()) + this.queue.push(e7); + return this.queue; + } + flush() { + let { view: e7 } = this; + if (!e7.docView || this.flushingSoon > -1) + return; + let n = this.pendingRecords(); + n.length && (this.queue = []); + let r = e7.domSelectionRange(), i7 = !this.suppressingSelectionUpdates && !this.currentSelection.eq(r) && Pd(e7) && !this.ignoreSelectionChange(r), o = -1, s = -1, a = false, l = []; + if (e7.editable) + for (let c = 0; c < n.length; c++) { + let d = this.registerMutation(n[c], l); + d && (o = o < 0 ? d.from : Math.min(d.from, o), s = s < 0 ? d.to : Math.max(d.to, s), d.typeOver && (a = true)); + } + if (ht && l.length) { + let c = l.filter((d) => d.nodeName == "BR"); + if (c.length == 2) { + let [d, f] = c; + d.parentNode && d.parentNode.parentNode == f.parentNode ? f.remove() : d.remove(); + } else { + let { focusNode: d } = this.currentSelection; + for (let f of c) { + let p = f.parentNode; + p && p.nodeName == "LI" && (!d || p6(e7, d) != p) && f.remove(); + } + } + } + let u = null; + o < 0 && i7 && e7.input.lastFocus > Date.now() - 200 && Math.max(e7.input.lastTouch, e7.input.lastClick.time) < Date.now() - 300 && ia(r) && (u = Hu(e7)) && u.eq($.near(e7.state.doc.resolve(0), 1)) ? (e7.input.lastFocus = 0, Qt(e7), this.currentSelection.set(r), e7.scrollToSelection()) : (o > -1 || i7) && (o > -1 && (e7.docView.markDirty(o, s), d6(e7)), this.handleDOMChange(o, s, a, l), e7.docView && e7.docView.dirty ? e7.updateState(e7.state) : this.currentSelection.eq(r) || Qt(e7), this.currentSelection.set(r)); + } + registerMutation(e7, n) { + if (n.indexOf(e7.target) > -1) + return null; + let r = this.view.docView.nearestDesc(e7.target); + if (e7.type == "attributes" && (r == this.view.docView || e7.attributeName == "contenteditable" || // Firefox sometimes fires spurious events for null/empty styles + e7.attributeName == "style" && !e7.oldValue && !e7.target.getAttribute("style")) || !r || r.ignoreMutation(e7)) + return null; + if (e7.type == "childList") { + for (let c = 0; c < e7.addedNodes.length; c++) { + let d = e7.addedNodes[c]; + n.push(d), d.nodeType == 3 && (this.lastChangedTextNode = d); + } + if (r.contentDOM && r.contentDOM != r.dom && !r.contentDOM.contains(e7.target)) + return { from: r.posBefore, to: r.posAfter }; + let i7 = e7.previousSibling, o = e7.nextSibling; + if (Xe && Sn <= 11 && e7.addedNodes.length) + for (let c = 0; c < e7.addedNodes.length; c++) { + let { previousSibling: d, nextSibling: f } = e7.addedNodes[c]; + (!d || Array.prototype.indexOf.call(e7.addedNodes, d) < 0) && (i7 = d), (!f || Array.prototype.indexOf.call(e7.addedNodes, f) < 0) && (o = f); + } + let s = i7 && i7.parentNode == e7.target ? De(i7) + 1 : 0, a = r.localPosFromDOM(e7.target, s, -1), l = o && o.parentNode == e7.target ? De(o) : e7.target.childNodes.length, u = r.localPosFromDOM(e7.target, l, 1); + return { from: a, to: u }; + } else return e7.type == "attributes" ? { from: r.posAtStart - r.border, to: r.posAtEnd + r.border } : (this.lastChangedTextNode = e7.target, { + from: r.posAtStart, + to: r.posAtEnd, + // An event was generated for a text change that didn't change + // any text. Mark the dom change to fall back to assuming the + // selection was typed over with an identical value if it can't + // find another change. + typeOver: e7.target.nodeValue == e7.oldValue + }); + } + } + let Ud = /* @__PURE__ */ new WeakMap(), Kd = false; + function d6(t7) { + if (!Ud.has(t7) && (Ud.set(t7, null), ["normal", "nowrap", "pre-line"].indexOf(getComputedStyle(t7.dom).whiteSpace) !== -1)) { + if (t7.requiresGeckoHackNode = ht, Kd) + return; + console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."), Kd = true; + } + } + function Gd(t7, e7) { + let n = e7.startContainer, r = e7.startOffset, i7 = e7.endContainer, o = e7.endOffset, s = t7.domAtPos(t7.state.selection.anchor); + return or(s.node, s.offset, i7, o) && ([n, r, i7, o] = [i7, o, n, r]), { anchorNode: n, anchorOffset: r, focusNode: i7, focusOffset: o }; + } + function f6(t7, e7) { + if (e7.getComposedRanges) { + let i7 = e7.getComposedRanges(t7.root)[0]; + if (i7) + return Gd(t7, i7); + } + let n; + function r(i7) { + i7.preventDefault(), i7.stopImmediatePropagation(), n = i7.getTargetRanges()[0]; + } + return t7.dom.addEventListener("beforeinput", r, true), document.execCommand("indent"), t7.dom.removeEventListener("beforeinput", r, true), n ? Gd(t7, n) : null; + } + function p6(t7, e7) { + for (let n = e7.parentNode; n && n != t7.dom; n = n.parentNode) { + let r = t7.docView.nearestDesc(n, true); + if (r && r.node.isBlock) + return n; + } + return null; + } + function h6(t7, e7, n) { + let { node: r, fromOffset: i7, toOffset: o, from: s, to: a } = t7.docView.parseRange(e7, n), l = t7.domSelectionRange(), u, c = l.anchorNode; + if (c && t7.dom.contains(c.nodeType == 1 ? c : c.parentNode) && (u = [{ node: c, offset: l.anchorOffset }], ia(l) || u.push({ node: l.focusNode, offset: l.focusOffset })), ze && t7.input.lastKeyCode === 8) + for (let g = o; g > i7; g--) { + let b = r.childNodes[g - 1], x = b.pmViewDesc; + if (b.nodeName == "BR" && !x) { + o = g; + break; + } + if (!x || x.size) + break; + } + let d = t7.state.doc, f = t7.someProp("domParser") || Cn.fromSchema(t7.state.schema), p = d.resolve(s), h = null, m7 = f.parse(r, { + topNode: p.parent, + topMatch: p.parent.contentMatchAt(p.index()), + topOpen: true, + from: i7, + to: o, + preserveWhitespace: p.parent.type.whitespace == "pre" ? "full" : true, + findPositions: u, + ruleFromNode: m6, + context: p + }); + if (u && u[0].pos != null) { + let g = u[0].pos, b = u[1] && u[1].pos; + b == null && (b = g), h = { anchor: g + s, head: b + s }; + } + return { doc: m7, sel: h, from: s, to: a }; + } + function m6(t7) { + let e7 = t7.pmViewDesc; + if (e7) + return e7.parseRule(); + if (t7.nodeName == "BR" && t7.parentNode) { + if (Ue && /^(ul|ol)$/i.test(t7.parentNode.nodeName)) { + let n = document.createElement("div"); + return n.appendChild(document.createElement("li")), { skip: n }; + } else if (t7.parentNode.lastChild == t7 || Ue && /^(tr|table)$/i.test(t7.parentNode.nodeName)) + return { ignore: true }; + } else if (t7.nodeName == "IMG" && t7.getAttribute("mark-placeholder")) + return { ignore: true }; + return null; + } + const g6 = /^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i; + function b6(t7, e7, n, r, i7) { + let o = t7.input.compositionPendingChanges || (t7.composing ? t7.input.compositionID : 0); + if (t7.input.compositionPendingChanges = 0, e7 < 0) { + let A = t7.input.lastSelectionTime > Date.now() - 50 ? t7.input.lastSelectionOrigin : null, H = Hu(t7, A); + if (H && !t7.state.selection.eq(H)) { + if (ze && Gt && t7.input.lastKeyCode === 13 && Date.now() - 100 < t7.input.lastKeyCodeTime && t7.someProp("handleKeyDown", (P) => P(t7, $n(13, "Enter")))) + return; + let B = t7.state.tr.setSelection(H); + A == "pointer" ? B.setMeta("pointer", true) : A == "key" && B.scrollIntoView(), o && B.setMeta("composition", o), t7.dispatch(B); + } + return; + } + let s = t7.state.doc.resolve(e7), a = s.sharedDepth(n); + e7 = s.before(a + 1), n = t7.state.doc.resolve(n).after(a + 1); + let l = t7.state.selection, u = h6(t7, e7, n), c = t7.state.doc, d = c.slice(u.from, u.to), f, p; + t7.input.lastKeyCode === 8 && Date.now() - 100 < t7.input.lastKeyCodeTime ? (f = t7.state.selection.to, p = "end") : (f = t7.state.selection.from, p = "start"), t7.input.lastKeyCode = null; + let h = w6(d.content, u.doc.content, u.from, f, p); + if (h && t7.input.domChangeCount++, (Ir && t7.input.lastIOSEnter > Date.now() - 225 || Gt) && i7.some((A) => A.nodeType == 1 && !g6.test(A.nodeName)) && (!h || h.endA >= h.endB) && t7.someProp("handleKeyDown", (A) => A(t7, $n(13, "Enter")))) { + t7.input.lastIOSEnter = 0; + return; + } + if (!h) + if (r && l instanceof z && !l.empty && l.$head.sameParent(l.$anchor) && !t7.composing && !(u.sel && u.sel.anchor != u.sel.head)) + h = { start: l.from, endA: l.to, endB: l.to }; + else { + if (u.sel) { + let A = Jd(t7, t7.state.doc, u.sel); + if (A && !A.eq(t7.state.selection)) { + let H = t7.state.tr.setSelection(A); + o && H.setMeta("composition", o), t7.dispatch(H); + } + } + return; + } + t7.state.selection.from < t7.state.selection.to && h.start == h.endB && t7.state.selection instanceof z && (h.start > t7.state.selection.from && h.start <= t7.state.selection.from + 2 && t7.state.selection.from >= u.from ? h.start = t7.state.selection.from : h.endA < t7.state.selection.to && h.endA >= t7.state.selection.to - 2 && t7.state.selection.to <= u.to && (h.endB += t7.state.selection.to - h.endA, h.endA = t7.state.selection.to)), Xe && Sn <= 11 && h.endB == h.start + 1 && h.endA == h.start && h.start > u.from && u.doc.textBetween(h.start - u.from - 1, h.start - u.from + 1) == "  " && (h.start--, h.endA--, h.endB--); + let m7 = u.doc.resolveNoCache(h.start - u.from), g = u.doc.resolveNoCache(h.endB - u.from), b = c.resolve(h.start), x = m7.sameParent(g) && m7.parent.inlineContent && b.end() >= h.endA, w; + if ((Ir && t7.input.lastIOSEnter > Date.now() - 225 && (!x || i7.some((A) => A.nodeName == "DIV" || A.nodeName == "P")) || !x && m7.pos < u.doc.content.size && (!m7.sameParent(g) || !m7.parent.inlineContent) && !/\S/.test(u.doc.textBetween(m7.pos, g.pos, "", "")) && (w = $.findFrom(u.doc.resolve(m7.pos + 1), 1, true)) && w.head > m7.pos) && t7.someProp("handleKeyDown", (A) => A(t7, $n(13, "Enter")))) { + t7.input.lastIOSEnter = 0; + return; + } + if (t7.state.selection.anchor > h.start && v6(c, h.start, h.endA, m7, g) && t7.someProp("handleKeyDown", (A) => A(t7, $n(8, "Backspace")))) { + Gt && ze && t7.domObserver.suppressSelectionUpdates(); + return; + } + ze && h.endB == h.start && (t7.input.lastChromeDelete = Date.now()), Gt && !x && m7.start() != g.start() && g.parentOffset == 0 && m7.depth == g.depth && u.sel && u.sel.anchor == u.sel.head && u.sel.head == h.endA && (h.endB -= 2, g = u.doc.resolveNoCache(h.endB - u.from), setTimeout(() => { + t7.someProp("handleKeyDown", function(A) { + return A(t7, $n(13, "Enter")); + }); + }, 20)); + let y = h.start, k7 = h.endA, v = (A) => { + let H = A || t7.state.tr.replace(y, k7, u.doc.slice(h.start - u.from, h.endB - u.from)); + if (u.sel) { + let B = Jd(t7, H.doc, u.sel); + B && !(ze && t7.composing && B.empty && (h.start != h.endB || t7.input.lastChromeDelete < Date.now() - 100) && (B.head == y || B.head == H.mapping.map(k7) - 1) || Xe && B.empty && B.head == y) && H.setSelection(B); + } + return o && H.setMeta("composition", o), H.scrollIntoView(); + }, E; + if (x) { + if (m7.pos == g.pos) { + Xe && Sn <= 11 && m7.parentOffset == 0 && (t7.domObserver.suppressSelectionUpdates(), setTimeout(() => Qt(t7), 20)); + let A = v(t7.state.tr.delete(y, k7)), H = c.resolve(h.start).marksAcross(c.resolve(h.endA)); + H && A.ensureMarks(H), t7.dispatch(A); + } else if ( + // Adding or removing a mark + h.endA == h.endB && (E = y6(m7.parent.content.cut(m7.parentOffset, g.parentOffset), b.parent.content.cut(b.parentOffset, h.endA - b.start()))) + ) { + let A = v(t7.state.tr); + E.type == "add" ? A.addMark(y, k7, E.mark) : A.removeMark(y, k7, E.mark), t7.dispatch(A); + } else if (m7.parent.child(m7.index()).isText && m7.index() == g.index() - (g.textOffset ? 0 : 1)) { + let A = m7.parent.textBetween(m7.parentOffset, g.parentOffset), H = () => v(t7.state.tr.insertText(A, y, k7)); + t7.someProp("handleTextInput", (B) => B(t7, y, k7, A, H)) || t7.dispatch(H()); + } + } else + t7.dispatch(v()); + } + function Jd(t7, e7, n) { + return Math.max(n.anchor, n.head) > e7.content.size ? null : Vu(t7, e7.resolve(n.anchor), e7.resolve(n.head)); + } + function y6(t7, e7) { + let n = t7.firstChild.marks, r = e7.firstChild.marks, i7 = n, o = r, s, a, l; + for (let c = 0; c < r.length; c++) + i7 = r[c].removeFromSet(i7); + for (let c = 0; c < n.length; c++) + o = n[c].removeFromSet(o); + if (i7.length == 1 && o.length == 0) + a = i7[0], s = "add", l = (c) => c.mark(a.addToSet(c.marks)); + else if (i7.length == 0 && o.length == 1) + a = o[0], s = "remove", l = (c) => c.mark(a.removeFromSet(c.marks)); + else + return null; + let u = []; + for (let c = 0; c < e7.childCount; c++) + u.push(l(e7.child(c))); + if (S.from(u).eq(t7)) + return { mark: a, type: s }; + } + function v6(t7, e7, n, r, i7) { + if ( + // The content must have shrunk + n - e7 <= i7.pos - r.pos || // newEnd must point directly at or after the end of the block that newStart points into + Fa(r, true, false) < i7.pos + ) + return false; + let o = t7.resolve(e7); + if (!r.parent.isTextblock) { + let a = o.nodeAfter; + return a != null && n == e7 + a.nodeSize; + } + if (o.parentOffset < o.parent.content.size || !o.parent.isTextblock) + return false; + let s = t7.resolve(Fa(o, true, true)); + return !s.parent.isTextblock || s.pos > n || Fa(s, true, false) < n ? false : r.parent.content.cut(r.parentOffset).eq(s.parent.content); + } + function Fa(t7, e7, n) { + let r = t7.depth, i7 = e7 ? t7.end() : t7.pos; + for (; r > 0 && (e7 || t7.indexAfter(r) == t7.node(r).childCount); ) + r--, i7++, e7 = false; + if (n) { + let o = t7.node(r).maybeChild(t7.indexAfter(r)); + for (; o && !o.isLeaf; ) + o = o.firstChild, i7++; + } + return i7; + } + function w6(t7, e7, n, r, i7) { + let o = t7.findDiffStart(e7, n); + if (o == null) + return null; + let { a: s, b: a } = t7.findDiffEnd(e7, n + t7.size, n + e7.size); + if (i7 == "end") { + let l = Math.max(0, o - Math.min(s, a)); + r -= s + l - o; + } + if (s < o && t7.size < e7.size) { + let l = r <= o && r >= s ? o - r : 0; + o -= l, o && o < e7.size && Zd(e7.textBetween(o - 1, o + 1)) && (o += l ? 1 : -1), a = o + (a - s), s = o; + } else if (a < o) { + let l = r <= o && r >= a ? o - r : 0; + o -= l, o && o < t7.size && Zd(t7.textBetween(o - 1, o + 1)) && (o += l ? 1 : -1), s = o + (s - a), a = o; + } + return { start: o, endA: s, endB: a }; + } + function Zd(t7) { + if (t7.length != 2) + return false; + let e7 = t7.charCodeAt(0), n = t7.charCodeAt(1); + return e7 >= 56320 && e7 <= 57343 && n >= 55296 && n <= 56319; + } + class k0 { + /** + Create a view. `place` may be a DOM node that the editor should + be appended to, a function that will place it into the document, + or an object whose `mount` property holds the node to use as the + document container. If it is `null`, the editor will not be + added to the document. + */ + constructor(e7, n) { + this._root = null, this.focused = false, this.trackWrites = null, this.mounted = false, this.markCursor = null, this.cursorWrapper = null, this.lastSelectedViewDesc = void 0, this.input = new Bv(), this.prevDirectPlugins = [], this.pluginViews = [], this.requiresGeckoHackNode = false, this.dragging = null, this._props = n, this.state = n.state, this.directPlugins = n.plugins || [], this.directPlugins.forEach(tf), this.dispatch = this.dispatch.bind(this), this.dom = e7 && e7.mount || document.createElement("div"), e7 && (e7.appendChild ? e7.appendChild(this.dom) : typeof e7 == "function" ? e7(this.dom) : e7.mount && (this.mounted = true)), this.editable = Qd(this), Yd(this), this.nodeViews = ef(this), this.docView = Nd(this.state.doc, Xd(this), Ba(this), this.dom, this), this.domObserver = new c6(this, (r, i7, o, s) => b6(this, r, i7, o, s)), this.domObserver.start(), Fv(this), this.updatePluginViews(); + } + /** + Holds `true` when a + [composition](https://w3c.github.io/uievents/#events-compositionevents) + is active. + */ + get composing() { + return this.input.composing; + } + /** + The view's current [props](https://prosemirror.net/docs/ref/#view.EditorProps). + */ + get props() { + if (this._props.state != this.state) { + let e7 = this._props; + this._props = {}; + for (let n in e7) + this._props[n] = e7[n]; + this._props.state = this.state; + } + return this._props; + } + /** + Update the view's props. Will immediately cause an update to + the DOM. + */ + update(e7) { + e7.handleDOMEvents != this._props.handleDOMEvents && Bl(this); + let n = this._props; + this._props = e7, e7.plugins && (e7.plugins.forEach(tf), this.directPlugins = e7.plugins), this.updateStateInner(e7.state, n); + } + /** + Update the view by updating existing props object with the object + given as argument. Equivalent to `view.update(Object.assign({}, + view.props, props))`. + */ + setProps(e7) { + let n = {}; + for (let r in this._props) + n[r] = this._props[r]; + n.state = this.state; + for (let r in e7) + n[r] = e7[r]; + this.update(n); + } + /** + Update the editor's `state` prop, without touching any of the + other props. + */ + updateState(e7) { + this.updateStateInner(e7, this._props); + } + updateStateInner(e7, n) { + var r; + let i7 = this.state, o = false, s = false; + e7.storedMarks && this.composing && (m0(this), s = true), this.state = e7; + let a = i7.plugins != e7.plugins || this._props.plugins != n.plugins; + if (a || this._props.plugins != n.plugins || this._props.nodeViews != n.nodeViews) { + let p = ef(this); + k6(p, this.nodeViews) && (this.nodeViews = p, o = true); + } + (a || n.handleDOMEvents != this._props.handleDOMEvents) && Bl(this), this.editable = Qd(this), Yd(this); + let l = Ba(this), u = Xd(this), c = i7.plugins != e7.plugins && !i7.doc.eq(e7.doc) ? "reset" : e7.scrollToSelection > i7.scrollToSelection ? "to selection" : "preserve", d = o || !this.docView.matchesNode(e7.doc, u, l); + (d || !e7.selection.eq(i7.selection)) && (s = true); + let f = c == "preserve" && s && this.dom.style.overflowAnchor == null && ev(this); + if (s) { + this.domObserver.stop(); + let p = d && (Xe || ze) && !this.composing && !i7.selection.empty && !e7.selection.empty && x6(i7.selection, e7.selection); + if (d) { + let h = ze ? this.trackWrites = this.domSelectionRange().focusNode : null; + this.composing && (this.input.compositionNode = Qv(this)), (o || !this.docView.update(e7.doc, u, l, this)) && (this.docView.updateOuterDeco(u), this.docView.destroy(), this.docView = Nd(e7.doc, u, l, this.dom, this)), h && !this.trackWrites && (p = true); + } + p || !(this.input.mouseDown && this.domObserver.currentSelection.eq(this.domSelectionRange()) && Cv(this)) ? Qt(this, p) : (r0(this, e7.selection), this.domObserver.setCurSelection()), this.domObserver.start(); + } + this.updatePluginViews(i7), !((r = this.dragging) === null || r === void 0) && r.node && !i7.doc.eq(e7.doc) && this.updateDraggedNode(this.dragging, i7), c == "reset" ? this.dom.scrollTop = 0 : c == "to selection" ? this.scrollToSelection() : f && tv(f); + } + /** + @internal + */ + scrollToSelection() { + let e7 = this.domSelectionRange().focusNode; + if (!(!e7 || !this.dom.contains(e7.nodeType == 1 ? e7 : e7.parentNode))) { + if (!this.someProp("handleScrollToSelection", (n) => n(this))) if (this.state.selection instanceof F) { + let n = this.docView.domAfterPos(this.state.selection.from); + n.nodeType == 1 && Sd(this, n.getBoundingClientRect(), e7); + } else + Sd(this, this.coordsAtPos(this.state.selection.head, 1), e7); + } + } + destroyPluginViews() { + let e7; + for (; e7 = this.pluginViews.pop(); ) + e7.destroy && e7.destroy(); + } + updatePluginViews(e7) { + if (!e7 || e7.plugins != this.state.plugins || this.directPlugins != this.prevDirectPlugins) { + this.prevDirectPlugins = this.directPlugins, this.destroyPluginViews(); + for (let n = 0; n < this.directPlugins.length; n++) { + let r = this.directPlugins[n]; + r.spec.view && this.pluginViews.push(r.spec.view(this)); + } + for (let n = 0; n < this.state.plugins.length; n++) { + let r = this.state.plugins[n]; + r.spec.view && this.pluginViews.push(r.spec.view(this)); + } + } else + for (let n = 0; n < this.pluginViews.length; n++) { + let r = this.pluginViews[n]; + r.update && r.update(this, e7); + } + } + updateDraggedNode(e7, n) { + let r = e7.node, i7 = -1; + if (this.state.doc.nodeAt(r.from) == r.node) + i7 = r.from; + else { + let o = r.from + (this.state.doc.content.size - n.doc.content.size); + (o > 0 && this.state.doc.nodeAt(o)) == r.node && (i7 = o); + } + this.dragging = new b0(e7.slice, e7.move, i7 < 0 ? void 0 : F.create(this.state.doc, i7)); + } + someProp(e7, n) { + let r = this._props && this._props[e7], i7; + if (r != null && (i7 = n ? n(r) : r)) + return i7; + for (let s = 0; s < this.directPlugins.length; s++) { + let a = this.directPlugins[s].props[e7]; + if (a != null && (i7 = n ? n(a) : a)) + return i7; + } + let o = this.state.plugins; + if (o) + for (let s = 0; s < o.length; s++) { + let a = o[s].props[e7]; + if (a != null && (i7 = n ? n(a) : a)) + return i7; + } + } + /** + Query whether the view has focus. + */ + hasFocus() { + if (Xe) { + let e7 = this.root.activeElement; + if (e7 == this.dom) + return true; + if (!e7 || !this.dom.contains(e7)) + return false; + for (; e7 && this.dom != e7 && this.dom.contains(e7); ) { + if (e7.contentEditable == "false") + return false; + e7 = e7.parentElement; + } + return true; + } + return this.root.activeElement == this.dom; + } + /** + Focus the editor. + */ + focus() { + this.domObserver.stop(), this.editable && nv(this.dom), Qt(this), this.domObserver.start(); + } + /** + Get the document root in which the editor exists. This will + usually be the top-level `document`, but might be a [shadow + DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM) + root if the editor is inside one. + */ + get root() { + let e7 = this._root; + if (e7 == null) { + for (let n = this.dom.parentNode; n; n = n.parentNode) + if (n.nodeType == 9 || n.nodeType == 11 && n.host) + return n.getSelection || (Object.getPrototypeOf(n).getSelection = () => n.ownerDocument.getSelection()), this._root = n; + } + return e7 || document; + } + /** + When an existing editor view is moved to a new document or + shadow tree, call this to make it recompute its root. + */ + updateRoot() { + this._root = null; + } + /** + Given a pair of viewport coordinates, return the document + position that corresponds to them. May return null if the given + coordinates aren't inside of the editor. When an object is + returned, its `pos` property is the position nearest to the + coordinates, and its `inside` property holds the position of the + inner node that the position falls inside of, or -1 if it is at + the top level, not in any node. + */ + posAtCoords(e7) { + return av(this, e7); + } + /** + Returns the viewport rectangle at a given document position. + `left` and `right` will be the same number, as this returns a + flat cursor-ish rectangle. If the position is between two things + that aren't directly adjacent, `side` determines which element + is used. When < 0, the element before the position is used, + otherwise the element after. + */ + coordsAtPos(e7, n = 1) { + return Jh(this, e7, n); + } + /** + Find the DOM position that corresponds to the given document + position. When `side` is negative, find the position as close as + possible to the content before the position. When positive, + prefer positions close to the content after the position. When + zero, prefer as shallow a position as possible. + + Note that you should **not** mutate the editor's internal DOM, + only inspect it (and even that is usually not necessary). + */ + domAtPos(e7, n = 0) { + return this.docView.domFromPos(e7, n); + } + /** + Find the DOM node that represents the document node after the + given position. May return `null` when the position doesn't point + in front of a node or if the node is inside an opaque node view. + + This is intended to be able to call things like + `getBoundingClientRect` on that DOM node. Do **not** mutate the + editor DOM directly, or add styling this way, since that will be + immediately overriden by the editor as it redraws the node. + */ + nodeDOM(e7) { + let n = this.docView.descAt(e7); + return n ? n.nodeDOM : null; + } + /** + Find the document position that corresponds to a given DOM + position. (Whenever possible, it is preferable to inspect the + document structure directly, rather than poking around in the + DOM, but sometimes—for example when interpreting an event + target—you don't have a choice.) + + The `bias` parameter can be used to influence which side of a DOM + node to use when the position is inside a leaf node. + */ + posAtDOM(e7, n, r = -1) { + let i7 = this.docView.posFromDOM(e7, n, r); + if (i7 == null) + throw new RangeError("DOM position not inside the editor"); + return i7; + } + /** + Find out whether the selection is at the end of a textblock when + moving in a given direction. When, for example, given `"left"`, + it will return true if moving left from the current cursor + position would leave that position's parent textblock. Will apply + to the view's current state by default, but it is possible to + pass a different state. + */ + endOfTextblock(e7, n) { + return fv(this, n || this.state, e7); + } + /** + Run the editor's paste logic with the given HTML string. The + `event`, if given, will be passed to the + [`handlePaste`](https://prosemirror.net/docs/ref/#view.EditorProps.handlePaste) hook. + */ + pasteHTML(e7, n) { + return Bi(this, "", e7, false, n || new ClipboardEvent("paste")); + } + /** + Run the editor's paste logic with the given plain-text input. + */ + pasteText(e7, n) { + return Bi(this, e7, null, true, n || new ClipboardEvent("paste")); + } + /** + Serialize the given slice as it would be if it was copied from + this editor. Returns a DOM element that contains a + representation of the slice as its children, a textual + representation, and the transformed slice (which can be + different from the given input due to hooks like + [`transformCopied`](https://prosemirror.net/docs/ref/#view.EditorProps.transformCopied)). + */ + serializeForClipboard(e7) { + return Ru(this, e7); + } + /** + Removes the editor from the DOM and destroys all [node + views](https://prosemirror.net/docs/ref/#view.NodeView). + */ + destroy() { + this.docView && (zv(this), this.destroyPluginViews(), this.mounted ? (this.docView.update(this.state.doc, [], Ba(this), this), this.dom.textContent = "") : this.dom.parentNode && this.dom.parentNode.removeChild(this.dom), this.docView.destroy(), this.docView = null, j3()); + } + /** + This is true when the view has been + [destroyed](https://prosemirror.net/docs/ref/#view.EditorView.destroy) (and thus should not be + used anymore). + */ + get isDestroyed() { + return this.docView == null; + } + /** + Used for testing. + */ + dispatchEvent(e7) { + return jv(this, e7); + } + /** + @internal + */ + domSelectionRange() { + let e7 = this.domSelection(); + return e7 ? Ue && this.root.nodeType === 11 && G3(this.dom.ownerDocument) == this.dom && f6(this, e7) || e7 : { focusNode: null, focusOffset: 0, anchorNode: null, anchorOffset: 0 }; + } + /** + @internal + */ + domSelection() { + return this.root.getSelection(); + } + } + k0.prototype.dispatch = function(t7) { + let e7 = this._props.dispatchTransaction; + e7 ? e7.call(this, t7) : this.updateState(this.state.apply(t7)); + }; + function Xd(t7) { + let e7 = /* @__PURE__ */ Object.create(null); + return e7.class = "ProseMirror", e7.contenteditable = String(t7.editable), t7.someProp("attributes", (n) => { + if (typeof n == "function" && (n = n(t7.state)), n) + for (let r in n) + r == "class" ? e7.class += " " + n[r] : r == "style" ? e7.style = (e7.style ? e7.style + ";" : "") + n[r] : !e7[r] && r != "contenteditable" && r != "nodeName" && (e7[r] = String(n[r])); + }), e7.translate || (e7.translate = "no"), [Ie.node(0, t7.state.doc.content.size, e7)]; + } + function Yd(t7) { + if (t7.markCursor) { + let e7 = document.createElement("img"); + e7.className = "ProseMirror-separator", e7.setAttribute("mark-placeholder", "true"), e7.setAttribute("alt", ""), t7.cursorWrapper = { dom: e7, deco: Ie.widget(t7.state.selection.from, e7, { raw: true, marks: t7.markCursor }) }; + } else + t7.cursorWrapper = null; + } + function Qd(t7) { + return !t7.someProp("editable", (e7) => e7(t7.state) === false); + } + function x6(t7, e7) { + let n = Math.min(t7.$anchor.sharedDepth(t7.head), e7.$anchor.sharedDepth(e7.head)); + return t7.$anchor.start(n) != e7.$anchor.start(n); + } + function ef(t7) { + let e7 = /* @__PURE__ */ Object.create(null); + function n(r) { + for (let i7 in r) + Object.prototype.hasOwnProperty.call(e7, i7) || (e7[i7] = r[i7]); + } + return t7.someProp("nodeViews", n), t7.someProp("markViews", n), e7; + } + function k6(t7, e7) { + let n = 0, r = 0; + for (let i7 in t7) { + if (t7[i7] != e7[i7]) + return true; + n++; + } + for (let i7 in e7) + r++; + return n != r; + } + function tf(t7) { + if (t7.spec.state || t7.spec.filterTransaction || t7.spec.appendTransaction) + throw new RangeError("Plugins passed directly to the view must not have a state component"); + } + var Mn = { + 8: "Backspace", + 9: "Tab", + 10: "Enter", + 12: "NumLock", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 44: "PrintScreen", + 45: "Insert", + 46: "Delete", + 59: ";", + 61: "=", + 91: "Meta", + 92: "Meta", + 106: "*", + 107: "+", + 108: ",", + 109: "-", + 110: ".", + 111: "/", + 144: "NumLock", + 145: "ScrollLock", + 160: "Shift", + 161: "Shift", + 162: "Control", + 163: "Control", + 164: "Alt", + 165: "Alt", + 173: "-", + 186: ";", + 187: "=", + 188: ",", + 189: "-", + 190: ".", + 191: "/", + 192: "`", + 219: "[", + 220: "\\", + 221: "]", + 222: "'" + }, ds = { + 48: ")", + 49: "!", + 50: "@", + 51: "#", + 52: "$", + 53: "%", + 54: "^", + 55: "&", + 56: "*", + 57: "(", + 59: ":", + 61: "+", + 173: "_", + 186: ":", + 187: "+", + 188: "<", + 189: "_", + 190: ">", + 191: "?", + 192: "~", + 219: "{", + 220: "|", + 221: "}", + 222: '"' + }, A6 = typeof navigator < "u" && /Mac/.test(navigator.platform), C6 = typeof navigator < "u" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent); + for (var _e = 0; _e < 10; _e++) Mn[48 + _e] = Mn[96 + _e] = String(_e); + for (var _e = 1; _e <= 24; _e++) Mn[_e + 111] = "F" + _e; + for (var _e = 65; _e <= 90; _e++) + Mn[_e] = String.fromCharCode(_e + 32), ds[_e] = String.fromCharCode(_e); + for (var za in Mn) ds.hasOwnProperty(za) || (ds[za] = Mn[za]); + function S6(t7) { + var e7 = A6 && t7.metaKey && t7.shiftKey && !t7.ctrlKey && !t7.altKey || C6 && t7.shiftKey && t7.key && t7.key.length == 1 || t7.key == "Unidentified", n = !e7 && t7.key || (t7.shiftKey ? ds : Mn)[t7.keyCode] || t7.key || "Unidentified"; + return n == "Esc" && (n = "Escape"), n == "Del" && (n = "Delete"), n == "Left" && (n = "ArrowLeft"), n == "Up" && (n = "ArrowUp"), n == "Right" && (n = "ArrowRight"), n == "Down" && (n = "ArrowDown"), n; + } + const T6 = typeof navigator < "u" && /Mac|iP(hone|[oa]d)/.test(navigator.platform), E6 = typeof navigator < "u" && /Win/.test(navigator.platform); + function M6(t7) { + let e7 = t7.split(/-(?!$)/), n = e7[e7.length - 1]; + n == "Space" && (n = " "); + let r, i7, o, s; + for (let a = 0; a < e7.length - 1; a++) { + let l = e7[a]; + if (/^(cmd|meta|m)$/i.test(l)) + s = true; + else if (/^a(lt)?$/i.test(l)) + r = true; + else if (/^(c|ctrl|control)$/i.test(l)) + i7 = true; + else if (/^s(hift)?$/i.test(l)) + o = true; + else if (/^mod$/i.test(l)) + T6 ? s = true : i7 = true; + else + throw new Error("Unrecognized modifier name: " + l); + } + return r && (n = "Alt-" + n), i7 && (n = "Ctrl-" + n), s && (n = "Meta-" + n), o && (n = "Shift-" + n), n; + } + function O6(t7) { + let e7 = /* @__PURE__ */ Object.create(null); + for (let n in t7) + e7[M6(n)] = t7[n]; + return e7; + } + function $a(t7, e7, n = true) { + return e7.altKey && (t7 = "Alt-" + t7), e7.ctrlKey && (t7 = "Ctrl-" + t7), e7.metaKey && (t7 = "Meta-" + t7), n && e7.shiftKey && (t7 = "Shift-" + t7), t7; + } + function L6(t7) { + return new fe({ props: { handleKeyDown: Fu(t7) } }); + } + function Fu(t7) { + let e7 = O6(t7); + return function(n, r) { + let i7 = S6(r), o, s = e7[$a(i7, r)]; + if (s && s(n.state, n.dispatch, n)) + return true; + if (i7.length == 1 && i7 != " ") { + if (r.shiftKey) { + let a = e7[$a(i7, r, false)]; + if (a && a(n.state, n.dispatch, n)) + return true; + } + if ((r.altKey || r.metaKey || r.ctrlKey) && // Ctrl-Alt may be used for AltGr on Windows + !(E6 && r.ctrlKey && r.altKey) && (o = Mn[r.keyCode]) && o != i7) { + let a = e7[$a(o, r)]; + if (a && a(n.state, n.dispatch, n)) + return true; + } + } + return false; + }; + } + const aa = (t7, e7) => t7.selection.empty ? false : (e7 && e7(t7.tr.deleteSelection().scrollIntoView()), true); + function A0(t7, e7) { + let { $cursor: n } = t7.selection; + return !n || (e7 ? !e7.endOfTextblock("backward", t7) : n.parentOffset > 0) ? null : n; + } + const C0 = (t7, e7, n) => { + let r = A0(t7, n); + if (!r) + return false; + let i7 = zu(r); + if (!i7) { + let s = r.blockRange(), a = s && Zr(s); + return a == null ? false : (e7 && e7(t7.tr.lift(s, a).scrollIntoView()), true); + } + let o = i7.nodeBefore; + if (V0(t7, i7, e7, -1)) + return true; + if (r.parent.content.size == 0 && (Br(o, "end") || F.isSelectable(o))) + for (let s = r.depth; ; s--) { + let a = na(t7.doc, r.before(s), r.after(s), N.empty); + if (a && a.slice.size < a.to - a.from) { + if (e7) { + let l = t7.tr.step(a); + l.setSelection(Br(o, "end") ? $.findFrom(l.doc.resolve(l.mapping.map(i7.pos, -1)), -1) : F.create(l.doc, i7.pos - o.nodeSize)), e7(l.scrollIntoView()); + } + return true; + } + if (s == 1 || r.node(s - 1).childCount > 1) + break; + } + return o.isAtom && i7.depth == r.depth - 1 ? (e7 && e7(t7.tr.delete(i7.pos - o.nodeSize, i7.pos).scrollIntoView()), true) : false; + }, N6 = (t7, e7, n) => { + let r = A0(t7, n); + if (!r) + return false; + let i7 = zu(r); + return i7 ? S0(t7, i7, e7) : false; + }, H6 = (t7, e7, n) => { + let r = E0(t7, n); + if (!r) + return false; + let i7 = $u(r); + return i7 ? S0(t7, i7, e7) : false; + }; + function S0(t7, e7, n) { + let r = e7.nodeBefore, i7 = r, o = e7.pos - 1; + for (; !i7.isTextblock; o--) { + if (i7.type.spec.isolating) + return false; + let c = i7.lastChild; + if (!c) + return false; + i7 = c; + } + let s = e7.nodeAfter, a = s, l = e7.pos + 1; + for (; !a.isTextblock; l++) { + if (a.type.spec.isolating) + return false; + let c = a.firstChild; + if (!c) + return false; + a = c; + } + let u = na(t7.doc, o, l, N.empty); + if (!u || u.from != o || u instanceof Ee && u.slice.size >= l - o) + return false; + if (n) { + let c = t7.tr.step(u); + c.setSelection(z.create(c.doc, o)), n(c.scrollIntoView()); + } + return true; + } + function Br(t7, e7, n = false) { + for (let r = t7; r; r = e7 == "start" ? r.firstChild : r.lastChild) { + if (r.isTextblock) + return true; + if (n && r.childCount != 1) + return false; + } + return false; + } + const T0 = (t7, e7, n) => { + let { $head: r, empty: i7 } = t7.selection, o = r; + if (!i7) + return false; + if (r.parent.isTextblock) { + if (n ? !n.endOfTextblock("backward", t7) : r.parentOffset > 0) + return false; + o = zu(r); + } + let s = o && o.nodeBefore; + return !s || !F.isSelectable(s) ? false : (e7 && e7(t7.tr.setSelection(F.create(t7.doc, o.pos - s.nodeSize)).scrollIntoView()), true); + }; + function zu(t7) { + if (!t7.parent.type.spec.isolating) + for (let e7 = t7.depth - 1; e7 >= 0; e7--) { + if (t7.index(e7) > 0) + return t7.doc.resolve(t7.before(e7 + 1)); + if (t7.node(e7).type.spec.isolating) + break; + } + return null; + } + function E0(t7, e7) { + let { $cursor: n } = t7.selection; + return !n || (e7 ? !e7.endOfTextblock("forward", t7) : n.parentOffset < n.parent.content.size) ? null : n; + } + const M0 = (t7, e7, n) => { + let r = E0(t7, n); + if (!r) + return false; + let i7 = $u(r); + if (!i7) + return false; + let o = i7.nodeAfter; + if (V0(t7, i7, e7, 1)) + return true; + if (r.parent.content.size == 0 && (Br(o, "start") || F.isSelectable(o))) { + let s = na(t7.doc, r.before(), r.after(), N.empty); + if (s && s.slice.size < s.to - s.from) { + if (e7) { + let a = t7.tr.step(s); + a.setSelection(Br(o, "start") ? $.findFrom(a.doc.resolve(a.mapping.map(i7.pos)), 1) : F.create(a.doc, a.mapping.map(i7.pos))), e7(a.scrollIntoView()); + } + return true; + } + } + return o.isAtom && i7.depth == r.depth - 1 ? (e7 && e7(t7.tr.delete(i7.pos, i7.pos + o.nodeSize).scrollIntoView()), true) : false; + }, O0 = (t7, e7, n) => { + let { $head: r, empty: i7 } = t7.selection, o = r; + if (!i7) + return false; + if (r.parent.isTextblock) { + if (n ? !n.endOfTextblock("forward", t7) : r.parentOffset < r.parent.content.size) + return false; + o = $u(r); + } + let s = o && o.nodeAfter; + return !s || !F.isSelectable(s) ? false : (e7 && e7(t7.tr.setSelection(F.create(t7.doc, o.pos)).scrollIntoView()), true); + }; + function $u(t7) { + if (!t7.parent.type.spec.isolating) + for (let e7 = t7.depth - 1; e7 >= 0; e7--) { + let n = t7.node(e7); + if (t7.index(e7) + 1 < n.childCount) + return t7.doc.resolve(t7.after(e7 + 1)); + if (n.type.spec.isolating) + break; + } + return null; + } + const V6 = (t7, e7) => { + let n = t7.selection, r = n instanceof F, i7; + if (r) { + if (n.node.isTextblock || !Vn(t7.doc, n.from)) + return false; + i7 = n.from; + } else if (i7 = ta(t7.doc, n.from, -1), i7 == null) + return false; + if (e7) { + let o = t7.tr.join(i7); + r && o.setSelection(F.create(o.doc, i7 - t7.doc.resolve(i7).nodeBefore.nodeSize)), e7(o.scrollIntoView()); + } + return true; + }, R6 = (t7, e7) => { + let n = t7.selection, r; + if (n instanceof F) { + if (n.node.isTextblock || !Vn(t7.doc, n.to)) + return false; + r = n.to; + } else if (r = ta(t7.doc, n.to, 1), r == null) + return false; + return e7 && e7(t7.tr.join(r).scrollIntoView()), true; + }, D6 = (t7, e7) => { + let { $from: n, $to: r } = t7.selection, i7 = n.blockRange(r), o = i7 && Zr(i7); + return o == null ? false : (e7 && e7(t7.tr.lift(i7, o).scrollIntoView()), true); + }, L0 = (t7, e7) => { + let { $head: n, $anchor: r } = t7.selection; + return !n.parent.type.spec.code || !n.sameParent(r) ? false : (e7 && e7(t7.tr.insertText(` +`).scrollIntoView()), true); + }; + function ju(t7) { + for (let e7 = 0; e7 < t7.edgeCount; e7++) { + let { type: n } = t7.edge(e7); + if (n.isTextblock && !n.hasRequiredAttrs()) + return n; + } + return null; + } + const _6 = (t7, e7) => { + let { $head: n, $anchor: r } = t7.selection; + if (!n.parent.type.spec.code || !n.sameParent(r)) + return false; + let i7 = n.node(-1), o = n.indexAfter(-1), s = ju(i7.contentMatchAt(o)); + if (!s || !i7.canReplaceWith(o, o, s)) + return false; + if (e7) { + let a = n.after(), l = t7.tr.replaceWith(a, a, s.createAndFill()); + l.setSelection($.near(l.doc.resolve(a), 1)), e7(l.scrollIntoView()); + } + return true; + }, N0 = (t7, e7) => { + let n = t7.selection, { $from: r, $to: i7 } = n; + if (n instanceof st || r.parent.inlineContent || i7.parent.inlineContent) + return false; + let o = ju(i7.parent.contentMatchAt(i7.indexAfter())); + if (!o || !o.isTextblock) + return false; + if (e7) { + let s = (!r.parentOffset && i7.index() < i7.parent.childCount ? r : i7).pos, a = t7.tr.insert(s, o.createAndFill()); + a.setSelection(z.create(a.doc, s + 1)), e7(a.scrollIntoView()); + } + return true; + }, H0 = (t7, e7) => { + let { $cursor: n } = t7.selection; + if (!n || n.parent.content.size) + return false; + if (n.depth > 1 && n.after() != n.end(-1)) { + let o = n.before(); + if (Yt(t7.doc, o)) + return e7 && e7(t7.tr.split(o).scrollIntoView()), true; + } + let r = n.blockRange(), i7 = r && Zr(r); + return i7 == null ? false : (e7 && e7(t7.tr.lift(r, i7).scrollIntoView()), true); + }; + function P6(t7) { + return (e7, n) => { + let { $from: r, $to: i7 } = e7.selection; + if (e7.selection instanceof F && e7.selection.node.isBlock) + return !r.parentOffset || !Yt(e7.doc, r.pos) ? false : (n && n(e7.tr.split(r.pos).scrollIntoView()), true); + if (!r.depth) + return false; + let o = [], s, a, l = false, u = false; + for (let p = r.depth; ; p--) + if (r.node(p).isBlock) { + l = r.end(p) == r.pos + (r.depth - p), u = r.start(p) == r.pos - (r.depth - p), a = ju(r.node(p - 1).contentMatchAt(r.indexAfter(p - 1))), o.unshift(l && a ? { type: a } : null), s = p; + break; + } else { + if (p == 1) + return false; + o.unshift(null); + } + let c = e7.tr; + (e7.selection instanceof z || e7.selection instanceof st) && c.deleteSelection(); + let d = c.mapping.map(r.pos), f = Yt(c.doc, d, o.length, o); + if (f || (o[0] = a ? { type: a } : null, f = Yt(c.doc, d, o.length, o)), !f) + return false; + if (c.split(d, o.length, o), !l && u && r.node(s).type != a) { + let p = c.mapping.map(r.before(s)), h = c.doc.resolve(p); + a && r.node(s - 1).canReplaceWith(h.index(), h.index() + 1, a) && c.setNodeMarkup(c.mapping.map(r.before(s)), a); + } + return n && n(c.scrollIntoView()), true; + }; + } + const I6 = P6(), B6 = (t7, e7) => { + let { $from: n, to: r } = t7.selection, i7, o = n.sharedDepth(r); + return o == 0 ? false : (i7 = n.before(o), e7 && e7(t7.tr.setSelection(F.create(t7.doc, i7))), true); + }; + function F6(t7, e7, n) { + let r = e7.nodeBefore, i7 = e7.nodeAfter, o = e7.index(); + return !r || !i7 || !r.type.compatibleContent(i7.type) ? false : !r.content.size && e7.parent.canReplace(o - 1, o) ? (n && n(t7.tr.delete(e7.pos - r.nodeSize, e7.pos).scrollIntoView()), true) : !e7.parent.canReplace(o, o + 1) || !(i7.isTextblock || Vn(t7.doc, e7.pos)) ? false : (n && n(t7.tr.join(e7.pos).scrollIntoView()), true); + } + function V0(t7, e7, n, r) { + let i7 = e7.nodeBefore, o = e7.nodeAfter, s, a, l = i7.type.spec.isolating || o.type.spec.isolating; + if (!l && F6(t7, e7, n)) + return true; + let u = !l && e7.parent.canReplace(e7.index(), e7.index() + 1); + if (u && (s = (a = i7.contentMatchAt(i7.childCount)).findWrapping(o.type)) && a.matchType(s[0] || o.type).validEnd) { + if (n) { + let p = e7.pos + o.nodeSize, h = S.empty; + for (let b = s.length - 1; b >= 0; b--) + h = S.from(s[b].create(null, h)); + h = S.from(i7.copy(h)); + let m7 = t7.tr.step(new Oe(e7.pos - 1, p, e7.pos, p, new N(h, 1, 0), s.length, true)), g = m7.doc.resolve(p + 2 * s.length); + g.nodeAfter && g.nodeAfter.type == i7.type && Vn(m7.doc, g.pos) && m7.join(g.pos), n(m7.scrollIntoView()); + } + return true; + } + let c = o.type.spec.isolating || r > 0 && l ? null : $.findFrom(e7, 1), d = c && c.$from.blockRange(c.$to), f = d && Zr(d); + if (f != null && f >= e7.depth) + return n && n(t7.tr.lift(d, f).scrollIntoView()), true; + if (u && Br(o, "start", true) && Br(i7, "end")) { + let p = i7, h = []; + for (; h.push(p), !p.isTextblock; ) + p = p.lastChild; + let m7 = o, g = 1; + for (; !m7.isTextblock; m7 = m7.firstChild) + g++; + if (p.canReplace(p.childCount, p.childCount, m7.content)) { + if (n) { + let b = S.empty; + for (let w = h.length - 1; w >= 0; w--) + b = S.from(h[w].copy(b)); + let x = t7.tr.step(new Oe(e7.pos - h.length, e7.pos + o.nodeSize, e7.pos + g, e7.pos + o.nodeSize - g, new N(b, h.length, 0), 0, true)); + n(x.scrollIntoView()); + } + return true; + } + } + return false; + } + function R0(t7) { + return function(e7, n) { + let r = e7.selection, i7 = t7 < 0 ? r.$from : r.$to, o = i7.depth; + for (; i7.node(o).isInline; ) { + if (!o) + return false; + o--; + } + return i7.node(o).isTextblock ? (n && n(e7.tr.setSelection(z.create(e7.doc, t7 < 0 ? i7.start(o) : i7.end(o)))), true) : false; + }; + } + const z6 = R0(-1), $6 = R0(1); + function j6(t7, e7 = null) { + return function(n, r) { + let { $from: i7, $to: o } = n.selection, s = i7.blockRange(o), a = s && Mu(s, t7, e7); + return a ? (r && r(n.tr.wrap(s, a).scrollIntoView()), true) : false; + }; + } + function nf(t7, e7 = null) { + return function(n, r) { + let i7 = false; + for (let o = 0; o < n.selection.ranges.length && !i7; o++) { + let { $from: { pos: s }, $to: { pos: a } } = n.selection.ranges[o]; + n.doc.nodesBetween(s, a, (l, u) => { + if (i7) + return false; + if (!(!l.isTextblock || l.hasMarkup(t7, e7))) + if (l.type == t7) + i7 = true; + else { + let c = n.doc.resolve(u), d = c.index(); + i7 = c.parent.canReplaceWith(d, d + 1, t7); + } + }); + } + if (!i7) + return false; + if (r) { + let o = n.tr; + for (let s = 0; s < n.selection.ranges.length; s++) { + let { $from: { pos: a }, $to: { pos: l } } = n.selection.ranges[s]; + o.setBlockType(a, l, t7, e7); + } + r(o.scrollIntoView()); + } + return true; + }; + } + function Wu(...t7) { + return function(e7, n, r) { + for (let i7 = 0; i7 < t7.length; i7++) + if (t7[i7](e7, n, r)) + return true; + return false; + }; + } + Wu(aa, C0, T0); + Wu(aa, M0, O0); + Wu(L0, N0, H0, I6); + typeof navigator < "u" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform) : typeof os < "u" && os.platform && os.platform() == "darwin"; + function W6(t7, e7 = null) { + return function(n, r) { + let { $from: i7, $to: o } = n.selection, s = i7.blockRange(o); + if (!s) + return false; + let a = r ? n.tr : null; + return q6(a, s, t7, e7) ? (r && r(a.scrollIntoView()), true) : false; + }; + } + function q6(t7, e7, n, r = null) { + let i7 = false, o = e7, s = e7.$from.doc; + if (e7.depth >= 2 && e7.$from.node(e7.depth - 1).type.compatibleContent(n) && e7.startIndex == 0) { + if (e7.$from.index(e7.depth - 1) == 0) + return false; + let l = s.resolve(e7.start - 2); + o = new rs(l, l, e7.depth), e7.endIndex < e7.parent.childCount && (e7 = new rs(e7.$from, s.resolve(e7.$to.end(e7.depth)), e7.depth)), i7 = true; + } + let a = Mu(o, n, r, e7); + return a ? (t7 && U6(t7, e7, a, i7, n), true) : false; + } + function U6(t7, e7, n, r, i7) { + let o = S.empty; + for (let c = n.length - 1; c >= 0; c--) + o = S.from(n[c].type.create(n[c].attrs, o)); + t7.step(new Oe(e7.start - (r ? 2 : 0), e7.end, e7.start, e7.end, new N(o, 0, 0), n.length, true)); + let s = 0; + for (let c = 0; c < n.length; c++) + n[c].type == i7 && (s = c + 1); + let a = n.length - s, l = e7.start + n.length - (r ? 2 : 0), u = e7.parent; + for (let c = e7.startIndex, d = e7.endIndex, f = true; c < d; c++, f = false) + !f && Yt(t7.doc, l, a) && (t7.split(l, a), l += 2 * a), l += u.child(c).nodeSize; + return t7; + } + function K6(t7) { + return function(e7, n) { + let { $from: r, $to: i7 } = e7.selection, o = r.blockRange(i7, (s) => s.childCount > 0 && s.firstChild.type == t7); + return o ? n ? r.node(o.depth - 1).type == t7 ? G6(e7, n, t7, o) : J6(e7, n, o) : true : false; + }; + } + function G6(t7, e7, n, r) { + let i7 = t7.tr, o = r.end, s = r.$to.end(r.depth); + o < s && (i7.step(new Oe(o - 1, s, o, s, new N(S.from(n.create(null, r.parent.copy())), 1, 0), 1, true)), r = new rs(i7.doc.resolve(r.$from.pos), i7.doc.resolve(s), r.depth)); + const a = Zr(r); + if (a == null) + return false; + i7.lift(r, a); + let l = i7.doc.resolve(i7.mapping.map(o, -1) - 1); + return Vn(i7.doc, l.pos) && l.nodeBefore.type == l.nodeAfter.type && i7.join(l.pos), e7(i7.scrollIntoView()), true; + } + function J6(t7, e7, n) { + let r = t7.tr, i7 = n.parent; + for (let p = n.end, h = n.endIndex - 1, m7 = n.startIndex; h > m7; h--) + p -= i7.child(h).nodeSize, r.delete(p - 1, p + 1); + let o = r.doc.resolve(n.start), s = o.nodeAfter; + if (r.mapping.map(n.end) != n.start + o.nodeAfter.nodeSize) + return false; + let a = n.startIndex == 0, l = n.endIndex == i7.childCount, u = o.node(-1), c = o.index(-1); + if (!u.canReplace(c + (a ? 0 : 1), c + 1, s.content.append(l ? S.empty : S.from(i7)))) + return false; + let d = o.pos, f = d + s.nodeSize; + return r.step(new Oe(d - (a ? 1 : 0), f + (l ? 1 : 0), d + 1, f - 1, new N((a ? S.empty : S.from(i7.copy(S.empty))).append(l ? S.empty : S.from(i7.copy(S.empty))), a ? 0 : 1, l ? 0 : 1), a ? 0 : 1)), e7(r.scrollIntoView()), true; + } + function Z6(t7) { + return function(e7, n) { + let { $from: r, $to: i7 } = e7.selection, o = r.blockRange(i7, (u) => u.childCount > 0 && u.firstChild.type == t7); + if (!o) + return false; + let s = o.startIndex; + if (s == 0) + return false; + let a = o.parent, l = a.child(s - 1); + if (l.type != t7) + return false; + if (n) { + let u = l.lastChild && l.lastChild.type == a.type, c = S.from(u ? t7.create() : null), d = new N(S.from(t7.create(null, S.from(a.type.create(null, c)))), u ? 3 : 1, 0), f = o.start, p = o.end; + n(e7.tr.step(new Oe(f - (u ? 3 : 1), p, f, p, d, 1, true)).scrollIntoView()); + } + return true; + }; + } + function la(t7) { + const { state: e7, transaction: n } = t7; + let { selection: r } = n, { doc: i7 } = n, { storedMarks: o } = n; + return { + ...e7, + apply: e7.apply.bind(e7), + applyTransaction: e7.applyTransaction.bind(e7), + plugins: e7.plugins, + schema: e7.schema, + reconfigure: e7.reconfigure.bind(e7), + toJSON: e7.toJSON.bind(e7), + get storedMarks() { + return o; + }, + get selection() { + return r; + }, + get doc() { + return i7; + }, + get tr() { + return r = n.selection, i7 = n.doc, o = n.storedMarks, n; + } + }; + } + class ua { + constructor(e7) { + this.editor = e7.editor, this.rawCommands = this.editor.extensionManager.commands, this.customState = e7.state; + } + get hasCustomState() { + return !!this.customState; + } + get state() { + return this.customState || this.editor.state; + } + get commands() { + const { rawCommands: e7, editor: n, state: r } = this, { view: i7 } = n, { tr: o } = r, s = this.buildProps(o); + return Object.fromEntries(Object.entries(e7).map(([a, l]) => [a, (...c) => { + const d = l(...c)(s); + return !o.getMeta("preventDispatch") && !this.hasCustomState && i7.dispatch(o), d; + }])); + } + get chain() { + return () => this.createChain(); + } + get can() { + return () => this.createCan(); + } + createChain(e7, n = true) { + const { rawCommands: r, editor: i7, state: o } = this, { view: s } = i7, a = [], l = !!e7, u = e7 || o.tr, c = () => (!l && n && !u.getMeta("preventDispatch") && !this.hasCustomState && s.dispatch(u), a.every((f) => f === true)), d = { + ...Object.fromEntries(Object.entries(r).map(([f, p]) => [f, (...m7) => { + const g = this.buildProps(u, n), b = p(...m7)(g); + return a.push(b), d; + }])), + run: c + }; + return d; + } + createCan(e7) { + const { rawCommands: n, state: r } = this, i7 = false, o = e7 || r.tr, s = this.buildProps(o, i7); + return { + ...Object.fromEntries(Object.entries(n).map(([l, u]) => [l, (...c) => u(...c)({ ...s, dispatch: void 0 })])), + chain: () => this.createChain(o, i7) + }; + } + buildProps(e7, n = true) { + const { rawCommands: r, editor: i7, state: o } = this, { view: s } = i7, a = { + tr: e7, + editor: i7, + view: s, + state: la({ + state: o, + transaction: e7 + }), + dispatch: n ? () => { + } : void 0, + chain: () => this.createChain(e7, n), + can: () => this.createCan(e7), + get commands() { + return Object.fromEntries(Object.entries(r).map(([l, u]) => [l, (...c) => u(...c)(a)])); + } + }; + return a; + } + } + class X6 { + constructor() { + this.callbacks = {}; + } + on(e7, n) { + return this.callbacks[e7] || (this.callbacks[e7] = []), this.callbacks[e7].push(n), this; + } + emit(e7, ...n) { + const r = this.callbacks[e7]; + return r && r.forEach((i7) => i7.apply(this, n)), this; + } + off(e7, n) { + const r = this.callbacks[e7]; + return r && (n ? this.callbacks[e7] = r.filter((i7) => i7 !== n) : delete this.callbacks[e7]), this; + } + once(e7, n) { + const r = (...i7) => { + this.off(e7, r), n.apply(this, i7); + }; + return this.on(e7, r); + } + removeAllListeners() { + this.callbacks = {}; + } + } + function _(t7, e7, n) { + return t7.config[e7] === void 0 && t7.parent ? _(t7.parent, e7, n) : typeof t7.config[e7] == "function" ? t7.config[e7].bind({ + ...n, + parent: t7.parent ? _(t7.parent, e7, n) : null + }) : t7.config[e7]; + } + function ca(t7) { + const e7 = t7.filter((i7) => i7.type === "extension"), n = t7.filter((i7) => i7.type === "node"), r = t7.filter((i7) => i7.type === "mark"); + return { + baseExtensions: e7, + nodeExtensions: n, + markExtensions: r + }; + } + function D0(t7) { + const e7 = [], { nodeExtensions: n, markExtensions: r } = ca(t7), i7 = [...n, ...r], o = { + default: null, + rendered: true, + renderHTML: null, + parseHTML: null, + keepOnSplit: true, + isRequired: false + }; + return t7.forEach((s) => { + const a = { + name: s.name, + options: s.options, + storage: s.storage, + extensions: i7 + }, l = _(s, "addGlobalAttributes", a); + if (!l) + return; + l().forEach((c) => { + c.types.forEach((d) => { + Object.entries(c.attributes).forEach(([f, p]) => { + e7.push({ + type: d, + name: f, + attribute: { + ...o, + ...p + } + }); + }); + }); + }); + }), i7.forEach((s) => { + const a = { + name: s.name, + options: s.options, + storage: s.storage + }, l = _(s, "addAttributes", a); + if (!l) + return; + const u = l(); + Object.entries(u).forEach(([c, d]) => { + const f = { + ...o, + ...d + }; + typeof f?.default == "function" && (f.default = f.default()), f?.isRequired && f?.default === void 0 && delete f.default, e7.push({ + type: s.name, + name: c, + attribute: f + }); + }); + }), e7; + } + function Ne(t7, e7) { + if (typeof t7 == "string") { + if (!e7.nodes[t7]) + throw Error(`There is no node type named '${t7}'. Maybe you forgot to add the extension?`); + return e7.nodes[t7]; + } + return t7; + } + function re(...t7) { + return t7.filter((e7) => !!e7).reduce((e7, n) => { + const r = { ...e7 }; + return Object.entries(n).forEach(([i7, o]) => { + if (!r[i7]) { + r[i7] = o; + return; + } + if (i7 === "class") { + const a = o ? String(o).split(" ") : [], l = r[i7] ? r[i7].split(" ") : [], u = a.filter((c) => !l.includes(c)); + r[i7] = [...l, ...u].join(" "); + } else if (i7 === "style") { + const a = o ? o.split(";").map((c) => c.trim()).filter(Boolean) : [], l = r[i7] ? r[i7].split(";").map((c) => c.trim()).filter(Boolean) : [], u = /* @__PURE__ */ new Map(); + l.forEach((c) => { + const [d, f] = c.split(":").map((p) => p.trim()); + u.set(d, f); + }), a.forEach((c) => { + const [d, f] = c.split(":").map((p) => p.trim()); + u.set(d, f); + }), r[i7] = Array.from(u.entries()).map(([c, d]) => `${c}: ${d}`).join("; "); + } else + r[i7] = o; + }), r; + }, {}); + } + function Fl(t7, e7) { + return e7.filter((n) => n.type === t7.type.name).filter((n) => n.attribute.rendered).map((n) => n.attribute.renderHTML ? n.attribute.renderHTML(t7.attrs) || {} : { + [n.name]: t7.attrs[n.name] + }).reduce((n, r) => re(n, r), {}); + } + function _0(t7) { + return typeof t7 == "function"; + } + function X(t7, e7 = void 0, ...n) { + return _0(t7) ? e7 ? t7.bind(e7)(...n) : t7(...n) : t7; + } + function Y6(t7 = {}) { + return Object.keys(t7).length === 0 && t7.constructor === Object; + } + function Q6(t7) { + return typeof t7 != "string" ? t7 : t7.match(/^[+-]?(?:\d*\.)?\d+$/) ? Number(t7) : t7 === "true" ? true : t7 === "false" ? false : t7; + } + function rf(t7, e7) { + return "style" in t7 ? t7 : { + ...t7, + getAttrs: (n) => { + const r = t7.getAttrs ? t7.getAttrs(n) : t7.attrs; + if (r === false) + return false; + const i7 = e7.reduce((o, s) => { + const a = s.attribute.parseHTML ? s.attribute.parseHTML(n) : Q6(n.getAttribute(s.name)); + return a == null ? o : { + ...o, + [s.name]: a + }; + }, {}); + return { ...r, ...i7 }; + } + }; + } + function of(t7) { + return Object.fromEntries( + // @ts-ignore + Object.entries(t7).filter(([e7, n]) => e7 === "attrs" && Y6(n) ? false : n != null) + ); + } + function P0(t7, e7) { + var n; + const r = D0(t7), { nodeExtensions: i7, markExtensions: o } = ca(t7), s = (n = i7.find((u) => _(u, "topNode"))) === null || n === void 0 ? void 0 : n.name, a = Object.fromEntries(i7.map((u) => { + const c = r.filter((b) => b.type === u.name), d = { + name: u.name, + options: u.options, + storage: u.storage, + editor: e7 + }, f = t7.reduce((b, x) => { + const w = _(x, "extendNodeSchema", d); + return { + ...b, + ...w ? w(u) : {} + }; + }, {}), p = of({ + ...f, + content: X(_(u, "content", d)), + marks: X(_(u, "marks", d)), + group: X(_(u, "group", d)), + inline: X(_(u, "inline", d)), + atom: X(_(u, "atom", d)), + selectable: X(_(u, "selectable", d)), + draggable: X(_(u, "draggable", d)), + code: X(_(u, "code", d)), + whitespace: X(_(u, "whitespace", d)), + linebreakReplacement: X(_(u, "linebreakReplacement", d)), + defining: X(_(u, "defining", d)), + isolating: X(_(u, "isolating", d)), + attrs: Object.fromEntries(c.map((b) => { + var x; + return [b.name, { default: (x = b?.attribute) === null || x === void 0 ? void 0 : x.default }]; + })) + }), h = X(_(u, "parseHTML", d)); + h && (p.parseDOM = h.map((b) => rf(b, c))); + const m7 = _(u, "renderHTML", d); + m7 && (p.toDOM = (b) => m7({ + node: b, + HTMLAttributes: Fl(b, c) + })); + const g = _(u, "renderText", d); + return g && (p.toText = g), [u.name, p]; + })), l = Object.fromEntries(o.map((u) => { + const c = r.filter((g) => g.type === u.name), d = { + name: u.name, + options: u.options, + storage: u.storage, + editor: e7 + }, f = t7.reduce((g, b) => { + const x = _(b, "extendMarkSchema", d); + return { + ...g, + ...x ? x(u) : {} + }; + }, {}), p = of({ + ...f, + inclusive: X(_(u, "inclusive", d)), + excludes: X(_(u, "excludes", d)), + group: X(_(u, "group", d)), + spanning: X(_(u, "spanning", d)), + code: X(_(u, "code", d)), + attrs: Object.fromEntries(c.map((g) => { + var b; + return [g.name, { default: (b = g?.attribute) === null || b === void 0 ? void 0 : b.default }]; + })) + }), h = X(_(u, "parseHTML", d)); + h && (p.parseDOM = h.map((g) => rf(g, c))); + const m7 = _(u, "renderHTML", d); + return m7 && (p.toDOM = (g) => m7({ + mark: g, + HTMLAttributes: Fl(g, c) + })), [u.name, p]; + })); + return new Ch({ + topNode: s, + nodes: a, + marks: l + }); + } + function ja(t7, e7) { + return e7.nodes[t7] || e7.marks[t7] || null; + } + function sf(t7, e7) { + return Array.isArray(e7) ? e7.some((n) => (typeof n == "string" ? n : n.name) === t7.name) : e7; + } + function qu(t7, e7) { + const n = Hn.fromSchema(e7).serializeFragment(t7), i7 = document.implementation.createHTMLDocument().createElement("div"); + return i7.appendChild(n), i7.innerHTML; + } + const ew = (t7, e7 = 500) => { + let n = ""; + const r = t7.parentOffset; + return t7.parent.nodesBetween(Math.max(0, r - e7), r, (i7, o, s, a) => { + var l, u; + const c = ((u = (l = i7.type.spec).toText) === null || u === void 0 ? void 0 : u.call(l, { + node: i7, + pos: o, + parent: s, + index: a + })) || i7.textContent || "%leaf%"; + n += i7.isAtom && !i7.isText ? c : c.slice(0, Math.max(0, r - o)); + }), n; + }; + function Uu(t7) { + return Object.prototype.toString.call(t7) === "[object RegExp]"; + } + class da { + constructor(e7) { + this.find = e7.find, this.handler = e7.handler; + } + } + const tw = (t7, e7) => { + if (Uu(e7)) + return e7.exec(t7); + const n = e7(t7); + if (!n) + return null; + const r = [n.text]; + return r.index = n.index, r.input = t7, r.data = n.data, n.replaceWith && (n.text.includes(n.replaceWith) || console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'), r.push(n.replaceWith)), r; + }; + function Co(t7) { + var e7; + const { editor: n, from: r, to: i7, text: o, rules: s, plugin: a } = t7, { view: l } = n; + if (l.composing) + return false; + const u = l.state.doc.resolve(r); + if ( + // check for code node + u.parent.type.spec.code || !((e7 = u.nodeBefore || u.nodeAfter) === null || e7 === void 0) && e7.marks.find((f) => f.type.spec.code) + ) + return false; + let c = false; + const d = ew(u) + o; + return s.forEach((f) => { + if (c) + return; + const p = tw(d, f.find); + if (!p) + return; + const h = l.state.tr, m7 = la({ + state: l.state, + transaction: h + }), g = { + from: r - (p[0].length - o.length), + to: i7 + }, { commands: b, chain: x, can: w } = new ua({ + editor: n, + state: m7 + }); + f.handler({ + state: m7, + range: g, + match: p, + commands: b, + chain: x, + can: w + }) === null || !h.steps.length || (h.setMeta(a, { + transform: h, + from: r, + to: i7, + text: o + }), l.dispatch(h), c = true); + }), c; + } + function nw(t7) { + const { editor: e7, rules: n } = t7, r = new fe({ + state: { + init() { + return null; + }, + apply(i7, o, s) { + const a = i7.getMeta(r); + if (a) + return a; + const l = i7.getMeta("applyInputRules"); + return !!l && setTimeout(() => { + let { text: c } = l; + typeof c == "string" ? c = c : c = qu(S.from(c), s.schema); + const { from: d } = l, f = d + c.length; + Co({ + editor: e7, + from: d, + to: f, + text: c, + rules: n, + plugin: r + }); + }), i7.selectionSet || i7.docChanged ? null : o; + } + }, + props: { + handleTextInput(i7, o, s, a) { + return Co({ + editor: e7, + from: o, + to: s, + text: a, + rules: n, + plugin: r + }); + }, + handleDOMEvents: { + compositionend: (i7) => (setTimeout(() => { + const { $cursor: o } = i7.state.selection; + o && Co({ + editor: e7, + from: o.pos, + to: o.pos, + text: "", + rules: n, + plugin: r + }); + }), false) + }, + // add support for input rules to trigger on enter + // this is useful for example for code blocks + handleKeyDown(i7, o) { + if (o.key !== "Enter") + return false; + const { $cursor: s } = i7.state.selection; + return s ? Co({ + editor: e7, + from: s.pos, + to: s.pos, + text: ` +`, + rules: n, + plugin: r + }) : false; + } + }, + // @ts-ignore + isInputRules: true + }); + return r; + } + function rw(t7) { + return Object.prototype.toString.call(t7).slice(8, -1); + } + function So(t7) { + return rw(t7) !== "Object" ? false : t7.constructor === Object && Object.getPrototypeOf(t7) === Object.prototype; + } + function fa(t7, e7) { + const n = { ...t7 }; + return So(t7) && So(e7) && Object.keys(e7).forEach((r) => { + So(e7[r]) && So(t7[r]) ? n[r] = fa(t7[r], e7[r]) : n[r] = e7[r]; + }), n; + } + class et { + constructor(e7 = {}) { + this.type = "mark", this.name = "mark", this.parent = null, this.child = null, this.config = { + name: this.name, + defaultOptions: {} + }, this.config = { + ...this.config, + ...e7 + }, this.name = this.config.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`), this.options = this.config.defaultOptions, this.config.addOptions && (this.options = X(_(this, "addOptions", { + name: this.name + }))), this.storage = X(_(this, "addStorage", { + name: this.name, + options: this.options + })) || {}; + } + static create(e7 = {}) { + return new et(e7); + } + configure(e7 = {}) { + const n = this.extend({ + ...this.config, + addOptions: () => fa(this.options, e7) + }); + return n.name = this.name, n.parent = this.parent, n; + } + extend(e7 = {}) { + const n = new et(e7); + return n.parent = this, this.child = n, n.name = e7.name ? e7.name : n.parent.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`), n.options = X(_(n, "addOptions", { + name: n.name + })), n.storage = X(_(n, "addStorage", { + name: n.name, + options: n.options + })), n; + } + static handleExit({ editor: e7, mark: n }) { + const { tr: r } = e7.state, i7 = e7.state.selection.$from; + if (i7.pos === i7.end()) { + const s = i7.marks(); + if (!!!s.find((u) => u?.type.name === n.name)) + return false; + const l = s.find((u) => u?.type.name === n.name); + return l && r.removeStoredMark(l), r.insertText(" ", i7.pos), e7.view.dispatch(r), true; + } + return false; + } + } + function iw(t7) { + return typeof t7 == "number"; + } + class ow { + constructor(e7) { + this.find = e7.find, this.handler = e7.handler; + } + } + const sw = (t7, e7, n) => { + if (Uu(e7)) + return [...t7.matchAll(e7)]; + const r = e7(t7, n); + return r ? r.map((i7) => { + const o = [i7.text]; + return o.index = i7.index, o.input = t7, o.data = i7.data, i7.replaceWith && (i7.text.includes(i7.replaceWith) || console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'), o.push(i7.replaceWith)), o; + }) : []; + }; + function aw(t7) { + const { editor: e7, state: n, from: r, to: i7, rule: o, pasteEvent: s, dropEvent: a } = t7, { commands: l, chain: u, can: c } = new ua({ + editor: e7, + state: n + }), d = []; + return n.doc.nodesBetween(r, i7, (p, h) => { + if (!p.isTextblock || p.type.spec.code) + return; + const m7 = Math.max(r, h), g = Math.min(i7, h + p.content.size), b = p.textBetween(m7 - h, g - h, void 0, ""); + sw(b, o.find, s).forEach((w) => { + if (w.index === void 0) + return; + const y = m7 + w.index + 1, k7 = y + w[0].length, v = { + from: n.tr.mapping.map(y), + to: n.tr.mapping.map(k7) + }, E = o.handler({ + state: n, + range: v, + match: w, + commands: l, + chain: u, + can: c, + pasteEvent: s, + dropEvent: a + }); + d.push(E); + }); + }), d.every((p) => p !== null); + } + let To = null; + const lw = (t7) => { + var e7; + const n = new ClipboardEvent("paste", { + clipboardData: new DataTransfer() + }); + return (e7 = n.clipboardData) === null || e7 === void 0 || e7.setData("text/html", t7), n; + }; + function uw(t7) { + const { editor: e7, rules: n } = t7; + let r = null, i7 = false, o = false, s = typeof ClipboardEvent < "u" ? new ClipboardEvent("paste") : null, a; + try { + a = typeof DragEvent < "u" ? new DragEvent("drop") : null; + } catch { + a = null; + } + const l = ({ state: c, from: d, to: f, rule: p, pasteEvt: h }) => { + const m7 = c.tr, g = la({ + state: c, + transaction: m7 + }); + if (!(!aw({ + editor: e7, + state: g, + from: Math.max(d - 1, 0), + to: f.b - 1, + rule: p, + pasteEvent: h, + dropEvent: a + }) || !m7.steps.length)) { + try { + a = typeof DragEvent < "u" ? new DragEvent("drop") : null; + } catch { + a = null; + } + return s = typeof ClipboardEvent < "u" ? new ClipboardEvent("paste") : null, m7; + } + }; + return n.map((c) => new fe({ + // we register a global drag handler to track the current drag source element + view(d) { + const f = (h) => { + var m7; + r = !((m7 = d.dom.parentElement) === null || m7 === void 0) && m7.contains(h.target) ? d.dom.parentElement : null, r && (To = e7); + }, p = () => { + To && (To = null); + }; + return window.addEventListener("dragstart", f), window.addEventListener("dragend", p), { + destroy() { + window.removeEventListener("dragstart", f), window.removeEventListener("dragend", p); + } + }; + }, + props: { + handleDOMEvents: { + drop: (d, f) => { + if (o = r === d.dom.parentElement, a = f, !o) { + const p = To; + p?.isEditable && setTimeout(() => { + const h = p.state.selection; + h && p.commands.deleteRange({ from: h.from, to: h.to }); + }, 10); + } + return false; + }, + paste: (d, f) => { + var p; + const h = (p = f.clipboardData) === null || p === void 0 ? void 0 : p.getData("text/html"); + return s = f, i7 = !!h?.includes("data-pm-slice"), false; + } + } + }, + appendTransaction: (d, f, p) => { + const h = d[0], m7 = h.getMeta("uiEvent") === "paste" && !i7, g = h.getMeta("uiEvent") === "drop" && !o, b = h.getMeta("applyPasteRules"), x = !!b; + if (!m7 && !g && !x) + return; + if (x) { + let { text: k7 } = b; + typeof k7 == "string" ? k7 = k7 : k7 = qu(S.from(k7), p.schema); + const { from: v } = b, E = v + k7.length, A = lw(k7); + return l({ + rule: c, + state: p, + from: v, + to: { b: E }, + pasteEvt: A + }); + } + const w = f.doc.content.findDiffStart(p.doc.content), y = f.doc.content.findDiffEnd(p.doc.content); + if (!(!iw(w) || !y || w === y.b)) + return l({ + rule: c, + state: p, + from: w, + to: y, + pasteEvt: s + }); + } + })); + } + function cw(t7) { + const e7 = t7.filter((n, r) => t7.indexOf(n) !== r); + return Array.from(new Set(e7)); + } + class Un { + constructor(e7, n) { + this.splittableMarks = [], this.editor = n, this.extensions = Un.resolve(e7), this.schema = P0(this.extensions, n), this.setupExtensions(); + } + /** + * Returns a flattened and sorted extension list while + * also checking for duplicated extensions and warns the user. + * @param extensions An array of Tiptap extensions + * @returns An flattened and sorted array of Tiptap extensions + */ + static resolve(e7) { + const n = Un.sort(Un.flatten(e7)), r = cw(n.map((i7) => i7.name)); + return r.length && console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map((i7) => `'${i7}'`).join(", ")}]. This can lead to issues.`), n; + } + /** + * Create a flattened array of extensions by traversing the `addExtensions` field. + * @param extensions An array of Tiptap extensions + * @returns A flattened array of Tiptap extensions + */ + static flatten(e7) { + return e7.map((n) => { + const r = { + name: n.name, + options: n.options, + storage: n.storage + }, i7 = _(n, "addExtensions", r); + return i7 ? [n, ...this.flatten(i7())] : n; + }).flat(10); + } + /** + * Sort extensions by priority. + * @param extensions An array of Tiptap extensions + * @returns A sorted array of Tiptap extensions by priority + */ + static sort(e7) { + return e7.sort((r, i7) => { + const o = _(r, "priority") || 100, s = _(i7, "priority") || 100; + return o > s ? -1 : o < s ? 1 : 0; + }); + } + /** + * Get all commands from the extensions. + * @returns An object with all commands where the key is the command name and the value is the command function + */ + get commands() { + return this.extensions.reduce((e7, n) => { + const r = { + name: n.name, + options: n.options, + storage: n.storage, + editor: this.editor, + type: ja(n.name, this.schema) + }, i7 = _(n, "addCommands", r); + return i7 ? { + ...e7, + ...i7() + } : e7; + }, {}); + } + /** + * Get all registered Prosemirror plugins from the extensions. + * @returns An array of Prosemirror plugins + */ + get plugins() { + const { editor: e7 } = this, n = Un.sort([...this.extensions].reverse()), r = [], i7 = [], o = n.map((s) => { + const a = { + name: s.name, + options: s.options, + storage: s.storage, + editor: e7, + type: ja(s.name, this.schema) + }, l = [], u = _(s, "addKeyboardShortcuts", a); + let c = {}; + if (s.type === "mark" && _(s, "exitable", a) && (c.ArrowRight = () => et.handleExit({ editor: e7, mark: s })), u) { + const m7 = Object.fromEntries(Object.entries(u()).map(([g, b]) => [g, () => b({ editor: e7 })])); + c = { ...c, ...m7 }; + } + const d = L6(c); + l.push(d); + const f = _(s, "addInputRules", a); + sf(s, e7.options.enableInputRules) && f && r.push(...f()); + const p = _(s, "addPasteRules", a); + sf(s, e7.options.enablePasteRules) && p && i7.push(...p()); + const h = _(s, "addProseMirrorPlugins", a); + if (h) { + const m7 = h(); + l.push(...m7); + } + return l; + }).flat(); + return [ + nw({ + editor: e7, + rules: r + }), + ...uw({ + editor: e7, + rules: i7 + }), + ...o + ]; + } + /** + * Get all attributes from the extensions. + * @returns An array of attributes + */ + get attributes() { + return D0(this.extensions); + } + /** + * Get all node views from the extensions. + * @returns An object with all node views where the key is the node name and the value is the node view function + */ + get nodeViews() { + const { editor: e7 } = this, { nodeExtensions: n } = ca(this.extensions); + return Object.fromEntries(n.filter((r) => !!_(r, "addNodeView")).map((r) => { + const i7 = this.attributes.filter((l) => l.type === r.name), o = { + name: r.name, + options: r.options, + storage: r.storage, + editor: e7, + type: Ne(r.name, this.schema) + }, s = _(r, "addNodeView", o); + if (!s) + return []; + const a = (l, u, c, d, f) => { + const p = Fl(l, i7); + return s()({ + // pass-through + node: l, + view: u, + getPos: c, + decorations: d, + innerDecorations: f, + // tiptap-specific + editor: e7, + extension: r, + HTMLAttributes: p + }); + }; + return [r.name, a]; + })); + } + /** + * Go through all extensions, create extension storages & setup marks + * & bind editor event listener. + */ + setupExtensions() { + this.extensions.forEach((e7) => { + var n; + this.editor.extensionStorage[e7.name] = e7.storage; + const r = { + name: e7.name, + options: e7.options, + storage: e7.storage, + editor: this.editor, + type: ja(e7.name, this.schema) + }; + e7.type === "mark" && (!((n = X(_(e7, "keepOnSplit", r))) !== null && n !== void 0) || n) && this.splittableMarks.push(e7.name); + const i7 = _(e7, "onBeforeCreate", r), o = _(e7, "onCreate", r), s = _(e7, "onUpdate", r), a = _(e7, "onSelectionUpdate", r), l = _(e7, "onTransaction", r), u = _(e7, "onFocus", r), c = _(e7, "onBlur", r), d = _(e7, "onDestroy", r); + i7 && this.editor.on("beforeCreate", i7), o && this.editor.on("create", o), s && this.editor.on("update", s), a && this.editor.on("selectionUpdate", a), l && this.editor.on("transaction", l), u && this.editor.on("focus", u), c && this.editor.on("blur", c), d && this.editor.on("destroy", d); + }); + } + } + class ie { + constructor(e7 = {}) { + this.type = "extension", this.name = "extension", this.parent = null, this.child = null, this.config = { + name: this.name, + defaultOptions: {} + }, this.config = { + ...this.config, + ...e7 + }, this.name = this.config.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`), this.options = this.config.defaultOptions, this.config.addOptions && (this.options = X(_(this, "addOptions", { + name: this.name + }))), this.storage = X(_(this, "addStorage", { + name: this.name, + options: this.options + })) || {}; + } + static create(e7 = {}) { + return new ie(e7); + } + configure(e7 = {}) { + const n = this.extend({ + ...this.config, + addOptions: () => fa(this.options, e7) + }); + return n.name = this.name, n.parent = this.parent, n; + } + extend(e7 = {}) { + const n = new ie({ ...this.config, ...e7 }); + return n.parent = this, this.child = n, n.name = e7.name ? e7.name : n.parent.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`), n.options = X(_(n, "addOptions", { + name: n.name + })), n.storage = X(_(n, "addStorage", { + name: n.name, + options: n.options + })), n; + } + } + function I0(t7, e7, n) { + const { from: r, to: i7 } = e7, { blockSeparator: o = ` + +`, textSerializers: s = {} } = n || {}; + let a = ""; + return t7.nodesBetween(r, i7, (l, u, c, d) => { + var f; + l.isBlock && u > r && (a += o); + const p = s?.[l.type.name]; + if (p) + return c && (a += p({ + node: l, + pos: u, + parent: c, + index: d, + range: e7 + })), false; + l.isText && (a += (f = l?.text) === null || f === void 0 ? void 0 : f.slice(Math.max(r, u) - u, i7 - u)); + }), a; + } + function Ku(t7) { + return Object.fromEntries(Object.entries(t7.nodes).filter(([, e7]) => e7.spec.toText).map(([e7, n]) => [e7, n.spec.toText])); + } + const dw = ie.create({ + name: "clipboardTextSerializer", + addOptions() { + return { + blockSeparator: void 0 + }; + }, + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("clipboardTextSerializer"), + props: { + clipboardTextSerializer: () => { + const { editor: t7 } = this, { state: e7, schema: n } = t7, { doc: r, selection: i7 } = e7, { ranges: o } = i7, s = Math.min(...o.map((c) => c.$from.pos)), a = Math.max(...o.map((c) => c.$to.pos)), l = Ku(n); + return I0(r, { from: s, to: a }, { + ...this.options.blockSeparator !== void 0 ? { blockSeparator: this.options.blockSeparator } : {}, + textSerializers: l + }); + } + } + }) + ]; + } + }), fw = () => ({ editor: t7, view: e7 }) => (requestAnimationFrame(() => { + var n; + t7.isDestroyed || (e7.dom.blur(), (n = window?.getSelection()) === null || n === void 0 || n.removeAllRanges()); + }), true), pw = (t7 = false) => ({ commands: e7 }) => e7.setContent("", t7), hw = () => ({ state: t7, tr: e7, dispatch: n }) => { + const { selection: r } = e7, { ranges: i7 } = r; + return n && i7.forEach(({ $from: o, $to: s }) => { + t7.doc.nodesBetween(o.pos, s.pos, (a, l) => { + if (a.type.isText) + return; + const { doc: u, mapping: c } = e7, d = u.resolve(c.map(l)), f = u.resolve(c.map(l + a.nodeSize)), p = d.blockRange(f); + if (!p) + return; + const h = Zr(p); + if (a.type.isTextblock) { + const { defaultType: m7 } = d.parent.contentMatchAt(d.index()); + e7.setNodeMarkup(p.start, m7); + } + (h || h === 0) && e7.lift(p, h); + }); + }), true; + }, mw = (t7) => (e7) => t7(e7), gw = () => ({ state: t7, dispatch: e7 }) => N0(t7, e7), bw = (t7, e7) => ({ editor: n, tr: r }) => { + const { state: i7 } = n, o = i7.doc.slice(t7.from, t7.to); + r.deleteRange(t7.from, t7.to); + const s = r.mapping.map(e7); + return r.insert(s, o.content), r.setSelection(new z(r.doc.resolve(Math.max(s - 1, 0)))), true; + }, yw = () => ({ tr: t7, dispatch: e7 }) => { + const { selection: n } = t7, r = n.$anchor.node(); + if (r.content.size > 0) + return false; + const i7 = t7.selection.$anchor; + for (let o = i7.depth; o > 0; o -= 1) + if (i7.node(o).type === r.type) { + if (e7) { + const a = i7.before(o), l = i7.after(o); + t7.delete(a, l).scrollIntoView(); + } + return true; + } + return false; + }, vw = (t7) => ({ tr: e7, state: n, dispatch: r }) => { + const i7 = Ne(t7, n.schema), o = e7.selection.$anchor; + for (let s = o.depth; s > 0; s -= 1) + if (o.node(s).type === i7) { + if (r) { + const l = o.before(s), u = o.after(s); + e7.delete(l, u).scrollIntoView(); + } + return true; + } + return false; + }, ww = (t7) => ({ tr: e7, dispatch: n }) => { + const { from: r, to: i7 } = t7; + return n && e7.delete(r, i7), true; + }, xw = () => ({ state: t7, dispatch: e7 }) => aa(t7, e7), kw = () => ({ commands: t7 }) => t7.keyboardShortcut("Enter"), Aw = () => ({ state: t7, dispatch: e7 }) => _6(t7, e7); + function fs(t7, e7, n = { strict: true }) { + const r = Object.keys(e7); + return r.length ? r.every((i7) => n.strict ? e7[i7] === t7[i7] : Uu(e7[i7]) ? e7[i7].test(t7[i7]) : e7[i7] === t7[i7]) : true; + } + function B0(t7, e7, n = {}) { + return t7.find((r) => r.type === e7 && fs( + // Only check equality for the attributes that are provided + Object.fromEntries(Object.keys(n).map((i7) => [i7, r.attrs[i7]])), + n + )); + } + function af(t7, e7, n = {}) { + return !!B0(t7, e7, n); + } + function pa(t7, e7, n) { + var r; + if (!t7 || !e7) + return; + let i7 = t7.parent.childAfter(t7.parentOffset); + if ((!i7.node || !i7.node.marks.some((c) => c.type === e7)) && (i7 = t7.parent.childBefore(t7.parentOffset)), !i7.node || !i7.node.marks.some((c) => c.type === e7) || (n = n || ((r = i7.node.marks[0]) === null || r === void 0 ? void 0 : r.attrs), !B0([...i7.node.marks], e7, n))) + return; + let s = i7.index, a = t7.start() + i7.offset, l = s + 1, u = a + i7.node.nodeSize; + for (; s > 0 && af([...t7.parent.child(s - 1).marks], e7, n); ) + s -= 1, a -= t7.parent.child(s).nodeSize; + for (; l < t7.parent.childCount && af([...t7.parent.child(l).marks], e7, n); ) + u += t7.parent.child(l).nodeSize, l += 1; + return { + from: a, + to: u + }; + } + function Dn(t7, e7) { + if (typeof t7 == "string") { + if (!e7.marks[t7]) + throw Error(`There is no mark type named '${t7}'. Maybe you forgot to add the extension?`); + return e7.marks[t7]; + } + return t7; + } + const Cw = (t7, e7 = {}) => ({ tr: n, state: r, dispatch: i7 }) => { + const o = Dn(t7, r.schema), { doc: s, selection: a } = n, { $from: l, from: u, to: c } = a; + if (i7) { + const d = pa(l, o, e7); + if (d && d.from <= u && d.to >= c) { + const f = z.create(s, d.from, d.to); + n.setSelection(f); + } + } + return true; + }, Sw = (t7) => (e7) => { + const n = typeof t7 == "function" ? t7(e7) : t7; + for (let r = 0; r < n.length; r += 1) + if (n[r](e7)) + return true; + return false; + }; + function Gu(t7) { + return t7 instanceof z; + } + function Jt(t7 = 0, e7 = 0, n = 0) { + return Math.min(Math.max(t7, e7), n); + } + function F0(t7, e7 = null) { + if (!e7) + return null; + const n = $.atStart(t7), r = $.atEnd(t7); + if (e7 === "start" || e7 === true) + return n; + if (e7 === "end") + return r; + const i7 = n.from, o = r.to; + return e7 === "all" ? z.create(t7, Jt(0, i7, o), Jt(t7.content.size, i7, o)) : z.create(t7, Jt(e7, i7, o), Jt(e7, i7, o)); + } + function z0() { + return navigator.platform === "Android" || /android/i.test(navigator.userAgent); + } + function ha() { + return [ + "iPad Simulator", + "iPhone Simulator", + "iPod Simulator", + "iPad", + "iPhone", + "iPod" + ].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "ontouchend" in document; + } + const Tw = (t7 = null, e7 = {}) => ({ editor: n, view: r, tr: i7, dispatch: o }) => { + e7 = { + scrollIntoView: true, + ...e7 + }; + const s = () => { + (ha() || z0()) && r.dom.focus(), requestAnimationFrame(() => { + n.isDestroyed || (r.focus(), e7?.scrollIntoView && n.commands.scrollIntoView()); + }); + }; + if (r.hasFocus() && t7 === null || t7 === false) + return true; + if (o && t7 === null && !Gu(n.state.selection)) + return s(), true; + const a = F0(i7.doc, t7) || n.state.selection, l = n.state.selection.eq(a); + return o && (l || i7.setSelection(a), l && i7.storedMarks && i7.setStoredMarks(i7.storedMarks), s()), true; + }, Ew = (t7, e7) => (n) => t7.every((r, i7) => e7(r, { ...n, index: i7 })), Mw = (t7, e7) => ({ tr: n, commands: r }) => r.insertContentAt({ from: n.selection.from, to: n.selection.to }, t7, e7), $0 = (t7) => { + const e7 = t7.childNodes; + for (let n = e7.length - 1; n >= 0; n -= 1) { + const r = e7[n]; + r.nodeType === 3 && r.nodeValue && /^(\n\s\s|\n)$/.test(r.nodeValue) ? t7.removeChild(r) : r.nodeType === 1 && $0(r); + } + return t7; + }; + function Eo(t7) { + const e7 = `${t7}`, n = new window.DOMParser().parseFromString(e7, "text/html").body; + return $0(n); + } + function zi(t7, e7, n) { + if (t7 instanceof Xt || t7 instanceof S) + return t7; + n = { + slice: true, + parseOptions: {}, + ...n + }; + const r = typeof t7 == "object" && t7 !== null, i7 = typeof t7 == "string"; + if (r) + try { + if (Array.isArray(t7) && t7.length > 0) + return S.fromArray(t7.map((a) => e7.nodeFromJSON(a))); + const s = e7.nodeFromJSON(t7); + return n.errorOnInvalidContent && s.check(), s; + } catch (o) { + if (n.errorOnInvalidContent) + throw new Error("[tiptap error]: Invalid JSON content", { cause: o }); + return console.warn("[tiptap warn]: Invalid content.", "Passed value:", t7, "Error:", o), zi("", e7, n); + } + if (i7) { + if (n.errorOnInvalidContent) { + let s = false, a = ""; + const l = new Ch({ + topNode: e7.spec.topNode, + marks: e7.spec.marks, + // Prosemirror's schemas are executed such that: the last to execute, matches last + // This means that we can add a catch-all node at the end of the schema to catch any content that we don't know how to handle + nodes: e7.spec.nodes.append({ + __tiptap__private__unknown__catch__all__node: { + content: "inline*", + group: "block", + parseDOM: [ + { + tag: "*", + getAttrs: (u) => (s = true, a = typeof u == "string" ? u : u.outerHTML, null) + } + ] + } + }) + }); + if (n.slice ? Cn.fromSchema(l).parseSlice(Eo(t7), n.parseOptions) : Cn.fromSchema(l).parse(Eo(t7), n.parseOptions), n.errorOnInvalidContent && s) + throw new Error("[tiptap error]: Invalid HTML content", { cause: new Error(`Invalid element found: ${a}`) }); + } + const o = Cn.fromSchema(e7); + return n.slice ? o.parseSlice(Eo(t7), n.parseOptions).content : o.parse(Eo(t7), n.parseOptions); + } + return zi("", e7, n); + } + function Ow(t7, e7, n) { + const r = t7.steps.length - 1; + if (r < e7) + return; + const i7 = t7.steps[r]; + if (!(i7 instanceof Ee || i7 instanceof Oe)) + return; + const o = t7.mapping.maps[r]; + let s = 0; + o.forEach((a, l, u, c) => { + s === 0 && (s = c); + }), t7.setSelection($.near(t7.doc.resolve(s), n)); + } + const Lw = (t7) => !("type" in t7), Nw = (t7, e7, n) => ({ tr: r, dispatch: i7, editor: o }) => { + var s; + if (i7) { + n = { + parseOptions: o.options.parseOptions, + updateSelection: true, + applyInputRules: false, + applyPasteRules: false, + ...n + }; + let a; + const l = (g) => { + o.emit("contentError", { + editor: o, + error: g, + disableCollaboration: () => { + o.storage.collaboration && (o.storage.collaboration.isDisabled = true); + } + }); + }, u = { + preserveWhitespace: "full", + ...n.parseOptions + }; + if (!n.errorOnInvalidContent && !o.options.enableContentCheck && o.options.emitContentError) + try { + zi(e7, o.schema, { + parseOptions: u, + errorOnInvalidContent: true + }); + } catch (g) { + l(g); + } + try { + a = zi(e7, o.schema, { + parseOptions: u, + errorOnInvalidContent: (s = n.errorOnInvalidContent) !== null && s !== void 0 ? s : o.options.enableContentCheck + }); + } catch (g) { + return l(g), false; + } + let { from: c, to: d } = typeof t7 == "number" ? { from: t7, to: t7 } : { from: t7.from, to: t7.to }, f = true, p = true; + if ((Lw(a) ? a : [a]).forEach((g) => { + g.check(), f = f ? g.isText && g.marks.length === 0 : false, p = p ? g.isBlock : false; + }), c === d && p) { + const { parent: g } = r.doc.resolve(c); + g.isTextblock && !g.type.spec.code && !g.childCount && (c -= 1, d += 1); + } + let m7; + if (f) { + if (Array.isArray(e7)) + m7 = e7.map((g) => g.text || "").join(""); + else if (e7 instanceof S) { + let g = ""; + e7.forEach((b) => { + b.text && (g += b.text); + }), m7 = g; + } else typeof e7 == "object" && e7 && e7.text ? m7 = e7.text : m7 = e7; + r.insertText(m7, c, d); + } else + m7 = a, r.replaceWith(c, d, m7); + n.updateSelection && Ow(r, r.steps.length - 1, -1), n.applyInputRules && r.setMeta("applyInputRules", { from: c, text: m7 }), n.applyPasteRules && r.setMeta("applyPasteRules", { from: c, text: m7 }); + } + return true; + }, Hw = () => ({ state: t7, dispatch: e7 }) => V6(t7, e7), Vw = () => ({ state: t7, dispatch: e7 }) => R6(t7, e7), Rw = () => ({ state: t7, dispatch: e7 }) => C0(t7, e7), Dw = () => ({ state: t7, dispatch: e7 }) => M0(t7, e7), _w = () => ({ state: t7, dispatch: e7, tr: n }) => { + try { + const r = ta(t7.doc, t7.selection.$from.pos, -1); + return r == null ? false : (n.join(r, 2), e7 && e7(n), true); + } catch { + return false; + } + }, Pw = () => ({ state: t7, dispatch: e7, tr: n }) => { + try { + const r = ta(t7.doc, t7.selection.$from.pos, 1); + return r == null ? false : (n.join(r, 2), e7 && e7(n), true); + } catch { + return false; + } + }, Iw = () => ({ state: t7, dispatch: e7 }) => N6(t7, e7), Bw = () => ({ state: t7, dispatch: e7 }) => H6(t7, e7); + function j0() { + return typeof navigator < "u" ? /Mac/.test(navigator.platform) : false; + } + function Fw(t7) { + const e7 = t7.split(/-(?!$)/); + let n = e7[e7.length - 1]; + n === "Space" && (n = " "); + let r, i7, o, s; + for (let a = 0; a < e7.length - 1; a += 1) { + const l = e7[a]; + if (/^(cmd|meta|m)$/i.test(l)) + s = true; + else if (/^a(lt)?$/i.test(l)) + r = true; + else if (/^(c|ctrl|control)$/i.test(l)) + i7 = true; + else if (/^s(hift)?$/i.test(l)) + o = true; + else if (/^mod$/i.test(l)) + ha() || j0() ? s = true : i7 = true; + else + throw new Error(`Unrecognized modifier name: ${l}`); + } + return r && (n = `Alt-${n}`), i7 && (n = `Ctrl-${n}`), s && (n = `Meta-${n}`), o && (n = `Shift-${n}`), n; + } + const zw = (t7) => ({ editor: e7, view: n, tr: r, dispatch: i7 }) => { + const o = Fw(t7).split(/-(?!$)/), s = o.find((u) => !["Alt", "Ctrl", "Meta", "Shift"].includes(u)), a = new KeyboardEvent("keydown", { + key: s === "Space" ? " " : s, + altKey: o.includes("Alt"), + ctrlKey: o.includes("Ctrl"), + metaKey: o.includes("Meta"), + shiftKey: o.includes("Shift"), + bubbles: true, + cancelable: true + }), l = e7.captureTransaction(() => { + n.someProp("handleKeyDown", (u) => u(n, a)); + }); + return l?.steps.forEach((u) => { + const c = u.map(r.mapping); + c && i7 && r.maybeStep(c); + }), true; + }; + function $i(t7, e7, n = {}) { + const { from: r, to: i7, empty: o } = t7.selection, s = e7 ? Ne(e7, t7.schema) : null, a = []; + t7.doc.nodesBetween(r, i7, (d, f) => { + if (d.isText) + return; + const p = Math.max(r, f), h = Math.min(i7, f + d.nodeSize); + a.push({ + node: d, + from: p, + to: h + }); + }); + const l = i7 - r, u = a.filter((d) => s ? s.name === d.node.type.name : true).filter((d) => fs(d.node.attrs, n, { strict: false })); + return o ? !!u.length : u.reduce((d, f) => d + f.to - f.from, 0) >= l; + } + const $w = (t7, e7 = {}) => ({ state: n, dispatch: r }) => { + const i7 = Ne(t7, n.schema); + return $i(n, i7, e7) ? D6(n, r) : false; + }, jw = () => ({ state: t7, dispatch: e7 }) => H0(t7, e7), Ww = (t7) => ({ state: e7, dispatch: n }) => { + const r = Ne(t7, e7.schema); + return K6(r)(e7, n); + }, qw = () => ({ state: t7, dispatch: e7 }) => L0(t7, e7); + function ma(t7, e7) { + return e7.nodes[t7] ? "node" : e7.marks[t7] ? "mark" : null; + } + function lf(t7, e7) { + const n = typeof e7 == "string" ? [e7] : e7; + return Object.keys(t7).reduce((r, i7) => (n.includes(i7) || (r[i7] = t7[i7]), r), {}); + } + const Uw = (t7, e7) => ({ tr: n, state: r, dispatch: i7 }) => { + let o = null, s = null; + const a = ma(typeof t7 == "string" ? t7 : t7.name, r.schema); + return a ? (a === "node" && (o = Ne(t7, r.schema)), a === "mark" && (s = Dn(t7, r.schema)), i7 && n.selection.ranges.forEach((l) => { + r.doc.nodesBetween(l.$from.pos, l.$to.pos, (u, c) => { + o && o === u.type && n.setNodeMarkup(c, void 0, lf(u.attrs, e7)), s && u.marks.length && u.marks.forEach((d) => { + s === d.type && n.addMark(c, c + u.nodeSize, s.create(lf(d.attrs, e7))); + }); + }); + }), true) : false; + }, Kw = () => ({ tr: t7, dispatch: e7 }) => (e7 && t7.scrollIntoView(), true), Gw = () => ({ tr: t7, dispatch: e7 }) => { + if (e7) { + const n = new st(t7.doc); + t7.setSelection(n); + } + return true; + }, Jw = () => ({ state: t7, dispatch: e7 }) => T0(t7, e7), Zw = () => ({ state: t7, dispatch: e7 }) => O0(t7, e7), Xw = () => ({ state: t7, dispatch: e7 }) => B6(t7, e7), Yw = () => ({ state: t7, dispatch: e7 }) => $6(t7, e7), Qw = () => ({ state: t7, dispatch: e7 }) => z6(t7, e7); + function zl(t7, e7, n = {}, r = {}) { + return zi(t7, e7, { + slice: false, + parseOptions: n, + errorOnInvalidContent: r.errorOnInvalidContent + }); + } + const ex = (t7, e7 = false, n = {}, r = {}) => ({ editor: i7, tr: o, dispatch: s, commands: a }) => { + var l, u; + const { doc: c } = o; + if (n.preserveWhitespace !== "full") { + const d = zl(t7, i7.schema, n, { + errorOnInvalidContent: (l = r.errorOnInvalidContent) !== null && l !== void 0 ? l : i7.options.enableContentCheck + }); + return s && o.replaceWith(0, c.content.size, d).setMeta("preventUpdate", !e7), true; + } + return s && o.setMeta("preventUpdate", !e7), a.insertContentAt({ from: 0, to: c.content.size }, t7, { + parseOptions: n, + errorOnInvalidContent: (u = r.errorOnInvalidContent) !== null && u !== void 0 ? u : i7.options.enableContentCheck + }); + }; + function W0(t7, e7) { + const n = Dn(e7, t7.schema), { from: r, to: i7, empty: o } = t7.selection, s = []; + o ? (t7.storedMarks && s.push(...t7.storedMarks), s.push(...t7.selection.$head.marks())) : t7.doc.nodesBetween(r, i7, (l) => { + s.push(...l.marks); + }); + const a = s.find((l) => l.type.name === n.name); + return a ? { ...a.attrs } : {}; + } + function tx(t7, e7) { + const n = new Ou(t7); + return e7.forEach((r) => { + r.steps.forEach((i7) => { + n.step(i7); + }); + }), n; + } + function nx(t7) { + for (let e7 = 0; e7 < t7.edgeCount; e7 += 1) { + const { type: n } = t7.edge(e7); + if (n.isTextblock && !n.hasRequiredAttrs()) + return n; + } + return null; + } + function rx(t7, e7, n) { + const r = []; + return t7.nodesBetween(e7.from, e7.to, (i7, o) => { + n(i7) && r.push({ + node: i7, + pos: o + }); + }), r; + } + function q0(t7, e7) { + for (let n = t7.depth; n > 0; n -= 1) { + const r = t7.node(n); + if (e7(r)) + return { + pos: n > 0 ? t7.before(n) : 0, + start: t7.start(n), + depth: n, + node: r + }; + } + } + function Ju(t7) { + return (e7) => q0(e7.$from, t7); + } + function ix(t7, e7) { + const n = Un.resolve(t7); + return P0(n, e7); + } + function U0(t7, e7) { + const n = { + from: 0, + to: t7.content.size + }; + return I0(t7, n, e7); + } + function ox(t7, e7) { + const n = Ne(e7, t7.schema), { from: r, to: i7 } = t7.selection, o = []; + t7.doc.nodesBetween(r, i7, (a) => { + o.push(a); + }); + const s = o.reverse().find((a) => a.type.name === n.name); + return s ? { ...s.attrs } : {}; + } + function K0(t7, e7) { + const n = ma(typeof e7 == "string" ? e7 : e7.name, t7.schema); + return n === "node" ? ox(t7, e7) : n === "mark" ? W0(t7, e7) : {}; + } + function sx(t7, e7 = JSON.stringify) { + const n = {}; + return t7.filter((r) => { + const i7 = e7(r); + return Object.prototype.hasOwnProperty.call(n, i7) ? false : n[i7] = true; + }); + } + function ax(t7) { + const e7 = sx(t7); + return e7.length === 1 ? e7 : e7.filter((n, r) => !e7.filter((o, s) => s !== r).some((o) => n.oldRange.from >= o.oldRange.from && n.oldRange.to <= o.oldRange.to && n.newRange.from >= o.newRange.from && n.newRange.to <= o.newRange.to)); + } + function lx(t7) { + const { mapping: e7, steps: n } = t7, r = []; + return e7.maps.forEach((i7, o) => { + const s = []; + if (i7.ranges.length) + i7.forEach((a, l) => { + s.push({ from: a, to: l }); + }); + else { + const { from: a, to: l } = n[o]; + if (a === void 0 || l === void 0) + return; + s.push({ from: a, to: l }); + } + s.forEach(({ from: a, to: l }) => { + const u = e7.slice(o).map(a, -1), c = e7.slice(o).map(l), d = e7.invert().map(u, -1), f = e7.invert().map(c); + r.push({ + oldRange: { + from: d, + to: f + }, + newRange: { + from: u, + to: c + } + }); + }); + }), ax(r); + } + function Zu(t7, e7, n) { + const r = []; + return t7 === e7 ? n.resolve(t7).marks().forEach((i7) => { + const o = n.resolve(t7), s = pa(o, i7.type); + s && r.push({ + mark: i7, + ...s + }); + }) : n.nodesBetween(t7, e7, (i7, o) => { + !i7 || i7?.nodeSize === void 0 || r.push(...i7.marks.map((s) => ({ + from: o, + to: o + i7.nodeSize, + mark: s + }))); + }), r; + } + function Wo(t7, e7, n) { + return Object.fromEntries(Object.entries(n).filter(([r]) => { + const i7 = t7.find((o) => o.type === e7 && o.name === r); + return i7 ? i7.attribute.keepOnSplit : false; + })); + } + function $l(t7, e7, n = {}) { + const { empty: r, ranges: i7 } = t7.selection, o = e7 ? Dn(e7, t7.schema) : null; + if (r) + return !!(t7.storedMarks || t7.selection.$from.marks()).filter((d) => o ? o.name === d.type.name : true).find((d) => fs(d.attrs, n, { strict: false })); + let s = 0; + const a = []; + if (i7.forEach(({ $from: d, $to: f }) => { + const p = d.pos, h = f.pos; + t7.doc.nodesBetween(p, h, (m7, g) => { + if (!m7.isText && !m7.marks.length) + return; + const b = Math.max(p, g), x = Math.min(h, g + m7.nodeSize), w = x - b; + s += w, a.push(...m7.marks.map((y) => ({ + mark: y, + from: b, + to: x + }))); + }); + }), s === 0) + return false; + const l = a.filter((d) => o ? o.name === d.mark.type.name : true).filter((d) => fs(d.mark.attrs, n, { strict: false })).reduce((d, f) => d + f.to - f.from, 0), u = a.filter((d) => o ? d.mark.type !== o && d.mark.type.excludes(o) : true).reduce((d, f) => d + f.to - f.from, 0); + return (l > 0 ? l + u : l) >= s; + } + function ux(t7, e7, n = {}) { + if (!e7) + return $i(t7, null, n) || $l(t7, null, n); + const r = ma(e7, t7.schema); + return r === "node" ? $i(t7, e7, n) : r === "mark" ? $l(t7, e7, n) : false; + } + function uf(t7, e7) { + const { nodeExtensions: n } = ca(e7), r = n.find((s) => s.name === t7); + if (!r) + return false; + const i7 = { + name: r.name, + options: r.options, + storage: r.storage + }, o = X(_(r, "group", i7)); + return typeof o != "string" ? false : o.split(" ").includes("list"); + } + function ga(t7, { checkChildren: e7 = true, ignoreWhitespace: n = false } = {}) { + var r; + if (n) { + if (t7.type.name === "hardBreak") + return true; + if (t7.isText) + return /^\s*$/m.test((r = t7.text) !== null && r !== void 0 ? r : ""); + } + if (t7.isText) + return !t7.text; + if (t7.isAtom || t7.isLeaf) + return false; + if (t7.content.childCount === 0) + return true; + if (e7) { + let i7 = true; + return t7.content.forEach((o) => { + i7 !== false && (ga(o, { ignoreWhitespace: n, checkChildren: e7 }) || (i7 = false)); + }), i7; + } + return false; + } + function G0(t7) { + return t7 instanceof F; + } + function J0(t7, e7, n) { + const i7 = t7.state.doc.content.size, o = Jt(e7, 0, i7), s = Jt(n, 0, i7), a = t7.coordsAtPos(o), l = t7.coordsAtPos(s, -1), u = Math.min(a.top, l.top), c = Math.max(a.bottom, l.bottom), d = Math.min(a.left, l.left), f = Math.max(a.right, l.right), p = f - d, h = c - u, b = { + top: u, + bottom: c, + left: d, + right: f, + width: p, + height: h, + x: d, + y: u + }; + return { + ...b, + toJSON: () => b + }; + } + function cx(t7, e7, n) { + var r; + const { selection: i7 } = e7; + let o = null; + if (Gu(i7) && (o = i7.$cursor), o) { + const a = (r = t7.storedMarks) !== null && r !== void 0 ? r : o.marks(); + return !!n.isInSet(a) || !a.some((l) => l.type.excludes(n)); + } + const { ranges: s } = i7; + return s.some(({ $from: a, $to: l }) => { + let u = a.depth === 0 ? t7.doc.inlineContent && t7.doc.type.allowsMarkType(n) : false; + return t7.doc.nodesBetween(a.pos, l.pos, (c, d, f) => { + if (u) + return false; + if (c.isInline) { + const p = !f || f.type.allowsMarkType(n), h = !!n.isInSet(c.marks) || !c.marks.some((m7) => m7.type.excludes(n)); + u = p && h; + } + return !u; + }), u; + }); + } + const dx = (t7, e7 = {}) => ({ tr: n, state: r, dispatch: i7 }) => { + const { selection: o } = n, { empty: s, ranges: a } = o, l = Dn(t7, r.schema); + if (i7) + if (s) { + const u = W0(r, l); + n.addStoredMark(l.create({ + ...u, + ...e7 + })); + } else + a.forEach((u) => { + const c = u.$from.pos, d = u.$to.pos; + r.doc.nodesBetween(c, d, (f, p) => { + const h = Math.max(p, c), m7 = Math.min(p + f.nodeSize, d); + f.marks.find((b) => b.type === l) ? f.marks.forEach((b) => { + l === b.type && n.addMark(h, m7, l.create({ + ...b.attrs, + ...e7 + })); + }) : n.addMark(h, m7, l.create(e7)); + }); + }); + return cx(r, n, l); + }, fx = (t7, e7) => ({ tr: n }) => (n.setMeta(t7, e7), true), px = (t7, e7 = {}) => ({ state: n, dispatch: r, chain: i7 }) => { + const o = Ne(t7, n.schema); + let s; + return n.selection.$anchor.sameParent(n.selection.$head) && (s = n.selection.$anchor.parent.attrs), o.isTextblock ? i7().command(({ commands: a }) => nf(o, { ...s, ...e7 })(n) ? true : a.clearNodes()).command(({ state: a }) => nf(o, { ...s, ...e7 })(a, r)).run() : (console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'), false); + }, hx = (t7) => ({ tr: e7, dispatch: n }) => { + if (n) { + const { doc: r } = e7, i7 = Jt(t7, 0, r.content.size), o = F.create(r, i7); + e7.setSelection(o); + } + return true; + }, mx = (t7) => ({ tr: e7, dispatch: n }) => { + if (n) { + const { doc: r } = e7, { from: i7, to: o } = typeof t7 == "number" ? { from: t7, to: t7 } : t7, s = z.atStart(r).from, a = z.atEnd(r).to, l = Jt(i7, s, a), u = Jt(o, s, a), c = z.create(r, l, u); + e7.setSelection(c); + } + return true; + }, gx = (t7) => ({ state: e7, dispatch: n }) => { + const r = Ne(t7, e7.schema); + return Z6(r)(e7, n); + }; + function cf(t7, e7) { + const n = t7.storedMarks || t7.selection.$to.parentOffset && t7.selection.$from.marks(); + if (n) { + const r = n.filter((i7) => e7?.includes(i7.type.name)); + t7.tr.ensureMarks(r); + } + } + const bx = ({ keepMarks: t7 = true } = {}) => ({ tr: e7, state: n, dispatch: r, editor: i7 }) => { + const { selection: o, doc: s } = e7, { $from: a, $to: l } = o, u = i7.extensionManager.attributes, c = Wo(u, a.node().type.name, a.node().attrs); + if (o instanceof F && o.node.isBlock) + return !a.parentOffset || !Yt(s, a.pos) ? false : (r && (t7 && cf(n, i7.extensionManager.splittableMarks), e7.split(a.pos).scrollIntoView()), true); + if (!a.parent.isBlock) + return false; + const d = l.parentOffset === l.parent.content.size, f = a.depth === 0 ? void 0 : nx(a.node(-1).contentMatchAt(a.indexAfter(-1))); + let p = d && f ? [ + { + type: f, + attrs: c + } + ] : void 0, h = Yt(e7.doc, e7.mapping.map(a.pos), 1, p); + if (!p && !h && Yt(e7.doc, e7.mapping.map(a.pos), 1, f ? [{ type: f }] : void 0) && (h = true, p = f ? [ + { + type: f, + attrs: c + } + ] : void 0), r) { + if (h && (o instanceof z && e7.deleteSelection(), e7.split(e7.mapping.map(a.pos), 1, p), f && !d && !a.parentOffset && a.parent.type !== f)) { + const m7 = e7.mapping.map(a.before()), g = e7.doc.resolve(m7); + a.node(-1).canReplaceWith(g.index(), g.index() + 1, f) && e7.setNodeMarkup(e7.mapping.map(a.before()), f); + } + t7 && cf(n, i7.extensionManager.splittableMarks), e7.scrollIntoView(); + } + return h; + }, yx = (t7, e7 = {}) => ({ tr: n, state: r, dispatch: i7, editor: o }) => { + var s; + const a = Ne(t7, r.schema), { $from: l, $to: u } = r.selection, c = r.selection.node; + if (c && c.isBlock || l.depth < 2 || !l.sameParent(u)) + return false; + const d = l.node(-1); + if (d.type !== a) + return false; + const f = o.extensionManager.attributes; + if (l.parent.content.size === 0 && l.node(-1).childCount === l.indexAfter(-1)) { + if (l.depth === 2 || l.node(-3).type !== a || l.index(-2) !== l.node(-2).childCount - 1) + return false; + if (i7) { + let b = S.empty; + const x = l.index(-1) ? 1 : l.index(-2) ? 2 : 3; + for (let A = l.depth - x; A >= l.depth - 3; A -= 1) + b = S.from(l.node(A).copy(b)); + const w = l.indexAfter(-1) < l.node(-2).childCount ? 1 : l.indexAfter(-2) < l.node(-3).childCount ? 2 : 3, y = { + ...Wo(f, l.node().type.name, l.node().attrs), + ...e7 + }, k7 = ((s = a.contentMatch.defaultType) === null || s === void 0 ? void 0 : s.createAndFill(y)) || void 0; + b = b.append(S.from(a.createAndFill(null, k7) || void 0)); + const v = l.before(l.depth - (x - 1)); + n.replace(v, l.after(-w), new N(b, 4 - x, 0)); + let E = -1; + n.doc.nodesBetween(v, n.doc.content.size, (A, H) => { + if (E > -1) + return false; + A.isTextblock && A.content.size === 0 && (E = H + 1); + }), E > -1 && n.setSelection(z.near(n.doc.resolve(E))), n.scrollIntoView(); + } + return true; + } + const p = u.pos === l.end() ? d.contentMatchAt(0).defaultType : null, h = { + ...Wo(f, d.type.name, d.attrs), + ...e7 + }, m7 = { + ...Wo(f, l.node().type.name, l.node().attrs), + ...e7 + }; + n.delete(l.pos, u.pos); + const g = p ? [ + { type: a, attrs: h }, + { type: p, attrs: m7 } + ] : [{ type: a, attrs: h }]; + if (!Yt(n.doc, l.pos, 2)) + return false; + if (i7) { + const { selection: b, storedMarks: x } = r, { splittableMarks: w } = o.extensionManager, y = x || b.$to.parentOffset && b.$from.marks(); + if (n.split(l.pos, 2, g).scrollIntoView(), !y || !i7) + return true; + const k7 = y.filter((v) => w.includes(v.type.name)); + n.ensureMarks(k7); + } + return true; + }, Wa = (t7, e7) => { + const n = Ju((s) => s.type === e7)(t7.selection); + if (!n) + return true; + const r = t7.doc.resolve(Math.max(0, n.pos - 1)).before(n.depth); + if (r === void 0) + return true; + const i7 = t7.doc.nodeAt(r); + return n.node.type === i7?.type && Vn(t7.doc, n.pos) && t7.join(n.pos), true; + }, qa = (t7, e7) => { + const n = Ju((s) => s.type === e7)(t7.selection); + if (!n) + return true; + const r = t7.doc.resolve(n.start).after(n.depth); + if (r === void 0) + return true; + const i7 = t7.doc.nodeAt(r); + return n.node.type === i7?.type && Vn(t7.doc, r) && t7.join(r), true; + }, vx = (t7, e7, n, r = {}) => ({ editor: i7, tr: o, state: s, dispatch: a, chain: l, commands: u, can: c }) => { + const { extensions: d, splittableMarks: f } = i7.extensionManager, p = Ne(t7, s.schema), h = Ne(e7, s.schema), { selection: m7, storedMarks: g } = s, { $from: b, $to: x } = m7, w = b.blockRange(x), y = g || m7.$to.parentOffset && m7.$from.marks(); + if (!w) + return false; + const k7 = Ju((v) => uf(v.type.name, d))(m7); + if (w.depth >= 1 && k7 && w.depth - k7.depth <= 1) { + if (k7.node.type === p) + return u.liftListItem(h); + if (uf(k7.node.type.name, d) && p.validContent(k7.node.content) && a) + return l().command(() => (o.setNodeMarkup(k7.pos, p), true)).command(() => Wa(o, p)).command(() => qa(o, p)).run(); + } + return !n || !y || !a ? l().command(() => c().wrapInList(p, r) ? true : u.clearNodes()).wrapInList(p, r).command(() => Wa(o, p)).command(() => qa(o, p)).run() : l().command(() => { + const v = c().wrapInList(p, r), E = y.filter((A) => f.includes(A.type.name)); + return o.ensureMarks(E), v ? true : u.clearNodes(); + }).wrapInList(p, r).command(() => Wa(o, p)).command(() => qa(o, p)).run(); + }, wx$1 = (t7, e7 = {}, n = {}) => ({ state: r, commands: i7 }) => { + const { extendEmptyMarkRange: o = false } = n, s = Dn(t7, r.schema); + return $l(r, s, e7) ? i7.unsetMark(s, { extendEmptyMarkRange: o }) : i7.setMark(s, e7); + }, xx = (t7, e7, n = {}) => ({ state: r, commands: i7 }) => { + const o = Ne(t7, r.schema), s = Ne(e7, r.schema), a = $i(r, o, n); + let l; + return r.selection.$anchor.sameParent(r.selection.$head) && (l = r.selection.$anchor.parent.attrs), a ? i7.setNode(s, l) : i7.setNode(o, { ...l, ...n }); + }, kx = (t7, e7 = {}) => ({ state: n, commands: r }) => { + const i7 = Ne(t7, n.schema); + return $i(n, i7, e7) ? r.lift(i7) : r.wrapIn(i7, e7); + }, Ax = () => ({ state: t7, dispatch: e7 }) => { + const n = t7.plugins; + for (let r = 0; r < n.length; r += 1) { + const i7 = n[r]; + let o; + if (i7.spec.isInputRules && (o = i7.getState(t7))) { + if (e7) { + const s = t7.tr, a = o.transform; + for (let l = a.steps.length - 1; l >= 0; l -= 1) + s.step(a.steps[l].invert(a.docs[l])); + if (o.text) { + const l = s.doc.resolve(o.from).marks(); + s.replaceWith(o.from, o.to, t7.schema.text(o.text, l)); + } else + s.delete(o.from, o.to); + } + return true; + } + } + return false; + }, Cx = () => ({ tr: t7, dispatch: e7 }) => { + const { selection: n } = t7, { empty: r, ranges: i7 } = n; + return r || e7 && i7.forEach((o) => { + t7.removeMark(o.$from.pos, o.$to.pos); + }), true; + }, Sx = (t7, e7 = {}) => ({ tr: n, state: r, dispatch: i7 }) => { + var o; + const { extendEmptyMarkRange: s = false } = e7, { selection: a } = n, l = Dn(t7, r.schema), { $from: u, empty: c, ranges: d } = a; + if (!i7) + return true; + if (c && s) { + let { from: f, to: p } = a; + const h = (o = u.marks().find((g) => g.type === l)) === null || o === void 0 ? void 0 : o.attrs, m7 = pa(u, l, h); + m7 && (f = m7.from, p = m7.to), n.removeMark(f, p, l); + } else + d.forEach((f) => { + n.removeMark(f.$from.pos, f.$to.pos, l); + }); + return n.removeStoredMark(l), true; + }, Tx = (t7, e7 = {}) => ({ tr: n, state: r, dispatch: i7 }) => { + let o = null, s = null; + const a = ma(typeof t7 == "string" ? t7 : t7.name, r.schema); + return a ? (a === "node" && (o = Ne(t7, r.schema)), a === "mark" && (s = Dn(t7, r.schema)), i7 && n.selection.ranges.forEach((l) => { + const u = l.$from.pos, c = l.$to.pos; + let d, f, p, h; + n.selection.empty ? r.doc.nodesBetween(u, c, (m7, g) => { + o && o === m7.type && (p = Math.max(g, u), h = Math.min(g + m7.nodeSize, c), d = g, f = m7); + }) : r.doc.nodesBetween(u, c, (m7, g) => { + g < u && o && o === m7.type && (p = Math.max(g, u), h = Math.min(g + m7.nodeSize, c), d = g, f = m7), g >= u && g <= c && (o && o === m7.type && n.setNodeMarkup(g, void 0, { + ...m7.attrs, + ...e7 + }), s && m7.marks.length && m7.marks.forEach((b) => { + if (s === b.type) { + const x = Math.max(g, u), w = Math.min(g + m7.nodeSize, c); + n.addMark(x, w, s.create({ + ...b.attrs, + ...e7 + })); + } + })); + }), f && (d !== void 0 && n.setNodeMarkup(d, void 0, { + ...f.attrs, + ...e7 + }), s && f.marks.length && f.marks.forEach((m7) => { + s === m7.type && n.addMark(p, h, s.create({ + ...m7.attrs, + ...e7 + })); + })); + }), true) : false; + }, Ex = (t7, e7 = {}) => ({ state: n, dispatch: r }) => { + const i7 = Ne(t7, n.schema); + return j6(i7, e7)(n, r); + }, Mx = (t7, e7 = {}) => ({ state: n, dispatch: r }) => { + const i7 = Ne(t7, n.schema); + return W6(i7, e7)(n, r); + }; + var Ox = /* @__PURE__ */ Object.freeze({ + __proto__: null, + blur: fw, + clearContent: pw, + clearNodes: hw, + command: mw, + createParagraphNear: gw, + cut: bw, + deleteCurrentNode: yw, + deleteNode: vw, + deleteRange: ww, + deleteSelection: xw, + enter: kw, + exitCode: Aw, + extendMarkRange: Cw, + first: Sw, + focus: Tw, + forEach: Ew, + insertContent: Mw, + insertContentAt: Nw, + joinBackward: Rw, + joinDown: Vw, + joinForward: Dw, + joinItemBackward: _w, + joinItemForward: Pw, + joinTextblockBackward: Iw, + joinTextblockForward: Bw, + joinUp: Hw, + keyboardShortcut: zw, + lift: $w, + liftEmptyBlock: jw, + liftListItem: Ww, + newlineInCode: qw, + resetAttributes: Uw, + scrollIntoView: Kw, + selectAll: Gw, + selectNodeBackward: Jw, + selectNodeForward: Zw, + selectParentNode: Xw, + selectTextblockEnd: Yw, + selectTextblockStart: Qw, + setContent: ex, + setMark: dx, + setMeta: fx, + setNode: px, + setNodeSelection: hx, + setTextSelection: mx, + sinkListItem: gx, + splitBlock: bx, + splitListItem: yx, + toggleList: vx, + toggleMark: wx$1, + toggleNode: xx, + toggleWrap: kx, + undoInputRule: Ax, + unsetAllMarks: Cx, + unsetMark: Sx, + updateAttributes: Tx, + wrapIn: Ex, + wrapInList: Mx + }); + const Lx = ie.create({ + name: "commands", + addCommands() { + return { + ...Ox + }; + } + }), Nx = ie.create({ + name: "drop", + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("tiptapDrop"), + props: { + handleDrop: (t7, e7, n, r) => { + this.editor.emit("drop", { + editor: this.editor, + event: e7, + slice: n, + moved: r + }); + } + } + }) + ]; + } + }), Hx = ie.create({ + name: "editable", + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("editable"), + props: { + editable: () => this.editor.options.editable + } + }) + ]; + } + }), Vx = new Ae("focusEvents"), Rx = ie.create({ + name: "focusEvents", + addProseMirrorPlugins() { + const { editor: t7 } = this; + return [ + new fe({ + key: Vx, + props: { + handleDOMEvents: { + focus: (e7, n) => { + t7.isFocused = true; + const r = t7.state.tr.setMeta("focus", { event: n }).setMeta("addToHistory", false); + return e7.dispatch(r), false; + }, + blur: (e7, n) => { + t7.isFocused = false; + const r = t7.state.tr.setMeta("blur", { event: n }).setMeta("addToHistory", false); + return e7.dispatch(r), false; + } + } + } + }) + ]; + } + }), Dx = ie.create({ + name: "keymap", + addKeyboardShortcuts() { + const t7 = () => this.editor.commands.first(({ commands: s }) => [ + () => s.undoInputRule(), + // maybe convert first text block node to default node + () => s.command(({ tr: a }) => { + const { selection: l, doc: u } = a, { empty: c, $anchor: d } = l, { pos: f, parent: p } = d, h = d.parent.isTextblock && f > 0 ? a.doc.resolve(f - 1) : d, m7 = h.parent.type.spec.isolating, g = d.pos - d.parentOffset, b = m7 && h.parent.childCount === 1 ? g === d.pos : $.atStart(u).from === f; + return !c || !p.type.isTextblock || p.textContent.length || !b || b && d.parent.type.name === "paragraph" ? false : s.clearNodes(); + }), + () => s.deleteSelection(), + () => s.joinBackward(), + () => s.selectNodeBackward() + ]), e7 = () => this.editor.commands.first(({ commands: s }) => [ + () => s.deleteSelection(), + () => s.deleteCurrentNode(), + () => s.joinForward(), + () => s.selectNodeForward() + ]), r = { + Enter: () => this.editor.commands.first(({ commands: s }) => [ + () => s.newlineInCode(), + () => s.createParagraphNear(), + () => s.liftEmptyBlock(), + () => s.splitBlock() + ]), + "Mod-Enter": () => this.editor.commands.exitCode(), + Backspace: t7, + "Mod-Backspace": t7, + "Shift-Backspace": t7, + Delete: e7, + "Mod-Delete": e7, + "Mod-a": () => this.editor.commands.selectAll() + }, i7 = { + ...r + }, o = { + ...r, + "Ctrl-h": t7, + "Alt-Backspace": t7, + "Ctrl-d": e7, + "Ctrl-Alt-Backspace": e7, + "Alt-Delete": e7, + "Alt-d": e7, + "Ctrl-a": () => this.editor.commands.selectTextblockStart(), + "Ctrl-e": () => this.editor.commands.selectTextblockEnd() + }; + return ha() || j0() ? o : i7; + }, + addProseMirrorPlugins() { + return [ + // With this plugin we check if the whole document was selected and deleted. + // In this case we will additionally call `clearNodes()` to convert e.g. a heading + // to a paragraph if necessary. + // This is an alternative to ProseMirror's `AllSelection`, which doesn’t work well + // with many other commands. + new fe({ + key: new Ae("clearDocument"), + appendTransaction: (t7, e7, n) => { + if (t7.some((m7) => m7.getMeta("composition"))) + return; + const r = t7.some((m7) => m7.docChanged) && !e7.doc.eq(n.doc), i7 = t7.some((m7) => m7.getMeta("preventClearDocument")); + if (!r || i7) + return; + const { empty: o, from: s, to: a } = e7.selection, l = $.atStart(e7.doc).from, u = $.atEnd(e7.doc).to; + if (o || !(s === l && a === u) || !ga(n.doc)) + return; + const f = n.tr, p = la({ + state: n, + transaction: f + }), { commands: h } = new ua({ + editor: this.editor, + state: p + }); + if (h.clearNodes(), !!f.steps.length) + return f; + } + }) + ]; + } + }), _x = ie.create({ + name: "paste", + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("tiptapPaste"), + props: { + handlePaste: (t7, e7, n) => { + this.editor.emit("paste", { + editor: this.editor, + event: e7, + slice: n + }); + } + } + }) + ]; + } + }), Px = ie.create({ + name: "tabindex", + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("tabindex"), + props: { + attributes: () => this.editor.isEditable ? { tabindex: "0" } : {} + } + }) + ]; + } + }); + class jn { + get name() { + return this.node.type.name; + } + constructor(e7, n, r = false, i7 = null) { + this.currentNode = null, this.actualDepth = null, this.isBlock = r, this.resolvedPos = e7, this.editor = n, this.currentNode = i7; + } + get node() { + return this.currentNode || this.resolvedPos.node(); + } + get element() { + return this.editor.view.domAtPos(this.pos).node; + } + get depth() { + var e7; + return (e7 = this.actualDepth) !== null && e7 !== void 0 ? e7 : this.resolvedPos.depth; + } + get pos() { + return this.resolvedPos.pos; + } + get content() { + return this.node.content; + } + set content(e7) { + let n = this.from, r = this.to; + if (this.isBlock) { + if (this.content.size === 0) { + console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`); + return; + } + n = this.from + 1, r = this.to - 1; + } + this.editor.commands.insertContentAt({ from: n, to: r }, e7); + } + get attributes() { + return this.node.attrs; + } + get textContent() { + return this.node.textContent; + } + get size() { + return this.node.nodeSize; + } + get from() { + return this.isBlock ? this.pos : this.resolvedPos.start(this.resolvedPos.depth); + } + get range() { + return { + from: this.from, + to: this.to + }; + } + get to() { + return this.isBlock ? this.pos + this.size : this.resolvedPos.end(this.resolvedPos.depth) + (this.node.isText ? 0 : 1); + } + get parent() { + if (this.depth === 0) + return null; + const e7 = this.resolvedPos.start(this.resolvedPos.depth - 1), n = this.resolvedPos.doc.resolve(e7); + return new jn(n, this.editor); + } + get before() { + let e7 = this.resolvedPos.doc.resolve(this.from - (this.isBlock ? 1 : 2)); + return e7.depth !== this.depth && (e7 = this.resolvedPos.doc.resolve(this.from - 3)), new jn(e7, this.editor); + } + get after() { + let e7 = this.resolvedPos.doc.resolve(this.to + (this.isBlock ? 2 : 1)); + return e7.depth !== this.depth && (e7 = this.resolvedPos.doc.resolve(this.to + 3)), new jn(e7, this.editor); + } + get children() { + const e7 = []; + return this.node.content.forEach((n, r) => { + const i7 = n.isBlock && !n.isTextblock, o = n.isAtom && !n.isText, s = this.pos + r + (o ? 0 : 1); + if (s < 0 || s > this.resolvedPos.doc.nodeSize - 2) + return; + const a = this.resolvedPos.doc.resolve(s); + if (!i7 && a.depth <= this.depth) + return; + const l = new jn(a, this.editor, i7, i7 ? n : null); + i7 && (l.actualDepth = this.depth + 1), e7.push(new jn(a, this.editor, i7, i7 ? n : null)); + }), e7; + } + get firstChild() { + return this.children[0] || null; + } + get lastChild() { + const e7 = this.children; + return e7[e7.length - 1] || null; + } + closest(e7, n = {}) { + let r = null, i7 = this.parent; + for (; i7 && !r; ) { + if (i7.node.type.name === e7) + if (Object.keys(n).length > 0) { + const o = i7.node.attrs, s = Object.keys(n); + for (let a = 0; a < s.length; a += 1) { + const l = s[a]; + if (o[l] !== n[l]) + break; + } + } else + r = i7; + i7 = i7.parent; + } + return r; + } + querySelector(e7, n = {}) { + return this.querySelectorAll(e7, n, true)[0] || null; + } + querySelectorAll(e7, n = {}, r = false) { + let i7 = []; + if (!this.children || this.children.length === 0) + return i7; + const o = Object.keys(n); + return this.children.forEach((s) => { + r && i7.length > 0 || (s.node.type.name === e7 && o.every((l) => n[l] === s.node.attrs[l]) && i7.push(s), !(r && i7.length > 0) && (i7 = i7.concat(s.querySelectorAll(e7, n, r)))); + }), i7; + } + setAttribute(e7) { + const { tr: n } = this.editor.state; + n.setNodeMarkup(this.from, void 0, { + ...this.node.attrs, + ...e7 + }), this.editor.view.dispatch(n); + } + } + const Ix = `.ProseMirror { + position: relative; +} + +.ProseMirror { + word-wrap: break-word; + white-space: pre-wrap; + white-space: break-spaces; + -webkit-font-variant-ligatures: none; + font-variant-ligatures: none; + font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */ +} + +.ProseMirror [contenteditable="false"] { + white-space: normal; +} + +.ProseMirror [contenteditable="false"] [contenteditable="true"] { + white-space: pre-wrap; +} + +.ProseMirror pre { + white-space: pre-wrap; +} + +img.ProseMirror-separator { + display: inline !important; + border: none !important; + margin: 0 !important; + width: 0 !important; + height: 0 !important; +} + +.ProseMirror-gapcursor { + display: none; + pointer-events: none; + position: absolute; + margin: 0; +} + +.ProseMirror-gapcursor:after { + content: ""; + display: block; + position: absolute; + top: -2px; + width: 20px; + border-top: 1px solid black; + animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite; +} + +@keyframes ProseMirror-cursor-blink { + to { + visibility: hidden; + } +} + +.ProseMirror-hideselection *::selection { + background: transparent; +} + +.ProseMirror-hideselection *::-moz-selection { + background: transparent; +} + +.ProseMirror-hideselection * { + caret-color: transparent; +} + +.ProseMirror-focused .ProseMirror-gapcursor { + display: block; +} + +.tippy-box[data-animation=fade][data-state=hidden] { + opacity: 0 +}`; + function Bx(t7, e7, n) { + const r = document.querySelector("style[data-tiptap-style]"); + if (r !== null) + return r; + const i7 = document.createElement("style"); + return e7 && i7.setAttribute("nonce", e7), i7.setAttribute("data-tiptap-style", ""), i7.innerHTML = t7, document.getElementsByTagName("head")[0].appendChild(i7), i7; + } + let Fx = class extends X6 { + constructor(e7 = {}) { + super(), this.isFocused = false, this.isInitialized = false, this.extensionStorage = {}, this.options = { + element: document.createElement("div"), + content: "", + injectCSS: true, + injectNonce: void 0, + extensions: [], + autofocus: false, + editable: true, + editorProps: {}, + parseOptions: {}, + coreExtensionOptions: {}, + enableInputRules: true, + enablePasteRules: true, + enableCoreExtensions: true, + enableContentCheck: false, + emitContentError: false, + onBeforeCreate: () => null, + onCreate: () => null, + onUpdate: () => null, + onSelectionUpdate: () => null, + onTransaction: () => null, + onFocus: () => null, + onBlur: () => null, + onDestroy: () => null, + onContentError: ({ error: n }) => { + throw n; + }, + onPaste: () => null, + onDrop: () => null + }, this.isCapturingTransaction = false, this.capturedTransaction = null, this.setOptions(e7), this.createExtensionManager(), this.createCommandManager(), this.createSchema(), this.on("beforeCreate", this.options.onBeforeCreate), this.emit("beforeCreate", { editor: this }), this.on("contentError", this.options.onContentError), this.createView(), this.injectCSS(), this.on("create", this.options.onCreate), this.on("update", this.options.onUpdate), this.on("selectionUpdate", this.options.onSelectionUpdate), this.on("transaction", this.options.onTransaction), this.on("focus", this.options.onFocus), this.on("blur", this.options.onBlur), this.on("destroy", this.options.onDestroy), this.on("drop", ({ event: n, slice: r, moved: i7 }) => this.options.onDrop(n, r, i7)), this.on("paste", ({ event: n, slice: r }) => this.options.onPaste(n, r)), window.setTimeout(() => { + this.isDestroyed || (this.commands.focus(this.options.autofocus), this.emit("create", { editor: this }), this.isInitialized = true); + }, 0); + } + /** + * Returns the editor storage. + */ + get storage() { + return this.extensionStorage; + } + /** + * An object of all registered commands. + */ + get commands() { + return this.commandManager.commands; + } + /** + * Create a command chain to call multiple commands at once. + */ + chain() { + return this.commandManager.chain(); + } + /** + * Check if a command or a command chain can be executed. Without executing it. + */ + can() { + return this.commandManager.can(); + } + /** + * Inject CSS styles. + */ + injectCSS() { + this.options.injectCSS && document && (this.css = Bx(Ix, this.options.injectNonce)); + } + /** + * Update editor options. + * + * @param options A list of options + */ + setOptions(e7 = {}) { + this.options = { + ...this.options, + ...e7 + }, !(!this.view || !this.state || this.isDestroyed) && (this.options.editorProps && this.view.setProps(this.options.editorProps), this.view.updateState(this.state)); + } + /** + * Update editable state of the editor. + */ + setEditable(e7, n = true) { + this.setOptions({ editable: e7 }), n && this.emit("update", { editor: this, transaction: this.state.tr }); + } + /** + * Returns whether the editor is editable. + */ + get isEditable() { + return this.options.editable && this.view && this.view.editable; + } + /** + * Returns the editor state. + */ + get state() { + return this.view.state; + } + /** + * Register a ProseMirror plugin. + * + * @param plugin A ProseMirror plugin + * @param handlePlugins Control how to merge the plugin into the existing plugins. + * @returns The new editor state + */ + registerPlugin(e7, n) { + const r = _0(n) ? n(e7, [...this.state.plugins]) : [...this.state.plugins, e7], i7 = this.state.reconfigure({ plugins: r }); + return this.view.updateState(i7), i7; + } + /** + * Unregister a ProseMirror plugin. + * + * @param nameOrPluginKeyToRemove The plugins name + * @returns The new editor state or undefined if the editor is destroyed + */ + unregisterPlugin(e7) { + if (this.isDestroyed) + return; + const n = this.state.plugins; + let r = n; + if ([].concat(e7).forEach((o) => { + const s = typeof o == "string" ? `${o}$` : o.key; + r = r.filter((a) => !a.key.startsWith(s)); + }), n.length === r.length) + return; + const i7 = this.state.reconfigure({ + plugins: r + }); + return this.view.updateState(i7), i7; + } + /** + * Creates an extension manager. + */ + createExtensionManager() { + var e7, n; + const i7 = [...this.options.enableCoreExtensions ? [ + Hx, + dw.configure({ + blockSeparator: (n = (e7 = this.options.coreExtensionOptions) === null || e7 === void 0 ? void 0 : e7.clipboardTextSerializer) === null || n === void 0 ? void 0 : n.blockSeparator + }), + Lx, + Rx, + Dx, + Px, + Nx, + _x + ].filter((o) => typeof this.options.enableCoreExtensions == "object" ? this.options.enableCoreExtensions[o.name] !== false : true) : [], ...this.options.extensions].filter((o) => ["extension", "node", "mark"].includes(o?.type)); + this.extensionManager = new Un(i7, this); + } + /** + * Creates an command manager. + */ + createCommandManager() { + this.commandManager = new ua({ + editor: this + }); + } + /** + * Creates a ProseMirror schema. + */ + createSchema() { + this.schema = this.extensionManager.schema; + } + /** + * Creates a ProseMirror view. + */ + createView() { + var e7; + let n; + try { + n = zl(this.options.content, this.schema, this.options.parseOptions, { errorOnInvalidContent: this.options.enableContentCheck }); + } catch (s) { + if (!(s instanceof Error) || !["[tiptap error]: Invalid JSON content", "[tiptap error]: Invalid HTML content"].includes(s.message)) + throw s; + this.emit("contentError", { + editor: this, + error: s, + disableCollaboration: () => { + this.storage.collaboration && (this.storage.collaboration.isDisabled = true), this.options.extensions = this.options.extensions.filter((a) => a.name !== "collaboration"), this.createExtensionManager(); + } + }), n = zl(this.options.content, this.schema, this.options.parseOptions, { errorOnInvalidContent: false }); + } + const r = F0(n, this.options.autofocus); + this.view = new k0(this.options.element, { + ...this.options.editorProps, + attributes: { + // add `role="textbox"` to the editor element + role: "textbox", + ...(e7 = this.options.editorProps) === null || e7 === void 0 ? void 0 : e7.attributes + }, + dispatchTransaction: this.dispatchTransaction.bind(this), + state: Er.create({ + doc: n, + selection: r || void 0 + }) + }); + const i7 = this.state.reconfigure({ + plugins: this.extensionManager.plugins + }); + this.view.updateState(i7), this.createNodeViews(), this.prependClass(); + const o = this.view.dom; + o.editor = this; + } + /** + * Creates all node views. + */ + createNodeViews() { + this.view.isDestroyed || this.view.setProps({ + nodeViews: this.extensionManager.nodeViews + }); + } + /** + * Prepend class name to element. + */ + prependClass() { + this.view.dom.className = `tiptap ${this.view.dom.className}`; + } + captureTransaction(e7) { + this.isCapturingTransaction = true, e7(), this.isCapturingTransaction = false; + const n = this.capturedTransaction; + return this.capturedTransaction = null, n; + } + /** + * The callback over which to send transactions (state updates) produced by the view. + * + * @param transaction An editor state transaction + */ + dispatchTransaction(e7) { + if (this.view.isDestroyed) + return; + if (this.isCapturingTransaction) { + if (!this.capturedTransaction) { + this.capturedTransaction = e7; + return; + } + e7.steps.forEach((s) => { + var a; + return (a = this.capturedTransaction) === null || a === void 0 ? void 0 : a.step(s); + }); + return; + } + const n = this.state.apply(e7), r = !this.state.selection.eq(n.selection); + this.emit("beforeTransaction", { + editor: this, + transaction: e7, + nextState: n + }), this.view.updateState(n), this.emit("transaction", { + editor: this, + transaction: e7 + }), r && this.emit("selectionUpdate", { + editor: this, + transaction: e7 + }); + const i7 = e7.getMeta("focus"), o = e7.getMeta("blur"); + i7 && this.emit("focus", { + editor: this, + event: i7.event, + transaction: e7 + }), o && this.emit("blur", { + editor: this, + event: o.event, + transaction: e7 + }), !(!e7.docChanged || e7.getMeta("preventUpdate")) && this.emit("update", { + editor: this, + transaction: e7 + }); + } + /** + * Get attributes of the currently selected node or mark. + */ + getAttributes(e7) { + return K0(this.state, e7); + } + isActive(e7, n) { + const r = typeof e7 == "string" ? e7 : null, i7 = typeof e7 == "string" ? n : e7; + return ux(this.state, r, i7); + } + /** + * Get the document as JSON. + */ + getJSON() { + return this.state.doc.toJSON(); + } + /** + * Get the document as HTML. + */ + getHTML() { + return qu(this.state.doc.content, this.schema); + } + /** + * Get the document as text. + */ + getText(e7) { + const { blockSeparator: n = ` + +`, textSerializers: r = {} } = e7 || {}; + return U0(this.state.doc, { + blockSeparator: n, + textSerializers: { + ...Ku(this.schema), + ...r + } + }); + } + /** + * Check if there is no content. + */ + get isEmpty() { + return ga(this.state.doc); + } + /** + * Get the number of characters for the current document. + * + * @deprecated + */ + getCharacterCount() { + return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'), this.state.doc.content.size - 2; + } + /** + * Destroy the editor. + */ + destroy() { + if (this.emit("destroy"), this.view) { + const e7 = this.view.dom; + e7 && e7.editor && delete e7.editor, this.view.destroy(); + } + this.removeAllListeners(); + } + /** + * Check if the editor is already destroyed. + */ + get isDestroyed() { + var e7; + return !(!((e7 = this.view) === null || e7 === void 0) && e7.docView); + } + $node(e7, n) { + var r; + return ((r = this.$doc) === null || r === void 0 ? void 0 : r.querySelector(e7, n)) || null; + } + $nodes(e7, n) { + var r; + return ((r = this.$doc) === null || r === void 0 ? void 0 : r.querySelectorAll(e7, n)) || null; + } + $pos(e7) { + const n = this.state.doc.resolve(e7); + return new jn(n, this); + } + get $doc() { + return this.$pos(0); + } + }; + function ar(t7) { + return new da({ + find: t7.find, + handler: ({ state: e7, range: n, match: r }) => { + const i7 = X(t7.getAttributes, void 0, r); + if (i7 === false || i7 === null) + return null; + const { tr: o } = e7, s = r[r.length - 1], a = r[0]; + if (s) { + const l = a.search(/\S/), u = n.from + a.indexOf(s), c = u + s.length; + if (Zu(n.from, n.to, e7.doc).filter((p) => p.mark.type.excluded.find((m7) => m7 === t7.type && m7 !== p.mark.type)).filter((p) => p.to > u).length) + return null; + c < n.to && o.delete(c, n.to), u > n.from && o.delete(n.from + l, u); + const f = n.from + l + s.length; + o.addMark(n.from + l, f, t7.type.create(i7 || {})), o.removeStoredMark(t7.type); + } + } + }); + } + function Z0(t7) { + return new da({ + find: t7.find, + handler: ({ state: e7, range: n, match: r }) => { + const i7 = X(t7.getAttributes, void 0, r) || {}, { tr: o } = e7, s = n.from; + let a = n.to; + const l = t7.type.create(i7); + if (r[1]) { + const u = r[0].lastIndexOf(r[1]); + let c = s + u; + c > a ? c = a : a = c + r[1].length; + const d = r[0][r[0].length - 1]; + o.insertText(d, s + r[0].length - 1), o.replaceWith(c, a, l); + } else if (r[0]) { + const u = t7.type.isInline ? s : s - 1; + o.insert(u, t7.type.create(i7)).delete(o.mapping.map(s), o.mapping.map(a)); + } + o.scrollIntoView(); + } + }); + } + function jl(t7) { + return new da({ + find: t7.find, + handler: ({ state: e7, range: n, match: r }) => { + const i7 = e7.doc.resolve(n.from), o = X(t7.getAttributes, void 0, r) || {}; + if (!i7.node(-1).canReplaceWith(i7.index(-1), i7.indexAfter(-1), t7.type)) + return null; + e7.tr.delete(n.from, n.to).setBlockType(n.from, n.from, t7.type, o); + } + }); + } + function Fr(t7) { + return new da({ + find: t7.find, + handler: ({ state: e7, range: n, match: r, chain: i7 }) => { + const o = X(t7.getAttributes, void 0, r) || {}, s = e7.tr.delete(n.from, n.to), l = s.doc.resolve(n.from).blockRange(), u = l && Mu(l, t7.type, o); + if (!u) + return null; + if (s.wrap(l, u), t7.keepMarks && t7.editor) { + const { selection: d, storedMarks: f } = e7, { splittableMarks: p } = t7.editor.extensionManager, h = f || d.$to.parentOffset && d.$from.marks(); + if (h) { + const m7 = h.filter((g) => p.includes(g.type.name)); + s.ensureMarks(m7); + } + } + if (t7.keepAttributes) { + const d = t7.type.name === "bulletList" || t7.type.name === "orderedList" ? "listItem" : "taskList"; + i7().updateAttributes(d, o).run(); + } + const c = s.doc.resolve(n.from - 1).nodeBefore; + c && c.type === t7.type && Vn(s.doc, n.from - 1) && (!t7.joinPredicate || t7.joinPredicate(r, c)) && s.join(n.from - 1); + } + }); + } + class ve { + constructor(e7 = {}) { + this.type = "node", this.name = "node", this.parent = null, this.child = null, this.config = { + name: this.name, + defaultOptions: {} + }, this.config = { + ...this.config, + ...e7 + }, this.name = this.config.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`), this.options = this.config.defaultOptions, this.config.addOptions && (this.options = X(_(this, "addOptions", { + name: this.name + }))), this.storage = X(_(this, "addStorage", { + name: this.name, + options: this.options + })) || {}; + } + static create(e7 = {}) { + return new ve(e7); + } + configure(e7 = {}) { + const n = this.extend({ + ...this.config, + addOptions: () => fa(this.options, e7) + }); + return n.name = this.name, n.parent = this.parent, n; + } + extend(e7 = {}) { + const n = new ve(e7); + return n.parent = this, this.child = n, n.name = e7.name ? e7.name : n.parent.name, e7.defaultOptions && Object.keys(e7.defaultOptions).length > 0 && console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`), n.options = X(_(n, "addOptions", { + name: n.name + })), n.storage = X(_(n, "addStorage", { + name: n.name, + options: n.options + })), n; + } + } + class zx { + constructor(e7, n, r) { + this.isDragging = false, this.component = e7, this.editor = n.editor, this.options = { + stopEvent: null, + ignoreMutation: null, + ...r + }, this.extension = n.extension, this.node = n.node, this.decorations = n.decorations, this.innerDecorations = n.innerDecorations, this.view = n.view, this.HTMLAttributes = n.HTMLAttributes, this.getPos = n.getPos, this.mount(); + } + mount() { + } + get dom() { + return this.editor.view.dom; + } + get contentDOM() { + return null; + } + onDragStart(e7) { + var n, r, i7, o, s, a, l; + const { view: u } = this.editor, c = e7.target, d = c.nodeType === 3 ? (n = c.parentElement) === null || n === void 0 ? void 0 : n.closest("[data-drag-handle]") : c.closest("[data-drag-handle]"); + if (!this.dom || !((r = this.contentDOM) === null || r === void 0) && r.contains(c) || !d) + return; + let f = 0, p = 0; + if (this.dom !== d) { + const x = this.dom.getBoundingClientRect(), w = d.getBoundingClientRect(), y = (i7 = e7.offsetX) !== null && i7 !== void 0 ? i7 : (o = e7.nativeEvent) === null || o === void 0 ? void 0 : o.offsetX, k7 = (s = e7.offsetY) !== null && s !== void 0 ? s : (a = e7.nativeEvent) === null || a === void 0 ? void 0 : a.offsetY; + f = w.x - x.x + y, p = w.y - x.y + k7; + } + const h = this.dom.cloneNode(true); + (l = e7.dataTransfer) === null || l === void 0 || l.setDragImage(h, f, p); + const m7 = this.getPos(); + if (typeof m7 != "number") + return; + const g = F.create(u.state.doc, m7), b = u.state.tr.setSelection(g); + u.dispatch(b); + } + stopEvent(e7) { + var n; + if (!this.dom) + return false; + if (typeof this.options.stopEvent == "function") + return this.options.stopEvent({ event: e7 }); + const r = e7.target; + if (!(this.dom.contains(r) && !(!((n = this.contentDOM) === null || n === void 0) && n.contains(r)))) + return false; + const o = e7.type.startsWith("drag"), s = e7.type === "drop"; + if ((["INPUT", "BUTTON", "SELECT", "TEXTAREA"].includes(r.tagName) || r.isContentEditable) && !s && !o) + return true; + const { isEditable: l } = this.editor, { isDragging: u } = this, c = !!this.node.type.spec.draggable, d = F.isSelectable(this.node), f = e7.type === "copy", p = e7.type === "paste", h = e7.type === "cut", m7 = e7.type === "mousedown"; + if (!c && d && o && e7.target === this.dom && e7.preventDefault(), c && o && !u && e7.target === this.dom) + return e7.preventDefault(), false; + if (c && l && !u && m7) { + const g = r.closest("[data-drag-handle]"); + g && (this.dom === g || this.dom.contains(g)) && (this.isDragging = true, document.addEventListener("dragend", () => { + this.isDragging = false; + }, { once: true }), document.addEventListener("drop", () => { + this.isDragging = false; + }, { once: true }), document.addEventListener("mouseup", () => { + this.isDragging = false; + }, { once: true })); + } + return !(u || s || f || p || h || m7 && d); + } + /** + * Called when a DOM [mutation](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) or a selection change happens within the view. + * @return `false` if the editor should re-read the selection or re-parse the range around the mutation + * @return `true` if it can safely be ignored. + */ + ignoreMutation(e7) { + return !this.dom || !this.contentDOM ? true : typeof this.options.ignoreMutation == "function" ? this.options.ignoreMutation({ mutation: e7 }) : this.node.isLeaf || this.node.isAtom ? true : e7.type === "selection" || this.dom.contains(e7.target) && e7.type === "childList" && (ha() || z0()) && this.editor.isFocused && [ + ...Array.from(e7.addedNodes), + ...Array.from(e7.removedNodes) + ].every((r) => r.isContentEditable) ? false : this.contentDOM === e7.target && e7.type === "attributes" ? true : !this.contentDOM.contains(e7.target); + } + /** + * Update the attributes of the prosemirror node. + */ + updateAttributes(e7) { + this.editor.commands.command(({ tr: n }) => { + const r = this.getPos(); + return typeof r != "number" ? false : (n.setNodeMarkup(r, void 0, { + ...this.node.attrs, + ...e7 + }), true); + }); + } + /** + * Delete the node. + */ + deleteNode() { + const e7 = this.getPos(); + if (typeof e7 != "number") + return; + const n = e7 + this.node.nodeSize; + this.editor.commands.deleteRange({ from: e7, to: n }); + } + } + function On(t7) { + return new ow({ + find: t7.find, + handler: ({ state: e7, range: n, match: r, pasteEvent: i7 }) => { + const o = X(t7.getAttributes, void 0, r, i7); + if (o === false || o === null) + return null; + const { tr: s } = e7, a = r[r.length - 1], l = r[0]; + let u = n.to; + if (a) { + const c = l.search(/\S/), d = n.from + l.indexOf(a), f = d + a.length; + if (Zu(n.from, n.to, e7.doc).filter((h) => h.mark.type.excluded.find((g) => g === t7.type && g !== h.mark.type)).filter((h) => h.to > d).length) + return null; + f < n.to && s.delete(f, n.to), d > n.from && s.delete(n.from + c, d), u = n.from + c + a.length, s.addMark(n.from + c, u, t7.type.create(o || {})), s.removeStoredMark(t7.type); + } + } + }); + } + function $x(t7, e7) { + const { selection: n } = t7, { $from: r } = n; + if (n instanceof F) { + const o = r.index(); + return r.parent.canReplaceWith(o, o + 1, e7); + } + let i7 = r.depth; + for (; i7 >= 0; ) { + const o = r.index(i7); + if (r.node(i7).contentMatchAt(o).matchType(e7)) + return true; + i7 -= 1; + } + return false; + } + var Ye = "top", yt = "bottom", vt = "right", Qe = "left", Xu = "auto", no = [Ye, yt, vt, Qe], zr = "start", ji = "end", jx = "clippingParents", X0 = "viewport", si = "popper", Wx = "reference", df = /* @__PURE__ */ no.reduce(function(t7, e7) { + return t7.concat([e7 + "-" + zr, e7 + "-" + ji]); + }, []), Y0 = /* @__PURE__ */ [].concat(no, [Xu]).reduce(function(t7, e7) { + return t7.concat([e7, e7 + "-" + zr, e7 + "-" + ji]); + }, []), qx = "beforeRead", Ux = "read", Kx = "afterRead", Gx = "beforeMain", Jx = "main", Zx = "afterMain", Xx = "beforeWrite", Yx = "write", Qx = "afterWrite", e4 = [qx, Ux, Kx, Gx, Jx, Zx, Xx, Yx, Qx]; + function _t(t7) { + return t7 ? (t7.nodeName || "").toLowerCase() : null; + } + function at(t7) { + if (t7 == null) + return window; + if (t7.toString() !== "[object Window]") { + var e7 = t7.ownerDocument; + return e7 && e7.defaultView || window; + } + return t7; + } + function lr(t7) { + var e7 = at(t7).Element; + return t7 instanceof e7 || t7 instanceof Element; + } + function gt(t7) { + var e7 = at(t7).HTMLElement; + return t7 instanceof e7 || t7 instanceof HTMLElement; + } + function Yu(t7) { + if (typeof ShadowRoot > "u") + return false; + var e7 = at(t7).ShadowRoot; + return t7 instanceof e7 || t7 instanceof ShadowRoot; + } + function t4(t7) { + var e7 = t7.state; + Object.keys(e7.elements).forEach(function(n) { + var r = e7.styles[n] || {}, i7 = e7.attributes[n] || {}, o = e7.elements[n]; + !gt(o) || !_t(o) || (Object.assign(o.style, r), Object.keys(i7).forEach(function(s) { + var a = i7[s]; + a === false ? o.removeAttribute(s) : o.setAttribute(s, a === true ? "" : a); + })); + }); + } + function n4(t7) { + var e7 = t7.state, n = { + popper: { + position: e7.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + return Object.assign(e7.elements.popper.style, n.popper), e7.styles = n, e7.elements.arrow && Object.assign(e7.elements.arrow.style, n.arrow), function() { + Object.keys(e7.elements).forEach(function(r) { + var i7 = e7.elements[r], o = e7.attributes[r] || {}, s = Object.keys(e7.styles.hasOwnProperty(r) ? e7.styles[r] : n[r]), a = s.reduce(function(l, u) { + return l[u] = "", l; + }, {}); + !gt(i7) || !_t(i7) || (Object.assign(i7.style, a), Object.keys(o).forEach(function(l) { + i7.removeAttribute(l); + })); + }); + }; + } + const Q0 = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: t4, + effect: n4, + requires: ["computeStyles"] + }; + function Lt(t7) { + return t7.split("-")[0]; + } + var Yn = Math.max, ps = Math.min, $r = Math.round; + function Wl() { + var t7 = navigator.userAgentData; + return t7 != null && t7.brands && Array.isArray(t7.brands) ? t7.brands.map(function(e7) { + return e7.brand + "/" + e7.version; + }).join(" ") : navigator.userAgent; + } + function e1() { + return !/^((?!chrome|android).)*safari/i.test(Wl()); + } + function jr(t7, e7, n) { + e7 === void 0 && (e7 = false), n === void 0 && (n = false); + var r = t7.getBoundingClientRect(), i7 = 1, o = 1; + e7 && gt(t7) && (i7 = t7.offsetWidth > 0 && $r(r.width) / t7.offsetWidth || 1, o = t7.offsetHeight > 0 && $r(r.height) / t7.offsetHeight || 1); + var s = lr(t7) ? at(t7) : window, a = s.visualViewport, l = !e1() && n, u = (r.left + (l && a ? a.offsetLeft : 0)) / i7, c = (r.top + (l && a ? a.offsetTop : 0)) / o, d = r.width / i7, f = r.height / o; + return { + width: d, + height: f, + top: c, + right: u + d, + bottom: c + f, + left: u, + x: u, + y: c + }; + } + function Qu(t7) { + var e7 = jr(t7), n = t7.offsetWidth, r = t7.offsetHeight; + return Math.abs(e7.width - n) <= 1 && (n = e7.width), Math.abs(e7.height - r) <= 1 && (r = e7.height), { + x: t7.offsetLeft, + y: t7.offsetTop, + width: n, + height: r + }; + } + function t1(t7, e7) { + var n = e7.getRootNode && e7.getRootNode(); + if (t7.contains(e7)) + return true; + if (n && Yu(n)) { + var r = e7; + do { + if (r && t7.isSameNode(r)) + return true; + r = r.parentNode || r.host; + } while (r); + } + return false; + } + function nn(t7) { + return at(t7).getComputedStyle(t7); + } + function r4(t7) { + return ["table", "td", "th"].indexOf(_t(t7)) >= 0; + } + function _n(t7) { + return ((lr(t7) ? t7.ownerDocument : ( + // $FlowFixMe[prop-missing] + t7.document + )) || window.document).documentElement; + } + function ba(t7) { + return _t(t7) === "html" ? t7 : ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + t7.assignedSlot || // step into the shadow DOM of the parent of a slotted node + t7.parentNode || // DOM Element detected + (Yu(t7) ? t7.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + _n(t7) + ); + } + function ff(t7) { + return !gt(t7) || // https://github.com/popperjs/popper-core/issues/837 + nn(t7).position === "fixed" ? null : t7.offsetParent; + } + function i4(t7) { + var e7 = /firefox/i.test(Wl()), n = /Trident/i.test(Wl()); + if (n && gt(t7)) { + var r = nn(t7); + if (r.position === "fixed") + return null; + } + var i7 = ba(t7); + for (Yu(i7) && (i7 = i7.host); gt(i7) && ["html", "body"].indexOf(_t(i7)) < 0; ) { + var o = nn(i7); + if (o.transform !== "none" || o.perspective !== "none" || o.contain === "paint" || ["transform", "perspective"].indexOf(o.willChange) !== -1 || e7 && o.willChange === "filter" || e7 && o.filter && o.filter !== "none") + return i7; + i7 = i7.parentNode; + } + return null; + } + function ro(t7) { + for (var e7 = at(t7), n = ff(t7); n && r4(n) && nn(n).position === "static"; ) + n = ff(n); + return n && (_t(n) === "html" || _t(n) === "body" && nn(n).position === "static") ? e7 : n || i4(t7) || e7; + } + function ec(t7) { + return ["top", "bottom"].indexOf(t7) >= 0 ? "x" : "y"; + } + function xi(t7, e7, n) { + return Yn(t7, ps(e7, n)); + } + function o4(t7, e7, n) { + var r = xi(t7, e7, n); + return r > n ? n : r; + } + function n1() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + function r1(t7) { + return Object.assign({}, n1(), t7); + } + function i1(t7, e7) { + return e7.reduce(function(n, r) { + return n[r] = t7, n; + }, {}); + } + var s4 = function(e7, n) { + return e7 = typeof e7 == "function" ? e7(Object.assign({}, n.rects, { + placement: n.placement + })) : e7, r1(typeof e7 != "number" ? e7 : i1(e7, no)); + }; + function a4(t7) { + var e7, n = t7.state, r = t7.name, i7 = t7.options, o = n.elements.arrow, s = n.modifiersData.popperOffsets, a = Lt(n.placement), l = ec(a), u = [Qe, vt].indexOf(a) >= 0, c = u ? "height" : "width"; + if (!(!o || !s)) { + var d = s4(i7.padding, n), f = Qu(o), p = l === "y" ? Ye : Qe, h = l === "y" ? yt : vt, m7 = n.rects.reference[c] + n.rects.reference[l] - s[l] - n.rects.popper[c], g = s[l] - n.rects.reference[l], b = ro(o), x = b ? l === "y" ? b.clientHeight || 0 : b.clientWidth || 0 : 0, w = m7 / 2 - g / 2, y = d[p], k7 = x - f[c] - d[h], v = x / 2 - f[c] / 2 + w, E = xi(y, v, k7), A = l; + n.modifiersData[r] = (e7 = {}, e7[A] = E, e7.centerOffset = E - v, e7); + } + } + function l4(t7) { + var e7 = t7.state, n = t7.options, r = n.element, i7 = r === void 0 ? "[data-popper-arrow]" : r; + i7 != null && (typeof i7 == "string" && (i7 = e7.elements.popper.querySelector(i7), !i7) || t1(e7.elements.popper, i7) && (e7.elements.arrow = i7)); + } + const u4 = { + name: "arrow", + enabled: true, + phase: "main", + fn: a4, + effect: l4, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] + }; + function Wr(t7) { + return t7.split("-")[1]; + } + var c4 = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" + }; + function d4(t7, e7) { + var n = t7.x, r = t7.y, i7 = e7.devicePixelRatio || 1; + return { + x: $r(n * i7) / i7 || 0, + y: $r(r * i7) / i7 || 0 + }; + } + function pf(t7) { + var e7, n = t7.popper, r = t7.popperRect, i7 = t7.placement, o = t7.variation, s = t7.offsets, a = t7.position, l = t7.gpuAcceleration, u = t7.adaptive, c = t7.roundOffsets, d = t7.isFixed, f = s.x, p = f === void 0 ? 0 : f, h = s.y, m7 = h === void 0 ? 0 : h, g = typeof c == "function" ? c({ + x: p, + y: m7 + }) : { + x: p, + y: m7 + }; + p = g.x, m7 = g.y; + var b = s.hasOwnProperty("x"), x = s.hasOwnProperty("y"), w = Qe, y = Ye, k7 = window; + if (u) { + var v = ro(n), E = "clientHeight", A = "clientWidth"; + if (v === at(n) && (v = _n(n), nn(v).position !== "static" && a === "absolute" && (E = "scrollHeight", A = "scrollWidth")), v = v, i7 === Ye || (i7 === Qe || i7 === vt) && o === ji) { + y = yt; + var H = d && v === k7 && k7.visualViewport ? k7.visualViewport.height : ( + // $FlowFixMe[prop-missing] + v[E] + ); + m7 -= H - r.height, m7 *= l ? 1 : -1; + } + if (i7 === Qe || (i7 === Ye || i7 === yt) && o === ji) { + w = vt; + var B = d && v === k7 && k7.visualViewport ? k7.visualViewport.width : ( + // $FlowFixMe[prop-missing] + v[A] + ); + p -= B - r.width, p *= l ? 1 : -1; + } + } + var P = Object.assign({ + position: a + }, u && c4), W = c === true ? d4({ + x: p, + y: m7 + }, at(n)) : { + x: p, + y: m7 + }; + if (p = W.x, m7 = W.y, l) { + var K; + return Object.assign({}, P, (K = {}, K[y] = x ? "0" : "", K[w] = b ? "0" : "", K.transform = (k7.devicePixelRatio || 1) <= 1 ? "translate(" + p + "px, " + m7 + "px)" : "translate3d(" + p + "px, " + m7 + "px, 0)", K)); + } + return Object.assign({}, P, (e7 = {}, e7[y] = x ? m7 + "px" : "", e7[w] = b ? p + "px" : "", e7.transform = "", e7)); + } + function f4(t7) { + var e7 = t7.state, n = t7.options, r = n.gpuAcceleration, i7 = r === void 0 ? true : r, o = n.adaptive, s = o === void 0 ? true : o, a = n.roundOffsets, l = a === void 0 ? true : a, u = { + placement: Lt(e7.placement), + variation: Wr(e7.placement), + popper: e7.elements.popper, + popperRect: e7.rects.popper, + gpuAcceleration: i7, + isFixed: e7.options.strategy === "fixed" + }; + e7.modifiersData.popperOffsets != null && (e7.styles.popper = Object.assign({}, e7.styles.popper, pf(Object.assign({}, u, { + offsets: e7.modifiersData.popperOffsets, + position: e7.options.strategy, + adaptive: s, + roundOffsets: l + })))), e7.modifiersData.arrow != null && (e7.styles.arrow = Object.assign({}, e7.styles.arrow, pf(Object.assign({}, u, { + offsets: e7.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets: l + })))), e7.attributes.popper = Object.assign({}, e7.attributes.popper, { + "data-popper-placement": e7.placement + }); + } + const p4 = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: f4, + data: {} + }; + var Mo = { + passive: true + }; + function h4(t7) { + var e7 = t7.state, n = t7.instance, r = t7.options, i7 = r.scroll, o = i7 === void 0 ? true : i7, s = r.resize, a = s === void 0 ? true : s, l = at(e7.elements.popper), u = [].concat(e7.scrollParents.reference, e7.scrollParents.popper); + return o && u.forEach(function(c) { + c.addEventListener("scroll", n.update, Mo); + }), a && l.addEventListener("resize", n.update, Mo), function() { + o && u.forEach(function(c) { + c.removeEventListener("scroll", n.update, Mo); + }), a && l.removeEventListener("resize", n.update, Mo); + }; + } + const m4 = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function() { + }, + effect: h4, + data: {} + }; + var g4 = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" + }; + function qo(t7) { + return t7.replace(/left|right|bottom|top/g, function(e7) { + return g4[e7]; + }); + } + var b4 = { + start: "end", + end: "start" + }; + function hf(t7) { + return t7.replace(/start|end/g, function(e7) { + return b4[e7]; + }); + } + function tc(t7) { + var e7 = at(t7), n = e7.pageXOffset, r = e7.pageYOffset; + return { + scrollLeft: n, + scrollTop: r + }; + } + function nc(t7) { + return jr(_n(t7)).left + tc(t7).scrollLeft; + } + function y4(t7, e7) { + var n = at(t7), r = _n(t7), i7 = n.visualViewport, o = r.clientWidth, s = r.clientHeight, a = 0, l = 0; + if (i7) { + o = i7.width, s = i7.height; + var u = e1(); + (u || !u && e7 === "fixed") && (a = i7.offsetLeft, l = i7.offsetTop); + } + return { + width: o, + height: s, + x: a + nc(t7), + y: l + }; + } + function v4(t7) { + var e7, n = _n(t7), r = tc(t7), i7 = (e7 = t7.ownerDocument) == null ? void 0 : e7.body, o = Yn(n.scrollWidth, n.clientWidth, i7 ? i7.scrollWidth : 0, i7 ? i7.clientWidth : 0), s = Yn(n.scrollHeight, n.clientHeight, i7 ? i7.scrollHeight : 0, i7 ? i7.clientHeight : 0), a = -r.scrollLeft + nc(t7), l = -r.scrollTop; + return nn(i7 || n).direction === "rtl" && (a += Yn(n.clientWidth, i7 ? i7.clientWidth : 0) - o), { + width: o, + height: s, + x: a, + y: l + }; + } + function rc(t7) { + var e7 = nn(t7), n = e7.overflow, r = e7.overflowX, i7 = e7.overflowY; + return /auto|scroll|overlay|hidden/.test(n + i7 + r); + } + function o1(t7) { + return ["html", "body", "#document"].indexOf(_t(t7)) >= 0 ? t7.ownerDocument.body : gt(t7) && rc(t7) ? t7 : o1(ba(t7)); + } + function ki(t7, e7) { + var n; + e7 === void 0 && (e7 = []); + var r = o1(t7), i7 = r === ((n = t7.ownerDocument) == null ? void 0 : n.body), o = at(r), s = i7 ? [o].concat(o.visualViewport || [], rc(r) ? r : []) : r, a = e7.concat(s); + return i7 ? a : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + a.concat(ki(ba(s))) + ); + } + function ql(t7) { + return Object.assign({}, t7, { + left: t7.x, + top: t7.y, + right: t7.x + t7.width, + bottom: t7.y + t7.height + }); + } + function w4(t7, e7) { + var n = jr(t7, false, e7 === "fixed"); + return n.top = n.top + t7.clientTop, n.left = n.left + t7.clientLeft, n.bottom = n.top + t7.clientHeight, n.right = n.left + t7.clientWidth, n.width = t7.clientWidth, n.height = t7.clientHeight, n.x = n.left, n.y = n.top, n; + } + function mf(t7, e7, n) { + return e7 === X0 ? ql(y4(t7, n)) : lr(e7) ? w4(e7, n) : ql(v4(_n(t7))); + } + function x4(t7) { + var e7 = ki(ba(t7)), n = ["absolute", "fixed"].indexOf(nn(t7).position) >= 0, r = n && gt(t7) ? ro(t7) : t7; + return lr(r) ? e7.filter(function(i7) { + return lr(i7) && t1(i7, r) && _t(i7) !== "body"; + }) : []; + } + function k4(t7, e7, n, r) { + var i7 = e7 === "clippingParents" ? x4(t7) : [].concat(e7), o = [].concat(i7, [n]), s = o[0], a = o.reduce(function(l, u) { + var c = mf(t7, u, r); + return l.top = Yn(c.top, l.top), l.right = ps(c.right, l.right), l.bottom = ps(c.bottom, l.bottom), l.left = Yn(c.left, l.left), l; + }, mf(t7, s, r)); + return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a; + } + function s1(t7) { + var e7 = t7.reference, n = t7.element, r = t7.placement, i7 = r ? Lt(r) : null, o = r ? Wr(r) : null, s = e7.x + e7.width / 2 - n.width / 2, a = e7.y + e7.height / 2 - n.height / 2, l; + switch (i7) { + case Ye: + l = { + x: s, + y: e7.y - n.height + }; + break; + case yt: + l = { + x: s, + y: e7.y + e7.height + }; + break; + case vt: + l = { + x: e7.x + e7.width, + y: a + }; + break; + case Qe: + l = { + x: e7.x - n.width, + y: a + }; + break; + default: + l = { + x: e7.x, + y: e7.y + }; + } + var u = i7 ? ec(i7) : null; + if (u != null) { + var c = u === "y" ? "height" : "width"; + switch (o) { + case zr: + l[u] = l[u] - (e7[c] / 2 - n[c] / 2); + break; + case ji: + l[u] = l[u] + (e7[c] / 2 - n[c] / 2); + break; + } + } + return l; + } + function Wi(t7, e7) { + e7 === void 0 && (e7 = {}); + var n = e7, r = n.placement, i7 = r === void 0 ? t7.placement : r, o = n.strategy, s = o === void 0 ? t7.strategy : o, a = n.boundary, l = a === void 0 ? jx : a, u = n.rootBoundary, c = u === void 0 ? X0 : u, d = n.elementContext, f = d === void 0 ? si : d, p = n.altBoundary, h = p === void 0 ? false : p, m7 = n.padding, g = m7 === void 0 ? 0 : m7, b = r1(typeof g != "number" ? g : i1(g, no)), x = f === si ? Wx : si, w = t7.rects.popper, y = t7.elements[h ? x : f], k7 = k4(lr(y) ? y : y.contextElement || _n(t7.elements.popper), l, c, s), v = jr(t7.elements.reference), E = s1({ + reference: v, + element: w, + placement: i7 + }), A = ql(Object.assign({}, w, E)), H = f === si ? A : v, B = { + top: k7.top - H.top + b.top, + bottom: H.bottom - k7.bottom + b.bottom, + left: k7.left - H.left + b.left, + right: H.right - k7.right + b.right + }, P = t7.modifiersData.offset; + if (f === si && P) { + var W = P[i7]; + Object.keys(B).forEach(function(K) { + var ae = [vt, yt].indexOf(K) >= 0 ? 1 : -1, oe = [Ye, yt].indexOf(K) >= 0 ? "y" : "x"; + B[K] += W[oe] * ae; + }); + } + return B; + } + function A4(t7, e7) { + e7 === void 0 && (e7 = {}); + var n = e7, r = n.placement, i7 = n.boundary, o = n.rootBoundary, s = n.padding, a = n.flipVariations, l = n.allowedAutoPlacements, u = l === void 0 ? Y0 : l, c = Wr(r), d = c ? a ? df : df.filter(function(h) { + return Wr(h) === c; + }) : no, f = d.filter(function(h) { + return u.indexOf(h) >= 0; + }); + f.length === 0 && (f = d); + var p = f.reduce(function(h, m7) { + return h[m7] = Wi(t7, { + placement: m7, + boundary: i7, + rootBoundary: o, + padding: s + })[Lt(m7)], h; + }, {}); + return Object.keys(p).sort(function(h, m7) { + return p[h] - p[m7]; + }); + } + function C4(t7) { + if (Lt(t7) === Xu) + return []; + var e7 = qo(t7); + return [hf(t7), e7, hf(e7)]; + } + function S4(t7) { + var e7 = t7.state, n = t7.options, r = t7.name; + if (!e7.modifiersData[r]._skip) { + for (var i7 = n.mainAxis, o = i7 === void 0 ? true : i7, s = n.altAxis, a = s === void 0 ? true : s, l = n.fallbackPlacements, u = n.padding, c = n.boundary, d = n.rootBoundary, f = n.altBoundary, p = n.flipVariations, h = p === void 0 ? true : p, m7 = n.allowedAutoPlacements, g = e7.options.placement, b = Lt(g), x = b === g, w = l || (x || !h ? [qo(g)] : C4(g)), y = [g].concat(w).reduce(function(Se, Ve) { + return Se.concat(Lt(Ve) === Xu ? A4(e7, { + placement: Ve, + boundary: c, + rootBoundary: d, + padding: u, + flipVariations: h, + allowedAutoPlacements: m7 + }) : Ve); + }, []), k7 = e7.rects.reference, v = e7.rects.popper, E = /* @__PURE__ */ new Map(), A = true, H = y[0], B = 0; B < y.length; B++) { + var P = y[B], W = Lt(P), K = Wr(P) === zr, ae = [Ye, yt].indexOf(W) >= 0, oe = ae ? "width" : "height", V = Wi(e7, { + placement: P, + boundary: c, + rootBoundary: d, + altBoundary: f, + padding: u + }), j = ae ? K ? vt : Qe : K ? yt : Ye; + k7[oe] > v[oe] && (j = qo(j)); + var D = qo(j), J = []; + if (o && J.push(V[W] <= 0), a && J.push(V[j] <= 0, V[D] <= 0), J.every(function(Se) { + return Se; + })) { + H = P, A = false; + break; + } + E.set(P, J); + } + if (A) + for (var ge = h ? 3 : 1, He = function(Ve) { + var wt = y.find(function(pr) { + var Bt = E.get(pr); + if (Bt) + return Bt.slice(0, Ve).every(function(hr) { + return hr; + }); + }); + if (wt) + return H = wt, "break"; + }, pe = ge; pe > 0; pe--) { + var tt = He(pe); + if (tt === "break") break; + } + e7.placement !== H && (e7.modifiersData[r]._skip = true, e7.placement = H, e7.reset = true); + } + } + const T4 = { + name: "flip", + enabled: true, + phase: "main", + fn: S4, + requiresIfExists: ["offset"], + data: { + _skip: false + } + }; + function gf(t7, e7, n) { + return n === void 0 && (n = { + x: 0, + y: 0 + }), { + top: t7.top - e7.height - n.y, + right: t7.right - e7.width + n.x, + bottom: t7.bottom - e7.height + n.y, + left: t7.left - e7.width - n.x + }; + } + function bf(t7) { + return [Ye, vt, yt, Qe].some(function(e7) { + return t7[e7] >= 0; + }); + } + function E4(t7) { + var e7 = t7.state, n = t7.name, r = e7.rects.reference, i7 = e7.rects.popper, o = e7.modifiersData.preventOverflow, s = Wi(e7, { + elementContext: "reference" + }), a = Wi(e7, { + altBoundary: true + }), l = gf(s, r), u = gf(a, i7, o), c = bf(l), d = bf(u); + e7.modifiersData[n] = { + referenceClippingOffsets: l, + popperEscapeOffsets: u, + isReferenceHidden: c, + hasPopperEscaped: d + }, e7.attributes.popper = Object.assign({}, e7.attributes.popper, { + "data-popper-reference-hidden": c, + "data-popper-escaped": d + }); + } + const M4 = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: E4 + }; + function O4(t7, e7, n) { + var r = Lt(t7), i7 = [Qe, Ye].indexOf(r) >= 0 ? -1 : 1, o = typeof n == "function" ? n(Object.assign({}, e7, { + placement: t7 + })) : n, s = o[0], a = o[1]; + return s = s || 0, a = (a || 0) * i7, [Qe, vt].indexOf(r) >= 0 ? { + x: a, + y: s + } : { + x: s, + y: a + }; + } + function L4(t7) { + var e7 = t7.state, n = t7.options, r = t7.name, i7 = n.offset, o = i7 === void 0 ? [0, 0] : i7, s = Y0.reduce(function(c, d) { + return c[d] = O4(d, e7.rects, o), c; + }, {}), a = s[e7.placement], l = a.x, u = a.y; + e7.modifiersData.popperOffsets != null && (e7.modifiersData.popperOffsets.x += l, e7.modifiersData.popperOffsets.y += u), e7.modifiersData[r] = s; + } + const N4 = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: L4 + }; + function H4(t7) { + var e7 = t7.state, n = t7.name; + e7.modifiersData[n] = s1({ + reference: e7.rects.reference, + element: e7.rects.popper, + placement: e7.placement + }); + } + const V4 = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: H4, + data: {} + }; + function R4(t7) { + return t7 === "x" ? "y" : "x"; + } + function D4(t7) { + var e7 = t7.state, n = t7.options, r = t7.name, i7 = n.mainAxis, o = i7 === void 0 ? true : i7, s = n.altAxis, a = s === void 0 ? false : s, l = n.boundary, u = n.rootBoundary, c = n.altBoundary, d = n.padding, f = n.tether, p = f === void 0 ? true : f, h = n.tetherOffset, m7 = h === void 0 ? 0 : h, g = Wi(e7, { + boundary: l, + rootBoundary: u, + padding: d, + altBoundary: c + }), b = Lt(e7.placement), x = Wr(e7.placement), w = !x, y = ec(b), k7 = R4(y), v = e7.modifiersData.popperOffsets, E = e7.rects.reference, A = e7.rects.popper, H = typeof m7 == "function" ? m7(Object.assign({}, e7.rects, { + placement: e7.placement + })) : m7, B = typeof H == "number" ? { + mainAxis: H, + altAxis: H + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, H), P = e7.modifiersData.offset ? e7.modifiersData.offset[e7.placement] : null, W = { + x: 0, + y: 0 + }; + if (v) { + if (o) { + var K, ae = y === "y" ? Ye : Qe, oe = y === "y" ? yt : vt, V = y === "y" ? "height" : "width", j = v[y], D = j + g[ae], J = j - g[oe], ge = p ? -A[V] / 2 : 0, He = x === zr ? E[V] : A[V], pe = x === zr ? -A[V] : -E[V], tt = e7.elements.arrow, Se = p && tt ? Qu(tt) : { + width: 0, + height: 0 + }, Ve = e7.modifiersData["arrow#persistent"] ? e7.modifiersData["arrow#persistent"].padding : n1(), wt = Ve[ae], pr = Ve[oe], Bt = xi(0, E[V], Se[V]), hr = w ? E[V] / 2 - ge - Bt - wt - B.mainAxis : He - Bt - wt - B.mainAxis, ln = w ? -E[V] / 2 + ge + Bt + pr + B.mainAxis : pe + Bt + pr + B.mainAxis, mr = e7.elements.arrow && ro(e7.elements.arrow), oo = mr ? y === "y" ? mr.clientTop || 0 : mr.clientLeft || 0 : 0, Qr = (K = P?.[y]) != null ? K : 0, so = j + hr - Qr - oo, ao = j + ln - Qr, ei = xi(p ? ps(D, so) : D, j, p ? Yn(J, ao) : J); + v[y] = ei, W[y] = ei - j; + } + if (a) { + var ti, lo = y === "x" ? Ye : Qe, uo = y === "x" ? yt : vt, Ft = v[k7], un = k7 === "y" ? "height" : "width", ni = Ft + g[lo], Pn = Ft - g[uo], ri = [Ye, Qe].indexOf(b) !== -1, co = (ti = P?.[k7]) != null ? ti : 0, fo = ri ? ni : Ft - E[un] - A[un] - co + B.altAxis, po = ri ? Ft + E[un] + A[un] - co - B.altAxis : Pn, ho = p && ri ? o4(fo, Ft, po) : xi(p ? fo : ni, Ft, p ? po : Pn); + v[k7] = ho, W[k7] = ho - Ft; + } + e7.modifiersData[r] = W; + } + } + const _4 = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: D4, + requiresIfExists: ["offset"] + }; + function P4(t7) { + return { + scrollLeft: t7.scrollLeft, + scrollTop: t7.scrollTop + }; + } + function I4(t7) { + return t7 === at(t7) || !gt(t7) ? tc(t7) : P4(t7); + } + function B4(t7) { + var e7 = t7.getBoundingClientRect(), n = $r(e7.width) / t7.offsetWidth || 1, r = $r(e7.height) / t7.offsetHeight || 1; + return n !== 1 || r !== 1; + } + function F4(t7, e7, n) { + n === void 0 && (n = false); + var r = gt(e7), i7 = gt(e7) && B4(e7), o = _n(e7), s = jr(t7, i7, n), a = { + scrollLeft: 0, + scrollTop: 0 + }, l = { + x: 0, + y: 0 + }; + return (r || !r && !n) && ((_t(e7) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + rc(o)) && (a = I4(e7)), gt(e7) ? (l = jr(e7, true), l.x += e7.clientLeft, l.y += e7.clientTop) : o && (l.x = nc(o))), { + x: s.left + a.scrollLeft - l.x, + y: s.top + a.scrollTop - l.y, + width: s.width, + height: s.height + }; + } + function z4(t7) { + var e7 = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), r = []; + t7.forEach(function(o) { + e7.set(o.name, o); + }); + function i7(o) { + n.add(o.name); + var s = [].concat(o.requires || [], o.requiresIfExists || []); + s.forEach(function(a) { + if (!n.has(a)) { + var l = e7.get(a); + l && i7(l); + } + }), r.push(o); + } + return t7.forEach(function(o) { + n.has(o.name) || i7(o); + }), r; + } + function $4(t7) { + var e7 = z4(t7); + return e4.reduce(function(n, r) { + return n.concat(e7.filter(function(i7) { + return i7.phase === r; + })); + }, []); + } + function j4(t7) { + var e7; + return function() { + return e7 || (e7 = new Promise(function(n) { + Promise.resolve().then(function() { + e7 = void 0, n(t7()); + }); + })), e7; + }; + } + function W4(t7) { + var e7 = t7.reduce(function(n, r) { + var i7 = n[r.name]; + return n[r.name] = i7 ? Object.assign({}, i7, r, { + options: Object.assign({}, i7.options, r.options), + data: Object.assign({}, i7.data, r.data) + }) : r, n; + }, {}); + return Object.keys(e7).map(function(n) { + return e7[n]; + }); + } + var yf = { + placement: "bottom", + modifiers: [], + strategy: "absolute" + }; + function vf() { + for (var t7 = arguments.length, e7 = new Array(t7), n = 0; n < t7; n++) + e7[n] = arguments[n]; + return !e7.some(function(r) { + return !(r && typeof r.getBoundingClientRect == "function"); + }); + } + function q4(t7) { + t7 === void 0 && (t7 = {}); + var e7 = t7, n = e7.defaultModifiers, r = n === void 0 ? [] : n, i7 = e7.defaultOptions, o = i7 === void 0 ? yf : i7; + return function(a, l, u) { + u === void 0 && (u = o); + var c = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, yf, o), + modifiersData: {}, + elements: { + reference: a, + popper: l + }, + attributes: {}, + styles: {} + }, d = [], f = false, p = { + state: c, + setOptions: function(b) { + var x = typeof b == "function" ? b(c.options) : b; + m7(), c.options = Object.assign({}, o, c.options, x), c.scrollParents = { + reference: lr(a) ? ki(a) : a.contextElement ? ki(a.contextElement) : [], + popper: ki(l) + }; + var w = $4(W4([].concat(r, c.options.modifiers))); + return c.orderedModifiers = w.filter(function(y) { + return y.enabled; + }), h(), p.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function() { + if (!f) { + var b = c.elements, x = b.reference, w = b.popper; + if (vf(x, w)) { + c.rects = { + reference: F4(x, ro(w), c.options.strategy === "fixed"), + popper: Qu(w) + }, c.reset = false, c.placement = c.options.placement, c.orderedModifiers.forEach(function(B) { + return c.modifiersData[B.name] = Object.assign({}, B.data); + }); + for (var y = 0; y < c.orderedModifiers.length; y++) { + if (c.reset === true) { + c.reset = false, y = -1; + continue; + } + var k7 = c.orderedModifiers[y], v = k7.fn, E = k7.options, A = E === void 0 ? {} : E, H = k7.name; + typeof v == "function" && (c = v({ + state: c, + options: A, + name: H, + instance: p + }) || c); + } + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: j4(function() { + return new Promise(function(g) { + p.forceUpdate(), g(c); + }); + }), + destroy: function() { + m7(), f = true; + } + }; + if (!vf(a, l)) + return p; + p.setOptions(u).then(function(g) { + !f && u.onFirstUpdate && u.onFirstUpdate(g); + }); + function h() { + c.orderedModifiers.forEach(function(g) { + var b = g.name, x = g.options, w = x === void 0 ? {} : x, y = g.effect; + if (typeof y == "function") { + var k7 = y({ + state: c, + name: b, + instance: p, + options: w + }), v = function() { + }; + d.push(k7 || v); + } + }); + } + function m7() { + d.forEach(function(g) { + return g(); + }), d = []; + } + return p; + }; + } + var U4 = [m4, V4, p4, Q0, N4, T4, _4, u4, M4], K4 = /* @__PURE__ */ q4({ + defaultModifiers: U4 + }), G4 = "tippy-box", a1 = "tippy-content", J4 = "tippy-backdrop", l1 = "tippy-arrow", u1 = "tippy-svg-arrow", zn = { + passive: true, + capture: true + }, c1 = function() { + return document.body; + }; + function Ua(t7, e7, n) { + if (Array.isArray(t7)) { + var r = t7[e7]; + return r ?? (Array.isArray(n) ? n[e7] : n); + } + return t7; + } + function ic(t7, e7) { + var n = {}.toString.call(t7); + return n.indexOf("[object") === 0 && n.indexOf(e7 + "]") > -1; + } + function d1(t7, e7) { + return typeof t7 == "function" ? t7.apply(void 0, e7) : t7; + } + function wf(t7, e7) { + if (e7 === 0) + return t7; + var n; + return function(r) { + clearTimeout(n), n = setTimeout(function() { + t7(r); + }, e7); + }; + } + function Y4(t7) { + return t7.split(/\s+/).filter(Boolean); + } + function Sr(t7) { + return [].concat(t7); + } + function xf(t7, e7) { + t7.indexOf(e7) === -1 && t7.push(e7); + } + function Q4(t7) { + return t7.filter(function(e7, n) { + return t7.indexOf(e7) === n; + }); + } + function e5(t7) { + return t7.split("-")[0]; + } + function hs(t7) { + return [].slice.call(t7); + } + function kf(t7) { + return Object.keys(t7).reduce(function(e7, n) { + return t7[n] !== void 0 && (e7[n] = t7[n]), e7; + }, {}); + } + function Ai() { + return document.createElement("div"); + } + function qi(t7) { + return ["Element", "Fragment"].some(function(e7) { + return ic(t7, e7); + }); + } + function t5(t7) { + return ic(t7, "NodeList"); + } + function n5(t7) { + return ic(t7, "MouseEvent"); + } + function r5(t7) { + return !!(t7 && t7._tippy && t7._tippy.reference === t7); + } + function i5(t7) { + return qi(t7) ? [t7] : t5(t7) ? hs(t7) : Array.isArray(t7) ? t7 : hs(document.querySelectorAll(t7)); + } + function Ka(t7, e7) { + t7.forEach(function(n) { + n && (n.style.transitionDuration = e7 + "ms"); + }); + } + function Af(t7, e7) { + t7.forEach(function(n) { + n && n.setAttribute("data-state", e7); + }); + } + function o5(t7) { + var e7, n = Sr(t7), r = n[0]; + return r != null && (e7 = r.ownerDocument) != null && e7.body ? r.ownerDocument : document; + } + function s5(t7, e7) { + var n = e7.clientX, r = e7.clientY; + return t7.every(function(i7) { + var o = i7.popperRect, s = i7.popperState, a = i7.props, l = a.interactiveBorder, u = e5(s.placement), c = s.modifiersData.offset; + if (!c) + return true; + var d = u === "bottom" ? c.top.y : 0, f = u === "top" ? c.bottom.y : 0, p = u === "right" ? c.left.x : 0, h = u === "left" ? c.right.x : 0, m7 = o.top - r + d > l, g = r - o.bottom - f > l, b = o.left - n + p > l, x = n - o.right - h > l; + return m7 || g || b || x; + }); + } + function Ga(t7, e7, n) { + var r = e7 + "EventListener"; + ["transitionend", "webkitTransitionEnd"].forEach(function(i7) { + t7[r](i7, n); + }); + } + function Cf(t7, e7) { + for (var n = e7; n; ) { + var r; + if (t7.contains(n)) + return true; + n = n.getRootNode == null || (r = n.getRootNode()) == null ? void 0 : r.host; + } + return false; + } + var Et = { + isTouch: false + }, Sf = 0; + function a5() { + Et.isTouch || (Et.isTouch = true, window.performance && document.addEventListener("mousemove", f1)); + } + function f1() { + var t7 = performance.now(); + t7 - Sf < 20 && (Et.isTouch = false, document.removeEventListener("mousemove", f1)), Sf = t7; + } + function l5() { + var t7 = document.activeElement; + if (r5(t7)) { + var e7 = t7._tippy; + t7.blur && !e7.state.isVisible && t7.blur(); + } + } + function u5() { + document.addEventListener("touchstart", a5, zn), window.addEventListener("blur", l5); + } + var c5 = typeof window < "u" && typeof document < "u", d5 = c5 ? ( + // @ts-ignore + !!window.msCrypto + ) : false; + var h1 = { + animateFill: false, + followCursor: false, + inlinePositioning: false, + sticky: false + }, m5 = { + allowHTML: false, + animation: "fade", + arrow: true, + content: "", + inertia: false, + maxWidth: 350, + role: "tooltip", + theme: "", + zIndex: 9999 + }, it = Object.assign({ + appendTo: c1, + aria: { + content: "auto", + expanded: "auto" + }, + delay: 0, + duration: [300, 250], + getReferenceClientRect: null, + hideOnClick: true, + ignoreAttributes: false, + interactive: false, + interactiveBorder: 2, + interactiveDebounce: 0, + moveTransition: "", + offset: [0, 10], + onAfterUpdate: function() { + }, + onBeforeUpdate: function() { + }, + onCreate: function() { + }, + onDestroy: function() { + }, + onHidden: function() { + }, + onHide: function() { + }, + onMount: function() { + }, + onShow: function() { + }, + onShown: function() { + }, + onTrigger: function() { + }, + onUntrigger: function() { + }, + onClickOutside: function() { + }, + placement: "top", + plugins: [], + popperOptions: {}, + render: null, + showOnCreate: false, + touch: true, + trigger: "mouseenter focus", + triggerTarget: null + }, h1, m5), g5 = Object.keys(it), b5 = function(e7) { + var n = Object.keys(e7); + n.forEach(function(r) { + it[r] = e7[r]; + }); + }; + function m1(t7) { + var e7 = t7.plugins || [], n = e7.reduce(function(r, i7) { + var o = i7.name, s = i7.defaultValue; + if (o) { + var a; + r[o] = t7[o] !== void 0 ? t7[o] : (a = it[o]) != null ? a : s; + } + return r; + }, {}); + return Object.assign({}, t7, n); + } + function y5(t7, e7) { + var n = e7 ? Object.keys(m1(Object.assign({}, it, { + plugins: e7 + }))) : g5, r = n.reduce(function(i7, o) { + var s = (t7.getAttribute("data-tippy-" + o) || "").trim(); + if (!s) + return i7; + if (o === "content") + i7[o] = s; + else + try { + i7[o] = JSON.parse(s); + } catch { + i7[o] = s; + } + return i7; + }, {}); + return r; + } + function Ef(t7, e7) { + var n = Object.assign({}, e7, { + content: d1(e7.content, [t7]) + }, e7.ignoreAttributes ? {} : y5(t7, e7.plugins)); + return n.aria = Object.assign({}, it.aria, n.aria), n.aria = { + expanded: n.aria.expanded === "auto" ? e7.interactive : n.aria.expanded, + content: n.aria.content === "auto" ? e7.interactive ? null : "describedby" : n.aria.content + }, n; + } + var v5 = function() { + return "innerHTML"; + }; + function Kl(t7, e7) { + t7[v5()] = e7; + } + function Mf(t7) { + var e7 = Ai(); + return t7 === true ? e7.className = l1 : (e7.className = u1, qi(t7) ? e7.appendChild(t7) : Kl(e7, t7)), e7; + } + function Of(t7, e7) { + qi(e7.content) ? (Kl(t7, ""), t7.appendChild(e7.content)) : typeof e7.content != "function" && (e7.allowHTML ? Kl(t7, e7.content) : t7.textContent = e7.content); + } + function Gl(t7) { + var e7 = t7.firstElementChild, n = hs(e7.children); + return { + box: e7, + content: n.find(function(r) { + return r.classList.contains(a1); + }), + arrow: n.find(function(r) { + return r.classList.contains(l1) || r.classList.contains(u1); + }), + backdrop: n.find(function(r) { + return r.classList.contains(J4); + }) + }; + } + function b1(t7) { + var e7 = Ai(), n = Ai(); + n.className = G4, n.setAttribute("data-state", "hidden"), n.setAttribute("tabindex", "-1"); + var r = Ai(); + r.className = a1, r.setAttribute("data-state", "hidden"), Of(r, t7.props), e7.appendChild(n), n.appendChild(r), i7(t7.props, t7.props); + function i7(o, s) { + var a = Gl(e7), l = a.box, u = a.content, c = a.arrow; + s.theme ? l.setAttribute("data-theme", s.theme) : l.removeAttribute("data-theme"), typeof s.animation == "string" ? l.setAttribute("data-animation", s.animation) : l.removeAttribute("data-animation"), s.inertia ? l.setAttribute("data-inertia", "") : l.removeAttribute("data-inertia"), l.style.maxWidth = typeof s.maxWidth == "number" ? s.maxWidth + "px" : s.maxWidth, s.role ? l.setAttribute("role", s.role) : l.removeAttribute("role"), (o.content !== s.content || o.allowHTML !== s.allowHTML) && Of(u, t7.props), s.arrow ? c ? o.arrow !== s.arrow && (l.removeChild(c), l.appendChild(Mf(s.arrow))) : l.appendChild(Mf(s.arrow)) : c && l.removeChild(c); + } + return { + popper: e7, + onUpdate: i7 + }; + } + b1.$$tippy = true; + var w5 = 1, Oo = [], Ja = []; + function x5(t7, e7) { + var n = Ef(t7, Object.assign({}, it, m1(kf(e7)))), r, i7, o, s = false, a = false, l = false, u = false, c, d, f, p = [], h = wf(so, n.interactiveDebounce), m7, g = w5++, b = null, x = Q4(n.plugins), w = { + // Is the instance currently enabled? + isEnabled: true, + // Is the tippy currently showing and not transitioning out? + isVisible: false, + // Has the instance been destroyed? + isDestroyed: false, + // Is the tippy currently mounted to the DOM? + isMounted: false, + // Has the tippy finished transitioning in? + isShown: false + }, y = { + // properties + id: g, + reference: t7, + popper: Ai(), + popperInstance: b, + props: n, + state: w, + plugins: x, + // methods + clearDelayTimeouts: fo, + setProps: po, + setContent: ho, + show: dm, + hide: fm, + hideWithInteractivity: pm, + enable: ri, + disable: co, + unmount: hm, + destroy: mm + }; + if (!n.render) + return y; + var k7 = n.render(y), v = k7.popper, E = k7.onUpdate; + v.setAttribute("data-tippy-root", ""), v.id = "tippy-" + y.id, y.popper = v, t7._tippy = y, v._tippy = y; + var A = x.map(function(C) { + return C.fn(y); + }), H = t7.hasAttribute("aria-expanded"); + return mr(), ge(), j(), D("onCreate", [y]), n.showOnCreate && ni(), v.addEventListener("mouseenter", function() { + y.props.interactive && y.state.isVisible && y.clearDelayTimeouts(); + }), v.addEventListener("mouseleave", function() { + y.props.interactive && y.props.trigger.indexOf("mouseenter") >= 0 && ae().addEventListener("mousemove", h); + }), y; + function B() { + var C = y.props.touch; + return Array.isArray(C) ? C : [C, 0]; + } + function P() { + return B()[0] === "hold"; + } + function W() { + var C; + return !!((C = y.props.render) != null && C.$$tippy); + } + function K() { + return m7 || t7; + } + function ae() { + var C = K().parentNode; + return C ? o5(C) : document; + } + function oe() { + return Gl(v); + } + function V(C) { + return y.state.isMounted && !y.state.isVisible || Et.isTouch || c && c.type === "focus" ? 0 : Ua(y.props.delay, C ? 0 : 1, it.delay); + } + function j(C) { + C === void 0 && (C = false), v.style.pointerEvents = y.props.interactive && !C ? "" : "none", v.style.zIndex = "" + y.props.zIndex; + } + function D(C, I, q) { + if (q === void 0 && (q = true), A.forEach(function(Y) { + Y[C] && Y[C].apply(Y, I); + }), q) { + var ne; + (ne = y.props)[C].apply(ne, I); + } + } + function J() { + var C = y.props.aria; + if (C.content) { + var I = "aria-" + C.content, q = v.id, ne = Sr(y.props.triggerTarget || t7); + ne.forEach(function(Y) { + var qe = Y.getAttribute(I); + if (y.state.isVisible) + Y.setAttribute(I, qe ? qe + " " + q : q); + else { + var lt2 = qe && qe.replace(q, "").trim(); + lt2 ? Y.setAttribute(I, lt2) : Y.removeAttribute(I); + } + }); + } + } + function ge() { + if (!(H || !y.props.aria.expanded)) { + var C = Sr(y.props.triggerTarget || t7); + C.forEach(function(I) { + y.props.interactive ? I.setAttribute("aria-expanded", y.state.isVisible && I === K() ? "true" : "false") : I.removeAttribute("aria-expanded"); + }); + } + } + function He() { + ae().removeEventListener("mousemove", h), Oo = Oo.filter(function(C) { + return C !== h; + }); + } + function pe(C) { + if (!(Et.isTouch && (l || C.type === "mousedown"))) { + var I = C.composedPath && C.composedPath()[0] || C.target; + if (!(y.props.interactive && Cf(v, I))) { + if (Sr(y.props.triggerTarget || t7).some(function(q) { + return Cf(q, I); + })) { + if (Et.isTouch || y.state.isVisible && y.props.trigger.indexOf("click") >= 0) + return; + } else + D("onClickOutside", [y, C]); + y.props.hideOnClick === true && (y.clearDelayTimeouts(), y.hide(), a = true, setTimeout(function() { + a = false; + }), y.state.isMounted || wt()); + } + } + } + function tt() { + l = true; + } + function Se() { + l = false; + } + function Ve() { + var C = ae(); + C.addEventListener("mousedown", pe, true), C.addEventListener("touchend", pe, zn), C.addEventListener("touchstart", Se, zn), C.addEventListener("touchmove", tt, zn); + } + function wt() { + var C = ae(); + C.removeEventListener("mousedown", pe, true), C.removeEventListener("touchend", pe, zn), C.removeEventListener("touchstart", Se, zn), C.removeEventListener("touchmove", tt, zn); + } + function pr(C, I) { + hr(C, function() { + !y.state.isVisible && v.parentNode && v.parentNode.contains(v) && I(); + }); + } + function Bt(C, I) { + hr(C, I); + } + function hr(C, I) { + var q = oe().box; + function ne(Y) { + Y.target === q && (Ga(q, "remove", ne), I()); + } + if (C === 0) + return I(); + Ga(q, "remove", d), Ga(q, "add", ne), d = ne; + } + function ln(C, I, q) { + q === void 0 && (q = false); + var ne = Sr(y.props.triggerTarget || t7); + ne.forEach(function(Y) { + Y.addEventListener(C, I, q), p.push({ + node: Y, + eventType: C, + handler: I, + options: q + }); + }); + } + function mr() { + P() && (ln("touchstart", Qr, { + passive: true + }), ln("touchend", ao, { + passive: true + })), Y4(y.props.trigger).forEach(function(C) { + if (C !== "manual") + switch (ln(C, Qr), C) { + case "mouseenter": + ln("mouseleave", ao); + break; + case "focus": + ln(d5 ? "focusout" : "blur", ei); + break; + case "focusin": + ln("focusout", ei); + break; + } + }); + } + function oo() { + p.forEach(function(C) { + var I = C.node, q = C.eventType, ne = C.handler, Y = C.options; + I.removeEventListener(q, ne, Y); + }), p = []; + } + function Qr(C) { + var I, q = false; + if (!(!y.state.isEnabled || ti(C) || a)) { + var ne = ((I = c) == null ? void 0 : I.type) === "focus"; + c = C, m7 = C.currentTarget, ge(), !y.state.isVisible && n5(C) && Oo.forEach(function(Y) { + return Y(C); + }), C.type === "click" && (y.props.trigger.indexOf("mouseenter") < 0 || s) && y.props.hideOnClick !== false && y.state.isVisible ? q = true : ni(C), C.type === "click" && (s = !q), q && !ne && Pn(C); + } + } + function so(C) { + var I = C.target, q = K().contains(I) || v.contains(I); + if (!(C.type === "mousemove" && q)) { + var ne = un().concat(v).map(function(Y) { + var qe, lt2 = Y._tippy, gr = (qe = lt2.popperInstance) == null ? void 0 : qe.state; + return gr ? { + popperRect: Y.getBoundingClientRect(), + popperState: gr, + props: n + } : null; + }).filter(Boolean); + s5(ne, C) && (He(), Pn(C)); + } + } + function ao(C) { + var I = ti(C) || y.props.trigger.indexOf("click") >= 0 && s; + if (!I) { + if (y.props.interactive) { + y.hideWithInteractivity(C); + return; + } + Pn(C); + } + } + function ei(C) { + y.props.trigger.indexOf("focusin") < 0 && C.target !== K() || y.props.interactive && C.relatedTarget && v.contains(C.relatedTarget) || Pn(C); + } + function ti(C) { + return Et.isTouch ? P() !== C.type.indexOf("touch") >= 0 : false; + } + function lo() { + uo(); + var C = y.props, I = C.popperOptions, q = C.placement, ne = C.offset, Y = C.getReferenceClientRect, qe = C.moveTransition, lt2 = W() ? Gl(v).arrow : null, gr = Y ? { + getBoundingClientRect: Y, + contextElement: Y.contextElement || K() + } : t7, xc = { + name: "$$tippy", + enabled: true, + phase: "beforeWrite", + requires: ["computeStyles"], + fn: function(mo) { + var br = mo.state; + if (W()) { + var gm = oe(), ka = gm.box; + ["placement", "reference-hidden", "escaped"].forEach(function(go) { + go === "placement" ? ka.setAttribute("data-placement", br.placement) : br.attributes.popper["data-popper-" + go] ? ka.setAttribute("data-" + go, "") : ka.removeAttribute("data-" + go); + }), br.attributes.popper = {}; + } + } + }, In = [{ + name: "offset", + options: { + offset: ne + } + }, { + name: "preventOverflow", + options: { + padding: { + top: 2, + bottom: 2, + left: 5, + right: 5 + } + } + }, { + name: "flip", + options: { + padding: 5 + } + }, { + name: "computeStyles", + options: { + adaptive: !qe + } + }, xc]; + W() && lt2 && In.push({ + name: "arrow", + options: { + element: lt2, + padding: 3 + } + }), In.push.apply(In, I?.modifiers || []), y.popperInstance = K4(gr, v, Object.assign({}, I, { + placement: q, + onFirstUpdate: f, + modifiers: In + })); + } + function uo() { + y.popperInstance && (y.popperInstance.destroy(), y.popperInstance = null); + } + function Ft() { + var C = y.props.appendTo, I, q = K(); + y.props.interactive && C === c1 || C === "parent" ? I = q.parentNode : I = d1(C, [q]), I.contains(v) || I.appendChild(v), y.state.isMounted = true, lo(); + } + function un() { + return hs(v.querySelectorAll("[data-tippy-root]")); + } + function ni(C) { + y.clearDelayTimeouts(), C && D("onTrigger", [y, C]), Ve(); + var I = V(true), q = B(), ne = q[0], Y = q[1]; + Et.isTouch && ne === "hold" && Y && (I = Y), I ? r = setTimeout(function() { + y.show(); + }, I) : y.show(); + } + function Pn(C) { + if (y.clearDelayTimeouts(), D("onUntrigger", [y, C]), !y.state.isVisible) { + wt(); + return; + } + if (!(y.props.trigger.indexOf("mouseenter") >= 0 && y.props.trigger.indexOf("click") >= 0 && ["mouseleave", "mousemove"].indexOf(C.type) >= 0 && s)) { + var I = V(false); + I ? i7 = setTimeout(function() { + y.state.isVisible && y.hide(); + }, I) : o = requestAnimationFrame(function() { + y.hide(); + }); + } + } + function ri() { + y.state.isEnabled = true; + } + function co() { + y.hide(), y.state.isEnabled = false; + } + function fo() { + clearTimeout(r), clearTimeout(i7), cancelAnimationFrame(o); + } + function po(C) { + if (!y.state.isDestroyed) { + D("onBeforeUpdate", [y, C]), oo(); + var I = y.props, q = Ef(t7, Object.assign({}, I, kf(C), { + ignoreAttributes: true + })); + y.props = q, mr(), I.interactiveDebounce !== q.interactiveDebounce && (He(), h = wf(so, q.interactiveDebounce)), I.triggerTarget && !q.triggerTarget ? Sr(I.triggerTarget).forEach(function(ne) { + ne.removeAttribute("aria-expanded"); + }) : q.triggerTarget && t7.removeAttribute("aria-expanded"), ge(), j(), E && E(I, q), y.popperInstance && (lo(), un().forEach(function(ne) { + requestAnimationFrame(ne._tippy.popperInstance.forceUpdate); + })), D("onAfterUpdate", [y, C]); + } + } + function ho(C) { + y.setProps({ + content: C + }); + } + function dm() { + var C = y.state.isVisible, I = y.state.isDestroyed, q = !y.state.isEnabled, ne = Et.isTouch && !y.props.touch, Y = Ua(y.props.duration, 0, it.duration); + if (!(C || I || q || ne) && !K().hasAttribute("disabled") && (D("onShow", [y], false), y.props.onShow(y) !== false)) { + if (y.state.isVisible = true, W() && (v.style.visibility = "visible"), j(), Ve(), y.state.isMounted || (v.style.transition = "none"), W()) { + var qe = oe(), lt2 = qe.box, gr = qe.content; + Ka([lt2, gr], 0); + } + f = function() { + var In; + if (!(!y.state.isVisible || u)) { + if (u = true, v.offsetHeight, v.style.transition = y.props.moveTransition, W() && y.props.animation) { + var xa = oe(), mo = xa.box, br = xa.content; + Ka([mo, br], Y), Af([mo, br], "visible"); + } + J(), ge(), xf(Ja, y), (In = y.popperInstance) == null || In.forceUpdate(), D("onMount", [y]), y.props.animation && W() && Bt(Y, function() { + y.state.isShown = true, D("onShown", [y]); + }); + } + }, Ft(); + } + } + function fm() { + var C = !y.state.isVisible, I = y.state.isDestroyed, q = !y.state.isEnabled, ne = Ua(y.props.duration, 1, it.duration); + if (!(C || I || q) && (D("onHide", [y], false), y.props.onHide(y) !== false)) { + if (y.state.isVisible = false, y.state.isShown = false, u = false, s = false, W() && (v.style.visibility = "hidden"), He(), wt(), j(true), W()) { + var Y = oe(), qe = Y.box, lt2 = Y.content; + y.props.animation && (Ka([qe, lt2], ne), Af([qe, lt2], "hidden")); + } + J(), ge(), y.props.animation ? W() && pr(ne, y.unmount) : y.unmount(); + } + } + function pm(C) { + ae().addEventListener("mousemove", h), xf(Oo, h), h(C); + } + function hm() { + y.state.isVisible && y.hide(), y.state.isMounted && (uo(), un().forEach(function(C) { + C._tippy.unmount(); + }), v.parentNode && v.parentNode.removeChild(v), Ja = Ja.filter(function(C) { + return C !== y; + }), y.state.isMounted = false, D("onHidden", [y])); + } + function mm() { + !y.state.isDestroyed && (y.clearDelayTimeouts(), y.unmount(), oo(), delete t7._tippy, y.state.isDestroyed = true, D("onDestroy", [y])); + } + } + function Xr(t7, e7) { + e7 === void 0 && (e7 = {}); + var n = it.plugins.concat(e7.plugins || []); + u5(); + var r = Object.assign({}, e7, { + plugins: n + }), i7 = i5(t7); + var a = i7.reduce(function(l, u) { + var c = u && x5(u, r); + return c && l.push(c), l; + }, []); + return qi(t7) ? a[0] : a; + } + Xr.defaultProps = it; + Xr.setDefaultProps = b5; + Xr.currentInput = Et; + Object.assign({}, Q0, { + effect: function(e7) { + var n = e7.state, r = { + popper: { + position: n.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(n.elements.popper.style, r.popper), n.styles = r, n.elements.arrow && Object.assign(n.elements.arrow.style, r.arrow); + } + }); + Xr.setDefaultProps({ + render: b1 + }); + class k5 { + constructor({ editor: e7, element: n, view: r, tippyOptions: i7 = {}, updateDelay: o = 250, shouldShow: s }) { + this.preventHide = false, this.shouldShow = ({ view: a, state: l, from: u, to: c }) => { + const { doc: d, selection: f } = l, { empty: p } = f, h = !d.textBetween(u, c).length && Gu(l.selection), m7 = this.element.contains(document.activeElement); + return !(!(a.hasFocus() || m7) || p || h || !this.editor.isEditable); + }, this.mousedownHandler = () => { + this.preventHide = true; + }, this.dragstartHandler = () => { + this.hide(); + }, this.focusHandler = () => { + setTimeout(() => this.update(this.editor.view)); + }, this.blurHandler = ({ event: a }) => { + var l; + if (this.preventHide) { + this.preventHide = false; + return; + } + a?.relatedTarget && (!((l = this.element.parentNode) === null || l === void 0) && l.contains(a.relatedTarget)) || a?.relatedTarget !== this.editor.view.dom && this.hide(); + }, this.tippyBlurHandler = (a) => { + this.blurHandler({ event: a }); + }, this.handleDebouncedUpdate = (a, l) => { + const u = !l?.selection.eq(a.state.selection), c = !l?.doc.eq(a.state.doc); + !u && !c || (this.updateDebounceTimer && clearTimeout(this.updateDebounceTimer), this.updateDebounceTimer = window.setTimeout(() => { + this.updateHandler(a, u, c, l); + }, this.updateDelay)); + }, this.updateHandler = (a, l, u, c) => { + var d, f, p; + const { state: h, composing: m7 } = a, { selection: g } = h; + if (m7 || !l && !u) + return; + this.createTooltip(); + const { ranges: x } = g, w = Math.min(...x.map((v) => v.$from.pos)), y = Math.max(...x.map((v) => v.$to.pos)); + if (!((d = this.shouldShow) === null || d === void 0 ? void 0 : d.call(this, { + editor: this.editor, + element: this.element, + view: a, + state: h, + oldState: c, + from: w, + to: y + }))) { + this.hide(); + return; + } + (f = this.tippy) === null || f === void 0 || f.setProps({ + getReferenceClientRect: ((p = this.tippyOptions) === null || p === void 0 ? void 0 : p.getReferenceClientRect) || (() => { + if (G0(h.selection)) { + let v = a.nodeDOM(w); + if (v) { + const E = v.dataset.nodeViewWrapper ? v : v.querySelector("[data-node-view-wrapper]"); + if (E && (v = E.firstChild), v) + return v.getBoundingClientRect(); + } + } + return J0(a, w, y); + }) + }), this.show(); + }, this.editor = e7, this.element = n, this.view = r, this.updateDelay = o, s && (this.shouldShow = s), this.element.addEventListener("mousedown", this.mousedownHandler, { capture: true }), this.view.dom.addEventListener("dragstart", this.dragstartHandler), this.editor.on("focus", this.focusHandler), this.editor.on("blur", this.blurHandler), this.tippyOptions = i7, this.element.remove(), this.element.style.visibility = "visible"; + } + createTooltip() { + const { element: e7 } = this.editor.options, n = !!e7.parentElement; + this.element.tabIndex = 0, !(this.tippy || !n) && (this.tippy = Xr(e7, { + duration: 0, + getReferenceClientRect: null, + content: this.element, + interactive: true, + trigger: "manual", + placement: "top", + hideOnClick: "toggle", + ...this.tippyOptions + }), this.tippy.popper.firstChild && this.tippy.popper.firstChild.addEventListener("blur", this.tippyBlurHandler)); + } + update(e7, n) { + const { state: r } = e7, i7 = r.selection.from !== r.selection.to; + if (this.updateDelay > 0 && i7) { + this.handleDebouncedUpdate(e7, n); + return; + } + const o = !n?.selection.eq(e7.state.selection), s = !n?.doc.eq(e7.state.doc); + this.updateHandler(e7, o, s, n); + } + show() { + var e7; + (e7 = this.tippy) === null || e7 === void 0 || e7.show(); + } + hide() { + var e7; + (e7 = this.tippy) === null || e7 === void 0 || e7.hide(); + } + destroy() { + var e7, n; + !((e7 = this.tippy) === null || e7 === void 0) && e7.popper.firstChild && this.tippy.popper.firstChild.removeEventListener("blur", this.tippyBlurHandler), (n = this.tippy) === null || n === void 0 || n.destroy(), this.element.removeEventListener("mousedown", this.mousedownHandler, { capture: true }), this.view.dom.removeEventListener("dragstart", this.dragstartHandler), this.editor.off("focus", this.focusHandler), this.editor.off("blur", this.blurHandler); + } + } + const y1 = (t7) => new fe({ + key: typeof t7.pluginKey == "string" ? new Ae(t7.pluginKey) : t7.pluginKey, + view: (e7) => new k5({ view: e7, ...t7 }) + }); + ie.create({ + name: "bubbleMenu", + addOptions() { + return { + element: null, + tippyOptions: {}, + pluginKey: "bubbleMenu", + updateDelay: void 0, + shouldShow: null + }; + }, + addProseMirrorPlugins() { + return this.options.element ? [ + y1({ + pluginKey: this.options.pluginKey, + editor: this.editor, + element: this.options.element, + tippyOptions: this.options.tippyOptions, + updateDelay: this.options.updateDelay, + shouldShow: this.options.shouldShow + }) + ] : []; + } + }); + class A5 { + getTextContent(e7) { + return U0(e7, { textSerializers: Ku(this.editor.schema) }); + } + constructor({ editor: e7, element: n, view: r, tippyOptions: i7 = {}, shouldShow: o }) { + this.preventHide = false, this.shouldShow = ({ view: s, state: a }) => { + const { selection: l } = a, { $anchor: u, empty: c } = l, d = u.depth === 1, f = u.parent.isTextblock && !u.parent.type.spec.code && !u.parent.textContent && u.parent.childCount === 0 && !this.getTextContent(u.parent); + return !(!s.hasFocus() || !c || !d || !f || !this.editor.isEditable); + }, this.mousedownHandler = () => { + this.preventHide = true; + }, this.focusHandler = () => { + setTimeout(() => this.update(this.editor.view)); + }, this.blurHandler = ({ event: s }) => { + var a; + if (this.preventHide) { + this.preventHide = false; + return; + } + s?.relatedTarget && (!((a = this.element.parentNode) === null || a === void 0) && a.contains(s.relatedTarget)) || s?.relatedTarget !== this.editor.view.dom && this.hide(); + }, this.tippyBlurHandler = (s) => { + this.blurHandler({ event: s }); + }, this.editor = e7, this.element = n, this.view = r, o && (this.shouldShow = o), this.element.addEventListener("mousedown", this.mousedownHandler, { capture: true }), this.editor.on("focus", this.focusHandler), this.editor.on("blur", this.blurHandler), this.tippyOptions = i7, this.element.remove(), this.element.style.visibility = "visible"; + } + createTooltip() { + const { element: e7 } = this.editor.options, n = !!e7.parentElement; + this.element.tabIndex = 0, !(this.tippy || !n) && (this.tippy = Xr(e7, { + duration: 0, + getReferenceClientRect: null, + content: this.element, + interactive: true, + trigger: "manual", + placement: "right", + hideOnClick: "toggle", + ...this.tippyOptions + }), this.tippy.popper.firstChild && this.tippy.popper.firstChild.addEventListener("blur", this.tippyBlurHandler)); + } + update(e7, n) { + var r, i7, o; + const { state: s } = e7, { doc: a, selection: l } = s, { from: u, to: c } = l; + if (n && n.doc.eq(a) && n.selection.eq(l)) + return; + if (this.createTooltip(), !((r = this.shouldShow) === null || r === void 0 ? void 0 : r.call(this, { + editor: this.editor, + view: e7, + state: s, + oldState: n + }))) { + this.hide(); + return; + } + (i7 = this.tippy) === null || i7 === void 0 || i7.setProps({ + getReferenceClientRect: ((o = this.tippyOptions) === null || o === void 0 ? void 0 : o.getReferenceClientRect) || (() => J0(e7, u, c)) + }), this.show(); + } + show() { + var e7; + (e7 = this.tippy) === null || e7 === void 0 || e7.show(); + } + hide() { + var e7; + (e7 = this.tippy) === null || e7 === void 0 || e7.hide(); + } + destroy() { + var e7, n; + !((e7 = this.tippy) === null || e7 === void 0) && e7.popper.firstChild && this.tippy.popper.firstChild.removeEventListener("blur", this.tippyBlurHandler), (n = this.tippy) === null || n === void 0 || n.destroy(), this.element.removeEventListener("mousedown", this.mousedownHandler, { capture: true }), this.editor.off("focus", this.focusHandler), this.editor.off("blur", this.blurHandler); + } + } + const v1$1 = (t7) => new fe({ + key: typeof t7.pluginKey == "string" ? new Ae(t7.pluginKey) : t7.pluginKey, + view: (e7) => new A5({ view: e7, ...t7 }) + }); + ie.create({ + name: "floatingMenu", + addOptions() { + return { + element: null, + tippyOptions: {}, + pluginKey: "floatingMenu", + shouldShow: null + }; + }, + addProseMirrorPlugins() { + return this.options.element ? [ + v1$1({ + pluginKey: this.options.pluginKey, + editor: this.editor, + element: this.options.element, + tippyOptions: this.options.tippyOptions, + shouldShow: this.options.shouldShow + }) + ] : []; + } + }); + const C5 = require$$0.defineComponent({ + name: "BubbleMenu", + props: { + pluginKey: { + type: [String, Object], + default: "bubbleMenu" + }, + editor: { + type: Object, + required: true + }, + updateDelay: { + type: Number, + default: void 0 + }, + tippyOptions: { + type: Object, + default: () => ({}) + }, + shouldShow: { + type: Function, + default: null + } + }, + setup(t7, { slots: e7 }) { + const n = require$$0.ref(null); + return require$$0.onMounted(() => { + const { updateDelay: r, editor: i7, pluginKey: o, shouldShow: s, tippyOptions: a } = t7; + i7.registerPlugin(y1({ + updateDelay: r, + editor: i7, + element: n.value, + pluginKey: o, + shouldShow: s, + tippyOptions: a + })); + }), require$$0.onBeforeUnmount(() => { + const { pluginKey: r, editor: i7 } = t7; + i7.unregisterPlugin(r); + }), () => { + var r; + return require$$0.h("div", { ref: n }, (r = e7.default) === null || r === void 0 ? void 0 : r.call(e7)); + }; + } + }); + function Lf(t7) { + return require$$0.customRef((e7, n) => ({ + get() { + return e7(), t7; + }, + set(r) { + t7 = r, requestAnimationFrame(() => { + requestAnimationFrame(() => { + n(); + }); + }); + } + })); + } + class S5 extends Fx { + constructor(e7 = {}) { + return super(e7), this.contentComponent = null, this.appContext = null, this.reactiveState = Lf(this.view.state), this.reactiveExtensionStorage = Lf(this.extensionStorage), this.on("beforeTransaction", ({ nextState: n }) => { + this.reactiveState.value = n, this.reactiveExtensionStorage.value = this.extensionStorage; + }), require$$0.markRaw(this); + } + get state() { + return this.reactiveState ? this.reactiveState.value : this.view.state; + } + get storage() { + return this.reactiveExtensionStorage ? this.reactiveExtensionStorage.value : super.storage; + } + /** + * Register a ProseMirror plugin. + */ + registerPlugin(e7, n) { + const r = super.registerPlugin(e7, n); + return this.reactiveState && (this.reactiveState.value = r), r; + } + /** + * Unregister a ProseMirror plugin. + */ + unregisterPlugin(e7) { + const n = super.unregisterPlugin(e7); + return this.reactiveState && n && (this.reactiveState.value = n), n; + } + } + const T5 = require$$0.defineComponent({ + name: "EditorContent", + props: { + editor: { + default: null, + type: Object + } + }, + setup(t7) { + const e7 = require$$0.ref(), n = require$$0.getCurrentInstance(); + return require$$0.watchEffect(() => { + const r = t7.editor; + r && r.options.element && e7.value && require$$0.nextTick(() => { + if (!e7.value || !r.options.element.firstChild) + return; + const i7 = require$$0.unref(e7.value); + e7.value.append(...r.options.element.childNodes), r.contentComponent = n.ctx._, n && (r.appContext = { + ...n.appContext, + // Vue internally uses prototype chain to forward/shadow injects across the entire component chain + // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext + // @ts-expect-error forward instance's 'provides' into appContext + provides: n.provides + }), r.setOptions({ + element: i7 + }), r.createNodeViews(); + }); + }), require$$0.onBeforeUnmount(() => { + const r = t7.editor; + r && (r.contentComponent = null, r.appContext = null); + }), { rootEl: e7 }; + }, + render() { + return require$$0.h("div", { + ref: (t7) => { + this.rootEl = t7; + } + }); + } + }); + require$$0.defineComponent({ + name: "FloatingMenu", + props: { + pluginKey: { + // TODO: TypeScript breaks :( + // type: [String, Object as PropType>], + type: null, + default: "floatingMenu" + }, + editor: { + type: Object, + required: true + }, + tippyOptions: { + type: Object, + default: () => ({}) + }, + shouldShow: { + type: Function, + default: null + } + }, + setup(t7, { slots: e7 }) { + const n = require$$0.ref(null); + return require$$0.onMounted(() => { + const { pluginKey: r, editor: i7, tippyOptions: o, shouldShow: s } = t7; + i7.registerPlugin(v1$1({ + pluginKey: r, + editor: i7, + element: n.value, + tippyOptions: o, + shouldShow: s + })); + }), require$$0.onBeforeUnmount(() => { + const { pluginKey: r, editor: i7 } = t7; + i7.unregisterPlugin(r); + }), () => { + var r; + return require$$0.h("div", { ref: n }, (r = e7.default) === null || r === void 0 ? void 0 : r.call(e7)); + }; + } + }); + require$$0.defineComponent({ + name: "NodeViewContent", + props: { + as: { + type: String, + default: "div" + } + }, + render() { + return require$$0.h(this.as, { + style: { + whiteSpace: "pre-wrap" + }, + "data-node-view-content": "" + }); + } + }); + const w1 = require$$0.defineComponent({ + name: "NodeViewWrapper", + props: { + as: { + type: String, + default: "div" + } + }, + inject: ["onDragStart", "decorationClasses"], + render() { + var t7, e7; + return require$$0.h(this.as, { + // @ts-ignore + class: this.decorationClasses, + style: { + whiteSpace: "normal" + }, + "data-node-view-wrapper": "", + // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031) + onDragstart: this.onDragStart + }, (e7 = (t7 = this.$slots).default) === null || e7 === void 0 ? void 0 : e7.call(t7)); + } + }); + class E5 { + constructor(e7, { props: n = {}, editor: r }) { + this.editor = r, this.component = require$$0.markRaw(e7), this.el = document.createElement("div"), this.props = require$$0.reactive(n), this.renderedComponent = this.renderComponent(); + } + get element() { + return this.renderedComponent.el; + } + get ref() { + var e7, n, r, i7; + return !((n = (e7 = this.renderedComponent.vNode) === null || e7 === void 0 ? void 0 : e7.component) === null || n === void 0) && n.exposed ? this.renderedComponent.vNode.component.exposed : (i7 = (r = this.renderedComponent.vNode) === null || r === void 0 ? void 0 : r.component) === null || i7 === void 0 ? void 0 : i7.proxy; + } + renderComponent() { + let e7 = require$$0.h(this.component, this.props); + return this.editor.appContext && (e7.appContext = this.editor.appContext), typeof document < "u" && this.el && require$$0.render(e7, this.el), { vNode: e7, destroy: () => { + this.el && require$$0.render(null, this.el), this.el = null, e7 = null; + }, el: this.el ? this.el.firstElementChild : null }; + } + updateProps(e7 = {}) { + Object.entries(e7).forEach(([n, r]) => { + this.props[n] = r; + }), this.renderComponent(); + } + destroy() { + this.renderedComponent.destroy(); + } + } + const x1 = { + editor: { + type: Object, + required: true + }, + node: { + type: Object, + required: true + }, + decorations: { + type: Object, + required: true + }, + selected: { + type: Boolean, + required: true + }, + extension: { + type: Object, + required: true + }, + getPos: { + type: Function, + required: true + }, + updateAttributes: { + type: Function, + required: true + }, + deleteNode: { + type: Function, + required: true + }, + view: { + type: Object, + required: true + }, + innerDecorations: { + type: Object, + required: true + }, + HTMLAttributes: { + type: Object, + required: true + } + }; + class M5 extends zx { + mount() { + const e7 = { + editor: this.editor, + node: this.node, + decorations: this.decorations, + innerDecorations: this.innerDecorations, + view: this.view, + selected: false, + extension: this.extension, + HTMLAttributes: this.HTMLAttributes, + getPos: () => this.getPos(), + updateAttributes: (i7 = {}) => this.updateAttributes(i7), + deleteNode: () => this.deleteNode() + }, n = this.onDragStart.bind(this); + this.decorationClasses = require$$0.ref(this.getDecorationClasses()); + const r = require$$0.defineComponent({ + extends: { ...this.component }, + props: Object.keys(e7), + template: this.component.template, + setup: (i7) => { + var o, s; + return require$$0.provide("onDragStart", n), require$$0.provide("decorationClasses", this.decorationClasses), (s = (o = this.component).setup) === null || s === void 0 ? void 0 : s.call(o, i7, { + expose: () => { + } + }); + }, + // add support for scoped styles + // @ts-ignore + // eslint-disable-next-line + __scopeId: this.component.__scopeId, + // add support for CSS Modules + // @ts-ignore + // eslint-disable-next-line + __cssModules: this.component.__cssModules, + // add support for vue devtools + // @ts-ignore + // eslint-disable-next-line + __name: this.component.__name, + // @ts-ignore + // eslint-disable-next-line + __file: this.component.__file + }); + this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this), this.editor.on("selectionUpdate", this.handleSelectionUpdate), this.renderer = new E5(r, { + editor: this.editor, + props: e7 + }); + } + /** + * Return the DOM element. + * This is the element that will be used to display the node view. + */ + get dom() { + if (!this.renderer.element || !this.renderer.element.hasAttribute("data-node-view-wrapper")) + throw Error("Please use the NodeViewWrapper component for your node view."); + return this.renderer.element; + } + /** + * Return the content DOM element. + * This is the element that will be used to display the rich-text content of the node. + */ + get contentDOM() { + return this.node.isLeaf ? null : this.dom.querySelector("[data-node-view-content]"); + } + /** + * On editor selection update, check if the node is selected. + * If it is, call `selectNode`, otherwise call `deselectNode`. + */ + handleSelectionUpdate() { + const { from: e7, to: n } = this.editor.state.selection, r = this.getPos(); + if (typeof r == "number") + if (e7 <= r && n >= r + this.node.nodeSize) { + if (this.renderer.props.selected) + return; + this.selectNode(); + } else { + if (!this.renderer.props.selected) + return; + this.deselectNode(); + } + } + /** + * On update, update the React component. + * To prevent unnecessary updates, the `update` option can be used. + */ + update(e7, n, r) { + const i7 = (o) => { + this.decorationClasses.value = this.getDecorationClasses(), this.renderer.updateProps(o); + }; + if (typeof this.options.update == "function") { + const o = this.node, s = this.decorations, a = this.innerDecorations; + return this.node = e7, this.decorations = n, this.innerDecorations = r, this.options.update({ + oldNode: o, + oldDecorations: s, + newNode: e7, + newDecorations: n, + oldInnerDecorations: a, + innerDecorations: r, + updateProps: () => i7({ node: e7, decorations: n, innerDecorations: r }) + }); + } + return e7.type !== this.node.type ? false : (e7 === this.node && this.decorations === n && this.innerDecorations === r || (this.node = e7, this.decorations = n, this.innerDecorations = r, i7({ node: e7, decorations: n, innerDecorations: r })), true); + } + /** + * Select the node. + * Add the `selected` prop and the `ProseMirror-selectednode` class. + */ + selectNode() { + this.renderer.updateProps({ + selected: true + }), this.renderer.element && this.renderer.element.classList.add("ProseMirror-selectednode"); + } + /** + * Deselect the node. + * Remove the `selected` prop and the `ProseMirror-selectednode` class. + */ + deselectNode() { + this.renderer.updateProps({ + selected: false + }), this.renderer.element && this.renderer.element.classList.remove("ProseMirror-selectednode"); + } + getDecorationClasses() { + return this.decorations.map((e7) => e7.type.attrs.class).flat().join(" "); + } + destroy() { + this.renderer.destroy(), this.editor.off("selectionUpdate", this.handleSelectionUpdate); + } + } + function k1(t7, e7) { + return (n) => { + if (!n.editor.contentComponent) + return {}; + const r = typeof t7 == "function" && "__vccOpts" in t7 ? t7.__vccOpts : t7; + return new M5(r, n, e7); + }; + } + const O5 = /* @__PURE__ */ require$$0.defineComponent({ + __name: "BubbleMenu", + props: { + editor: {}, + disabled: { type: Boolean, default: false } + }, + setup(t7) { + const e7 = t7, { t: n } = sn(), r = require$$0.reactive({ + maxWidth: "auto", + zIndex: 20, + appendTo: "parent" + }), i7 = require$$0.computed(() => { + const l = e7.editor.state.selection, u = a(), c = l.node?.type.name === "image", d = l.node?.type.name === "video", f = l instanceof z; + if (u) return "link"; + if (c) return "image"; + if (d) return "video"; + if (f) return "text"; + }), o = require$$0.computed(() => { + const { extensions: l = [] } = e7.editor.extensionManager, u = l.find((f) => f.name === "base-kit"); + if (!u) return {}; + const { button: c } = u.options?.bubble ?? {}; + return c ? c({ + editor: e7.editor, + extension: u, + t: require$$0.unref(n) + }) : {}; + }), s = require$$0.computed(() => i7.value ? require$$0.unref(o)?.[i7.value] ?? [] : []); + function a() { + const { schema: l } = e7.editor, u = l.marks.link; + return u ? e7.editor.isActive(u.name) : false; + } + return (l, u) => { + const c = VDivider, d = VToolbar, f = VCardText, p = VCard; + return require$$0.withDirectives((require$$0.openBlock(), require$$0.createBlock(require$$0.unref(C5), { + editor: l.editor, + "tippy-options": r + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(p, { class: "vuetify-pro-tiptap-editor__menu-bubble" }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(f, { class: "d-flex pa-0" }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(d, { + density: "compact", + flat: "", + height: "auto", + class: "py-1 ps-1" + }, { + default: require$$0.withCtx(() => [ + (require$$0.openBlock(true), require$$0.createElementBlock(require$$0.Fragment, null, require$$0.renderList(s.value, (h, m7) => (require$$0.openBlock(), require$$0.createElementBlock(require$$0.Fragment, { key: m7 }, [ + h.type === "divider" ? (require$$0.openBlock(), require$$0.createBlock(c, { + key: 0, + vertical: "", + class: "mx-1 me-2" + })) : (require$$0.openBlock(), require$$0.createBlock(require$$0.resolveDynamicComponent(h.component), require$$0.mergeProps({ + key: 1, + ref_for: true + }, h.componentProps, { + editor: l.editor, + disabled: l.disabled || h.componentProps?.disabled + }), require$$0.createSlots({ _: 2 }, [ + require$$0.renderList(h.componentSlots, (g, b, x) => ({ + name: `${b}`, + fn: require$$0.withCtx((w) => [ + (require$$0.openBlock(), require$$0.createBlock(require$$0.resolveDynamicComponent(g), require$$0.mergeProps({ ref_for: true }, w?.props), null, 16)) + ]) + })) + ]), 1040, ["editor", "disabled"])) + ], 64))), 128)) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["editor", "tippy-options"])), [ + [require$$0.vShow, s.value.length > 0] + ]); + }; + } + }), L5 = /* @__PURE__ */ require$$0.defineComponent({ + __name: "TiptapToolbar", + props: { + editor: {}, + disabled: { type: Boolean, default: false } + }, + setup(t7) { + const e7 = t7, { t: n } = sn(), r = require$$0.computed(() => { + const o = [...e7.editor.extensionManager.extensions].sort((a, l) => { + const u = a.options.sort ?? -1, c = l.options.sort ?? -1; + return u - c; + }); + let s = []; + for (const a of o) { + const { button: l, divider: u = false, spacer: c = false } = a.options; + if (!l || !Ey(l)) continue; + const d = l({ + editor: e7.editor, + extension: a, + t: require$$0.unref(n) + }); + if (Array.isArray(d)) { + const f = d.map((p, h) => ({ + button: p, + divider: h === d.length - 1 ? u : false, + spacer: h === 0 ? c : false + })); + s = [...s, ...f]; + continue; + } + s.push({ button: d, divider: u, spacer: c }); + } + return s; + }); + return (i7, o) => { + const s = VSpacer, a = VDivider, l = VToolbar; + return require$$0.openBlock(), require$$0.createBlock(l, require$$0.mergeProps(i7.$attrs, { + density: "compact", + flat: "", + height: "auto", + class: "py-1 ps-1" + }), { + default: require$$0.withCtx(() => [ + (require$$0.openBlock(true), require$$0.createElementBlock(require$$0.Fragment, null, require$$0.renderList(r.value, (u, c) => (require$$0.openBlock(), require$$0.createElementBlock(require$$0.Fragment, { key: c }, [ + u.spacer ? (require$$0.openBlock(), require$$0.createBlock(s, { key: 0 })) : require$$0.createCommentVNode("", true), + (require$$0.openBlock(), require$$0.createBlock(require$$0.resolveDynamicComponent(u.button.component), require$$0.mergeProps({ ref_for: true }, u.button.componentProps, { + editor: i7.editor, + disabled: i7.disabled || u.button.componentProps?.disabled + }), require$$0.createSlots({ _: 2 }, [ + require$$0.renderList(u.button.componentSlots, (d, f, p) => ({ + name: `${f}`, + fn: require$$0.withCtx((h) => [ + (require$$0.openBlock(), require$$0.createBlock(require$$0.resolveDynamicComponent(d), require$$0.mergeProps({ ref_for: true }, h?.props), null, 16)) + ]) + })) + ]), 1040, ["editor", "disabled"])), + u.divider ? (require$$0.openBlock(), require$$0.createBlock(a, { + key: 1, + vertical: "", + class: "mx-1 me-2" + })) : require$$0.createCommentVNode("", true) + ], 64))), 128)) + ]), + _: 1 + }, 16); + }; + } + }), N5 = { class: "text-overline me-4" }, H5 = { class: "text-overline" }, NT = /* @__PURE__ */ require$$0.defineComponent({ + __name: "VuetifyTiptap", + props: { + modelValue: { default: "" }, + markdownTheme: { type: [String, Boolean], default: void 0 }, + output: { default: "html" }, + dark: { type: Boolean, default: void 0 }, + dense: { type: Boolean, default: false }, + outlined: { type: Boolean, default: true }, + flat: { type: Boolean, default: true }, + disabled: { type: Boolean, default: false }, + label: { default: void 0 }, + hideToolbar: { type: Boolean, default: false }, + disableToolbar: { type: Boolean, default: false }, + hideBubble: { type: Boolean, default: false }, + removeDefaultWrapper: { type: Boolean, default: false }, + maxWidth: { default: void 0 }, + minHeight: { default: void 0 }, + maxHeight: { default: void 0 }, + extensions: { default: () => [] }, + editorClass: { default: void 0 }, + errorMessages: { default: () => [] } + }, + emits: ["enter", "change", "update:modelValue", "update:markdownTheme"], + setup(t7, { expose: e7, emit: n }) { + const r = t7, i7 = n, o = require$$0.useAttrs(), s = useTheme(), { state: a, isFullscreen: l } = Fy(), { markdownThemeStyle: u } = ih( + require$$0.computed(() => r.markdownTheme), + (w) => { + i7("update:markdownTheme", w); + } + ), c = require$$0.computed(() => { + const w = Ay(r.extensions, a.extensions, "name"); + return [...a.extensions.map((k7, v) => { + const E = r.extensions.find((A) => A.name === k7.name); + return E ? k7.configure(E.options) : k7; + }), ...w].map((k7, v) => k7.configure({ sort: v })); + }), d = new S5({ + content: r.modelValue, + editorProps: { + handleKeyDown: hi(function(w, y) { + return y.key === "Enter" && o.enter && !y.shiftKey ? (i7("enter"), true) : false; + }, hl) + }, + onUpdate: hi(({ editor: w }) => { + const y = g(w, r.output); + i7("update:modelValue", y), i7("change", { editor: w, output: y }); + }, hl), + extensions: require$$0.unref(c), + autofocus: false, + editable: !r.disabled, + injectCSS: true + }), { t: f } = sn(), p = require$$0.computed(() => Dr(r.dark) ? r.dark : Dr(s.current.value.dark) ? s.current.value.dark : false), h = require$$0.computed(() => [{ + __dark: require$$0.unref(p), + ...require$$0.unref(u) + }, r.editorClass]), m7 = require$$0.computed(() => { + const w = gi(r.maxWidth), y = { + maxWidth: w, + width: w ? "100%" : void 0, + margin: w ? "0 auto" : void 0, + backgroundColor: require$$0.unref(p) ? "#1E1E1E" : "#FFFFFF" + }; + if (require$$0.unref(l)) return { height: "100%", overflowY: "auto", ...y }; + const k7 = gi(r.minHeight), v = gi(r.maxHeight); + return { + minHeight: k7, + maxHeight: v, + overflowY: "auto", + ...y + }; + }); + function g(w, y) { + return r.removeDefaultWrapper ? y === "html" ? w.isEmpty ? "" : w.getHTML() : y === "json" ? w.isEmpty ? {} : w.getJSON() : y === "text" ? w.isEmpty ? "" : w.getText() : "" : y === "html" ? w.getHTML() : y === "json" ? w.getJSON() : y === "text" ? w.getText() : ""; + } + const b = hi((w) => { + if (!d) return; + const y = g(d, r.output); + if (Cy(y, w)) return; + const { from: k7, to: v } = d.state.selection; + d.commands.setContent(w, false), d.commands.setTextSelection({ from: k7, to: v }); + }, Vm), x = (w) => d?.setEditable(!w); + return require$$0.watch(() => r.modelValue, b), require$$0.watch(() => r.disabled, x), require$$0.onUnmounted(() => d?.destroy()), e7({ editor: d }), (w, y) => { + const k7 = VCardTitle, v = VDivider, E = VSpacer, A = VToolbar, H = VCard, B = VInput, P = VThemeProvider; + return require$$0.unref(d) ? (require$$0.openBlock(), require$$0.createElementBlock("div", { + key: 0, + class: require$$0.normalizeClass(["vuetify-pro-tiptap", { dense: w.dense }]) + }, [ + require$$0.createVNode(P, { + theme: p.value ? "dark" : "light" + }, { + default: require$$0.withCtx(() => [ + w.hideBubble ? require$$0.createCommentVNode("", true) : (require$$0.openBlock(), require$$0.createBlock(O5, { + key: 0, + editor: require$$0.unref(d), + disabled: w.disableToolbar + }, null, 8, ["editor", "disabled"])), + require$$0.createVNode(B, { + class: "pt-0", + "hide-details": "auto", + "error-messages": w.errorMessages + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(H, require$$0.mergeProps({ + flat: w.flat, + outlined: w.outlined, + color: p.value ? "grey-darken-4" : "grey-lighten-4" + }, w.$attrs, { + style: { + borderColor: w.$attrs["error-messages"] ? "#ff5252" : void 0, + width: "100%" + }, + class: ["vuetify-pro-tiptap-editor", { "vuetify-pro-tiptap-editor--fullscreen": require$$0.unref(l) }] + }), { + default: require$$0.withCtx(() => [ + w.label && !require$$0.unref(l) ? (require$$0.openBlock(), require$$0.createElementBlock(require$$0.Fragment, { key: 0 }, [ + require$$0.createVNode(k7, { + class: require$$0.normalizeClass(p.value ? "bg-grey-darken-3" : "bg-grey-lighten-3") + }, { + default: require$$0.withCtx(() => [ + require$$0.createTextVNode(require$$0.toDisplayString(w.label), 1) + ]), + _: 1 + }, 8, ["class"]), + require$$0.createVNode(v) + ], 64)) : require$$0.createCommentVNode("", true), + w.hideToolbar ? require$$0.createCommentVNode("", true) : (require$$0.openBlock(), require$$0.createBlock(L5, { + key: 1, + class: "vuetify-pro-tiptap-editor__toolbar", + editor: require$$0.unref(d), + disabled: w.disableToolbar + }, null, 8, ["editor", "disabled"])), + require$$0.renderSlot(w.$slots, "editor", require$$0.normalizeProps(require$$0.guardReactiveProps({ editor: require$$0.unref(d), props: { class: "vuetify-pro-tiptap-editor__content", "data-testid": "value" } })), () => [ + require$$0.createVNode(require$$0.unref(T5), { + class: require$$0.normalizeClass(["vuetify-pro-tiptap-editor__content", h.value]), + style: require$$0.normalizeStyle(m7.value), + editor: require$$0.unref(d), + "data-testid": "value" + }, null, 8, ["class", "style", "editor"]) + ]), + require$$0.renderSlot(w.$slots, "bottom", require$$0.normalizeProps(require$$0.guardReactiveProps({ editor: require$$0.unref(d) })), () => [ + require$$0.createVNode(A, { + class: "px-4", + density: "compact", + flat: "" + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(E), + require$$0.unref(My)(require$$0.unref(d), "characterCount") ? (require$$0.openBlock(), require$$0.createElementBlock(require$$0.Fragment, { key: 0 }, [ + require$$0.createElementVNode("span", N5, require$$0.toDisplayString(require$$0.unref(d).storage.characterCount.words()) + " " + require$$0.toDisplayString(require$$0.unref(f)("editor.words")), 1), + require$$0.createElementVNode("span", H5, require$$0.toDisplayString(require$$0.unref(d).storage.characterCount.characters()) + " " + require$$0.toDisplayString(require$$0.unref(f)("editor.characters")), 1) + ], 64)) : require$$0.createCommentVNode("", true) + ]), + _: 1 + }) + ]) + ]), + _: 3 + }, 16, ["flat", "outlined", "color", "style", "class"]) + ]), + _: 3 + }, 8, ["error-messages"]) + ]), + _: 3 + }, 8, ["theme"]) + ], 2)) : require$$0.createCommentVNode("", true); + }; + } + }), V5 = { + a: ["href", "title", "target"], + span: ["style"], + blockquote: ["class", "style"], + p: ["class", "style"], + hr: [], + pre: [], + code: [], + strong: [], + img: ["src", "alt", "title", "width", "height", "style", "data-display"], + label: ["contenteditable"], + input: ["type", "value", "checked"], + div: ["class", "style"], + iframe: ["src", "allowfullscreen", "frameborder", "width", "height"], + em: [], + s: [], + mark: [], + h1: ["class", "style"], + h2: ["class", "style"], + h3: ["class", "style"], + h4: ["class", "style"], + h5: ["class", "style"], + h6: ["class", "style"], + ul: ["class", "data-type"], + li: ["class", "data-checked", "itemtypename"], + ol: [], + u: [], + table: ["class", "style"], + colgroup: [], + col: ["style"], + tbody: ["class", "style"], + tr: ["class", "style"], + th: ["class", "style", "colspan", "rowspan"], + td: ["class", "style", "colspan", "rowspan"], + br: [] + }, R5 = new Uint16Array( + // prettier-ignore + 'ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((t7) => t7.charCodeAt(0)) + ), D5 = new Uint16Array( + // prettier-ignore + "Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((t7) => t7.charCodeAt(0)) + ); + var Za; + const _5 = /* @__PURE__ */ new Map([ + [0, 65533], + // C1 Unicode control character reference replacements + [128, 8364], + [130, 8218], + [131, 402], + [132, 8222], + [133, 8230], + [134, 8224], + [135, 8225], + [136, 710], + [137, 8240], + [138, 352], + [139, 8249], + [140, 338], + [142, 381], + [145, 8216], + [146, 8217], + [147, 8220], + [148, 8221], + [149, 8226], + [150, 8211], + [151, 8212], + [152, 732], + [153, 8482], + [154, 353], + [155, 8250], + [156, 339], + [158, 382], + [159, 376] + ]), P5 = ( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins + (Za = String.fromCodePoint) !== null && Za !== void 0 ? Za : function(t7) { + let e7 = ""; + return t7 > 65535 && (t7 -= 65536, e7 += String.fromCharCode(t7 >>> 10 & 1023 | 55296), t7 = 56320 | t7 & 1023), e7 += String.fromCharCode(t7), e7; + } + ); + function I5(t7) { + var e7; + return t7 >= 55296 && t7 <= 57343 || t7 > 1114111 ? 65533 : (e7 = _5.get(t7)) !== null && e7 !== void 0 ? e7 : t7; + } + var Me; + (function(t7) { + t7[t7.NUM = 35] = "NUM", t7[t7.SEMI = 59] = "SEMI", t7[t7.EQUALS = 61] = "EQUALS", t7[t7.ZERO = 48] = "ZERO", t7[t7.NINE = 57] = "NINE", t7[t7.LOWER_A = 97] = "LOWER_A", t7[t7.LOWER_F = 102] = "LOWER_F", t7[t7.LOWER_X = 120] = "LOWER_X", t7[t7.LOWER_Z = 122] = "LOWER_Z", t7[t7.UPPER_A = 65] = "UPPER_A", t7[t7.UPPER_F = 70] = "UPPER_F", t7[t7.UPPER_Z = 90] = "UPPER_Z"; + })(Me || (Me = {})); + const B5 = 32; + var An; + (function(t7) { + t7[t7.VALUE_LENGTH = 49152] = "VALUE_LENGTH", t7[t7.BRANCH_LENGTH = 16256] = "BRANCH_LENGTH", t7[t7.JUMP_TABLE = 127] = "JUMP_TABLE"; + })(An || (An = {})); + function Jl(t7) { + return t7 >= Me.ZERO && t7 <= Me.NINE; + } + function F5(t7) { + return t7 >= Me.UPPER_A && t7 <= Me.UPPER_F || t7 >= Me.LOWER_A && t7 <= Me.LOWER_F; + } + function z5(t7) { + return t7 >= Me.UPPER_A && t7 <= Me.UPPER_Z || t7 >= Me.LOWER_A && t7 <= Me.LOWER_Z || Jl(t7); + } + function $5(t7) { + return t7 === Me.EQUALS || z5(t7); + } + var Te; + (function(t7) { + t7[t7.EntityStart = 0] = "EntityStart", t7[t7.NumericStart = 1] = "NumericStart", t7[t7.NumericDecimal = 2] = "NumericDecimal", t7[t7.NumericHex = 3] = "NumericHex", t7[t7.NamedEntity = 4] = "NamedEntity"; + })(Te || (Te = {})); + var bn; + (function(t7) { + t7[t7.Legacy = 0] = "Legacy", t7[t7.Strict = 1] = "Strict", t7[t7.Attribute = 2] = "Attribute"; + })(bn || (bn = {})); + class j5 { + constructor(e7, n, r) { + this.decodeTree = e7, this.emitCodePoint = n, this.errors = r, this.state = Te.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = bn.Strict; + } + /** Resets the instance to make it reusable. */ + startEntity(e7) { + this.decodeMode = e7, this.state = Te.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1; + } + /** + * Write an entity to the decoder. This can be called multiple times with partial entities. + * If the entity is incomplete, the decoder will return -1. + * + * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the + * entity is incomplete, and resume when the next string is written. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + write(e7, n) { + switch (this.state) { + case Te.EntityStart: + return e7.charCodeAt(n) === Me.NUM ? (this.state = Te.NumericStart, this.consumed += 1, this.stateNumericStart(e7, n + 1)) : (this.state = Te.NamedEntity, this.stateNamedEntity(e7, n)); + case Te.NumericStart: + return this.stateNumericStart(e7, n); + case Te.NumericDecimal: + return this.stateNumericDecimal(e7, n); + case Te.NumericHex: + return this.stateNumericHex(e7, n); + case Te.NamedEntity: + return this.stateNamedEntity(e7, n); + } + } + /** + * Switches between the numeric decimal and hexadecimal states. + * + * Equivalent to the `Numeric character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericStart(e7, n) { + return n >= e7.length ? -1 : (e7.charCodeAt(n) | B5) === Me.LOWER_X ? (this.state = Te.NumericHex, this.consumed += 1, this.stateNumericHex(e7, n + 1)) : (this.state = Te.NumericDecimal, this.stateNumericDecimal(e7, n)); + } + addToNumericResult(e7, n, r, i7) { + if (n !== r) { + const o = r - n; + this.result = this.result * Math.pow(i7, o) + Number.parseInt(e7.substr(n, o), i7), this.consumed += o; + } + } + /** + * Parses a hexadecimal numeric entity. + * + * Equivalent to the `Hexademical character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericHex(e7, n) { + const r = n; + for (; n < e7.length; ) { + const i7 = e7.charCodeAt(n); + if (Jl(i7) || F5(i7)) + n += 1; + else + return this.addToNumericResult(e7, r, n, 16), this.emitNumericEntity(i7, 3); + } + return this.addToNumericResult(e7, r, n, 16), -1; + } + /** + * Parses a decimal numeric entity. + * + * Equivalent to the `Decimal character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNumericDecimal(e7, n) { + const r = n; + for (; n < e7.length; ) { + const i7 = e7.charCodeAt(n); + if (Jl(i7)) + n += 1; + else + return this.addToNumericResult(e7, r, n, 10), this.emitNumericEntity(i7, 2); + } + return this.addToNumericResult(e7, r, n, 10), -1; + } + /** + * Validate and emit a numeric entity. + * + * Implements the logic from the `Hexademical character reference start + * state` and `Numeric character reference end state` in the HTML spec. + * + * @param lastCp The last code point of the entity. Used to see if the + * entity was terminated with a semicolon. + * @param expectedLength The minimum number of characters that should be + * consumed. Used to validate that at least one digit + * was consumed. + * @returns The number of characters that were consumed. + */ + emitNumericEntity(e7, n) { + var r; + if (this.consumed <= n) + return (r = this.errors) === null || r === void 0 || r.absenceOfDigitsInNumericCharacterReference(this.consumed), 0; + if (e7 === Me.SEMI) + this.consumed += 1; + else if (this.decodeMode === bn.Strict) + return 0; + return this.emitCodePoint(I5(this.result), this.consumed), this.errors && (e7 !== Me.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed; + } + /** + * Parses a named entity. + * + * Equivalent to the `Named character reference state` in the HTML spec. + * + * @param input The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + stateNamedEntity(e7, n) { + const { decodeTree: r } = this; + let i7 = r[this.treeIndex], o = (i7 & An.VALUE_LENGTH) >> 14; + for (; n < e7.length; n++, this.excess++) { + const s = e7.charCodeAt(n); + if (this.treeIndex = W5(r, i7, this.treeIndex + Math.max(1, o), s), this.treeIndex < 0) + return this.result === 0 || // If we are parsing an attribute + this.decodeMode === bn.Attribute && // We shouldn't have consumed any characters after the entity, + (o === 0 || // And there should be no invalid characters. + $5(s)) ? 0 : this.emitNotTerminatedNamedEntity(); + if (i7 = r[this.treeIndex], o = (i7 & An.VALUE_LENGTH) >> 14, o !== 0) { + if (s === Me.SEMI) + return this.emitNamedEntityData(this.treeIndex, o, this.consumed + this.excess); + this.decodeMode !== bn.Strict && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0); + } + } + return -1; + } + /** + * Emit a named entity that was not terminated with a semicolon. + * + * @returns The number of characters consumed. + */ + emitNotTerminatedNamedEntity() { + var e7; + const { result: n, decodeTree: r } = this, i7 = (r[n] & An.VALUE_LENGTH) >> 14; + return this.emitNamedEntityData(n, i7, this.consumed), (e7 = this.errors) === null || e7 === void 0 || e7.missingSemicolonAfterCharacterReference(), this.consumed; + } + /** + * Emit a named entity. + * + * @param result The index of the entity in the decode tree. + * @param valueLength The number of bytes in the entity. + * @param consumed The number of characters consumed. + * + * @returns The number of characters consumed. + */ + emitNamedEntityData(e7, n, r) { + const { decodeTree: i7 } = this; + return this.emitCodePoint(n === 1 ? i7[e7] & ~An.VALUE_LENGTH : i7[e7 + 1], r), n === 3 && this.emitCodePoint(i7[e7 + 2], r), r; + } + /** + * Signal to the parser that the end of the input was reached. + * + * Remaining data will be emitted and relevant errors will be produced. + * + * @returns The number of characters consumed. + */ + end() { + var e7; + switch (this.state) { + case Te.NamedEntity: + return this.result !== 0 && (this.decodeMode !== bn.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0; + // Otherwise, emit a numeric entity if we have one. + case Te.NumericDecimal: + return this.emitNumericEntity(0, 2); + case Te.NumericHex: + return this.emitNumericEntity(0, 3); + case Te.NumericStart: + return (e7 = this.errors) === null || e7 === void 0 || e7.absenceOfDigitsInNumericCharacterReference(this.consumed), 0; + case Te.EntityStart: + return 0; + } + } + } + function A1(t7) { + let e7 = ""; + const n = new j5(t7, (r) => e7 += P5(r)); + return function(i7, o) { + let s = 0, a = 0; + for (; (a = i7.indexOf("&", a)) >= 0; ) { + e7 += i7.slice(s, a), n.startEntity(o); + const u = n.write( + i7, + // Skip the "&" + a + 1 + ); + if (u < 0) { + s = a + n.end(); + break; + } + s = a + u, a = u === 0 ? s + 1 : s; + } + const l = e7 + i7.slice(s); + return e7 = "", l; + }; + } + function W5(t7, e7, n, r) { + const i7 = (e7 & An.BRANCH_LENGTH) >> 7, o = e7 & An.JUMP_TABLE; + if (i7 === 0) + return o !== 0 && r === o ? n : -1; + if (o) { + const l = r - o; + return l < 0 || l >= i7 ? -1 : t7[n + l] - 1; + } + let s = n, a = s + i7 - 1; + for (; s <= a; ) { + const l = s + a >>> 1, u = t7[l]; + if (u < r) + s = l + 1; + else if (u > r) + a = l - 1; + else + return t7[l + i7]; + } + return -1; + } + const q5 = A1(R5); + A1(D5); + function U5(t7, e7 = bn.Legacy) { + return q5(t7, e7); + } + var be; + (function(t7) { + t7.Attribute = "attribute", t7.Pseudo = "pseudo", t7.PseudoElement = "pseudo-element", t7.Tag = "tag", t7.Universal = "universal", t7.Adjacent = "adjacent", t7.Child = "child", t7.Descendant = "descendant", t7.Parent = "parent", t7.Sibling = "sibling", t7.ColumnCombinator = "column-combinator"; + })(be || (be = {})); + var ft; + (function(t7) { + t7.Any = "any", t7.Element = "element", t7.End = "end", t7.Equals = "equals", t7.Exists = "exists", t7.Hyphen = "hyphen", t7.Not = "not", t7.Start = "start"; + })(ft || (ft = {})); + const Nf = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/, K5 = /\\([\da-f]{1,6}\s?|(\s)|.)/gi, G5 = /* @__PURE__ */ new Map([ + [126, ft.Element], + [94, ft.Start], + [36, ft.End], + [42, ft.Any], + [33, ft.Not], + [124, ft.Hyphen] + ]), J5 = /* @__PURE__ */ new Set([ + "has", + "not", + "matches", + "is", + "where", + "host", + "host-context" + ]); + function Z5(t7) { + switch (t7.type) { + case be.Adjacent: + case be.Child: + case be.Descendant: + case be.Parent: + case be.Sibling: + case be.ColumnCombinator: + return true; + default: + return false; + } + } + const X5 = /* @__PURE__ */ new Set(["contains", "icontains"]); + function Y5(t7, e7, n) { + const r = parseInt(e7, 16) - 65536; + return r !== r || n ? e7 : r < 0 ? ( + // BMP codepoint + String.fromCharCode(r + 65536) + ) : ( + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode(r >> 10 | 55296, r & 1023 | 56320) + ); + } + function ai(t7) { + return t7.replace(K5, Y5); + } + function Xa(t7) { + return t7 === 39 || t7 === 34; + } + function Hf(t7) { + return t7 === 32 || t7 === 9 || t7 === 10 || t7 === 12 || t7 === 13; + } + function Q5(t7) { + const e7 = [], n = C1(e7, `${t7}`, 0); + if (n < t7.length) + throw new Error(`Unmatched selector: ${t7.slice(n)}`); + return e7; + } + function C1(t7, e7, n) { + let r = []; + function i7(f) { + const p = e7.slice(n + f).match(Nf); + if (!p) + throw new Error(`Expected name, found ${e7.slice(n)}`); + const [h] = p; + return n += f + h.length, ai(h); + } + function o(f) { + for (n += f; n < e7.length && Hf(e7.charCodeAt(n)); ) + n++; + } + function s() { + n += 1; + const f = n; + let p = 1; + for (; p > 0 && n < e7.length; n++) + e7.charCodeAt(n) === 40 && !a(n) ? p++ : e7.charCodeAt(n) === 41 && !a(n) && p--; + if (p) + throw new Error("Parenthesis not matched"); + return ai(e7.slice(f, n - 1)); + } + function a(f) { + let p = 0; + for (; e7.charCodeAt(--f) === 92; ) + p++; + return (p & 1) === 1; + } + function l() { + if (r.length > 0 && Z5(r[r.length - 1])) + throw new Error("Did not expect successive traversals."); + } + function u(f) { + if (r.length > 0 && r[r.length - 1].type === be.Descendant) { + r[r.length - 1].type = f; + return; + } + l(), r.push({ type: f }); + } + function c(f, p) { + r.push({ + type: be.Attribute, + name: f, + action: p, + value: i7(1), + namespace: null, + ignoreCase: "quirks" + }); + } + function d() { + if (r.length && r[r.length - 1].type === be.Descendant && r.pop(), r.length === 0) + throw new Error("Empty sub-selector"); + t7.push(r); + } + if (o(0), e7.length === n) + return n; + e: for (; n < e7.length; ) { + const f = e7.charCodeAt(n); + switch (f) { + // Whitespace + case 32: + case 9: + case 10: + case 12: + case 13: { + (r.length === 0 || r[0].type !== be.Descendant) && (l(), r.push({ type: be.Descendant })), o(1); + break; + } + // Traversals + case 62: { + u(be.Child), o(1); + break; + } + case 60: { + u(be.Parent), o(1); + break; + } + case 126: { + u(be.Sibling), o(1); + break; + } + case 43: { + u(be.Adjacent), o(1); + break; + } + // Special attribute selectors: .class, #id + case 46: { + c("class", ft.Element); + break; + } + case 35: { + c("id", ft.Equals); + break; + } + case 91: { + o(1); + let p, h = null; + e7.charCodeAt(n) === 124 ? p = i7(1) : e7.startsWith("*|", n) ? (h = "*", p = i7(2)) : (p = i7(0), e7.charCodeAt(n) === 124 && e7.charCodeAt(n + 1) !== 61 && (h = p, p = i7(1))), o(0); + let m7 = ft.Exists; + const g = G5.get(e7.charCodeAt(n)); + if (g) { + if (m7 = g, e7.charCodeAt(n + 1) !== 61) + throw new Error("Expected `=`"); + o(2); + } else e7.charCodeAt(n) === 61 && (m7 = ft.Equals, o(1)); + let b = "", x = null; + if (m7 !== "exists") { + if (Xa(e7.charCodeAt(n))) { + const k7 = e7.charCodeAt(n); + let v = n + 1; + for (; v < e7.length && (e7.charCodeAt(v) !== k7 || a(v)); ) + v += 1; + if (e7.charCodeAt(v) !== k7) + throw new Error("Attribute value didn't end"); + b = ai(e7.slice(n + 1, v)), n = v + 1; + } else { + const k7 = n; + for (; n < e7.length && (!Hf(e7.charCodeAt(n)) && e7.charCodeAt(n) !== 93 || a(n)); ) + n += 1; + b = ai(e7.slice(k7, n)); + } + o(0); + const y = e7.charCodeAt(n) | 32; + y === 115 ? (x = false, o(1)) : y === 105 && (x = true, o(1)); + } + if (e7.charCodeAt(n) !== 93) + throw new Error("Attribute selector didn't terminate"); + n += 1; + const w = { + type: be.Attribute, + name: p, + action: m7, + value: b, + namespace: h, + ignoreCase: x + }; + r.push(w); + break; + } + case 58: { + if (e7.charCodeAt(n + 1) === 58) { + r.push({ + type: be.PseudoElement, + name: i7(2).toLowerCase(), + data: e7.charCodeAt(n) === 40 ? s() : null + }); + continue; + } + const p = i7(1).toLowerCase(); + let h = null; + if (e7.charCodeAt(n) === 40) + if (J5.has(p)) { + if (Xa(e7.charCodeAt(n + 1))) + throw new Error(`Pseudo-selector ${p} cannot be quoted`); + if (h = [], n = C1(h, e7, n + 1), e7.charCodeAt(n) !== 41) + throw new Error(`Missing closing parenthesis in :${p} (${e7})`); + n += 1; + } else { + if (h = s(), X5.has(p)) { + const m7 = h.charCodeAt(0); + m7 === h.charCodeAt(h.length - 1) && Xa(m7) && (h = h.slice(1, -1)); + } + h = ai(h); + } + r.push({ type: be.Pseudo, name: p, data: h }); + break; + } + case 44: { + d(), r = [], o(1); + break; + } + default: { + if (e7.startsWith("/*", n)) { + const m7 = e7.indexOf("*/", n + 2); + if (m7 < 0) + throw new Error("Comment was not terminated"); + n = m7 + 2, r.length === 0 && o(0); + break; + } + let p = null, h; + if (f === 42) + n += 1, h = "*"; + else if (f === 124) { + if (h = "", e7.charCodeAt(n + 1) === 124) { + u(be.ColumnCombinator), o(2); + break; + } + } else if (Nf.test(e7.slice(n))) + h = i7(0); + else + break e; + e7.charCodeAt(n) === 124 && e7.charCodeAt(n + 1) !== 124 && (p = h, e7.charCodeAt(n + 1) === 42 ? (h = "*", n += 2) : h = i7(1)), r.push(h === "*" ? { type: be.Universal, namespace: p } : { type: be.Tag, name: h, namespace: p }); + } + } + } + return d(), n; + } + function Zl(t7) { + return t7.replace(/&/g, "&").replace(//g, ">").replace(/'/g, "'").replace(/"/g, """).replace(/\xA0/g, " ").replace(/\xAD/g, "­"); + } + var Vf = (t7) => U5(t7); + function ek(t7, e7, n, r) { + if (typeof e7 == "function") + return e7({ + props: { ...n, children: r }, + attrs: n, + children: r, + h: t7.h, + context: t7 + }); + { + let i7 = true, o; + if (e7 ? e7.toLowerCase() === "fragment" ? (o = t7.document.createDocumentFragment(), i7 = false) : o = t7.document.createElement(e7) : o = t7.document.createElement("div"), n && i7) { + const s = o; + for (let [a, l] of Object.entries(n)) { + a = a.toString(); + const u = a.toLowerCase(); + u === "classname" ? s.className = l : u === "on" ? Object.entries(l).forEach(([c, d]) => { + s.setAttribute(`on${c}`, String(d)); + }) : l !== false && l != null && (l === true ? s.setAttribute(a, a) : s.setAttribute(a, l.toString())); + } + } + if (r) + for (const s of r) { + const a = Array.isArray(s) ? [...s] : [s]; + for (const l of a) + l && l !== false && l != null && (typeof l != "object" ? o.appendChild( + t7.document.createTextNode(l.toString()) + ) : o.appendChild(l)); + } + return o; + } + } + function S1(t7, e7, ...n) { + return typeof t7 == "object" && (t7 = "fragment", n = t7.children, e7 = t7.attrs), Array.isArray(e7) ? (n = [e7], e7 = {}) : e7 ? e7.attrs && (e7 = { ...e7.attrs, ...e7 }, delete e7.attrs) : e7 = {}, { + tag: t7, + attrs: e7, + children: typeof n[0] == "string" ? n : n.flat(Number.POSITIVE_INFINITY) + }; + } + function tk(t7) { + return t7.h = function(n, r, ...i7) { + const { tag: o, attrs: s, children: a } = S1(n, r, i7); + return ek(t7, o, s, a); + }, t7.h; + } + var Rf = {}; + function nk(t7) { + let e7 = Rf[t7]; + return e7 == null && (e7 = Q5(t7), Rf[t7] = e7), e7; + } + function rk(t7, e7, { debug: n = false } = {}) { + for (const r of nk(t7)) { + const i7 = (o, s) => { + let a = false; + for (const l of s) { + const { type: u, name: c, action: d, value: f, _ignoreCase: p = true, data: h } = l; + if (u === "attribute") + d === "equals" ? a = o.getAttribute(c) === f : d === "start" ? a = !!o.getAttribute(c)?.startsWith(f) : d === "end" ? a = !!o.getAttribute(c)?.endsWith(f) : d === "element" ? c === "class" ? a = o.classList.contains(f) : a = !!o.getAttribute(c)?.includes(f) : d === "exists" ? a = o.hasAttribute(c) : d === "any" ? a = !!o.getAttribute(c)?.includes(f) : console.warn("Unknown CSS selector action", d); + else if (u === "tag") + a = o.tagName === c.toUpperCase(); + else if (u === "universal") + a = true; + else if (u === "pseudo") { + if (c === "not") { + let m7 = true; + h.forEach((g) => { + i7(o, g) || (m7 = false); + }), a = !m7; + } + } else + console.warn("Unknown CSS selector type", u, t7, s); + if (!a) + break; + } + return a; + }; + if (i7(e7, r)) + return true; + } + return false; + } + var ik = Symbol.for("nodejs.util.inspect.custom"), Df = { fontWeight: "bold" }, _f = { fontStyle: "italic" }, Pf = { backgroundColor: "rgb(255, 250, 165)" }, If = { textDecorations: "underline" }, Ya = { textDecorations: "line-through" }, ok = { + b: Df, + strong: Df, + em: _f, + i: _f, + mark: Pf, + u: If, + a: If, + s: Ya, + del: Ya, + ins: Pf, + strike: Ya + // 'code': C, + // 'tt': C + }; + function Bf(t7) { + return t7.toLowerCase().replace(/[^a-z0-9]+(.)/gi, (e7, n) => n.toUpperCase()); + } + var an = class Uo { + constructor() { + this.append = this.appendChild, this._parentNode = null, this._childNodes = []; + } + get nodeType() { + return console.error("Subclasses should define nodeType!"), 0; + } + get nodeName() { + return console.error("Subclasses should define nodeName!"), ""; + } + get nodeValue() { + return null; + } + cloneNode(e7 = false) { + const n = new this.constructor(); + return e7 && (n._childNodes = this._childNodes.map((r) => r.cloneNode(true)), n._fixChildNodesParent()), n; + } + _fixChildNodesParent() { + this._childNodes.forEach((e7) => e7._parentNode = this); + } + insertBefore(e7, n) { + if (e7 !== n) { + let r = n ? this._childNodes.indexOf(n) : 0; + r < 0 && (r = 0), this._childNodes.splice(r, 0, e7), this._fixChildNodesParent(); + } + } + appendChild(e7) { + if (e7 != null) { + if (e7 === this) { + console.warn("Cannot appendChild to self"); + return; + } + if (e7 instanceof sc && console.warn("No defined how to append a document to a node!", e7), e7 instanceof oc) + for (const n of [...e7._childNodes]) + this.appendChild(n); + else if (Array.isArray(e7)) + for (const n of [...e7]) + this.appendChild(n); + else if (e7 instanceof Uo) + e7.remove(), this._childNodes.push(e7); + else + try { + const n = typeof e7 == "string" ? e7 : JSON.stringify(e7, null, 2); + this._childNodes.push(new Mr(n)); + } catch (n) { + console.error(`The data ${e7} to be added to ${this.render()} is problematic: ${n}`); + } + this._fixChildNodesParent(); + } + } + removeChild(e7) { + const n = this._childNodes.indexOf(e7); + n >= 0 && (e7._parentNode = null, this._childNodes.splice(n, 1), this._fixChildNodesParent()); + } + /** Remove node */ + remove() { + return this?.parentNode?.removeChild(this), this; + } + /** Replace content of node with text or nodes */ + replaceChildren(...e7) { + this._childNodes = e7.map( + (n) => typeof n == "string" ? new Mr(n) : n.remove() + ), this._fixChildNodesParent(); + } + /** Replace node itself with nodes */ + replaceWith(...e7) { + const n = this._parentNode; + if (n) { + const r = this._indexInParent(); + r >= 0 && (e7 = e7.map( + (i7) => typeof i7 == "string" ? new Mr(i7) : i7.remove() + ), n._childNodes.splice(r, 1, ...e7), this._parentNode = null, n._fixChildNodesParent()); + } + } + _indexInParent() { + return this._parentNode ? this._parentNode.childNodes.indexOf(this) : -1; + } + get parentNode() { + return this._parentNode; + } + get childNodes() { + return this._childNodes || []; + } + get children() { + return this._childNodes || []; + } + get firstChild() { + return this._childNodes[0]; + } + get lastChild() { + return this._childNodes[this._childNodes.length - 1]; + } + get nextSibling() { + const e7 = this._indexInParent(); + return e7 != null && this.parentNode.childNodes[e7 + 1] || null; + } + get previousSibling() { + const e7 = this._indexInParent(); + return e7 > 0 && this.parentNode.childNodes[e7 - 1] || null; + } + flatten() { + const e7 = []; + this instanceof xt && e7.push(this); + for (const n of this._childNodes) + e7.push(...n.flatten()); + return e7; + } + flattenNodes() { + const e7 = []; + e7.push(this); + for (const n of this._childNodes) + e7.push(...n.flattenNodes()); + return e7; + } + render() { + return ""; + } + get textContent() { + return this._childNodes.map((e7) => e7.textContent).join(""); + } + set textContent(e7) { + this._childNodes = [], e7 && this.appendChild(new Mr(e7.toString())); + } + contains(e7) { + return e7 === this ? true : this._childNodes.some((n) => n.contains(e7)); + } + get ownerDocument() { + return this.nodeType === Uo.DOCUMENT_NODE || this.nodeType === Uo.DOCUMENT_FRAGMENT_NODE ? this : this?._parentNode?.ownerDocument; + } + toString() { + return `${this.nodeName}`; + } + [ik]() { + return `${this.constructor.name} "${this.render()}"`; + } + }; + an.ELEMENT_NODE = 1; + an.TEXT_NODE = 3; + an.CDATA_SECTION_NODE = 4; + an.PROCESSING_INSTRUCTION_NODE = 7; + an.COMMENT_NODE = 8; + an.DOCUMENT_NODE = 9; + an.DOCUMENT_TYPE_NODE = 10; + an.DOCUMENT_FRAGMENT_NODE = 11; + var Ln = an, Mr = class extends Ln { + get nodeType() { + return Ln.TEXT_NODE; + } + get nodeName() { + return "#text"; + } + get nodeValue() { + return this._text || ""; + } + get textContent() { + return this.nodeValue; + } + constructor(t7 = "") { + super(), this._text = t7; + } + render() { + const t7 = this.parentNode?.tagName; + return t7 === "SCRIPT" || t7 === "STYLE" ? this._text : Zl(this._text); + } + cloneNode(t7 = false) { + const e7 = super.cloneNode(t7); + return e7._text = this._text, e7; + } + }, T1 = class extends Ln { + getElementById(t7) { + return this.flatten().find((e7) => e7._attributes.id === t7); + } + getElementsByClassName(t7) { + return this.flatten().filter((e7) => e7.classList.contains(t7)); + } + matches(t7) { + return rk(t7, this); + } + querySelectorAll(t7) { + return this.flatten().filter((e7) => e7.matches(t7)); + } + querySelector(t7) { + return this.flatten().find((e7) => e7.matches(t7)); + } + // + parent(t7) { + return this.matches(t7) ? this : this.parentNode == null ? null : this.parentNode?.parent(t7); + } + handle(t7, e7) { + let n = 0; + for (const r of this.querySelectorAll(t7)) + e7(r, n++); + } + }, xt = class extends T1 { + get nodeType() { + return Ln.ELEMENT_NODE; + } + get nodeName() { + return this._nodeName; + } + constructor(t7 = "div", e7 = {}) { + super(), this._originalTagName = t7, this._nodeName = (t7 || "").toUpperCase(), this._attributes = e7 || {}; + } + cloneNode(t7 = false) { + const e7 = super.cloneNode(t7); + return e7._originalTagName = this._originalTagName, e7._nodeName = this._nodeName, e7._attributes = Object.assign({}, this._attributes), e7; + } + get attributes() { + return Object.entries(this._attributes).map(([t7, e7]) => ({ name: t7, value: e7 })); + } + get attributesObject() { + return { ...this._attributes }; + } + _findAttributeName(t7) { + const e7 = t7.toLowerCase(); + return Object.keys(this._attributes).find( + (n) => e7 === n.toLowerCase() + ) || null; + } + setAttribute(t7, e7) { + this.removeAttribute(t7), this._attributes[t7] = e7, this._styles = void 0, this._dataset = void 0; + } + getAttribute(t7) { + const e7 = this._findAttributeName(t7), n = e7 ? this._attributes[e7] : null; + return n == null ? null : typeof n == "string" ? n : ""; + } + removeAttribute(t7) { + this._findAttributeName(String(t7)) && delete this._attributes[t7]; + } + hasAttribute(t7) { + const e7 = this._findAttributeName(t7); + return e7 ? this._attributes[e7] != null : false; + } + /// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style + get style() { + if (this._styles == null) { + const t7 = {}; + let e7 = 0; + const n = this.getAttribute("style"); + if (n) { + let r; + const i7 = /\s*([\w-]+)\s*:\s*((url\(.*?\)[^;]*|[^;]+))/gi; + for (; r = i7.exec(n); ) { + ++e7; + const o = r[1], s = r[2].trim(); + t7[o] = s, t7[Bf(o)] = s; + } + } + this._styles = { + get length() { + return e7; + }, + getPropertyValue(r) { + return t7[r]; + }, + ...ok[this.tagName.toLowerCase()], + ...t7 + }; + } + return this._styles; + } + /// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset + get dataset() { + if (this._dataset == null) { + const t7 = {}; + for (const [e7, n] of Object.entries(this._attributes)) + e7.startsWith("data-") && (t7[e7.slice(5)] = n, t7[Bf(e7.slice(5))] = n); + this._dataset = t7; + } + return this._dataset; + } + get tagName() { + return this._nodeName; + } + /** Private function to easily change the tagName */ + setTagName(t7) { + this._nodeName = t7.toUpperCase(); + } + get id() { + return this._attributes.id || null; + } + set id(t7) { + t7 == null ? delete this._attributes.id : this._attributes.id = t7; + } + get src() { + return this._attributes.src; + } + set src(t7) { + t7 == null ? delete this._attributes.src : this._attributes.src = t7; + } + // + getElementsByTagName(t7) { + t7 = t7.toUpperCase(); + const e7 = this.flatten(); + return t7 !== "*" ? e7.filter((n) => n.tagName === t7) : e7; + } + // html + setInnerHTML(t7) { + } + get innerHTML() { + return this._childNodes.map((t7) => t7.render(ya)).join(""); + } + set innerHTML(t7) { + this.setInnerHTML(t7); + } + get outerHTML() { + return this.render(ms); + } + // class + get className() { + return this._attributes.class || ""; + } + set className(t7) { + Array.isArray(t7) ? t7 = t7.filter((e7) => !!e7).join(" ") : typeof t7 == "object" && (t7 = Object.entries(t7).filter(([e7, n]) => !!n).map(([e7, n]) => e7).join(" ")), this._attributes.class = t7; + } + get classList() { + const t7 = String(this.className ?? "").trim().split(/\s+/g) || []; + return { + contains(e7) { + return t7.includes(e7); + }, + add: (e7) => { + t7.includes(e7) || (t7.push(e7), this.className = t7); + }, + remove: (e7) => { + const n = t7.indexOf(e7); + n >= 0 && (t7.splice(n, 1), this.className = t7); + } + }; + } + // + render(t7 = ms) { + return t7( + this._originalTagName || this.tagName, + this._attributes, + this._childNodes.map((e7) => e7.render(t7)).join("") + // children:string is not escaped again + ); + } + }, E1 = class M1 extends Ln { + get nodeName() { + return super.nodeName; + } + get nodeValue() { + return super.nodeValue; + } + get nodeType() { + return M1.DOCUMENT_TYPE_NODE; + } + render() { + return ""; + } + }, oc = class O1 extends T1 { + get nodeType() { + return Ln.DOCUMENT_FRAGMENT_NODE; + } + get nodeName() { + return "#document-fragment"; + } + render(e7 = ms) { + return this._childNodes.map((n) => n.render(e7) || []).join(""); + } + get innerHTML() { + return this._childNodes.map((e7) => e7.render(ya)).join(""); + } + createElement(e7, n = {}) { + return new xt(e7, n); + } + createDocumentFragment() { + return new O1(); + } + createTextNode(e7) { + return new Mr(e7); + } + }, sc = class extends oc { + get nodeType() { + return Ln.DOCUMENT_NODE; + } + get nodeName() { + return "#document"; + } + get documentElement() { + return this.firstChild; + } + render(t7 = ms) { + let e7 = super.render(t7); + return this.docType && (e7 = this.docType.render() + e7), e7; + } + }, L1 = class extends sc { + constructor(t7 = false) { + if (super(), this.docType = new E1(), !t7) { + const e7 = new xt("html"), n = new xt("body"), r = new xt("head"), i7 = new xt("title"); + e7.appendChild(r), r.appendChild(i7), e7.appendChild(n), this.appendChild(e7); + } + } + get body() { + let t7 = this.querySelector("body"); + if (!t7) { + let e7 = this.querySelector("html"); + e7 || (e7 = new xt("html"), this.appendChild(e7)), t7 = new xt("body"), e7.appendChild(e7); + } + return t7; + } + get title() { + return this.querySelector("title")?.textContent || ""; + } + set title(t7) { + const e7 = this.querySelector("title"); + e7 && (e7.textContent = t7); + } + get head() { + let t7 = this.querySelector("head"); + if (!t7) { + let e7 = this.querySelector("html"); + e7 || (e7 = new xt("html"), this.appendChild(e7)), t7 = new xt("head"), e7.insertBefore(e7); + } + return t7; + } + }; + function sk() { + return new sc(); + } + function ak() { + return new L1(); + } + var N1 = sk(); + tk({ document: N1 }); + var lk = {}, uk = lk.hasOwnProperty; + function H1(t7, e7) { + return uk.call(t7, e7); + } + var V1 = [ + "area", + "base", + "br", + "col", + "embed", + "hr", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", + "command" + ]; + function R1(t7, e7, n = {}, r) { + const i7 = !(typeof r == "string" && r === "" || Array.isArray(r) && (r.length === 0 || r.length === 1 && r[0] === "") || r == null), o = []; + if (e7 = e7.replace(/__/g, ":"), e7 !== "noop" && e7 !== "") { + e7 !== "cdata" ? o.push(`<${e7}`) : o.push(" a[l] != null).map((l) => { + let u = a[l]; + return u = typeof u == "number" ? `${u}px` : u, `${l.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}:${u}`; + }).join(";")}"` + ) : a !== false && a != null && o.push(` ${s}="${Zl(a.toString())}"`); + } + if (e7 !== "cdata") { + if (t7 && !i7) + return o.push(" />"), o.join(""); + o.push(">"); + } + if (!t7 && V1.includes(e7)) + return o.join(""); + } + if (i7) { + if (typeof r == "string") + o.push(r); + else if (r && r.length > 0) { + for (let s of r) + if (s != null && s !== false) { + Array.isArray(s) || (s = [s]); + for (const a of s) + a.startsWith("<") && a.endsWith(">") || e7 === "script" || e7 === "style" ? o.push(a) : o.push(Zl(a.toString())); + } + } + } + return n.html && o.push(n.html), e7 !== "noop" && e7 !== "" && (e7 !== "cdata" ? o.push(``) : o.push("]]>")), o.join(""); + } + function ya(t7, e7, ...n) { + const { tag: r, attrs: i7, children: o } = S1(t7, e7, n); + return R1(false, r, i7, o); + } + var ms = R1.bind(null, false); + ya.firstLine = ""; + ya.html = true; + var ck = /([^=\s]+)(\s*=\s*(("([^"]*)")|('([^']*)')|[^>\s]+))?/g, dk = /^<\/([^>\s]+)[^>]*>/m, fk = /^<([^>\s/]+)((\s+[^=>\s]+(\s*=\s*(("[^"]*")|('[^']*')|[^>\s]+))?)*)\s*(?:\/\s*)?>/m, pk = /\s*\/\s*>\s*$/m, hk = class { + constructor(t7 = {}) { + this.attrRe = ck, this.endTagRe = dk, this.startTagRe = fk, this.defaults = { ignoreWhitespaceText: false }, t7.scanner && (this.scanner = t7.scanner), this.options = Object.assign({}, this.defaults, t7); + } + parse(t7) { + let e7 = false, n, r, i7; + for (; t7.length; ) { + if (t7.substring(0, 4) === ""), n !== -1 ? (this.scanner.comment(t7.substring(4, n)), t7 = t7.substring(n + 3), e7 = false) : e7 = true; + else if (t7.substring(0, 2) === " { + const [i7, o, s, a, l, u, c, d] = r; + n[o] = d ?? u ?? a ?? true; + }), n; + } + }; + function mk(t7) { + if (typeof t7 != "string") + throw console.error("parseHTML requires string, found", t7), new Error("parseHTML requires string"); + const e7 = t7.indexOf("/g, p = /"/g, h = /"/g, m7 = /&#([a-zA-Z0-9]*);?/gim, g = /:?/gim, b = /&newline;?/gim, x = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi, w = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi, y = /u\s*r\s*l\s*\(.*/gi; + function k7(V) { + return V.replace(p, """); + } + function v(V) { + return V.replace(h, '"'); + } + function E(V) { + return V.replace(m7, function(D, J) { + return J[0] === "x" || J[0] === "X" ? String.fromCharCode(parseInt(J.substr(1), 16)) : String.fromCharCode(parseInt(J, 10)); + }); + } + function A(V) { + return V.replace(g, ":").replace(b, " "); + } + function H(V) { + for (var j = "", D = 0, J = V.length; D < J; D++) + j += V.charCodeAt(D) < 32 ? " " : V.charAt(D); + return n.trim(j); + } + function B(V) { + return V = v(V), V = E(V), V = A(V), V = H(V), V; + } + function P(V) { + return V = k7(V), V = u(V), V; + } + function W() { + return ""; + } + function K(V, j) { + typeof j != "function" && (j = function() { + }); + var D = !Array.isArray(V); + function J(pe) { + return D ? true : n.indexOf(V, pe) !== -1; + } + var ge = [], He = false; + return { + onIgnoreTag: function(pe, tt, Se) { + if (J(pe)) + if (Se.isClosing) { + var Ve = "[/removed]", wt = Se.position + Ve.length; + return ge.push([ + He !== false ? He : Se.position, + wt + ]), He = false, Ve; + } else + return He || (He = Se.position), "[removed]"; + else + return j(pe, tt, Se); + }, + remove: function(pe) { + var tt = "", Se = 0; + return n.forEach(ge, function(Ve) { + tt += pe.slice(Se, Ve[0]), Se = Ve[1]; + }), tt += pe.slice(Se), tt; + } + }; + } + function ae(V) { + for (var j = "", D = 0; D < V.length; ) { + var J = V.indexOf("", J); + if (ge === -1) + break; + D = ge + 3; + } + return j; + } + function oe(V) { + var j = V.split(""); + return j = j.filter(function(D) { + var J = D.charCodeAt(0); + return J === 127 ? false : J <= 31 ? J === 10 || J === 13 : true; + }), j.join(""); + } + return he.whiteList = r(), he.getDefaultWhiteList = r, he.onTag = o, he.onIgnoreTag = s, he.onTagAttr = a, he.onIgnoreTagAttr = l, he.safeAttrValue = c, he.escapeHtml = u, he.escapeQuote = k7, he.unescapeQuote = v, he.escapeHtmlEntities = E, he.escapeDangerHtml5Entities = A, he.clearNonPrintableCharacter = H, he.friendlyAttrValue = B, he.escapeAttrValue = P, he.onIgnoreTagStripAll = W, he.StripTagBody = K, he.stripCommentTag = ae, he.stripBlankChar = oe, he.attributeWrapSign = '"', he.cssFilter = i7, he.getDefaultCSSWhiteList = e7, he; + } + var Ho = {}, Kf; + function I1() { + if (Kf) return Ho; + Kf = 1; + var t7 = ac(); + function e7(d) { + var f = t7.spaceIndex(d), p; + return f === -1 ? p = d.slice(1, -1) : p = d.slice(1, f + 1), p = t7.trim(p).toLowerCase(), p.slice(0, 1) === "/" && (p = p.slice(1)), p.slice(-1) === "/" && (p = p.slice(0, -1)), p; + } + function n(d) { + return d.slice(0, 2) === "" || x === w - 1) { + h += p(d.slice(m7, g)), k7 = d.slice(g, x + 1), y = e7(k7), h += f( + g, + h.length, + y, + k7, + n(k7) + ), m7 = x + 1, g = false; + continue; + } + if (v === '"' || v === "'") + for (var E = 1, A = d.charAt(x - E); A.trim() === "" || A === "="; ) { + if (A === "=") { + b = v; + continue e; + } + A = d.charAt(x - ++E); + } + } else if (v === b) { + b = false; + continue; + } + } + return m7 < w && (h += p(d.substr(m7))), h; + } + var i7 = /[^a-zA-Z0-9\\_:.-]/gim; + function o(d, f) { + var p = 0, h = 0, m7 = [], g = false, b = d.length; + function x(E, A) { + if (E = t7.trim(E), E = E.replace(i7, "").toLowerCase(), !(E.length < 1)) { + var H = f(E, A || ""); + H && m7.push(H); + } + } + for (var w = 0; w < b; w++) { + var y = d.charAt(w), k7, v; + if (g === false && y === "=") { + g = d.slice(p, w), p = w + 1, h = d.charAt(p) === '"' || d.charAt(p) === "'" ? p : a(d, w + 1); + continue; + } + if (g !== false && w === h) { + if (v = d.indexOf(y, w + 1), v === -1) + break; + k7 = t7.trim(d.slice(h + 1, v)), x(g, k7), g = false, w = v, p = w + 1; + continue; + } + if (/\s|\n|\t/.test(y)) + if (d = d.replace(/\s|\n|\t/g, " "), g === false) + if (v = s(d, w), v === -1) { + k7 = t7.trim(d.slice(p, w)), x(k7), g = false, p = w + 1; + continue; + } else { + w = v - 1; + continue; + } + else if (v = l(d, w - 1), v === -1) { + k7 = t7.trim(d.slice(p, w)), k7 = c(k7), x(g, k7), g = false, p = w + 1; + continue; + } else + continue; + } + return p < d.length && (g === false ? x(d.slice(p)) : x(g, c(t7.trim(d.slice(p))))), t7.trim(m7.join(" ")); + } + function s(d, f) { + for (; f < d.length; f++) { + var p = d[f]; + if (p !== " ") + return p === "=" ? f : -1; + } + } + function a(d, f) { + for (; f < d.length; f++) { + var p = d[f]; + if (p !== " ") + return p === "'" || p === '"' ? f : -1; + } + } + function l(d, f) { + for (; f > 0; f--) { + var p = d[f]; + if (p !== " ") + return p === "=" ? f : -1; + } + } + function u(d) { + return d[0] === '"' && d[d.length - 1] === '"' || d[0] === "'" && d[d.length - 1] === "'"; + } + function c(d) { + return u(d) ? d.substr(1, d.length - 2) : d; + } + return Ho.parseTag = r, Ho.parseAttr = o, Ho; + } + var rl, Gf; + function xk() { + if (Gf) return rl; + Gf = 1; + var t7 = Xl().FilterCSS, e7 = P1(), n = I1(), r = n.parseTag, i7 = n.parseAttr, o = ac(); + function s(d) { + return d == null; + } + function a(d) { + var f = o.spaceIndex(d); + if (f === -1) + return { + html: "", + closing: d[d.length - 2] === "/" + }; + d = o.trim(d.slice(f + 1, -1)); + var p = d[d.length - 1] === "/"; + return p && (d = o.trim(d.slice(0, -1))), { + html: d, + closing: p + }; + } + function l(d) { + var f = {}; + for (var p in d) + f[p] = d[p]; + return f; + } + function u(d) { + var f = {}; + for (var p in d) + Array.isArray(d[p]) ? f[p.toLowerCase()] = d[p].map(function(h) { + return h.toLowerCase(); + }) : f[p.toLowerCase()] = d[p]; + return f; + } + function c(d) { + d = l(d || {}), d.stripIgnoreTag && (d.onIgnoreTag && console.error( + 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time' + ), d.onIgnoreTag = e7.onIgnoreTagStripAll), d.whiteList || d.allowList ? d.whiteList = u(d.whiteList || d.allowList) : d.whiteList = e7.whiteList, this.attributeWrapSign = d.singleQuotedAttributeValue === true ? "'" : e7.attributeWrapSign, d.onTag = d.onTag || e7.onTag, d.onTagAttr = d.onTagAttr || e7.onTagAttr, d.onIgnoreTag = d.onIgnoreTag || e7.onIgnoreTag, d.onIgnoreTagAttr = d.onIgnoreTagAttr || e7.onIgnoreTagAttr, d.safeAttrValue = d.safeAttrValue || e7.safeAttrValue, d.escapeHtml = d.escapeHtml || e7.escapeHtml, this.options = d, d.css === false ? this.cssFilter = false : (d.css = d.css || {}, this.cssFilter = new t7(d.css)); + } + return c.prototype.process = function(d) { + if (d = d || "", d = d.toString(), !d) return ""; + var f = this, p = f.options, h = p.whiteList, m7 = p.onTag, g = p.onIgnoreTag, b = p.onTagAttr, x = p.onIgnoreTagAttr, w = p.safeAttrValue, y = p.escapeHtml, k7 = f.attributeWrapSign, v = f.cssFilter; + p.stripBlankChar && (d = e7.stripBlankChar(d)), p.allowCommentTag || (d = e7.stripCommentTag(d)); + var E = false; + p.stripIgnoreTagBody && (E = e7.StripTagBody( + p.stripIgnoreTagBody, + g + ), g = E.onIgnoreTag); + var A = r( + d, + function(H, B, P, W, K) { + var ae = { + sourcePosition: H, + position: B, + isClosing: K, + isWhite: Object.prototype.hasOwnProperty.call(h, P) + }, oe = m7(P, W, ae); + if (!s(oe)) return oe; + if (ae.isWhite) { + if (ae.isClosing) + return ""; + var V = a(W), j = h[P], D = i7(V.html, function(J, ge) { + var He = o.indexOf(j, J) !== -1, pe = b(P, J, ge, He); + return s(pe) ? He ? (ge = w(P, J, ge, v), ge ? J + "=" + k7 + ge + k7 : J) : (pe = x(P, J, ge, He), s(pe) ? void 0 : pe) : pe; + }); + return W = "<" + P, D && (W += " " + D), V.closing && (W += " /"), W += ">", W; + } else + return oe = g(P, W, ae), s(oe) ? y(W) : oe; + }, + y + ); + return E && (A = E.remove(A)), A; + }, rl = c, rl; + } + var Jf; + function kk() { + return Jf || (Jf = 1, function(t7, e7) { + var n = P1(), r = I1(), i7 = xk(); + function o(a, l) { + var u = new i7(l); + return u.process(a); + } + e7 = t7.exports = o, e7.filterXSS = o, e7.FilterXSS = i7, function() { + for (var a in n) + e7[a] = n[a]; + for (var l in r) + e7[l] = r[l]; + }(), typeof window < "u" && (window.filterXSS = t7.exports); + function s() { + return typeof self < "u" && typeof DedicatedWorkerGlobalScope < "u" && self instanceof DedicatedWorkerGlobalScope; + } + s() && (self.filterXSS = t7.exports); + }(Lo, Lo.exports)), Lo.exports; + } + var Ak = kk(); + const Ck = /* @__PURE__ */ yk(Ak), Sk = ["innerHTML"], HT = /* @__PURE__ */ require$$0.defineComponent({ + __name: "VuetifyViewer", + props: { + value: { default: "" }, + dark: { type: Boolean, default: void 0 }, + dense: { type: Boolean, default: false }, + markdownTheme: { type: [String, Boolean], default: void 0 }, + xss: { type: [Boolean, Array], default: true }, + xssOptions: { default: () => V5 }, + extensions: { default: () => [] } + }, + setup(t7) { + const e7 = t7, { state: n } = Gs(), r = useTheme(), { markdownThemeStyle: i7 } = ih(require$$0.computed(() => e7.markdownTheme)), o = require$$0.computed(() => [...n.extensions, ...e7.extensions]), s = require$$0.computed(() => Dr(e7.dark) ? e7.dark : Dr(r.current.value.dark) ? r.current.value.dark : false), a = require$$0.computed(() => ({ + __dark: require$$0.unref(s), + dense: e7.dense, + view: true, + ...require$$0.unref(i7) + })), l = require$$0.computed(() => mi(e7.value) ? e7.value : bk(e7.value, require$$0.unref(o))), u = require$$0.computed(() => { + if (e7.xss === false) + return require$$0.unref(l); + const c = require$$0.unref(l).replace("https://youtu.be/", "https://www.youtube.com/watch?v=").replace("watch?v=", "embed/").replace("https://vimeo.com/", "https://player.vimeo.com/video/"), d = e7.xssOptions; + return Ck(c, { whiteList: d, css: false }); + }); + return (c, d) => (require$$0.openBlock(), require$$0.createElementBlock("div", { + class: require$$0.normalizeClass(["vuetify-pro-tiptap-editor__content", a.value]), + style: { width: "100%" } + }, [ + require$$0.renderSlot(c.$slots, "before"), + require$$0.createElementVNode("div", { + class: "content", + innerHTML: u.value + }, null, 8, Sk), + require$$0.renderSlot(c.$slots, "after") + ], 2)); + } + }), Tk = ie.create({ + name: "characterCount", + addOptions() { + return { + limit: null, + mode: "textSize", + textCounter: (t7) => t7.length, + wordCounter: (t7) => t7.split(" ").filter((e7) => e7 !== "").length + }; + }, + addStorage() { + return { + characters: () => 0, + words: () => 0 + }; + }, + onBeforeCreate() { + this.storage.characters = (t7) => { + const e7 = t7?.node || this.editor.state.doc; + if ((t7?.mode || this.options.mode) === "textSize") { + const r = e7.textBetween(0, e7.content.size, void 0, " "); + return this.options.textCounter(r); + } + return e7.nodeSize; + }, this.storage.words = (t7) => { + const e7 = t7?.node || this.editor.state.doc, n = e7.textBetween(0, e7.content.size, " ", " "); + return this.options.wordCounter(n); + }; + }, + addProseMirrorPlugins() { + let t7 = false; + return [ + new fe({ + key: new Ae("characterCount"), + appendTransaction: (e7, n, r) => { + if (t7) + return; + const i7 = this.options.limit; + if (i7 == null || i7 === 0) { + t7 = true; + return; + } + const o = this.storage.characters({ node: r.doc }); + if (o > i7) { + const s = o - i7, a = 0, l = s; + console.warn(`[CharacterCount] Initial content exceeded limit of ${i7} characters. Content was automatically trimmed.`); + const u = r.tr.deleteRange(a, l); + return t7 = true, u; + } + t7 = true; + }, + filterTransaction: (e7, n) => { + const r = this.options.limit; + if (!e7.docChanged || r === 0 || r === null || r === void 0) + return true; + const i7 = this.storage.characters({ node: n.doc }), o = this.storage.characters({ node: e7.doc }); + if (o <= r || i7 > r && o > r && o <= i7) + return true; + if (i7 > r && o > r && o > i7 || !e7.getMeta("paste")) + return false; + const a = e7.selection.$head.pos, l = o - r, u = a - l, c = a; + return e7.deleteRange(u, c), !(this.storage.characters({ node: e7.doc }) > r); + } + }) + ]; + } + }), Ek = ve.create({ + name: "doc", + topNode: true, + content: "block+" + }); + function Mk(t7 = {}) { + return new fe({ + view(e7) { + return new Ok(e7, t7); + } + }); + } + class Ok { + constructor(e7, n) { + var r; + this.editorView = e7, this.cursorPos = null, this.element = null, this.timeout = -1, this.width = (r = n.width) !== null && r !== void 0 ? r : 1, this.color = n.color === false ? void 0 : n.color || "black", this.class = n.class, this.handlers = ["dragover", "dragend", "drop", "dragleave"].map((i7) => { + let o = (s) => { + this[i7](s); + }; + return e7.dom.addEventListener(i7, o), { name: i7, handler: o }; + }); + } + destroy() { + this.handlers.forEach(({ name: e7, handler: n }) => this.editorView.dom.removeEventListener(e7, n)); + } + update(e7, n) { + this.cursorPos != null && n.doc != e7.state.doc && (this.cursorPos > e7.state.doc.content.size ? this.setCursor(null) : this.updateOverlay()); + } + setCursor(e7) { + e7 != this.cursorPos && (this.cursorPos = e7, e7 == null ? (this.element.parentNode.removeChild(this.element), this.element = null) : this.updateOverlay()); + } + updateOverlay() { + let e7 = this.editorView.state.doc.resolve(this.cursorPos), n = !e7.parent.inlineContent, r, i7 = this.editorView.dom, o = i7.getBoundingClientRect(), s = o.width / i7.offsetWidth, a = o.height / i7.offsetHeight; + if (n) { + let d = e7.nodeBefore, f = e7.nodeAfter; + if (d || f) { + let p = this.editorView.nodeDOM(this.cursorPos - (d ? d.nodeSize : 0)); + if (p) { + let h = p.getBoundingClientRect(), m7 = d ? h.bottom : h.top; + d && f && (m7 = (m7 + this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top) / 2); + let g = this.width / 2 * a; + r = { left: h.left, right: h.right, top: m7 - g, bottom: m7 + g }; + } + } + } + if (!r) { + let d = this.editorView.coordsAtPos(this.cursorPos), f = this.width / 2 * s; + r = { left: d.left - f, right: d.left + f, top: d.top, bottom: d.bottom }; + } + let l = this.editorView.dom.offsetParent; + this.element || (this.element = l.appendChild(document.createElement("div")), this.class && (this.element.className = this.class), this.element.style.cssText = "position: absolute; z-index: 50; pointer-events: none;", this.color && (this.element.style.backgroundColor = this.color)), this.element.classList.toggle("prosemirror-dropcursor-block", n), this.element.classList.toggle("prosemirror-dropcursor-inline", !n); + let u, c; + if (!l || l == document.body && getComputedStyle(l).position == "static") + u = -pageXOffset, c = -pageYOffset; + else { + let d = l.getBoundingClientRect(), f = d.width / l.offsetWidth, p = d.height / l.offsetHeight; + u = d.left - l.scrollLeft * f, c = d.top - l.scrollTop * p; + } + this.element.style.left = (r.left - u) / s + "px", this.element.style.top = (r.top - c) / a + "px", this.element.style.width = (r.right - r.left) / s + "px", this.element.style.height = (r.bottom - r.top) / a + "px"; + } + scheduleRemoval(e7) { + clearTimeout(this.timeout), this.timeout = setTimeout(() => this.setCursor(null), e7); + } + dragover(e7) { + if (!this.editorView.editable) + return; + let n = this.editorView.posAtCoords({ left: e7.clientX, top: e7.clientY }), r = n && n.inside >= 0 && this.editorView.state.doc.nodeAt(n.inside), i7 = r && r.type.spec.disableDropCursor, o = typeof i7 == "function" ? i7(this.editorView, n, e7) : i7; + if (n && !o) { + let s = n.pos; + if (this.editorView.dragging && this.editorView.dragging.slice) { + let a = Dh(this.editorView.state.doc, s, this.editorView.dragging.slice); + a != null && (s = a); + } + this.setCursor(s), this.scheduleRemoval(5e3); + } + } + dragend() { + this.scheduleRemoval(20); + } + drop() { + this.scheduleRemoval(20); + } + dragleave(e7) { + this.editorView.dom.contains(e7.relatedTarget) || this.setCursor(null); + } + } + const Lk = ie.create({ + name: "dropCursor", + addOptions() { + return { + color: "currentColor", + width: 1, + class: void 0 + }; + }, + addProseMirrorPlugins() { + return [ + Mk(this.options) + ]; + } + }), Nk = ie.create({ + name: "focus", + addOptions() { + return { + className: "has-focus", + mode: "all" + }; + }, + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("focus"), + props: { + decorations: ({ doc: t7, selection: e7 }) => { + const { isEditable: n, isFocused: r } = this.editor, { anchor: i7 } = e7, o = []; + if (!n || !r) + return de.create(t7, []); + let s = 0; + this.options.mode === "deepest" && t7.descendants((l, u) => { + if (l.isText) + return; + if (!(i7 >= u && i7 <= u + l.nodeSize - 1)) + return false; + s += 1; + }); + let a = 0; + return t7.descendants((l, u) => { + if (l.isText || !(i7 >= u && i7 <= u + l.nodeSize - 1)) + return false; + if (a += 1, this.options.mode === "deepest" && s - a > 0 || this.options.mode === "shallowest" && a > 1) + return this.options.mode === "deepest"; + o.push(Ie.node(u, u + l.nodeSize, { + class: this.options.className + })); + }), de.create(t7, o); + } + } + }) + ]; + } + }); + class xe extends $ { + /** + Create a gap cursor. + */ + constructor(e7) { + super(e7, e7); + } + map(e7, n) { + let r = e7.resolve(n.map(this.head)); + return xe.valid(r) ? new xe(r) : $.near(r); + } + content() { + return N.empty; + } + eq(e7) { + return e7 instanceof xe && e7.head == this.head; + } + toJSON() { + return { type: "gapcursor", pos: this.head }; + } + /** + @internal + */ + static fromJSON(e7, n) { + if (typeof n.pos != "number") + throw new RangeError("Invalid input for GapCursor.fromJSON"); + return new xe(e7.resolve(n.pos)); + } + /** + @internal + */ + getBookmark() { + return new lc(this.anchor); + } + /** + @internal + */ + static valid(e7) { + let n = e7.parent; + if (n.isTextblock || !Hk(e7) || !Vk(e7)) + return false; + let r = n.type.spec.allowGapCursor; + if (r != null) + return r; + let i7 = n.contentMatchAt(e7.index()).defaultType; + return i7 && i7.isTextblock; + } + /** + @internal + */ + static findGapCursorFrom(e7, n, r = false) { + e: for (; ; ) { + if (!r && xe.valid(e7)) + return e7; + let i7 = e7.pos, o = null; + for (let s = e7.depth; ; s--) { + let a = e7.node(s); + if (n > 0 ? e7.indexAfter(s) < a.childCount : e7.index(s) > 0) { + o = a.child(n > 0 ? e7.indexAfter(s) : e7.index(s) - 1); + break; + } else if (s == 0) + return null; + i7 += n; + let l = e7.doc.resolve(i7); + if (xe.valid(l)) + return l; + } + for (; ; ) { + let s = n > 0 ? o.firstChild : o.lastChild; + if (!s) { + if (o.isAtom && !o.isText && !F.isSelectable(o)) { + e7 = e7.doc.resolve(i7 + o.nodeSize * n), r = false; + continue e; + } + break; + } + o = s, i7 += n; + let a = e7.doc.resolve(i7); + if (xe.valid(a)) + return a; + } + return null; + } + } + } + xe.prototype.visible = false; + xe.findFrom = xe.findGapCursorFrom; + $.jsonID("gapcursor", xe); + class lc { + constructor(e7) { + this.pos = e7; + } + map(e7) { + return new lc(e7.map(this.pos)); + } + resolve(e7) { + let n = e7.resolve(this.pos); + return xe.valid(n) ? new xe(n) : $.near(n); + } + } + function Hk(t7) { + for (let e7 = t7.depth; e7 >= 0; e7--) { + let n = t7.index(e7), r = t7.node(e7); + if (n == 0) { + if (r.type.spec.isolating) + return true; + continue; + } + for (let i7 = r.child(n - 1); ; i7 = i7.lastChild) { + if (i7.childCount == 0 && !i7.inlineContent || i7.isAtom || i7.type.spec.isolating) + return true; + if (i7.inlineContent) + return false; + } + } + return true; + } + function Vk(t7) { + for (let e7 = t7.depth; e7 >= 0; e7--) { + let n = t7.indexAfter(e7), r = t7.node(e7); + if (n == r.childCount) { + if (r.type.spec.isolating) + return true; + continue; + } + for (let i7 = r.child(n); ; i7 = i7.firstChild) { + if (i7.childCount == 0 && !i7.inlineContent || i7.isAtom || i7.type.spec.isolating) + return true; + if (i7.inlineContent) + return false; + } + } + return true; + } + function Rk() { + return new fe({ + props: { + decorations: Ik, + createSelectionBetween(t7, e7, n) { + return e7.pos == n.pos && xe.valid(n) ? new xe(n) : null; + }, + handleClick: _k, + handleKeyDown: Dk, + handleDOMEvents: { beforeinput: Pk } + } + }); + } + const Dk = Fu({ + ArrowLeft: Vo("horiz", -1), + ArrowRight: Vo("horiz", 1), + ArrowUp: Vo("vert", -1), + ArrowDown: Vo("vert", 1) + }); + function Vo(t7, e7) { + const n = t7 == "vert" ? e7 > 0 ? "down" : "up" : e7 > 0 ? "right" : "left"; + return function(r, i7, o) { + let s = r.selection, a = e7 > 0 ? s.$to : s.$from, l = s.empty; + if (s instanceof z) { + if (!o.endOfTextblock(n) || a.depth == 0) + return false; + l = false, a = r.doc.resolve(e7 > 0 ? a.after() : a.before()); + } + let u = xe.findGapCursorFrom(a, e7, l); + return u ? (i7 && i7(r.tr.setSelection(new xe(u))), true) : false; + }; + } + function _k(t7, e7, n) { + if (!t7 || !t7.editable) + return false; + let r = t7.state.doc.resolve(e7); + if (!xe.valid(r)) + return false; + let i7 = t7.posAtCoords({ left: n.clientX, top: n.clientY }); + return i7 && i7.inside > -1 && F.isSelectable(t7.state.doc.nodeAt(i7.inside)) ? false : (t7.dispatch(t7.state.tr.setSelection(new xe(r))), true); + } + function Pk(t7, e7) { + if (e7.inputType != "insertCompositionText" || !(t7.state.selection instanceof xe)) + return false; + let { $from: n } = t7.state.selection, r = n.parent.contentMatchAt(n.index()).findWrapping(t7.state.schema.nodes.text); + if (!r) + return false; + let i7 = S.empty; + for (let s = r.length - 1; s >= 0; s--) + i7 = S.from(r[s].createAndFill(null, i7)); + let o = t7.state.tr.replace(n.pos, n.pos, new N(i7, 0, 0)); + return o.setSelection(z.near(o.doc.resolve(n.pos + 1))), t7.dispatch(o), false; + } + function Ik(t7) { + if (!(t7.selection instanceof xe)) + return null; + let e7 = document.createElement("div"); + return e7.className = "ProseMirror-gapcursor", de.create(t7.doc, [Ie.widget(t7.selection.head, e7, { key: "gapcursor" })]); + } + const Bk = ie.create({ + name: "gapCursor", + addProseMirrorPlugins() { + return [ + Rk() + ]; + }, + extendNodeSchema(t7) { + var e7; + const n = { + name: t7.name, + options: t7.options, + storage: t7.storage + }; + return { + allowGapCursor: (e7 = X(_(t7, "allowGapCursor", n))) !== null && e7 !== void 0 ? e7 : null + }; + } + }), Fk = ve.create({ + name: "hardBreak", + addOptions() { + return { + keepMarks: true, + HTMLAttributes: {} + }; + }, + inline: true, + group: "inline", + selectable: false, + linebreakReplacement: true, + parseHTML() { + return [ + { tag: "br" } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["br", re(this.options.HTMLAttributes, t7)]; + }, + renderText() { + return ` +`; + }, + addCommands() { + return { + setHardBreak: () => ({ commands: t7, chain: e7, state: n, editor: r }) => t7.first([ + () => t7.exitCode(), + () => t7.command(() => { + const { selection: i7, storedMarks: o } = n; + if (i7.$from.parent.type.spec.isolating) + return false; + const { keepMarks: s } = this.options, { splittableMarks: a } = r.extensionManager, l = o || i7.$to.parentOffset && i7.$from.marks(); + return e7().insertContent({ type: this.name }).command(({ tr: u, dispatch: c }) => { + if (c && l && s) { + const d = l.filter((f) => a.includes(f.type.name)); + u.ensureMarks(d); + } + return true; + }).run(); + }) + ]) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Enter": () => this.editor.commands.setHardBreak(), + "Shift-Enter": () => this.editor.commands.setHardBreak() + }; + } + }), zk = ve.create({ + name: "listItem", + addOptions() { + return { + HTMLAttributes: {}, + bulletListTypeName: "bulletList", + orderedListTypeName: "orderedList" + }; + }, + content: "paragraph block*", + defining: true, + parseHTML() { + return [ + { + tag: "li" + } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["li", re(this.options.HTMLAttributes, t7), 0]; + }, + addKeyboardShortcuts() { + return { + Enter: () => this.editor.commands.splitListItem(this.name), + Tab: () => this.editor.commands.sinkListItem(this.name), + "Shift-Tab": () => this.editor.commands.liftListItem(this.name) + }; + } + }), $k = ie.create({ + name: "placeholder", + addOptions() { + return { + emptyEditorClass: "is-editor-empty", + emptyNodeClass: "is-empty", + placeholder: "Write something …", + showOnlyWhenEditable: true, + showOnlyCurrent: true, + includeChildren: false + }; + }, + addProseMirrorPlugins() { + return [ + new fe({ + key: new Ae("placeholder"), + props: { + decorations: ({ doc: t7, selection: e7 }) => { + const n = this.editor.isEditable || !this.options.showOnlyWhenEditable, { anchor: r } = e7, i7 = []; + if (!n) + return null; + const o = this.editor.isEmpty; + return t7.descendants((s, a) => { + const l = r >= a && r <= a + s.nodeSize, u = !s.isLeaf && ga(s); + if ((l || !this.options.showOnlyCurrent) && u) { + const c = [this.options.emptyNodeClass]; + o && c.push(this.options.emptyEditorClass); + const d = Ie.node(a, a + s.nodeSize, { + class: c.join(" "), + "data-placeholder": typeof this.options.placeholder == "function" ? this.options.placeholder({ + editor: this.editor, + node: s, + pos: a, + hasAnchor: l + }) : this.options.placeholder + }); + i7.push(d); + } + return this.options.includeChildren; + }), de.create(t7, i7); + } + } + }) + ]; + } + }), jk = ve.create({ + name: "text", + group: "inline" + }), Wk = (t7) => { + if (!t7.children.length) + return; + const e7 = t7.querySelectorAll("span"); + e7 && e7.forEach((n) => { + var r, i7; + const o = n.getAttribute("style"), s = (i7 = (r = n.parentElement) === null || r === void 0 ? void 0 : r.closest("span")) === null || i7 === void 0 ? void 0 : i7.getAttribute("style"); + n.setAttribute("style", `${s};${o}`); + }); + }, qk = et.create({ + name: "textStyle", + priority: 101, + addOptions() { + return { + HTMLAttributes: {}, + mergeNestedSpanStyles: false + }; + }, + parseHTML() { + return [ + { + tag: "span", + getAttrs: (t7) => t7.hasAttribute("style") ? (this.options.mergeNestedSpanStyles && Wk(t7), {}) : false + } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["span", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + removeEmptyTextStyle: () => ({ tr: t7 }) => { + const { selection: e7 } = t7; + return t7.doc.nodesBetween(e7.from, e7.to, (n, r) => { + if (n.isTextblock) + return true; + n.marks.filter((i7) => i7.type === this.type).some((i7) => Object.values(i7.attrs).some((o) => !!o)) || t7.removeMark(r, r + n.nodeSize, this.type); + }), true; + } + }; + } + }); + var Uk = "M19,12H17V15H14V17H19V12M7,9H10V7H5V12H7V9M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z", Kk = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z", Gk = "M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z", Jk = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z", Zk = "M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11 8H9V10C9 11.1 8.1 12 7 12C8.1 12 9 12.9 9 14V16H11V18H9C7.9 18 7 17.1 7 16V15C7 13.9 6.1 13 5 13V11C6.1 11 7 10.1 7 9V8C7 6.9 7.9 6 9 6H11V8M19 13C17.9 13 17 13.9 17 15V16C17 17.1 16.1 18 15 18H13V16H15V14C15 12.9 15.9 12 17 12C15.9 12 15 11.1 15 10V8H13V6H15C16.1 6 17 6.9 17 8V9C17 10.1 17.9 11 19 11V13Z", Xk = "M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z", Yk = "M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z", Qk = "M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z", Zf = "M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z", eA = "M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z", tA = "M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z", nA = "M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z", rA = "M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z", iA = "M6,5V5.18L8.82,8H11.22L10.5,9.68L12.6,11.78L14.21,8H20V5H6M3.27,5L2,6.27L8.97,13.24L6.5,19H9.5L11.07,15.34L16.73,21L18,19.73L3.55,5.27L3.27,5Z", oA = "M4,17L6.75,14.25L6.72,14.23C6.14,13.64 6.14,12.69 6.72,12.11L11.46,7.37L15.7,11.61L10.96,16.35C10.39,16.93 9.46,16.93 8.87,16.37L8.24,17H4M15.91,2.91C16.5,2.33 17.45,2.33 18.03,2.91L20.16,5.03C20.74,5.62 20.74,6.57 20.16,7.16L16.86,10.45L12.62,6.21L15.91,2.91Z", sA = "M3,7H9V13H3V7M3,3H21V5H3V3M21,7V9H11V7H21M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z", aA = "M3,7H9V13H3V7M3,3H21V5H3V3M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z", lA = "M15,7H21V13H15V7M3,3H21V5H3V3M13,7V9H3V7H13M9,11V13H3V11H9M3,15H17V17H3V15M3,19H21V21H3V19Z", uA = "M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z", cA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M14,18V16H16V6.31L13.5,7.75V5.44L16,4H18V16H20V18H14Z", dA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M21,18H15A2,2 0 0,1 13,16C13,15.47 13.2,15 13.54,14.64L18.41,9.41C18.78,9.05 19,8.55 19,8A2,2 0 0,0 17,6A2,2 0 0,0 15,8H13A4,4 0 0,1 17,4A4,4 0 0,1 21,8C21,9.1 20.55,10.1 19.83,10.83L15,16H21V18Z", fA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V15H15V16H19V12H15V10H19V6H15V7H13V6A2,2 0 0,1 15,4Z", pA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M18,18V13H13V11L18,4H20V11H21V13H20V18H18M18,11V7.42L15.45,11H18Z", hA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H20V6H15V10H17A4,4 0 0,1 21,14A4,4 0 0,1 17,18H15A2,2 0 0,1 13,16V15H15V16H17A2,2 0 0,0 19,14A2,2 0 0,0 17,12H15A2,2 0 0,1 13,10V6A2,2 0 0,1 15,4Z", mA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V7H19V6H15V10H19A2,2 0 0,1 21,12V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V6A2,2 0 0,1 15,4M15,12V16H19V12H15Z", gA = "M3,4H5V10H9V4H11V18H9V12H5V18H3V4M13,8H15.31L15.63,5H17.63L17.31,8H19.31L19.63,5H21.63L21.31,8H23V10H21.1L20.9,12H23V14H20.69L20.37,17H18.37L18.69,14H16.69L16.37,17H14.37L14.69,14H13V12H14.9L15.1,10H13V8M17.1,10L16.9,12H18.9L19.1,10H17.1Z", bA = "M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M3,21H21V19H3M3,12L7,16V8M11,17H21V15H11V17Z", yA = "M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M11,17H21V15H11M3,8V16L7,12M3,21H21V19H3V21Z", vA = "M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z", wA = "M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z", xA = "M21,19V17H8V19H21M21,13V11H8V13H21M8,7H21V5H8V7M4,5V7H6V5H4M3,5A1,1 0 0,1 4,4H6A1,1 0 0,1 7,5V7A1,1 0 0,1 6,8H4A1,1 0 0,1 3,7V5M4,11V13H6V11H4M3,11A1,1 0 0,1 4,10H6A1,1 0 0,1 7,11V13A1,1 0 0,1 6,14H4A1,1 0 0,1 3,13V11M4,17V19H6V17H4M3,17A1,1 0 0,1 4,16H6A1,1 0 0,1 7,17V19A1,1 0 0,1 6,20H4A1,1 0 0,1 3,19V17Z", kA = "M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z", AA = "M13,4A4,4 0 0,1 17,8A4,4 0 0,1 13,12H11V18H9V4H13M13,10A2,2 0 0,0 15,8A2,2 0 0,0 13,6H11V10H13Z", CA = "M10,7L8,11H11V17H5V11L7,7H10M18,7L16,11H19V17H13V11L15,7H18Z", SA = "M2 4V7H7V19H10V7H15V4H2M21 9H12V12H15V19H18V12H21V9Z", TA = "M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z", EA = "M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,21.03H16.97V20.03L17.86,19.23C18.62,18.58 19.18,18.04 19.56,17.6C19.93,17.16 20.12,16.75 20.13,16.36C20.14,16.08 20.05,15.85 19.86,15.66C19.68,15.5 19.39,15.38 19,15.38C18.69,15.38 18.42,15.44 18.16,15.56L17.5,15.94L17.05,14.77C17.32,14.56 17.64,14.38 18.03,14.24C18.42,14.1 18.85,14 19.32,14C20.1,14.04 20.7,14.25 21.1,14.66C21.5,15.07 21.72,15.59 21.72,16.23C21.71,16.79 21.53,17.31 21.18,17.78C20.84,18.25 20.42,18.7 19.91,19.14L19.27,19.66V19.68H21.85V21.03Z", MA = "M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,9H16.97V8L17.86,7.18C18.62,6.54 19.18,6 19.56,5.55C19.93,5.11 20.12,4.7 20.13,4.32C20.14,4.04 20.05,3.8 19.86,3.62C19.68,3.43 19.39,3.34 19,3.33C18.69,3.34 18.42,3.4 18.16,3.5L17.5,3.89L17.05,2.72C17.32,2.5 17.64,2.33 18.03,2.19C18.42,2.05 18.85,2 19.32,2C20.1,2 20.7,2.2 21.1,2.61C21.5,3 21.72,3.54 21.72,4.18C21.71,4.74 21.53,5.26 21.18,5.73C20.84,6.21 20.42,6.66 19.91,7.09L19.27,7.61V7.63H21.85V9Z", OA = "M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z", LA = "M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z", NA = "M14,14H19V16H16V19H14V14M5,14H10V19H8V16H5V14M8,5H10V10H5V8H8V5M19,8V10H14V5H16V8H19Z", HA = "M18 15V18H15V20H18V23H20V20H23V18H20V15H18M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21Z", VA = "M12,17.56L16.07,16.43L16.62,10.33H9.38L9.2,8.3H16.8L17,6.31H7L7.56,12.32H14.45L14.22,14.9L12,15.5L9.78,14.9L9.64,13.24H7.64L7.93,16.43L12,17.56M4.07,3H19.93L18.5,19.2L12,21L5.5,19.2L4.07,3Z", RA = "M2,5.27L3.28,4L20,20.72L18.73,22L13.9,17.17L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L12.5,15.76L10.88,14.15C10.87,14.39 10.77,14.64 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C8.12,13.77 7.63,12.37 7.72,11L2,5.27M12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.79,8.97L9.38,7.55L12.71,4.22M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.2,10.54 16.61,12.5 16.06,14.23L14.28,12.46C14.23,11.78 13.94,11.11 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z", Xf = "M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H20V23H18V20H15V18H18V15H20V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z", DA = "M19,13H5V11H19V13Z", _A = "M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z", PA = "M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z", IA = "M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z", BA = "M9 7V17H15V15H11V7H9Z", FA = "M9 7C7.9 7 7 7.9 7 9V17H9V9H11V16H13V9H15V17H17V9C17 7.9 16.11 7 15 7H9Z", zA = "M11 7C9.9 7 9 7.9 9 9V11C9 12.11 9.9 13 11 13H13V15H9V17H13C14.11 17 15 16.11 15 15V13C15 11.9 14.11 11 13 11H11V9H15V7H11Z", $A = "M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z", jA = "M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z", WA = "M13,2A2,2 0 0,0 11,4V20A2,2 0 0,0 13,22H22V2H13M20,10V14H13V10H20M20,16V20H13V16H20M20,4V8H13V4H20M9,11H6V8H4V11H1V13H4V16H6V13H9V11Z", qA = "M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z", UA = "M5,10H3V4H11V6H5V10M19,18H13V20H21V14H19V18M5,18V14H3V20H11V18H5M21,4H13V6H19V10H21V4M8,13V15L11,12L8,9V11H3V13H8M16,11V9L13,12L16,15V13H21V11H16Z", KA = "M18,14H20V17H23V19H20V22H18V19H15V17H18V14M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z", GA = "M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z", JA = "M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z", ZA = "M22,14A2,2 0 0,0 20,12H4A2,2 0 0,0 2,14V21H4V19H8V21H10V19H14V21H16V19H20V21H22V14M4,14H8V17H4V14M10,14H14V17H10V14M20,14V17H16V14H20M11,10H13V7H16V5H13V2H11V5H8V7H11V10Z", XA = "M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z", YA = "M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z", QA = "M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z", eC = "M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H11V16H9V13H6V11H9V8H11V11H14V13Z", tC = "M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z"; + const nC = { + bold: rA, + italic: vA, + underline: OA, + strike: TA, + color: tC, + highlight: oA, + heading: gA, + textAlign: Zf, + fontFamily: uA, + fontSize: SA, + subscript: EA, + superscript: MA, + bulletList: wA, + orderedList: kA, + taskList: xA, + indent: yA, + outdent: bA, + link: Xf, + fileImagePlus: Qk, + image: HA, + video: eC, + table: $A, + blockquote: CA, + horizontalRule: DA, + code: Xk, + codeBlock: Zk, + clear: iA, + undo: QA, + redo: IA, + markdownTheme: PA, + fullscreen: LA, + // heading + h1: cA, + h2: dA, + h3: fA, + h4: pA, + h5: hA, + h6: mA, + p: AA, + // textAlign + left: tA, + center: Zf, + right: nA, + justify: eA, + // no tollbar icon + circle: Gk, + close: Jk, + fullscreenExit: NA, + linkVariant: Xf, + linkVariantOff: RA, + openInNew: _A, + formatFloatLeft: sA, + formatFloatNone: aA, + formatFloatRight: lA, + sizeS: zA, + sizeM: FA, + sizeL: BA, + aspectRatio: Uk, + delete: Yk, + text: YA, + htmlView: VA, + // table + tablePlus: KA, + tableRemove: GA, + tableColumnPlusAfter: jA, + tableColumnPlusBefore: WA, + tableColumnRemove: qA, + tableRowPlusAfter: JA, + tableRowPlusBefore: ZA, + tableRowRemove: XA, + tableMergeCells: UA, + check: Kk + }; + function ye(t7) { + if (t7) + return `svg:${nC[t7]}`; + } + const ee = /* @__PURE__ */ require$$0.defineComponent({ + __name: "ActionButton", + props: { + icon: { default: void 0 }, + tooltip: { default: void 0 }, + disabled: { type: Boolean, default: false }, + color: { default: void 0 }, + action: { type: Function, default: void 0 }, + isActive: { type: Function, default: void 0 } + }, + setup(t7) { + const e7 = t7, n = require$$0.computed(() => ye(e7.icon)); + return (r, i7) => { + const o = VIcon, s = VTooltip, a = VBtn; + return require$$0.openBlock(), require$$0.createBlock(a, { + class: require$$0.normalizeClass(["rounded me-1 ms-0", { + "v-btn--active": r.isActive?.() + }]), + density: "comfortable", + size: "small", + disabled: r.disabled, + color: r.color, + icon: "", + onClick: r.action + }, { + default: require$$0.withCtx(() => [ + n.value ? (require$$0.openBlock(), require$$0.createBlock(o, { + key: 0, + icon: n.value + }, null, 8, ["icon"])) : require$$0.createCommentVNode("", true), + require$$0.createVNode(s, { + eager: false, + activator: "parent", + location: "top", + text: e7.tooltip + }, null, 8, ["text"]), + require$$0.renderSlot(r.$slots, "default") + ]), + _: 3 + }, 8, ["disabled", "color", "class", "onClick"]); + }; + } + }), rC = (t7) => { + const e7 = ["float-left", "float-none", "float-right"], n = [ + "formatFloatLeft", + "formatFloatNone", + "formatFloatRight" + ], r = ["left", "inline", "right"]; + return e7.map((i7, o) => ({ + type: i7, + component: ee, + componentProps: { + tooltip: `editor.image.${i7.replace("-", ".")}.tooltip`, + icon: n[o], + action: () => t7.chain().focus().updateImage({ display: r[o] }).run(), + isActive: () => t7.isActive("image", { display: r[o] }) + } + })); + }, iC = (t7) => { + const e7 = ["size-small", "size-medium", "size-large"], n = ["sizeS", "sizeM", "sizeL"]; + return e7.map((r, i7) => ({ + type: `image-${r}`, + component: ee, + componentProps: { + tooltip: `editor.${r.replace("-", ".")}.tooltip`, + icon: n[i7], + action: () => t7.chain().focus().updateImage({ width: Yo[r], height: null }).run(), + isActive: () => t7.isActive("image", { width: Yo[r] }) + } + })); + }, oC = (t7) => { + const e7 = ["size-small", "size-medium", "size-large"], n = ["sizeS", "sizeM", "sizeL"]; + return e7.map((r, i7) => ({ + type: `video-${r}`, + component: ee, + componentProps: { + tooltip: `editor.${r.replace("-", ".")}.tooltip`, + icon: n[i7], + action: () => t7.chain().focus().updateVideo({ width: Qo[r] }).run(), + isActive: () => t7.isActive("video", { width: Qo[r] }) + } + })); + }, sC = (t7) => [ + ...rC(t7), + ...iC(t7), + ...oC(t7), + { + type: "image-aspect-ratio", + component: ee, + componentProps: { + tooltip: "editor.image.dialog.form.aspectRatio", + icon: "aspectRatio", + action: () => { + const e7 = t7.isActive("image", { lockAspectRatio: true }); + t7.chain().focus().updateImage({ + lockAspectRatio: !e7, + height: e7 ? void 0 : null + }).run(); + }, + isActive: () => t7.isActive("image", { lockAspectRatio: true }) + } + }, + { + type: "unlink", + component: ee, + componentProps: { + tooltip: "editor.link.unlink.tooltip", + icon: "linkVariantOff", + action: () => { + const { href: e7 } = t7.getAttributes("link"); + t7.chain().extendMarkRange("link", { href: e7 }).unsetLink().focus().run(); + } + } + }, + { + type: "link-open", + component: ee, + componentProps: { + tooltip: "editor.link.open", + icon: "openInNew", + action: () => { + const { href: e7 } = t7.getAttributes("link"); + mi(e7) && e7 && window.open(e7, "_blank"); + } + } + }, + { + type: "remove", + component: ee, + componentProps: { + tooltip: "editor.remove", + icon: "delete", + action: () => { + const { state: e7, dispatch: n } = t7.view; + aa(e7, n); + } + } + } + ], aC = (t7, e7, { editor: n, extension: r, t: i7 }) => { + const { extensions: o = [] } = n.extensionManager, s = {}; + for (const a of Object.keys(t7)) { + const l = t7[a]; + if (!l) continue; + const u = []; + for (const f of l) { + if (f === "divider") { + if (u[u.length - 1]?.type === "divider") continue; + u.push({ + type: "divider", + component: void 0, + componentProps: {} + }); + continue; + } + const p = e7.find((m7) => m7.type === f); + if (p) { + u.push({ + ...p, + componentProps: { + ...p.componentProps, + tooltip: p.componentProps.tooltip ? i7(p.componentProps.tooltip) : void 0 + }, + componentSlots: p.componentSlots + }); + continue; + } + const h = o.find((m7) => m7.name === f); + if (h) { + const { button: m7 } = h.options, g = m7({ editor: n, extension: h, t: i7 }); + u.push({ + type: f, + component: g.component, + componentProps: g.componentProps, + componentSlots: g.componentSlots + }); + continue; + } + } + const c = u[u.length - 1], d = u[0]; + c?.type === "divider" && u.pop(), d?.type === "divider" && u.shift(), s[a] = u; + } + return s; + }, lC = ve.create({ + name: "paragraph", + priority: 1e3, + addOptions() { + return { + HTMLAttributes: {} + }; + }, + group: "block", + content: "inline*", + parseHTML() { + return [ + { tag: "p" } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["p", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + setParagraph: () => ({ commands: t7 }) => t7.setNode(this.name) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Alt-0": () => this.editor.commands.setParagraph() + }; + } + }); + class uC { + globalAttributes = ["class", "style", "id", "data-*"]; + // 默认属性 + isInitialized = false; + /** + * 注册全局允许的属性(通常由 HtmlView 扩展调用) + */ + registerGlobalAttributes(e7) { + e7 && e7.length > 0 && (this.globalAttributes = [...e7], this.isInitialized = true, console.log( + "Global allowedAttributes registered:", + this.globalAttributes + )); + } + /** + * 获取全局允许的属性 + */ + getGlobalAttributes() { + return [...this.globalAttributes]; + } + /** + * 检查是否已初始化 + */ + isGlobalInitialized() { + return this.isInitialized; + } + /** + * 重置注册表(用于测试) + */ + reset() { + this.globalAttributes = ["class", "style", "id"], this.isInitialized = false; + } + } + const uc = new uC(); + function cC(t7) { + uc.registerGlobalAttributes(t7); + } + function Yf() { + return uc.getGlobalAttributes(); + } + function dC() { + return uc.isGlobalInitialized(); + } + function Be(t7, e7, n) { + let r; + n && n.length > 0 ? r = n : r = Yf(), console.log(`Adding common attributes to ${e7}:`, { + local: n, + global: Yf(), + final: r, + globalInitialized: dC() + }); + const i7 = t7 ? { ...t7 } : {}; + return r.forEach((o) => { + i7[o] || (i7[o] = { + default: null, + parseHTML: (s) => s.getAttribute(o) || null, + renderHTML: (s) => s[o] ? { [o]: s[o] } : {} + }); + }), i7; + } + const fC = /* @__PURE__ */ lC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "paragraph", + this.options.allowedAttributes + ); + } + }), VT = /* @__PURE__ */ ie.create({ + name: "base-kit", + addOptions() { + return { + ...this.parent?.(), + bubble: { + list: Pm, + defaultBubbleList: sC, + button: ({ editor: t7, extension: e7, t: n }) => { + const { list: r = {}, defaultBubbleList: i7 } = e7.options?.bubble ?? {}, o = i7?.(t7) ?? []; + return aC(r, o, { + editor: t7, + extension: e7, + t: n + }); + } + } + }; + }, + addExtensions() { + const t7 = []; + return this.options.placeholder !== false && t7.push( + $k.configure({ + placeholder: "", + ...this.options.placeholder + }) + ), this.options.focus !== false && t7.push( + Nk.configure({ + className: "focus", + ...this.options.focus + }) + ), this.options.document !== false && t7.push(Ek.configure()), this.options.text !== false && t7.push(jk.configure()), this.options.gapcursor !== false && t7.push(Bk.configure()), this.options.dropcursor !== false && t7.push(Lk.configure(this.options.dropcursor)), this.options.characterCount !== false && t7.push(Tk.configure(this.options.characterCount)), this.options.paragraph !== false && t7.push(fC.configure(this.options.paragraph)), this.options.hardBreak !== false && t7.push(Fk.configure(this.options.hardBreak)), this.options.listItem !== false && t7.push(zk.configure(this.options.listItem)), this.options.textStyle !== false && t7.push(qk.configure(this.options.textStyle)), t7; + } + }), pC = /^\s*>\s$/, hC = ve.create({ + name: "blockquote", + addOptions() { + return { + HTMLAttributes: {} + }; + }, + content: "block+", + group: "block", + defining: true, + parseHTML() { + return [ + { tag: "blockquote" } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["blockquote", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + setBlockquote: () => ({ commands: t7 }) => t7.wrapIn(this.name), + toggleBlockquote: () => ({ commands: t7 }) => t7.toggleWrap(this.name), + unsetBlockquote: () => ({ commands: t7 }) => t7.lift(this.name) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Shift-b": () => this.editor.commands.toggleBlockquote() + }; + }, + addInputRules() { + return [ + Fr({ + find: pC, + type: this.type + }) + ]; + } + }), RT = /* @__PURE__ */ hC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "blockquote", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + HTMLAttributes: { + class: "blockquote" + }, + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().toggleBlockquote().run(), + isActive: () => t7.isActive("blockquote") || false, + disabled: !t7.can().toggleBlockquote(), + icon: "blockquote", + tooltip: e7("editor.blockquote.tooltip") + } + }) + }; + } + }), mC = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, gC = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, bC = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, yC = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, vC = et.create({ + name: "bold", + addOptions() { + return { + HTMLAttributes: {} + }; + }, + parseHTML() { + return [ + { + tag: "strong" + }, + { + tag: "b", + getAttrs: (t7) => t7.style.fontWeight !== "normal" && null + }, + { + style: "font-weight=400", + clearMark: (t7) => t7.type.name === this.name + }, + { + style: "font-weight", + getAttrs: (t7) => /^(bold(er)?|[5-9]\d{2,})$/.test(t7) && null + } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["strong", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + setBold: () => ({ commands: t7 }) => t7.setMark(this.name), + toggleBold: () => ({ commands: t7 }) => t7.toggleMark(this.name), + unsetBold: () => ({ commands: t7 }) => t7.unsetMark(this.name) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-b": () => this.editor.commands.toggleBold(), + "Mod-B": () => this.editor.commands.toggleBold() + }; + }, + addInputRules() { + return [ + ar({ + find: mC, + type: this.type + }), + ar({ + find: bC, + type: this.type + }) + ]; + }, + addPasteRules() { + return [ + On({ + find: gC, + type: this.type + }), + On({ + find: yC, + type: this.type + }) + ]; + } + }), DT = /* @__PURE__ */ vC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "bold", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().toggleBold().run(), + isActive: () => t7.isActive("bold") || false, + disabled: !t7.can().toggleBold(), + icon: "bold", + tooltip: e7("editor.bold.tooltip") + } + }) + }; + } + }), wC = "listItem", Qf = "textStyle", ep = /^\s*([-+*])\s$/, xC = ve.create({ + name: "bulletList", + addOptions() { + return { + itemTypeName: "listItem", + HTMLAttributes: {}, + keepMarks: false, + keepAttributes: false + }; + }, + group: "block list", + content() { + return `${this.options.itemTypeName}+`; + }, + parseHTML() { + return [ + { tag: "ul" } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["ul", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + toggleBulletList: () => ({ commands: t7, chain: e7 }) => this.options.keepAttributes ? e7().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(wC, this.editor.getAttributes(Qf)).run() : t7.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Shift-8": () => this.editor.commands.toggleBulletList() + }; + }, + addInputRules() { + let t7 = Fr({ + find: ep, + type: this.type + }); + return (this.options.keepMarks || this.options.keepAttributes) && (t7 = Fr({ + find: ep, + type: this.type, + keepMarks: this.options.keepMarks, + keepAttributes: this.options.keepAttributes, + getAttributes: () => this.editor.getAttributes(Qf), + editor: this.editor + })), [ + t7 + ]; + } + }), _T = /* @__PURE__ */ xC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "bulletList", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().toggleBulletList().run(), + isActive: () => t7.isActive("bulletList") || false, + disabled: !t7.can().toggleBulletList(), + icon: "bulletList", + tooltip: e7("editor.bulletlist.tooltip") + } + }) + }; + } + }), PT = /* @__PURE__ */ ve.create({ + name: "clear", + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().clearNodes().unsetAllMarks().run(), + disabled: !t7.can().chain().focus().clearNodes().unsetAllMarks().run(), + icon: "clear", + tooltip: e7("editor.clear.tooltip") + } + }) + }; + } + }), kC = /(^|[^`])`([^`]+)`(?!`)/, AC = /(^|[^`])`([^`]+)`(?!`)/g, CC = et.create({ + name: "code", + addOptions() { + return { + HTMLAttributes: {} + }; + }, + excludes: "_", + code: true, + exitable: true, + parseHTML() { + return [ + { tag: "code" } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["code", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + setCode: () => ({ commands: t7 }) => t7.setMark(this.name), + toggleCode: () => ({ commands: t7 }) => t7.toggleMark(this.name), + unsetCode: () => ({ commands: t7 }) => t7.unsetMark(this.name) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-e": () => this.editor.commands.toggleCode() + }; + }, + addInputRules() { + return [ + ar({ + find: kC, + type: this.type + }) + ]; + }, + addPasteRules() { + return [ + On({ + find: AC, + type: this.type + }) + ]; + } + }), IT = /* @__PURE__ */ CC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "code", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().toggleCode().run(), + isActive: () => t7.isActive("code") || false, + disabled: !t7.can().toggleCode(), + icon: "code", + tooltip: e7("editor.code.tooltip") + } + }) + }; + } + }), SC = /^```([a-z]+)?[\s\n]$/, TC = /^~~~([a-z]+)?[\s\n]$/, EC = ve.create({ + name: "codeBlock", + addOptions() { + return { + languageClassPrefix: "language-", + exitOnTripleEnter: true, + exitOnArrowDown: true, + defaultLanguage: null, + HTMLAttributes: {} + }; + }, + content: "text*", + marks: "", + group: "block", + code: true, + defining: true, + addAttributes() { + return { + language: { + default: this.options.defaultLanguage, + parseHTML: (t7) => { + var e7; + const { languageClassPrefix: n } = this.options, o = [...((e7 = t7.firstElementChild) === null || e7 === void 0 ? void 0 : e7.classList) || []].filter((s) => s.startsWith(n)).map((s) => s.replace(n, ""))[0]; + return o || null; + }, + rendered: false + } + }; + }, + parseHTML() { + return [ + { + tag: "pre", + preserveWhitespace: "full" + } + ]; + }, + renderHTML({ node: t7, HTMLAttributes: e7 }) { + return [ + "pre", + re(this.options.HTMLAttributes, e7), + [ + "code", + { + class: t7.attrs.language ? this.options.languageClassPrefix + t7.attrs.language : null + }, + 0 + ] + ]; + }, + addCommands() { + return { + setCodeBlock: (t7) => ({ commands: e7 }) => e7.setNode(this.name, t7), + toggleCodeBlock: (t7) => ({ commands: e7 }) => e7.toggleNode(this.name, "paragraph", t7) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(), + // remove code block when at start of document or code block is empty + Backspace: () => { + const { empty: t7, $anchor: e7 } = this.editor.state.selection, n = e7.pos === 1; + return !t7 || e7.parent.type.name !== this.name ? false : n || !e7.parent.textContent.length ? this.editor.commands.clearNodes() : false; + }, + // exit node on triple enter + Enter: ({ editor: t7 }) => { + if (!this.options.exitOnTripleEnter) + return false; + const { state: e7 } = t7, { selection: n } = e7, { $from: r, empty: i7 } = n; + if (!i7 || r.parent.type !== this.type) + return false; + const o = r.parentOffset === r.parent.nodeSize - 2, s = r.parent.textContent.endsWith(` + +`); + return !o || !s ? false : t7.chain().command(({ tr: a }) => (a.delete(r.pos - 2, r.pos), true)).exitCode().run(); + }, + // exit node on arrow down + ArrowDown: ({ editor: t7 }) => { + if (!this.options.exitOnArrowDown) + return false; + const { state: e7 } = t7, { selection: n, doc: r } = e7, { $from: i7, empty: o } = n; + if (!o || i7.parent.type !== this.type || !(i7.parentOffset === i7.parent.nodeSize - 2)) + return false; + const a = i7.after(); + return a === void 0 ? false : r.nodeAt(a) ? t7.commands.command(({ tr: u }) => (u.setSelection($.near(r.resolve(a))), true)) : t7.commands.exitCode(); + } + }; + }, + addInputRules() { + return [ + jl({ + find: SC, + type: this.type, + getAttributes: (t7) => ({ + language: t7[1] + }) + }), + jl({ + find: TC, + type: this.type, + getAttributes: (t7) => ({ + language: t7[1] + }) + }) + ]; + }, + addProseMirrorPlugins() { + return [ + // this plugin creates a code block for pasted content from VS Code + // we can also detect the copied code language + new fe({ + key: new Ae("codeBlockVSCodeHandler"), + props: { + handlePaste: (t7, e7) => { + if (!e7.clipboardData || this.editor.isActive(this.type.name)) + return false; + const n = e7.clipboardData.getData("text/plain"), r = e7.clipboardData.getData("vscode-editor-data"), i7 = r ? JSON.parse(r) : void 0, o = i7?.mode; + if (!n || !o) + return false; + const { tr: s, schema: a } = t7.state, l = a.text(n.replace(/\r\n?/g, ` +`)); + return s.replaceSelectionWith(this.type.create({ language: o }, l)), s.selection.$from.parent.type !== this.type && s.setSelection(z.near(s.doc.resolve(Math.max(0, s.selection.from - 2)))), s.setMeta("paste", true), t7.dispatch(s), true; + } + } + }) + ]; + } + }), BT = /* @__PURE__ */ EC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "codeBlock", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().toggleCodeBlock().run(), + isActive: () => t7.isActive("codeBlock") || false, + disabled: !t7.can().toggleCodeBlock(), + icon: "codeBlock", + tooltip: e7("editor.codeblock.tooltip") + } + }) + }; + } + }), MC = ie.create({ + name: "color", + addOptions() { + return { + types: ["textStyle"] + }; + }, + addGlobalAttributes() { + return [ + { + types: this.options.types, + attributes: { + color: { + default: null, + parseHTML: (t7) => { + var e7; + return (e7 = t7.style.color) === null || e7 === void 0 ? void 0 : e7.replace(/['"]+/g, ""); + }, + renderHTML: (t7) => t7.color ? { + style: `color: ${t7.color}` + } : {} + } + } + } + ]; + }, + addCommands() { + return { + setColor: (t7) => ({ chain: e7 }) => e7().setMark("textStyle", { color: t7 }).run(), + unsetColor: () => ({ chain: t7 }) => t7().setMark("textStyle", { color: null }).removeEmptyTextStyle().run() + }; + } + }), B1 = /* @__PURE__ */ require$$0.defineComponent({ + __name: "ColorPicker", + props: { + modelValue: { default: "" }, + nudgeLeft: { default: 0 }, + nudgeTop: { default: 0 }, + more: { type: Boolean, default: true } + }, + emits: ["update:modelValue", "change"], + setup(t7, { emit: e7 }) { + const n = t7, r = e7, i7 = require$$0.ref(""), o = require$$0.ref(false); + require$$0.watch(o, (a) => { + i7.value = n.modelValue; + }); + function s(a) { + r("update:modelValue", a), r("change", a), i7.value = a, o.value = false; + } + return (a, l) => { + const u = VIcon, c = VBtn, d = VTextField, f = VSheet, p = VList, h = VMenu; + return require$$0.openBlock(), require$$0.createBlock(h, { + modelValue: o.value, + "onUpdate:modelValue": l[2] || (l[2] = (m7) => o.value = m7), + "nudge-left": a.nudgeLeft || 255, + "nudge-top": a.nudgeTop || 42, + "close-on-content-click": false, + transition: "scale-transition", + origin: a.nudgeLeft ? "top left" : "top right", + activator: "parent" + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(p, null, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(f, { + class: "d-flex flex-wrap justify-between ma-1", + fluid: "", + "max-width": 230 + }, { + default: require$$0.withCtx(() => [ + (require$$0.openBlock(true), require$$0.createElementBlock(require$$0.Fragment, null, require$$0.renderList(require$$0.unref(Rm), (m7) => (require$$0.openBlock(), require$$0.createBlock(c, { + key: m7, + flat: "", + icon: "", + density: "compact", + onClick: (g) => s(m7) + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(u, { + icon: require$$0.unref(ye)("circle"), + color: m7 + }, null, 8, ["icon", "color"]) + ]), + _: 2 + }, 1032, ["onClick"]))), 128)), + require$$0.createVNode(d, { + modelValue: i7.value, + "onUpdate:modelValue": l[0] || (l[0] = (m7) => i7.value = m7), + class: "mt-2 mx-1", + "append-inner-icon": require$$0.unref(ye)("check"), + density: "compact", + label: "HEX", + variant: "outlined", + flat: "", + "hide-details": "", + "single-line": "", + clearable: "", + "onClick:appendInner": l[1] || (l[1] = (m7) => s(i7.value)) + }, require$$0.createSlots({ _: 2 }, [ + i7.value ? { + name: "prepend-inner", + fn: require$$0.withCtx(() => [ + require$$0.createVNode(u, { + class: "opacity-100", + icon: require$$0.unref(ye)("circle"), + color: i7.value + }, null, 8, ["icon", "color"]) + ]), + key: "0" + } : void 0 + ]), 1032, ["modelValue", "append-inner-icon"]) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["modelValue", "nudge-left", "nudge-top", "origin"]); + }; + } + }), OC = /* @__PURE__ */ require$$0.defineComponent({ + __name: "ColorActionButton", + props: { + editor: {}, + icon: { default: void 0 }, + tooltip: { default: void 0 }, + disabled: { type: Boolean, default: false }, + action: { type: Function, default: void 0 }, + isActive: { type: Function, default: void 0 } + }, + setup(t7) { + const e7 = t7, { state: n } = Su(); + function r(i7) { + e7.action?.(i7); + } + return require$$0.watchEffect(() => { + const { color: i7 } = e7.editor.getAttributes("textStyle"); + n.color = i7; + }), (i7, o) => (require$$0.openBlock(), require$$0.createBlock(ee, { + icon: i7.icon, + tooltip: i7.tooltip, + disabled: i7.disabled, + color: require$$0.unref(n).color, + "is-active": i7.isActive + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(B1, { + modelValue: require$$0.unref(n).color, + "onUpdate:modelValue": o[0] || (o[0] = (s) => require$$0.unref(n).color = s), + activator: "parent", + "nudge-top": -4, + "nudge-left": 8, + onChange: r + }, null, 8, ["modelValue"]) + ]), + _: 1 + }, 8, ["icon", "tooltip", "disabled", "color", "is-active"])); + } + }), FT = /* @__PURE__ */ MC.extend({ + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: OC, + componentProps: { + action: (n) => { + typeof n == "string" && t7.chain().focus().setColor(n).run(); + }, + isActive: () => { + const { color: n } = t7.getAttributes("textStyle"); + return n && t7.isActive({ color: n }) || false; + }, + disabled: !t7.can().setColor(""), + icon: "color", + tooltip: e7("editor.color.tooltip") + } + }) + }; + } + }), LC = ie.create({ + name: "fontFamily", + addOptions() { + return { + types: ["textStyle"] + }; + }, + addGlobalAttributes() { + return [ + { + types: this.options.types, + attributes: { + fontFamily: { + default: null, + parseHTML: (t7) => t7.style.fontFamily, + renderHTML: (t7) => t7.fontFamily ? { + style: `font-family: ${t7.fontFamily}` + } : {} + } + } + } + ]; + }, + addCommands() { + return { + setFontFamily: (t7) => ({ chain: e7 }) => e7().setMark("textStyle", { fontFamily: t7 }).run(), + unsetFontFamily: () => ({ chain: t7 }) => t7().setMark("textStyle", { fontFamily: null }).removeEmptyTextStyle().run() + }; + } + }), io = /* @__PURE__ */ require$$0.defineComponent({ + __name: "ActionMenuButton", + props: { + editor: {}, + disabled: { type: Boolean, default: false }, + color: { default: void 0 }, + maxHeight: { default: void 0 }, + icon: { default: void 0 }, + tooltip: { default: "" }, + items: { default: () => [] } + }, + setup(t7) { + const e7 = t7, n = require$$0.ref(false), r = require$$0.computed(() => { + const i7 = e7.items.find((s) => s.isActive()); + return i7 && !i7.default ? { + ...i7, + icon: i7.icon ? i7.icon : e7.icon + } : { + title: e7.tooltip, + icon: e7.icon, + isActive: () => false + }; + }); + return (i7, o) => { + const s = VIcon, a = VListItemTitle, l = VListItem, u = VDivider, c = VList, d = VMenu; + return require$$0.openBlock(), require$$0.createBlock(ee, { + icon: r.value.icon, + tooltip: r.value.title, + disabled: i7.disabled, + color: i7.color, + "is-active": r.value.isActive + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(d, { + modelValue: n.value, + "onUpdate:modelValue": o[0] || (o[0] = (f) => n.value = f), + activator: "parent" + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(c, { + density: "compact", + "max-height": i7.maxHeight + }, { + default: require$$0.withCtx(() => [ + (require$$0.openBlock(true), require$$0.createElementBlock(require$$0.Fragment, null, require$$0.renderList(i7.items, (f, p) => (require$$0.openBlock(), require$$0.createElementBlock(require$$0.Fragment, { key: p }, [ + require$$0.createVNode(l, { + active: f.isActive(), + disabled: f.disabled, + onClick: f.action + }, { + prepend: require$$0.withCtx(() => [ + f.icon ? (require$$0.openBlock(), require$$0.createBlock(s, { + key: 0, + icon: require$$0.unref(ye)(f.icon) + }, null, 8, ["icon"])) : require$$0.createCommentVNode("", true) + ]), + default: require$$0.withCtx(() => [ + require$$0.createVNode(a, { + style: require$$0.normalizeStyle(f.style) + }, { + default: require$$0.withCtx(() => [ + require$$0.createTextVNode(require$$0.toDisplayString(f.title), 1) + ]), + _: 2 + }, 1032, ["style"]) + ]), + _: 2 + }, 1032, ["active", "disabled", "onClick"]), + f.divider ? (require$$0.openBlock(), require$$0.createBlock(u, { key: 0 })) : require$$0.createCommentVNode("", true) + ], 64))), 128)) + ]), + _: 1 + }, 8, ["max-height"]) + ]), + _: 1 + }, 8, ["modelValue"]) + ]), + _: 1 + }, 8, ["icon", "tooltip", "disabled", "color", "is-active"]); + }; + } + }), zT = /* @__PURE__ */ LC.extend({ + addOptions() { + return { + ...this.parent?.(), + fontFamilies: Dm, + button: ({ editor: t7, extension: e7, t: n }) => { + const i7 = (e7.options?.fontFamilies || []).map((s) => ({ + title: n(s.title), + isActive: () => { + const { fontFamily: a } = t7.getAttributes("textStyle"); + return s.value === ml && a === void 0 ? true : t7.isActive({ fontFamily: s.value }) || false; + }, + action: () => { + if (s.value === ml) { + t7.chain().focus().unsetFontFamily().run(); + return; + } + t7.chain().focus().setFontFamily(s.value).run(); + }, + disabled: !t7.can().setFontFamily(s.value), + style: { fontFamily: s.value }, + divider: s.divider ?? false, + default: s.default ?? false + })), o = i7.filter((s) => s.disabled).length === i7.length; + return { + component: io, + componentProps: { + icon: "fontFamily", + tooltip: n("editor.fontFamily.tooltip"), + disabled: o, + items: i7, + maxHeight: 280 + } + }; + } + }; + } + }), $T = /* @__PURE__ */ ie.create({ + name: "fontSize", + addOptions() { + return { + ...this.parent?.(), + types: ["textStyle"], + fontSizes: [..._m], + button: ({ editor: t7, extension: e7, t: n }) => { + const r = e7.options?.fontSizes || [], i7 = [yr, ...r].map((s) => ({ + title: s === yr ? n("editor.default") : String(s), + isActive: () => { + const { fontSize: a } = t7.getAttributes("textStyle"); + return s === yr && a === void 0 ? true : t7.isActive({ fontSize: String(s) }) || false; + }, + action: () => { + if (s === yr) { + t7.chain().focus().unsetFontSize().run(); + return; + } + t7.chain().focus().setFontSize(String(s)).run(); + }, + disabled: !t7.can().setFontSize(String(s)), + divider: s === yr, + default: s === yr + })), o = i7.filter((s) => s.disabled).length === i7.length; + return { + component: io, + componentProps: { + icon: "fontSize", + tooltip: n("editor.fontSize.tooltip"), + disabled: o, + items: i7, + maxHeight: 280 + } + }; + } + }; + }, + addGlobalAttributes() { + return [ + { + types: this.options.types, + attributes: { + fontSize: { + default: null, + parseHTML: (t7) => t7.style.fontSize || "", + renderHTML: (t7) => t7.fontSize ? { + style: `font-size: ${gi(t7.fontSize)}` + } : {} + } + } + } + ]; + }, + addCommands() { + return { + setFontSize: (t7) => ({ chain: e7 }) => e7().setMark("textStyle", { fontSize: t7 }).run(), + unsetFontSize: () => ({ chain: t7 }) => t7().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run() + }; + } + }), NC = /* @__PURE__ */ require$$0.defineComponent({ + __name: "FullscreenActionButton", + props: { + disabled: { type: Boolean, default: false }, + color: { default: void 0 }, + isActive: { type: Function, default: void 0 }, + useWindow: { type: Boolean, default: false } + }, + setup(t7) { + const e7 = t7, { t: n } = sn(), { state: r, toggleFullscreen: i7 } = Su(), { isFullscreen: o, enter: s, exit: a } = By(); + require$$0.watch(o, (d) => { + !d && r.isFullscreen && e7.useWindow && c(); + }); + const l = require$$0.computed(() => { + const d = r.isFullscreen ? "editor.fullscreen.tooltip.exit" : "editor.fullscreen.tooltip.fullscreen"; + return require$$0.unref(n)(d); + }), u = require$$0.computed(() => { + const d = r.isFullscreen ? "fullscreenExit" : "fullscreen"; + return ye(d); + }); + function c(d = false) { + i7(), r.isFullscreen ? (document.documentElement.classList.add("overflow-y-hidden"), d && s()) : (document.documentElement.classList.remove("overflow-y-hidden"), d && a()); + } + return (d, f) => { + const p = VIcon, h = VTooltip, m7 = VBtn; + return require$$0.openBlock(), require$$0.createBlock(m7, { + class: require$$0.normalizeClass(["rounded me-1 ms-0", { + "v-btn--active": d.isActive?.() + }]), + density: "comfortable", + size: "small", + disabled: d.disabled, + color: d.color, + icon: "", + onClick: f[0] || (f[0] = (g) => c(d.useWindow)) + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(p, { icon: u.value }, null, 8, ["icon"]), + require$$0.createVNode(h, { + eager: false, + activator: "parent", + location: "top", + text: l.value + }, null, 8, ["text"]), + require$$0.renderSlot(d.$slots, "default") + ]), + _: 3 + }, 8, ["disabled", "color", "class"]); + }; + } + }), jT = /* @__PURE__ */ ie.create({ + name: "fullscreen", + addOptions() { + return { + ...this.parent?.(), + useWindow: false, + button: ({ editor: t7, extension: e7, t: n }) => ({ + component: NC, + componentProps: { + useWindow: e7.options.useWindow ?? false + } + }) + }; + } + }), HC = ve.create({ + name: "heading", + addOptions() { + return { + levels: [1, 2, 3, 4, 5, 6], + HTMLAttributes: {} + }; + }, + content: "inline*", + group: "block", + defining: true, + addAttributes() { + return { + level: { + default: 1, + rendered: false + } + }; + }, + parseHTML() { + return this.options.levels.map((t7) => ({ + tag: `h${t7}`, + attrs: { level: t7 } + })); + }, + renderHTML({ node: t7, HTMLAttributes: e7 }) { + return [`h${this.options.levels.includes(t7.attrs.level) ? t7.attrs.level : this.options.levels[0]}`, re(this.options.HTMLAttributes, e7), 0]; + }, + addCommands() { + return { + setHeading: (t7) => ({ commands: e7 }) => this.options.levels.includes(t7.level) ? e7.setNode(this.name, t7) : false, + toggleHeading: (t7) => ({ commands: e7 }) => this.options.levels.includes(t7.level) ? e7.toggleNode(this.name, "paragraph", t7) : false + }; + }, + addKeyboardShortcuts() { + return this.options.levels.reduce((t7, e7) => ({ + ...t7, + [`Mod-Alt-${e7}`]: () => this.editor.commands.toggleHeading({ level: e7 }) + }), {}); + }, + addInputRules() { + return this.options.levels.map((t7) => jl({ + find: new RegExp(`^(#{${Math.min(...this.options.levels)},${t7}})\\s$`), + type: this.type, + getAttributes: { + level: t7 + } + })); + } + }), WT = /* @__PURE__ */ HC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "heading", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + levels: [1, 2, 3, 4, 5, 6], + button: ({ editor: t7, extension: e7, t: n }) => { + const { extensions: r = [] } = t7.extensionManager ?? [], i7 = e7.options?.levels || [], o = r.find( + (l) => l.name === "base-kit" + ), s = i7.map((l) => ({ + action: () => t7.chain().focus().toggleHeading({ level: l }).run(), + isActive: () => t7.isActive("heading", { level: l }) || false, + disabled: !t7.can().toggleHeading({ level: l }), + icon: `h${l}`, + title: n(`editor.heading.h${l}.tooltip`) + })); + o && o.options.paragraph !== false && s.unshift({ + action: () => t7.chain().focus().setParagraph().run(), + isActive: () => t7.isActive("paragraph") || false, + disabled: !t7.can().setParagraph(), + icon: "p", + title: n("editor.paragraph.tooltip"), + divider: true + }); + const a = s.filter((l) => l.disabled).length === s.length; + return { + component: io, + componentProps: { + icon: "heading", + tooltip: n("editor.heading.tooltip"), + disabled: a, + items: s + } + }; + } + }; + } + }), VC = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, RC = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g, DC = et.create({ + name: "highlight", + addOptions() { + return { + multicolor: false, + HTMLAttributes: {} + }; + }, + addAttributes() { + return this.options.multicolor ? { + color: { + default: null, + parseHTML: (t7) => t7.getAttribute("data-color") || t7.style.backgroundColor, + renderHTML: (t7) => t7.color ? { + "data-color": t7.color, + style: `background-color: ${t7.color}; color: inherit` + } : {} + } + } : {}; + }, + parseHTML() { + return [ + { + tag: "mark" + } + ]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["mark", re(this.options.HTMLAttributes, t7), 0]; + }, + addCommands() { + return { + setHighlight: (t7) => ({ commands: e7 }) => e7.setMark(this.name, t7), + toggleHighlight: (t7) => ({ commands: e7 }) => e7.toggleMark(this.name, t7), + unsetHighlight: () => ({ commands: t7 }) => t7.unsetMark(this.name) + }; + }, + addKeyboardShortcuts() { + return { + "Mod-Shift-h": () => this.editor.commands.toggleHighlight() + }; + }, + addInputRules() { + return [ + ar({ + find: VC, + type: this.type + }) + ]; + }, + addPasteRules() { + return [ + On({ + find: RC, + type: this.type + }) + ]; + } + }), _C = /* @__PURE__ */ require$$0.defineComponent({ + __name: "HighlightActionButton", + props: { + editor: {}, + icon: { default: void 0 }, + tooltip: { default: void 0 }, + disabled: { type: Boolean, default: false }, + action: { type: Function, default: void 0 }, + isActive: { type: Function, default: void 0 } + }, + setup(t7) { + const e7 = t7, { state: n } = Su(); + function r(i7) { + e7.action?.(i7); + } + return require$$0.watchEffect(() => { + const { color: i7 } = e7.editor.getAttributes("highlight"); + n.highlight = i7; + }), (i7, o) => (require$$0.openBlock(), require$$0.createBlock(ee, { + icon: i7.icon, + tooltip: i7.tooltip, + disabled: i7.disabled, + color: require$$0.unref(n).highlight, + "is-active": i7.isActive + }, { + default: require$$0.withCtx(() => [ + require$$0.createVNode(B1, { + modelValue: require$$0.unref(n).highlight, + "onUpdate:modelValue": o[0] || (o[0] = (s) => require$$0.unref(n).highlight = s), + activator: "parent", + "nudge-top": -4, + "nudge-left": 8, + onChange: r + }, null, 8, ["modelValue"]) + ]), + _: 1 + }, 8, ["icon", "tooltip", "disabled", "color", "is-active"])); + } + }), qT = /* @__PURE__ */ DC.extend({ + addAttributes() { + return Be( + this.parent?.(), + "highlight", + this.options.allowedAttributes + ); + }, + addOptions() { + return { + ...this.parent?.(), + multicolor: true, + button: ({ editor: t7, t: e7 }) => ({ + component: _C, + componentProps: { + action: (n) => { + typeof n == "string" && t7.chain().focus().setHighlight({ color: n }).run(); + }, + isActive: () => t7.isActive("highlight") || false, + disabled: !t7.can().setHighlight(), + icon: "highlight", + tooltip: e7("editor.highlight.tooltip") + } + }) + }; + } + }); + var gs = 200, Le = function() { + }; + Le.prototype.append = function(e7) { + return e7.length ? (e7 = Le.from(e7), !this.length && e7 || e7.length < gs && this.leafAppend(e7) || this.length < gs && e7.leafPrepend(this) || this.appendInner(e7)) : this; + }; + Le.prototype.prepend = function(e7) { + return e7.length ? Le.from(e7).append(this) : this; + }; + Le.prototype.appendInner = function(e7) { + return new PC(this, e7); + }; + Le.prototype.slice = function(e7, n) { + return e7 === void 0 && (e7 = 0), n === void 0 && (n = this.length), e7 >= n ? Le.empty : this.sliceInner(Math.max(0, e7), Math.min(this.length, n)); + }; + Le.prototype.get = function(e7) { + if (!(e7 < 0 || e7 >= this.length)) + return this.getInner(e7); + }; + Le.prototype.forEach = function(e7, n, r) { + n === void 0 && (n = 0), r === void 0 && (r = this.length), n <= r ? this.forEachInner(e7, n, r, 0) : this.forEachInvertedInner(e7, n, r, 0); + }; + Le.prototype.map = function(e7, n, r) { + n === void 0 && (n = 0), r === void 0 && (r = this.length); + var i7 = []; + return this.forEach(function(o, s) { + return i7.push(e7(o, s)); + }, n, r), i7; + }; + Le.from = function(e7) { + return e7 instanceof Le ? e7 : e7 && e7.length ? new F1(e7) : Le.empty; + }; + var F1 = /* @__PURE__ */ function(t7) { + function e7(r) { + t7.call(this), this.values = r; + } + t7 && (e7.__proto__ = t7), e7.prototype = Object.create(t7 && t7.prototype), e7.prototype.constructor = e7; + var n = { length: { configurable: true }, depth: { configurable: true } }; + return e7.prototype.flatten = function() { + return this.values; + }, e7.prototype.sliceInner = function(i7, o) { + return i7 == 0 && o == this.length ? this : new e7(this.values.slice(i7, o)); + }, e7.prototype.getInner = function(i7) { + return this.values[i7]; + }, e7.prototype.forEachInner = function(i7, o, s, a) { + for (var l = o; l < s; l++) + if (i7(this.values[l], a + l) === false) + return false; + }, e7.prototype.forEachInvertedInner = function(i7, o, s, a) { + for (var l = o - 1; l >= s; l--) + if (i7(this.values[l], a + l) === false) + return false; + }, e7.prototype.leafAppend = function(i7) { + if (this.length + i7.length <= gs) + return new e7(this.values.concat(i7.flatten())); + }, e7.prototype.leafPrepend = function(i7) { + if (this.length + i7.length <= gs) + return new e7(i7.flatten().concat(this.values)); + }, n.length.get = function() { + return this.values.length; + }, n.depth.get = function() { + return 0; + }, Object.defineProperties(e7.prototype, n), e7; + }(Le); + Le.empty = new F1([]); + var PC = /* @__PURE__ */ function(t7) { + function e7(n, r) { + t7.call(this), this.left = n, this.right = r, this.length = n.length + r.length, this.depth = Math.max(n.depth, r.depth) + 1; + } + return t7 && (e7.__proto__ = t7), e7.prototype = Object.create(t7 && t7.prototype), e7.prototype.constructor = e7, e7.prototype.flatten = function() { + return this.left.flatten().concat(this.right.flatten()); + }, e7.prototype.getInner = function(r) { + return r < this.left.length ? this.left.get(r) : this.right.get(r - this.left.length); + }, e7.prototype.forEachInner = function(r, i7, o, s) { + var a = this.left.length; + if (i7 < a && this.left.forEachInner(r, i7, Math.min(o, a), s) === false || o > a && this.right.forEachInner(r, Math.max(i7 - a, 0), Math.min(this.length, o) - a, s + a) === false) + return false; + }, e7.prototype.forEachInvertedInner = function(r, i7, o, s) { + var a = this.left.length; + if (i7 > a && this.right.forEachInvertedInner(r, i7 - a, Math.max(o, a) - a, s + a) === false || o < a && this.left.forEachInvertedInner(r, Math.min(i7, a), o, s) === false) + return false; + }, e7.prototype.sliceInner = function(r, i7) { + if (r == 0 && i7 == this.length) + return this; + var o = this.left.length; + return i7 <= o ? this.left.slice(r, i7) : r >= o ? this.right.slice(r - o, i7 - o) : this.left.slice(r, o).append(this.right.slice(0, i7 - o)); + }, e7.prototype.leafAppend = function(r) { + var i7 = this.right.leafAppend(r); + if (i7) + return new e7(this.left, i7); + }, e7.prototype.leafPrepend = function(r) { + var i7 = this.left.leafPrepend(r); + if (i7) + return new e7(i7, this.right); + }, e7.prototype.appendInner = function(r) { + return this.left.depth >= Math.max(this.right.depth, r.depth) + 1 ? new e7(this.left, new e7(this.right, r)) : new e7(this, r); + }, e7; + }(Le); + const IC = 500; + class kt { + constructor(e7, n) { + this.items = e7, this.eventCount = n; + } + // Pop the latest event off the branch's history and apply it + // to a document transform. + popEvent(e7, n) { + if (this.eventCount == 0) + return null; + let r = this.items.length; + for (; ; r--) + if (this.items.get(r - 1).selection) { + --r; + break; + } + let i7, o; + n && (i7 = this.remapping(r, this.items.length), o = i7.maps.length); + let s = e7.tr, a, l, u = [], c = []; + return this.items.forEach((d, f) => { + if (!d.step) { + i7 || (i7 = this.remapping(r, f + 1), o = i7.maps.length), o--, c.push(d); + return; + } + if (i7) { + c.push(new Ct(d.map)); + let p = d.step.map(i7.slice(o)), h; + p && s.maybeStep(p).doc && (h = s.mapping.maps[s.mapping.maps.length - 1], u.push(new Ct(h, void 0, void 0, u.length + c.length))), o--, h && i7.appendMap(h, o); + } else + s.maybeStep(d.step); + if (d.selection) + return a = i7 ? d.selection.map(i7.slice(o)) : d.selection, l = new kt(this.items.slice(0, r).append(c.reverse().concat(u)), this.eventCount - 1), false; + }, this.items.length, 0), { remaining: l, transform: s, selection: a }; + } + // Create a new branch with the given transform added. + addTransform(e7, n, r, i7) { + let o = [], s = this.eventCount, a = this.items, l = !i7 && a.length ? a.get(a.length - 1) : null; + for (let c = 0; c < e7.steps.length; c++) { + let d = e7.steps[c].invert(e7.docs[c]), f = new Ct(e7.mapping.maps[c], d, n), p; + (p = l && l.merge(f)) && (f = p, c ? o.pop() : a = a.slice(0, a.length - 1)), o.push(f), n && (s++, n = void 0), i7 || (l = f); + } + let u = s - r.depth; + return u > FC && (a = BC(a, u), s -= u), new kt(a.append(o), s); + } + remapping(e7, n) { + let r = new _i(); + return this.items.forEach((i7, o) => { + let s = i7.mirrorOffset != null && o - i7.mirrorOffset >= e7 ? r.maps.length - i7.mirrorOffset : void 0; + r.appendMap(i7.map, s); + }, e7, n), r; + } + addMaps(e7) { + return this.eventCount == 0 ? this : new kt(this.items.append(e7.map((n) => new Ct(n))), this.eventCount); + } + // When the collab module receives remote changes, the history has + // to know about those, so that it can adjust the steps that were + // rebased on top of the remote changes, and include the position + // maps for the remote changes in its array of items. + rebased(e7, n) { + if (!this.eventCount) + return this; + let r = [], i7 = Math.max(0, this.items.length - n), o = e7.mapping, s = e7.steps.length, a = this.eventCount; + this.items.forEach((f) => { + f.selection && a--; + }, i7); + let l = n; + this.items.forEach((f) => { + let p = o.getMirror(--l); + if (p == null) + return; + s = Math.min(s, p); + let h = o.maps[p]; + if (f.step) { + let m7 = e7.steps[p].invert(e7.docs[p]), g = f.selection && f.selection.map(o.slice(l + 1, p)); + g && a++, r.push(new Ct(h, m7, g)); + } else + r.push(new Ct(h)); + }, i7); + let u = []; + for (let f = n; f < s; f++) + u.push(new Ct(o.maps[f])); + let c = this.items.slice(0, i7).append(u).append(r), d = new kt(c, a); + return d.emptyItemCount() > IC && (d = d.compress(this.items.length - r.length)), d; + } + emptyItemCount() { + let e7 = 0; + return this.items.forEach((n) => { + n.step || e7++; + }), e7; + } + // Compressing a branch means rewriting it to push the air (map-only + // items) out. During collaboration, these naturally accumulate + // because each remote change adds one. The `upto` argument is used + // to ensure that only the items below a given level are compressed, + // because `rebased` relies on a clean, untouched set of items in + // order to associate old items with rebased steps. + compress(e7 = this.items.length) { + let n = this.remapping(0, e7), r = n.maps.length, i7 = [], o = 0; + return this.items.forEach((s, a) => { + if (a >= e7) + i7.push(s), s.selection && o++; + else if (s.step) { + let l = s.step.map(n.slice(r)), u = l && l.getMap(); + if (r--, u && n.appendMap(u, r), l) { + let c = s.selection && s.selection.map(n.slice(r)); + c && o++; + let d = new Ct(u.invert(), l, c), f, p = i7.length - 1; + (f = i7.length && i7[p].merge(d)) ? i7[p] = f : i7.push(d); + } + } else s.map && r--; + }, this.items.length, 0), new kt(Le.from(i7.reverse()), o); + } + } + kt.empty = new kt(Le.empty, 0); + function BC(t7, e7) { + let n; + return t7.forEach((r, i7) => { + if (r.selection && e7-- == 0) + return n = i7, false; + }), t7.slice(n); + } + class Ct { + constructor(e7, n, r, i7) { + this.map = e7, this.step = n, this.selection = r, this.mirrorOffset = i7; + } + merge(e7) { + if (this.step && e7.step && !e7.selection) { + let n = e7.step.merge(this.step); + if (n) + return new Ct(n.getMap().invert(), n, this.selection); + } + } + } + class hn { + constructor(e7, n, r, i7, o) { + this.done = e7, this.undone = n, this.prevRanges = r, this.prevTime = i7, this.prevComposition = o; + } + } + const FC = 20; + function zC(t7, e7, n, r) { + let i7 = n.getMeta(Qn), o; + if (i7) + return i7.historyState; + n.getMeta(WC) && (t7 = new hn(t7.done, t7.undone, null, 0, -1)); + let s = n.getMeta("appendedTransaction"); + if (n.steps.length == 0) + return t7; + if (s && s.getMeta(Qn)) + return s.getMeta(Qn).redo ? new hn(t7.done.addTransform(n, void 0, r, Ko(e7)), t7.undone, tp(n.mapping.maps), t7.prevTime, t7.prevComposition) : new hn(t7.done, t7.undone.addTransform(n, void 0, r, Ko(e7)), null, t7.prevTime, t7.prevComposition); + if (n.getMeta("addToHistory") !== false && !(s && s.getMeta("addToHistory") === false)) { + let a = n.getMeta("composition"), l = t7.prevTime == 0 || !s && t7.prevComposition != a && (t7.prevTime < (n.time || 0) - r.newGroupDelay || !$C(n, t7.prevRanges)), u = s ? il(t7.prevRanges, n.mapping) : tp(n.mapping.maps); + return new hn(t7.done.addTransform(n, l ? e7.selection.getBookmark() : void 0, r, Ko(e7)), kt.empty, u, n.time, a ?? t7.prevComposition); + } else return (o = n.getMeta("rebased")) ? new hn(t7.done.rebased(n, o), t7.undone.rebased(n, o), il(t7.prevRanges, n.mapping), t7.prevTime, t7.prevComposition) : new hn(t7.done.addMaps(n.mapping.maps), t7.undone.addMaps(n.mapping.maps), il(t7.prevRanges, n.mapping), t7.prevTime, t7.prevComposition); + } + function $C(t7, e7) { + if (!e7) + return false; + if (!t7.docChanged) + return true; + let n = false; + return t7.mapping.maps[0].forEach((r, i7) => { + for (let o = 0; o < e7.length; o += 2) + r <= e7[o + 1] && i7 >= e7[o] && (n = true); + }), n; + } + function tp(t7) { + let e7 = []; + for (let n = t7.length - 1; n >= 0 && e7.length == 0; n--) + t7[n].forEach((r, i7, o, s) => e7.push(o, s)); + return e7; + } + function il(t7, e7) { + if (!t7) + return null; + let n = []; + for (let r = 0; r < t7.length; r += 2) { + let i7 = e7.map(t7[r], 1), o = e7.map(t7[r + 1], -1); + i7 <= o && n.push(i7, o); + } + return n; + } + function jC(t7, e7, n) { + let r = Ko(e7), i7 = Qn.get(e7).spec.config, o = (n ? t7.undone : t7.done).popEvent(e7, r); + if (!o) + return null; + let s = o.selection.resolve(o.transform.doc), a = (n ? t7.done : t7.undone).addTransform(o.transform, e7.selection.getBookmark(), i7, r), l = new hn(n ? a : o.remaining, n ? o.remaining : a, null, 0, -1); + return o.transform.setSelection(s).setMeta(Qn, { redo: n, historyState: l }); + } + let ol = false, np = null; + function Ko(t7) { + let e7 = t7.plugins; + if (np != e7) { + ol = false, np = e7; + for (let n = 0; n < e7.length; n++) + if (e7[n].spec.historyPreserveItems) { + ol = true; + break; + } + } + return ol; + } + const Qn = new Ae("history"), WC = new Ae("closeHistory"); + function qC(t7 = {}) { + return t7 = { + depth: t7.depth || 100, + newGroupDelay: t7.newGroupDelay || 500 + }, new fe({ + key: Qn, + state: { + init() { + return new hn(kt.empty, kt.empty, null, 0, -1); + }, + apply(e7, n, r) { + return zC(n, r, e7, t7); + } + }, + config: t7, + props: { + handleDOMEvents: { + beforeinput(e7, n) { + let r = n.inputType, i7 = r == "historyUndo" ? $1 : r == "historyRedo" ? j1 : null; + return i7 ? (n.preventDefault(), i7(e7.state, e7.dispatch)) : false; + } + } + } + }); + } + function z1(t7, e7) { + return (n, r) => { + let i7 = Qn.getState(n); + if (!i7 || (t7 ? i7.undone : i7.done).eventCount == 0) + return false; + if (r) { + let o = jC(i7, n, t7); + o && r(o.scrollIntoView()); + } + return true; + }; + } + const $1 = z1(false), j1 = z1(true), UC = ie.create({ + name: "history", + addOptions() { + return { + depth: 100, + newGroupDelay: 500 + }; + }, + addCommands() { + return { + undo: () => ({ state: t7, dispatch: e7 }) => $1(t7, e7), + redo: () => ({ state: t7, dispatch: e7 }) => j1(t7, e7) + }; + }, + addProseMirrorPlugins() { + return [ + qC(this.options) + ]; + }, + addKeyboardShortcuts() { + return { + "Mod-z": () => this.editor.commands.undo(), + "Shift-Mod-z": () => this.editor.commands.redo(), + "Mod-y": () => this.editor.commands.redo(), + // Russian keyboard layouts + "Mod-я": () => this.editor.commands.undo(), + "Shift-Mod-я": () => this.editor.commands.redo() + }; + } + }), UT = /* @__PURE__ */ UC.extend({ + addOptions() { + return { + ...this.parent?.(), + depth: 10, + button: ({ editor: t7, t: e7 }) => ["undo", "redo"].map((r) => ({ + component: ee, + componentProps: { + action: () => { + r === "undo" && t7.chain().focus().undo().run(), r === "redo" && t7.chain().focus().redo().run(); + }, + disabled: !t7.can()[r](), + icon: r, + tooltip: e7(`editor.${r}.tooltip`) + } + })) + }; + } + }), KC = ve.create({ + name: "horizontalRule", + addOptions() { + return { + HTMLAttributes: {} + }; + }, + group: "block", + parseHTML() { + return [{ tag: "hr" }]; + }, + renderHTML({ HTMLAttributes: t7 }) { + return ["hr", re(this.options.HTMLAttributes, t7)]; + }, + addCommands() { + return { + setHorizontalRule: () => ({ chain: t7, state: e7 }) => { + if (!$x(e7, e7.schema.nodes[this.name])) + return false; + const { selection: n } = e7, { $from: r, $to: i7 } = n, o = t7(); + return r.parentOffset === 0 ? o.insertContentAt({ + from: Math.max(r.pos - 1, 0), + to: i7.pos + }, { + type: this.name + }) : G0(n) ? o.insertContentAt(i7.pos, { + type: this.name + }) : o.insertContent({ type: this.name }), o.command(({ tr: s, dispatch: a }) => { + var l; + if (a) { + const { $to: u } = s.selection, c = u.end(); + if (u.nodeAfter) + u.nodeAfter.isTextblock ? s.setSelection(z.create(s.doc, u.pos + 1)) : u.nodeAfter.isBlock ? s.setSelection(F.create(s.doc, u.pos)) : s.setSelection(z.create(s.doc, u.pos)); + else { + const d = (l = u.parent.type.contentMatch.defaultType) === null || l === void 0 ? void 0 : l.create(); + d && (s.insert(c, d), s.setSelection(z.create(s.doc, c + 1))); + } + s.scrollIntoView(); + } + return true; + }).run(); + } + }; + }, + addInputRules() { + return [ + Z0({ + find: /^(?:---|—-|___\s|\*\*\*\s)$/, + type: this.type + }) + ]; + } + }), KT = /* @__PURE__ */ KC.extend({ + addOptions() { + return { + ...this.parent?.(), + button: ({ editor: t7, t: e7 }) => ({ + component: ee, + componentProps: { + action: () => t7.chain().focus().setHorizontalRule().run(), + disabled: !t7.can().setHorizontalRule(), + icon: "horizontalRule", + tooltip: e7("editor.horizontalrule.tooltip") + } + }) + }; + } + }); + function GC(t7) { + const e7 = t7.view.dom, n = e7.parentElement; + if (!n) return null; + window.pageYOffset || document.documentElement.scrollTop, window.pageXOffset || document.documentElement.scrollLeft; + const r = document.createElement("div"); + r.className = "tiptap-html-overlay", r.style.position = "absolute", r.style.top = "0", r.style.left = "0", r.style.width = "100%", r.style.height = "100%", r.style.backgroundColor = "#f8f9fa", r.style.zIndex = "10", r.style.display = "flex", r.style.flexDirection = "column", r.style.boxSizing = "border-box", r.style.border = "1px solid #ddd"; + const i7 = document.createElement("textarea"); + i7.className = "tiptap-html-editor", i7.style.width = "100%", i7.style.height = "100%", i7.style.padding = "12px", i7.style.border = "none", i7.style.resize = "none", i7.style.fontFamily = "monospace", i7.style.fontSize = "14px", i7.style.backgroundColor = "transparent", i7.style.flex = "1", i7.style.outline = "none", i7.style.color = "#333"; + const o = t7.getHTML(); + t7.storage.htmlView.editorContent = o; + const s = JC(o); + i7.value = s, t7.storage.htmlView.htmlContent = s, r.appendChild(i7), n.style.position = "relative"; + const a = e7.offsetWidth, l = e7.offsetHeight; + return r.style.width = `${a}px`, r.style.height = `${l}px`, r.style.minHeight = `${l}px`, r.style.transition = "none", n.appendChild(r), setTimeout(() => { + i7.focus({ preventScroll: true }), console.log("Switched to HTML view mode"); + }, 10), i7.addEventListener("input", () => { + t7.storage.htmlView.htmlContent = i7.value; + try { + t7.storage.htmlView.isUpdatingFromHTML = true; + const u = W1(i7.value); + t7.commands.setContent(u, false); + const c = t7.state.tr; + c.setMeta("preventUpdate", false), c.setMeta("addToHistory", false), t7.view.dispatch(c), t7.options.onUpdate && t7.options.onUpdate({ + editor: t7, + transaction: c + }); + } catch (u) { + console.error("Error syncing HTML to editor:", u); + } finally { + requestAnimationFrame(() => { + t7.storage.htmlView.isUpdatingFromHTML = false; + }); + } + }), r; + } + function JC(t7) { + return t7.replace(/
]*>[\s\S]*?<\/div>/gi, "").replace( + /