From 0ddb2e7551263a7cd9bca72010e9e2b4c796eb4d Mon Sep 17 00:00:00 2001 From: Bubka <858858+Bubka@users.noreply.github.com> Date: Sun, 17 Sep 2023 21:47:50 +0200 Subject: [PATCH] Bump version number & Update change log & Recompile assets --- changelog.md | 6 ++++++ config/2fauth.php | 2 +- public/js/app.js | 2 +- public/mix-manifest.json | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/changelog.md b/changelog.md index b7778ccb..fc319a8d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Change log +## [4.2.2] - 2023-09-17 + +### Fixed + +- [issue #232](https://github.com/Bubka/2FAuth/issues/232) Vendor.js throws error making frontend unusable + ## [4.2.1] - 2023-09-14 ### Fixed diff --git a/config/2fauth.php b/config/2fauth.php index 71fc12be..f6ae9991 100644 --- a/config/2fauth.php +++ b/config/2fauth.php @@ -9,7 +9,7 @@ | */ - 'version' => '4.2.1', + 'version' => '4.2.2', 'repository' => 'https://github.com/Bubka/2FAuth', 'latestReleaseUrl' => 'https://api.github.com/repos/Bubka/2FAuth/releases/latest', 'installDocUrl' => 'https://docs.2fauth.app/getting-started/installation/self-hosted-server/', diff --git a/public/js/app.js b/public/js/app.js index 3857d109..a2ff6ab3 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -(self.webpackChunk=self.webpackChunk||[]).push([[773],{806:e=>{e.exports={bg:{auth:{failed:"Тези идентификационни данни не съответстват на нашите записи.",password:"Предоставената парола е неправилна.",throttle:"Твърде много опити за влизане. Опитайте се пак след :seconds секунди.",sign_out:"Изход",sign_in:"Вход",sign_in_using:"Влизане с",sign_in_using_security_device:"Влезте с помощта на защитно устройство",login_and_password:"потребител и парола",register:"Регистрация",welcome_to_2fauth:"Добре дошли в 2FAuth",autolock_triggered:"Задейства се автоматично заключване",autolock_triggered_punchline:"Задействано е автоматизно заклюване. Връзката ви е автоматично прекратена.",change_autolock_in_settings:"Можете да промените поведението на функцията за автоматично заключване в раздела Настройки > Опции.",already_authenticated:"Вече сте удостоверени",authentication:"Удостоверяване",maybe_later:"Може би по-късно",user_account_controlled_by_proxy:"Потребителски акаунт, предоставен от прокси за удостоверяване.
Управлявайте акаунта на ниво прокси.",auth_handled_by_proxy:"Удостоверяването се обработва от ревърс прокси, настройките по-долу са деактивирани.
Управлявайте удостоверяването на ниво прокси.",confirm:{logout:"Сигурни ли сте, че искате да излезете?",revoke_device:"Сигурни ли сте, че искате да анулирате това устройство?",delete_account:"Сигурни ли сте, че искате да изтриете профила си?"},webauthn:{security_device:"устройство за сигурност",security_devices:"Устройства за сигурност",security_devices_legend:"Устройства за удостоверяване, които можете да използвате за влизане в 2FAuth, като ключове за сигурност (като Yubikey) или смартфони с биометрични възможности (като Apple FaceId/TouchId)",enhance_security_using_webauthn:"Можете да подобрите сигурността на вашия 2FAuth акаунт, като активирате WebAuthn удостоверяване.

\r\n WebAuthn ви позволява да използвате надеждни устройства (като Yubikeys или смартфони с биометрични възможности), за да влизате бързо и по-сигурно.",use_security_device_to_sign_in:"Пригответе се за удостоверяване с помощта на (едно от) вашите устройства за сигурност. Включете ключа си, свалете маската за лице или ръкавиците и т.н.",lost_your_device:"Загубихте устройството си?",recover_your_account:"Възстановете профила си",account_recovery:"Възстановяване на профил",recovery_punchline:"2FAuth ще ви изпрати връзка за възстановяване на този имейл адрес. Кликнете върху връзката получена в имейл-а и следвайте инструкциите.

Уверете се, че отваряте имейла на устройство, което изцяло притежавате.",send_recovery_link:"Изпратете връзка за възстановяване",account_recovery_email_sent:"Имейлът за възстановяване на акаунта е изпратен!",disable_all_security_devices:"Деактивирайте всички защитни устройства",disable_all_security_devices_help:"Всички ваши устройства за сигурност ще бъдат отменени. Използвайте тази опция, ако сте загубили такова устройство или сигурността му е била компрометирана.",register_a_new_device:"Регистрирайте ново устройство",register_a_device:"Регистрирайте устройство",device_successfully_registered:"Устройството е регистрирано успешно",device_revoked:"Устройството е анулирано успешно",revoking_a_device_is_permanent:"Анулираното на устройство е перманентно",recover_account_instructions:"За да възстановите акаунта си, 2FAuth нулира някои настройки на Webauthn, така че да можете да влезете с вашия имейл и парола.",invalid_recovery_token:"Невалиден токен за възстановяване",webauthn_login_disabled:"Влизането чрез Webauthn е деактивирано",invalid_reset_token:"Този токен за нулиране е невалиден.",rename_device:"Преименуване на устройство",my_device:"Моето устройство",unknown_device:"Неразпознато устройство",use_webauthn_only:{label:"Използвайте само WebAuthn",help:"Направете WebAuthn единственият разрешен метод за влизане във вашия 2FAuth акаунт. Това е препоръчителната настройка, за да се възползвате от подобрената защита на WebAuthn.

\r\n В случай на загуба на устройство, ще можете да възстановите акаунта си, като нулирате тази опция и влезете с вашия имейл и парола.

\r\n внимание! Формулярът за имейл и парола остава достъпен, въпреки че тази опция е активирана, но винаги ще връща отговор „Неуспешно удостоверяване“."},need_a_security_device_to_enable_options:"Задайте поне едно устройство, за да активирате следните опции"},forms:{name:"Име",login:"Вход",webauthn_login:"WebAuthn вход",email:"Имейл",password:"Парола",reveal_password:"Покажи паролата",hide_password:"Скрий паролата",confirm_password:"Потвърждаване на паролата",confirm_new_password:"Потвърди новата парола",dont_have_account_yet:"Все още нямате акаунт?",already_register:"Вече сте регистриран?",authentication_failed:"Неуспешна идентификация",forgot_your_password:"Забравена парола?",request_password_reset:"Възстанови я",reset_your_password:"Нулиране на паролата",reset_password:"Нулиране на парола",disabled_in_demo:"Функцията е деактивирана в демо режима",new_password:"Нова парола",current_password:{label:"Текуща парола",help:"Попълнете текущата си парола, за да потвърдите, че това сте вие"},change_password:"Промяна на паролата",send_password_reset_link:"Изпратете връзка за нулиране на паролата",password_successfully_changed:"Паролата е променена успешно",edit_account:"Редактиране на профил",profile_saved:"Профилът е актуализиран успешно!",welcome_to_demo_app_use_those_credentials:"Добре дошли в демонстрацията на 2FAuth.

Можете да влезете с имейл demo@2fauth.app и парола demo",welcome_to_testing_app_use_those_credentials:"Добре дошли в тестовата версия на 2FAuth.

Използвайте имейл testing@2fauth.app и парола password",register_punchline:"Добре дошли в 2FAuth.
Имате нужда от акаунт, за да продължите, моля, регистрирайте се.",reset_punchline:"2FAuth ще ви изпрати връзка за нулиране на паролата на този адрес. Кликнете върху връзката в получения имейл, за да зададете нова парола.",name_this_device:"Назовете това устройство",delete_account:"Изтриване на профил",delete_your_account:"Изтрийте профила си",delete_your_account_and_reset_all_data:"Това ще нулира 2FAuth. Вашият потребителски акаунт ще бъде изтрит, както и всички 2FA данни. Няма връщане назад.",user_account_successfully_deleted:"Потребителският профил е изтрит успешно",has_lower_case:"Съдържа малки букви",has_upper_case:"Съдържа големи букви",has_special_char:"Съдържа символи",has_number:"Съдържа числа",is_long_enough:"Минимум 8 символа.",mandatory_rules:"Задължително",optional_rules_you_should_follow:"Силно препоръчително",caps_lock_is_on:"Главните букви са включени"}},commons:{cancel:"Отказ",update:"Актуализация",copy:"Копиране",copy_to_clipboard:"Копиране в клипборда",copied_to_clipboard:"Копирано в клипборда",profile:"Профил",edit:"Редактиране",delete:"Изтрий",disable:"Деактивиране",enable:"Активирай",create:"Създай",save:"Запази",close:"Затвори",clear:"Изчисти",clear_search:"Изчисти търсенето",demo_do_not_post_sensitive_data:"Това е демонстрационна програма. Не записвайте чуествителна информация",testing_do_not_post_sensitive_data:"Това е тестова програма. Не записвайте чуествителна информация",selected:"избрани",name:"Име",manage:"Управление",done:"Готово",new:"Нов",back:"Назад",move:"Премести",export:"Експорт",all:"Всички",select_all:"Избери всички",clear_selection:"Изчисти избраните",sort_descending:"Сортирай низходящо",sort_ascending:"Cортирай възходящо",rename:"Преименуване",new_name:"Ново име",options:"Настроики",reload:"презаредите",some_data_have_changed:"Някой записи са променени. Трябва да",generate:"Създаване",generating_otp:"Generating OTP",open_in_browser:"Отвори в браузър",continue:"Продължи",discard:"Откажи",about:"Относно",usefull_links:"Полезни връзки",environment:"Среда",credits:"Заслуги","2fauth_teaser":"Уеб приложение за управление на вашите акаунти с двуфакторно удостоверяване (2FA) и генериране на техните кодове за сигурност",made_with:"Изработено с",ui_icons_by:"Икони",logos_by:"Лога от",search:"Търсене",resources:"Ресурси",check_for_update:"Проверка за нова версия",check_for_update_help:"Автоматично проверявайте (веднъж седмично) и предупреди, когато в Github се публикува нова версия на 2FAuth",you_are_up_to_date:"Тази инстанция е актуална","2fauth_description":"Уеб приложение за управление на вашите акаунти с двуфакторно удостоверяване (2FA) и генериране на техните кодове за сигурност",image_of_qrcode_to_scan:"Изображение на QR код за сканиране",file:"Файл",or:"ИЛИ",close_the_x_page:"Затвори {pagetitle} страницата"},errors:{resource_not_found:"Ресурсът не е намерен",error_occured:"Възникна грешка:",refresh:"Презареждане",no_valid_otp:"Няма валиден OTP ресурс в този QR код",something_wrong_with_server:"Нещо не е наред със сървъра ви",Unable_to_decrypt_uri:"URIа не може да се декриптира",not_a_supported_otp_type:"Този OTP формат не се поддържа",cannot_create_otp_without_secret:"Не може да се създаде OTP без тайна",data_of_qrcode_is_not_valid_URI:"Данните от този QR код не са валиден OTP Auth URI. QR кодът съдържа:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Шифроването е неуспешно, вашата база данни остава незащитена.",error_during_decryption:"Дешифрирането е неуспешно, вашата база данни все още е защитена. Това се дължи главно на проблем с целостта на криптираните данни за един или повече акаунти.",qrcode_cannot_be_read:"Този QR код е нечетлив",too_many_ids:"твърде много идентификатори бяха включени в параметъра на заявката, разрешени са максимум 100",delete_user_setting_only:"Само настройка създадена от потребител може да бъде изтрита",indecipherable:"*неразгадаем*",cannot_decipher_secret:"Тайната не може да бъде разгадана. Това се причинява главно от грешен APP_KEY, зададен в конфигурационния файл .env на 2Fauth или на повредени данни в базата данни.",https_required:"Изисква се HTTPS контекст",browser_does_not_support_webauthn:"Вашето устройство не поддържа webauthn. Опитайте отново с по-модерен браузър",aborted_by_user:"Прекратено от потребителя",security_device_unsupported:"Неподдържано или използвано устройство",not_allowed_operation:"Операцията не е разрешена",unsupported_operation:"Неподдържана операция",unknown_error:"Неизвестна грешка",security_error_check_rpid:"Грешка в сигурността
Проверете вашата WEBAUTHN_ID env променлива",unsupported_with_reverseproxy:"Не е приложимо при използване на прокси за удостоверяване",user_deletion_failed:"Изтриването на профила не бе успешно, няма изтрити данни",auth_proxy_failed:"Неуспешно удостоверяване на проксито",auth_proxy_failed_legend:"2Fauth е конфигуриран да работи зад прокси за удостоверяване, но вашето прокси не връща очаквания хедър. Проверете конфигурацията си и опитайте отново.",invalid_x_migration:"Невалидни или нечетливи :appname данни",invalid_2fa_data:"Невалидни 2FA данни",unsupported_migration:"Данните не отговарят на нито един поддържан формат",unsupported_otp_type:"Неподдържан OTP тип",encrypted_migration:"Нечетимо, данните изглеждат криптирани",no_logo_found_for_x:"Няма налично лого за {service}",file_upload_failed:"Качването на файл не бе успешно",unauthorized:"Неразрешено",unauthorized_legend:"Нямате права да видите този ресурс или да извършите това действие",cannot_delete_the_only_admin:"Не може да изтрие единствения администраторски акаунт"},groups:{groups:"Групи",create_group:"Създай нова група",show_group_selector:"Покажи избора на групи",hide_group_selector:"Скрий избора на групи",select_accounts_to_show:"Избери група профили за показване",manage_groups:"Управление на групи",active_group:"Активна група",manage_groups_legend:"Можете да създавате групи, за да организирате акаунтите си по желания от вас начин. Всички профили остават видими в псевдо групата, наречена „Всички“, независимо от групата, към която принадлежат.",deleting_group_does_not_delete_accounts:"Изтриването на група не изтрива профили",move_selected_to:"Премести избраните в",move_selected_to_group:"Преместете избраните в група",no_group:"Няма група",change_group:"Промени група",group_successfully_created:"Групата беше създадена успешно",group_name_saved:"Групата беше преименувана",group_successfully_deleted:"Групата беше изтрита успешно",forms:{new_group:"Нова група",new_name:"Ново име",rename_group:"Преименуване на група"},confirm:{delete:"Сигурни ли сте, че искате да изтриете тази група?"}},languages:{browser_preference:"По предпочитание на браузъра",en:"Английски",fr:"Френски",de:"Немски",es:"Испански",zh:"Китайски (опростен)",ru:"Руски",bg:"Bulgarian"},pagination:{previous:"« Назад",next:"Напред »"},passwords:{reset:"Вашата парола е нулирана!",sent:"Изпратихме Ви писмо с линк за нова парола!",throttled:"Моля, изчакайте, преди да опитате отново.",token:"Ключът за нулиране на паролата е невалиден.",user:"Не можем да намерим потребител с този имейл адрес.",password:"Паролите трябва да имат поне 8 символа и да съвпадат с потвърждението."},settings:{settings:"Настройки",preferences:"Предпочитания",account:"Профил",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Токени",options:"Опции",user_preferences:"Потребителски предпочитания",admin_settings:"Настройки на администратора",confirm:{revoke:"Наистина ли искате да анулирате този токен?"},administration:"Администрация",administration_legend:"Докато предишните настройки са потребителски (всеки потребител може да зададе свои собствени предпочитания), следващите настройки са глобални и се прилагат за всички потребители. Само администратор може да преглежда и редактира тези настройки.",you_are_administrator:"Вие сте администратор",general:"Общи",security:"Сигурност",profile:"Профил",change_password:"Промяна на паролата",personal_access_tokens:"Персонални токени за достъп",token_legend:"Токените за персонален достъп позволяват на всяко приложение да се удостовери в 2Fauth API. Трябва да посочите токена за достъп като токен на Bearer в хедърите за оторизация на заявките за потребителски приложения.",generate_new_token:"Генерирайте нов токен",revoke:"Анулирaне",token_revoked:"Токена е анулиран успешно",revoking_a_token_is_permanent:"Анулираното на токена е перманентно",make_sure_copy_token:"Уверете се, че сте копирали вашия личен токен за достъп. Няма да можете да го видите отново!",data_input:"Въвеждане на данни",forms:{edit_settings:"Редактиране на настройките",setting_saved:"Настройките са запазени",new_token:"Нов токен",some_translation_are_missing:"Някои преводи липсват при използване на предпочитания от браузъра език?",help_translate_2fauth:"Помогнете за превода на 2FAuth",language:{label:"Език",help:"Език, използван за превод на потребителския интерфейс 2FAuth. Наименуваните езици са завършени, задайте този по ваш избор, който да замени предпочитанията на браузъра ви."},show_otp_as_dot:{label:"Показване на генерираните еднократни пароли като точка",help:"Заменете генерираните знаци за парола с ***, за да осигурите поверителност. Не засягайте функцията за копиране/поставяне"},close_otp_on_copy:{label:'Затворете OTP след копиране',help:"Кликването върху генерираната парола ще я копира и автоматично ще я скрива от екрана"},copy_otp_on_display:{label:'Копирайте OTP при показване',help:'Автоматично копиране на генерирана парола веднага след като се появи на екрана. Поради ограниченията на браузърите само първата TOTP парола ще бъде копирана, а не ротационните'},use_basic_qrcode_reader:{label:"Използване на основен четец на QR код",help:"Ако имате проблеми при заснемането на QR кодове, тази опция позволява превключване към по-прост, но по-надежден четец на QR кодове"},display_mode:{label:"Режим на показване",help:"Изберете дали искате профилите да се показват като списък или като решетка"},password_format:{label:"Форматиране на парола",help:"Променете начина, по който се показват паролите, като групирате цифри, за да улесните четливостта и запаметяването"},pair:"на Две",pair_legend:"Групиране на цифрите две по две",trio_legend:"Групиране на цифрите три по три",half_legend:"Разделяне на цифрите на две равни групи",trio:"на Три",half:"на Половина",grid:"Решетка",list:"Списък",theme:{label:"Облик",help:"Прилагане на специфичен облик или прилагане на предпочитания според системните/браузърните предпочитания"},light:"Светъл",dark:"Тъмен",automatic:"Авто",show_accounts_icons:{label:"Показвай иконите",help:"Показва иконите на профилите в основният екран"},get_official_icons:{label:"Взимане на официални икони",help:"Взима официалната икона на издателя на 2FA при добавяне на акаунт (ако е възможно)"},auto_lock:{label:"Автоматично заключване",help:"Отписване на потребителя автоматично в случай на неактивност. Няма ефект, когато удостоверяването се обработва от прокси и не е указан персонализиран URL адрес за излизане."},use_encryption:{label:"Защита на чувствителните данни",help:'Чувствителните данни, 2FA тайните и имейлите се съхраняват криптирани в база данни. Не забравяйте да направите резервно копие на стойността "APP_KEY" във вашия .env файл (или на целия файл), тъй като тя служи като ключ за криптиране. Няма начин да дешифрирате криптирани данни без този ключ.'},default_group:{label:"Група по подразбиране",help:"Групата, към която са свързани новосъздадените акаунти"},useDirectCapture:{label:"Директно въвеждане",help:"Изберете дали искате да бъдете подканени да изберете режим на въвеждане сред наличните или искате директно да използвате режима на въвеждане по подразбиране"},defaultCaptureMode:{label:"Режим на въвеждане по подразбиране",help:"Режим на въвеждане по подразбиране, използван, когато опцията Директно въвеждане е включена"},remember_active_group:{label:"Запомняне на груповия филтър",help:"Запазва последния приложен групов филтър и го възстановява при следващото ви посещение"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Никога",on_otp_copy:"При копиране на кода","1_minutes":"След 1 минута","5_minutes":"След 5 минути","10_minutes":"След 10 минути","15_minutes":"След 15 минути","30_minutes":"След 30 минути","1_hour":"След 1 час","1_day":"След 1 ден",livescan:"Сканиране на QR код",upload:"Качване на QR код",advanced_form:"Разширена форма"}},titles:{404:"Записът не е намерен",start:"Нов профил",capture:"Заснеми QR",accounts:"Профили",createAccount:"Създай профил",importAccounts:"Импортиране на профили",editAccount:"Промени профил",showQRcode:"Профил като QR код",groups:"Групи",createGroup:"Създай група",editGroup:"Промяна на група",settings:{options:"Настроики",account:"Потребителски профил",oauth:{tokens:"OAuth токени",generatePAT:"Нов персонален токен"},webauthn:{editCredential:"Редакция на устройство",devices:"WebAuthn устройства"}},login:"Вход",register:"Регистрация",autolock:"Авт. заключване",password:{request:"Нулиране на паролата",reset:"Нова парола"},webauthn:{lost:"Възстановяване на профил",recover:"Регистриране на устройство"},flooded:"Наводнение",genericError:"Грешка",about:"Относно"},twofaccounts:{service:"Услуга",account:"Профил",accounts:"Профили",icon:"Икона",icon_for_account_x_at_service_y:"Икона на профил {account} в {service}",icon_to_illustrate_the_account:"Икона, илюстрираща акаунта",remove_icon:"Премахни икона",no_account_here:"Тук няма 2FA!",add_first_account:"Изберете метод и добавете първия си акаунт",use_full_form:"Или използвайте пълния формуляр",add_one:"Добавяне на един",show_qrcode:"Покажи QR код",no_service:"- няма услуга -",account_created:"Профилът беше създаден успешно",account_updated:"Профилът е актуализиран успешно",accounts_deleted:"Профил(ите) са изтрити успешно",accounts_moved:"Профил(ите) са преместени успешно",export_selected_to_json:"Изтегляне на json извадка на избраните профили",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"Джон Доу"},new_account:"Нов профил",edit_account:"Редактиране на профил",otp_uri:"OTP Uri",scan_qrcode:"Сканирайте QR код",upload_qrcode:"Качете QR код",use_advanced_form:"Използвайте разширената форма",prefill_using_qrcode:"Попълнете използвайки QR код",use_qrcode:{val:"Използвайте QR код",title:"Използвайте QR код, за магическо попълване"},unlock:{val:"Отключи",title:"Отключи го (на ваш собствен риск)"},lock:{val:"Заключи",title:"Заключи го"},choose_image:"Качи",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Тест",secret:{label:"Тайна",help:"Ключът, използван за генериране на вашите кодове за сигурност"},plain_text:"Чист текст",otp_type:{label:'Изберете типа на OTP за създаване',help:"Временен OTP или HMAC базиран OTP или Steam OTP"},digits:{label:"Цифри",help:"Броят цифри на генерираните кодове за сигурност"},algorithm:{label:"Алгоритъм",help:"Алгоритъмът, използван за защита на вашите кодове за сигурност"},period:{label:"Период",placeholder:"30 по подразбиране",help:"Периодът на валидност на генерираните кодове за сигурност в секунди"},counter:{label:"Брояч",placeholder:"0 по подразбиране",help:"Първоначалната стойност на брояча",help_lock:"Рисковано е да редактирате брояча, тъй като можете да десинхронизирате акаунта със сървъра за проверка на услугата. Използвайте иконата за заключване, за да разрешите промяната, но само ако знаете, че правите"},image:{label:"Изображение",placeholder:"http://...",help:"URL адресът на външно изображение, което да се използва като икона на акаунта"},options_help:"Можете да оставите следните опции празни, ако не знаете как да ги зададете. Ще бъдат приложени най-често използваните стойности.",alternative_methods:"Алтернативни методи"},stream:{live_scan_cant_start:"Сканирането не може да стартира :(",need_grant_permission:{reason:"2FAuth няма разрешение за достъп до камерата ви",solution:"Трябва да дадете разрешение за използване на камерата на вашето устройство. Ако вече сте отказали и вашият браузър не ви подкани отново, моля, вижте документацията на браузъра, за да разберете как да дадете разрешение."},not_readable:{reason:"Неуспешно зареждане на скенера",solution:"Камерата използва ли се вече? Уверете се, че никое друго приложение не използва камерата и опитайте отново"},no_cam_on_device:{reason:"Няма камера на това устройство",solution:"Може би сте забравили да включите уеб камерата си"},secured_context_required:{reason:"Изисква се защитен контекст",solution:"За сканиране се изисква HTTPS. Ако стартирате 2FAuth от вашия компютър, не използвайте виртуален хост, различен от localhost"},https_required:"За стрийминг от камерата се изисква HTTPS",camera_not_suitable:{reason:"Инсталираните камери не са подходящи",solution:"Моля, използвайте друго устройство/камера"},stream_api_not_supported:{reason:"Бразучера не поддържа поточно API",solution:"Трябва да използвате модерен браузър"}},confirm:{delete:"Сигурни ли сте, че искате да изтриете този профил?",cancel:"Профилът ще бъде загубен. Сигурен ли си?",discard:"Сигурни ли сте, че искате да отхвърлите профила?",discard_all:"Сигурни ли сте, че искате да отхвърлите всички профили?",discard_duplicates:"Сигурни ли сте, че искате да отхвърлите всички дубликати?"},import:{import:"Импорт",to_import:"Импорт",import_legend:"2FAuth може да импортира данни от различни 2FA приложения.
Използвайте функцията за експортиране на тези приложения, за да получите ресурс за мигриране (QR код или файл) и да го заредите, като използвате предпочитания от вас метод по-долу.",upload:"Качи",scan:"Сканирай",supported_formats_for_qrcode_upload:"Приемат се: jpg, jpeg, png, bmp, gif, svg или webp",supported_formats_for_file_upload:"Приема се: чист текст, json, 2fas",supported_migration_formats:"Поддържани формати за миграция",qr_code:"QR код",plain_text:"Чист текст",issuer:"Издател",imported:"Импортиран",failure:"Грешка",x_valid_accounts_found:"Намерени са {count} валидни профила",import_all:"Импорт. на всички",import_this_account:"Импориране на профила",discard_all:"Отхвърли всички",discard_duplicates:"Отхвърли дубликатите",discard_this_account:"Отхвърли профила",generate_a_test_password:"Генериране на тестов код",possible_duplicate:"Вече съществува профил със същите данни",invalid_account:"- невалиден профил -",invalid_service:"- невалидна услуга -",do_not_set_password_or_encryption:"НЕ активирайте защита с парола или криптиране, когато експортирате данни (от 2FA приложение), които искате да импортирате в 2FAuth."}},validation:{accepted:"Полето :attribute да бъде приет.",accepted_if:"Полето :attribute:attribute да бъде приет когато :other е :value.",active_url:"Полето :attribute не е валиден URL.",after:"Полето :attribute трябва да е дата след :date.",after_or_equal:"Полето :attribute трябва да е дата след или равна на :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:"Полето :attribute трябва да е низ.",before:"Полето :attribute трябва да е дата преди :date.",before_or_equal:"Полето :attribute трябва да е дата преди или равна на :date.",between:{array:"Полето :attribute трябва да е между :min и :max елемента.",file:"Полето :attribute трябва да е между :min и :max килобайта.",numeric:"Полето :attribute трябва да е между :min и :max.",string:"Полето :attribute трябва да е между :min и :max символа."},boolean:"Полето :attribute трябва да съдържа булева стойност (true или false).",confirmed:"Потвърждението на полето :attribute не съвпада.",current_password:"Паролата е грешна.",date:"Полето :attribute не е валидна дата.",date_equals:":attribute трябва да е дата равна на :date.",date_format:"Полето :attribute не съвпада с формата :format.",declined:"Полето :attribute трябва да бъде отказано.",declined_if:"Полето :attribute трябва да бъде отказано когато :other е :value.",different:"Полето :attribute и :other трябва да са различни.",digits:"Полето :attribute трябва да е :digits цифри.",digits_between:"Полето :attribute трябва да е между :min и :max цифри.",dimensions:"Полето :attribute съдържа невалидни размери.",distinct:"Полето :attribute има дублирана стойност.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:"Полето :attribute трябва да съдържа валиден имейл.",ends_with:"Полето :attribute трябва да завърпва с една от следните стойности: :values.",enum:"The selected :attribute is invalid.",exists:"Избраното поле :attribute е невалидно.",file:"Полето :attribute трябва да е файл.",filled:"Полето :attribute трябва да съдържа стойнот.",gt:{array:":Attribute трябва да разполага с повече от :value елемента.",file:"Полето :attribute трябва да е по-голямо от :value килобакта.",numeric:"Полето :attribute трябва да е по-голямо от :value.",string:"Дължината на :attribute трябва да бъде по-голямо от :value символа."},gte:{array:"The :attribute must have :value items or more.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:"The :attribute must be an image.",in:"The selected :attribute is invalid.",in_array:"The :attribute field does not exist in :other.",integer:"The :attribute must be an integer.",ip:"The :attribute must be a valid IP address.",ipv4:"The :attribute must be a valid IPv4 address.",ipv6:"The :attribute must be a valid IPv6 address.",json:"The :attribute must be a valid JSON string.",lt:{array:"The :attribute must have less than :value items.",file:"The :attribute must be less than :value kilobytes.",numeric:"The :attribute must be less than :value.",string:"The :attribute must be less than :value characters."},lte:{array:"The :attribute must not have more than :value items.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:"The :attribute must be a file of type: :values.",mimetypes:"The :attribute must be a file of type: :values.",min:{array:"The :attribute must have at least :min items.",file:"The :attribute must be at least :min kilobytes.",numeric:"The :attribute must be at least :min.",string:"The :attribute must be at least :min characters."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"The selected :attribute is invalid.",not_regex:"The :attribute format is invalid.",numeric:"The :attribute must be a number.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"The :attribute field must be present.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"The :attribute format is invalid.",required:"The :attribute field is required.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"The :attribute field is required when :other is :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"The :attribute field is required unless :other is in :values.",required_with:"The :attribute field is required when :values is present.",required_with_all:"The :attribute field is required when :values are present.",required_without:"The :attribute field is required when :values is not present.",required_without_all:"The :attribute field is required when none of :values are present.",same:"The :attribute and :other must match.",size:{array:"The :attribute must contain :size items.",file:"The :attribute must be :size kilobytes.",numeric:"The :attribute must be :size.",string:"The :attribute must be :size characters."},starts_with:"The :attribute must start with one of the following: :values.",string:"The :attribute must be a string.",timezone:"The :attribute must be a valid timezone.",unique:"The :attribute has already been taken.",uploaded:"The :attribute failed to upload.",url:"The :attribute must be a valid URL.",uuid:"The :attribute must be a valid UUID.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},de:{auth:{failed:"Diese Kombination aus Zugangsdaten wurde nicht in unserer Datenbank gefunden.",password:"Das angegebene Passwort ist falsch.",throttle:"Zu viele Loginversuche. Versuchen Sie es bitte in :seconds Sekunden nochmal.",sign_out:"Abmelden",sign_in:"Anmelden",sign_in_using:"Anmelden mit",sign_in_using_security_device:"Mit einem Sicherheitsgerät anmelden",login_and_password:"benutzername & passwort",register:"Registrieren",welcome_to_2fauth:"Willkommen bei 2FAuth",autolock_triggered:"Automatische Sperre ausgelöst",autolock_triggered_punchline:"Das Ereignis, das von der Auto-Lock-Funktion beobachtet wird, wurde gestartet. Sie wurden automatisch getrennt.",change_autolock_in_settings:"Sie können das Verhalten der Autolock-Funktion unter Einstellungen > Optionen ändern.",already_authenticated:"Bereits angemeldet",authentication:"Authentifizierung",maybe_later:"Vielleicht später",user_account_controlled_by_proxy:"Benutzerkonto, das von einem Authentifizierungsproxy zur Verfügung gestellt wurde.
Verwalte das Konto auf Proxy-Ebene.",auth_handled_by_proxy:"Authentifizierung von einem Reverse-Proxy verwaltet, unten sind die Einstellungen deaktiviert.
Authentifizierung auf Proxy-Ebene verwalten.",confirm:{logout:"Sind Sie sicher, dass Sie sich abmelden möchten?",revoke_device:"Möchten Sie das Gerät wirklich entfernen?",delete_account:"Möchten Sie Ihr Konto wirklich löschen?"},webauthn:{security_device:"ein Sicherheitsgerät",security_devices:"Sicherheitsgeräte",security_devices_legend:"Authentifizierungsgeräte, mit denen Sie sich in 2FAuth anmelden können, wie z.B. Sicherheitsschlüssel (z.B. Yubikey) oder Smartphones mit biometrischen Fähigkeiten (z.B. Apple FaceId/TouchId)",enhance_security_using_webauthn:"Sie können die Sicherheit Ihres 2FAuth Accounts verbessern, indem Sie die WebAuthn Authentifizierung aktivieren.

\r\n WebAuthn erlaubt es Ihnen, sich schnell und sicher mit vertrauenswürdigen Geräten (wie Yubikeys oder Smartphones mit biometrischen Fähigkeiten) anzumelden.",use_security_device_to_sign_in:"Machen Sie sich bereit, sich mit (einem) Ihren Sicherheitsgeräten zu authentifizieren. Schließen Sie Ihren Schlüssel an, entfernen Sie die Gesichtsmaske oder Handschuhe, etc.",lost_your_device:"Haben Sie Ihr Gerät verloren?",recover_your_account:"Konto wiederherstellen",account_recovery:"Kontowiederherstellung",recovery_punchline:"2FAuth wird Ihnen einen Wiederherstellungslink an diese E-Mail-Adresse senden. Klicken Sie auf den Link in der erhaltenen E-Mail und folgen Sie den Anweisungen.

Stellen Sie sicher, dass Sie die E-Mail auf einem Gerät öffnen, das vollständig Ihnen gehört.",send_recovery_link:"Wiederherstellungs-Link senden",account_recovery_email_sent:"E-Mail zur Kontowiederherstellung versendet!",disable_all_security_devices:"Alle Sicherheitsgeräte deaktivieren",disable_all_security_devices_help:"Alle Ihre Sicherheitsgeräte werden widerrufen. Benutzen Sie diese Option, wenn Sie eine verloren haben oder die Sicherheit des Geräts kompromittiert wurde.",register_a_new_device:"Ein neues Gerät registrieren",register_a_device:"Ein Gerät registrieren",device_successfully_registered:"Gerät erfolgreich registriert",device_revoked:"Gerät erfolgreich widerrufen",revoking_a_device_is_permanent:"Das Widerrufen eines Gerätes ist unwiderruflich",recover_account_instructions:"Um Ihr Konto wiederherzustellen, setzt 2FAuth einige Webauthn-Einstellungen zurück, damit Sie sich mit Ihrer E-Mail und Ihrem Passwort anmelden können.",invalid_recovery_token:"Ungültiger Wiederherstellungsschlüssel",webauthn_login_disabled:"Webauthn Login deaktiviert",invalid_reset_token:"Der Schlüssel zum Zurücksetzen des Passwortes ist ungültig.",rename_device:"Gerät umbenennen",my_device:"Mein Gerät",unknown_device:"Unbekanntes Gerät",use_webauthn_only:{label:"Nur WebAuthn verwenden",help:"WebAuthn als die einzige autorisierte Methode zulassen, um sich in Ihr 2FAuth Konto einzuloggen. Diese Option ist empfohlen und bietet eine verbesserte Sicherheit durch WebAuthn.

\r\n Bei Verlust des WebAuthn-Geräts Sie können Ihr Konto wiederherstellen, indem Sie diese Option zurücksetzen und sich mit Ihrer E-Mail und Ihrem Passwort anmelden.

\r\n Achtung! Das E-Mail & Passwort Anmeldeformular bleibt verfügbar, obwohl diese Option aktiviert ist. Eine Anmeldung hiermit führt jedoch immer zu der Meldung 'Authentifizierung fehlgeschlagen'."},need_a_security_device_to_enable_options:"Richten Sie mindestens ein Gerät ein um die nachfolgenden Optionen zu aktiveren"},forms:{name:"Name",login:"Anmeldung",webauthn_login:"WebAuthn Anmeldung",email:"E-Mail",password:"Passwort",reveal_password:"Passwort anzeigen",hide_password:"Passwort verbergen",confirm_password:"Passwort bestätigen",confirm_new_password:"Neues Passwort bestätigen",dont_have_account_yet:"Sie haben noch keinen Account?",already_register:"Schon registriert?",authentication_failed:"Anmeldung fehlgeschlagen",forgot_your_password:"Passwort vergessen?",request_password_reset:"Zurücksetzen",reset_your_password:"Passwort zurücksetzen",reset_password:"Password zurücksetzen",disabled_in_demo:"Funktion ist im Demo-Modus deaktiviert",new_password:"Neues Passwort",current_password:{label:"Aktuelles Passwort",help:"Geben Sie Ihr aktuelles Passwort ein, um zu bestätigen, dass Sie es sind"},change_password:"Passwort ändern",send_password_reset_link:"Link zum Zurücksetzen des Passworts senden",password_successfully_changed:"Passwort erfolgreich geändert",edit_account:"Account bearbeiten",profile_saved:"Profil erfolgreich aktualisiert!",welcome_to_demo_app_use_those_credentials:"Willkommen bei der 2FAuth Demo.

Sie können sich mit der E-Mail-Adresse demo@2fauth.app und dem Passwort demo anmelden",welcome_to_testing_app_use_those_credentials:"Willkommen bei der 2FAuth Testinstanz.

Verwenden Sie die E-Mail-Adresse testing@2fauth.app und das Passwort password",register_punchline:"Willkommen bei 2FAuth.
Sie müssen sich mit einem Konto anmelden, bitte registrieren Sie sich.",reset_punchline:"2FAuth sendet Ihnen einen Link zum Zurücksetzen des Passworts an diese Adresse. Klicken Sie auf den Link in der erhaltenen E-Mail, um ein neues Passwort festzulegen.",name_this_device:"Dieses Gerät benennen",delete_account:"Konto löschen",delete_your_account:"Ihr Konto Löschen",delete_your_account_and_reset_all_data:"Dies wird 2FAuth zurücksetzen. Ihr Benutzerkonto sowie alle 2FA-Daten werden gelöscht. Dies kann nicht rückgängig gemacht werden.",user_account_successfully_deleted:"Benutzerkonto wurde erfolgreich gelöscht",has_lower_case:"Beinhaltet Kleinbuchstaben",has_upper_case:"Beinhaltet Großbuchstaben",has_special_char:"Beinhaltet Sonderzeichen",has_number:"Beinhaltet Zahlen",is_long_enough:"Besteht aus mindestens 8 Zeichen.",mandatory_rules:"Erforderlich",optional_rules_you_should_follow:"Empfohlen (sehr)",caps_lock_is_on:"Die Feststelltaste ist aktiviert"}},commons:{cancel:"Abbrechen",update:"Aktualisieren",copy:"Kopieren",copy_to_clipboard:"In die Zwischenablage kopieren",copied_to_clipboard:"In die Zwischenablage kopiert",profile:"Profil",edit:"Bearbeiten",delete:"Löschen",disable:"Deaktivieren",enable:"Aktivieren",create:"Erstellen",save:"Speichern",close:"Schließen",clear:"Leeren",clear_search:"Suche leeren",demo_do_not_post_sensitive_data:"Dies ist eine Demo-App, veröffentlichen Sie keine sensiblen Daten",testing_do_not_post_sensitive_data:"Dies ist eine Test-App, veröffentlichen Sie keine sensiblen Daten",selected:"ausgewählt",name:"Name",manage:"Verwalten",done:"Fertig",new:"Neu",back:"Zurück",move:"Verschieben",export:"Exportieren",all:"Alle",select_all:"Alle auswählen",clear_selection:"Auswahl löschen",sort_descending:"Sortierung absteigend",sort_ascending:"Sortierung aufsteigend",rename:"Umbenennen",new_name:"Neu Name",options:"Einstellungen",reload:"Aktualisieren",some_data_have_changed:"Einige Daten haben sich geändert. Sie sollten diese Seite",generate:"Generieren",generating_otp:"Generating OTP",open_in_browser:"Im Browser öffnen",continue:"Weiter",discard:"Löschen",about:"Über",usefull_links:"Nützliche Links",environment:"Umgebung",credits:"Mitwirkende","2fauth_teaser":"Eine Web-App um Ihre Zwei-Faktor-Authentifizierung (2FA) Konten zu verwalten und deren Sicherheitscodes zu generieren",made_with:"Erstellt mit",ui_icons_by:"UI-Icons von",logos_by:"Logos von",search:"Suche",resources:"Ressourcen",check_for_update:"Auf neue Version prüfen",check_for_update_help:"Automatisch überprüfen (einmal pro Woche) und warnen, wenn eine neue Version von 2FAuth auf Github veröffentlicht wird",you_are_up_to_date:"Instanz ist auf dem neusten Stand","2fauth_description":"Eine Web-App um Ihre Zwei-Faktor-Authentifizierung (2FA) Konten zu verwalten und deren Sicherheitscodes zu generieren",image_of_qrcode_to_scan:"Bild eines QR-Codes zum Scannen",file:"Datei",or:"ODER",close_the_x_page:"{pagetitle} Seite schließen"},errors:{resource_not_found:"Resource nicht gefunden",error_occured:"Ein Fehler ist aufgetreten:",refresh:"Aktualisieren",no_valid_otp:"Keine gültige OTP-Ressource in diesem QR-Code",something_wrong_with_server:"Etwas stimmt mit Ihrem Server nicht",Unable_to_decrypt_uri:"URI konnte nicht entschlüsselt werden",not_a_supported_otp_type:"Dieses OTP-Format wird derzeit nicht unterstützt",cannot_create_otp_without_secret:"Das OTP kann nicht ohne Geheimnis erstellt werden",data_of_qrcode_is_not_valid_URI:"Dieser QR-Code enthält keine gültige OTP Auth URI. Inhalt des QR-Codes:",wrong_current_password:"Aktuelles Passwort falsch, nichts wurde geändert",error_during_encryption:"Verschlüsselung fehlgeschlagen, Ihre Datenbank bleibt ungeschützt.",error_during_decryption:"Entschlüsselung fehlgeschlagen, Ihre Datenbank bleibt geschützt. Dies wird hauptsächlich durch eine Integritätsproblem verschlüsselter Daten für ein oder mehrere Konten verursacht.",qrcode_cannot_be_read:"Dieser QR-Code ist unlesbar",too_many_ids:"zu viele Ids wurden in den Abfrageparameter eingefügt, maximal 100 erlaubt",delete_user_setting_only:"Nur benutzerdefinierte Einstellungen können gelöscht werden",indecipherable:"*nicht lesbar*",cannot_decipher_secret:"Das Geheimnis kann nicht entschlüsselt werden. Dies wird hauptsächlich durch einen falsch gesetzten APP_KEY in der .env-Konfigurationsdatei von 2Fauth oder durch beschädigte Daten in der Datenbank verursacht.",https_required:"HTTPS-Kontext erforderlich",browser_does_not_support_webauthn:"Ihr Gerät unterstützt nicht webauthn. Versuchen Sie es später mit einem moderneren Browser erneut",aborted_by_user:"Vom Benutzer abgebrochen",security_device_unsupported:"Gerät wird nicht unterstützt oder gerade verwendet",not_allowed_operation:"Vorgang nicht erlaubt",unsupported_operation:"Vorgang wird nicht unterstützt",unknown_error:"Unbekannter Fehler",security_error_check_rpid:"Sicherheitsfehler
Prüfen Sie die Umgebungsvariable WEBAUTHN_ID",unsupported_with_reverseproxy:"Nicht anwendbar, wenn ein Auth-Proxy benutzt wird",user_deletion_failed:"Löschen des Benutzerkontos fehlgeschlagen, es wurden keine Daten gelöscht",auth_proxy_failed:"Proxy-Anmeldung scheitern",auth_proxy_failed_legend:"2Fauth ist so konfiguriert, dass es hinter einem Authentifizierungs-Proxy läuft, aber Ihr Proxy gibt nicht den erwarteten Header zurück. Überprüfen Sie Ihre Konfiguration und versuchen Sie es erneut.",invalid_x_migration:"Ungültige oder nicht lesbare Daten bei :appname",invalid_2fa_data:"Ungültige 2FA Daten",unsupported_migration:"Daten stimmen mit keinem der unterstützten Formate überein",unsupported_otp_type:"Nicht unterstützter OTP -Typ",encrypted_migration:"Nicht lesbar, die Daten scheinen verschlüsselt zu sein",no_logo_found_for_x:"Kein Logo verfügbar für {service}",file_upload_failed:"Hochladen der Datei fehlgeschlagen",unauthorized:"Nicht berechtigt",unauthorized_legend:"Sie haben keine Berechtigung, diese Ressource zu sehen oder diese Aktion auszuführen",cannot_delete_the_only_admin:"Löschen des einzigen Admin-Kontos nicht möglichen"},groups:{groups:"Gruppen",create_group:"Neue Gruppe erstellen",show_group_selector:"Gruppenauswahl anzeigen",hide_group_selector:"Gruppenauswahl ausblenden",select_accounts_to_show:"Kontogruppe auswählen",manage_groups:"Gruppen verwalten",active_group:"Aktive Gruppe",manage_groups_legend:'Sie können Gruppen erstellen, um Ihre Konten so zu organisieren wie Sie wollen. Alle Konten bleiben in der Pseudo-Gruppe mit dem Namen "Alle" sichtbar, unabhängig davon, zu welcher Gruppe sie gehören.',deleting_group_does_not_delete_accounts:"Konten bleiben beim Löschen der Gruppe erhalten",move_selected_to:"Ausgewählte verschieben",move_selected_to_group:"Auswahl in eine Gruppe verschieben",no_group:"Keine Gruppe",change_group:"Gruppe ändern",group_successfully_created:"Gruppe erfolgreich erstellt",group_name_saved:"Gruppenname gespeichert",group_successfully_deleted:"Gruppe erfolgreich gelöscht",forms:{new_group:"Neue Gruppe",new_name:"Neuer Name",rename_group:"Gruppe umbenennen"},confirm:{delete:"Sind Sie sicher, dass Sie diese Gruppe löschen möchten?"}},languages:{browser_preference:"Browsereinstellung",en:"Englisch",fr:"Französisch",de:"Deutsch",es:"Spanisch",zh:"Vereinfachtes Chinesisch",ru:"Russisch",bg:"Bulgarian"},pagination:{previous:"« Zurück",next:"Weiter »"},passwords:{reset:"Das Passwort wurde zurückgesetzt!",sent:"Passworterinnerung wurde gesendet!",throttled:"Bitte warten Sie, bevor Sie es erneut versuchen.",token:"Der Passwort-Wiederherstellungs-Schlüssel ist ungültig oder abgelaufen.",user:"Es konnte leider kein Nutzer mit dieser E-Mail-Adresse gefunden werden.",password:"Passwörter müssen mindestens acht Zeichen lang sein und mit der Bestätigung übereinstimmen."},settings:{settings:"Einstellungen",preferences:"Vorlieben",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Token",options:"Einstellungen",user_preferences:"Benutzereinstellungen",admin_settings:"Admin-Einstellungen",confirm:{revoke:"Sind Sie sicher, dass Sie diesen Token widerrufen möchten?"},administration:"Administration",administration_legend:"Vorangegangene Einstellungen betreffen Benutzereinstellungen (jeder Benutzer kann seine eigenen Einstellungen festlegen), folgende globale Einstellungen sind gültig für alle Benutzer. Nur ein Administrator kann diese Einstellungen ansehen und bearbeiten.",you_are_administrator:"Du bist ein Administrator",general:"Allgemein",security:"Sicherheit",profile:"Profil",change_password:"Passwort ändern",personal_access_tokens:"Persönliche Zugriffsstokens",token_legend:"Persönliche Zugriffstoken ermöglichen es jeder Anwendung, sich bei der 2Fauth-API zu authentifizieren. Sie sollten das Zugriffs-Token als Bearer-Token im Autorisierungs-Header der Anfragen von Verbraucher-Apps angeben.",generate_new_token:"Neuen Token generieren",revoke:"Zurückziehen",token_revoked:"Token erfolgreich widerrufen",revoking_a_token_is_permanent:"Widerruf eines Token ist dauerhaft",make_sure_copy_token:"Kopieren Sie Ihren persönlichen Zugangs-Token jetzt. Sie werden ihn nicht mehr sehen können!",data_input:"Daten-Eingabe",forms:{edit_settings:"Einstellungen bearbeiten",setting_saved:"Einstellungen gespeichert",new_token:"Neues Token",some_translation_are_missing:"Einige Übersetzungen fehlen bei Verwendung der bevorzugten Sprache des Browsers?",help_translate_2fauth:"Hilf 2FAuth zu übersetzen",language:{label:"Sprache",help:"Sprache, die zur Übersetzung der 2FAuth-Benutzeroberfläche verwendet wird. Benannte Sprachen sind vollständig, stellen Sie die Sprache Ihrer Wahl ein, um Ihre Browserpräferenz zu überschreiben."},show_otp_as_dot:{label:"Generierte Einmalpasswörter als Punkte anzeigen",help:"Passwortzeichen werden als *** angezeigt, um die Vertraulichkeit zu gewährleisten. Dies beeinflusst nicht die Kopieren/Einfügen Funktion"},close_otp_on_copy:{label:'Schließe OTP nach dem Kopieren',help:"Bei einem Klick auf das generierte Passwort wird es automatisch auf dem Bildschirm ausgeblendet"},copy_otp_on_display:{label:"Das angezeigte, einmaliges Passwort (OTP) kopieren",help:'Kopiert automatisch ein generiertes Passwort bei Anzeige auf dem Bildschirm. Aufgrund der Einschränkungen des Browsers wird nur das erste TOTP Passwort kopiert, nicht das rotierende Passwort'},use_basic_qrcode_reader:{label:"Benutze den einfachen QR-Codeleser",help:"Wenn bei der Erfassung von QR-Codes Probleme auftreten können Sie mit dieser Option zu einem einfacheren, aber zuverlässigeren QR-Codeleser wechseln"},display_mode:{label:"Anzeigemodus",help:"Wählen Sie, ob Konten als Liste oder als Raster angezeigt werden sollen"},password_format:{label:"Passwortformatierung",help:"Anzeige der Passwörter ändern durch Gruppierung der Ziffern. Verbessert die Lesbarkeit und Passwörter lassen sich einfacher merken"},pair:"nach Paar",pair_legend:"Ziffern in zweistellige Gruppen aufteilen",trio_legend:"Ziffern in dreistellige Gruppen aufteilen",half_legend:"Ziffern in zwei gleiche Gruppen aufteilen",trio:"durch Trio",half:"nach Hälfte",grid:"Raster",list:"Liste",theme:{label:"Erscheinungsbild",help:"Erzwinge eine bestimmte Darstellung oder wende die in deinen System/Browser-Einstellungen definierte Darstellung an"},light:"Hell",dark:"Dunkel",automatic:"Automatisch",show_accounts_icons:{label:"Symbole anzeigen",help:"Kontosymbole in der Hauptansicht anzeigen"},get_official_icons:{label:"Offizielle Icons erhalten",help:"(Versuch) Das offizielle Symbol des 2FA-Ausstellers beim Hinzufügen eines Kontos zu erhalten"},auto_lock:{label:"Automatische Sperrung",help:"Meldet den Benutzer bei Inaktivität automatisch ab. Hat keine Auswirkung, wenn die Authentifizierung über einen Proxy erfolgt und keine benutzerdefinierte Logout-URL angegeben ist."},use_encryption:{label:"Sensible Daten schützen",help:"Vertrauliche Daten, die 2FA-Geheimnisse und E-Mails, werden verschlüsselt in der Datenbank gespeichert. Erstellen Sie ein Backup von der APP_KEY Variablen in der .env Datei (oder der gesamten Datei), da sie als Schlüssel zur gesicherten Datenbank dient. Es gibt keine Möglichkeit, verschlüsselte Daten ohne diesen Schlüssel zu wiederherzustellen."},default_group:{label:"Standardgruppe",help:"Die Gruppe, der neu erstellte Konten zugeordnet werden"},useDirectCapture:{label:"Direkteingabe",help:"Wählen Sie aus, ob Sie einen Eingabemodus unter den Verfügbaren wählen möchten oder ob Sie direkt den Standard-Eingabemodus verwenden möchten"},defaultCaptureMode:{label:"Standard-Eingabemodus",help:"Standard-Eingabemodus, der verwendet wird, falls die Direkteingabe aktiviert ist"},remember_active_group:{label:"Gruppenfilter merken",help:"Speichert den letzten Gruppenfilter und stellt ihn bei Ihrem nächsten Besuch wieder her"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Niemals",on_otp_copy:"Beim Kopieren des Tokens","1_minutes":"Nach 1 Minute","5_minutes":"Nach 5 Minuten","10_minutes":"Nach 10 Minuten","15_minutes":"Nach 15 Minuten","30_minutes":"Nach 30 Minuten","1_hour":"Nach 1 Stunde","1_day":"Nach 1 Tag",livescan:"QR-Code scannen",upload:"QR-Code hochladen",advanced_form:"Erweitertes Formular"}},titles:{404:"Artikel nicht gefunden",start:"Neues Konto",capture:"QR blinken",accounts:"Konten",createAccount:"Konto erstellen",importAccounts:"Konten importieren",editAccount:"Konto bearbeiten",showQRcode:"Konto als QR-Code",groups:"Gruppen",createGroup:"Gruppe erstellen",editGroup:"Gruppe bearbeiten",settings:{options:"Einstellungen",account:"Benutzerkonto",oauth:{tokens:"OAuth Tokens",generatePAT:"Neues persönliches Token"},webauthn:{editCredential:"Gerät bearbeiten",devices:"WebAuthn Geräte"}},login:"Login",register:"Anmelden",autolock:"Automatische Sperrung",password:{request:"Passwort zurücksetzen",reset:"Neues Passwort"},webauthn:{lost:"Kontowiederherstellung",recover:"Neues Gerät registrieren"},flooded:"Überschwemmung",genericError:"Fehler",about:"Über"},twofaccounts:{service:"Dienst",account:"Benutzerkonto",accounts:"Benutzerkonten",icon:"Symbol",icon_for_account_x_at_service_y:"Symbol des {account} -Kontos bei {service}",icon_to_illustrate_the_account:"Symbol, das den Account darstellt",remove_icon:"Icon entfernen",no_account_here:"Noch keine 2FA vorhanden!",add_first_account:"Wähle eine Methode und füge deinen ersten Account hinzu",use_full_form:"Oder nutzen Sie das vollständige Formular",add_one:"Konto hinzufügen",show_qrcode:"QR-Code anzeigen",no_service:"- kein Service -",account_created:"Konto erfolgreich erstellt",account_updated:"Konto erfolgreich aktualisiert",accounts_deleted:"Konto(s) erfolgreich gelöscht",accounts_moved:"Konto(en) erfolgreich verschoben",export_selected_to_json:"Json-Export ausgewählter Konten herunterladen",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"Max Mustermann"},new_account:"Neues Konto",edit_account:"Konto bearbeiten",otp_uri:"OTP Uri",scan_qrcode:"QR-Code scannen",upload_qrcode:"QR-Code hochladen",use_advanced_form:"Erweitertes Formular verwenden",prefill_using_qrcode:"Mit einem QR-Code ausfüllen",use_qrcode:{val:"QR-Code verwenden",title:"Verwenden Sie einen QR-Code, um das Formular auszufüllen"},unlock:{val:"Entsperren",title:"Entsperren (auf eigene Gefahr)"},lock:{val:"Sperren",title:"Sperren"},choose_image:"Hochladen",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Geheimnis",help:"Der Schlüssel, der zur Generierung Ihrer Sicherheitscodes verwendet wird"},plain_text:"Klartext",otp_type:{label:'Wählen Sie den OTP Typ',help:"Zeitbasierte OTP oder HMAC-basierte OTP oder Steam OTP"},digits:{label:"Ziffern",help:"Die Anzahl der Ziffern der generierten Sicherheitscodes"},algorithm:{label:"Algorithmus",help:"Der Algorithmus, der zur Sicherung Ihrer Sicherheitscodes verwendet wird"},period:{label:"Gültigkeitsdauer",placeholder:"Standard ist 30",help:"Die Gültigkeitsdauer der generierten Sicherheitscodes in Sekunden"},counter:{label:"Zähler",placeholder:"Standard ist 0",help:"Der Zählerwert am Anfang",help_lock:"Es ist riskant, den Zähler zu ändern, da Sie das Konto mit dem Verifizierungsserver des Dienstes desynchronisieren können. Verwenden Sie das Schlosssymbol, um Änderungen zu ermöglichen, aber nur, wenn Sie wissen, was Sie tun"},image:{label:"Bild",placeholder:"http://...",help:"Die Url eines externen Bildes, das als Kontosymbol verwendet werden soll"},options_help:"Sie können die folgenden Einstellungen leer lassen, wenn Sie nicht wissen, wie Sie sie einstellen. In dem Fall werden die Standardwerte verwendet.",alternative_methods:"Alternative Methoden"},stream:{live_scan_cant_start:"Der Live-Scan kann nicht gestartet werden :(",need_grant_permission:{reason:"2FAuth hat keine Berechtigung auf Ihre Kamera zuzugreifen",solution:"Sie müssen die Erlaubnis erteilen, um Ihre Gerätekamera zu verwenden. Falls Sie bereits verweigert haben und Ihr Browser Sie nicht erneut anfragt, verweisen Sie bitte auf die Browser-Dokumentation, um herauszufinden, wie Sie die Erlaubnis erteilen können."},not_readable:{reason:"Fehler beim Laden des Scanners",solution:"Wird die Kamera bereits verwendet? Stellen Sie sicher, dass keine andere App Ihre Kamera verwendet und versuchen Sie es erneut"},no_cam_on_device:{reason:"Keine Kamera in diesem Gerät",solution:"Vielleicht haben Sie vergessen, Ihre Webcam anzuschließen"},secured_context_required:{reason:"Sichere Umgebung erforderlich",solution:"HTTPS wird für den Live-Scan benötigt. Wenn Sie 2FAuth auf Ihrem Computer ausführen, verwenden Sie nur localhost und keinen anderen virtuellen Host"},https_required:"HTTPS für Kamera-Übertragung erforderlich",camera_not_suitable:{reason:"Die verbauten Kameras sind nicht geeignet",solution:"Bitte verwenden Sie ein anderes Gerät/Kamera"},stream_api_not_supported:{reason:"Stream API wird von diesem Browser nicht unterstützt",solution:"Sie sollten einen modernen Browser verwenden"}},confirm:{delete:"Sind Sie sicher, dass Sie dieses Konto löschen möchten?",cancel:"Das Konto wird gelöscht. Sind Sie sicher?",discard:"Sind Sie sicher, dass Sie dieses Konto auflösen wollen?",discard_all:"Sind Sie sicher, dass Sie alle Konten verwerfen wollen?",discard_duplicates:"Möchten Sie wirklich alle Duplikate wegwerfen?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth kann Daten aus verschiedenen 2FA-Apps importieren.
Benutze die Exportfunktion dieser Apps, um eine Migrationsquelle zu erhalten (QR-Code oder eine Datei) und lade sie mit einer bevorzugten Methode unterhalb.",upload:"Hochladen",scan:"Scannen",supported_formats_for_qrcode_upload:"Akzeptiert: jpg, jpeg, png, bmp, gif, svg oder webp",supported_formats_for_file_upload:"Akzeptiert: Klartext, Json, 2fas",supported_migration_formats:"Unterstütze Migrationsformate",qr_code:"QR Code",plain_text:"Klartext",issuer:"Aussteller",imported:"Importiert",failure:"Fehler",x_valid_accounts_found:"{count} gültige Konten gefunden",import_all:"Alle importieren",import_this_account:"Importiere dieses Konto",discard_all:"Alles wegwerfen",discard_duplicates:"Duplikate wegwerfen",discard_this_account:"Dieses Konto wegwerfen",generate_a_test_password:"Ein Testpasswort generieren",possible_duplicate:"Ein Konto mit der gleichen Daten ist bereits vorhanden",invalid_account:"- ungültiger Account -",invalid_service:"- ungültiger Service -",do_not_set_password_or_encryption:"Aktivieren Sie NICHT den Passwortschutz oder die Verschlüsselung, wenn Sie Daten aus einer anderen 2FA-App exportieren, die Sie in 2FAuth importieren möchten."}},validation:{accepted:":attribute muss akzeptiert werden.",accepted_if:"Das :attribute muss akzeptiert werden, wenn :other :value ist.",active_url:":attribute ist keine gültige Internet-Adresse.",after:":attribute muss ein Datum nach dem :date sein.",after_or_equal:":attribute muss ein Datum nach dem :date oder gleich dem :date sein.",alpha:"Das :attribute Feld darf nur Buchstaben enthalten.",alpha_dash:"Das :attribute Feld darf nur Buchstaben, Ziffern, Bindestriche und Unterstriche enthalten.",alpha_num:"Das :attribute Feld darf nur aus Zeichen und Nummern bestehen.",array:":attribute muss ein Array sein.",before:":attribute muss ein Datum vor dem :date sein.",before_or_equal:":attribute muss ein Datum vor dem :date oder gleich dem :date sein.",between:{array:":attribute muss zwischen :min & :max Elemente haben.",file:":attribute muss zwischen :min & :max Kilobytes groß sein.",numeric:":attribute muss zwischen :min & :max liegen.",string:":attribute muss zwischen :min & :max Zeichen lang sein."},boolean:":attribute muss entweder 'true' oder 'false' sein.",confirmed:":attribute stimmt nicht mit der Bestätigung überein.",current_password:"Das Passwort ist falsch.",date:":attribute muss ein gültiges Datum sein.",date_equals:":attribute muss ein Datum gleich :date sein.",date_format:":attribute entspricht nicht dem gültigen Format für :format.",declined:"Das :attribute muss abgelehnt werden.",declined_if:"Das :attribute muss abgelehnt werden, wenn :other :value ist.",different:":attribute und :other müssen sich unterscheiden.",digits:":attribute muss :digits Stellen haben.",digits_between:":attribute muss zwischen :min und :max Stellen haben.",dimensions:":attribute hat ungültige Bildabmessungen.",distinct:":attribute beinhaltet einen bereits vorhandenen Wert.",doesnt_end_with:"Das :attribute darf nicht mit einem der folgenden Werte enden: :values.",doesnt_start_with:"Das :attribute Feld darf nicht mit einem der folgenden Werte beginnen: :values.",email:":attribute muss eine gültige E-Mail-Adresse sein.",ends_with:":attribute muss eine der folgenden Endungen aufweisen: :values",enum:"Der gewählte Wert für :attribute ist ungültig.",exists:"Der gewählte Wert für :attribute ist ungültig.",file:":attribute muss eine Datei sein.",filled:":attribute muss ausgefüllt sein.",gt:{array:":attribute muss mehr als :value Elemente haben.",file:":attribute muss größer als :value Kilobytes sein.",numeric:":attribute muss größer als :value sein.",string:":attribute muss länger als :value Zeichen sein."},gte:{array:":attribute muss mindestens :value Elemente haben.",file:"Das :attribute muss größer oder gleich :value Kilobytes groß sein.",numeric:"Das :attribute Feld muss größer oder gleich :value sein.",string:"Das :attribute Feld muss mindestens :value Zeichen enthalten."},image:":attribute muss ein Bild sein.",in:"Der gewählte Wert für :attribute ist ungültig.",in_array:"Der gewählte Wert für :attribute kommt nicht in :other vor.",integer:":attribute muss eine ganze Zahl sein.",ip:":attribute muss eine gültige IP-Adresse sein.",ipv4:":attribute muss eine gültige IPv4-Adresse sein.",ipv6:":attribute muss eine gültige IPv6-Adresse sein.",json:":attribute muss ein gültiger JSON-String sein.",lt:{array:":attribute muss weniger als :value Elemente haben.",file:":attribute muss kleiner als :value Kilobytes sein.",numeric:":attribute muss kleiner als :value sein.",string:":attribute muss kürzer als :value Zeichen sein."},lte:{array:":attribute darf maximal :value Elemente haben.",file:"Das :attribute muss kleiner oder gleich :value Kilobytes groß sein.",numeric:"Das :attribute Feld muss kleiner oder gleich :value sein.",string:"Das :attribute Feld darf maximal :value Zeichen enthalten."},mac_address:"Das :attribute Feld muss eine gültige MAC-Adresse enthalten.",max:{array:"Das :attribute Feld darf nicht mehr als :max Elemente enthalten.",file:"Das :attribute darf nicht größer als :max Kilobytes groß sein.",numeric:"Das :attribute Feld darf nicht größer als :max sein.",string:"Das :attribute Feld darf nicht mehr als :value Zeichen enthalten."},max_digits:"Das :attribute Feld darf nicht mehr als :max Ziffern enthalten.",mimes:":attribute muss den Dateityp :values haben.",mimetypes:":attribute muss den Dateityp :values haben.",min:{array:":attribute muss mindestens :min Elemente haben.",file:":attribute muss mindestens :min Kilobytes groß sein.",numeric:":attribute muss mindestens :min sein.",string:":attribute muss mindestens :min Zeichen lang sein."},min_digits:"Das :attribute Feld muss mindestens :min Ziffern enthalten.",multiple_of:"Das :attribute Feld muss ein Vielfaches von :value sein.",not_in:"Der gewählte Wert für :attribute ist ungültig.",not_regex:":attribute hat ein ungültiges Format.",numeric:":attribute muss eine Zahl sein.",password:{letters:"Das :attribute Feld muss mindestens einen Buchstaben enthalten.",mixed:"Das :attribute Feld muss mindestens einen Groß- und einen Kleinbuchstaben enthalten.",numbers:"Das :attribute Feld muss mindestens eine Zahl enthalten.",symbols:"Das :attribute Feld muss mindestens ein Symbol enthalten.",uncompromised:"Der im :attribute Feld angegebene Wert wurde in einem Datenleck gefunden. Bitte geben Sie für :attribute einen anderen Wert ein."},present:":attribute muss vorhanden sein.",prohibited:"Das :attribute Feld ist unzulässig.",prohibited_if:"Das :attribute Feld ist unzulässig, wenn :other den Wert :value entspricht.",prohibited_unless:"Das :attribute Feld ist unzulässig, wenn :other nicht den Wert :value annimmt.",prohibits:"Bei gegebenem :attribute Feld ist :other nicht zulässig.",regex:":attribute Format ist ungültig.",required:":attribute muss ausgefüllt werden.",required_array_keys:"Das Feld :attribute muss Einträge enthalten für: :values.",required_if:":attribute muss ausgefüllt werden, wenn :other den Wert :value hat.",required_if_accepted:"Das Feld :attribute muss ausgefüllt werden, wenn :other ausgefüllt wurde.",required_unless:":attribute muss ausgefüllt werden, wenn :other nicht den Wert :values hat.",required_with:":attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.",required_with_all:":attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.",required_without:":attribute muss ausgefüllt werden, wenn :values nicht ausgefüllt wurde.",required_without_all:":attribute muss ausgefüllt werden, wenn keines der Felder :values ausgefüllt wurde.",same:":attribute und :other müssen übereinstimmen.",size:{array:":attribute muss genau :size Elemente haben.",file:":attribute muss :size Kilobyte groß sein.",numeric:":attribute muss gleich :size sein.",string:":attribute muss :size Zeichen lang sein."},starts_with:":attribute muss mit einem der folgenden Anfänge aufweisen: :values",string:":attribute muss ein String sein.",timezone:"Das :attribute Feld muss eine gültige Zeitzone sein.",unique:":attribute ist bereits vergeben.",uploaded:":attribute konnte nicht hochgeladen werden.",url:"Das :attribute Feld muss eine gültige URL aufweisen.",uuid:":attribute muss ein UUID sein.",single:"Bei Verwendung von :attribute muss es der einzige Parameter in diesem Anfragetext sein",onlyCustomOtpWithUri:"Der uri Parameter muss allein oder nur in Kombination mit dem 'custom_otp' Parameter angegeben werden",custom:{icon:{image:"Unterstützte Formate sind jpeg, png, bmp, gif, svg oder webp."},qrcode:{image:"Unterstützte Formate sind jpeg, png, bmp, gif, svg oder webp."},uri:{regex:"Das :attribute Feld enthält kein gültiges otpauth uri."},otp_type:{in:"Das :attribute Feld wird nicht unterstützt."},email:{exists:"Kein Konto mit dieser E-Mail gefunden."},secret:{isBase32Encoded:"Das :attribute Feld muss einen Base32 kodierten String enthalten."},account:{regex:"Das :attribute Feld darf keinen Doppelpunkt enthalten."},service:{regex:"Das :attribute Feld darf keinen Doppelpunkt enthalten."},label:{required:"Der URI muss ein Label haben."},ids:{regex:"Die IDs müssen durch Kommata getrennt werden, ohne Komma am Ende zu haben."}},attributes:[]}},en:{auth:{failed:"These credentials do not match our records.",password:"The provided password is incorrect.",throttle:"Too many login attempts. Please try again in :seconds seconds.",sign_out:"Sign out",sign_in:"Sign in",sign_in_using:"Sign in using",sign_in_using_security_device:"Sign in using a security device",login_and_password:"login & password",register:"Register",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Auto lock triggered",autolock_triggered_punchline:"The event watched by the Auto Lock feature has fired. You've been automatically disconnected.",change_autolock_in_settings:"You can change the behavior of the Autolock feature in Settings > Options tab.",already_authenticated:"Already authenticated",authentication:"Authentication",maybe_later:"Maybe later",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.",confirm:{logout:"Are you sure you want to log out?",revoke_device:"Are you sure you want to revoke this device?",delete_account:"Are you sure you want to delete your account?"},webauthn:{security_device:"a security device",security_devices:"Security devices",security_devices_legend:"Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)",enhance_security_using_webauthn:"You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

\r\n WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Lost your device?",recover_your_account:"Recover your account",account_recovery:"Account recovery",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Send recovery link",account_recovery_email_sent:"Account recovery email sent!",disable_all_security_devices:"Disable all security devices",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Register a new device",register_a_device:"Register a device",device_successfully_registered:"Device successfully registered",device_revoked:"Device successfully revoked",revoking_a_device_is_permanent:"Revoking a device is permanent",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Invalid recovery token",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Rename device",my_device:"My device",unknown_device:"Unknown device",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"Name",login:"Login",webauthn_login:"WebAuthn login",email:"Email",password:"Password",reveal_password:"Reveal password",hide_password:"Hide password",confirm_password:"Confirm password",confirm_new_password:"Confirm new password",dont_have_account_yet:"Don't have your account yet?",already_register:"Already registered?",authentication_failed:"Authentication failed",forgot_your_password:"Forgot your password?",request_password_reset:"Reset it",reset_your_password:"Reset your password",reset_password:"Reset password",disabled_in_demo:"Feature disabled in Demo mode",new_password:"New password",current_password:{label:"Current password",help:"Fill in your current password to confirm that it's you"},change_password:"Change password",send_password_reset_link:"Send password reset link",password_successfully_changed:"Password successfully changed",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Delete account",delete_your_account:"Delete your account",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"User account successfully deleted",has_lower_case:"Has lower case",has_upper_case:"Has upper case",has_special_char:"Has special char",has_number:"Has number",is_long_enough:"8 characters min.",mandatory_rules:"Mandatory",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock is On"}},commons:{cancel:"Cancel",update:"Update",copy:"Copy",copy_to_clipboard:"Copy to clipboard",copied_to_clipboard:"Copied to clipboard",profile:"Profile",edit:"Edit",delete:"Delete",disable:"Disable",enable:"Enable",create:"Create",save:"Save",close:"Close",clear:"Clear",clear_search:"Clear search",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data",testing_do_not_post_sensitive_data:"This is a testing app, do not post any sensitive data",selected:"selected",name:"Name",manage:"Manage",done:"Done",new:"New",back:"Back",move:"Move",export:"Export",all:"All",select_all:"Select all",clear_selection:"Clear selection",sort_descending:"Sort descending",sort_ascending:"Sort ascending",rename:"Rename",new_name:"New name",options:"Options",reload:"Reload",some_data_have_changed:"Some data have changed. You should",generate:"Generate",generating_otp:"Generating OTP",open_in_browser:"Open in browser",continue:"Continue",discard:"Discard",about:"About",usefull_links:"Usefull links",environment:"Environment",credits:"Credits","2fauth_teaser":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",made_with:"Made with",ui_icons_by:"UI Icons by",logos_by:"Logos by",search:"Search",resources:"Resources",check_for_update:"Check for new version",check_for_update_help:"Automatically check (once a week) and warn when a new release of 2FAuth is published on Github",you_are_up_to_date:"This instance is up-to-date","2fauth_description":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",image_of_qrcode_to_scan:"Image of a QR code to scan",file:"File",or:"OR",close_the_x_page:"Close the {pagetitle} page"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",refresh:"Refresh",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Aborted by user",security_device_unsupported:"Unsupported or in use device",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"File upload failed",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"Groups",create_group:"Create new group",show_group_selector:"Show group selector",hide_group_selector:"Hide group selector",select_accounts_to_show:"Select accounts group to show",manage_groups:"Manage groups",active_group:"Active group",manage_groups_legend:"You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named 'All', regardless of the group they belong to.",deleting_group_does_not_delete_accounts:"Deleting a group does not delete accounts",move_selected_to:"Move selected to",move_selected_to_group:"Move selected into a group",no_group:"No group",change_group:"Change group",group_successfully_created:"Group successfully created",group_name_saved:"Group name saved",group_successfully_deleted:"Group successfully deleted",forms:{new_group:"New group",new_name:"New name",rename_group:"Rename group"},confirm:{delete:"Are you sure you want to delete this group?"}},languages:{browser_preference:"Browser preference",en:"English",fr:"French",de:"German",es:"Spanish",zh:"Chinese Simplified",ru:"Russian",bg:"Bulgarian"},pagination:{previous:"« Previous",next:"Next »"},passwords:{reset:"Your password has been reset!",sent:"We have emailed your password reset link!",throttled:"Please wait before retrying.",token:"This password reset token is invalid.",user:"We can't find a user with that email address.",password:"Passwords must be at least eight characters and match the confirmation."},settings:{settings:"Settings",preferences:"Preferences",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Options",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Security",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"Data input",forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"Language",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"Show icons",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"Auto lock",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"Direct input",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"After 1 minute","5_minutes":"After 5 minutes","10_minutes":"After 10 minutes","15_minutes":"After 15 minutes","30_minutes":"After 30 minutes","1_hour":"After 1 hour","1_day":"After 1 day",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Item not found",start:"New account",capture:"Flash QR",accounts:"Accounts",createAccount:"Create account",importAccounts:"Import accounts",editAccount:"Account edit",showQRcode:"Account as QR code",groups:"Groups",createGroup:"Create group",editGroup:"Group edit",settings:{options:"Options",account:"User account",oauth:{tokens:"OAuth tokens",generatePAT:"New personal token"},webauthn:{editCredential:"Device edit",devices:"WebAuthn devices"}},login:"Login",register:"Register",autolock:"Auto lock",password:{request:"Reset password",reset:"New password"},webauthn:{lost:"Account recovery",recover:"Register a new device"},flooded:"Flood",genericError:"Error",about:"About"},twofaccounts:{service:"Service",account:"Account",accounts:"Accounts",icon:"Icon",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Secret",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:"The :attribute must be accepted.",accepted_if:"The :attribute must be accepted when :other is :value.",active_url:"The :attribute is not a valid URL.",after:"The :attribute must be a date after :date.",after_or_equal:"The :attribute must be a date after or equal to :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:"The :attribute must be an array.",before:"The :attribute must be a date before :date.",before_or_equal:"The :attribute must be a date before or equal to :date.",between:{array:"The :attribute must have between :min and :max items.",file:"The :attribute must be between :min and :max kilobytes.",numeric:"The :attribute must be between :min and :max.",string:"The :attribute must be between :min and :max characters."},boolean:"The :attribute field must be true or false.",confirmed:"The :attribute confirmation does not match.",current_password:"The password is incorrect.",date:"The :attribute is not a valid date.",date_equals:"The :attribute must be a date equal to :date.",date_format:"The :attribute does not match the format :format.",declined:"The :attribute must be declined.",declined_if:"The :attribute must be declined when :other is :value.",different:"The :attribute and :other must be different.",digits:"The :attribute must be :digits digits.",digits_between:"The :attribute must be between :min and :max digits.",dimensions:"The :attribute has invalid image dimensions.",distinct:"The :attribute field has a duplicate value.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:"The :attribute must be a valid email address.",ends_with:"The :attribute must end with one of the following: :values.",enum:"The selected :attribute is invalid.",exists:"The selected :attribute is invalid.",file:"The :attribute must be a file.",filled:"The :attribute field must have a value.",gt:{array:"The :attribute must have more than :value items.",file:"The :attribute must be greater than :value kilobytes.",numeric:"The :attribute must be greater than :value.",string:"The :attribute must be greater than :value characters."},gte:{array:"The :attribute must have :value items or more.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:"The :attribute must be an image.",in:"The selected :attribute is invalid.",in_array:"The :attribute field does not exist in :other.",integer:"The :attribute must be an integer.",ip:"The :attribute must be a valid IP address.",ipv4:"The :attribute must be a valid IPv4 address.",ipv6:"The :attribute must be a valid IPv6 address.",json:"The :attribute must be a valid JSON string.",lt:{array:"The :attribute must have less than :value items.",file:"The :attribute must be less than :value kilobytes.",numeric:"The :attribute must be less than :value.",string:"The :attribute must be less than :value characters."},lte:{array:"The :attribute must not have more than :value items.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:"The :attribute must be a file of type: :values.",mimetypes:"The :attribute must be a file of type: :values.",min:{array:"The :attribute must have at least :min items.",file:"The :attribute must be at least :min kilobytes.",numeric:"The :attribute must be at least :min.",string:"The :attribute must be at least :min characters."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"The selected :attribute is invalid.",not_regex:"The :attribute format is invalid.",numeric:"The :attribute must be a number.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"The :attribute field must be present.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"The :attribute format is invalid.",required:"The :attribute field is required.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"The :attribute field is required when :other is :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"The :attribute field is required unless :other is in :values.",required_with:"The :attribute field is required when :values is present.",required_with_all:"The :attribute field is required when :values are present.",required_without:"The :attribute field is required when :values is not present.",required_without_all:"The :attribute field is required when none of :values are present.",same:"The :attribute and :other must match.",size:{array:"The :attribute must contain :size items.",file:"The :attribute must be :size kilobytes.",numeric:"The :attribute must be :size.",string:"The :attribute must be :size characters."},starts_with:"The :attribute must start with one of the following: :values.",string:"The :attribute must be a string.",timezone:"The :attribute must be a valid timezone.",unique:"The :attribute has already been taken.",uploaded:"The :attribute failed to upload.",url:"The :attribute must be a valid URL.",uuid:"The :attribute must be a valid UUID.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},es:{auth:{failed:"Estas credenciales no coinciden con nuestros registros.",password:"La contraseña proporcionada es incorrecta.",throttle:"Demasiados intentos de acceso. Por favor intente nuevamente en :seconds segundos.",sign_out:"Cerrar sesión",sign_in:"Iniciar sesión",sign_in_using:"Inicia sesión, usando",sign_in_using_security_device:"Iniciar sesión usando un dispositivo de seguridad",login_and_password:"usuario y contraseña",register:"Registrarse",welcome_to_2fauth:"Bienvenido a 2FAuth",autolock_triggered:"Autobloqueo activado",autolock_triggered_punchline:"El evento observado por el Auto Bloqueo ha sido activado. Has sido desconectado automáticamente.",change_autolock_in_settings:"Puedes cambiar el comportamiento de la función Auto Bloqueo en la pestaña Configuración > Opciones.",already_authenticated:"Ya está autenticado",authentication:"Autenticación",maybe_later:"Quizás más tarde",user_account_controlled_by_proxy:"Cuenta de usuario disponible por un proxy de autenticación.
Administra la cuenta a nivel de proxy.",auth_handled_by_proxy:"Autenticación administrada por un proxy inverso, las configuraciones de abajo están deshabilitadas.
Gestionar autenticación a nivel proxy.",confirm:{logout:"¿Seguro que quieres cerrar la sesión?",revoke_device:"¿Está seguro que quiere eliminar este dispositivo?",delete_account:"¿Está seguro que desea eliminar su cuenta?"},webauthn:{security_device:"un dispositivo de seguridad",security_devices:"Dispositivos de seguridad",security_devices_legend:"Dispositivos de autenticación que pudes usar para iniciar sesión en 2FAuth, como: llaves de seguridad (ej. Yubikey) o smartphones con capacidades biométricas (ej. Apple FaceID/TouchID)",enhance_security_using_webauthn:"Puede mejorar la seguridad de su cuenta 2FAuth activando la autenticación WebAuthn.

\r\n WebAuthn permite el uso de dispositivos de confianza (como, Yubikeys o smartphones con capacidades biométricas) para iniciar sesión rápidamente y de forma más segura.",use_security_device_to_sign_in:"Prepárese para autenticarse usando (uno) de sus dispositivos de seguridad. Conecte su llave, retirar máscaras o guantes, etc.",lost_your_device:"¿Perdió su dispositivo?",recover_your_account:"Recuperar su cuenta",account_recovery:"Recuperación cuenta",recovery_punchline:"2FAuth te enviará un enlace de recuperación a esta dirección de correo electrónico. Haz clic en el enlace en el correo electrónico recibido y sigue las instrucciones.

Asegúrate de abrir el correo electrónico en un dispositivo que sea completamente tuyo.",send_recovery_link:"Enviar enlace de recuperación",account_recovery_email_sent:"¡Correo de recuperación de cuenta enviado!",disable_all_security_devices:"Desactivar todos los dispositivos de seguridad",disable_all_security_devices_help:"Todos sus dispositivos de seguridad serán revocados. Utilice esta opción si ha perdido uno o si su seguridad ha sido comprometida.",register_a_new_device:"Registrar un nuevo dispositivo",register_a_device:"Registrar un dispositivo",device_successfully_registered:"Dispositivo registrado correctamente",device_revoked:"Dispositivo revocado correctamente",revoking_a_device_is_permanent:"El revocado de un dispositivo es permanente",recover_account_instructions:"Para recuperar su cuenta, 2FAuth restablece algunos ajustes de Webauthn para que pueda iniciar sesión usando su correo electrónico y contraseña.",invalid_recovery_token:"Token de recuperación inválido",webauthn_login_disabled:"Login Webauthn desactivado",invalid_reset_token:"Este token de recuperación no es válido.",rename_device:"Renombrar dispositivo",my_device:"Mi dispositivo",unknown_device:"Dispositivo desconocido",use_webauthn_only:{label:"Usar WebAuthn solo",help:"Haga de WebAuthn el único método autorizado para iniciar sesión en su cuenta de 2FAuth. Esta es la configuración recomendada para aprovechar la seguridad mejorada de WebAuthn.

\r\n En caso de pérdida del dispositivo, podrás recuperar tu cuenta restableciendo esta opción e iniciando sesión utilizando tu correo electrónico y contraseña.

\r\n Atención! El formulario de correo electrónico y contraseña sigue disponible a pesar de que esta opción está activada, pero siempre devolverá una respuesta de 'Autenticación fallida'."},need_a_security_device_to_enable_options:"Establezca al menos un dispositivo para activar las siguientes opciones"},forms:{name:"Nombre",login:"Iniciar sesión",webauthn_login:"Inicio de sesión WebAuthn",email:"E-mail",password:"Contraseña",reveal_password:"Revelar contraseña",hide_password:"Ocultar contraseña",confirm_password:"Confirmar contraseña",confirm_new_password:"Confirma la contraseña nueva",dont_have_account_yet:"¿Aún no tienes una cuenta?",already_register:"¿Ya te has registrado?",authentication_failed:"La autenticación ha fallado",forgot_your_password:"¿Olvidó su contraseña?",request_password_reset:"Reiniciarlo",reset_your_password:"Reestablecer tu contraseña",reset_password:"Restablecer contraseña",disabled_in_demo:"Característica desactivada en el modo Demo",new_password:"Nueva contraseña",current_password:{label:"Contraseña actual",help:"Introduzca su contraseña actual para confirmar que es usted"},change_password:"Cambiar Contraseña",send_password_reset_link:"Enviar enlace para restablecer contraseña",password_successfully_changed:"Contraseña cambiada correctamente",edit_account:"Editar cuenta",profile_saved:"¡Perfil actualizado con éxito!",welcome_to_demo_app_use_those_credentials:"Bienvenido/a a la demostración de 2FAuth.

Puedes conectarte usando el email demo@2fauth.app y la contraseña demo",welcome_to_testing_app_use_those_credentials:"Bienvenido/a a la instancia de prueba 2FAuth.

Usa el email testing@2fauth.app y la contraseña password",register_punchline:"Bienvenido a 2FAuth.
Necesitas una cuenta para ir más allá, por favor, regístrate.",reset_punchline:"2FAuth le enviará un enlace para restablecer la contraseña a esta dirección. Haga clic en el enlace en el correo electrónico recibido para establecer una nueva contraseña.",name_this_device:"Proporcione nombre al dispositivo",delete_account:"Eliminar cuenta",delete_your_account:"Eliminar su cuenta",delete_your_account_and_reset_all_data:"Esto restablecerá 2FAuth. Su cuenta de usuario se eliminará, así como, todos los datos de 2FA. No hay vuelta atrás.",user_account_successfully_deleted:"Cuenta de usuario eliminada correctamente",has_lower_case:"Tiene minúsculas",has_upper_case:"Tiene mayúsculas",has_special_char:"Tiene carácter especial",has_number:"Tiene número",is_long_enough:"8 carácteres min.",mandatory_rules:"Obligatorio",optional_rules_you_should_follow:"Recomendado (altamente)",caps_lock_is_on:"Bloqueo de mayúsculas está Activado"}},commons:{cancel:"Cancelar",update:"Actualizar",copy:"Copiar",copy_to_clipboard:"Copiar al portapapeles",copied_to_clipboard:"Copiado al portapapeles",profile:"Perfil",edit:"Editar",delete:"Eliminar",disable:"Desactivar",enable:"Activar",create:"Crear",save:"Guardar",close:"Cerrar",clear:"Limpiar",clear_search:"Limpiar búsqueda",demo_do_not_post_sensitive_data:"Esta instancia es para demostracion, no ingrese informacion privada",testing_do_not_post_sensitive_data:"Esta instancia es para demostracion, no ingrese informacion privada",selected:"seleccionado",name:"Nombre",manage:"Configurar",done:"Hecho",new:"Nuevo",back:"Volver",move:"Mover",export:"Exportar",all:"Todo",select_all:"Seleccionar todo",clear_selection:"Borrar selección",sort_descending:"Ordenar (descendente)",sort_ascending:"Ordenar (ascendente)",rename:"Renombrar",new_name:"Nuevo nombre",options:"Opciones",reload:"Recargar",some_data_have_changed:"Algunos datos han cambiado. Deberías",generate:"Generar",generating_otp:"Generando contraseña de un solo uso",open_in_browser:"Abrir en el navegador",continue:"Continuar",discard:"Descartar",about:"Acerca de",usefull_links:"Enlaces útiles",environment:"Entorno",credits:"Créditos","2fauth_teaser":"Una aplicación web para administrar tus cuentas de autenticación de dos factores (2FA) y generar sus códigos de seguridad",made_with:"Hecho con",ui_icons_by:"Iconos UI por",logos_by:"Logos por",search:"Buscar",resources:"Recursos",check_for_update:"Comprobar nueva versión",check_for_update_help:"Comprobar automáticamente (una vez por semana), y avisar si una nueva versión de 2FAuth se publique en Github",you_are_up_to_date:"Esta instancia está actualizada","2fauth_description":"Una app web para administrar tus cuentas de autenticación de doble factor (2FA), y generar tus códigos de seguridad",image_of_qrcode_to_scan:"Imagen de código QR para escanear",file:"Archivo",or:"O",close_the_x_page:"Cerrar la página {pagetitle}"},errors:{resource_not_found:"Recurso no encontrado",error_occured:"Se ha producido un error:",refresh:"Actualizar",no_valid_otp:"No hay un recurso OTP válido en este código QR",something_wrong_with_server:"Algo va mal con su servidor",Unable_to_decrypt_uri:"No se puede descifrar uri",not_a_supported_otp_type:"Este formato OTP no está soportado actualmente",cannot_create_otp_without_secret:"No se puede crear un OTP sin una clave secreta",data_of_qrcode_is_not_valid_URI:"Los datos de este código QR no son una URI OTP de Autenticación. El código QR contiene:",wrong_current_password:"Contraseña actual incorrecta, no ha cambiado nada",error_during_encryption:"El cifrado falló, la base de datos permanece sin protección.",error_during_decryption:"El descifrado falló, su base de datos todavía está protegida. Esto se debe, principalmente, a un problema de integridad de datos cifrados para una o más cuentas.",qrcode_cannot_be_read:"Este código QR no se puede leer",too_many_ids:"demasiado ids fueron incluidos en los parámetros de consulta, máx. 100 permitidos",delete_user_setting_only:"Sólo los ajustes creados por el usuario pueden ser eliminados",indecipherable:"*indescifrable*",cannot_decipher_secret:"The clave secreta no puede ser descifrada. Esto es, principalmente, causado por una APP_KEY inválida en el archivo de configuración .env de 2FAuth, o datos corruptos almacenados en la base de datos.",https_required:"Contexto HTTPS requerido",browser_does_not_support_webauthn:"Su dispositivo no soporta WebAuthn. Intente de nuevo más tarde en un navegador más moderno",aborted_by_user:"Abortado por el usuario",security_device_unsupported:"Dispositivo no soportado o en uso",not_allowed_operation:"Operacion no permitida",unsupported_operation:"Operación no admitida",unknown_error:"Error desconocido",security_error_check_rpid:"Error de seguridad
Compruebe su variable de entorno WEBAUTHN_ID",unsupported_with_reverseproxy:"No aplicable cuando se utiliza un proxy de autenticación",user_deletion_failed:"Error al borrar la cuenta de usuario, no se han eliminado datos",auth_proxy_failed:"La autenticación proxy falló",auth_proxy_failed_legend:"2FAuth está configurado para ejecutarse detrás de un proxy de autenticación, pero, su proxy no devuelve el encabezado esperado. Compruebe su configuración e intente de nuevo.",invalid_x_migration:"Inválido o ilegible: datos de ",invalid_2fa_data:"Datos 2FA inválidos",unsupported_migration:"Los datos no coinciden con ningún formato soportado",unsupported_otp_type:"Tipo de OTP no soportada",encrypted_migration:"Ilegíble, los datos parecen estar encriptados",no_logo_found_for_x:"Logo no disponible para {service}",file_upload_failed:"Fallo al subir el archivo",unauthorized:"No autorizado",unauthorized_legend:"No tiene permisos para ver este recurso o para realizar esta acción",cannot_delete_the_only_admin:"No se puede eliminar la única cuenta de administrador"},groups:{groups:"Grupos",create_group:"Crear nuevo grupo",show_group_selector:"Ver selector de grupo",hide_group_selector:"Ocultar selector de grupo",select_accounts_to_show:"Seleccionar grupo de cuenta a mostrar",manage_groups:"Gestionar grupos",active_group:"Grupo activo",manage_groups_legend:"Puedes crear grupos para organizar tus cuentas de la manera que quieras. Todas las cuentas permanecen visibles en el pseudo grupo llamado 'Todo', independientemente del grupo al que pertenezcan.",deleting_group_does_not_delete_accounts:"La eliminación de un grupo no elimina cuentas",move_selected_to:"Mover selección a",move_selected_to_group:"Mover seleccionados a un grupo",no_group:"Sin grupo",change_group:"Cambiar grupo",group_successfully_created:"Grupo creado correctamente",group_name_saved:"Nombre de grupo guardado",group_successfully_deleted:"Grupo eliminado correctamente",forms:{new_group:"Nuevo grupo",new_name:"Nuevo nombre",rename_group:"Renombrar grupo"},confirm:{delete:"¿Está seguro que desea eliminar este grupo?"}},languages:{browser_preference:"Preferencia del navegador",en:"Inglés",fr:"Francés",de:"Alemán",es:"Español",zh:"Chino Simplificado",ru:"Ruso",bg:"Bulgarian"},pagination:{previous:"« Anterior",next:"Siguiente »"},passwords:{reset:"¡Su contraseña ha sido restablecida!",sent:"¡Te hemos enviado por correo el enlace para restablecer tu contraseña!",throttled:"Por favor, espere antes de intentar de nuevo.",token:"El token de recuperación de contraseña es inválido.",user:"No podemos encontrar ningún usuario con ese correo electrónico.",password:"La contraseña debe tener al menos ocho caracteres, y coincidir con la confirmación de contraseña."},settings:{settings:"Ajustes",preferences:"Preferencias",account:"Cuenta",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Opciones",user_preferences:"Preferencias de usuario",admin_settings:"Ajustes de administración",confirm:{revoke:"¿Está seguro que desea revocar este token?"},administration:"Administración",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Seguridad",profile:"Perfil",change_password:"Cambiar contraseña",personal_access_tokens:"Tokens de acceso personal",token_legend:"Los Tokens de Acceso Personal, permiten a cualquier aplicación autenticarse con la API de 2FAuth. Debe especificar el token de acceso como Bearer Token en la cabecera de autorización de aplicaciones de tercero.",generate_new_token:"Generar nuevo token",revoke:"Revocar",token_revoked:"Token revocado correctamente",revoking_a_token_is_permanent:"Revocar un token es permanente",make_sure_copy_token:"Asegúrese de copiar su token de acceso personal ahora. ¡No podrá volver a verlo!",data_input:"Introducción de datos",forms:{edit_settings:"Modificar ajustes",setting_saved:"Ajustes guardados",new_token:"Nuevo token",some_translation_are_missing:"¿Faltan algunas traducciones utilizando el idioma preferido por el navegador?",help_translate_2fauth:"Ayude a traducir 2FAuth",language:{label:"Idioma",help:"Idioma utilizado para traducir la interfaz de usuario de 2FAuth. Los idiomas listados están completos, establezca el idioma de su elección para reemplazar las preferencias de su navegador."},show_otp_as_dot:{label:"Mostrar contraseñas generadas de un solo uso como punto",help:"Reemplaza carácteres de contraseñas generados con *** para asegurar confidencialidad. No afecta la función copiar/pegar."},close_otp_on_copy:{label:'Cerrar OTP después de copiar',help:"Haciendo clic en la contraseña generada para copiarla, la oculta automáticamente de la pantalla"},copy_otp_on_display:{label:'Copiar OTP en pantalla',help:'Copiar automáticamente la contraseña justo después de aparecer en pantalla. Debido a limitaciones en los navegadores, solo la primera contraseña TOTP será copiada, no las que roten'},use_basic_qrcode_reader:{label:"Usar lector de código QR básico",help:"Si experimenta problemas al capturar códigos QR habilite esta opción para cambiar a un lector de código QR más básico, pero más fiable"},display_mode:{label:"Modo de visualización",help:"Elija si desea que las cuentas se muestren como una lista o como una cuadrícula"},password_format:{label:"Formato de contraseñas",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"por parejas",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Dividir dígitos en dos grupos iguales",trio:"por tríos",half:"por la mitad",grid:"Cuadrícula",list:"Lista",theme:{label:"Tema",help:"Forzar un tema específico o aplicar el tema definido en sus preferencias de sistema/navegador"},light:"Claro",dark:"Oscuro",automatic:"Automático",show_accounts_icons:{label:"Mostrar iconos",help:"Mostar iconos de aplicaciones en la vista principal"},get_official_icons:{label:"Obtener iconos oficiales",help:"(Intentar) Obtener el icono oficial del emisor 2FA al añadir una cuenta"},auto_lock:{label:"Bloqueo automático",help:"Cerrar sesión del usuario automáticamente en caso de inactividad. No tiene efecto cuando la autenticación es manejada por un proxy, ni cuando ninguna url de cierre de sesión personalizada se especificada."},use_encryption:{label:"Proteger los datos confidenciales",help:"Los datos sensibles, las claves secretas y correos electrónicos de 2FA, se almacenan cifrados en la base de datos. Asegúrese de respaldar el valor de APP_KEY de su archivo .env (o el archivo entero), pues, sirve como clave de cifrado. No hay forma de descifrar datos encriptados sin esta clave."},default_group:{label:"Grupo por defecto",help:"El grupo al que las cuentas recién creadas están asociadas"},useDirectCapture:{label:"Entrada directa",help:"Elija si desea que se le pida que elija un modo de entrada entre los disponibles o si desea utilizar directamente el modo de entrada por defecto"},defaultCaptureMode:{label:"Modo de entrada de datos por defecto",help:"Modo de entrada predeterminado usado cuando la opción de entrada directa está encendida"},remember_active_group:{label:"Recordar filtro de grupo",help:"Guardar el último filtro de grupo aplicado y restaurarlo en su próxima visita"},disable_registration:{label:"Deshabilitar registro de usuarios",help:"Evitar el registro de nuevos usuarios"},otp_generation:{label:"Mostrar contraseña",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"Después de un clic/toque",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantemente",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Mostrar todas las contraseñas en la vista principal, sin hacer nada",never:"Nunca",on_otp_copy:"Al copiar código de seguridad","1_minutes":"Después de 1 minuto","5_minutes":"Después de 5 minutos","10_minutes":"Después de 10 minutos","15_minutes":"Después de 15 minutos","30_minutes":"Después de 30 minutos","1_hour":"Después de 1 hora","1_day":"Después de 1 día",livescan:"Escaneo código QR",upload:"Subida de código QR",advanced_form:"Formulario avanzado"}},titles:{404:"Artículo no encontrado",start:"Nueva cuenta",capture:"Enfocar QR",accounts:"Cuentas",createAccount:"Crear cuenta",importAccounts:"Importar cuentas",editAccount:"Editar Cuenta",showQRcode:"Cuenta como código QR",groups:"Grupos",createGroup:"Crear grupo",editGroup:"Editar grupo",settings:{options:"Opciones",account:"Cuenta de usuario",oauth:{tokens:"Tokens de OAuth",generatePAT:"Nuevo token personal"},webauthn:{editCredential:"Edición de dispositivo",devices:"Dispositivos WebAuthn"}},login:"Login",register:"Registrarse",autolock:"Bloqueo automático",password:{request:"Restablecer contraseña",reset:"Nueva contraseña"},webauthn:{lost:"Recuperación cuenta",recover:"Registrar un nuevo dispositivo"},flooded:"Desbordar",genericError:"Error",about:"Acerca de"},twofaccounts:{service:"Servicio",account:"Cuenta",accounts:"Cuentas",icon:"Icono",icon_for_account_x_at_service_y:"Icono de la cuenta {account} en {service}",icon_to_illustrate_the_account:"Icono que representa a la cuenta",remove_icon:"Eliminar icono",no_account_here:"¡No hay 2FA aquí!",add_first_account:"Elige un método y añade tu primer cuenta",use_full_form:"O usa el formulario completo",add_one:"Agregar uno",show_qrcode:"Muestra el código QR",no_service:"- sin servicio -",account_created:"Cuenta creada correctamente",account_updated:"Cuenta actualizada correctamente",accounts_deleted:"Cuenta(s) eliminada(s) correctamente",accounts_moved:"Cuenta(s) movida(s) correctamente",export_selected_to_json:"Descargar un fichero json con el contenido de las cuentas seleccionadas",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"Nueva cuenta",edit_account:"Editar cuenta",otp_uri:"OTP Uri",scan_qrcode:"Escanear un código QR",upload_qrcode:"Subir un código QR",use_advanced_form:"Usar el formulario avanzado",prefill_using_qrcode:"Rellenar usando un código QR",use_qrcode:{val:"Usar un código QR",title:"Usa un código QR para rellenar mágicamente el formulario"},unlock:{val:"Desbloquear",title:"Desbloquearlo (bajo su propio riesgo)"},lock:{val:"Bloquear",title:"Bloquearlo"},choose_image:"Subir",i_m_lucky:"Probar suerte",i_m_lucky_legend:'El botón "Probar suerte" intenta obtener el icono oficial del servicio dado. Introduzca el nombre del servicio sin la extensión ".xyz" e intente evitar errores tipográficos. (función beta)',test:"Test",secret:{label:"Secreto",help:"La clave utilizada para generar sus códigos de seguridad"},plain_text:"Texto plano",otp_type:{label:'Elige el tipo de OTP a crear',help:"Time-based OTP, HMAC-based OTP o Steam OTP"},digits:{label:"Dígitos",help:"El número de dígitos del código de seguridad generado"},algorithm:{label:"Algorítmo",help:"El algoritmo usado para proteger sus códigos de seguridad"},period:{label:"Periodo",placeholder:"Por defecto es 30",help:"Periodo de validez de los códigos se seguridad generados, en segundos"},counter:{label:"Contador",placeholder:"Por defecto es 0",help:"El valor inicial del contador",help_lock:"Es arriesgado editar el contador, ya que puede desincronizar la cuenta con el servidor de verificación del servicio. Utilice el icono de bloqueo para habilitar la modificación, pero solo si sabe lo que está haciendo"},image:{label:"Imágen",placeholder:"http://...",help:"La url de una imagen externa a usar como icono de cuenta"},options_help:"Puede dejar las siguientes opciones en blanco si no sabe cómo establecerlas. Los valores más utilizados se aplicarán.",alternative_methods:"Métodos alternativos"},stream:{live_scan_cant_start:"Live scan no puede comenzar :(",need_grant_permission:{reason:"2FAuth no tiene permiso para acceder a tu cámara",solution:"Necesitas conceder permiso para usar la cámara de tu dispositivo. Si ya lo ha denegado y su navegador no le preguntan de nuevo, por favor refiérase a la documentación del navegador para averiguar cómo conceder permisos."},not_readable:{reason:"Fallo al cargar el escáner",solution:"¿La cámara ya está en uso? Asegúrate de que ninguna otra aplicación use tu cámara e inténtalo de nuevo"},no_cam_on_device:{reason:"No se encontraron cámaras en este dispositivo",solution:"Tal vez olvidaste conectar tu cámara web"},secured_context_required:{reason:"Requiere contexto seguro",solution:"HTTPS es necesario para escanear en vivo. Si ejecuta 2FAuth desde su computadora, no utilice un host virtual distinto de localhost"},https_required:"HTTPS requerido para la transmisión de la cámara",camera_not_suitable:{reason:"Las cámaras instaladas no son apropiadas",solution:"Por favor usa otro dispositivo/cámara"},stream_api_not_supported:{reason:"Stream API no está soportado en este navegador",solution:"Deberías usar un navegador moderno"}},confirm:{delete:"¿Está seguro que desea eliminar esta cuenta?",cancel:"La cuenta será eliminada. ¿Estás seguro?",discard:"¿Está seguro que desea eliminar esta cuenta?",discard_all:"¿Está seguro que desea eliminar todas las cuentas?",discard_duplicates:"¿Está seguro que desea eliminar todos los duplicados?"},import:{import:"Import",to_import:"Importar",import_legend:"2FAuth puede importar datos de varias apps 2FA.
Usa la función de Exportación de éstas apps para generar los recursos de migración (código QR o archivo), y cargalo usando el método preferido abajo.",upload:"Subir",scan:"Escanear",supported_formats_for_qrcode_upload:"Aceptado: jpg, jpeg, png, bmp, gif, svg, o webp",supported_formats_for_file_upload:"Aceptado: texto plano, json, 2fas",supported_migration_formats:"Formatos de migración soportados",qr_code:"Código QR",plain_text:"Texto plano",issuer:"Emisor",imported:"Importado",failure:"Fallo",x_valid_accounts_found:"{count} cuentas válidos encontrados",import_all:"Importar todo",import_this_account:"Importar esta Cuenta",discard_all:"Descartar todo",discard_duplicates:"Descartar duplicados",discard_this_account:"Descartar esta cuenta",generate_a_test_password:"Generar una contraseña de prueba",possible_duplicate:"Ya existe una cuenta con exactamente los mismos datos",invalid_account:"- cuenta inválida -",invalid_service:"- servicio inválido -",do_not_set_password_or_encryption:"NO habilite la protección de contraseña o el cifrado cuando exporte datos (desde una aplicación 2FA) que desee importar a 2FAuth."}},validation:{accepted:":attribute debe ser aceptado.",accepted_if:":attribute debe ser aceptado cuando :other sea :value.",active_url:":attribute no es una URL válida.",after:":attribute debe ser una fecha posterior a :date.",after_or_equal:":attribute debe ser una fecha posterior o igual a :date.",alpha:":attribute solo puede contener letras.",alpha_dash:":attribute solo puede contener letras, números, guiones y guiones bajos.",alpha_num:":attribute solo puede contener letras y números.",array:":attribute debe ser un conjunto de datos.",before:":attribute debe ser una fecha anterior a :date.",before_or_equal:":attribute debe ser una fecha anterior o igual a :date.",between:{array:":attribute tiene que tener entre :min - :max elementos.",file:":attribute debe pesar entre :min - :max kilobytes.",numeric:":attribute tiene que estar entre :min - :max.",string:":attribute tiene que tener entre :min - :max caracteres."},boolean:"El campo :attribute debe tener un valor verdadero o falso.",confirmed:"La confirmación de :attribute no coincide.",current_password:"La contraseña es incorrecta.",date:":attribute no es una fecha válida.",date_equals:":attribute debe ser una fecha igual a :date.",date_format:":attribute no corresponde al formato :format.",declined:":attribute debe ser rechazado.",declined_if:":attribute debe ser rechazado cuando :other sea :value.",different:":attribute y :other deben ser diferentes.",digits:":attribute debe tener :digits dígitos.",digits_between:":attribute debe tener entre :min y :max dígitos.",dimensions:"Las dimensiones de la imagen :attribute no son válidas.",distinct:"El campo :attribute contiene un valor duplicado.",doesnt_end_with:":attribute no puede finalizar con uno de los siguientes valores: :values.",doesnt_start_with:":attribute no puede comenzar con uno de los siguientes valores: :values.",email:":attribute no es un correo válido.",ends_with:"El campo :attribute debe finalizar con uno de los siguientes valores: :values",enum:":attribute no tiene el formato adecuado.",exists:":attribute es inválido.",file:"El campo :attribute debe ser un archivo.",filled:"El campo :attribute es obligatorio.",gt:{array:"El campo :attribute debe tener más de :value elementos.",file:"El campo :attribute debe tener más de :value kilobytes.",numeric:"El campo :attribute debe ser mayor que :value.",string:"El campo :attribute debe tener más de :value caracteres."},gte:{array:"El campo :attribute debe tener como mínimo :value elementos.",file:":attribute debe ser mayor o igual a :value kilobytes.",numeric:":attribute debe ser mayor o igual que :value.",string:":attribute debe tener al menos :value caracteres."},image:":attribute debe ser una imagen.",in:":attribute es inválido.",in_array:"El campo :attribute no existe en :other.",integer:":attribute debe ser un número entero.",ip:":attribute debe ser una dirección IP válida.",ipv4:":attribute debe ser una dirección IPv4 válida.",ipv6:":attribute debe ser una dirección IPv6 válida.",json:"El campo :attribute debe ser una cadena JSON válida.",lt:{array:"El campo :attribute debe tener menos de :value elementos.",file:"El campo :attribute debe tener menos de :value kilobytes.",numeric:"El campo :attribute debe ser menor que :value.",string:"El campo :attribute debe tener menos de :value caracteres."},lte:{array:"El campo :attribute debe tener como máximo :value elementos.",file:":attribute debe ser menor o igual que :value kilobytes.",numeric:":attribute debe ser menor o igual que :value.",string:":attribute debe tener como máximo :value caracteres."},mac_address:":attribute debe ser una dirección MAC válida.",max:{array:"El :attribute no debe contener más de :max elementos.",file:":attribute no puede ser mayor que :max kilobytes.",numeric:":attribute no debe ser mayor que :max.",string:":attribute no debe contener más de :max caracteres."},max_digits:":attribute no debe tener más de :max dígitos.",mimes:":attribute debe ser un archivo con formato: :values.",mimetypes:":attribute debe ser un archivo con formato: :values.",min:{array:":attribute debe tener al menos :min elementos.",file:"El tamaño de :attribute debe ser de al menos :min kilobytes.",numeric:"El tamaño de :attribute debe ser de al menos :min.",string:":attribute debe contener al menos :min caracteres."},min_digits:":attribute debe tener al menos :min dígitos.",multiple_of:":attribute debe ser un múltiplo de :value.",not_in:":attribute es inválido.",not_regex:"El formato del campo :attribute no es válido.",numeric:":attribute debe ser numérico.",password:{letters:":attribute debe contener al menos una letra.",mixed:":attribute debe contener al menos una mayúscula y una minúscula.",numbers:":attribute debe contener al menos un número.",symbols:":attribute debe contener al menos un símbolo.",uncompromised:"El campo :attribute ha aparecido en una fuga de datos. Por favor, elige un nuevo valor."},present:"El campo :attribute debe estar presente.",prohibited:"El campo :attribute está prohibido.",prohibited_if:"El campo :attribute está prohibido cuando :other es :value.",prohibited_unless:"El campo :attribute está prohibido a menos que :other sea :values.",prohibits:"El campo :attribute prohíbe que :other esté presente.",regex:"El formato de :attribute es inválido.",required:"El campo :attribute es obligatorio.",required_array_keys:"El campo :attribute debe contener entradas para: :values.",required_if:"El campo :attribute es obligatorio cuando :other es :value.",required_if_accepted:"El campo :attribute es obligatorio cuando :other se acepta.",required_unless:"El campo :attribute es obligatorio a menos que :other esté en :values.",required_with:"El campo :attribute es obligatorio cuando :values está presente.",required_with_all:"El campo :attribute es obligatorio cuando :values están presentes.",required_without:"El campo :attribute es obligatorio cuando :values no está presente.",required_without_all:"El campo :attribute es obligatorio cuando ninguno de :values está presente.",same:":attribute y :other deben coincidir.",size:{array:":attribute debe contener :size elementos.",file:"El tamaño de :attribute debe ser :size kilobytes.",numeric:"El tamaño de :attribute debe ser :size.",string:":attribute debe contener :size caracteres."},starts_with:"El campo :attribute debe comenzar con uno de los siguientes valores: :values",string:"El campo :attribute debe ser una cadena de caracteres.",timezone:":attribute debe ser una zona horaria válida.",unique:"El campo :attribute ya ha sido registrado.",uploaded:"Subir :attribute ha fallado.",url:":attribute debe ser una URL válida.",uuid:"El campo :attribute debe ser un UUID válido.",single:"Cuando se usa :attribute, éste debe ser el único parámetro en este cuerpo de la solicitud",onlyCustomOtpWithUri:"El parámetro uri debe ser proporcionado solo o sólo en combinación con el parámetro 'custom_otp'",custom:{icon:{image:"Los formatos soportados son: jpeg, png, bmp, gif, svg o webp."},qrcode:{image:"Los formatos soportados son: jpeg, png, bmp, gif, svg o webp."},uri:{regex:":attribute no es una otpauth uri válida."},otp_type:{in:":attribute no está soportado."},email:{exists:"No se ha encontrado ninguna cuenta con este correo electrónico."},secret:{isBase32Encoded:":attribute debe ser una cadena codificada en base32."},account:{regex:":attribute no debe contener dos puntos."},service:{regex:":attribute no debe contener dos puntos."},label:{required:"La uri debe tener una etiqueta."},ids:{regex:"Los IDs deben estar separados por comas, sin comas finales."}},attributes:[]}},fr:{auth:{failed:"Ces identifiants ne correspondent pas à nos enregistrements",password:"Le mot de passe saisi est incorrect.",throttle:"Tentatives de connexion trop nombreuses. Veuillez essayer de nouveau dans :seconds secondes.",sign_out:"Déconnexion",sign_in:"Se connecter",sign_in_using:"Se connecter en utilisant",sign_in_using_security_device:"Se connecter en utilisant un périphérique de sécurité",login_and_password:"login & mot de passe",register:"Créer un compte",welcome_to_2fauth:"Bienvenue sur 2FAuth",autolock_triggered:"Verrouillage automatique déclenché",autolock_triggered_punchline:"L'événement surveillé par la fonction de verrouillage automatique s'est déclenché. Vous avez été automatiquement déconnecté.",change_autolock_in_settings:"Vous pouvez modifier le comportement de la fonction de verrouillage automatique dans Réglages, onglet Options.",already_authenticated:"Déjà authentifié",authentication:"Authentification",maybe_later:"Peut-être plus tard",user_account_controlled_by_proxy:"Compte utilisateur mis à disposition par un proxy d'authentification.
Gérer le compte au niveau du proxy.",auth_handled_by_proxy:"Authentification gérée par un proxy inverse, les paramètres ci-dessous sont désactivés.
Gérer l'authentification au niveau du proxy.",confirm:{logout:"Etes-vous sûrs de vouloir vous déconnecter ?",revoke_device:"Voulez-vous vraiment supprimer cet appareil ?",delete_account:"Voulez-vous vraiment supprimer votre compte ?"},webauthn:{security_device:"un périphérique de sécurité",security_devices:"Périphériques de sécurité",security_devices_legend:"Périphériques d'authentification que vous pouvez utiliser pour vous connecter à 2FAuth, comme des clés de sécurité (ex : YubiKey) ou des smartphones dotés de capacités biométriques (ex : Apple FaceId/TouchId)",enhance_security_using_webauthn:"Vous pouvez améliorer la sécurité de votre compte 2FAuth en activant l'authentification WebAuthn.

\r\n WebAuthn vous permet d'utiliser des appareils de confiance (comme des Yubikeys ou des smartphones dotés de capacités biométriques) pour vous connecter rapidement et de manière plus sécurisée.",use_security_device_to_sign_in:"Préparez-vous à vous authentifier en utilisant un de vos dispositifs de sécurité. Branchez votre clé, retirez votre masque ou vos gants, etc.",lost_your_device:"Vous avez perdu votre appareil ?",recover_your_account:"Récupérer votre compte",account_recovery:"Récupération du compte",recovery_punchline:"2FAuth vous enverra un lien de récupération à cette adresse e-mail. Cliquez sur le lien et suivez les instructions pour restaurer l'accès à votre compte.

Assurez-vous d'ouvrir l'e-mail depuis un appareil qui vous appartient ou que vous considérez de confiance.",send_recovery_link:"Envoyer le lien de récupération",account_recovery_email_sent:"E-mail de récupération du compte envoyé !",disable_all_security_devices:"Désactiver tous les périphériques de sécurité",disable_all_security_devices_help:"Tous vos périphériques de sécurité seront révoqués. Utilisez cette option si vous avez perdu un périphérique ou si sa sécurité a été compromise.",register_a_new_device:"Ajouter un nouveau périphérique",register_a_device:"Ajouter un périphérique",device_successfully_registered:"Périphérique enregistré avec succès",device_revoked:"Périphérique révoqué avec succès",revoking_a_device_is_permanent:"La révocation d'un périphérique est définitive",recover_account_instructions:"Pour récupérer votre compte, 2FAuth réinitialise certains paramètres Webauthn afin que vous puissiez vous connecter en utilisant votre adresse e-mail et votre mot de passe.",invalid_recovery_token:"Jeton de sécurité invalide",webauthn_login_disabled:"Connexion Webauthn désactivée",invalid_reset_token:"Ce jeton de réinitialisation n'est pas valide.",rename_device:"Renommer le périphérique",my_device:"Mon périphérique",unknown_device:"Périphérique inconnu",use_webauthn_only:{label:"Utiliser uniquement WebAuthn",help:"Faire de WebAuthn la seule méthode autorisée pour vous connecter à votre compte 2FAuth. Ceci est la configuration recommandée pour profiter de la sécurité améliorée de WebAuthn.

\r\n En cas de perte de votre périphérique, vous pourrez récupérer votre compte en réinitialisant cette option et en vous connectant à l'aide de votre adresse e-mail et de votre mot de passe.

\r\n Attention ! Le formulaire E-mail + Mot de passe restera disponible même si l'option est activée, mais il retournera systématiquement une réponse 'Échec de l'authentification'."},need_a_security_device_to_enable_options:"Définissez au moins un périphérique pour activer ces options"},forms:{name:"Nom",login:"Connexion",webauthn_login:"Connexion WebAuthn",email:"Email",password:"Mot de passe",reveal_password:"Afficher le mot de passe",hide_password:"Masquer le mot de passe",confirm_password:"Confirmez le mot de passe",confirm_new_password:"Confirmez le nouveau mot de passe",dont_have_account_yet:"Pas encore de compte ?",already_register:"Déjà enregistré ?",authentication_failed:"Échec de l'authentification",forgot_your_password:"Mot de passe oublié ?",request_password_reset:"Réinitialisez-le",reset_your_password:"Réinitialiser votre mot de passe",reset_password:"Mot de passe oublié",disabled_in_demo:"Fonctionnalité désactivée en mode Démo",new_password:"Nouveau mot de passe",current_password:{label:"Mot de passe actuel",help:"Indiquez votre mot de passe actuel pour confirmer qu'il s'agit bien de vous"},change_password:"Modifier le mot de passe",send_password_reset_link:"Envoyer",password_successfully_changed:"Mot de passe modifié avec succès",edit_account:"Mis à jour du profil",profile_saved:"Profil mis à jour avec succès !",welcome_to_demo_app_use_those_credentials:"Bienvenue sur la démo de 2FAuth.

Vous pouvez vous connecter en utilisant l'adresse email demo@2fauth.app et le mot de passe demo",welcome_to_testing_app_use_those_credentials:"Bienvenue sur l'instance de test 2FAuth.

Utilisez l'adresse e-mail testing@2fauth.app et mot de passe password",register_punchline:"Bienvenue sur 2FAuth.
Vous avez besoin d'un compte pour aller plus loin, veuillez vous enregistrer.",reset_punchline:"2FAuth vous enverra un lien de réinitialisation de mot de passe à cette adresse. Cliquez sur le lien dans l'e-mail reçu pour définir un nouveau mot de passe.",name_this_device:"Nommer ce périphérique",delete_account:"Supprimer le compte",delete_your_account:"Supprimer votre compte",delete_your_account_and_reset_all_data:"Cela réinitialisera 2FAuth. Votre compte utilisateur sera supprimé ainsi que toutes les données 2FA. Il est impossible de restaurer des données réinitialisées.",user_account_successfully_deleted:"Compte supprimé avec succès",has_lower_case:"Contient une minuscule",has_upper_case:"Contient une majuscule",has_special_char:"Contient un caractère spécial",has_number:"Contient un chiffre",is_long_enough:"Au moins 8 caractères",mandatory_rules:"Obligatoire",optional_rules_you_should_follow:"Recommandé (fortement)",caps_lock_is_on:"Verr Maj est activé"}},commons:{cancel:"Annuler",update:"Mettre à jour",copy:"Copier",copy_to_clipboard:"Copier",copied_to_clipboard:"Copié dans le presse-papier",profile:"Profil",edit:"Modifier",delete:"Supprimer",disable:"Désactiver",enable:"Activer",create:"Créer",save:"Enregistrer",close:"Fermer",clear:"Effacer",clear_search:"Effacer la recherche",demo_do_not_post_sensitive_data:"Site de démonstration, ne postez aucune donnée sensible",testing_do_not_post_sensitive_data:"Site de test, ne postez aucune donnée sensible",selected:"selectionné(s)",name:"Nom",manage:"Gérer",done:"Terminé",new:"Nouveau",back:"Retour",move:"Déplacer",export:"Exporter",all:"Tous",select_all:"Tout sélectionner",clear_selection:"Effacer la sélection",sort_descending:"Trier par ordre décroissant",sort_ascending:"Trier par ordre croissant",rename:"Renommer",new_name:"Nouveau nom",options:"Options",reload:"Actualiser",some_data_have_changed:"Certaines données ont été modifiées. Vous devriez",generate:"Générer",generating_otp:"Génération de l'OTP",open_in_browser:"Ouvrir dans votre navigateur",continue:"Continuer",discard:"Retirer",about:"À propos",usefull_links:"Liens utiles",environment:"Environnement",credits:"Crédits","2fauth_teaser":"Une web app pour gérer vos comptes avec double authentification (2FA) et générer leurs codes de sécurité",made_with:"Fabriqué avec",ui_icons_by:"Icônes par",logos_by:"Logos par",search:"Recherche",resources:"Ressources",check_for_update:"Rechercher les mises à jour",check_for_update_help:"Vérifie automatiquement (une fois par semaine) et avertit quand une nouvelle version de 2FAuth est publiée sur Github",you_are_up_to_date:"Cette instance est à jour","2fauth_description":"Une web app pour gérer vos comptes avec double authentification (2FA) et générer leurs codes de sécurité",image_of_qrcode_to_scan:"Image d'un QR code à scanner",file:"Fichier",or:"OU",close_the_x_page:"Fermer la page {pagetitle}"},errors:{resource_not_found:"Ressource introuvable",error_occured:"Une erreur est survenue :",refresh:"Actualiser",no_valid_otp:"Aucune donnée OTP valide dans ce QR code",something_wrong_with_server:"Il y a un problème avec votre serveur",Unable_to_decrypt_uri:"uri impossible à décoder",not_a_supported_otp_type:"Ce format OTP n'est pas supporté pour le moment",cannot_create_otp_without_secret:"Impossible de créer un OTP sans un secret",data_of_qrcode_is_not_valid_URI:"Les données de ce code QR ne forment pas une URI OTP Auth valide. Le QR code contient :",wrong_current_password:"Mot de passe actuel érroné, rien n\\a été modifié",error_during_encryption:"Le chiffrement a échoué, votre base de données reste non protégée.",error_during_decryption:"Le déchiffrement a échoué, votre base de données est toujours protégée. Ceci est principalement dû à un problème d'intégrité des données chiffrées pour un ou plusieurs comptes.",qrcode_cannot_be_read:"Ce QR code est illisible",too_many_ids:"trop d'IDs ont été inclus dans le paramètre de requête, max. 100 autorisés",delete_user_setting_only:"Seuls les paramètres créés par l'utilisateur peuvent être supprimés",indecipherable:"*indéchiffrable*",cannot_decipher_secret:"Le secret ne peut pas être déchiffré. Ceci est généralement causé par une valeur APP_KEY incorrecte définie dans le fichier de configuration .env de 2Fauth ou des données corrompues dans la base de données.",https_required:"Contexte HTTPS requis",browser_does_not_support_webauthn:"Votre appareil ne supporte pas WebAuthn. Réessayez plus tard en utilisant un navigateur plus récent",aborted_by_user:"Abandonné par l'utilisateur",security_device_unsupported:"Périphérique non pris en charge ou déjà utilisé",not_allowed_operation:"Opération non autorisée",unsupported_operation:"Opération non supportée",unknown_error:"Erreur inconnue",security_error_check_rpid:"Erreur de sécurité
Vérifiez votre variable d'environnement WEBAUTHN_ID",unsupported_with_reverseproxy:"Sans effet avec un proxy d'authentification",user_deletion_failed:"La suppression du compte utilisateur a échoué, aucune donnée n'a été supprimée",auth_proxy_failed:"Échec de l'authentification par le proxy",auth_proxy_failed_legend:"2Fauth est configuré pour fonctionner derrière un proxy d'authentification, mais votre proxy ne retourne pas l'en-tête attendu. Vérifiez votre configuration et réessayez.",invalid_x_migration:"Données :appname invalides ou illisibles",invalid_2fa_data:"Données 2FA invalides",unsupported_migration:"Les données ne correspondent à aucun format pris en charge",unsupported_otp_type:"Type OTP non supporté",encrypted_migration:"Non lisible, les données semblent chiffrées",no_logo_found_for_x:"Aucun logo disponible pour {service}",file_upload_failed:"Échec de téléchargement du fichier",unauthorized:"Non autorisé",unauthorized_legend:"Vous n'avez pas la permission de voir cette ressource ou d'effectuer cette action",cannot_delete_the_only_admin:"Impossible de supprimer le seul compte administrateur"},groups:{groups:"Groupes",create_group:"Créer un nouveau groupe",show_group_selector:"Afficher le sélecteur de groupe",hide_group_selector:"Masquer le sélecteur de groupe",select_accounts_to_show:"Sélectionnez les comptes à afficher",manage_groups:"Gérer les groupes",active_group:"Groupe actif",manage_groups_legend:'Vous pouvez créer des groupes pour organiser vos comptes comme bon vous semble. Tous les comptes restent visibles dans le pseudo groupe nommé "Tous", quel que soit le groupe auquel ils appartiennent.',deleting_group_does_not_delete_accounts:"La suppression d'un groupe ne supprime pas les comptes",move_selected_to:"Déplacer la sélection vers",move_selected_to_group:"Déplacer la sélection dans un groupe",no_group:"Aucun groupe",change_group:"Changer de groupe",group_successfully_created:"Groupe créé avec succès",group_name_saved:"Nom du groupe enregistré",group_successfully_deleted:"Groupe supprimé avec succès",forms:{new_group:"Nouveau groupe",new_name:"Nouveau nom",rename_group:"Renommer le groupe"},confirm:{delete:"Êtes-vous sûr·e de vouloir supprimer ce groupe ?"}},languages:{browser_preference:"Préférence du navigateur",en:"Anglais",fr:"Français",de:"Allemand",es:"Espagnol",zh:"Chinois simplifié",ru:"Russe",bg:"Bulgare"},pagination:{previous:"« Précédent",next:"Suivant »"},passwords:{reset:"Votre mot de passe a été réinitialisé !",sent:"Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !",throttled:"Veuillez patienter avant de réessayer.",token:"Ce jeton de réinitialisation du mot de passe n'est pas valide.",user:"Aucun utilisateur n'a été trouvé avec cette adresse email.",password:"Les mots de passe doivent contenir au moins huit caractères et être identiques."},settings:{settings:"Réglages",preferences:"Préférences",account:"Compte",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Jetons",options:"Options",user_preferences:"Préférences utilisateur",admin_settings:"Paramètres administrateur",confirm:{revoke:"Êtes-vous sûr(e) de vouloir révoquer ce jeton ?"},administration:"Administration",administration_legend:"Contrairement aux paramètres précédents qui sont des paramètres utilisateur (chaque utilisateur peut les personnaliser à sa convenance), les paramètres qui suivent sont globaux et s'appliquent à tous les utilisateurs. Seul les administrateurs peuvent voir et modifier ces paramètres.",you_are_administrator:"Vous êtes administrateur",general:"General",security:"Sécurité",profile:"Profil",change_password:"Changer le mot de passe",personal_access_tokens:"Jetons d'accès personnel",token_legend:"Les jetons d'accès personnels permettent à n'importe quelle application de s'authentifier à l'API 2Fauth. Vous devez fournir le jeton d'accès en tant que Bearer dans l'en-tête d'autorisation des requêtes de ces applications.",generate_new_token:"Générer un nouveau jeton",revoke:"Révoquer",token_revoked:"Jeton révoqué avec succès",revoking_a_token_is_permanent:"Révoquer un jeton est définitif",make_sure_copy_token:"Copier votre jeton d'accès personnel dès maintenant. Vous ne pourrez pas l'afficher à nouveau !",data_input:"Saisie des données",forms:{edit_settings:"Modifier les réglages",setting_saved:"Réglages sauvegardés",new_token:"Nouveau jeton",some_translation_are_missing:"Certaines traductions sont manquantes en utilisant la langue préférée du navigateur ?",help_translate_2fauth:"Aidez à traduire 2FAuth",language:{label:"Langue",help:"Langue utilisée pour traduire l'interface utilisateur de 2FAuth. Les langues proposées sont complètes, vous pouvez les utiliser pour remplacer la langue de référence de votre navigateur."},show_otp_as_dot:{label:"Afficher les mots de passe générés sous forme de point",help:"Remplace les caractères des mots de passe générés par des ●●● pour garantir leur confidentialité. N'affecte pas la fonction de copier/coller qui reste utilisable."},close_otp_on_copy:{label:'Cacher les mots de passe OTP copiés',help:"Les mots de passe qui viennent d'être copiés ne restent pas visibles à l'écran"},copy_otp_on_display:{label:"Copier le mot de passe OTP dès qu'il s'affiche",help:"Copie automatiquement dans le presse-papier un mot de passe qui vient de s'afficher à l'écran. A cause de restrictions des navigateurs, seul le premier mot de passe TOTP à s'afficher est copié, pas les mots de passe successifs"},use_basic_qrcode_reader:{label:"Utiliser le lecteur de QR code basique",help:"Si vous rencontrez des problèmes lors de la lecture des QR codes activez cette option pour utiliser un lecteur de QR code moins évolué mais plus largement compatible"},display_mode:{label:"Mode d'affichage",help:"Change le mode d'affichage des comptes, soit sous forme de liste, soit sous forme de grille"},password_format:{label:"Mise en forme des mots de passe",help:"Modifie l'affichage des mots de passe en regroupement les chiffres afin de faciliter la lisibilité et leur mémorisation"},pair:"par Paire",pair_legend:"Groupe les chiffres deux par deux",trio_legend:"Groupe les chiffres trois par trois",half_legend:"Sépare les chiffres en deux groupes égaux",trio:"par Trio",half:"par Moitié",grid:"Grille",list:"Liste",theme:{label:"Thème",help:"Forcer un thème spécifique ou appliquer le thème défini dans vos préférences système/navigateur"},light:"Clair",dark:"Sombre",automatic:"Auto",show_accounts_icons:{label:"Afficher les icônes",help:"Affiche les icônes des comptes dans la vue principale"},get_official_icons:{label:"Récupérer les icônes officielles",help:"(Essaie de) Récupère automatiquement l'icône officielle du service émetteur du compte 2FA lors de son ajout à 2FAuth"},auto_lock:{label:"Verrouillage automatique",help:"Déconnecte automatiquement l'utilisateur en cas d'inactivité. Est sans effet lorsque l'authentification est gérée par un proxy et qu'aucune URL de déconnexion personnalisée n'est configurée."},use_encryption:{label:"Protéger les données sensibles",help:"Les données sensibles, les secrets et les e-mails 2FA, sont stockés chiffrés dans la base de données. Assurez-vous de sauvegarder la valeur APP_KEY de votre fichier env (ou tout le fichier) car il sert de clé de chiffrement. Il n'y a aucun moyen de déchiffrer les données chiffrées sans cette clé."},default_group:{label:"Groupe par défaut",help:"Le groupe auquel sont associés les nouveaux comptes"},useDirectCapture:{label:"Saisie directe",help:"Choisissez si vous voulez être invité à choisir un mode de saisie parmi ceux disponibles ou si vous voulez utiliser directement le mode de saisie par défaut"},defaultCaptureMode:{label:"Mode de saisie par défaut",help:"Mode de saisie utilisé par défaut lorsque l'option Saisie directe est activée"},remember_active_group:{label:"Mémoriser le filtrage par groupe",help:"Enregistre le dernier groupe affiché et le restaure lors de votre prochaine visite"},disable_registration:{label:"Bloquer les inscriptions",help:"Empêche l'enregistrement de nouveaux utilisateurs"},otp_generation:{label:"Affichage des mots de passe",help:'Définit quand et comment sont affichés les OTPs.
'},otp_generation_on_request:"Après un clic/tap",otp_generation_on_request_legend:"Seul, dans un écran dédié",otp_generation_on_request_title:"Cliquer sur un compte pour obtenir un mot de passe dans un écran dédié",otp_generation_on_home:"En permanence",otp_generation_on_home_legend:"Tous, sur l'écran d'accueil",otp_generation_on_home_title:"Montrer tous les mots de passe sur l'écran d'accueil sans aucune action de l'utilisateur",never:"Jamais",on_otp_copy:"Après copie d'un mot de passe","1_minutes":"Après 1 minute","5_minutes":"Après 5 minutes","10_minutes":"Après 10 minutes","15_minutes":"Après 15 minutes","30_minutes":"Après 30 minutes","1_hour":"Après 1 heure","1_day":"Après 1 journée",livescan:"Scanner avec la caméra",upload:"Téléchargement de QR code",advanced_form:"Formulaire avancé"}},titles:{404:"Élément non trouvé",start:"Nouveau compte",capture:"Flash un QR code",accounts:"Comptes",createAccount:"Créez un compte",importAccounts:"Importer des comptes",editAccount:"Édition du compte",showQRcode:"QR code du compte",groups:"Groupes",createGroup:"Créer un groupe",editGroup:"Édition du groupe",settings:{options:"Options",account:"Compte utilisateur",oauth:{tokens:"Jetons OAuth",generatePAT:"Nouveau jeton d'accès personnel"},webauthn:{editCredential:"Édition du périphérique",devices:"Périphériques WebAuthn"}},login:"Connexion",register:"Inscription",autolock:"Verrouillage automatique",password:{request:"Réinitialisation du mot de passe",reset:"Nouveau mot de passe"},webauthn:{lost:"Récupération du compte",recover:"Ajouter un nouveau périphérique"},flooded:"Trop de tentatives",genericError:"Erreur",about:"À propos"},twofaccounts:{service:"Service",account:"Compte",accounts:"Comptes",icon:"Icône",icon_for_account_x_at_service_y:"Icône du compte {account} sur {service}",icon_to_illustrate_the_account:"Icône qui illustre le compte",remove_icon:"Supprimer l'icône",no_account_here:"Aucun compte 2FA !",add_first_account:"Choisissez une méthode et ajoutez votre premier compte",use_full_form:"Ou utiliser le formulaire détaillé",add_one:"Add one",show_qrcode:"Afficher le QR code",no_service:"- aucun service -",account_created:"Compte créé avec succès",account_updated:"Compte mis à jour avec succès",accounts_deleted:"Compte·s supprimé·s avec succès",accounts_moved:"Compte·s déplacé·s avec succès",export_selected_to_json:"Télécharger un export json des comptes sélectionnés",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"Marc Dupont"},new_account:"Nouveau compte",edit_account:"Modifier le compte",otp_uri:"OTP Uri",scan_qrcode:"Scanner un QR code",upload_qrcode:"Uploader un QR code",use_advanced_form:"Utiliser le formulaire avancé",prefill_using_qrcode:"Préremplir à l'aide d'un QR Code",use_qrcode:{val:"Utiliser un QR code",title:"Utiliser un QR code pour renseigner le formulaire d'un seul coup d'un seul"},unlock:{val:"Déverouiller",title:"Déverouiller le champ (à vos risques et périls)"},lock:{val:"Vérouiller",title:"Vérouiller le champ"},choose_image:"Télécharger",i_m_lucky:"J'ai de la chance",i_m_lucky_legend:"Le bouton \"J'ai de la chance\" essaie d'obtenir l'icône officielle du service renseigné. Entrez le nom exact du service, sans l'extension \".xyz\" et avec la bonne orthographe. (fonctionnalité bêta)",test:"Tester",secret:{label:"Secret",help:"La clé utilisée pour générer vos codes de sécurité"},plain_text:"Texte brut",otp_type:{label:'Choisissez le type d\'OTP à créer',help:"Time-based OTP ou HMAC-based OTP ou Steam OTP"},digits:{label:"Nombre de chiffres",help:"Le nombre de chiffres des codes de sécurité générés"},algorithm:{label:"Algorithme",help:"L'algorithme utilisé pour sécuriser vos codes de sécurité"},period:{label:"Durée de validité",placeholder:"30 s par défaut",help:"La durée de validité des codes de sécurité générés, en seconde"},counter:{label:"Compteur",placeholder:"0 par défaut",help:"La valeur initiale du compteur",help_lock:"Il est risqué de modifier le compteur car vous pouvez désynchroniser le compte avec le serveur de vérification du service. Utilisez l'icône cadenas pour activer la modification, mais seulement si vous savez ce que vous faites"},image:{label:"Image",placeholder:"http://...",help:"L'URL d'une image externe à utiliser comme icône du compte"},options_help:"Vous pouvez laisser les options suivantes non renseignées si vous ne savez pas comment les définir. Les valeurs les plus couramment utilisées seront appliquées.",alternative_methods:"Méthodes alternatives"},stream:{live_scan_cant_start:"Le scanner ne peut pas démarrer :(",need_grant_permission:{reason:"2FAuth n'a pas la permission d'accéder à votre caméra",solution:"Vous devez autoriser l'utilisation de l'appareil photo de votre appareil. Si vous avez déjà refusé et que votre navigateur ne vous le demande plus, veuillez vous référer à la documentation du navigateur pour savoir comment accorder l’autorisation."},not_readable:{reason:"Impossible de charger le scanner",solution:"La caméra est-elle déjà en cours d'utilisation ? Assurez-vous qu'aucune autre application n'utilise votre appareil photo et réessayez"},no_cam_on_device:{reason:"Votre équipement ne dispose pas de caméra",solution:"Peut-être avez-vous oublié de brancher votre webcam"},secured_context_required:{reason:"Contexte sécurisé requis",solution:"Une connexion sécurisée HTTPS est requise pour utiliser le scanner. Si vous exécutez 2FAuth depuis votre ordinateur, n'utilisez pas d'hôte virtuel autre que localhost"},https_required:"HTTPS requis pour utiliser la caméra",camera_not_suitable:{reason:"Votre équipement ne dispose pas d'une caméra adaptée",solution:"Veuillez utiliser un autre appareil"},stream_api_not_supported:{reason:"L'API Stream n'est pas prise en charge dans ce navigateur",solution:"Vous devriez utiliser un navigateur moderne"}},confirm:{delete:"Etes-vous sûrs de vouloir supprimer le compte ?",cancel:"Les données seront perdues, êtes-vous sûrs ?",discard:"Êtes-vous sûrs de vouloir retirer ce compte ?",discard_all:"Êtes-vous sûrs de vouloir retirer tous les comptes ?",discard_duplicates:"Êtes-vous sûrs de vouloir retirer tous les doublons ?"},import:{import:"Import",to_import:"Importer",import_legend:"2FAuth peut importer les données de diverses applications 2FA.
Utilisez la fonction d'exportation de ces applications pour obtenir une ressource de migration (un code QR ou un fichier) et chargez-la via une de ces méthodes.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepté : jpg, jpeg, png, bmp, gif, svg, ou webp",supported_formats_for_file_upload:"Accepté : Texte brut, json, 2fas",supported_migration_formats:"Formats de migration supportés",qr_code:"QR Code",plain_text:"Texte brut",issuer:"Émetteur",imported:"Importé",failure:"Échec",x_valid_accounts_found:"{count} comptes valides trouvés",import_all:"Tout importer",import_this_account:"Importer ce compte",discard_all:"Tout retirer",discard_duplicates:"Retirer les doublons",discard_this_account:"Retirer ce compte",generate_a_test_password:"Générer un mot de passe de test",possible_duplicate:"Un compte avec les mêmes informations existe déjà",invalid_account:"- compte non valide -",invalid_service:"- service non valide -",do_not_set_password_or_encryption:"N'activez PAS la protection par mot de passe ou le chiffrement lorsque vous exportez des données (depuis une application 2FA) que vous comptez importer dans 2FAuth."}},validation:{accepted:"Le champ :attribute doit être accepté.",accepted_if:"Le champ :attribute doit être accepté quand :other a la valeur :value.",active_url:"Le champ :attribute n'est pas une URL valide.",after:"Le champ :attribute doit être une date postérieure au :date.",after_or_equal:"Le champ :attribute doit être une date postérieure ou égale au :date.",alpha:"Le champ :attribute doit contenir uniquement des lettres.",alpha_dash:"Le champ :attribute doit contenir uniquement des lettres, des chiffres et des tirets (hauts ou bas).",alpha_num:"Le champ :attribute doit contenir uniquement des chiffres et des lettres.",array:"Le champ :attribute doit être un tableau.",before:"Le champ :attribute doit être une date antérieure au :date.",before_or_equal:"Le champ :attribute doit être une date antérieure ou égale au :date.",between:{array:"Le tableau :attribute doit contenir entre :min et :max éléments.",file:"La taille du fichier de :attribute doit être comprise entre :min et :max kilo-octets.",numeric:"La valeur de :attribute doit être comprise entre :min et :max.",string:"Le texte :attribute doit contenir entre :min et :max caractères."},boolean:"Le champ :attribute doit être vrai ou faux.",confirmed:"Le champ de confirmation :attribute ne correspond pas.",current_password:"Le mot de passe est incorrect.",date:"Le champ :attribute n'est pas une date valide.",date_equals:"Le champ :attribute doit être une date égale à :date.",date_format:"Le champ :attribute ne correspond pas au format :format.",declined:"Le champ :attribute doit être décliné.",declined_if:"Le champ :attribute doit être décliné quand :other a la valeur :value.",different:"Les champs :attribute et :other doivent être différents.",digits:"Le champ :attribute doit contenir :digits chiffres.",digits_between:"Le champ :attribute doit contenir entre :min et :max chiffres.",dimensions:"La taille de l'image :attribute n'est pas conforme.",distinct:"Le champ :attribute a une valeur en double.",doesnt_end_with:"Le champ :attribute ne peut pas se terminer par l'une de ces valeurs : :values.",doesnt_start_with:"Le champ :attribute ne peut pas commencer par l'une de ces valeurs : :values.",email:"Le champ :attribute doit être une adresse email valide.",ends_with:"Le champ :attribute doit se terminer par une des valeurs suivantes : :values",enum:"Le champ :attribute sélectionné n'est pas valide.",exists:"Le champ :attribute sélectionné est invalide.",file:"Le champ :attribute doit être un fichier.",filled:"Le champ :attribute doit avoir une valeur.",gt:{array:"Le tableau :attribute doit contenir plus de :value éléments.",file:"La taille du fichier de :attribute doit être supérieure à :value kilo-octets.",numeric:"La valeur de :attribute doit être supérieure à :value.",string:"Le texte :attribute doit contenir plus de :value caractères."},gte:{array:"Le tableau :attribute doit contenir au moins :value éléments.",file:"La taille du fichier :attribute doit être supérieure ou égale à :value kilo-octets.",numeric:"La valeur de :attribute doit être supérieure ou égale à :value.",string:"Le texte :attribute doit contenir au moins :value caractères."},image:"Le champ :attribute doit être une image.",in:"Le champ :attribute est invalide.",in_array:"Le champ :attribute n'existe pas dans :other.",integer:"Le champ :attribute doit être un entier.",ip:"Le champ :attribute doit être une adresse IP valide.",ipv4:"Le champ :attribute doit être une adresse IPv4 valide.",ipv6:"Le champ :attribute doit être une adresse IPv6 valide.",json:"Le champ :attribute doit être un document JSON valide.",lt:{array:"Le tableau :attribute doit contenir moins de :value éléments.",file:"La taille du fichier de :attribute doit être inférieure à :value kilo-octets.",numeric:"La valeur de :attribute doit être inférieure à :value.",string:"Le texte :attribute doit contenir moins de :value caractères."},lte:{array:"Le tableau :attribute doit contenir au plus :value éléments.",file:"La taille du fichier :attribute doit être inférieure ou égale à :value kilo-octets.",numeric:"La valeur de :attribute doit être inférieure ou égale à :value.",string:"Le texte :attribute doit contenir au plus :value caractères."},mac_address:"Le champ :attribute doit être une adresse MAC valide.",max:{array:":attribute ne doit pas dépasser :max éléments.",file:":attribute ne doit pas excéder :max Ko.",numeric:":attribute ne doit pas excéder :max.",string:":attribute ne doit pas excéder :max caractères."},max_digits:":attribute ne doit pas excéder :max chiffres.",mimes:"Le champ :attribute doit être un fichier de type : :values.",mimetypes:"Le champ :attribute doit être un fichier de type : :values.",min:{array:"Le tableau :attribute doit contenir au moins :min éléments.",file:"La taille du fichier de :attribute doit être supérieure à :min kilo-octets.",numeric:"La valeur de :attribute doit être supérieure ou égale à :min.",string:"Le texte :attribute doit contenir au moins :min caractères."},min_digits:":attribute doit avoir au moins :min chiffres.",multiple_of:"La valeur de :attribute doit être un multiple de :value.",not_in:"Le champ :attribute sélectionné n'est pas valide.",not_regex:"Le format du champ :attribute n'est pas valide.",numeric:"Le champ :attribute doit contenir un nombre.",password:{letters:":attribute doit contenir au moins une lettre.",mixed:":attribute doit contenir au moins une majuscule et une minuscule.",numbers:":attribute doit contenir au moins un nombre.",symbols:":attribute doit contenir au moins un symbole.",uncompromised:"Le champ :attribute est apparu dans une fuite de données, merci d'en choisir un différent."},present:"Le champ :attribute doit être présent.",prohibited:"Le champ :attribute est interdit.",prohibited_if:"Le champ :attribute est interdit quand :other a la valeur :value.",prohibited_unless:"Le champ :attribute est interdit à moins que :other est l'une des valeurs :values.",prohibits:"Le champ :attribute interdit :other d'être présent.",regex:"Le format du champ :attribute est invalide.",required:"Le champ :attribute est obligatoire.",required_array_keys:"Le champ :attribute doit contenir des entrées pour : :values.",required_if:"Le champ :attribute est obligatoire quand la valeur de :other est :value.",required_if_accepted:"Le champ :attribute est requis lorsque :other est accepté.",required_unless:"Le champ :attribute est obligatoire sauf si :other est :values.",required_with:"Le champ :attribute est obligatoire quand :values est présent.",required_with_all:"Le champ :attribute est obligatoire quand :values sont présents.",required_without:"Le champ :attribute est obligatoire quand :values n'est pas présent.",required_without_all:"Le champ :attribute est requis quand aucun de :values n'est présent.",same:"Les champs :attribute et :other doivent être identiques.",size:{array:"Le tableau :attribute doit contenir :size éléments.",file:"La taille du fichier de :attribute doit être de :size kilo-octets.",numeric:"La valeur de :attribute doit être :size.",string:"Le texte de :attribute doit contenir :size caractères."},starts_with:"Le champ :attribute doit commencer avec une des valeurs suivantes : :values",string:"Le champ :attribute doit être une chaîne de caractères.",timezone:":attribute doit être un fuseau horaire valide.",unique:"La valeur du champ :attribute est déjà utilisée.",uploaded:"Le fichier du champ :attribute n'a pu être téléversé.",url:":attribute doit être une URL valide.",uuid:"Le champ :attribute doit être un UUID valide",single:"Lors de l'utilisation de :attribut, il doit être le seul paramètre dans le corps de la requête",onlyCustomOtpWithUri:"Le paramètre uri doit être fourni seul ou seulement avec le paramètre 'custom_otp'",custom:{icon:{image:"Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Les formats acceptés sont jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"Le champ :attribute n'est pas une URI otpauth valide."},otp_type:{in:"Le champ :attribute n'est pas supporté."},email:{exists:"Aucun compte utilisateur n'utilise cet email."},secret:{isBase32Encoded:"Le :attribute doit être une chaîne encodée en base32"},account:{regex:"Le champ :attribute ne doit pas contenir de deux-points."},service:{regex:"Le champ :attribute ne doit pas contenir de deux-points."},label:{required:"L'URI doit avoir un label."},ids:{regex:"Les IDs doivent être séparés par des virgules, sans virgule en fin de chaîne."}},attributes:[]}},id:{auth:{failed:"Kredensial ini tidak cocok dengan catatan kami.",password:"Kata sandi yand diberikan salah.",throttle:"Terlalu banyak upaya log masuk. Silakan coba lagi dalam :seconds detik.",sign_out:"Keluar",sign_in:"Masuk",sign_in_using:"Masuk dengan",sign_in_using_security_device:"Masuk menggunakan sebuah perangkat keamanan",login_and_password:"masuk & kata sandi",register:"Mendaftar",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Kunci otomatis dipicu",autolock_triggered_punchline:"Peristiwa yang di awasi oleh fitur Kunci Otomatis telah di picu. Jika anda terputus otomatis.",change_autolock_in_settings:"Anda dapat mengubah perilaku dari fitur Kunci otomatis di Pengaturan > tab Opsi.",already_authenticated:"Telah terotentikasi",authentication:"Otentikasi",maybe_later:"Mungkin nanti",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Otentikasi ditangani oleh sebuah reverse proxy, pengaturan dibawah dimatikan.
Atur otentikasi pada level proxy.",confirm:{logout:"Apakah Anda yakin ingin keluar?",revoke_device:"Anda yakin ingin menghapus perangkat ini?",delete_account:"Apakah Anda yakin ingin menghapus akun anda?"},webauthn:{security_device:"sebuah perangkat keamanan",security_devices:"Perangkat keamanan",security_devices_legend:"Perangkat otentikasi yang dapat anda gunakan untuk masuk ke 2FAuth, seperti kunci kemanan(cth. Yubikey) atau smartphone dengan kemampuan biometrik (cth. Apple FaceId/TouchId)",enhance_security_using_webauthn:"Anda dapat meningkatkan keamanan pada akun 2FAuth anda dengan menyalakan otentikasi WebAuthn.

WebAuthn memungkinkan anda untuk menggunakan perangkat terpercaya (seperti Yubikeys atau smartphone dengan kemampuan biometric) untuk masuk dengan cepat dan lebih aman.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Lost your device?",recover_your_account:"Recover your account",account_recovery:"Account recovery",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Send recovery link",account_recovery_email_sent:"Account recovery email sent!",disable_all_security_devices:"Disable all security devices",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Register a new device",register_a_device:"Register a device",device_successfully_registered:"Device successfully registered",device_revoked:"Device successfully revoked",revoking_a_device_is_permanent:"Revoking a device is permanent",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Invalid recovery token",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Rename device",my_device:"My device",unknown_device:"Unknown device",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"Name",login:"Login",webauthn_login:"WebAuthn login",email:"Email",password:"Password",reveal_password:"Reveal password",hide_password:"Hide password",confirm_password:"Confirm password",confirm_new_password:"Confirm new password",dont_have_account_yet:"Don't have your account yet?",already_register:"Already registered?",authentication_failed:"Authentication failed",forgot_your_password:"Forgot your password?",request_password_reset:"Reset it",reset_your_password:"Reset your password",reset_password:"Reset password",disabled_in_demo:"Feature disabled in Demo mode",new_password:"New password",current_password:{label:"Current password",help:"Fill in your current password to confirm that it's you"},change_password:"Change password",send_password_reset_link:"Send password reset link",password_successfully_changed:"Password successfully changed",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Delete account",delete_your_account:"Delete your account",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"User account successfully deleted",has_lower_case:"Has lower case",has_upper_case:"Has upper case",has_special_char:"Has special char",has_number:"Has number",is_long_enough:"8 characters min.",mandatory_rules:"Mandatory",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock is On"}},commons:{cancel:"Cancel",update:"Update",copy:"Copy",copy_to_clipboard:"Copy to clipboard",copied_to_clipboard:"Copied to clipboard",profile:"Profile",edit:"Edit",delete:"Delete",disable:"Disable",enable:"Enable",create:"Create",save:"Save",close:"Close",clear:"Clear",clear_search:"Clear search",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data",testing_do_not_post_sensitive_data:"This is a testing app, do not post any sensitive data",selected:"selected",name:"Name",manage:"Manage",done:"Done",new:"New",back:"Back",move:"Move",export:"Export",all:"All",select_all:"Select all",clear_selection:"Clear selection",sort_descending:"Sort descending",sort_ascending:"Sort ascending",rename:"Rename",new_name:"New name",options:"Options",reload:"Reload",some_data_have_changed:"Some data have changed. You should",generate:"Generate",generating_otp:"Generating OTP",open_in_browser:"Open in browser",continue:"Continue",discard:"Discard",about:"About",usefull_links:"Usefull links",environment:"Environment",credits:"Credits","2fauth_teaser":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",made_with:"Made with",ui_icons_by:"UI Icons by",logos_by:"Logos by",search:"Search",resources:"Resources",check_for_update:"Check for new version",check_for_update_help:"Automatically check (once a week) and warn when a new release of 2FAuth is published on Github",you_are_up_to_date:"This instance is up-to-date","2fauth_description":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",image_of_qrcode_to_scan:"Image of a QR code to scan",file:"File",or:"OR",close_the_x_page:"Close the {pagetitle} page"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",refresh:"Refresh",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Aborted by user",security_device_unsupported:"Unsupported or in use device",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"File upload failed",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"Groups",create_group:"Create new group",show_group_selector:"Show group selector",hide_group_selector:"Hide group selector",select_accounts_to_show:"Select accounts group to show",manage_groups:"Manage groups",active_group:"Active group",manage_groups_legend:"You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named 'All', regardless of the group they belong to.",deleting_group_does_not_delete_accounts:"Deleting a group does not delete accounts",move_selected_to:"Move selected to",move_selected_to_group:"Move selected into a group",no_group:"No group",change_group:"Change group",group_successfully_created:"Group successfully created",group_name_saved:"Group name saved",group_successfully_deleted:"Group successfully deleted",forms:{new_group:"New group",new_name:"New name",rename_group:"Rename group"},confirm:{delete:"Are you sure you want to delete this group?"}},languages:{browser_preference:"Preferensi perambaan",en:"Bahasa Inggris",fr:"Bahasa Perancis",de:"Bahasa Jerman",es:"Bahasa Spanyol",zh:"Bahasa Tiongkok yang disederhanakan",ru:"Russian",bg:"Bulgarian"},pagination:{previous:"« Sebelumnya",next:"Selanjutnya »"},passwords:{reset:"Kata sandi Anda telah diatur ulang!",sent:"Kami telah mengirimkan email tautan pengaturan ulang kata sandi anda!",throttled:"Mohon tunggu sebelum mencoba lagi.",token:"Token pengaturan ulang kata sandi ini tidak valid.",user:"Kami tidak dapat menemukan pengguna dengan alamat email tersebut.",password:"Kata sandi harus setidaknya delapan karakter dan sesuai dengan konfirmasi."},settings:{settings:"Settings",preferences:"Preferences",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Options",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Security",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"Data input",forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"Language",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"Show icons",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"Auto lock",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"Direct input",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"After 1 minute","5_minutes":"After 5 minutes","10_minutes":"After 10 minutes","15_minutes":"After 15 minutes","30_minutes":"After 30 minutes","1_hour":"After 1 hour","1_day":"After 1 day",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Item tidak ditemukan",start:"Akun baru",capture:"QR Kilat",accounts:"Akun",createAccount:"Buat akun",importAccounts:"Impor Akun",editAccount:"Ubah akun",showQRcode:"Akun sebagai kode QR",groups:"Grup",createGroup:"Buat grup",editGroup:"Edit grup",settings:{options:"Opsi",account:"Akun pengguna",oauth:{tokens:"Token OAuth",generatePAT:"Token personal baru"},webauthn:{editCredential:"Pengaturan perangkat",devices:"Perangkat WebAuthn"}},login:"Masuk",register:"Mendaftar",autolock:"Kunci Otomatis",password:{request:"Atur ulang kata sandi",reset:"Kata sandi baru"},webauthn:{lost:"Pemulihan akun",recover:"Daftarkan sebuah perangkat baru"},flooded:"Banjir",genericError:"Galat",about:"Tentang"},twofaccounts:{service:"Service",account:"Account",accounts:"Accounts",icon:"Icon",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Secret",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:"The :attribute must be accepted.",accepted_if:"The :attribute must be accepted when :other is :value.",active_url:"The :attribute is not a valid URL.",after:"The :attribute must be a date after :date.",after_or_equal:"The :attribute must be a date after or equal to :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:"The :attribute must be an array.",before:"The :attribute must be a date before :date.",before_or_equal:"The :attribute must be a date before or equal to :date.",between:{array:"The :attribute must have between :min and :max items.",file:"The :attribute must be between :min and :max kilobytes.",numeric:"The :attribute must be between :min and :max.",string:"The :attribute must be between :min and :max characters."},boolean:"The :attribute field must be true or false.",confirmed:"The :attribute confirmation does not match.",current_password:"The password is incorrect.",date:"The :attribute is not a valid date.",date_equals:"The :attribute must be a date equal to :date.",date_format:"The :attribute does not match the format :format.",declined:"The :attribute must be declined.",declined_if:"The :attribute must be declined when :other is :value.",different:"The :attribute and :other must be different.",digits:"The :attribute must be :digits digits.",digits_between:"The :attribute must be between :min and :max digits.",dimensions:"The :attribute has invalid image dimensions.",distinct:"The :attribute field has a duplicate value.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:"The :attribute must be a valid email address.",ends_with:"The :attribute must end with one of the following: :values.",enum:"The selected :attribute is invalid.",exists:"The selected :attribute is invalid.",file:"The :attribute must be a file.",filled:"The :attribute field must have a value.",gt:{array:"The :attribute must have more than :value items.",file:"The :attribute must be greater than :value kilobytes.",numeric:"The :attribute must be greater than :value.",string:"The :attribute must be greater than :value characters."},gte:{array:"The :attribute must have :value items or more.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:"The :attribute must be an image.",in:"The selected :attribute is invalid.",in_array:"The :attribute field does not exist in :other.",integer:"The :attribute must be an integer.",ip:"The :attribute must be a valid IP address.",ipv4:"The :attribute must be a valid IPv4 address.",ipv6:"The :attribute must be a valid IPv6 address.",json:"The :attribute must be a valid JSON string.",lt:{array:"The :attribute must have less than :value items.",file:"The :attribute must be less than :value kilobytes.",numeric:"The :attribute must be less than :value.",string:"The :attribute must be less than :value characters."},lte:{array:"The :attribute must not have more than :value items.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:"The :attribute must be a file of type: :values.",mimetypes:"The :attribute must be a file of type: :values.",min:{array:"The :attribute must have at least :min items.",file:"The :attribute must be at least :min kilobytes.",numeric:"The :attribute must be at least :min.",string:"The :attribute must be at least :min characters."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"The selected :attribute is invalid.",not_regex:"The :attribute format is invalid.",numeric:"The :attribute must be a number.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"The :attribute field must be present.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"The :attribute format is invalid.",required:"The :attribute field is required.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"The :attribute field is required when :other is :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"The :attribute field is required unless :other is in :values.",required_with:"The :attribute field is required when :values is present.",required_with_all:"The :attribute field is required when :values are present.",required_without:"The :attribute field is required when :values is not present.",required_without_all:"The :attribute field is required when none of :values are present.",same:"The :attribute and :other must match.",size:{array:"The :attribute must contain :size items.",file:"The :attribute must be :size kilobytes.",numeric:"The :attribute must be :size.",string:"The :attribute must be :size characters."},starts_with:"The :attribute must start with one of the following: :values.",string:"The :attribute must be a string.",timezone:"The :attribute must be a valid timezone.",unique:"The :attribute has already been taken.",uploaded:"The :attribute failed to upload.",url:"The :attribute must be a valid URL.",uuid:"The :attribute must be a valid UUID.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},it:{auth:{failed:"Credenziali non valide.",password:"The provided password is incorrect.",throttle:"Troppi tentativi di accesso. Riprova tra :seconds secondi.",sign_out:"Sign out",sign_in:"Sign in",sign_in_using:"Sign in using",sign_in_using_security_device:"Sign in using a security device",login_and_password:"login & password",register:"Register",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Auto lock triggered",autolock_triggered_punchline:"The event watched by the Auto Lock feature has fired. You've been automatically disconnected.",change_autolock_in_settings:"You can change the behavior of the Autolock feature in Settings > Options tab.",already_authenticated:"Already authenticated",authentication:"Authentication",maybe_later:"Maybe later",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.",confirm:{logout:"Are you sure you want to log out?",revoke_device:"Are you sure you want to revoke this device?",delete_account:"Are you sure you want to delete your account?"},webauthn:{security_device:"a security device",security_devices:"Security devices",security_devices_legend:"Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)",enhance_security_using_webauthn:"You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

\r\n WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Lost your device?",recover_your_account:"Recover your account",account_recovery:"Account recovery",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Send recovery link",account_recovery_email_sent:"Account recovery email sent!",disable_all_security_devices:"Disable all security devices",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Register a new device",register_a_device:"Register a device",device_successfully_registered:"Device successfully registered",device_revoked:"Device successfully revoked",revoking_a_device_is_permanent:"Revoking a device is permanent",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Invalid recovery token",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Rename device",my_device:"My device",unknown_device:"Unknown device",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"Name",login:"Login",webauthn_login:"WebAuthn login",email:"Email",password:"Password",reveal_password:"Reveal password",hide_password:"Hide password",confirm_password:"Confirm password",confirm_new_password:"Confirm new password",dont_have_account_yet:"Don't have your account yet?",already_register:"Already registered?",authentication_failed:"Authentication failed",forgot_your_password:"Forgot your password?",request_password_reset:"Reset it",reset_your_password:"Reset your password",reset_password:"Reset password",disabled_in_demo:"Feature disabled in Demo mode",new_password:"New password",current_password:{label:"Current password",help:"Fill in your current password to confirm that it's you"},change_password:"Change password",send_password_reset_link:"Send password reset link",password_successfully_changed:"Password successfully changed",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Delete account",delete_your_account:"Delete your account",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"User account successfully deleted",has_lower_case:"Has lower case",has_upper_case:"Has upper case",has_special_char:"Has special char",has_number:"Has number",is_long_enough:"8 characters min.",mandatory_rules:"Mandatory",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock is On"}},commons:{cancel:"Cancel",update:"Update",copy:"Copy",copy_to_clipboard:"Copy to clipboard",copied_to_clipboard:"Copied to clipboard",profile:"Profile",edit:"Edit",delete:"Delete",disable:"Disable",enable:"Enable",create:"Create",save:"Save",close:"Close",clear:"Clear",clear_search:"Clear search",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data",testing_do_not_post_sensitive_data:"This is a testing app, do not post any sensitive data",selected:"selected",name:"Name",manage:"Manage",done:"Done",new:"New",back:"Back",move:"Move",export:"Export",all:"All",select_all:"Select all",clear_selection:"Clear selection",sort_descending:"Sort descending",sort_ascending:"Sort ascending",rename:"Rename",new_name:"New name",options:"Options",reload:"Reload",some_data_have_changed:"Some data have changed. You should",generate:"Generate",generating_otp:"Generating OTP",open_in_browser:"Open in browser",continue:"Continue",discard:"Discard",about:"About",usefull_links:"Usefull links",environment:"Environment",credits:"Credits","2fauth_teaser":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",made_with:"Made with",ui_icons_by:"UI Icons by",logos_by:"Logos by",search:"Search",resources:"Resources",check_for_update:"Check for new version",check_for_update_help:"Automatically check (once a week) and warn when a new release of 2FAuth is published on Github",you_are_up_to_date:"This instance is up-to-date","2fauth_description":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",image_of_qrcode_to_scan:"Image of a QR code to scan",file:"File",or:"OR",close_the_x_page:"Close the {pagetitle} page"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",refresh:"Refresh",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Aborted by user",security_device_unsupported:"Unsupported or in use device",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"File upload failed",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"Groups",create_group:"Create new group",show_group_selector:"Show group selector",hide_group_selector:"Hide group selector",select_accounts_to_show:"Select accounts group to show",manage_groups:"Manage groups",active_group:"Active group",manage_groups_legend:"You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named 'All', regardless of the group they belong to.",deleting_group_does_not_delete_accounts:"Deleting a group does not delete accounts",move_selected_to:"Move selected to",move_selected_to_group:"Move selected into a group",no_group:"No group",change_group:"Change group",group_successfully_created:"Group successfully created",group_name_saved:"Group name saved",group_successfully_deleted:"Group successfully deleted",forms:{new_group:"New group",new_name:"New name",rename_group:"Rename group"},confirm:{delete:"Are you sure you want to delete this group?"}},languages:{browser_preference:"Browser preference",en:"English",fr:"French",de:"German",es:"Spanish",zh:"Chinese Simplified",ru:"Russian",bg:"Bulgarian"},pagination:{previous:"« Precedente",next:"Successivo »"},passwords:{reset:"La password è stata reimpostata!",sent:"Ti abbiamo inviato una email con il link per il reset della password!",throttled:"Per favore, attendi prima di riprovare.",token:"Questo token di reset della password non è valido.",user:"Non riusciamo a trovare un utente con questo indirizzo email.",password:"Passwords must be at least eight characters and match the confirmation."},settings:{settings:"Settings",preferences:"Preferences",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Options",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Security",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"Data input",forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"Language",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"Show icons",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"Auto lock",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"Direct input",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"After 1 minute","5_minutes":"After 5 minutes","10_minutes":"After 10 minutes","15_minutes":"After 15 minutes","30_minutes":"After 30 minutes","1_hour":"After 1 hour","1_day":"After 1 day",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Item not found",start:"New account",capture:"Flash QR",accounts:"Accounts",createAccount:"Create account",importAccounts:"Import accounts",editAccount:"Account edit",showQRcode:"Account as QR code",groups:"Groups",createGroup:"Create group",editGroup:"Group edit",settings:{options:"Options",account:"User account",oauth:{tokens:"OAuth tokens",generatePAT:"New personal token"},webauthn:{editCredential:"Device edit",devices:"WebAuthn devices"}},login:"Login",register:"Register",autolock:"Auto lock",password:{request:"Reset password",reset:"New password"},webauthn:{lost:"Account recovery",recover:"Register a new device"},flooded:"Flood",genericError:"Error",about:"About"},twofaccounts:{service:"Service",account:"Account",accounts:"Accounts",icon:"Icon",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Secret",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:":attribute deve essere accettato.",accepted_if:"The :attribute must be accepted when :other is :value.",active_url:":attribute non è un URL valido.",after:":attribute deve essere una data successiva al :date.",after_or_equal:":attribute deve essere una data successiva o uguale al :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:":attribute deve essere un array.",before:":attribute deve essere una data precedente al :date.",before_or_equal:":attribute deve essere una data precedente o uguale al :date.",between:{array:":attribute deve avere tra :min - :max elementi.",file:":attribute deve trovarsi tra :min - :max kilobyte.",numeric:":attribute deve trovarsi tra :min - :max.",string:":attribute deve trovarsi tra :min - :max caratteri."},boolean:"Il campo :attribute deve essere vero o falso.",confirmed:"Il campo di conferma per :attribute non coincide.",current_password:"The password is incorrect.",date:":attribute non è una data valida.",date_equals:":attribute deve essere una data e uguale a :date.",date_format:":attribute non coincide con il formato :format.",declined:"The :attribute must be declined.",declined_if:"The :attribute must be declined when :other is :value.",different:":attribute e :other devono essere differenti.",digits:":attribute deve essere di :digits cifre.",digits_between:":attribute deve essere tra :min e :max cifre.",dimensions:"Le dimensioni dell'immagine di :attribute non sono valide.",distinct:":attribute contiene un valore duplicato.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:":attribute non è valido.",ends_with:":attribute deve finire con uno dei seguenti valori: :values",enum:"The selected :attribute is invalid.",exists:":attribute selezionato non è valido.",file:":attribute deve essere un file.",filled:"Il campo :attribute deve contenere un valore.",gt:{array:":attribute deve contenere più di :value elementi.",file:":attribute deve essere maggiore di :value kilobyte.",numeric:":attribute deve essere maggiore di :value.",string:":attribute deve contenere più di :value caratteri."},gte:{array:":attribute deve contenere un numero di elementi uguale o maggiore di :value.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:":attribute deve essere un'immagine.",in:":attribute selezionato non è valido.",in_array:"Il valore del campo :attribute non esiste in :other.",integer:":attribute deve essere un numero intero.",ip:":attribute deve essere un indirizzo IP valido.",ipv4:":attribute deve essere un indirizzo IPv4 valido.",ipv6:":attribute deve essere un indirizzo IPv6 valido.",json:":attribute deve essere una stringa JSON valida.",lt:{array:":attribute deve contenere meno di :value elementi.",file:":attribute deve essere minore di :value kilobyte.",numeric:":attribute deve essere minore di :value.",string:":attribute deve contenere meno di :value caratteri."},lte:{array:":attribute deve contenere un numero di elementi minore o uguale a :value.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:":attribute deve essere del tipo: :values.",mimetypes:":attribute deve essere del tipo: :values.",min:{array:":attribute deve avere almeno :min elementi.",file:":attribute deve essere almeno di :min kilobyte.",numeric:":attribute deve essere almeno :min.",string:":attribute deve contenere almeno :min caratteri."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"Il valore selezionato per :attribute non è valido.",not_regex:"Il formato di :attribute non è valido.",numeric:":attribute deve essere un numero.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"Il campo :attribute deve essere presente.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"Il formato del campo :attribute non è valido.",required:"Il campo :attribute è richiesto.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"Il campo :attribute è richiesto quando :other è :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"Il campo :attribute è richiesto a meno che :other sia in :values.",required_with:"Il campo :attribute è richiesto quando :values è presente.",required_with_all:"Il campo :attribute è richiesto quando :values sono presenti.",required_without:"Il campo :attribute è richiesto quando :values non è presente.",required_without_all:"Il campo :attribute è richiesto quando nessuno di :values è presente.",same:":attribute e :other devono coincidere.",size:{array:":attribute deve contenere :size elementi.",file:":attribute deve essere :size kilobyte.",numeric:":attribute deve essere :size.",string:":attribute deve contenere :size caratteri."},starts_with:":attribute deve iniziare con uno dei seguenti: :values",string:":attribute deve essere una stringa.",timezone:"The :attribute must be a valid timezone.",unique:":attribute è stato già utilizzato.",uploaded:":attribute non è stato caricato.",url:"The :attribute must be a valid URL.",uuid:":attribute deve essere un UUID valido.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},ro:{auth:{failed:"These credentials do not match our records.",password:"The provided password is incorrect.",throttle:"Too many login attempts. Please try again in :seconds seconds.",sign_out:"Sign out",sign_in:"Sign in",sign_in_using:"Sign in using",sign_in_using_security_device:"Sign in using a security device",login_and_password:"login & password",register:"Register",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Auto lock triggered",autolock_triggered_punchline:"The event watched by the Auto Lock feature has fired. You've been automatically disconnected.",change_autolock_in_settings:"You can change the behavior of the Autolock feature in Settings > Options tab.",already_authenticated:"Already authenticated",authentication:"Authentication",maybe_later:"Maybe later",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.",confirm:{logout:"Are you sure you want to log out?",revoke_device:"Are you sure you want to revoke this device?",delete_account:"Are you sure you want to delete your account?"},webauthn:{security_device:"a security device",security_devices:"Security devices",security_devices_legend:"Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)",enhance_security_using_webauthn:"You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

\r\n WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Lost your device?",recover_your_account:"Recover your account",account_recovery:"Account recovery",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Send recovery link",account_recovery_email_sent:"Account recovery email sent!",disable_all_security_devices:"Disable all security devices",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Register a new device",register_a_device:"Register a device",device_successfully_registered:"Device successfully registered",device_revoked:"Device successfully revoked",revoking_a_device_is_permanent:"Revoking a device is permanent",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Invalid recovery token",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Rename device",my_device:"My device",unknown_device:"Unknown device",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"Name",login:"Login",webauthn_login:"WebAuthn login",email:"Email",password:"Password",reveal_password:"Reveal password",hide_password:"Hide password",confirm_password:"Confirm password",confirm_new_password:"Confirm new password",dont_have_account_yet:"Don't have your account yet?",already_register:"Already registered?",authentication_failed:"Authentication failed",forgot_your_password:"Forgot your password?",request_password_reset:"Reset it",reset_your_password:"Reset your password",reset_password:"Reset password",disabled_in_demo:"Feature disabled in Demo mode",new_password:"New password",current_password:{label:"Current password",help:"Fill in your current password to confirm that it's you"},change_password:"Change password",send_password_reset_link:"Send password reset link",password_successfully_changed:"Password successfully changed",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Delete account",delete_your_account:"Delete your account",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"User account successfully deleted",has_lower_case:"Has lower case",has_upper_case:"Has upper case",has_special_char:"Has special char",has_number:"Has number",is_long_enough:"8 characters min.",mandatory_rules:"Mandatory",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock is On"}},commons:{cancel:"Cancel",update:"Update",copy:"Copy",copy_to_clipboard:"Copy to clipboard",copied_to_clipboard:"Copied to clipboard",profile:"Profile",edit:"Edit",delete:"Delete",disable:"Disable",enable:"Enable",create:"Create",save:"Save",close:"Close",clear:"Clear",clear_search:"Clear search",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data",testing_do_not_post_sensitive_data:"This is a testing app, do not post any sensitive data",selected:"selected",name:"Name",manage:"Manage",done:"Done",new:"New",back:"Back",move:"Move",export:"Export",all:"All",select_all:"Select all",clear_selection:"Clear selection",sort_descending:"Sort descending",sort_ascending:"Sort ascending",rename:"Rename",new_name:"New name",options:"Options",reload:"Reload",some_data_have_changed:"Some data have changed. You should",generate:"Generate",generating_otp:"Generating OTP",open_in_browser:"Open in browser",continue:"Continue",discard:"Discard",about:"About",usefull_links:"Usefull links",environment:"Environment",credits:"Credits","2fauth_teaser":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",made_with:"Made with",ui_icons_by:"UI Icons by",logos_by:"Logos by",search:"Search",resources:"Resources",check_for_update:"Check for new version",check_for_update_help:"Automatically check (once a week) and warn when a new release of 2FAuth is published on Github",you_are_up_to_date:"This instance is up-to-date","2fauth_description":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",image_of_qrcode_to_scan:"Image of a QR code to scan",file:"File",or:"OR",close_the_x_page:"Close the {pagetitle} page"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",refresh:"Refresh",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Aborted by user",security_device_unsupported:"Unsupported or in use device",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"File upload failed",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"Groups",create_group:"Create new group",show_group_selector:"Show group selector",hide_group_selector:"Hide group selector",select_accounts_to_show:"Select accounts group to show",manage_groups:"Manage groups",active_group:"Active group",manage_groups_legend:"You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named 'All', regardless of the group they belong to.",deleting_group_does_not_delete_accounts:"Deleting a group does not delete accounts",move_selected_to:"Move selected to",move_selected_to_group:"Move selected into a group",no_group:"No group",change_group:"Change group",group_successfully_created:"Group successfully created",group_name_saved:"Group name saved",group_successfully_deleted:"Group successfully deleted",forms:{new_group:"New group",new_name:"New name",rename_group:"Rename group"},confirm:{delete:"Are you sure you want to delete this group?"}},languages:{browser_preference:"Browser preference",en:"English",fr:"French",de:"German",es:"Spanish",zh:"Chinese Simplified",ru:"Russian",bg:"Bulgarian"},pagination:{previous:"« Previous",next:"Next »"},passwords:{reset:"Your password has been reset!",sent:"We have emailed your password reset link!",throttled:"Please wait before retrying.",token:"This password reset token is invalid.",user:"We can't find a user with that email address.",password:"Passwords must be at least eight characters and match the confirmation."},settings:{settings:"Settings",preferences:"Preferences",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Options",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Security",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"Data input",forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"Language",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"Show icons",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"Auto lock",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"Direct input",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"After 1 minute","5_minutes":"After 5 minutes","10_minutes":"After 10 minutes","15_minutes":"After 15 minutes","30_minutes":"After 30 minutes","1_hour":"After 1 hour","1_day":"After 1 day",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Item not found",start:"New account",capture:"Flash QR",accounts:"Accounts",createAccount:"Create account",importAccounts:"Import accounts",editAccount:"Account edit",showQRcode:"Account as QR code",groups:"Groups",createGroup:"Create group",editGroup:"Group edit",settings:{options:"Options",account:"User account",oauth:{tokens:"OAuth tokens",generatePAT:"New personal token"},webauthn:{editCredential:"Device edit",devices:"WebAuthn devices"}},login:"Login",register:"Register",autolock:"Auto lock",password:{request:"Reset password",reset:"New password"},webauthn:{lost:"Account recovery",recover:"Register a new device"},flooded:"Flood",genericError:"Error",about:"About"},twofaccounts:{service:"Service",account:"Account",accounts:"Accounts",icon:"Icon",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Secret",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:"The :attribute must be accepted.",accepted_if:"The :attribute must be accepted when :other is :value.",active_url:"The :attribute is not a valid URL.",after:"The :attribute must be a date after :date.",after_or_equal:"The :attribute must be a date after or equal to :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:"The :attribute must be an array.",before:"The :attribute must be a date before :date.",before_or_equal:"The :attribute must be a date before or equal to :date.",between:{array:"The :attribute must have between :min and :max items.",file:"The :attribute must be between :min and :max kilobytes.",numeric:"The :attribute must be between :min and :max.",string:"The :attribute must be between :min and :max characters."},boolean:"The :attribute field must be true or false.",confirmed:"The :attribute confirmation does not match.",current_password:"The password is incorrect.",date:"The :attribute is not a valid date.",date_equals:"The :attribute must be a date equal to :date.",date_format:"The :attribute does not match the format :format.",declined:"The :attribute must be declined.",declined_if:"The :attribute must be declined when :other is :value.",different:"The :attribute and :other must be different.",digits:"The :attribute must be :digits digits.",digits_between:"The :attribute must be between :min and :max digits.",dimensions:"The :attribute has invalid image dimensions.",distinct:"The :attribute field has a duplicate value.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:"The :attribute must be a valid email address.",ends_with:"The :attribute must end with one of the following: :values.",enum:"The selected :attribute is invalid.",exists:"The selected :attribute is invalid.",file:"The :attribute must be a file.",filled:"The :attribute field must have a value.",gt:{array:"The :attribute must have more than :value items.",file:"The :attribute must be greater than :value kilobytes.",numeric:"The :attribute must be greater than :value.",string:"The :attribute must be greater than :value characters."},gte:{array:"The :attribute must have :value items or more.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:"The :attribute must be an image.",in:"The selected :attribute is invalid.",in_array:"The :attribute field does not exist in :other.",integer:"The :attribute must be an integer.",ip:"The :attribute must be a valid IP address.",ipv4:"The :attribute must be a valid IPv4 address.",ipv6:"The :attribute must be a valid IPv6 address.",json:"The :attribute must be a valid JSON string.",lt:{array:"The :attribute must have less than :value items.",file:"The :attribute must be less than :value kilobytes.",numeric:"The :attribute must be less than :value.",string:"The :attribute must be less than :value characters."},lte:{array:"The :attribute must not have more than :value items.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:"The :attribute must be a file of type: :values.",mimetypes:"The :attribute must be a file of type: :values.",min:{array:"The :attribute must have at least :min items.",file:"The :attribute must be at least :min kilobytes.",numeric:"The :attribute must be at least :min.",string:"The :attribute must be at least :min characters."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"The selected :attribute is invalid.",not_regex:"The :attribute format is invalid.",numeric:"The :attribute must be a number.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"The :attribute field must be present.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"The :attribute format is invalid.",required:"The :attribute field is required.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"The :attribute field is required when :other is :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"The :attribute field is required unless :other is in :values.",required_with:"The :attribute field is required when :values is present.",required_with_all:"The :attribute field is required when :values are present.",required_without:"The :attribute field is required when :values is not present.",required_without_all:"The :attribute field is required when none of :values are present.",same:"The :attribute and :other must match.",size:{array:"The :attribute must contain :size items.",file:"The :attribute must be :size kilobytes.",numeric:"The :attribute must be :size.",string:"The :attribute must be :size characters."},starts_with:"The :attribute must start with one of the following: :values.",string:"The :attribute must be a string.",timezone:"The :attribute must be a valid timezone.",unique:"The :attribute has already been taken.",uploaded:"The :attribute failed to upload.",url:"The :attribute must be a valid URL.",uuid:"The :attribute must be a valid UUID.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},ru:{auth:{failed:"Неверное имя пользователя или пароль.",password:"Некорректный пароль.",throttle:"Слишком много попыток входа. Пожалуйста, попробуйте еще раз через :seconds секунд.",sign_out:"Выйти",sign_in:"Войти",sign_in_using:"Войти с помощью",sign_in_using_security_device:"Войти, используя устройство безопасности",login_and_password:"имя пользователя и пароль",register:"Регистрация",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Сработала автоматическая блокировка",autolock_triggered_punchline:"Произошло событие которое, отслеживалось функцией автоблокировки. Вы были автоматически отключены.",change_autolock_in_settings:"Вы можете поменять поведение функции автоблокировки на вкладке Настройки -> Параметры.",already_authenticated:"Вы уже аутентифицирован",authentication:"Аутентификация",maybe_later:"Не сейчас",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Аутентификация осуществляется на обратном прокси сервере, настройки ниже не доступны.
Управление аутентификацией осуществляется на прокси сервере.",confirm:{logout:"Вы уверены, что хотите выйти?",revoke_device:"Вы уверены, что хотите удалить это устройство?",delete_account:"Вы уверены, что хотите удалить свою учетную запись?"},webauthn:{security_device:"устройство безопасности",security_devices:"Устройства безопасности",security_devices_legend:"Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)",enhance_security_using_webauthn:"You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

\r\n WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Потеряли устройство?",recover_your_account:"Восстановить доступ к аккаунту",account_recovery:"Восстановление доступа к аккаунту",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Отправить ссылку для восстановления",account_recovery_email_sent:"Письмо для восстановления доступа к аккаунту отправлено!",disable_all_security_devices:"Отключить все устройства безопасности",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Зарегистрировать новое устройство",register_a_device:"Зарегистрировать устройство",device_successfully_registered:"Устройство успешно зарегистрировано",device_revoked:"Устройство успешно деактивировано",revoking_a_device_is_permanent:"Удаление устройства необратимо",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Неверный код восстановления",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Переименовать устройство",my_device:"Моё устройство",unknown_device:"Неизвестное устройство",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"Имя",login:"Вход",webauthn_login:"WebAuthn login",email:"Адрес электронной почты",password:"Пароль",reveal_password:"Показать пароль",hide_password:"Скрыть пароль",confirm_password:"Подтверждение пароля",confirm_new_password:"Подтвердить новый пароль",dont_have_account_yet:"Don't have your account yet?",already_register:"Уже зарегистрированы?",authentication_failed:"Ошибка аутентификации",forgot_your_password:"Забыли пароль?",request_password_reset:"Восстановить",reset_your_password:"Восстановить пароль",reset_password:"Восстановить пароль",disabled_in_demo:"Функция отключена в демо режиме",new_password:"Новый пароль",current_password:{label:"Текущий пароль",help:"Fill in your current password to confirm that it's you"},change_password:"Изменить пароль",send_password_reset_link:"Send password reset link",password_successfully_changed:"Password successfully changed",edit_account:"Edit account",profile_saved:"Profile successfully updated!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Удалить аккаунт",delete_your_account:"Удалить учетную запись",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"Аккаунт успешно удален",has_lower_case:"маленькие буквы",has_upper_case:"заглавные буквы",has_special_char:"специальный символы",has_number:"цифры",is_long_enough:"Минимум 8 символов",mandatory_rules:"Обязательно",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock включен"}},commons:{cancel:"Отмена",update:"Обновить",copy:"Скопировать",copy_to_clipboard:"Скопировать в буфер обмена",copied_to_clipboard:"Скопировано в буфер обмена",profile:"Профиль",edit:"Редактировать",delete:"Удалить",disable:"Выключить",enable:"Включить",create:"Создать",save:"Сохранить",close:"Закрыть",clear:"Очистить",clear_search:"Очистить поиск",demo_do_not_post_sensitive_data:"Это демо-приложение, не размещайте конфиденциальные данные",testing_do_not_post_sensitive_data:"Это тестовое приложение, не оставляйте конфиденциальные данные",selected:"выбрано",name:"Имя",manage:"Управление",done:"Готово",new:"Новый",back:"Назад",move:"Переместить",export:"Экспорт",all:"Все",select_all:"Выбрать все",clear_selection:"Очистить выделение",sort_descending:"По убыванию",sort_ascending:"По возрастанию",rename:"Переименовать",new_name:"Новое имя",options:"Настройки",reload:"Обновить",some_data_have_changed:"Некоторые данные были изменены. Вы должны",generate:"Генерировать",generating_otp:"Generating OTP",open_in_browser:"Открыть в браузере",continue:"Продолжить",discard:"Отменить",about:"О программе",usefull_links:"Полезные ссылки",environment:"Окружение",credits:"Авторы","2fauth_teaser":"Веб-приложение для управления двухфакторной аутентификацией (2FA) учетных записей и генерации кодов безопасности",made_with:"Сделано с",ui_icons_by:"Иконки пользовательского интерфейса",logos_by:"Логотипы",search:"Поиск",resources:"Ресурсы",check_for_update:"Проверить обновления",check_for_update_help:"Автоматически проверять (раз в неделю) и предупреждать о выходе новой версии 2FAuth на Github",you_are_up_to_date:"Установленна последная версия","2fauth_description":"Веб-приложение для управления двухфакторной аутентификацией (2FA) учетных записей и генерации кодов безопасности",image_of_qrcode_to_scan:"Изображение QR-кода для сканирования",file:"Файл",or:"или",close_the_x_page:"Закрыть страницу {pagetitle}"},errors:{resource_not_found:"Ресурс не найден",error_occured:"Произошла ошибка:",refresh:"Обновить",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Прервано пользователем",security_device_unsupported:"Устройство не поддерживается или используется",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"Не удалось загрузить файл",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"Группы",create_group:"Создать новую группу",show_group_selector:"Показать выбор групп",hide_group_selector:"Скрыть выбор группы",select_accounts_to_show:"Выберите группу аккаунтов для отображения",manage_groups:"Управление группами",active_group:"Активные группы",manage_groups_legend:"Вы можете создать группы для организации ваших учетных записей. Все аккаунты остаются видимыми в служебной группе 'Все', независимо от группы, к которой они принадлежат.",deleting_group_does_not_delete_accounts:"Удаление группы не удаляет учетные записи",move_selected_to:"Переместить выбранные в",move_selected_to_group:"Переместить выделенное в группу",no_group:"Без группы",change_group:"Изменить группу",group_successfully_created:"Группа успешно создана",group_name_saved:"Название группы сохранено",group_successfully_deleted:"Группа успешно удалена",forms:{new_group:"Новая группа",new_name:"Новое имя",rename_group:"Переименовать группу"},confirm:{delete:"Вы действительно хотите удалить эту группу?"}},languages:{browser_preference:"Настройки браузера",en:"Английский",fr:"Французский",de:"Немецкий",es:"Испанский",zh:"Китайский упрощенный",ru:"Русский",bg:"Bulgarian"},pagination:{previous:"« Назад",next:"Вперёд »"},passwords:{reset:"Ваш пароль был сброшен!",sent:"Ссылка на сброс пароля была отправлена!",throttled:"Пожалуйста, подождите перед повторной попыткой.",token:"Ошибочный код сброса пароля.",user:"Не удалось найти пользователя с указанным электронным адресом.",password:'Пароль должен содержать не менее восьми символов и совпадать с паролем в поле "подтверждение пароля".'},settings:{settings:"Settings",preferences:"Preferences",account:"Account",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"Options",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"Security",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"Data input",forms:{edit_settings:"Edit settings",setting_saved:"Settings saved",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"Language",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"Show icons",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"Auto lock",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"Direct input",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"After 1 minute","5_minutes":"After 5 minutes","10_minutes":"After 10 minutes","15_minutes":"After 15 minutes","30_minutes":"After 30 minutes","1_hour":"After 1 hour","1_day":"After 1 day",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Элемент не найден",start:"Новая учетная запись",capture:"Отсканируйте QR",accounts:"Учётные записи",createAccount:"Создать учётную запись",importAccounts:"Импорт учётных записей",editAccount:"Редактирование учетной записи",showQRcode:"Учетная запись как QR-код",groups:"Группы",createGroup:"Создать группу",editGroup:"Изменение группы",settings:{options:"Настройки",account:"Учетные записи пользователя",oauth:{tokens:"OAuth Токены",generatePAT:"Новый персональный токен"},webauthn:{editCredential:"Редактирование устройства",devices:"Устройства WebAuthn"}},login:"Вход",register:"Регистрация",autolock:"Автоблокировка",password:{request:"Восстановить пароль",reset:"Новый пароль"},webauthn:{lost:"Восстановление доступа к аккаунту",recover:"Зарегистрировать новое устройство"},flooded:"Слишком много запросов",genericError:"Ошибка",about:"О программе"},twofaccounts:{service:"Service",account:"Account",accounts:"Accounts",icon:"Icon",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"John DOE"},new_account:"New account",edit_account:"Edit account",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"Lock it"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"Test",secret:{label:"Secret",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:"Вы должны принять :attribute.",accepted_if:"Вы должны принять :attribute, когда :other соответствует :value.",active_url:"Поле :attribute содержит недействительный URL.",after:"В поле :attribute должна быть дата больше :date.",after_or_equal:"В поле :attribute должна быть дата больше или равняться :date.",alpha:"Значение поля :attribute может содержать только буквы.",alpha_dash:"Значение поля :attribute может содержать только буквы, цифры, дефис и нижнее подчеркивание.",alpha_num:"Значение поля :attribute может содержать только буквы и цифры.",array:"Поле :attribute должно быть массивом.",before:"В поле :attribute должна быть дата раньше :date.",before_or_equal:"В поле :attribute должна быть дата раньше или равняться :date.",between:{array:"Количество элементов в поле :attribute должно быть между :min и :max.",file:"Размер файла в поле :attribute должен быть между :min и :max Килобайт(а).",numeric:"Поле :attribute должно быть между :min и :max.",string:"Количество символов в поле :attribute должно быть между :min и :max."},boolean:"Поле :attribute должно иметь значение логического типа.",confirmed:"Поле :attribute не совпадает с подтверждением.",current_password:"Неверный пароль.",date:"Поле :attribute не является датой.",date_equals:"Поле :attribute должно быть датой равной :date.",date_format:"Поле :attribute не соответствует формату :format.",declined:"Поле :attribute должно быть отклонено.",declined_if:"Поле :attribute должно быть отклонено, когда :other равно :value.",different:"Поля :attribute и :other должны различаться.",digits:"Длина цифрового поля :attribute должна быть :digits.",digits_between:"Длина цифрового поля :attribute должна быть между :min и :max.",dimensions:"Поле :attribute имеет недопустимые размеры изображения.",distinct:"Поле :attribute содержит повторяющееся значение.",doesnt_end_with:"Значение поля :attribute не может заканчиваться одним из следующих: :values.",doesnt_start_with:"Значение поля :attribute не может начинаться с одного из следующих: :values.",email:"Поле :attribute должно быть действительным электронным адресом.",ends_with:"Поле :attribute должно заканчиваться одним из следующих значений: :values",enum:"Значение поля :attribute некорректно.",exists:"Выбранное значение для :attribute некорректно.",file:"Поле :attribute должно быть файлом.",filled:"Поле :attribute обязательно для заполнения.",gt:{array:"Количество элементов в поле :attribute должно быть больше :value.",file:"Размер файла в поле :attribute должен быть больше :value Килобайт(а).",numeric:"Поле :attribute должно быть больше :value.",string:"Количество символов в поле :attribute должно быть больше :value."},gte:{array:"Количество элементов в поле :attribute должно быть :value или больше.",file:"Размер файла, указанный в поле :attribute, должен быть :value Кб или больше.",numeric:"Значение поля :attribute должно быть :value или больше.",string:"Количество символов в поле :attribute должно быть :value или больше."},image:"Поле :attribute должно быть изображением.",in:"Выбранное значение для :attribute ошибочно.",in_array:"Поле :attribute не существует в :other.",integer:"Поле :attribute должно быть целым числом.",ip:"Поле :attribute должно быть действительным IP-адресом.",ipv4:"Поле :attribute должно быть действительным IPv4-адресом.",ipv6:"Поле :attribute должно быть действительным IPv6-адресом.",json:"Поле :attribute должно быть JSON строкой.",lt:{array:"Количество элементов в поле :attribute должно быть меньше :value.",file:"Размер файла в поле :attribute должен быть меньше :value Килобайт(а).",numeric:"Поле :attribute должно быть меньше :value.",string:"Количество символов в поле :attribute должно быть меньше :value."},lte:{array:"Количество элементов в поле :attribute должно быть :value или меньше.",file:"Размер файла, указанный в поле :attribute, должен быть :value Кб или меньше.",numeric:"Значение поля :attribute должно быть равным или меньше :value.",string:"Количество символов в поле :attribute должно быть :value или меньше."},mac_address:"Значение поля :attribute должно быть корректным MAC-адресом.",max:{array:"Количество элементов в поле :attribute не может превышать :max.",file:"Размер файла в поле :attribute не может быть больше :max Кб.",numeric:"Значение поля :attribute не может быть больше :max.",string:"Количество символов в значении поля :attribute не может превышать :max."},max_digits:"Значение поля :attribute не должно содержать больше :max цифр.",mimes:"Поле :attribute должно быть файлом одного из следующих типов: :values.",mimetypes:"Поле :attribute должно быть файлом одного из следующих типов: :values.",min:{array:"Количество элементов в поле :attribute должно быть не меньше :min.",file:"Размер файла в поле :attribute должен быть не меньше :min Килобайт(а).",numeric:"Поле :attribute должно быть не меньше :min.",string:"Количество символов в поле :attribute должно быть не меньше :min."},min_digits:"Значение поля :attribute должно содержать не меньше :min цифр.",multiple_of:"Значение поля :attribute должно быть кратным :value",not_in:"Выбранное значение для :attribute ошибочно.",not_regex:"Выбранный формат для :attribute ошибочный.",numeric:"Поле :attribute должно быть числом.",password:{letters:"Значение поля :attribute должно содержать хотя бы одну букву.",mixed:"Значение поля :attribute должно содержать хотя бы одну прописную и одну строчную буквы.",numbers:"Значение поля :attribute должно содержать хотя бы одну цифру.",symbols:"Значение поля :attribute должно содержать хотя бы один символ.",uncompromised:"Значение поля :attribute обнаружено в утёкших данных. Пожалуйста, выберите другое значение для :attribute."},present:"Поле :attribute должно присутствовать.",prohibited:"Значение поля :attribute запрещено.",prohibited_if:"Значение поля :attribute запрещено, когда :other равно :value.",prohibited_unless:"Значение поля :attribute запрещено, если :other не состоит в :values.",prohibits:"Значение поля :attribute запрещает присутствие :other.",regex:"Поле :attribute имеет ошибочный формат.",required:"Поле :attribute обязательно для заполнения.",required_array_keys:"Массив в поле :attribute обязательно должен иметь ключи: :values",required_if:"Поле :attribute обязательно для заполнения, когда :other равно :value.",required_if_accepted:"Поле :attribute обязательно, когда :other принято.",required_unless:"Поле :attribute обязательно для заполнения, когда :other не равно :values.",required_with:"Поле :attribute обязательно для заполнения, когда :values указано.",required_with_all:"Поле :attribute обязательно для заполнения, когда :values указано.",required_without:"Поле :attribute обязательно для заполнения, когда :values не указано.",required_without_all:"Поле :attribute обязательно для заполнения, когда ни одно из :values не указано.",same:"Значения полей :attribute и :other должны совпадать.",size:{array:"Количество элементов в поле :attribute должно быть равным :size.",file:"Размер файла в поле :attribute должен быть равен :size Килобайт(а).",numeric:"Поле :attribute должно быть равным :size.",string:"Количество символов в поле :attribute должно быть равным :size."},starts_with:"Поле :attribute должно начинаться из одного из следующих значений: :values",string:"Поле :attribute должно быть строкой.",timezone:"Значение поля :attribute должно быть действительным часовым поясом.",unique:"Такое значение поля :attribute уже существует.",uploaded:"Загрузка поля :attribute не удалась.",url:"Значение поля :attribute имеет ошибочный формат URL.",uuid:"Поле :attribute должно быть корректным UUID.",single:"При использовании :attribute в этом теле запроса должен быть единственный параметр",onlyCustomOtpWithUri:"Параметр uri должен быть указан один или в сочетании с параметром 'custom_otp'",custom:{icon:{image:"Поддерживаемый формат - jpeg, png, bmp, gif, svg или webp."},qrcode:{image:"Поддерживаемый формат - jpeg, png, bmp, gif, svg или webp."},uri:{regex:"Поле :attribute не является ссылкой аутентификатора."},otp_type:{in:":attribute не поддерживается."},email:{exists:"Учётная запись с таким электронным адресом не найдена."},secret:{isBase32Encoded:"Поле :attribute должно быть строкой в base32 формате."},account:{regex:":attribute не должен содержать двоеточий."},service:{regex:":attribute не должен содержать двоеточие."},label:{required:"URI должен иметь метку."},ids:{regex:"Идентификаторы должны быть разделены запятыми. Запятая в конце не ставится."}},attributes:[]}},si:{auth:{failed:"මෙම අක්තපත්ර අපගේ වාර්තා වලට ගැලපෙන්නේ නැත.",password:"The provided password is incorrect.",throttle:"බොහෝ පිවිසුම් උත්සහයන් සිදු කර ඇත. කරුණාකර නැවත උත්සාහ කරන්න: තත්පර තත්පර.",sign_out:"වරන්න",sign_in:"පුරන්න",sign_in_using:"Sign in using",sign_in_using_security_device:"Sign in using a security device",login_and_password:"login & password",register:"ලියාපදිංචි වන්න",welcome_to_2fauth:"Welcome to 2FAuth",autolock_triggered:"Auto lock triggered",autolock_triggered_punchline:"The event watched by the Auto Lock feature has fired. You've been automatically disconnected.",change_autolock_in_settings:"You can change the behavior of the Autolock feature in Settings > Options tab.",already_authenticated:"Already authenticated",authentication:"Authentication",maybe_later:"Maybe later",user_account_controlled_by_proxy:"User account made available by an authentication proxy.
Manage the account at proxy level.",auth_handled_by_proxy:"Authentication handled by a reverse proxy, below settings are disabled.
Manage authentication at proxy level.",confirm:{logout:"Are you sure you want to log out?",revoke_device:"Are you sure you want to revoke this device?",delete_account:"Are you sure you want to delete your account?"},webauthn:{security_device:"a security device",security_devices:"Security devices",security_devices_legend:"Authentication devices you can use to sign in 2FAuth, like security keys (i.e Yubikey) or smartphones with biometric capabilities (i.e. Apple FaceId/TouchId)",enhance_security_using_webauthn:"You can enhance the security of your 2FAuth account by enabling WebAuthn authentication.

\r\n WebAuthn allows you to use trusted devices (like Yubikeys or smartphones with biometric capabilities) to sign in quickly and more securely.",use_security_device_to_sign_in:"Get ready to authenticate using (one of) your security devices. Plug your key in, remove face mask or gloves, etc.",lost_your_device:"Lost your device?",recover_your_account:"Recover your account",account_recovery:"Account recovery",recovery_punchline:"2FAuth will send you a recovery link to this email address. Click the link in the received email and follow the instructions.

Ensure you open the email on a device you fully own.",send_recovery_link:"Send recovery link",account_recovery_email_sent:"Account recovery email sent!",disable_all_security_devices:"Disable all security devices",disable_all_security_devices_help:"All your security devices will be revoked. Use this option if you have lost one or its security has been compromised.",register_a_new_device:"Register a new device",register_a_device:"Register a device",device_successfully_registered:"Device successfully registered",device_revoked:"Device successfully revoked",revoking_a_device_is_permanent:"Revoking a device is permanent",recover_account_instructions:"To recover your account, 2FAuth resets some Webauthn settings so you will be able to sign in using your email and password.",invalid_recovery_token:"Invalid recovery token",webauthn_login_disabled:"Webauthn login disabled",invalid_reset_token:"This reset token is invalid.",rename_device:"Rename device",my_device:"My device",unknown_device:"Unknown device",use_webauthn_only:{label:"Use WebAuthn only",help:"Make WebAuthn the only authorized method to log into your 2FAuth account. This is the recommended setup to take advantage of the WebAuthn enhanced security.

\r\n In case of device lost, you will be able to recover your account by resetting this option and signing in using your email and password.

\r\n Attention! The Email & Password form remains available despite this option being enabled, but it will always return an 'Authentication failed' response."},need_a_security_device_to_enable_options:"Set at least one device to enable the following options"},forms:{name:"නම",login:"පිවිසෙන්න",webauthn_login:"WebAuthn login",email:"විද්‍යුත් තැපෑල",password:"මුර පදය",reveal_password:"Reveal password",hide_password:"Hide password",confirm_password:"මුරපදය තහවුරු කරන්න",confirm_new_password:"නව මුර පදය තහවුරු කරන්න",dont_have_account_yet:"Don't have your account yet?",already_register:"දැනටමත් ලියාපදිංචි වී ඇත්ද ?",authentication_failed:"Authentication failed",forgot_your_password:"මුරපදය අමතක වුනාද?",request_password_reset:"නැවත සකසන්න",reset_your_password:"Reset your password",reset_password:"මුරපදය නැවත සකසන්න",disabled_in_demo:"Feature disabled in Demo mode",new_password:"නව මුරපදය",current_password:{label:"වත්මන් මුරපදය",help:"Fill in your current password to confirm that it's you"},change_password:"මුරපදය වෙනස් කරන්න",send_password_reset_link:"මුරපදය නැවත සැකසීමේ සබැඳිය යවන්න",password_successfully_changed:"මුරපදය සාර්ථකව වෙනස් කෙරිණි",edit_account:"ගිණුම සංස්කරණය",profile_saved:"පැතිකඩ සාර්ථකව යාවත්කාල කෙරිණි!",welcome_to_demo_app_use_those_credentials:"Welcome to the 2FAuth demo.

You can connect using the email address demo@2fauth.app and the password demo",welcome_to_testing_app_use_those_credentials:"Welcome to the 2FAuth testing instance.

Use email address testing@2fauth.app and password password",register_punchline:"Welcome to 2FAuth.
You need an account to go further, please register yourself.",reset_punchline:"2FAuth will send you a password reset link to this address. Click the link in the received email to set a new password.",name_this_device:"Name this device",delete_account:"Delete account",delete_your_account:"Delete your account",delete_your_account_and_reset_all_data:"This will reset 2FAuth. Your user account will be deleted as well as all 2FA data. There is no going back.",user_account_successfully_deleted:"User account successfully deleted",has_lower_case:"Has lower case",has_upper_case:"Has upper case",has_special_char:"Has special char",has_number:"Has number",is_long_enough:"8 characters min.",mandatory_rules:"Mandatory",optional_rules_you_should_follow:"Recommanded (highly)",caps_lock_is_on:"Caps lock is On"}},commons:{cancel:"අවලංගු",update:"යාවත්කාල",copy:"Copy",copy_to_clipboard:"පසුරුපුවරුවට පිටපත්",copied_to_clipboard:"පසුරුපුවරුවට පිටපත් කෙරිණි",profile:"පැතිකඩ",edit:"සංස්කරණය",delete:"Delete",disable:"Disable",enable:"Enable",create:"සාදන්න",save:"සුරකින්න",close:"වසන්න",clear:"Clear",clear_search:"Clear search",demo_do_not_post_sensitive_data:"This is a demo app, do not post any sensitive data",testing_do_not_post_sensitive_data:"This is a testing app, do not post any sensitive data",selected:"selected",name:"නම",manage:"Manage",done:"Done",new:"නව",back:"ආපසු",move:"Move",export:"Export",all:"සියල්ල",select_all:"Select all",clear_selection:"Clear selection",sort_descending:"Sort descending",sort_ascending:"Sort ascending",rename:"නැවත නම්කරන්න",new_name:"New name",options:"විකල්ප",reload:"නැවත පූරණය",some_data_have_changed:"Some data have changed. You should",generate:"Generate",generating_otp:"Generating OTP",open_in_browser:"Open in browser",continue:"Continue",discard:"Discard",about:"About",usefull_links:"Usefull links",environment:"Environment",credits:"Credits","2fauth_teaser":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",made_with:"Made with",ui_icons_by:"UI Icons by",logos_by:"Logos by",search:"Search",resources:"Resources",check_for_update:"Check for new version",check_for_update_help:"Automatically check (once a week) and warn when a new release of 2FAuth is published on Github",you_are_up_to_date:"This instance is up-to-date","2fauth_description":"A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes",image_of_qrcode_to_scan:"Image of a QR code to scan",file:"File",or:"OR",close_the_x_page:"Close the {pagetitle} page"},errors:{resource_not_found:"Resource not found",error_occured:"An error occured:",refresh:"නැවුම් කරන්න",no_valid_otp:"No valid OTP resource in this QR code",something_wrong_with_server:"Something is wrong with your server",Unable_to_decrypt_uri:"Unable to decrypt uri",not_a_supported_otp_type:"This OTP format is not currently supported",cannot_create_otp_without_secret:"Cannot create an OTP without a secret",data_of_qrcode_is_not_valid_URI:"The data of this QR code is not a valid OTP Auth URI. The QR code contains:",wrong_current_password:"Wrong current password, nothing has changed",error_during_encryption:"Encryption failed, your database remains unprotected.",error_during_decryption:"Decryption failed, your database is still protected. This is mainly caused by an integrity issue of encrypted data for one or more accounts.",qrcode_cannot_be_read:"This QR code is unreadable",too_many_ids:"too many ids were included in the query parameter, max 100 allowed",delete_user_setting_only:"Only user-created setting can be deleted",indecipherable:"*indecipherable*",cannot_decipher_secret:"The secret cannot be deciphered. This is mainly caused by a wrong APP_KEY set in the .env configuration file of 2Fauth or a corrupted data stored in database.",https_required:"HTTPS context required",browser_does_not_support_webauthn:"Your device does not support webauthn. Try again later using a more modern browser",aborted_by_user:"Aborted by user",security_device_unsupported:"Unsupported or in use device",not_allowed_operation:"Operation not allowed",unsupported_operation:"Unsupported operation",unknown_error:"Unknown error",security_error_check_rpid:"Security error
Check your WEBAUTHN_ID env var",unsupported_with_reverseproxy:"Not applicable when using an auth proxy",user_deletion_failed:"User account deletion failed, no data have been deleted",auth_proxy_failed:"Proxy authentication failed",auth_proxy_failed_legend:"2Fauth is configured to run behind an authentication proxy but your proxy does not return the expected header. Check your configuration and try again.",invalid_x_migration:"Invalid or unreadable :appname data",invalid_2fa_data:"Invalid 2FA data",unsupported_migration:"Data do not match any supported format",unsupported_otp_type:"Unsupported OTP type",encrypted_migration:"Unreadable, the data seem encrypted",no_logo_found_for_x:"No logo available for {service}",file_upload_failed:"File upload failed",unauthorized:"Unauthorized",unauthorized_legend:"You do not have permissions to view this resource or to perform this action",cannot_delete_the_only_admin:"Cannot delete the only admin account"},groups:{groups:"සමූහ",create_group:"Create new group",show_group_selector:"Show group selector",hide_group_selector:"Hide group selector",select_accounts_to_show:"Select accounts group to show",manage_groups:"Manage groups",active_group:"ක්‍රියාත්මක සමූහය",manage_groups_legend:"You can create groups to organize your accounts the way you want. All accounts remain visible in the pseudo group named 'All', regardless of the group they belong to.",deleting_group_does_not_delete_accounts:"Deleting a group does not delete accounts",move_selected_to:"Move selected to",move_selected_to_group:"Move selected into a group",no_group:"සමූහ නැත",change_group:"Change group",group_successfully_created:"Group successfully created",group_name_saved:"Group name saved",group_successfully_deleted:"Group successfully deleted",forms:{new_group:"නව සමූහය",new_name:"නව නම",rename_group:"සමූහය නැවත නම් කිරීම"},confirm:{delete:"Are you sure you want to delete this group?"}},languages:{browser_preference:"Browser preference",en:"ඉංග්‍රීසි",fr:"ප්‍රංශ",de:"ජර්මානු",es:"Spanish",zh:"Chinese Simplified",ru:"Russian",bg:"Bulgarian"},pagination:{previous:"« පෙර",next:"ඊළඟ »"},passwords:{reset:"ඔබගේ මුරපදය යළි සැකසිනි!",sent:"ඔබගේ රහස් පද යළි සකසන සබැඳිය අප විසින් ඊ-තැපැල් කර ඇත!",throttled:"නැවත උත්සහා කිරීමට පෙර,මදක් රැදිසිටින්න.",token:"මෙම මුරපද යළි පිහිටුවීමේ ටෝකනය වලංගු නොවේ.",user:"අපට එම විද්යුත් තැපැල් ලිපිනය සමඟ පරිශීලකයෙකු සොයා ගත නොහැක.",password:"Passwords must be at least eight characters and match the confirmation."},settings:{settings:"සැකසුම්",preferences:"Preferences",account:"ගිණුම",oauth:"OAuth",webauthn:"WebAuthn",tokens:"Tokens",options:"විකල්ප",user_preferences:"User preferences",admin_settings:"Admin settings",confirm:{revoke:"Are you sure you want to revoke this token?"},administration:"Administration",administration_legend:"While previous settings are user settings (every user can set its own preferences), following settings are global and apply to all users. Only an administrator can view and edit those settings.",you_are_administrator:"You are an administrator",general:"General",security:"ආරක්ෂාව",profile:"Profile",change_password:"Change password",personal_access_tokens:"Personal access tokens",token_legend:"Personal Access Tokens allow any app to authenticate to the 2Fauth API. You should specify the access token as a Bearer token in the authorization header of consumer apps requests.",generate_new_token:"Generate a new token",revoke:"Revoke",token_revoked:"Token successfully revoked",revoking_a_token_is_permanent:"Revoking a token is permanent",make_sure_copy_token:"Make sure to copy your personal access token now. You won’t be able to see it again!",data_input:"දත්ත ආදානය",forms:{edit_settings:"සැකසුම් සංස්කරණය",setting_saved:"සැකසුම් සුරැකිණි",new_token:"New token",some_translation_are_missing:"Some translations are missing using the browser preferred language?",help_translate_2fauth:"Help translate 2FAuth",language:{label:"භාෂාව",help:"Language used to translate the 2FAuth user interface. Named languages are complete, set the one of your choice to override your browser preference."},show_otp_as_dot:{label:"Show generated one-time passwords as dot",help:"Replace generated password caracters with *** to ensure confidentiality. Do not affect the copy/paste feature"},close_otp_on_copy:{label:'Close OTP after copy',help:"Clicking a generated password to copy it automatically hide it from the screen"},copy_otp_on_display:{label:'Copy OTP on display',help:'Automatically copy a generated password right after it appears on screen. Due to browsers limitations, only the first TOTP password will be copied, not the rotating ones'},use_basic_qrcode_reader:{label:"Use basic QR code reader",help:"If you experiences issues when capturing QR codes enables this option to switch to a more basic but more reliable QR code reader"},display_mode:{label:"Display mode",help:"Choose whether you want accounts to be displayed as a list or as a grid"},password_format:{label:"Password formatting",help:"Change how the passwords are displayed by grouping digits to ease readability and memorization"},pair:"by Pair",pair_legend:"Group digits two by two",trio_legend:"Group digits three by three",half_legend:"Split digits into two equals groups",trio:"by Trio",half:"by Half",grid:"Grid",list:"List",theme:{label:"Theme",help:"Force a specific theme or apply the theme defined in your system/browser preferences"},light:"Light",dark:"Dark",automatic:"Auto",show_accounts_icons:{label:"නිරූපක පෙන්වන්න",help:"Show icons accounts in the main view"},get_official_icons:{label:"Get official icons",help:"(Try to) Get the official icon of the 2FA issuer when adding an account"},auto_lock:{label:"ස්වයං අගුලුවැටීම",help:"Log out the user automatically in case of inactivity. Has no effect when authentication is handled by a proxy and no custom logout url is specified."},use_encryption:{label:"Protect sensible data",help:"Sensitive data, the 2FA secrets and emails, are stored encrypted in database. Be sure to backup the APP_KEY value of your .env file (or the whole file) as it serves as key encryption. There is no way to decypher encrypted data without this key."},default_group:{label:"Default group",help:"The group to which the newly created accounts are associated"},useDirectCapture:{label:"සෘජු ආදානය",help:"Choose whether you want to be prompted to choose an input mode among those available or if you want to directly use the default input mode"},defaultCaptureMode:{label:"Default input mode",help:"Default input mode used when the Direct input option is On"},remember_active_group:{label:"Remember group filter",help:"Save the last group filter applied and restore it on your next visit"},disable_registration:{label:"Disable registration",help:"Prevent new user registration"},otp_generation:{label:"Show Password",help:'Set how and when OTPs are displayed.
'},otp_generation_on_request:"After a click/tap",otp_generation_on_request_legend:"Alone, in its own view",otp_generation_on_request_title:"Click an account to get a password in a dedicated view",otp_generation_on_home:"Constantly",otp_generation_on_home_legend:"All of them, on home",otp_generation_on_home_title:"Show all passwords in the main view, without doing anything",never:"Never",on_otp_copy:"On security code copy","1_minutes":"විනාඩි 1කට පසු","5_minutes":"විනාඩි 5කට පසු","10_minutes":"විනාඩි 10කට පසු","15_minutes":"විනාඩි 15කට පසු","30_minutes":"විනාඩි 30කට පසු","1_hour":"පැය 1කට පසු","1_day":"දිනකට පසු",livescan:"QR code livescan",upload:"QR code upload",advanced_form:"Advanced form"}},titles:{404:"Item not found",start:"New account",capture:"Flash QR",accounts:"Accounts",createAccount:"Create account",importAccounts:"Import accounts",editAccount:"Account edit",showQRcode:"Account as QR code",groups:"Groups",createGroup:"Create group",editGroup:"Group edit",settings:{options:"Options",account:"User account",oauth:{tokens:"OAuth tokens",generatePAT:"New personal token"},webauthn:{editCredential:"Device edit",devices:"WebAuthn devices"}},login:"Login",register:"Register",autolock:"Auto lock",password:{request:"Reset password",reset:"New password"},webauthn:{lost:"Account recovery",recover:"Register a new device"},flooded:"Flood",genericError:"Error",about:"About"},twofaccounts:{service:"සේවාව",account:"ගිණුම",accounts:"ගිණුම්",icon:"නිරූපකය",icon_for_account_x_at_service_y:"Icon of the {account} account at {service}",icon_to_illustrate_the_account:"Icon that illustrates the account",remove_icon:"Remove icon",no_account_here:"No 2FA here!",add_first_account:"Pick a method and add your first account",use_full_form:"Or use the full form",add_one:"Add one",show_qrcode:"Show QR code",no_service:"- no service -",account_created:"Account successfully created",account_updated:"Account successfully updated",accounts_deleted:"Account(s) successfully deleted",accounts_moved:"Account(s) successfully moved",export_selected_to_json:"Download a json export of selected accounts",forms:{service:{placeholder:"Google, Twitter, Apple"},account:{placeholder:"ජෝන් ඩොයි"},new_account:"නව ගිණුම",edit_account:"ගිණුම සංස්කරණය",otp_uri:"OTP Uri",scan_qrcode:"Scan a QR code",upload_qrcode:"Upload a QR code",use_advanced_form:"Use the advanced form",prefill_using_qrcode:"Prefill using a QR Code",use_qrcode:{val:"Use a qrcode",title:"Use a QR code to fill the form magically"},unlock:{val:"Unlock",title:"Unlock it (at your own risk)"},lock:{val:"Lock",title:"එය අගුළුලන්න"},choose_image:"Upload",i_m_lucky:"Try my luck",i_m_lucky_legend:'The "Try my luck" button try to get the official icon of the given service. Enter actual service name without ".xyz" extension and try to avoid typo. (beta feature)',test:"අත්හදා බලන්න",secret:{label:"රහස",help:"The key used to generate your security codes"},plain_text:"Plain text",otp_type:{label:'Choose the type of OTP to create',help:"Time-based OTP or HMAC-based OTP or Steam OTP"},digits:{label:"Digits",help:"The number of digits of the generated security codes"},algorithm:{label:"Algorithm",help:"The algorithm used to secure your security codes"},period:{label:"Period",placeholder:"Default is 30",help:"The period of validity of the generated security codes in second"},counter:{label:"Counter",placeholder:"Default is 0",help:"The initial counter value",help_lock:"It is risky to edit the counter as you can desynchronize the account with the verification server of the service. Use the lock icon to enable modification, but only if you know for you are doing"},image:{label:"Image",placeholder:"http://...",help:"The url of an external image to use as the account icon"},options_help:"You can leave the following options blank if you don't know how to set them. The most commonly used values will be applied.",alternative_methods:"Alternative methods"},stream:{live_scan_cant_start:"Live scan can't start :(",need_grant_permission:{reason:"2FAuth does not have permission to access your camera",solution:"You need to grant permission to use your device camera. If you already denied and your browser do not prompt you again, please refers to the browser documentation to find out how to grant permission."},not_readable:{reason:"Fail to load scanner",solution:"Is the camera already in use? Ensure that no other app use your camera and try again"},no_cam_on_device:{reason:"No camera on this device",solution:"Maybe you forgot to plug in your webcam"},secured_context_required:{reason:"Secure context required",solution:"HTTPS is required for live scan. If you run 2FAuth from your computer, do not use virtual host other than localhost"},https_required:"HTTPS required for camera streaming",camera_not_suitable:{reason:"Installed cameras are not suitable",solution:"Please use another device/camera"},stream_api_not_supported:{reason:"Stream API is not supported in this browser",solution:"You should use a modern browser"}},confirm:{delete:"Are you sure you want to delete this account?",cancel:"The account will be lost. Are you sure?",discard:"Are you sure you want to discard this account?",discard_all:"Are you sure you want to discard all accounts?",discard_duplicates:"Are you sure you want to discard all duplicates?"},import:{import:"Import",to_import:"Import",import_legend:"2FAuth can import data from various 2FA apps.
Use the Export feature of these apps to get a migration resource (a QR code or a file) and load it using your preferred method below.",upload:"Upload",scan:"Scan",supported_formats_for_qrcode_upload:"Accepted: jpg, jpeg, png, bmp, gif, svg, or webp",supported_formats_for_file_upload:"Accepted: Plain text, json, 2fas",supported_migration_formats:"Supported migration formats",qr_code:"QR Code",plain_text:"Plain text",issuer:"Issuer",imported:"Imported",failure:"Failure",x_valid_accounts_found:"{count} valid accounts found",import_all:"Import all",import_this_account:"Import this account",discard_all:"Discard all",discard_duplicates:"Discard duplicates",discard_this_account:"Discard this account",generate_a_test_password:"Generate a test pasword",possible_duplicate:"An account with the exact same data already exists",invalid_account:"- invalid account -",invalid_service:"- invalid service -",do_not_set_password_or_encryption:"Do NOT enable Password protection or Encryption when you export data (from a 2FA app) you want to import into 2FAuth."}},validation:{accepted:"මෙම :attribute පිළිගත යුතුය.",accepted_if:"The :attribute must be accepted when :other is :value.",active_url:"මෙම :attribute වලංගු සබැඳි එකක් නොවේ.",after:"මෙම :attribute පසු දිනය විය යුතුය :date.",after_or_equal:"මෙම :attribute පසුව හෝ ඊට සමාන දිනයකි :date.",alpha:"The :attribute must only contain letters.",alpha_dash:"The :attribute must only contain letters, numbers, dashes and underscores.",alpha_num:"The :attribute must only contain letters and numbers.",array:"මෙම :attribute අරාව විය යුතුය.",before:"මෙම :attribute පෙර දින විය යුතුය :date.",before_or_equal:"මෙම :attribute පෙර හෝ ඊට සමාන දිනයකි :date.",between:{array:"මෙම :attribute අතර තිබිය යුතුය :min සහ :max අයිතම.",file:"මෙම :attribute අතර විය යුතුය :min සහ :max කිලෝ බයිට ගණන.",numeric:"මෙම :attribute අතර විය යුතුය :min සහ :max.",string:"මෙම :attribute අතර විය යුතුය :min සහ :max ප්රමාණය."},boolean:"මෙම :attribute ක්ෂේත්ර සත්ය හෝ අසත්ය විය යුතුය.",confirmed:"මෙම :attribute තහවුරු කිරීම නොගැලපේ.",current_password:"The password is incorrect.",date:"මෙම :attribute වලංගු දිනය නොවේ.",date_equals:"මෙම :attribute දිනකට සමාන විය යුතුය :date.",date_format:"මෙම :attribute ආකෘතියට ගැළපෙන්නේ නැත :format.",declined:"The :attribute must be declined.",declined_if:"The :attribute must be declined when :other is :value.",different:"මෙම :attribute සහ :other වෙනස් විය යුතුය.",digits:"මෙම :attribute විය යුතුය :digits ඉලක්කම්.",digits_between:"මෙම :attribute විය යුතුය අතර :min සහ :max ඉලක්කම්.",dimensions:"මෙම :attribute වලංගු නොවන පිළිබිඹුවක් ඇත.",distinct:"මෙම :attribute ක්ෂේත්රයේ අනුපිටපත් වටිනාකමක් ඇත.",doesnt_end_with:"The :attribute may not end with one of the following: :values.",doesnt_start_with:"The :attribute may not start with one of the following: :values.",email:"මෙම :attribute වලංගු විද්යුත් තැපැල් ලිපිනයක් විය යුතුය.",ends_with:"The :attribute must end with one of the following: :values.",enum:"The selected :attribute is invalid.",exists:"මෙම තෝරා ඇත :attribute අවලංගුයි.",file:"මෙම :attribute ගොනුවක් විය යුතුය.",filled:"මෙම :attribute ක්ෂේත්රයේ වටිනාකමක් තිබිය යුතුය.",gt:{array:"මෙම :attribute වඩා වැඩි විය යුතුය :value අයිතම.",file:"මෙම :attribute වඩා විශාල විය යුතුය :value කිලෝ බයිට ගණන.",numeric:"මෙම :attribute වඩා විශාල විය යුතුය :value.",string:"මෙම :attribute වඩා විශාල විය යුතුය :value ප්රමාණය."},gte:{array:"මෙම :attribute තිබිය යුතු :value අයිතම හෝ ඊට වැඩි.",file:"The :attribute must be greater than or equal to :value kilobytes.",numeric:"The :attribute must be greater than or equal to :value.",string:"The :attribute must be greater than or equal to :value characters."},image:"මෙම :attribute රූපයක් විය යුතුය.",in:"මෙම තෝරා ඇත :attribute අවලංගුයි.",in_array:"මෙම :attribute ක්ෂේත්රයේ නොපවතින :other.",integer:"මෙම :attribute පූර්ණ සංඛ්යාවක් විය යුතුය.",ip:"මෙම :attribute වලංගු IP ලිපිනයක් තිබිය යුතුය.",ipv4:"මෙම :attribute වලංගු IPv4 ලිපිනය විය යුතුය.",ipv6:"මෙම :attribute වලංගු IPv6 ලිපිනය විය යුතුය.",json:"මෙම :attribute වලංගු JSON පේළියකි විය යුතුය.",lt:{array:"මෙම :attribute වඩා අඩු විය යුතුය :value අයිතම.",file:"මෙම :attribute වඩා අඩු විය යුතුය :value කිලෝ බයිට ගණන.",numeric:"මෙම :attribute වඩා අඩු විය යුතුය :value.",string:"මෙම :attribute වඩා අඩු විය යුතුය :value ප්රමාණය.."},lte:{array:"මෙම :attribute වඩා වැඩි නොවිය යුතුය :value අයිතම.",file:"The :attribute must be less than or equal to :value kilobytes.",numeric:"The :attribute must be less than or equal to :value.",string:"The :attribute must be less than or equal to :value characters."},mac_address:"The :attribute must be a valid MAC address.",max:{array:"The :attribute must not have more than :max items.",file:"The :attribute must not be greater than :max kilobytes.",numeric:"The :attribute must not be greater than :max.",string:"The :attribute must not be greater than :max characters."},max_digits:"The :attribute must not have more than :max digits.",mimes:"මෙම :attribute වර්ගයේ ගොනුවක් විය යුතුය: :values.",mimetypes:"මෙම :attribute වර්ගයේ ගොනුවක් විය යුතුය: :values.",min:{array:"මෙම :attribute අවම වශයෙන් තිබිය යුතුය :min අයිතම.",file:"මෙම :attribute අවම වශයෙන් විය යුතුය :min කිලෝ බයිට ගණන..",numeric:"මෙම :attribute අවම වශයෙන් විය යුතුය :min.",string:"මෙම :attribute අවම වශයෙන් විය යුතුය :min ප්රමාණය.."},min_digits:"The :attribute must have at least :min digits.",multiple_of:"The :attribute must be a multiple of :value.",not_in:"මෙම තෝරා ඇත :attribute අවලංගුයි.",not_regex:"මෙම :attribute ආකෘතිය අවලංගුයි.",numeric:"මෙම :attribute අංකයක් විය යුතුය.",password:{letters:"The :attribute must contain at least one letter.",mixed:"The :attribute must contain at least one uppercase and one lowercase letter.",numbers:"The :attribute must contain at least one number.",symbols:"The :attribute must contain at least one symbol.",uncompromised:"The given :attribute has appeared in a data leak. Please choose a different :attribute."},present:"මෙම :attribute ක්ෂේත්රයයි තිබිය යුතුය.",prohibited:"The :attribute field is prohibited.",prohibited_if:"The :attribute field is prohibited when :other is :value.",prohibited_unless:"The :attribute field is prohibited unless :other is in :values.",prohibits:"The :attribute field prohibits :other from being present.",regex:"මෙම :attribute ආකෘතිය අවලංගුයි.",required:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි.",required_array_keys:"The :attribute field must contain entries for: :values.",required_if:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි එය :other මෙය :value.",required_if_accepted:"The :attribute field is required when :other is accepted.",required_unless:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි මිස :other මෙය :values.",required_with:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි එය :values තිබිය යුතුය.",required_with_all:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි එය :values තිබිය යුතුය.",required_without:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි එය :values තිබිය යුතුය.",required_without_all:"මෙම :attribute ක්ෂේත්රයයි අවශ්යයි එය කිසිවක් of :values තිබිය යුතුය.",same:"මෙම :attribute සහ :other ගැලපිය යුතුයි.",size:{array:"මෙම :attribute must contain :size අයිතම.",file:"මෙම :attribute විය යුතුය :size කිලෝ බයිට ගණන..",numeric:"මෙම :attribute විය යුතුය :size.",string:"මෙම :attribute විය යුතුය :size ප්රමාණය.."},starts_with:"මෙම :attribute පහත සඳහන් එකක් සමඟ ආරම්භ කළ යුතුය: :values",string:"මෙම :attribute පේළියකි විය යුතුය.",timezone:"The :attribute must be a valid timezone.",unique:"මෙම :attribute දැනටමත් අරගෙන තියෙන්නේ.",uploaded:"මෙම :attribute උඩුගත කිරීම අසාර්ථක විය.",url:"The :attribute must be a valid URL.",uuid:"මෙම :attribute වලංගු UUID විය යුතුය.",single:"When using :attribute it must be the only parameter in this request body",onlyCustomOtpWithUri:"The uri parameter must be provided alone or only in combination with the 'custom_otp' parameter",custom:{icon:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},qrcode:{image:"Supported format are jpeg, png, bmp, gif, svg, or webp."},uri:{regex:"The :attribute is not a valid otpauth uri."},otp_type:{in:"The :attribute is not supported."},email:{exists:"No account found using this email."},secret:{isBase32Encoded:"The :attribute must be a base32 encoded string."},account:{regex:"The :attribute must not contain colon."},service:{regex:"The :attribute must not contain colon."},label:{required:"The uri must have a label."},ids:{regex:"IDs must be comma separated, without trailing comma."}},attributes:[]}},zh:{auth:{failed:"用户名或密码错误",password:"提供的密码不正确",throttle:"您尝试的登录次数过多,请 :seconds 秒后再试。",sign_out:"登出",sign_in:"登录",sign_in_using:"登录使用",sign_in_using_security_device:"使用安全设备登录",login_and_password:"用户名和密码",register:"注册",welcome_to_2fauth:"欢迎使用 2FAuth",autolock_triggered:"已自动锁定",autolock_triggered_punchline:"自动锁定已触发。您已被自动断开连接。",change_autolock_in_settings:"您可以在“设置 > 选项”中更改自动锁定的行为。",already_authenticated:"已验证",authentication:"身份认证",maybe_later:"以后再说",user_account_controlled_by_proxy:"用户帐户由身份验证代理提供。
请在代理中管理帐户。",auth_handled_by_proxy:"身份验证由代理处理,下面的设置被禁用。
在代理管理身份验证。",confirm:{logout:"您确定要注销吗?",revoke_device:"你确定要删除此设备?",delete_account:"您确定要删除您的账户?"},webauthn:{security_device:"硬件安全密钥",security_devices:"安全设备",security_devices_legend:"您可以用来登录2FAuth的认证设备,例如安全密钥(如Yubikey)或具有生物识别能力的智能手机(如Apple Face Id/TouchId)",enhance_security_using_webauthn:"您可以通过启用 WebAuthn 身份验证来增强您的2FAuth 账户的安全性。

\r\nWebAuthn允许您使用受信任的设备 (如Yubikeys 或具有生物识别能力的智能手机) 快速和更安全地登录。",use_security_device_to_sign_in:"准备好使用您的(一个)安全设备进行身份验证。请插入您的密钥,移除口罩或手套等。",lost_your_device:"设备丢失?",recover_your_account:"恢复您的账号",account_recovery:"恢复账号",recovery_punchline:"2FAuth 将向您发送恢复链接到此电子邮件地址。点击收到电子邮件中的链接注册新的安全设备。

确保在您可以在自己的设备上打开电子邮件。",send_recovery_link:"发送恢复链接",account_recovery_email_sent:"账号恢复邮件已发送!",disable_all_security_devices:"禁用所有安全设备",disable_all_security_devices_help:"您的所有安全设备都将被撤销。如果您丢失了一个设备或其安全性已经受到损害,请使用此选项。",register_a_new_device:"注册新设备",register_a_device:"注册设备",device_successfully_registered:"成功注册设备",device_revoked:"成功注销设备",revoking_a_device_is_permanent:"注销设备是永久性的",recover_account_instructions:"若要恢复您的帐户,2FAuth 将会重置一些Webauth设置,以便您可以使用您的电子邮件和密码登录。",invalid_recovery_token:"无效的恢复密钥",webauthn_login_disabled:"Webauthn 登录已被禁用",invalid_reset_token:"此密码重置令牌无效",rename_device:"重命名设备",my_device:"我的设备",unknown_device:"未知设备",use_webauthn_only:{label:"仅使用 WebAuthn",help:"将WebAuthn设定为登录2FAuth账户的唯一授权的登录方式。推荐启用此选项,并利用WebAuth增强安全性。

\r\n 设备丢失时, 您可以通过重置此选项并使用您的电子邮件和密码登录来恢复您的帐户。

\r\n 请注意! 尽管启用了此选项,输入电子邮件和密码的登录界面仍然可用,但是会提示 “身份验证失败”。"},need_a_security_device_to_enable_options:"设置至少一个WebAuth设备以启用以下选项"},forms:{name:"用户名",login:"登录",webauthn_login:"使用 WebAuthn 登录",email:"邮箱",password:"密码",reveal_password:"显示密码",hide_password:"隐藏密码",confirm_password:"确认密码",confirm_new_password:"确认新密码",dont_have_account_yet:"还没有账号?",already_register:"已经注册?",authentication_failed:"验证失败",forgot_your_password:"忘记密码?",request_password_reset:"重置密码",reset_your_password:"重置你的密码",reset_password:"重置密码",disabled_in_demo:"此功能将在演示模式下禁用。",new_password:"新密码",current_password:{label:"当前密码",help:"填写您当前设置的密码以确认是您本人"},change_password:"修改密码",send_password_reset_link:"发送密码重置链接",password_successfully_changed:"密码修改成功",edit_account:"编辑账户",profile_saved:"个人资料更新成功!",welcome_to_demo_app_use_those_credentials:"欢迎访问 2FAuth 的演示站点。

您可以使用电子邮件地址 demo@2fauth.app 和密码 demo来登录。",welcome_to_testing_app_use_those_credentials:"欢迎访问 2FAuth 的测试实例。

您可以使用电子邮件地址 testing@2fauth.app 和密码 password来登录。",register_punchline:"欢迎使用 2FAuth
您需要一个账号才能继续,请先完成注册。",reset_punchline:"2FAuth 将向您发送密码重置链接到此邮箱。请点击收到的电子邮件中的链接设置新密码。",name_this_device:"命名此设备",delete_account:"删除账户",delete_your_account:"删除您的账户",delete_your_account_and_reset_all_data:"这将重置您的 2FAuth。您的账号以及所有的 2FA 数据都将被删除,这是一个不可逆的操作。",user_account_successfully_deleted:"账号已成功删除",has_lower_case:"包含小写字母",has_upper_case:"包含大写字母",has_special_char:"包含特殊字符",has_number:"包含数字",is_long_enough:"至少 8 个字符",mandatory_rules:"必选项",optional_rules_you_should_follow:"建议(推荐)",caps_lock_is_on:"大写锁定已开启"}},commons:{cancel:"取消",update:"更新",copy:"复制",copy_to_clipboard:"复制到剪贴板",copied_to_clipboard:"已复制到剪贴板",profile:"个人资料",edit:"编辑",delete:"删除",disable:"禁用",enable:"启用",create:"创建",save:"保存",close:"关闭",clear:"清空",clear_search:"清除搜索结果",demo_do_not_post_sensitive_data:"这是一个演示应用,请不要上传任何敏感数据",testing_do_not_post_sensitive_data:"这是一个测试应用,请不要上传任何敏感数据",selected:"项被选中",name:"名称",manage:"管理",done:"完成",new:"新建",back:"返回",move:"移动",export:"导出",all:"全部",select_all:"全选",clear_selection:"清除选择",sort_descending:"降序排列",sort_ascending:"升序排序",rename:"重命名",new_name:"新名称",options:"选项",reload:"刷新",some_data_have_changed:"某些数据已经更改,您应该:",generate:"生成",generating_otp:"正在生成 OTP",open_in_browser:"在浏览器中打开",continue:"继续",discard:"放弃",about:"关于",usefull_links:"有用的链接",environment:"环境",credits:"鸣谢","2fauth_teaser":"用于管理您的两步验证 (2FA) 帐户并生成安全码的网页应用",made_with:"基于",ui_icons_by:"UI 图标来自",logos_by:"Logo 来自",search:"搜索​​​​",resources:"资源",check_for_update:"检查更新",check_for_update_help:"自动检查 (每周一次) 并当 2FAuth 在 Github 上发布新版本时发出提醒",you_are_up_to_date:"该实例是最新的","2fauth_description":"用于管理您的两步验证 (2FA) 账户并生成安全码的网页应用",image_of_qrcode_to_scan:"要扫描的二维码图像",file:"文件",or:"或",close_the_x_page:"关闭 {pagetitle} 页"},errors:{resource_not_found:"资源未找到",error_occured:"发生错误:",refresh:"刷新",no_valid_otp:"此二维码中没有有效的OTP资源",something_wrong_with_server:"服务器发生内部错误",Unable_to_decrypt_uri:"无法解密uri",not_a_supported_otp_type:"不支持此OTP格式",cannot_create_otp_without_secret:"无法在没有密码的情况下创建一个OTP",data_of_qrcode_is_not_valid_URI:"此QR码的数据不是有效的OTP Auth URI。该QR码包含:",wrong_current_password:"当前密码错误,没有发生任何更改",error_during_encryption:"加密失败,您的数据库仍未受到保护",error_during_decryption:"解密失败,您的数据库仍受保护。这通常由一个或多个帐户加密数据的完整性不足导致。",qrcode_cannot_be_read:"二维码无效",too_many_ids:"查询参数中包含太多ID,最多允许 100 个",delete_user_setting_only:"只能删除用户创建的设置",indecipherable:"*无法解析*",cannot_decipher_secret:"密钥不能被解密。这主要是由 2Fauth 的 .env 文件中 APP_KEY 设置错误或存储在数据库中的数据已损坏引发的。",https_required:"需要 HTTPS",browser_does_not_support_webauthn:"您的设备不支持Webauthn。请使用更现代的浏览器重试。",aborted_by_user:"被用户中止。",security_device_unsupported:"不支持或正在使用的设备",not_allowed_operation:"不允许此操作",unsupported_operation:"不支持的操作",unknown_error:"未知错误",security_error_check_rpid:"安全错误
请检查您的 WEBAUTHN_ID env var",unsupported_with_reverseproxy:"使用代理进行认证时不可用",user_deletion_failed:"帐户删除失败,没有数据被删除",auth_proxy_failed:"代理认证失败",auth_proxy_failed_legend:"2Fauth 被配置为在身份验证代理后运行,但您的代理没有返回预期的请求头。请检查您的配置并重试。",invalid_x_migration:"无效或不可读的 :appname 数据",invalid_2fa_data:"无效的2FA数据",unsupported_migration:"数据与任何支持的格式不匹配",unsupported_otp_type:"不支持的 OTP 类型",encrypted_migration:"无法读取,数据似乎已加密",no_logo_found_for_x:"{service} 没有可用的 Logo",file_upload_failed:"文件上传失败",unauthorized:"无权限",unauthorized_legend:"您无权查看此资源或执行此操作",cannot_delete_the_only_admin:"无法删除唯一的管理员账户"},groups:{groups:"组",create_group:"创建新组",show_group_selector:"显示分组选择器",hide_group_selector:"隐藏分组选择器",select_accounts_to_show:"选择要显示的帐户分组",manage_groups:"管理组",active_group:"活跃组",manage_groups_legend:"您可以创建组以按照您想要的方式组织您的账户。 所有账户在名为“全部”的伪组中仍然可见,无论它们属于哪个组。",deleting_group_does_not_delete_accounts:"删除组不会删除帐户",move_selected_to:"移动选择到",move_selected_to_group:"将所选移入组中",no_group:"没有分组",change_group:"更改组",group_successfully_created:"分组成功创建",group_name_saved:"分组名称已保存",group_successfully_deleted:"分组成功删除",forms:{new_group:"新建组",new_name:"新名称",rename_group:"重命名组"},confirm:{delete:"您确定要删除此组吗?"}},languages:{browser_preference:"使用游览器偏好",en:"English",fr:"French",de:"German",es:"西班牙语",zh:"简体中文",ru:"俄语",bg:"Bulgarian"},pagination:{previous:"« 上一页",next:"下一页 »"},passwords:{reset:"密码重置成功!",sent:"密码重置邮件已发送!",throttled:"请稍候再试。",token:"密码重置令牌无效。",user:"找不到该邮箱对应的用户。",password:"密码必须包含至少8个字符,且两次输入的内容必须相同。"},settings:{settings:"设置",preferences:"偏好",account:"账户",oauth:"OAuth",webauthn:"WebAuthn",tokens:"令牌",options:"选项",user_preferences:"用户偏好",admin_settings:"管理员设置",confirm:{revoke:"你确定要吊销此令牌?"},administration:"管理",administration_legend:"此前的设置是用户设置(每个用户都可以设置自己的偏好)。以下的设置则是应用于所有用户的全局设置。 只有管理员可以查看和编辑这些设置。",you_are_administrator:"您是管理员",general:"常规",security:"安全",profile:"配置文件",change_password:"更改密码",personal_access_tokens:"个人访问令牌",token_legend:"个人访问令牌允许任何应用访问 2Fauth API。您应该在第三方应用授权请求头中提供访问令牌作为一个 Bearer 令牌。",generate_new_token:"生成新令牌",revoke:"吊销",token_revoked:"已成功吊销令牌",revoking_a_token_is_permanent:"吊销令牌是永久的",make_sure_copy_token:"请确保您已复制个人访问令牌。令牌将不再显示。",data_input:"数据输入",forms:{edit_settings:"编辑设置",setting_saved:"设置已保存",new_token:"新建令牌",some_translation_are_missing:"使用浏览器偏好时缺少一些翻译?",help_translate_2fauth:"帮助翻译 2FAuth",language:{label:"语言",help:"用来翻译 2FAuth 用户界面的语言。列出的语言已完成翻译,请设置你选择的语言来覆盖你的浏览器偏好。"},show_otp_as_dot:{label:"将生成的一次性密码作为点显示",help:"将生成的密码替换为 *** 以确保保密。不影响复制和粘贴功能。"},close_otp_on_copy:{label:'复制后关闭 OTP',help:"点击生成的密码进行复制,并自动将其从屏幕上隐藏"},copy_otp_on_display:{label:'在显示时复制 OTP',help:'在屏幕显示后自动复制生成的密码。 由于浏览器限制,只有第一个 TOTP 密码将被复制,而不是更新后的'},use_basic_qrcode_reader:{label:"使用基本二维码读取器",help:"如果你在扫描二维码时遇到问题,这个选项可以切换到更基本但更可靠的二维码阅读器"},display_mode:{label:"显示模式",help:"选择将账户以列表或网格的方式进行展示"},password_format:{label:"密码格式",help:"分组显示密码,提高可读性并且便于记忆"},pair:"两位数分组",pair_legend:"以两位数分组拆分数字",trio_legend:"以三位数分组拆分数字",half_legend:"将数字拆分为两个相等数位的分组",trio:"三位数分组",half:"两个相等数位的分组",grid:"网格",list:"列表",theme:{label:"主题",help:"强制一个特定主题或应用系统/浏览器首选项中定义的主题"},light:"亮色主题",dark:"暗色主题",automatic:"自动检测",show_accounts_icons:{label:"显示图标",help:"在主视图中显示应用图标"},get_official_icons:{label:"获取官方图标",help:"(尝试) 在添加账户时获取两步验证发行者的官方图标"},auto_lock:{label:"自动锁定",help:"在没有活动的情况下自动登出用户。当使用认证代理或没有指定自定义注销 URL 时无效。"},use_encryption:{label:"保护敏感数据",help:"敏感数据、2FA 秘钥和电子邮件已被加密存储在数据库中。请务必备份您在 .env 中设置的 APP_KEY 的值(或备份整个文件)。没有此密钥将无法解码已加密的数据。"},default_group:{label:"默认分组",help:"新创建的账户所关联的分组"},useDirectCapture:{label:"直接输入",help:"选择您是否想要在可用的输入模式中选择输入模式,或者直接使用默认输入模式"},defaultCaptureMode:{label:"默认输入模式",help:"直接输入选项开启时使用的默认输入模式"},remember_active_group:{label:"记住组筛选器",help:"保存最后应用的组过滤器并在下次访问时还原它"},disable_registration:{label:"禁用注册",help:"阻止新用户注册"},otp_generation:{label:"显示密码",help:'设置 OTPs 的显示方式和时间。
'},otp_generation_on_request:"点击/单击账户后",otp_generation_on_request_legend:"在专用视图中显示密码",otp_generation_on_request_title:"单击帐户在专用视图中获取密码",otp_generation_on_home:"始终",otp_generation_on_home_legend:"主视图中显示所有密码",otp_generation_on_home_title:"在主视图中显示所有密码,无需任何操作",never:"从不",on_otp_copy:"在复制安全代码后","1_minutes":"1分钟后","5_minutes":"5分钟后","10_minutes":"10 分钟后","15_minutes":"15分钟后","30_minutes":"30 分钟后","1_hour":"1小时后","1_day":"1天后",livescan:"扫描二维码",upload:"上传二维码",advanced_form:"高级表单"}},titles:{404:"找不到项目",start:"新账户",capture:"扫描二维码",accounts:"账户",createAccount:"创建账户",importAccounts:"导入账户",editAccount:"编辑账户",showQRcode:"二维码形式的账户",groups:"组",createGroup:"创建组",editGroup:"编辑组",settings:{options:"选项",account:"用户帐户",oauth:{tokens:"OAuth 令牌",generatePAT:"新建个人令牌"},webauthn:{editCredential:"编辑设备",devices:"WebAuthn 设备"}},login:"登录",register:"注册",autolock:"自动锁定",password:{request:"重置密码",reset:"新密码"},webauthn:{lost:"恢复账号",recover:"注册新设备"},flooded:"请求数过多",genericError:"错误",about:"关于"},twofaccounts:{service:"服务",account:"账户",accounts:"账户",icon:"图标",icon_for_account_x_at_service_y:"{account} 在 {service} 的帐户图标",icon_to_illustrate_the_account:"说明账户的图标",remove_icon:"移除图标",no_account_here:"这里没有两步验证!",add_first_account:"选择一个方法并添加您的第一个帐户",use_full_form:"或者使用完整的表单",add_one:"添加一个",show_qrcode:"显示 QR 码",no_service:"- 无服务 -",account_created:"帐户成功创建",account_updated:"账户成功更新",accounts_deleted:"帐户成功删除",accounts_moved:"帐户成功移动",export_selected_to_json:"将所选账号以json导出",forms:{service:{placeholder:"谷歌, 推特, 苹果"},account:{placeholder:"李华"},new_account:"新建账户",edit_account:"编辑账户",otp_uri:"OTP Uri",scan_qrcode:"扫描QR码",upload_qrcode:"上传一个QR码",use_advanced_form:"使用高级表单",prefill_using_qrcode:"使用QR码进行预填充",use_qrcode:{val:"使用一个QR码",title:"使用QR码来自动填充表单"},unlock:{val:"解锁",title:"解锁它(风险自负)"},lock:{val:"锁定",title:"将其锁定"},choose_image:"上传",i_m_lucky:"手气不错",i_m_lucky_legend:'"手气不错"按钮会尝试获取指定服务的官方图标。输入实际的英文服务名(不带后缀)并避免输入错误。(测试中的功能)',test:"测试",secret:{label:"密钥",help:"用于生成安全码的密钥"},plain_text:"纯文本",otp_type:{label:'选择要创建的 OTP 类型',help:"基于 时间的OTP(TOTP) 或 基于HMAC的OTP(HMAC-based OTP) 或 Steam OTP"},digits:{label:"码长",help:"生成的安全码位数"},algorithm:{label:"算法",help:"用于保护您的安全代码的算法"},period:{label:"周期",placeholder:"默认为30",help:"生成的二维码的以秒为单位的有效期限"},counter:{label:"计数器",placeholder:"默认为0",help:"初始计数器值",help_lock:"编辑计数器是危险的,因为您可能使帐户与服务的验证服务器失去同步。点击锁的图标可启用更改,但只应在您知道您在做什么时使用"},image:{label:"图像",placeholder:"http://...",help:"作为帐户图标的 URL"},options_help:"如果您不知道如何填写,您可以将下列选项留空。将会应用最常见的设置。",alternative_methods:"备选方法"},stream:{live_scan_cant_start:"扫描无法开始 :(",need_grant_permission:{reason:"2FAuth 没有权限访问您的相机",solution:"您需要授予权限才能使用您的设备相机。 如果您已经拒绝,且您的浏览器不会再次提示您,请参考浏览器文档以了解如何授予权限。"},not_readable:{reason:"载入扫描仪失败",solution:"摄像头是否已在使用?请确保没有其他应用使用您的摄像头并重试"},no_cam_on_device:{reason:"此设备上没有摄像头",solution:"也许你忘了插上你的摄像头"},secured_context_required:{reason:"需要安全上下文",solution:"实时扫描需要HTTPS。如果您从计算机运行2FAuth,请不要使用localhost以外的虚拟主机"},https_required:"摄像机需要 HTTPS",camera_not_suitable:{reason:"已安装的摄像头不合适。",solution:"请使用其他摄像头或更换设备"},stream_api_not_supported:{reason:"此浏览器不支持 Stream API",solution:"您应该使用一个现代浏览器"}},confirm:{delete:"你确定要删除这个账户吗?",cancel:"帐户将丢失。您确定吗?",discard:"您确定要放弃此账户吗?",discard_all:"您确定要放弃所有账户吗?",discard_duplicates:"您确定要放弃所有重复账户吗?"},import:{import:"导入",to_import:"导入",import_legend:"2FAuth 可以从各种2FA 应用程序导入数据。
使用这些应用的导出功能来获取迁移资源(QR码或文件),并在下方加载它。",upload:"上传",scan:"扫描",supported_formats_for_qrcode_upload:"接受:jpg、jpeg、png、bmp、gif、svg或webp",supported_formats_for_file_upload:"接受:纯文本,json,2fas",supported_migration_formats:"支持的迁移格式",qr_code:"二维码",plain_text:"纯文本",issuer:"发行商",imported:"已导入",failure:"失败",x_valid_accounts_found:"找到 {count} 个有效账户",import_all:"全部导入",import_this_account:"导入此账户",discard_all:"全部丢弃",discard_duplicates:"丢弃重复项",discard_this_account:"丢弃此帐户",generate_a_test_password:"生成一个测试密码",possible_duplicate:"完全相同的帐户已经存在",invalid_account:"- 无效账户 -",invalid_service:"- 无效服务 -",do_not_set_password_or_encryption:"当您想要导入到2FAuth时不要启用密码保护或加密。"}},validation:{accepted:"您必须接受 :attribute。",accepted_if:":attribute 只有在 :other 为 :value 时才有效",active_url:":attribute 不是一个有效的网址。",after:":attribute 必须要晚于 :date。",after_or_equal:":attribute 必须要等于 :date 或更晚。",alpha:":attribute 只能包含字母。",alpha_dash:":attribute 只能包含字母、 数字、 破折号和下划线",alpha_num:":attribute 只能包含字母和数字",array:":attribute 必须是一个数组。",before:":attribute 必须要早于 :date。",before_or_equal:":attribute 必须要等于 :date 或更早。",between:{array:":attribute 必须只有 :min - :max 个单元。",file:":attribute 必须介于 :min - :max KB 之间。",numeric:":attribute 必须介于 :min - :max 之间。",string:":attribute 必须介于 :min - :max 个字符之间。"},boolean:":attribute 必须为布尔值。",confirmed:":attribute 两次输入不一致。",current_password:"密码错误",date:":attribute 不是一个有效的日期。",date_equals:":attribute 必须要等于 :date。",date_format:":attribute 的格式必须为 :format。",declined:"您必须同意 :attribute.",declined_if:":attribute 在 :other 是 :value 时无效.",different:":attribute 和 :other 必须不同。",digits:":attribute 必须是 :digits 位数字。",digits_between:":attribute 必须是介于 :min 和 :max 位的数字。",dimensions:":attribute 图片尺寸不正确。",distinct:":attribute 已经存在。",doesnt_end_with:":attribute 不能以下列的值结尾: :values。",doesnt_start_with:":attribute 不能以下列的值开头: :values。",email:":attribute 不是一个合法的邮箱。",ends_with:":attribute 必须以 :values 为结尾。",enum:"已选的属性 :attribute 无效。",exists:":attribute 不存在。",file:":attribute 必须是文件。",filled:":attribute 不能为空。",gt:{array:":attribute 必须多于 :value 个元素。",file:":attribute 必须大于 :value KB。",numeric:":attribute 必须大于 :value。",string:":attribute 必须多于 :value 个字符。"},gte:{array:":attribute 必须多于或等于 :value 个元素。",file:":attribute 必须大于或等于 :value kB。",numeric:":attribute 必须大于或等于 :value。",string:":attribute 必须大于或等于 :value 个字符。"},image:":attribute 必须是图片。",in:"已选的属性 :attribute 无效。",in_array:":attribute 必须在 :other 中。",integer:":attribute 必须是整数。",ip:":attribute 必须是有效的 IP 地址。",ipv4:":attribute 必须是有效的 IPv4 地址。",ipv6:":attribute 必须是有效的 IPv6 地址。",json:":attribute 必须是正确的 JSON 格式。",lt:{array:":attribute 必须少于 :value 个元素。",file:":attribute 必须小于 :value KB。",numeric:":attribute 必须小于 :value。",string:":attribute 必须少于 :value 个字符。"},lte:{array:":attribute 必须少于或等于 :value 个元素。",file:":attribute 必须小于或等于 :value kB。",numeric:":attribute 必须小于或等于 :value。",string:":attribute 必须小于或等于 :value 个字符。"},mac_address:":attribute 必须是一个有效的 MAC 地址。",max:{array:":attribute 必须少于或等于 :value 个元素。",file:":attribute 不能大于 :value kB。",numeric:":attribute 不能大于 :max。",string:":attribute 不能大于 :max 个字符。"},max_digits:":attribute 不能超过 :max 位数。",mimes:":attribute 必须是一个 :values 类型的文件。",mimetypes:":attribute 必须是一个 :values 类型的文件。",min:{array:":attribute 至少有 :min 个单元。",file:":attribute 大小不能小于 :min KB。",numeric:":attribute 必须大于等于 :min。",string:":attribute 至少为 :min 个字符。"},min_digits:":attribute 至少要有 :min 位数。",multiple_of:":attribute 必须是 :value 的倍数",not_in:"已选的属性 :attribute 非法。",not_regex:":attribute 的格式错误。",numeric:":attribute 必须是一个数字。",password:{letters:":attribute 至少要包含一个字母。",mixed:":attribute 至少要包含一个大写字母和一个小写字母。",numbers:":attribute 至少要包含一个数字。",symbols:":attribute 至少要包含一个符号。",uncompromised:"在数据泄漏中检测到已输入的 :attribute。请选择一个不同的 :attribute 。"},present:":attribute 必须存在。",prohibited:":attribute 字段是禁止的.",prohibited_if:"当 :other 为 :value 时, :attribute 字段被禁止",prohibited_unless:"除非 :other 为 :values,否则 :attribute 字段是禁止的",prohibits:':attribute 字段禁止出现 ":other"',regex:":attribute 格式不正确。",required:":attribute 不能为空。",required_array_keys:":attribute 字段必须包含: :values",required_if:"当 :other 为 :value 时 :attribute 不能为空。",required_if_accepted:"当 :other 存在时,:attribute 不能为空。",required_unless:"当 :other 不为 :values 时 :attribute 不能为空。",required_with:"当 :values 存在时 :attribute 不能为空。",required_with_all:"当 :values 存在时 :attribute 不能为空。",required_without:"当 :values 不存在时 :attribute 不能为空。",required_without_all:"当 :values 都不存在时 :attribute 不能为空。",same:":attribute 和 :other 必须相同。",size:{array:":attribute 必须为 :size 个单元。",file:":attribute 大小必须为 :size KB。",numeric:":attribute 大小必须为 :size。",string:":attribute 必须是 :size 个字符。"},starts_with:":attribute 必须以 :values 为开头。",string:":attribute 必须是一个字符串。",timezone:":attribute 必须是一个有效的时区。",unique:":attribute 已经存在。",uploaded:":attribute 上传失败。",url:":attribute 必须是有效的URL。",uuid:":attribute 必须是有效的 UUID。",single:"当使用 :attribute 时,它必须是此请求主体中的唯一参数",onlyCustomOtpWithUri:'"uri"参数仅应单独提供,或与"custom_otp"参数结合提供',custom:{icon:{image:"支持的格式是 jpeg、png、bmp、gif、svg或web。"},qrcode:{image:"支持的格式是 jpeg、png、bmp、gif、svg或web。"},uri:{regex:":attribute 不是有效的 otpauth uri"},otp_type:{in:":attribute 不受支持"},email:{exists:"未找到使用此电子邮件的账户。"},secret:{isBase32Encoded:":attribute 必须是 base32 编码的字符串"},account:{regex:":attribute 不能包含冒号。"},service:{regex:":attribute 不能包含冒号。"},label:{required:"uri 必须有一个标签。"},ids:{regex:"ID必须以逗号分隔,无需尾随逗号。"}},attributes:[]}}}},233:(e,t,r)=>{"use strict";var n=r(538),o=r(152),a=r(806),i=r.n(a);n.default.use(o.Z);var s=document.documentElement.lang.substr(0,2);const c=new o.Z({locale:s,messages:i()});function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function l(){l=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function d(e,t,r,o){var a=t&&t.prototype instanceof h?t:h,i=Object.create(a.prototype),s=new T(o||[]);return n(i,"_invoke",{value:x(e,r,s)}),i}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=d;var f={};function h(){}function m(){}function v(){}var g={};c(g,a,(function(){return this}));var _=Object.getPrototypeOf,b=_&&_(_(S([])));b&&b!==t&&r.call(b,a)&&(g=b);var y=v.prototype=h.prototype=Object.create(g);function w(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function o(n,a,i,s){var c=p(e[n],e,a);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==u(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){l.value=e,i(l)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function x(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return E()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=C(i,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=p(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function C(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,C(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=p(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,f;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function S(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function d(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}n.default.mixin({data:function(){return{appVersion:window.appVersion}},methods:{appLogout:function(e){var t,r=this;return(t=l().mark((function e(){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.$root.appConfig.proxyAuth){e.next=8;break}if(!r.$root.appConfig.proxyLogoutUrl){e.next=5;break}location.assign(r.$root.appConfig.proxyLogoutUrl),e.next=6;break;case 5:return e.abrupt("return",!1);case 6:e.next=12;break;case 8:return e.next=10,r.axios.get("/user/logout");case 10:r.clearStorage(),r.$router.push({name:"login",params:{forceRefresh:!0}});case 12:case"end":return e.stop()}}),e)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function i(e){d(a,n,o,i,s,"next",e)}function s(e){d(a,n,o,i,s,"throw",e)}i(void 0)}))})()},clearStorage:function(){this.$storage.remove("accounts"),this.$storage.remove("groups"),this.$storage.remove("lastRoute"),this.$storage.remove("authenticated")},isUrl:function(e){return new RegExp(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/).test(e)},openInBrowser:function(e){var t=document.createElement("a");t.setAttribute("href",e),t.dispatchEvent(new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0}))},inputId:function(e,t){var r;switch(t=t.toString(),e){case"text":default:r="txt";break;case"button":r="btn";break;case"email":r="eml";break;case"password":r="pwd";break;case"radio":r="rdo";break;case"label":r="lbl"}return r+t[0].toUpperCase()+t.toLowerCase().slice(1)},setTheme:function(e){document.documentElement.dataset.theme=e},applyPreferences:function(e){for(var t in e)try{this.$root.userPreferences[t]=e[t]}catch(e){console.log(e)}"browser"!=this.$root.userPreferences.lang&&(c.locale=this.$root.userPreferences.lang,document.documentElement.lang=this.$root.userPreferences.lang),this.setTheme(this.$root.userPreferences.theme)},displayPwd:function(e){if(this.$root.userPreferences.formatPassword&&e.length>0){var t=Math.ceil(this.$root.userPreferences.formatPasswordBy<1?e.length*this.$root.userPreferences.formatPasswordBy:this.$root.userPreferences.formatPasswordBy),r=e.match(new RegExp(".{1,".concat(t,"}"),"g"));r&&(e=r.join(" "))}return this.$root.userPreferences.showOtpAsDot?e.replace(/[0-9]/g,"●"):e},strip_tags:function(e){return e.replace(/(<([^> ]+)>)/gi,"")}}});const p={};const f=new class{get length(){return Object.keys(this.storage).length}get storage(){return p}getItem(e){return e in this.storage?this.storage[e]:null}setItem(e,t){this.storage[e]=t}removeItem(e){e in this.storage&&delete this.storage[e]}clear(){const e=Object.keys(this.storage);for(let t=0;t<=e.length;t++)try{delete this.storage[e[t]]}catch(e){}}};class h extends Error{constructor(e,t){super(e),this.name="StorageError",t&&(this.stack=t)}}const m=["local","session","memory"];var v;!function(e){e.LOCAL="local",e.SESSION="session",e.MEMORY="memory"}(v||(v={}));class g{constructor(e={}){this.setOptions(e)}get length(){return this.keys().length}get prefix(){return this.options.prefix}get name(){return"vue2-storage"}get version(){return"6.1.3"}get driver(){switch(this.options.driver){case v.LOCAL:default:return"undefined"!=typeof window?window.localStorage:f;case v.SESSION:return"undefined"!=typeof window?window.sessionStorage:f;case v.MEMORY:return f}}setOptions(e={}){this.checkConfig(e),this.options=Object.freeze({prefix:e.prefix||"app_",driver:e.driver||v.LOCAL,ttl:e.ttl||0,replacer:e.replacer||void 0})}get(e,t=null){try{const r=this.fromJSON(this.addPrefix(e));return null===r?t:r}catch(e){this.throwError(e)}}pull(e,t=null){const r=this.get(e,t);return r!==t&&this.remove(e),r}set(e,t,r={}){try{this.driver.setItem(this.addPrefix(e),this.toJSON(t,r))}catch(e){this.throwError(e)}}remember(e,t,r={}){return function(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?o(e.value):new r((function(t){t(e.value)})).then(i,s)}c((n=n.apply(e,t||[])).next())}))}(this,void 0,void 0,(function*(){let n=this.get(e,null);if(null!==n)return n;try{return n=yield t(),this.set(e,n,r),n}catch(e){this.throwError(e)}}))}remove(e){try{this.driver.removeItem(this.addPrefix(e))}catch(e){this.throwError(e)}}clear(e=!1){try{if(e)this.driver.clear();else{this.keys().filter((e=>e.startsWith(this.options.prefix||""))).forEach((e=>this.remove(this.removePrefix(e))))}}catch(e){this.throwError(e)}}has(e){return this.removeExpiredValuesByKeys([this.addPrefix(e)]),this.options.driver!==v.MEMORY?this.addPrefix(e)in this.driver:this.addPrefix(e)in this.driver.storage}key(e){try{const t=this.keys()[e];return this.get(this.removePrefix(t))}catch(e){this.throwError(e)}}keys(){let e=[];if(this.options.driver===v.MEMORY)e=Object.keys(this.driver.storage);else e=Object.keys(this.driver);return e.filter((e=>null!==this.fromJSON(e)))}checkConfig(e){void 0!==e.prefix&&"string"!=typeof e.prefix&&this.throwError(new TypeError('Option "prefix" must be a string')),void 0!==e.driver&&(m.includes(e.driver)||this.throwError(new TypeError(`Option "driver" must be one of ${m.join(", ")}`))),void 0!==e.ttl&&"number"!=typeof e.ttl&&this.throwError(new TypeError('Option "ttl" must be a number')),void 0!==e.replacer&&"function"!=typeof e.replacer&&this.throwError(new TypeError('Option "replacer" must be a function'))}addPrefix(e){return`${this.options.prefix||""}${this.removePrefix(e)}`}removePrefix(e){const t=new RegExp(`^${this.options.prefix||""}`);return e.replace(t,"")}toJSON(e,t={}){const r="ttl"in t?t.ttl:this.options.ttl,{replacer:n}=this.options;return JSON.stringify({value:e,ttl:r>0?r+Date.now():0},((e,t)=>n&&"value"===e?n(e,t):t))}fromJSON(e){try{this.removeExpiredValuesByKeys([e]);const t=JSON.parse(this.driver.getItem(e));return null!==t?"value"in t?t.value:t:null}catch(e){return null}}removeExpiredValuesByKeys(e){try{e.forEach((e=>{const t=JSON.parse(this.driver.getItem(e));null!==t&&"ttl"in t&&Number(t.ttl)>0&&Number(t.ttl)0}},{key:"get",value:function(e){if(this.has(e))return this.getAll(e)[0]}},{key:"getAll",value:function(e){return T(this.errors[e]||[])}},{key:"only",value:function(){for(var e=this,t=[],r=arguments.length,n=new Array(r),o=0;o0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isBusy=!1,this.isDisabled=!1,this.errors=new A,this.originalData=this.deepCopy(t),Object.assign(this,t)}var t,r,o;return t=e,r=[{key:"fill",value:function(e){var t=this;this.keys().forEach((function(r){t[r]=e[r]}))}},{key:"setOriginal",value:function(){var t=this;Object.keys(this).filter((function(t){return!e.ignore.includes(t)})).forEach((function(e){t.originalData[e]=t.deepCopy(t[e])}))}},{key:"fillWithKeyValueObject",value:function(e){var t=this;this.keys().forEach((function(r){var n=e.find((function(e){return e.key===r.toString()}));null!=n&&(t[r]=n.value)}))}},{key:"data",value:function(){var e=this;return this.keys().reduce((function(t,r){return O(O({},t),{},B({},r,e[r]))}),{})}},{key:"keys",value:function(){return Object.keys(this).filter((function(t){return!e.ignore.includes(t)}))}},{key:"startProcessing",value:function(){this.errors.clear(),this.isBusy=!0}},{key:"finishProcessing",value:function(){this.isBusy=!1}},{key:"clear",value:function(){this.errors.clear()}},{key:"reset",value:function(){var t=this;Object.keys(this).filter((function(t){return!e.ignore.includes(t)})).forEach((function(e){t[e]=t.deepCopy(t.originalData[e])}))}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("get",e,t)}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("post",e,t)}},{key:"patch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("patch",e,t)}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("put",e,t)}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("delete",e,t)}},{key:"submit",value:function(e,t){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.startProcessing();var a="get"===e?{params:this.data()}:this.data();return new Promise((function(i,s){n.default.axios.request(O({url:r.route(t),method:e,data:a},o)).then((function(e){r.finishProcessing(),i(e)})).catch((function(e){r.isBusy=!1,e.response&&r.errors.set(r.extractErrors(e.response)),s(e)}))}))}},{key:"upload",value:function(e,t){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.startProcessing(),new Promise((function(a,i){n.default.axios.request(O({url:r.route(e),method:"post",data:t,header:{"Content-Type":"multipart/form-data"}},o)).then((function(e){r.finishProcessing(),a(e)})).catch((function(e){r.isBusy=!1,e.response&&r.errors.set(r.extractErrors(e.response)),i(e)}))}))}},{key:"extractErrors",value:function(t){return t.data&&"object"===S(t.data)?t.data.errors?O({},t.data.errors):t.data.message?{error:t.data.message}:O({},t.data):{error:e.errorMessage}}},{key:"route",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t;return e.routes.hasOwnProperty(t)&&(n=decodeURI(e.routes[t])),"object"!==S(r)&&(r={id:r}),Object.keys(r).forEach((function(e){n=n.replace("{".concat(e,"}"),r[e])})),n}},{key:"onKeydown",value:function(e){e.target.name&&this.errors.clear(e.target.name)}},{key:"deepCopy",value:function(e){var t=this;if(null===e||"object"!==S(e))return e;var r=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(n){r[n]=t.deepCopy(e[n])})),r}}],r&&L(t.prototype,r),o&&L(t,o),Object.defineProperty(t,"prototype",{writable:!1}),e}();D.routes={},D.errorMessage="Something went wrong. Please try again.",D.ignore=["isBusy","isDisabled","errors","originalData"];const R=D;function $(e,t,r,n,o,a,i,s){var c,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=r,u._compiled=!0),n&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(e,t){return c.call(t),l(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:u}}const N=$({name:"Start",data:function(){return{accountCount:null,form:new R,alternativeMethod:null}},props:{showAdvancedFormButton:{type:Boolean,default:!0},showImportButton:{type:Boolean,default:!0},returnToView:{type:String,default:"accounts"}},mounted:function(){var e=this;this.axios.get("api/v1/twofaccounts/count").then((function(t){e.accountCount=t.data.count}))},created:function(){var e=this;this.$nextTick((function(){e.$root.userPreferences.useDirectCapture&&"upload"===e.$root.userPreferences.defaultCaptureMode&&e.$refs.qrcodeInputLabel.click()}))},methods:{submitQrCode:function(){var e=this,t=new FormData;t.append("qrcode",this.$refs.qrcodeInput.files[0]),t.append("inputFormat","fileUpload"),this.form.upload("/api/v1/qrcode/decode",t,{returnError:!0}).then((function(t){"otpauth-migration://offline?data="===t.data.data.slice(0,33).toLowerCase()?e.$router.push({name:"importAccounts",params:{migrationUri:t.data.data}}):e.$router.push({name:"createAccount",params:{decodedUri:t.data.data}})})).catch((function(t){e.$notify({type:"is-danger",text:e.$t(t.response.data.message)})}))},capture:function(){this.$router.push({name:"capture"})}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"container has-text-centered"},[t("div",{staticClass:"columns quick-uploader"},[t("div",{staticClass:"column is-full quick-uploader-header",class:{"is-invisible":0!==e.accountCount}},[e._v("\n "+e._s(e.$t("twofaccounts.no_account_here"))),t("br"),e._v("\n "+e._s(e.$t("twofaccounts.add_first_account"))+"\n ")]),e._v(" "),t("div",{staticClass:"column is-full quick-uploader-button"},[t("div",{staticClass:"quick-uploader-centerer"},[e.$root.userPreferences.useBasicQrcodeReader?t("label",{ref:"qrcodeInputLabel",staticClass:"button is-link is-medium is-rounded is-main",attrs:{role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.$refs.qrcodeInputLabel.click()}}},[t("input",{ref:"qrcodeInput",staticClass:"file-input",attrs:{"aria-hidden":"true",tabindex:"-1",type:"file",accept:"image/*"},on:{change:e.submitQrCode}}),e._v("\n "+e._s(e.$t("twofaccounts.forms.upload_qrcode"))+"\n ")]):t("button",{staticClass:"button is-link is-medium is-rounded is-main",on:{click:function(t){return e.capture()}}},[e._v("\n "+e._s(e.$t("twofaccounts.forms.scan_qrcode"))+"\n ")])])]),e._v(" "),t("div",{staticClass:"column is-full"},[t("div",{staticClass:"block",class:e.$root.showDarkMode?"has-text-light":"has-text-grey-dark"},[e._v(e._s(e.$t("twofaccounts.forms.alternative_methods")))]),e._v(" "),e.$root.userPreferences.useBasicQrcodeReader?e._e():t("div",{staticClass:"block has-text-link"},[t("label",{ref:"qrcodeInputLabel",staticClass:"button is-link is-outlined is-rounded",attrs:{role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.$refs.qrcodeInputLabel.click()}}},[t("input",{ref:"qrcodeInput",staticClass:"file-input",attrs:{"aria-hidden":"true",tabindex:"-1",type:"file",accept:"image/*"},on:{change:e.submitQrCode}}),e._v("\n "+e._s(e.$t("twofaccounts.forms.upload_qrcode"))+"\n ")])]),e._v(" "),e.showAdvancedFormButton?t("div",{staticClass:"block has-text-link"},[t("router-link",{staticClass:"button is-link is-outlined is-rounded",attrs:{to:{name:"createAccount"}}},[e._v("\n "+e._s(e.$t("twofaccounts.forms.use_advanced_form"))+"\n ")])],1):e._e(),e._v(" "),e.showImportButton?t("div",{staticClass:"block has-text-link"},[t("router-link",{staticClass:"button is-link is-outlined is-rounded",attrs:{id:"btnImport",to:{name:"importAccounts"}}},[e._v("\n "+e._s(e.$t("twofaccounts.import.import"))+"\n ")])],1):e._e()])]),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[e.accountCount>0?t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"lnkBack",to:{name:e.returnToView}}},[e._v("\n "+e._s(e.$t("commons.back"))+"\n ")])],1):e._e()])],1)}),[],!1,null,null,null).exports;function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}function j(){j=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==q(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function M(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function F(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){M(a,n,o,i,s,"next",e)}function s(e){M(a,n,o,i,s,"throw",e)}i(void 0)}))}}const z=$({data:function(){return{showStream:!0,errorText:"",form:new R({qrcode:null,uri:""})}},components:{QrcodeStream:r(464).QrcodeStream},methods:{exitStream:function(){this.camera="off",this.$router.go(-1)},onStreamerInit:function(e){var t=this;return F(j().mark((function r(){return j().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,e;case 3:r.next=8;break;case 5:r.prev=5,r.t0=r.catch(0),"NotAllowedError"===r.t0.name?t.errorText="need_grant_permission":"NotReadableError"===r.t0.name?t.errorText="not_readable":"NotFoundError"===r.t0.name?t.errorText="no_cam_on_device":"NotSupportedError"===r.t0.name||"InsecureContextError"===r.t0.name?t.errorText="secured_context_required":"OverconstrainedError"===r.t0.name?t.errorText="camera_not_suitable":"StreamApiNotSupportedError"===r.t0.name&&(t.errorText="stream_api_not_supported");case 8:case"end":return r.stop()}}),r,null,[[0,5]])})))()},submitUri:function(e){var t=this;return F(j().mark((function r(){return j().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t.form.uri=e,t.form.uri?"otpauth-migration://offline?data="==t.form.uri.slice(0,33).toLowerCase()?t.pushUriToImportForm(t.form.uri):"otpauth://totp/"!==t.form.uri.slice(0,15).toLowerCase()&&"otpauth://hotp/"!==t.form.uri.slice(0,15).toLowerCase()?t.$notify({type:"is-warning",text:t.$t("errors.no_valid_otp")}):t.pushUriToCreateForm(t.form.uri):t.$notify({type:"is-warning",text:t.$t("errors.qrcode_cannot_be_read")});case 2:case"end":return r.stop()}}),r)})))()},pushUriToCreateForm:function(e){this.$router.push({name:"createAccount",params:{decodedUri:e}})},pushUriToImportForm:function(e){this.$router.push({name:"importAccounts",params:{migrationUri:e}})}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal is-active"},[t("div",{staticClass:"modal-background"}),e._v(" "),t("div",{staticClass:"modal-content"},[t("section",{staticClass:"section"},[t("div",{staticClass:"columns is-centered"},[t("div",{staticClass:"column is-three-quarters"},[t("div",{staticClass:"modal-slot box has-text-centered is-shadowless"},[e.errorText?t("div",[t("p",{staticClass:"block is-size-5"},[e._v(e._s(e.$t("twofaccounts.stream.live_scan_cant_start")))]),e._v(" "),t("p",{staticClass:"block",class:{"has-text-light":e.$root.showDarkMode}},[e._v(e._s(e.$t("twofaccounts.stream."+e.errorText+".reason")))]),e._v(" "),t("p",{staticClass:"is-size-7"},[e._v(e._s(e.$t("twofaccounts.stream."+e.errorText+".solution")))])]):t("span",{staticClass:"is-size-4",class:e.$root.showDarkMode?"has-text-light":"has-text-grey-dark"},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],size:"2x",spin:""}})],1)])])])])]),e._v(" "),t("div",{staticClass:"fullscreen-streamer"},[t("qrcode-stream",{attrs:{camera:"auto"},on:{decode:e.submitUri,init:e.onStreamerInit}})],1),e._v(" "),t("div",{staticClass:"fullscreen-footer"},[t("button",{staticClass:"button is-large is-warning is-rounded",attrs:{id:"btnCancel"},on:{click:function(t){return e.exitStream()}}},[e._v("\n "+e._s(e.$t("commons.cancel"))+"\n ")])])])}),[],!1,null,null,null).exports;const U=$({name:"Modal",data:function(){return{showcloseButton:this.closable}},props:{value:Boolean,closable:{type:Boolean,default:!0}},computed:{isActive:{get:function(){return this.value},set:function(e){this.$emit("input",e)}}},methods:{closeModal:function(e){e&&(this.isActive=!1,this.$notify({clean:!0}),this.$parent.$emit("modalClose"))}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal modal-otp",class:{"is-active":e.isActive}},[t("div",{staticClass:"modal-background",on:{click:function(t){return t.stopPropagation(),e.closeModal.apply(null,arguments)}}}),e._v(" "),t("div",{staticClass:"modal-content"},[t("section",{staticClass:"section"},[t("div",{staticClass:"columns is-centered"},[t("div",{staticClass:"column is-three-quarters"},[t("div",{staticClass:"modal-slot box has-text-centered is-shadowless"},[e._t("default")],2)])])])]),e._v(" "),this.showcloseButton?t("div",{staticClass:"fullscreen-footer"},[t("button",{ref:"closeModalButton",staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose"},on:{click:function(t){return t.stopPropagation(),e.closeModal.apply(null,arguments)}}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])]):e._e()])}),[],!1,null,null,null).exports;const G=$({name:"TotpLooper",data:function(){return{generatedAt:null,remainingTimeout:null,initialStepToNextStepTimeout:null,stepToStepInterval:null,stepIndex:null}},props:{step_count:{type:Number,default:10},period:Number,generated_at:Number,autostart:{type:Boolean,default:!0}},computed:{elapsedTimeInCurrentPeriod:function(){return this.generatedAt%this.period},remainingTimeBeforeEndOfPeriod:function(){return this.period-this.elapsedTimeInCurrentPeriod},durationBetweenTwoSteps:function(){return this.period/this.step_count},initialStepIndex:function(){var e=this.elapsedTimeInCurrentPeriod*this.step_count/this.period;return Math.floor(e)+0}},mounted:function(){1==this.autostart&&this.startLoop()},methods:{startLoop:function(){this.clearLooper(),this.generatedAt=this.generated_at,this.$emit("loop-started",this.initialStepIndex),this.stepIndex=this.initialStepIndex;var e=this;this.remainingTimeout=setTimeout((function(){e.clearLooper(),e.$emit("loop-ended")}),1e3*this.remainingTimeBeforeEndOfPeriod);var t=Math.ceil(this.elapsedTimeInCurrentPeriod/this.durationBetweenTwoSteps)*this.durationBetweenTwoSteps-this.elapsedTimeInCurrentPeriod;this.initialStepToNextStepTimeout=setTimeout((function(){t>0&&(e.stepIndex+=1,e.$emit("stepped-up",e.stepIndex)),e.stepToStepInterval=setInterval((function(){e.stepIndex+=1,e.$emit("stepped-up",e.stepIndex)}),1e3*e.durationBetweenTwoSteps)}),1e3*t)},clearLooper:function(){clearTimeout(this.remainingTimeout),clearTimeout(this.initialStepToNextStepTimeout),clearInterval(this.stepToStepInterval),this.stepIndex=this.generatedAt=null}},beforeDestroy:function(){this.clearLooper()}},(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports;const W=$({name:"Dots",data:function(){return{activeDot:0}},mounted:function(){null!=this.initialIndex&&this.turnOn(this.initialIndex)},props:{stepCount:{type:Number,default:10},initialIndex:{type:Number,default:null}},methods:{turnOn:function(e){this.activeDot=e<10?e+1:1}}},(function(){var e=this,t=e._self._c;return t("ul",{staticClass:"dots"},e._l(e.stepCount,(function(r){return t("li",{key:r,attrs:{"data-is-active":r==e.activeDot||null}})})),0)}),[],!1,null,null,null).exports;function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function Y(){Y=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==H(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Q(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function K(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Q(a,n,o,i,s,"next",e)}function s(e){Q(a,n,o,i,s,"throw",e)}i(void 0)}))}}var V;const X=$({name:"OtpDisplayer",data:function(){return{internal_id:null,internal_otp_type:"",internal_account:"",internal_service:"",internal_icon:"",internal_secret:null,internal_digits:null,internal_algorithm:null,internal_period:null,internal_counter:null,internal_password:"",internal_uri:"",internal_generated_at:null,hasTOTP:!1}},props:{otp_type:String,account:String,service:String,icon:String,secret:String,digits:Number,algorithm:String,period:null,counter:null,image:String,qrcode:null,uri:String},computed:{},components:{TotpLooper:G,Dots:W},mounted:function(){},methods:{turnDotsOn:function(e){this.$refs.dots.turnOn(e)},copyOTP:function(e,t){var r=e.replace(/ /g,"");1==this.$clipboard(r)&&(-1==this.$root.userPreferences.kickUserAfter?this.appLogout():this.$root.userPreferences.closeOtpOnCopy&&!0===(t||!1)&&(this.$parent.isActive=!1,this.clearOTP()),this.$notify({type:"is-success",text:this.$t("commons.copied_to_clipboard")}))},isTimeBased:function(e){return"totp"===e||"steamtotp"===e},isHMacBased:function(e){return"hotp"===e},show:function(e){var t=this;return K(Y().mark((function r(){var n,o;return Y().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t.internal_otp_type=t.otp_type,t.internal_account=t.account,t.internal_service=t.service,t.internal_icon=t.icon,t.internal_secret=t.secret,t.internal_digits=t.digits,t.internal_algorithm=t.algorithm,t.internal_period=t.period,t.internal_counter=t.counter,!e){r.next=20;break}return t.internal_id=e,r.next=13,t.axios.get("api/v1/twofaccounts/"+t.internal_id);case 13:n=r.sent,o=n.data,t.internal_service=o.service,t.internal_account=o.account,t.internal_icon=o.icon,t.internal_otp_type=o.otp_type,t.isHMacBased(o.otp_type)&&o.counter&&(t.internal_counter=o.counter);case 20:if(t.uri&&(t.internal_uri=t.uri,t.internal_otp_type="otpauth://totp/"===t.uri.slice(0,15).toLowerCase()?"totp":"hotp"),!(t.internal_id||t.uri||t.secret)){r.next=41;break}if(r.prev=22,!t.isTimeBased(t.internal_otp_type)&&!t.isHMacBased(t.internal_otp_type)){r.next=28;break}return r.next=26,t.getOtp();case 26:r.next=29;break;case 28:t.$router.push({name:"genericError",params:{err:t.$t("errors.not_a_supported_otp_type")}});case 29:t.$parent.isActive=!0,t.focusOnOTP(),r.next=36;break;case 33:r.prev=33,r.t0=r.catch(22),t.clearOTP();case 36:return r.prev=36,t.$root.hideSpinner(),r.finish(36);case 39:r.next=42;break;case 41:t.$root.hideSpinner();case 42:case"end":return r.stop()}}),r,null,[[22,33,36,39]])})))()},getOtp:(V=K(Y().mark((function e(){var t=this;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.axios(this.getOtpRequest()).then((function(e){var r=e.data;t.internal_password=r.password,t.$root.userPreferences.copyOtpOnDisplay&&t.copyOTP(r.password),t.isTimeBased(r.otp_type)?(t.internal_generated_at=r.generated_at,t.internal_period=r.period,t.hasTOTP=!0,t.$nextTick((function(){t.$refs.looper.startLoop()}))):t.isHMacBased(r.otp_type)&&(t.internal_counter=r.counter,t.$emit("increment-hotp",{nextHotpCounter:r.counter,nextUri:r.uri}))})).catch((function(e){throw 422===e.response.status&&t.$emit("validation-error",e.response),e}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return V.apply(this,arguments)}),getOtpRequest:function(){return this.internal_id?{method:"get",url:"/api/v1/twofaccounts/"+this.internal_id+"/otp"}:this.internal_uri?{method:"post",url:"/api/v1/twofaccounts/otp",data:{uri:this.internal_uri}}:{method:"post",url:"/api/v1/twofaccounts/otp",data:{service:this.internal_service,account:this.internal_account,icon:this.internal_icon,otp_type:this.internal_otp_type,secret:this.internal_secret,digits:this.internal_digits,algorithm:this.internal_algorithm,period:this.internal_period,counter:this.internal_counter}}},clearOTP:function(){var e;this.internal_id=this.internal_counter=this.internal_generated_at=null,this.internal_service=this.internal_account=this.internal_icon=this.internal_otp_type=this.internal_secret="",this.internal_password="... ...",this.hasTOTP=!1,null===(e=this.$refs.looper)||void 0===e||e.clearLooper()},focusOnOTP:function(){var e=this;this.$nextTick((function(){e.$refs.otp.focus()}))}},beforeDestroy:function(){}},(function(){var e=this,t=e._self._c;return t("div",[t("figure",{staticClass:"image is-64x64",class:{"no-icon":!e.internal_icon},staticStyle:{display:"inline-block"}},[e.internal_icon?t("img",{attrs:{src:e.$root.appConfig.subdirectory+"/storage/icons/"+e.internal_icon,alt:e.$t("twofaccounts.icon_to_illustrate_the_account")}}):e._e()]),e._v(" "),t("p",{staticClass:"is-size-4 has-ellipsis",class:e.$root.showDarkMode?"has-text-grey-light":"has-text-grey"},[e._v(e._s(e.internal_service))]),e._v(" "),t("p",{staticClass:"is-size-6 has-ellipsis",class:e.$root.showDarkMode?"has-text-grey":"has-text-grey-light"},[e._v(e._s(e.internal_account))]),e._v(" "),t("p",[t("span",{ref:"otp",staticClass:"otp is-size-1 is-clickable px-3",class:e.$root.showDarkMode?"has-text-white":"has-text-grey-dark",attrs:{id:"otp",role:"log",tabindex:"0",title:e.$t("commons.copy_to_clipboard")},on:{click:function(t){return e.copyOTP(e.internal_password,!0)},keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.copyOTP(e.internal_password,!0)}}},[e._v("\n "+e._s(e.displayPwd(this.internal_password))+"\n ")])]),e._v(" "),t("dots",{directives:[{name:"show",rawName:"v-show",value:e.isTimeBased(e.internal_otp_type),expression:"isTimeBased(internal_otp_type)"}],ref:"dots"}),e._v(" "),t("ul",{directives:[{name:"show",rawName:"v-show",value:e.isHMacBased(e.internal_otp_type),expression:"isHMacBased(internal_otp_type)"}]},[t("li",[e._v("counter: "+e._s(e.internal_counter))])]),e._v(" "),this.hasTOTP?t("totp-looper",{ref:"looper",attrs:{period:e.internal_period,generated_at:e.internal_generated_at,autostart:!1},on:{"loop-ended":function(t){return e.getOtp()},"loop-started":function(t){return e.turnDotsOn(t)},"stepped-up":function(t){return e.turnDotsOn(t)}}}):e._e()],1)}),[],!1,null,null,null).exports;var Z=r(980),J=r.n(Z),ee=r(661),te=r(162);function re(e){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},re(e)}function ne(){ne=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==re(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function oe(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function ae(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){oe(a,n,o,i,s,"next",e)}function s(e){oe(a,n,o,i,s,"throw",e)}i(void 0)}))}}const ie={data:function(){return{accounts:[],groups:[],selectedAccounts:[],search:"",editMode:this.initialEditMode,drag:!1,showTwofaccountInModal:!1,showGroupSwitch:!1,showGroupSelector:!1,moveAccountsTo:!1,form:new R({value:this.$root.userPreferences.activeGroup}),stepIndexes:{},isRenewingOTPs:!1}},computed:{filteredAccounts:{get:function(){var e=this;return this.accounts.filter((function(t){return parseInt(e.$root.userPreferences.activeGroup)>0?(!!t.service&&t.service.toLowerCase().includes(e.search.toLowerCase())||t.account.toLowerCase().includes(e.search.toLowerCase()))&&t.group_id==parseInt(e.$root.userPreferences.activeGroup):!!t.service&&t.service.toLowerCase().includes(e.search.toLowerCase())||t.account.toLowerCase().includes(e.search.toLowerCase())}))},set:function(e){this.accounts=e}},showAccounts:function(){return this.accounts.length>0&&!this.showGroupSwitch&&!this.showGroupSelector},activeGroupName:function(){var e=this,t=this.groups.find((function(t){return t.id===parseInt(e.$root.userPreferences.activeGroup)}));return t?t.name:this.$t("commons.all")},periods:function(){return this.$root.userPreferences.getOtpOnRequest?null:this.accounts.filter((function(e){return"totp"==e.otp_type})).map((function(e){return{period:e.period,generated_at:e.otp.generated_at}})).filter((function(e,t,r){return t===r.findIndex((function(t){return t.period===e.period}))})).sort()}},props:["initialEditMode","toRefresh"],mounted:function(){if(document.addEventListener("keydown",this.keyListener),this.$root.userPreferences.getOtpOnRequest&&!this.toRefresh&&!this.$route.params.isFirstLoad){var e=this.$storage.get("accounts",null);e&&(this.accounts=e);var t=this.$storage.get("groups",null);t&&(this.groups=t)}this.fetchAccounts(),this.$on("modalClose",(function(){this.$refs.OtpDisplayer.clearOTP()}))},destroyed:function(){document.removeEventListener("keydown",this.keyListener)},components:{Modal:U,OtpDisplayer:X,TotpLooper:G,Dots:W,draggable:J()},methods:{showOrCopy:function(e){!this.$root.userPreferences.getOtpOnRequest&&e.otp_type.includes("totp")?this.copyOTP(e.otp.password):this.showAccount(e)},getAndCopyOTP:function(e){var t=this;return ae(ne().mark((function r(){return ne().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t.axios.get("/api/v1/twofaccounts/"+e.id+"/otp").then((function(r){var n=r.data;if(t.copyOTP(n.password),"hotp"==n.otp_type){var o=t.accounts.find((function(t){return t.id==e.id}));null!=o&&(o.counter=n.counter)}}));case 2:case"end":return r.stop()}}),r)})))()},copyOTP:function(e){1==this.$clipboard(e)&&(-1==this.$root.userPreferences.kickUserAfter&&this.appLogout(),this.$notify({type:"is-success",text:this.$t("commons.copied_to_clipboard")}))},setCurrentStep:function(e,t){this.stepIndexes[e]=t,this.turnDotsOn(e,t)},turnDotsOnFromCache:function(e,t){null!=this.stepIndexes[e]&&this.turnDotsOn(e,this.stepIndexes[e])},turnDotsOn:function(e,t){this.$refs["dots_"+e].forEach((function(e){e.turnOn(t)}))},updateTotps:function(e){var t=this;return ae(ne().mark((function r(){return ne().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t.isRenewingOTPs=!0,t.axios.get("api/v1/twofaccounts?withOtp=1&ids="+t.accountIdsWithPeriod(e).join(",")).then((function(r){r.data.forEach((function(r){var n=t.accounts.findIndex((function(e){return e.id===r.id}));t.accounts[n].otp=r.otp,t.$refs.loopers.forEach((function(n){n.period==e&&(n.generatedAt=r.otp.generated_at,t.$nextTick((function(){n.startLoop()})))}))}))})).finally((function(){t.isRenewingOTPs=!1}));case 2:case"end":return r.stop()}}),r)})))()},accountIdsWithPeriod:function(e){return this.accounts.filter((function(t){return t.period==e})).map((function(e){return e.id}))},start:function(){this.$root.userPreferences.useDirectCapture&&"advancedForm"===this.$root.userPreferences.defaultCaptureMode?this.$router.push({name:"createAccount"}):this.$root.userPreferences.useDirectCapture&&"livescan"===this.$root.userPreferences.defaultCaptureMode?this.$router.push({name:"capture"}):this.$router.push({name:"start"})},fetchAccounts:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=[];this.selectedAccounts=[];var n=this.$root.userPreferences.getOtpOnRequest?"":"?withOtp=1";this.axios.get("api/v1/twofaccounts"+n).then((function(n){n.data.forEach((function(e){r.push(e)})),e.accounts.length>0&&!(0,ee.ZP)(r,e.accounts,{depth:1})&&!t?e.$notify({type:"is-dark",text:''+e.$t("commons.some_data_have_changed")+'
'+e.$t("commons.reload")+"",duration:-1,closeOnClick:!1}):0===e.accounts.length&&0===r.length?(e.$storage.set("accounts",e.accounts),e.$router.push({name:"start"})):(e.accounts=r,e.$storage.set("accounts",e.accounts),e.fetchGroups())}))},showAccount:function(e){this.editMode?this.selectAccount(e.id):(this.$root.showSpinner(this.$t("commons.generating_otp")),this.$refs.OtpDisplayer.show(e.id))},selectAccount:function(e){for(var t=0;tt.service?1:-1})),this.saveOrder()},sortDesc:function(){this.accounts.sort((function(e,t){return e.service0?t("div",{key:r.id,staticClass:"column is-full"},[t("button",{staticClass:"button is-fullwidth",class:{"is-dark has-text-light is-outlined":e.$root.showDarkMode},on:{click:function(t){return e.setActiveGroup(r.id)}}},[e._v(e._s(r.name))])]):e._e()})),0),e._v(" "),t("div",{staticClass:"columns is-centered"},[t("div",{staticClass:"column has-text-centered"},[t("router-link",{attrs:{to:{name:"groups"}}},[e._v(e._s(e.$t("groups.manage_groups")))])],1)])])]),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose"},on:{click:function(t){return e.closeGroupSwitch()}}},[e._v(e._s(e.$t("commons.close")))])])])],1):e._e(),e._v(" "),e.showGroupSelector?t("div",{staticClass:"container group-selector"},[t("div",{staticClass:"columns is-centered is-multiline"},[t("div",{staticClass:"column is-full has-text-centered"},[e._v("\n "+e._s(e.$t("groups.move_selected_to"))+"\n ")]),e._v(" "),t("div",{staticClass:"column is-one-third-tablet is-one-quarter-desktop is-one-quarter-widescreen is-one-quarter-fullhd"},[t("div",{staticClass:"columns is-multiline"},e._l(e.groups,(function(r){return t("div",{key:r.id,staticClass:"column is-full"},[t("button",{staticClass:"button is-fullwidth",class:{"is-link":e.moveAccountsTo===r.id,"is-dark has-text-light is-outlined":e.$root.showDarkMode},on:{click:function(t){e.moveAccountsTo=r.id}}},[0===r.id?t("span",{staticClass:"is-italic"},[e._v("\n "+e._s(e.$t("groups.no_group"))+"\n ")]):t("span",[e._v("\n "+e._s(r.name)+"\n ")])])])})),0),e._v(" "),t("div",{staticClass:"columns is-centered"},[t("div",{staticClass:"column has-text-centered"},[t("router-link",{attrs:{to:{name:"groups"}}},[e._v(e._s(e.$t("groups.manage_groups")))])],1)])])]),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("button",{staticClass:"button is-link is-rounded",on:{click:function(t){return e.moveAccounts()}}},[e._v(e._s(e.$t("commons.move")))])]),e._v(" "),t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnCancel"},on:{click:function(t){e.showGroupSelector=!1}}},[e._v(e._s(e.$t("commons.cancel")))])])])],1):e._e(),e._v(" "),this.showAccounts||this.showGroupSwitch?t("div",{staticClass:"header"},[t("div",{staticClass:"columns is-gapless is-mobile is-centered"},[t("div",{staticClass:"column is-three-quarters-mobile is-one-third-tablet is-one-quarter-desktop is-one-quarter-widescreen is-one-quarter-fullhd"},[t("div",{staticClass:"field",attrs:{role:"search"}},[t("div",{staticClass:"control has-icons-right"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.search,expression:"search"}],ref:"searchBox",staticClass:"input is-rounded is-search",attrs:{id:"txtSearch",type:"search",tabindex:"1","aria-label":e.$t("commons.search"),title:e.$t("commons.search")},domProps:{value:e.search},on:{input:function(t){t.target.composing||(e.search=t.target.value)}}}),e._v(" "),t("span",{staticClass:"icon is-small is-right"},[e.search?e._e():t("font-awesome-icon",{attrs:{icon:["fas","search"]}}),e._v(" "),e.search?t("button",{staticClass:"clear-selection delete",attrs:{id:"btnClearSearch",tabindex:"1",title:e.$t("commons.clear_search")},on:{click:function(t){e.search=""}}}):e._e()],1)])]),e._v(" "),e.editMode?t("div",{staticClass:"toolbar has-text-centered"},[t("div",{staticClass:"columns"},[t("div",{staticClass:"column"},[t("span",{staticClass:"has-text-grey mr-1"},[e._v(e._s(e.selectedAccounts.length)+" "+e._s(e.$t("commons.selected")))]),e._v(" "),t("button",{staticClass:"clear-selection delete mr-4",style:{visibility:e.selectedAccounts.length>0?"visible":"hidden"},attrs:{id:"btnUnselectAll",title:e.$t("commons.clear_selection")},on:{click:e.clearSelected}}),e._v(" "),t("button",{staticClass:"button mr-5 has-line-height p-1 is-ghost has-text-grey",attrs:{id:"btnSelectAll",title:e.$t("commons.select_all")},on:{click:e.selectAll}},[t("span",[e._v(e._s(e.$t("commons.all")))]),e._v(" "),t("font-awesome-icon",{staticClass:"ml-1",attrs:{icon:["fas","check-square"]}})],1),e._v(" "),t("button",{staticClass:"button has-line-height p-1 is-ghost has-text-grey",attrs:{id:"btnSortAscending",title:e.$t("commons.sort_ascending")},on:{click:e.sortAsc}},[t("font-awesome-icon",{attrs:{icon:["fas","sort-alpha-down"]}})],1),e._v(" "),t("button",{staticClass:"button has-line-height p-1 is-ghost has-text-grey",attrs:{id:"btnSortDescending",title:e.$t("commons.sort_descending")},on:{click:e.sortDesc}},[t("font-awesome-icon",{attrs:{icon:["fas","sort-alpha-up"]}})],1)])])]):t("div",{staticClass:"has-text-centered"},[t("div",{staticClass:"columns"},[e.showGroupSwitch?t("div",{staticClass:"column"},[t("button",{staticClass:"button is-text is-like-text",class:{"has-text-grey":!e.$root.showDarkMode},attrs:{id:"btnHideGroupSwitch",title:e.$t("groups.hide_group_selector"),tabindex:"1"},on:{click:function(t){return t.stopPropagation(),e.toggleGroupSwitch.apply(null,arguments)}}},[e._v("\n "+e._s(e.$t("groups.select_accounts_to_show"))+"\n ")])]):t("div",{staticClass:"column"},[t("button",{staticClass:"button is-text is-like-text",class:{"has-text-grey":!e.$root.showDarkMode},attrs:{id:"btnShowGroupSwitch",title:e.$t("groups.show_group_selector"),tabindex:"1"},on:{click:function(t){return t.stopPropagation(),e.toggleGroupSwitch.apply(null,arguments)}}},[e._v("\n "+e._s(e.activeGroupName)+" ("+e._s(e.filteredAccounts.length)+") \n "),t("font-awesome-icon",{attrs:{icon:["fas","caret-down"]}})],1)])])])])])]):e._e(),e._v(" "),t("modal",{model:{value:e.showTwofaccountInModal,callback:function(t){e.showTwofaccountInModal=t},expression:"showTwofaccountInModal"}},[t("otp-displayer",{ref:"OtpDisplayer"})],1),e._v(" "),this.showAccounts?t("div",{staticClass:"container",class:e.editMode?"is-edit-mode":""},[t("draggable",{staticClass:"accounts",attrs:{"ghost-class":"ghost",handle:".tfa-dots",animation:"200"},on:{start:function(t){e.drag=!0},end:e.saveOrder},model:{value:e.filteredAccounts,callback:function(t){e.filteredAccounts=t},expression:"filteredAccounts"}},[t("transition-group",{staticClass:"columns is-multiline",class:{"is-centered":"grid"===e.$root.userPreferences.displayMode},attrs:{type:"transition",name:e.drag?null:"flip-list"}},e._l(e.filteredAccounts,(function(r){return t("div",{key:r.id,staticClass:"column is-narrow",class:["grid"===e.$root.userPreferences.displayMode?"tfa-grid":"tfa-list"]},[t("div",{staticClass:"tfa-container"},[t("transition",{attrs:{name:"slideCheckbox"}},[e.editMode?t("div",{staticClass:"tfa-cell tfa-checkbox"},[t("div",{staticClass:"field"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.selectedAccounts,expression:"selectedAccounts"}],staticClass:"is-checkradio is-small",class:e.$root.showDarkMode?"is-white":"is-info",attrs:{id:"ckb_"+r.id,type:"checkbox",name:"ckb_"+r.id},domProps:{value:r.id,checked:Array.isArray(e.selectedAccounts)?e._i(e.selectedAccounts,r.id)>-1:e.selectedAccounts},on:{change:function(t){var n=e.selectedAccounts,o=t.target,a=!!o.checked;if(Array.isArray(n)){var i=r.id,s=e._i(n,i);o.checked?s<0&&(e.selectedAccounts=n.concat([i])):s>-1&&(e.selectedAccounts=n.slice(0,s).concat(n.slice(s+1)))}else e.selectedAccounts=a}}}),e._v(" "),t("label",{attrs:{tabindex:"0",for:"ckb_"+r.id},on:{keypress:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:(t.preventDefault(),e.selectAccount(r.id))}}})])]):e._e()]),e._v(" "),t("div",{staticClass:"tfa-cell tfa-content is-size-3 is-size-4-mobile",attrs:{tabindex:"0",role:"button"},on:{click:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.showOrCopy(r)},function(t){return t.ctrlKey?e.getAndCopyOTP(r):null}],keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.showOrCopy(r)}}},[t("div",{staticClass:"tfa-text has-ellipsis"},[r.icon&&e.$root.userPreferences.showAccountsIcons?t("img",{staticClass:"tfa-icon",attrs:{src:e.$root.appConfig.subdirectory+"/storage/icons/"+r.icon,alt:e.$t("twofaccounts.icon_for_account_x_at_service_y",{account:r.account,service:r.service})}}):e._e(),e._v("\n "+e._s(e.displayService(r.service))),e.$root.appSettings.useEncryption&&r.account===e.$t("errors.indecipherable")?t("font-awesome-icon",{staticClass:"has-text-danger is-size-5 ml-2",attrs:{icon:["fas","exclamation-circle"]}}):e._e(),e._v(" "),t("span",{staticClass:"has-ellipsis is-family-primary is-size-6 is-size-7-mobile has-text-grey"},[e._v(e._s(r.account))])],1)]),e._v(" "),t("transition",{attrs:{name:"popLater"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:0==e.$root.userPreferences.getOtpOnRequest&&!e.editMode,expression:"$root.userPreferences.getOtpOnRequest == false && !editMode"}],staticClass:"has-text-right"},[null!=r.otp&&e.isRenewingOTPs?t("span",{staticClass:"has-nowrap has-text-grey has-text-centered is-size-5"},[t("font-awesome-icon",{attrs:{icon:["fas","circle-notch"],spin:""}})],1):null!=r.otp&&0==e.isRenewingOTPs?t("span",{staticClass:"always-on-otp is-clickable has-nowrap has-text-grey is-size-5 ml-4",attrs:{title:e.$t("commons.copy_to_clipboard")},on:{click:function(t){return e.copyOTP(r.otp.password)},keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.copyOTP(r.otp.password)}}},[e._v("\n "+e._s(e.displayPwd(r.otp.password))+"\n ")]):t("span",[t("button",{staticClass:"button tag",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{title:e.$t("twofaccounts.import.import_this_account")},on:{click:function(t){return e.showAccount(r)}}},[e._v("\n "+e._s(e.$t("commons.generate"))+"\n ")])]),e._v(" "),r.otp_type.includes("totp")?t("dots",{ref:"dots_"+r.period,refInFor:!0,class:"condensed",on:{"hook:mounted":function(t){return e.turnDotsOnFromCache(r.period)}}}):e._e()],1)]),e._v(" "),t("transition",{attrs:{name:"fadeInOut"}},[e.editMode?t("div",{staticClass:"tfa-cell tfa-edit has-text-grey"},[t("router-link",{staticClass:"tag is-rounded mr-1",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{to:{name:"editAccount",params:{twofaccountId:r.id}}}},[e._v("\n "+e._s(e.$t("commons.edit"))+"\n ")]),e._v(" "),t("router-link",{staticClass:"tag is-rounded",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{to:{name:"showQRcode",params:{twofaccountId:r.id}},title:e.$t("twofaccounts.show_qrcode")}},[t("font-awesome-icon",{attrs:{icon:["fas","qrcode"]}})],1)],1):e._e()]),e._v(" "),t("transition",{attrs:{name:"fadeInOut"}},[e.editMode?t("div",{staticClass:"tfa-cell tfa-dots has-text-grey"},[t("font-awesome-icon",{attrs:{icon:["fas","bars"]}})],1):e._e()])],1)])})),0)],1),e._v(" "),t("vue-footer",{attrs:{showButtons:!0,editMode:e.editMode},on:{"exit-edit":function(t){return e.setEditModeTo(!1)}}},[e.editMode?e._e():t("p",{staticClass:"control"},[t("button",{staticClass:"button is-link is-rounded is-focus",on:{click:e.start}},[t("span",[e._v(e._s(e.$t("commons.new")))]),e._v(" "),t("span",{staticClass:"icon is-small"},[t("font-awesome-icon",{attrs:{icon:["fas","qrcode"]}})],1)])]),e._v(" "),e.editMode?e._e():t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnManage"},on:{click:function(t){return e.setEditModeTo(!0)}}},[e._v(e._s(e.$t("commons.manage")))])]),e._v(" "),e.editMode?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:[{"is-outlined":e.$root.showDarkMode||0==e.selectedAccounts.length},0==e.selectedAccounts.length?"is-dark":"is-link"],attrs:{id:"btnMove",disabled:0==e.selectedAccounts.length,title:e.$t("groups.move_selected_to_group")},on:{click:function(t){e.showGroupSelector=!0}}},[e._v("\n "+e._s(e.$t("commons.move"))+"\n ")])]):e._e(),e._v(" "),e.editMode?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:[{"is-outlined":e.$root.showDarkMode||0==e.selectedAccounts.length},0==e.selectedAccounts.length?"is-dark":"is-link"],attrs:{id:"btnDelete",disabled:0==e.selectedAccounts.length},on:{click:e.destroyAccounts}},[e._v("\n "+e._s(e.$t("commons.delete"))+"\n ")])]):e._e(),e._v(" "),e.editMode?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-rounded",class:[{"is-outlined":e.$root.showDarkMode||0==e.selectedAccounts.length},0==e.selectedAccounts.length?"is-dark":"is-link"],attrs:{id:"btnExport",disabled:0==e.selectedAccounts.length,title:e.$t("twofaccounts.export_selected_to_json")},on:{click:e.exportAccounts}},[e._v("\n "+e._s(e.$t("commons.export"))+"\n ")])]):e._e()])],1):e._e(),e._v(" "),this.$root.userPreferences.getOtpOnRequest?e._e():t("span",e._l(e.periods,(function(r){return t("totp-looper",{key:r.period,ref:"loopers",refInFor:!0,attrs:{period:r.period,generated_at:r.generated_at},on:{"loop-ended":function(t){return e.updateTotps(r.period)},"loop-started":function(t){return e.setCurrentStep(r.period,t)},"stepped-up":function(t){return e.setCurrentStep(r.period,t)}}})})),1)],1)}),[],!1,null,null,null).exports;function pe(e){return pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pe(e)}function fe(){fe=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==pe(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function he(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const me={data:function(){return{showQuickForm:!1,showAdvancedForm:!1,ShowTwofaccountInModal:!1,showAlternatives:!1,tempIcon:"",uri:"",form:new R({service:"",account:"",otp_type:"",icon:"",secret:"",algorithm:"",digits:null,counter:null,period:null,image:"",qrcode:null}),otp_types:[{text:"TOTP",value:"totp"},{text:"HOTP",value:"hotp"},{text:"STEAM",value:"steamtotp"}],digitsChoices:[{text:6,value:6},{text:7,value:7},{text:8,value:8},{text:9,value:9},{text:10,value:10}],algorithms:[{text:"sha1",value:"sha1"},{text:"sha256",value:"sha256"},{text:"sha512",value:"sha512"},{text:"md5",value:"md5"}]}},watch:{tempIcon:function(e){var t=this;this.showQuickForm&&this.$nextTick((function(){t.$refs.QuickFormOtpDisplayer.internal_icon=e}))},"form.otp_type":function(e,t){this.setFormState(t,e)}},mounted:function(){var e=this;this.$route.params.decodedUri?(this.uri=this.$route.params.decodedUri,this.axios.post("/api/v1/twofaccounts/preview",{uri:this.uri}).then((function(t){e.form.fill(t.data),e.tempIcon=t.data.icon?t.data.icon:null,e.showQuickForm=!0,e.$nextTick((function(){e.$refs.QuickFormOtpDisplayer.show()}))})).catch((function(t){422===t.response.status&&t.response.data.errors.uri&&(e.showAlternatives=!0,e.showAdvancedForm=!0)}))):this.showAdvancedForm=!0,this.$on("modalClose",(function(){this.showAlternatives=!1,this.showAdvancedForm&&this.$refs.AdvancedFormOtpDisplayer.stopLoop()}))},components:{Modal:U,OtpDisplayer:X},methods:{createAccount:function(){var e,t=this;return(e=fe().mark((function e(){return fe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.form.icon=t.tempIcon,e.next=3,t.form.post("/api/v1/twofaccounts");case 3:!1===t.form.errors.any()&&(t.$notify({type:"is-success",text:t.$t("twofaccounts.account_created")}),t.$router.push({name:"accounts",params:{toRefresh:!0}}));case 4:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){he(a,n,o,i,s,"next",e)}function s(e){he(a,n,o,i,s,"throw",e)}i(void 0)}))})()},previewAccount:function(){this.form.clear(),this.$refs.AdvancedFormOtpDisplayer.show()},cancelCreation:function(){this.form.service&&!1===confirm(this.$t("twofaccounts.confirm.cancel"))||(this.deleteIcon(),this.$router.push({name:"accounts"}))},uploadQrcode:function(e){var t=this,r=new FormData;r.append("qrcode",this.$refs.qrcodeInput.files[0]),r.append("inputFormat","fileUpload"),this.form.upload("/api/v1/qrcode/decode",r,{returnError:!0}).then((function(e){t.uri=e.data.data,t.axios.post("/api/v1/twofaccounts/preview",{uri:t.uri}).then((function(e){t.form.fill(e.data),t.tempIcon=e.data.icon?e.data.icon:null})).catch((function(e){422===e.response.status&&e.response.data.errors.uri&&(t.showAlternatives=!0)}))})).catch((function(e){return t.$notify({type:"is-danger",text:t.$t(e.response.data.message)}),!1}))},uploadIcon:function(e){var t=this;this.deleteIcon();var r=new FormData;r.append("icon",this.$refs.iconInput.files[0]),this.form.upload("/api/v1/icons",r,{returnError:!0}).then((function(e){t.tempIcon=e.data.filename})).catch((function(e){t.$notify({type:"is-danger",text:t.$t(e.response.data.message)})}))},fetchLogo:function(){var e=this;this.$root.userPreferences.getOfficialIcons&&this.axios.post("/api/v1/icons/default",{service:this.form.service},{returnError:!0}).then((function(t){201===t.status?(e.deleteIcon(),e.tempIcon=t.data.filename):e.$notify({type:"is-warning",text:e.$t("errors.no_logo_found_for_x",{service:e.strip_tags(e.form.service)})})})).catch((function(t){e.$notify({type:"is-warning",text:e.$t("errors.no_logo_found_for_x",{service:e.strip_tags(e.form.service)})})}))},deleteIcon:function(e){this.tempIcon&&(this.axios.delete("/api/v1/icons/"+this.tempIcon),this.tempIcon="")},incrementHotp:function(e){this.form.counter=e.nextHotpCounter},clipboardSuccessHandler:function(e){e.value,e.event;-1==this.$root.appSettings.userPreferences&&this.appLogout(),this.$notify({type:"is-success",text:this.$t("commons.copied_to_clipboard")})},clipboardErrorHandler:function(e){var t=e.value;e.event;console.log("error",t)},setFormState:function(e,t){this.form.otp_type=t,"steamtotp"===t?(this.form.service="Steam",this.fetchLogo()):"steamtotp"===e&&(this.form.service="",this.deleteIcon())},mapDisplayerErrors:function(e){this.form.errors.set(this.form.extractErrors(e))}}};const ve=$(me,(function(){var e=this,t=e._self._c;return t("div",[e.showQuickForm?t("form",{on:{submit:function(t){return t.preventDefault(),e.createAccount.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("div",{staticClass:"container preview has-text-centered"},[t("div",{staticClass:"columns is-mobile"},[t("div",{staticClass:"column"},[e.tempIcon?e._e():t("label",{staticClass:"add-icon-button"},[t("input",{ref:"iconInput",staticClass:"file-input",attrs:{type:"file",accept:"image/*"},on:{change:e.uploadIcon}}),e._v(" "),t("font-awesome-icon",{attrs:{icon:["fas","image"],size:"2x"}})],1),e._v(" "),e.tempIcon?t("button",{staticClass:"delete delete-icon-button is-medium",on:{click:function(t){return t.preventDefault(),e.deleteIcon.apply(null,arguments)}}}):e._e(),e._v(" "),t("otp-displayer",e._b({ref:"QuickFormOtpDisplayer",on:{"increment-hotp":e.incrementHotp}},"otp-displayer",e.form.data(),!1))],1)]),e._v(" "),t("div",{staticClass:"columns is-mobile",attrs:{role:"alert"}},[e.form.errors.any()?t("div",{staticClass:"column"},e._l(e.form.errors.errors,(function(r,n){return t("p",{key:n,staticClass:"help is-danger"},[t("ul",e._l(r,(function(r,n){return t("li",{key:n},[e._v(e._s(r))])})),0)])})),0):e._e()]),e._v(" "),t("div",{staticClass:"columns is-mobile"},[t("div",{staticClass:"column quickform-footer"},[t("div",{staticClass:"field is-grouped is-grouped-centered"},[t("div",{staticClass:"control"},[t("v-button",{attrs:{isLoading:e.form.isBusy}},[e._v(e._s(e.$t("commons.save")))])],1),e._v(" "),t("div",{staticClass:"control"},[t("button",{staticClass:"button is-text",attrs:{id:"btnCancel",type:"button"},on:{click:e.cancelCreation}},[e._v(e._s(e.$t("commons.cancel")))])])])])])])]):e._e(),e._v(" "),e.showAdvancedForm?t("form-wrapper",{attrs:{title:e.$t("twofaccounts.forms.new_account")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.createAccount.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("div",{staticClass:"field is-grouped"},[t("div",{staticClass:"control"},[t("div",{staticClass:"file is-black is-small",attrs:{role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.$refs.qrcodeInputLabel.click()}}},[t("label",{ref:"qrcodeInputLabel",staticClass:"file-label",attrs:{title:e.$t("twofaccounts.forms.use_qrcode.title")}},[t("input",{ref:"qrcodeInput",staticClass:"file-input",attrs:{"aria-hidden":"true",tabindex:"-1",type:"file",accept:"image/*"},on:{change:e.uploadQrcode}}),e._v(" "),t("span",{staticClass:"file-cta"},[t("span",{staticClass:"file-icon"},[t("font-awesome-icon",{attrs:{icon:["fas","qrcode"],size:"lg"}})],1),e._v(" "),t("span",{staticClass:"file-label"},[e._v(e._s(e.$t("twofaccounts.forms.prefill_using_qrcode")))])])])])])]),e._v(" "),t("field-error",{staticClass:"help-for-file",attrs:{form:e.form,field:"qrcode"}}),e._v(" "),t("form-field",{attrs:{form:e.form,isDisabled:"steamtotp"===e.form.otp_type,fieldName:"service",inputType:"text",label:e.$t("twofaccounts.service"),placeholder:e.$t("twofaccounts.forms.service.placeholder"),autofocus:""}}),e._v(" "),t("form-field",{attrs:{form:e.form,fieldName:"account",inputType:"text",label:e.$t("twofaccounts.account"),placeholder:e.$t("twofaccounts.forms.account.placeholder")}}),e._v(" "),t("label",{staticClass:"label"},[e._v(e._s(e.$t("twofaccounts.icon")))]),e._v(" "),t("div",{staticClass:"field is-grouped"},[e.$root.userPreferences.getOfficialIcons?t("div",{staticClass:"control"},[t("v-button",{attrs:{color:e.$root.showDarkMode?"is-dark":"",nativeType:"button",isDisabled:e.form.service.length<1},on:{click:e.fetchLogo}},[t("span",{staticClass:"icon is-small"},[t("font-awesome-icon",{attrs:{icon:["fas","globe"]}})],1),e._v(" "),t("span",[e._v(e._s(e.$t("twofaccounts.forms.i_m_lucky")))])])],1):e._e(),e._v(" "),t("div",{staticClass:"control"},[t("div",{staticClass:"file",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.$refs.iconInputLabel.click()}}},[t("label",{ref:"iconInputLabel",staticClass:"file-label"},[t("input",{ref:"iconInput",staticClass:"file-input",attrs:{"aria-hidden":"true",tabindex:"-1",type:"file",accept:"image/*"},on:{change:e.uploadIcon}}),e._v(" "),t("span",{staticClass:"file-cta"},[t("span",{staticClass:"file-icon"},[t("font-awesome-icon",{attrs:{icon:["fas","upload"]}})],1),e._v(" "),t("span",{staticClass:"file-label"},[e._v(e._s(e.$t("twofaccounts.forms.choose_image")))])])]),e._v(" "),e.tempIcon?t("span",{staticClass:"tag is-large",class:e.$root.showDarkMode?"is-dark":"is-white"},[t("img",{staticClass:"icon-preview",attrs:{src:e.$root.appConfig.subdirectory+"/storage/icons/"+e.tempIcon,alt:e.$t("twofaccounts.icon_to_illustrate_the_account")}}),e._v(" "),t("button",{staticClass:"clear-selection delete is-small",attrs:{"aria-label":e.$t("twofaccounts.remove_icon")},on:{click:function(t){return t.preventDefault(),e.deleteIcon.apply(null,arguments)}}})]):e._e()])])]),e._v(" "),t("div",{staticClass:"field"},[t("field-error",{staticClass:"help-for-file",attrs:{form:e.form,field:"icon"}}),e._v(" "),e.$root.userPreferences.getOfficialIcons?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.i_m_lucky_legend"))}}):e._e()],1),e._v(" "),t("form-toggle",{staticClass:"has-uppercased-button",attrs:{form:e.form,choices:e.otp_types,fieldName:"otp_type",label:e.$t("twofaccounts.forms.otp_type.label"),help:e.$t("twofaccounts.forms.otp_type.help"),hasOffset:!0}}),e._v(" "),e.form.otp_type?t("div",[t("label",{staticClass:"label",attrs:{for:this.inputId("text","secret")},domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.secret.label"))}}),e._v(" "),t("div",{staticClass:"field"},[t("p",{staticClass:"control is-expanded"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.secret,expression:"form.secret"}],staticClass:"input",attrs:{id:this.inputId("text","secret"),type:"text"},domProps:{value:e.form.secret},on:{input:function(t){t.target.composing||e.$set(e.form,"secret",t.target.value)}}})])]),e._v(" "),t("div",{staticClass:"field"},[t("field-error",{attrs:{form:e.form,field:"secret"}}),e._v(" "),t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.secret.help"))}})],1),e._v(" "),"steamtotp"!==e.form.otp_type?t("div",[t("h2",{staticClass:"title is-4 mt-5 mb-2"},[e._v(e._s(e.$t("commons.options")))]),e._v(" "),t("p",{staticClass:"help mb-4"},[e._v("\n "+e._s(e.$t("twofaccounts.forms.options_help"))+"\n ")]),e._v(" "),t("form-toggle",{attrs:{form:e.form,choices:e.digitsChoices,fieldName:"digits",label:e.$t("twofaccounts.forms.digits.label"),help:e.$t("twofaccounts.forms.digits.help")}}),e._v(" "),t("form-toggle",{attrs:{form:e.form,choices:e.algorithms,fieldName:"algorithm",label:e.$t("twofaccounts.forms.algorithm.label"),help:e.$t("twofaccounts.forms.algorithm.help")}}),e._v(" "),"totp"===e.form.otp_type?t("form-field",{class:"is-third-width-field",attrs:{pattern:"[0-9]{1,4}",form:e.form,fieldName:"period",inputType:"text",label:e.$t("twofaccounts.forms.period.label"),placeholder:e.$t("twofaccounts.forms.period.placeholder"),help:e.$t("twofaccounts.forms.period.help")}}):e._e(),e._v(" "),"hotp"===e.form.otp_type?t("form-field",{class:"is-third-width-field",attrs:{pattern:"[0-9]{1,4}",form:e.form,fieldName:"counter",inputType:"text",label:e.$t("twofaccounts.forms.counter.label"),placeholder:e.$t("twofaccounts.forms.counter.placeholder"),help:e.$t("twofaccounts.forms.counter.help")}}):e._e()],1):e._e()]):e._e(),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("v-button",{staticClass:"is-rounded",attrs:{id:"btnCreate",isLoading:e.form.isBusy}},[e._v(e._s(e.$t("commons.create")))])],1),e._v(" "),e.form.otp_type&&e.form.secret?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-success is-rounded",attrs:{id:"btnPreview",type:"button"},on:{click:e.previewAccount}},[e._v(e._s(e.$t("twofaccounts.forms.test")))])]):e._e(),e._v(" "),t("p",{staticClass:"control"},[t("button",{staticClass:"button is-text is-rounded",attrs:{id:"btnCancel",type:"button"},on:{click:e.cancelCreation}},[e._v(e._s(e.$t("commons.cancel")))])])])],1),e._v(" "),t("modal",{model:{value:e.ShowTwofaccountInModal,callback:function(t){e.ShowTwofaccountInModal=t},expression:"ShowTwofaccountInModal"}},[t("otp-displayer",e._b({ref:"AdvancedFormOtpDisplayer",on:{"increment-hotp":e.incrementHotp,"validation-error":e.mapDisplayerErrors}},"otp-displayer",e.form.data(),!1))],1)],1):e._e(),e._v(" "),t("modal",{model:{value:e.showAlternatives,callback:function(t){e.showAlternatives=t},expression:"showAlternatives"}},[t("div",{staticClass:"too-bad"}),e._v(" "),t("div",{staticClass:"block"},[e._v("\n "+e._s(e.$t("errors.data_of_qrcode_is_not_valid_URI"))+"\n ")]),e._v(" "),t("div",{staticClass:"block mb-6",class:e.$root.showDarkMode?"has-text-light":"has-text-grey-dark"},[e._v(e._s(e.uri))]),e._v(" "),t("div",{staticClass:"block has-text-link"},[t("button",{directives:[{name:"clipboard",rawName:"v-clipboard",value:function(){return e.uri},expression:"() => uri"},{name:"clipboard",rawName:"v-clipboard:success",value:e.clipboardSuccessHandler,expression:"clipboardSuccessHandler",arg:"success"}],staticClass:"button is-link is-outlined is-rounded"},[e._v("\n "+e._s(e.$t("commons.copy_to_clipboard"))+"\n ")])]),e._v(" "),e.isUrl(e.uri)?t("div",{staticClass:"block has-text-link",on:{click:function(t){return e.openInBrowser(e.uri)}}},[t("button",{staticClass:"button is-link is-outlined is-rounded"},[t("span",[e._v(e._s(e.$t("commons.open_in_browser")))]),e._v(" "),t("span",{staticClass:"icon is-small"},[t("font-awesome-icon",{attrs:{icon:["fas","external-link-alt"]}})],1)])]):e._e()])],1)}),[],!1,null,null,null).exports;function ge(e){return ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ge(e)}function _e(){_e=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==ge(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function be(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function ye(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){be(a,n,o,i,s,"next",e)}function s(e){be(a,n,o,i,s,"throw",e)}i(void 0)}))}}const we=$({data:function(){return{ShowTwofaccountInModal:!1,counterIsLocked:!0,twofaccountExists:!1,tempIcon:"",form:new R({service:"",account:"",otp_type:"",uri:"",icon:"",secret:"",algorithm:"",digits:null,counter:null,period:null,image:""}),otp_types:[{text:"TOTP",value:"totp"},{text:"HOTP",value:"hotp"},{text:"STEAM",value:"steamtotp"}],digitsChoices:[{text:6,value:6},{text:7,value:7},{text:8,value:8},{text:9,value:9},{text:10,value:10}],algorithms:[{text:"sha1",value:"sha1"},{text:"sha256",value:"sha256"},{text:"sha512",value:"sha512"},{text:"md5",value:"md5"}],secretIsLocked:!0}},mounted:function(){this.$on("modalClose",(function(){this.$refs.AdvancedFormOtpDisplayer.stopLoop()}))},created:function(){this.getAccount()},components:{Modal:U,OtpDisplayer:X},methods:{getAccount:function(){var e=this;return ye(_e().mark((function t(){var r,n;return _e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.axios.get("/api/v1/twofaccounts/"+e.$route.params.twofaccountId);case 2:r=t.sent,n=r.data,e.form.fill(n),e.twofaccountExists=!0,e.tempIcon=e.form.icon;case 7:case"end":return t.stop()}}),t)})))()},updateAccount:function(){var e=this;return ye(_e().mark((function t(){var r;return _e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.tempIcon!==e.form.icon&&("",r=e.form.icon,e.form.icon=e.tempIcon,e.tempIcon=r,e.deleteIcon()),t.next=3,e.form.put("/api/v1/twofaccounts/"+e.$route.params.twofaccountId);case 3:!1===e.form.errors.any()&&(e.$notify({type:"is-success",text:e.$t("twofaccounts.account_updated")}),e.$router.push({name:"accounts",params:{initialEditMode:!0,toRefresh:!0}}));case 4:case"end":return t.stop()}}),t)})))()},previewAccount:function(){this.$refs.AdvancedFormOtpDisplayer.show()},cancelCreation:function(){this.deleteIcon(),this.$router.push({name:"accounts",params:{initialEditMode:!0}})},uploadIcon:function(e){var t=this;return ye(_e().mark((function e(){var r;return _e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.deleteIcon(),(r=new FormData).append("icon",t.$refs.iconInput.files[0]),t.form.upload("/api/v1/icons",r,{returnError:!0}).then((function(e){t.tempIcon=e.data.filename})).catch((function(e){t.$notify({type:"is-danger",text:t.$t(e.response.data.message)})}));case 4:case"end":return e.stop()}}),e)})))()},fetchLogo:function(){var e=this;this.$root.userPreferences.getOfficialIcons&&this.axios.post("/api/v1/icons/default",{service:this.form.service},{returnError:!0}).then((function(t){201===t.status?(e.deleteIcon(),e.tempIcon=t.data.filename):e.$notify({type:"is-warning",text:e.$t("errors.no_logo_found_for_x",{service:e.strip_tags(e.form.service)})})})).catch((function(t){e.$notify({type:"is-warning",text:e.$t("errors.no_logo_found_for_x",{service:e.strip_tags(e.form.service)})})}))},deleteIcon:function(e){this.tempIcon&&this.tempIcon!==this.form.icon&&this.axios.delete("/api/v1/icons/"+this.tempIcon),this.tempIcon=""},incrementHotp:function(e){this.form.counter=e.nextHotpCounter,this.form.uri=e.nextUri},mapDisplayerErrors:function(e){this.form.errors.set(this.form.extractErrors(e))}}},(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("twofaccounts.forms.edit_account")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.updateAccount.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{isDisabled:"steamtotp"===e.form.otp_type,form:e.form,fieldName:"service",inputType:"text",label:e.$t("twofaccounts.service"),placeholder:e.$t("twofaccounts.forms.service.placeholder"),autofocus:""}}),e._v(" "),t("form-field",{attrs:{form:e.form,fieldName:"account",inputType:"text",label:e.$t("twofaccounts.account"),placeholder:e.$t("twofaccounts.forms.account.placeholder")}}),e._v(" "),t("label",{staticClass:"label"},[e._v(e._s(e.$t("twofaccounts.icon")))]),e._v(" "),t("div",{staticClass:"field is-grouped"},[e.$root.userPreferences.getOfficialIcons?t("div",{staticClass:"control"},[t("v-button",{attrs:{color:e.$root.showDarkMode?"is-dark":"",nativeType:"button",isDisabled:e.form.service.length<3},on:{click:e.fetchLogo}},[t("span",{staticClass:"icon is-small"},[t("font-awesome-icon",{attrs:{icon:["fas","globe"]}})],1),e._v(" "),t("span",[e._v(e._s(e.$t("twofaccounts.forms.i_m_lucky")))])])],1):e._e(),e._v(" "),t("div",{staticClass:"control"},[t("div",{staticClass:"file",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.$refs.iconInputLabel.click()}}},[t("label",{ref:"iconInputLabel",staticClass:"file-label"},[t("input",{ref:"iconInput",staticClass:"file-input",attrs:{"aria-hidden":"true",tabindex:"-1",type:"file",accept:"image/*"},on:{change:e.uploadIcon}}),e._v(" "),t("span",{staticClass:"file-cta"},[t("span",{staticClass:"file-icon"},[t("font-awesome-icon",{attrs:{icon:["fas","upload"]}})],1),e._v(" "),t("span",{staticClass:"file-label"},[e._v(e._s(e.$t("twofaccounts.forms.choose_image")))])])]),e._v(" "),e.tempIcon?t("span",{staticClass:"tag is-large",class:e.$root.showDarkMode?"is-dark":"is-white"},[t("img",{staticClass:"icon-preview",attrs:{src:e.$root.appConfig.subdirectory+"/storage/icons/"+e.tempIcon,alt:e.$t("twofaccounts.icon_to_illustrate_the_account")}}),e._v(" "),t("button",{staticClass:"clear-selection delete is-small",attrs:{"aria-label":e.$t("twofaccounts.remove_icon")},on:{click:function(t){return t.preventDefault(),e.deleteIcon.apply(null,arguments)}}})]):e._e()])])]),e._v(" "),t("div",{staticClass:"field"},[t("field-error",{staticClass:"help-for-file",attrs:{form:e.form,field:"icon"}}),e._v(" "),e.$root.userPreferences.getOfficialIcons?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.i_m_lucky_legend"))}}):e._e()],1),e._v(" "),t("form-toggle",{staticClass:"has-uppercased-button",attrs:{isDisabled:!0,form:e.form,choices:e.otp_types,fieldName:"otp_type",label:e.$t("twofaccounts.forms.otp_type.label"),help:e.$t("twofaccounts.forms.otp_type.help"),hasOffset:!0}}),e._v(" "),e.form.otp_type?t("div",[t("label",{staticClass:"label",attrs:{for:this.inputId("text","secret")},domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.secret.label"))}}),e._v(" "),t("div",{staticClass:"field has-addons"},[t("p",{staticClass:"control is-expanded"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.secret,expression:"form.secret"}],staticClass:"input",attrs:{id:this.inputId("text","secret"),type:"text",disabled:e.secretIsLocked},domProps:{value:e.form.secret},on:{input:function(t){t.target.composing||e.$set(e.form,"secret",t.target.value)}}})]),e._v(" "),e.secretIsLocked?t("p",{staticClass:"control"},[t("button",{staticClass:"button field-lock",class:{"is-dark":e.$root.showDarkMode},attrs:{type:"button",title:e.$t("twofaccounts.forms.unlock.title")},on:{click:function(t){t.stopPropagation(),e.secretIsLocked=!1}}},[t("span",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","lock"]}})],1)])]):t("p",{staticClass:"control"},[t("button",{staticClass:"button field-unlock",class:{"is-dark":e.$root.showDarkMode},attrs:{type:"button",title:e.$t("twofaccounts.forms.lock.title")},on:{click:function(t){t.stopPropagation(),e.secretIsLocked=!0}}},[t("span",{staticClass:"icon has-text-danger"},[t("font-awesome-icon",{attrs:{icon:["fas","lock-open"]}})],1)])])]),e._v(" "),t("div",{staticClass:"field"},[t("field-error",{staticClass:"help-for-file",attrs:{form:e.form,field:"secret"}}),e._v(" "),t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.secret.help"))}})],1),e._v(" "),"steamtotp"!==e.form.otp_type?t("div",[t("h2",{staticClass:"title is-4 mt-5 mb-2"},[e._v(e._s(e.$t("commons.options")))]),e._v(" "),t("p",{staticClass:"help mb-4"},[e._v("\n "+e._s(e.$t("twofaccounts.forms.options_help"))+"\n ")]),e._v(" "),t("form-toggle",{attrs:{form:e.form,choices:e.digitsChoices,fieldName:"digits",label:e.$t("twofaccounts.forms.digits.label"),help:e.$t("twofaccounts.forms.digits.help")}}),e._v(" "),t("form-toggle",{attrs:{form:e.form,choices:e.algorithms,fieldName:"algorithm",label:e.$t("twofaccounts.forms.algorithm.label"),help:e.$t("twofaccounts.forms.algorithm.help")}}),e._v(" "),"totp"===e.form.otp_type?t("form-field",{attrs:{form:e.form,fieldName:"period",inputType:"text",label:e.$t("twofaccounts.forms.period.label"),placeholder:e.$t("twofaccounts.forms.period.placeholder"),help:e.$t("twofaccounts.forms.period.help")}}):e._e(),e._v(" "),"hotp"===e.form.otp_type?t("div",[t("div",{staticClass:"field",staticStyle:{"margin-bottom":"0.5rem"}},[t("label",{staticClass:"label"},[e._v(e._s(e.$t("twofaccounts.forms.counter.label")))])]),e._v(" "),t("div",{staticClass:"field has-addons"},[t("div",{staticClass:"control is-expanded"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.counter,expression:"form.counter"}],staticClass:"input",attrs:{type:"text",placeholder:"",disabled:e.counterIsLocked},domProps:{value:e.form.counter},on:{input:function(t){t.target.composing||e.$set(e.form,"counter",t.target.value)}}})]),e._v(" "),e.counterIsLocked?t("div",{staticClass:"control"},[t("button",{staticClass:"button field-lock",class:{"is-dark":e.$root.showDarkMode},attrs:{type:"button",title:e.$t("twofaccounts.forms.unlock.title")},on:{click:function(t){e.counterIsLocked=!1}}},[t("span",{staticClass:"icon"},[t("font-awesome-icon",{attrs:{icon:["fas","lock"]}})],1)])]):t("div",{staticClass:"control"},[t("button",{staticClass:"button field-unlock",class:{"is-dark":e.$root.showDarkMode},attrs:{type:"button",title:e.$t("twofaccounts.forms.lock.title")},on:{click:function(t){e.counterIsLocked=!0}}},[t("span",{staticClass:"icon has-text-danger"},[t("font-awesome-icon",{attrs:{icon:["fas","lock-open"]}})],1)])])]),e._v(" "),t("field-error",{attrs:{form:e.form,field:"counter"}}),e._v(" "),t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.$t("twofaccounts.forms.counter.help_lock"))}})],1):e._e()],1):e._e()]):e._e(),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("v-button",{staticClass:"is-rounded",attrs:{isLoading:e.form.isBusy}},[e._v(e._s(e.$t("commons.save")))])],1),e._v(" "),e.form.otp_type&&e.form.secret?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-success is-rounded",attrs:{type:"button"},on:{click:e.previewAccount}},[e._v(e._s(e.$t("twofaccounts.forms.test")))])]):e._e(),e._v(" "),t("p",{staticClass:"control"},[t("button",{staticClass:"button is-text is-rounded",attrs:{id:"btnCancel",type:"button"},on:{click:e.cancelCreation}},[e._v(e._s(e.$t("commons.cancel")))])])])],1),e._v(" "),t("modal",{model:{value:e.ShowTwofaccountInModal,callback:function(t){e.ShowTwofaccountInModal=t},expression:"ShowTwofaccountInModal"}},[t("otp-displayer",e._b({ref:"AdvancedFormOtpDisplayer",on:{"increment-hotp":e.incrementHotp,"validation-error":e.mapDisplayerErrors}},"otp-displayer",e.form.data(),!1))],1)],1)}),[],!1,null,null,null).exports;function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function xe(){xe=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==ke(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Ce(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function Pe(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Ce(a,n,o,i,s,"next",e)}function s(e){Ce(a,n,o,i,s,"throw",e)}i(void 0)}))}}var Ae;const Te=$({data:function(){return{migrationPayload:"",exportedAccounts:[],isFetching:!1,form:new R({service:"",account:"",otp_type:"",icon:"",secret:"",algorithm:"",digits:null,counter:null,period:null}),uploadForm:new R,ShowTwofaccountInModal:!1,supportedSources:[{app:"2FAuth",format:"JSON"},{app:"Google Auth",format:this.$t("twofaccounts.import.qr_code")},{app:"Aegis Auth",format:"JSON"},{app:"Aegis Auth",format:this.$t("twofaccounts.import.plain_text")},{app:"2FAS auth",format:"JSON"}]}},computed:{importableCount:function(){return this.exportedAccounts.filter((function(e){return-1==e.imported&&e.id>-2})).length},duplicateCount:function(){return this.exportedAccounts.filter((function(e){return-1===e.id&&-1===e.imported})).length},importedCount:function(){return this.exportedAccounts.filter((function(e){return 1===e.imported})).length}},mounted:(Ae=Pe(xe().mark((function e(){return xe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.$route.params.migrationUri&&this.migrate(this.$route.params.migrationUri),this.$on("modalClose",(function(){this.$refs.AdvancedFormOtpDisplayer.clearOTP()}));case 2:case"end":return e.stop()}}),e,this)}))),function(){return Ae.apply(this,arguments)}),components:{Modal:U,OtpDisplayer:X},methods:{migrate:function(e){var t=this;return Pe(xe().mark((function r(){return xe().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t.migrationPayload=e,t.isFetching=!0,r.next=4,t.axios.post("/api/v1/twofaccounts/migration",{payload:t.migrationPayload,withSecret:!0},{returnError:!0}).then((function(e){e.data.forEach((function(e){e.imported=-1,t.exportedAccounts.push(e)})),t.notifyValidAccountFound()})).catch((function(e){t.$notify({type:"is-danger",text:t.$t(e.response.data.message)})}));case 4:t.isFetching=!1;case 5:case"end":return r.stop()}}),r)})))()},discardDuplicates:function(){confirm(this.$t("twofaccounts.confirm.discard_duplicates"))&&(this.$notify({clean:!0}),this.$refs.AdvancedFormOtpDisplayer.clearOTP(),this.exportedAccounts=this.exportedAccounts.filter((function(e){return-1!==e.id})))},discardAccounts:function(){confirm(this.$t("twofaccounts.confirm.discard_all"))&&(this.$notify({clean:!0}),this.$refs.AdvancedFormOtpDisplayer.clearOTP(),this.exportedAccounts=[])},discardAccount:function(e){confirm(this.$t("twofaccounts.confirm.discard"))&&this.exportedAccounts.splice(e,1)},createAccounts:function(){var e=this;return Pe(xe().mark((function t(){var r;return xe().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=0;case 1:if(!(r-2&&0!==r.imported?t("div",{staticClass:"is-flex-grow-1 has-ellipsis is-clickable",attrs:{title:e.$t("twofaccounts.import.generate_a_test_password")},on:{click:function(t){return e.previewAccount(n)}}},[r.icon&&e.$root.userPreferences.showAccountsIcons?t("img",{staticClass:"import-icon",attrs:{src:e.$root.appConfig.subdirectory+"/storage/icons/"+r.icon,alt:e.$t("twofaccounts.icon_for_account_x_at_service_y",{account:r.account,service:r.service})}}):e._e(),e._v("\n "+e._s(r.account)+"\n ")]):t("div",{staticClass:"is-flex-grow-1 has-ellipsis"},[e._v(e._s(r.account))]),e._v(" "),-1===r.imported?t("div",{staticClass:"tags is-flex-wrap-nowrap"},[t("button",{staticClass:"button tag",class:{"is-dark has-text-grey-light":e.$root.showDarkMode},attrs:{title:e.$t("twofaccounts.import.discard_this_account")},on:{click:function(t){return e.discardAccount(n)}}},[t("font-awesome-icon",{attrs:{icon:["fas","trash"]}})],1),e._v(" "),r.id>-2?t("button",{staticClass:"button tag is-link",attrs:{title:e.$t("twofaccounts.import.import_this_account")},on:{click:function(t){return e.createAccount(n)}}},[e._v("\n "+e._s(e.$t("twofaccounts.import.to_import"))+"\n ")]):e._e()]):t("div",{staticClass:"has-nowrap"},[1===r.imported?t("span",{staticClass:"has-text-success"},[e._v("\n "+e._s(e.$t("twofaccounts.import.imported"))+" "),t("font-awesome-icon",{attrs:{icon:["fas","check"]}})],1):t("span",{staticClass:"has-text-danger"},[e._v("\n "+e._s(e.$t("twofaccounts.import.failure"))+" "),t("font-awesome-icon",{attrs:{icon:["fas","times"]}})],1)])]),e._v(" "),t("div",{staticClass:"is-size-6 is-size-7-mobile"},[t("div",{staticClass:"is-family-primary has-text-grey"},[e._v(e._s(e.$t("twofaccounts.import.issuer"))+": "+e._s(r.service))]),e._v(" "),-2===r.id?t("div",{staticClass:"has-text-danger"},[t("font-awesome-icon",{staticClass:"mr-1",attrs:{icon:["fas","times-circle"]}}),e._v(e._s(r.secret)+"\n ")],1):e._e(),e._v(" "),-1!==r.id||1===r.imported||r.errors?e._e():t("div",{staticClass:"has-text-warning"},[t("font-awesome-icon",{staticClass:"mr-1",attrs:{icon:["fas","exclamation-circle"]}}),e._v(e._s(e.$t("twofaccounts.import.possible_duplicate"))+"\n ")],1),e._v(" "),r.errors?t("ul",e._l(r.errors,(function(r){return t("li",{key:r,staticClass:"has-text-danger"},[e._v(e._s(r))])})),0):e._e()])])})),e._v(" "),e.importableCount>0?t("div",{staticClass:"mt-2 is-size-7 is-pulled-right"},[e.duplicateCount?t("button",{staticClass:"has-text-grey button is-small is-ghost",on:{click:function(t){return e.discardDuplicates()}}},[e._v(e._s(e.$t("twofaccounts.import.discard_duplicates"))+" ("+e._s(e.duplicateCount)+")")]):e._e(),e._v(" "),t("button",{staticClass:"has-text-grey button is-small is-ghost",on:{click:function(t){return e.discardAccounts()}}},[e._v(e._s(e.$t("twofaccounts.import.discard_all")))])]):e._e(),e._v(" "),e.importedCount==e.exportedAccounts.length?t("div",{staticClass:"mt-2 is-size-7 is-pulled-right"},[t("button",{staticClass:"has-text-grey button is-small is-ghost",on:{click:function(t){e.exportedAccounts=[]}}},[e._v(e._s(e.$t("commons.clear")))])]):e._e()],2),e._v(" "),e.isFetching&&0===e.exportedAccounts.length?t("div",{staticClass:"has-text-centered"},[t("span",{staticClass:"is-size-4"},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],spin:""}})],1)]):e._e(),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[e.importableCount>0?t("p",{staticClass:"control"},[t("button",{staticClass:"button is-link is-rounded is-focus",on:{click:e.createAccounts}},[t("span",[e._v(e._s(e.$t("twofaccounts.import.import_all"))+" ("+e._s(e.importableCount)+")")])])]):e._e(),e._v(" "),t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:e.importableCount>0?"btnCancel":"btnClose",to:{name:"accounts",params:{toRefresh:!0}}},domProps:{innerHTML:e._s(e.importableCount>0?e.$t("commons.cancel"):e.$t("commons.close"))}})],1)])],1),e._v(" "),t("modal",{model:{value:e.ShowTwofaccountInModal,callback:function(t){e.ShowTwofaccountInModal=t},expression:"ShowTwofaccountInModal"}},[t("otp-displayer",e._b({ref:"AdvancedFormOtpDisplayer"},"otp-displayer",e.form.data(),!1))],1)],1)}),[],!1,null,null,null).exports;function Se(e){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Se(e)}function Ee(){Ee=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Se(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Oe(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const Be={data:function(){return{qrcode:null}},mounted:function(){this.getQRcode()},methods:{getQRcode:function(){var e,t=this;return(e=Ee().mark((function e(){var r,n;return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.axios.get("/api/v1/twofaccounts/"+t.$route.params.twofaccountId+"/qrcode");case 2:r=e.sent,n=r.data,t.qrcode=n.qrcode;case 5:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Oe(a,n,o,i,s,"next",e)}function s(e){Oe(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}};const Le=$(Be,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal modal-otp is-active"},[t("div",{staticClass:"modal-background"}),e._v(" "),t("div",{staticClass:"modal-content"},[t("p",{staticClass:"has-text-centered m-5"},[t("img",{staticClass:"has-background-light",attrs:{src:e.qrcode,alt:e.$t("commons.image_of_qrcode_to_scan")}})])]),e._v(" "),t("div",{staticClass:"fullscreen-footer"},[t("button",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose"},on:{click:function(t){return t.stopPropagation(),e.$router.push({name:"accounts",params:{initialEditMode:!0}})}}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])])])}),[],!1,null,null,null).exports;function Ie(e){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ie(e)}function De(){De=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Ie(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Re(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function $e(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Re(a,n,o,i,s,"next",e)}function s(e){Re(a,n,o,i,s,"throw",e)}i(void 0)}))}}const Ne={data:function(){return{groups:[],TheAllGroup:null,isFetching:!1}},mounted:function(){var e=this.$storage.get("groups",null);e&&(this.groups=e,this.TheAllGroup=this.groups.shift()),this.fetchGroups()},methods:{fetchGroups:function(){var e=this;return $e(De().mark((function t(){return De().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.isFetching=!0,t.next=3,e.axios.get("api/v1/groups").then((function(t){var r=[];t.data.forEach((function(e){r.push(e)})),e.TheAllGroup=r.shift(),e.groups=r}));case 3:e.isFetching=!1;case 4:case"end":return t.stop()}}),t)})))()},deleteGroup:function(e){var t=this;return $e(De().mark((function r(){return De().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!confirm(t.$t("groups.confirm.delete"))){r.next=3;break}return r.next=3,t.axios.delete("/api/v1/groups/"+e).then((function(r){t.groups=t.groups.filter((function(t){return t.id!==e})),t.$notify({type:"is-success",text:t.$t("groups.group_successfully_deleted")}),parseInt(t.$root.userPreferences.activeGroup)===e&&(t.$root.userPreferences.activeGroup=0)}));case 3:case"end":return r.stop()}}),r)})))()}},beforeRouteLeave:function(e,t,r){this.groups.unshift(this.TheAllGroup),this.$storage.set("groups",this.groups),r()}};const qe=$(Ne,(function(){var e=this,t=e._self._c;return t("responsive-width-wrapper",[t("h1",{staticClass:"title has-text-grey-dark"},[e._v("\n "+e._s(e.$t("groups.groups"))+"\n ")]),e._v(" "),t("div",{staticClass:"is-size-7-mobile"},[e._v("\n "+e._s(e.$t("groups.manage_groups_legend"))+"\n ")]),e._v(" "),t("div",{staticClass:"mt-3 mb-6"},[t("router-link",{staticClass:"is-link mt-5",attrs:{to:{name:"createGroup"}}},[t("font-awesome-icon",{attrs:{icon:["fas","plus-circle"]}}),e._v(" "+e._s(e.$t("groups.create_group"))+"\n ")],1)],1),e._v(" "),e.groups.length>0?t("div",[e._l(e.groups,(function(r){return t("div",{key:r.id,staticClass:"group-item is-size-5 is-size-6-mobile"},[e._v("\n "+e._s(r.name)+"\n "),e._v(" "),t("button",{staticClass:"button tag is-pulled-right",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{title:e.$t("commons.delete")},on:{click:function(t){return e.deleteGroup(r.id)}}},[e._v("\n "+e._s(e.$t("commons.delete"))+"\n ")]),e._v(" "),t("router-link",{staticClass:"has-text-grey px-1",attrs:{to:{name:"editGroup",params:{groupId:r.id,name:r.name}},title:e.$t("commons.rename")}},[t("font-awesome-icon",{attrs:{icon:["fas","pen-square"]}})],1),e._v(" "),t("span",{staticClass:"is-family-primary is-size-6 is-size-7-mobile has-text-grey"},[e._v(e._s(r.twofaccounts_count)+" "+e._s(e.$t("twofaccounts.accounts")))])],1)})),e._v(" "),e.groups.length>0?t("div",{staticClass:"mt-2 is-size-7 is-pulled-right"},[e._v("\n "+e._s(e.$t("groups.deleting_group_does_not_delete_accounts"))+"\n ")]):e._e()],2):e._e(),e._v(" "),e.isFetching&&0===e.groups.length?t("div",{staticClass:"has-text-centered"},[t("span",{staticClass:"is-size-4"},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],spin:""}})],1)]):e._e(),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose",to:{name:"accounts",params:{toRefresh:!0}}}},[e._v(e._s(e.$t("commons.close")))])],1)])],1)}),[],!1,null,null,null).exports;function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function Me(){Me=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==je(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Fe(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const ze={data:function(){return{form:new R({name:""})}},methods:{createGroup:function(){var e,t=this;return(e=Me().mark((function e(){return Me().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.form.post("/api/v1/groups");case 2:!1===t.form.errors.any()&&(t.$notify({type:"is-success",text:t.$t("groups.group_successfully_created")}),t.$router.push({name:"groups"}));case 3:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Fe(a,n,o,i,s,"next",e)}function s(e){Fe(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}};const Ue=$(ze,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("groups.forms.new_group")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.createGroup.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"name",inputType:"text",label:e.$t("commons.name"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{submitId:"btnCreateGroup",isBusy:e.form.isBusy,caption:e.$t("commons.create"),showCancelButton:!0,cancelLandingView:"groups"}})],1)])}),[],!1,null,null,null).exports;function Ge(e){return Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ge(e)}function We(){We=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Ge(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function He(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const Ye={data:function(){return{form:new R({name:this.name})}},props:["groupId","name"],methods:{updateGroup:function(){var e,t=this;return(e=We().mark((function e(){return We().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.form.put("/api/v1/groups/"+t.groupId);case 2:!1===t.form.errors.any()&&(t.$notify({type:"is-success",text:t.$t("groups.group_name_saved")}),t.$router.push({name:"groups"}));case 3:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){He(a,n,o,i,s,"next",e)}function s(e){He(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}};const Qe=$(Ye,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("groups.forms.rename_group")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.updateGroup.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"name",inputType:"text",label:e.$t("groups.forms.new_name"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{submitId:"btnEditGroup",isBusy:e.form.isBusy,caption:e.$t("commons.save"),showCancelButton:!0,cancelLandingView:"groups"}})],1)])}),[],!1,null,null,null).exports;function Ke(e){return Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ke(e)}function Ve(e){return function(e){if(Array.isArray(e))return Xe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Xe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xe(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]&&arguments[1];return Uint8Array.from(r?atob(t):e.base64UrlDecode(t),(function(e){return e.charCodeAt(0)}))}},{key:"arrayToBase64String",value:function(e){return btoa(String.fromCharCode.apply(String,Ve(new Uint8Array(e))))}},{key:"base64UrlDecode",value:function(e){var t=(e=e.replace(/-/g,"+").replace(/_/g,"/")).length%4;if(t){if(1===t)throw new Error("InvalidLengthError: Input base64url string is the wrong length to determine padding");e+=new Array(5-t).join("=")}return atob(e)}},{key:"supportsWebAuthn",value:function(){return"undefined"!=typeof PublicKeyCredential}},{key:"doesntSupportWebAuthn",value:function(){return!this.supportsWebAuthn()}}],(r=[{key:"parseIncomingServerOptions",value:function(t){return t.challenge=e.uint8Array(t.challenge),"user"in t&&(t.user=Je(Je({},t.user),{},{id:e.uint8Array(t.user.id)})),["excludeCredentials","allowCredentials"].filter((function(e){return e in t})).forEach((function(r){t[r]=t[r].map((function(t){return Je(Je({},t),{},{id:e.uint8Array(t.id)})}))})),t}},{key:"parseOutgoingCredentials",value:function(t){var r={id:t.id,type:t.type,rawId:e.arrayToBase64String(t.rawId),response:{}};return["clientDataJSON","attestationObject","authenticatorData","signature","userHandle"].filter((function(e){return e in t.response})).forEach((function(n){return r.response[n]=e.arrayToBase64String(t.response[n])})),r}}])&&tt(t.prototype,r),n&&tt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function ot(e){return ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ot(e)}function at(){at=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==ot(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function it(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const st={data:function(){return{isDemo:this.$root.isDemoApp,isTesting:this.$root.isTestingApp,form:new R({email:"",password:""}),isBusy:!1,showWebauthn:this.$root.userPreferences.useWebauthnOnly,csrfRefresher:null,webauthn:new nt}},mounted:function(){this.csrfRefresher=setInterval(this.refreshToken,3e5),this.showWebauthn=this.$storage.get("showWebauthnForm",!1)},methods:{toggleForm:function(){this.showWebauthn=!this.showWebauthn,this.$storage.set("showWebauthnForm",this.showWebauthn)},handleSubmit:function(e){var t=this;e.preventDefault(),this.form.post("/user/login",{returnError:!0}).then((function(e){t.$storage.set("authenticated",!0),t.applyPreferences(e.data.preferences),t.$router.push({name:"accounts",params:{toRefresh:!0}})})).catch((function(e){t.$storage.set("authenticated",!1),401===e.response.status?t.$notify({type:"is-danger",text:t.$t("auth.forms.authentication_failed"),duration:-1}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))},webauthnLogin:function(){var e,t=this;return(e=at().mark((function e(){var r,n,o,a;return at().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.isBusy=!1,window.isSecureContext){e.next=4;break}return t.$notify({type:"is-danger",text:t.$t("errors.https_required")}),e.abrupt("return",!1);case 4:if(!t.webauthn.doesntSupportWebAuthn){e.next=7;break}return t.$notify({type:"is-danger",text:t.$t("errors.browser_does_not_support_webauthn")}),e.abrupt("return",!1);case 7:return e.next=9,t.form.post("/webauthn/login/options").then((function(e){return e.data}));case 9:return r=e.sent,n=t.webauthn.parseIncomingServerOptions(r),e.next=13,navigator.credentials.get({publicKey:n}).catch((function(e){"AbortError"==e.name?t.$notify({type:"is-warning",text:t.$t("errors.aborted_by_user")}):"SecurityError"==e.name?t.$notify({type:"is-danger",text:t.$t("errors.security_error_check_rpid")}):"NotAllowedError"==e.name?t.$notify({type:"is-danger",text:t.$t("errors.not_allowed_operation")}):"NotSupportedError"==e.name?t.$notify({type:"is-danger",text:t.$t("errors.unsupported_operation")}):"InvalidStateError"==e.name?t.$notify({type:"is-danger",text:t.$t("auth.webauthn.unknown_device")}):t.$notify({type:"is-danger",text:t.$t("errors.unknown_error")})}));case 13:if(o=e.sent){e.next=16;break}return e.abrupt("return",!1);case 16:(a=t.webauthn.parseOutgoingCredentials(o)).email=t.form.email,t.axios.post("/webauthn/login",a,{returnError:!0}).then((function(e){t.$storage.set("authenticated",!0),t.applyPreferences(e.data.preferences),t.$router.push({name:"accounts",params:{toRefresh:!0}})})).catch((function(e){t.$storage.set("authenticated",!1),401===e.response.status?t.$notify({type:"is-danger",text:t.$t("auth.forms.authentication_failed"),duration:-1}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})})),t.isBusy=!1;case 20:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){it(a,n,o,i,s,"next",e)}function s(e){it(a,n,o,i,s,"throw",e)}i(void 0)}))})()},refreshToken:function(){this.axios.get("/refresh-csrf")}},beforeRouteEnter:function(e,t,r){e.params.forceRefresh&&null!==t.name?window.location.href="."+e.path:r()},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),clearInterval(this.csrfRefresher),this.$root.appSettings.disableRegistration&&"register"==e.name&&this.$router.push({name:"genericError",params:{err:this.$t("errors.unauthorized_legend")}}),r()}};const ct=$(st,(function(){var e=this,t=e._self._c;return t("div",[e.showWebauthn?t("form-wrapper",{attrs:{title:e.$t("auth.forms.webauthn_login"),punchline:e.$t("auth.welcome_to_2fauth")}},[t("div",{staticClass:"field"},[e._v("\n "+e._s(e.$t("auth.webauthn.use_security_device_to_sign_in"))+"\n ")]),e._v(" "),t("form",{attrs:{id:"frmWebauthnLogin"},on:{submit:function(t){return t.preventDefault(),e.webauthnLogin.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.form.isBusy,caption:e.$t("commons.continue"),submitId:"btnContinue"}})],1),e._v(" "),t("div",{staticClass:"nav-links"},[t("p",[e._v(e._s(e.$t("auth.webauthn.lost_your_device"))+" "),t("router-link",{staticClass:"is-link",attrs:{id:"lnkRecoverAccount",to:{name:"webauthn.lost"}}},[e._v(e._s(e.$t("auth.webauthn.recover_your_account")))])],1),e._v(" "),this.$root.userPreferences.useWebauthnOnly?e._e():t("p",[e._v(e._s(e.$t("auth.sign_in_using"))+" \n "),t("a",{staticClass:"is-link",attrs:{id:"lnkSignWithLegacy",role:"button",tabindex:"0"},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.toggleForm.apply(null,arguments)},click:e.toggleForm}},[e._v(e._s(e.$t("auth.login_and_password")))])])])]):t("form-wrapper",{attrs:{title:e.$t("auth.forms.login"),punchline:e.$t("auth.welcome_to_2fauth")}},[e.isDemo?t("div",{staticClass:"notification is-info has-text-centered is-radiusless",domProps:{innerHTML:e._s(e.$t("auth.forms.welcome_to_demo_app_use_those_credentials"))}}):e._e(),e._v(" "),e.isTesting?t("div",{staticClass:"notification is-warning has-text-centered is-radiusless",domProps:{innerHTML:e._s(e.$t("auth.forms.welcome_to_testing_app_use_those_credentials"))}}):e._e(),e._v(" "),t("form",{attrs:{id:"frmLegacyLogin"},on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),autofocus:""}}),e._v(" "),t("form-password-field",{attrs:{form:e.form,fieldName:"password",label:e.$t("auth.forms.password")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.form.isBusy,caption:e.$t("auth.sign_in"),submitId:"btnSignIn"}})],1),e._v(" "),t("div",{staticClass:"nav-links"},[t("p",[e._v(e._s(e.$t("auth.forms.forgot_your_password"))+" "),t("router-link",{staticClass:"is-link",attrs:{id:"lnkResetPwd",to:{name:"password.request"},"aria-label":e.$t("auth.forms.reset_your_password")}},[e._v(e._s(e.$t("auth.forms.request_password_reset")))])],1),e._v(" "),t("p",[e._v(e._s(e.$t("auth.sign_in_using"))+" \n "),t("a",{staticClass:"is-link",attrs:{id:"lnkSignWithWebauthn",role:"button",tabindex:"0","aria-label":e.$t("auth.sign_in_using_security_device")},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.toggleForm.apply(null,arguments)},click:e.toggleForm}},[e._v(e._s(e.$t("auth.webauthn.security_device")))])]),e._v(" "),0==this.$root.appSettings.disableRegistration?t("p",{staticClass:"mt-4"},[e._v(e._s(e.$t("auth.forms.dont_have_account_yet"))+" "),t("router-link",{staticClass:"is-link",attrs:{id:"lnkRegister",to:{name:"register"}}},[e._v(e._s(e.$t("auth.register")))])],1):e._e()])]),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;function ut(e){return ut="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ut(e)}function lt(){lt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==ut(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function dt(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function pt(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){dt(a,n,o,i,s,"next",e)}function s(e){dt(a,n,o,i,s,"throw",e)}i(void 0)}))}}const ft={data:function(){return{registerForm:new R({name:"",email:"",password:"",password_confirmation:""}),deviceForm:new R({name:""}),showWebauthnRegistration:!1,deviceRegistered:!1,deviceId:null,webauthn:new nt}},methods:{handleRegisterSubmit:function(e){var t=this;return pt(lt().mark((function r(){return lt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:e.preventDefault(),t.registerForm.password_confirmation=t.registerForm.password,t.registerForm.post("/user",{returnError:!0}).then((function(e){t.$storage.set("authenticated",!0),t.showWebauthnRegistration=!0})).catch((function(e){422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}));case 3:case"end":return r.stop()}}),r)})))()},registerWebauthnDevice:function(){var e=this;return pt(lt().mark((function t(){var r,n,o,a;return lt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(window.isSecureContext){t.next=3;break}return e.$notify({type:"is-danger",text:e.$t("errors.https_required")}),t.abrupt("return",!1);case 3:if(!e.webauthn.doesntSupportWebAuthn){t.next=6;break}return e.$notify({type:"is-danger",text:e.$t("errors.browser_does_not_support_webauthn")}),t.abrupt("return",!1);case 6:return t.next=8,e.axios.post("/webauthn/register/options").then((function(e){return e.data}));case 8:return r=t.sent,n=e.webauthn.parseIncomingServerOptions(r),t.prev=10,t.next=13,navigator.credentials.create({publicKey:n});case 13:o=t.sent,t.next=20;break;case 16:return t.prev=16,t.t0=t.catch(10),"AbortError"==t.t0.name?e.$notify({type:"is-warning",text:e.$t("errors.aborted_by_user")}):(t.t0.name,e.$notify({type:"is-danger",text:e.$t("errors.security_device_unsupported")})),t.abrupt("return",!1);case 20:a=e.webauthn.parseOutgoingCredentials(o),e.axios.post("/webauthn/register",a,{returnError:!0}).then((function(t){e.deviceId=a.id,e.deviceRegistered=!0})).catch((function(t){422===t.response.status?e.$notify({type:"is-danger",text:t.response.data.message}):e.$router.push({name:"genericError",params:{err:t.response}})}));case 22:case"end":return t.stop()}}),t,null,[[10,16]])})))()},handleDeviceSubmit:function(e){var t=this;return pt(lt().mark((function e(){return lt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.deviceForm.patch("/webauthn/credentials/"+t.deviceId+"/name");case 2:!1===t.deviceForm.errors.any()&&t.$router.push({name:"accounts",params:{toRefresh:!0}});case 3:case"end":return e.stop()}}),e)})))()}},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),r()}};const ht=$(ft,(function(){var e=this,t=e._self._c;return t("div",[e.showWebauthnRegistration?t("form-wrapper",{attrs:{title:e.$t("auth.authentication"),punchline:e.$t("auth.webauthn.enhance_security_using_webauthn")}},[e.deviceRegistered?t("div",{staticClass:"field"},[t("label",{staticClass:"label mb-5",attrs:{id:"lblDeviceRegistrationSuccess"}},[e._v(e._s(e.$t("auth.webauthn.device_successfully_registered"))+" "),t("font-awesome-icon",{attrs:{icon:["fas","check"]}})],1),e._v(" "),t("form",{on:{submit:function(t){return t.preventDefault(),e.handleDeviceSubmit.apply(null,arguments)},keydown:function(t){return e.deviceForm.onKeydown(t)}}},[t("form-field",{attrs:{form:e.deviceForm,fieldName:"name",inputType:"text",placeholder:"iPhone 12, TouchID, Yubikey 5C",label:e.$t("auth.forms.name_this_device")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.deviceForm.isBusy,isDisabled:e.deviceForm.isDisabled,caption:e.$t("commons.continue")}})],1)]):t("div",{staticClass:"field is-grouped"},[t("div",{staticClass:"control"},[t("button",{staticClass:"button is-link",attrs:{type:"button",id:"btnRegisterNewDevice"},on:{click:function(t){return e.registerWebauthnDevice()}}},[e._v(e._s(e.$t("auth.webauthn.register_a_device")))])]),e._v(" "),t("div",{staticClass:"control"},[t("router-link",{staticClass:"button is-text",attrs:{id:"btnMaybeLater",to:{name:"accounts",params:{toRefresh:!0}}}},[e._v(e._s(e.$t("auth.maybe_later")))])],1)])]):t("form-wrapper",{attrs:{title:e.$t("auth.register"),punchline:e.$t("auth.forms.register_punchline")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleRegisterSubmit.apply(null,arguments)},keydown:function(t){return e.registerForm.onKeydown(t)}}},[t("form-field",{attrs:{form:e.registerForm,fieldName:"name",inputType:"text",label:e.$t("auth.forms.name"),maxLength:255,autofocus:""}}),e._v(" "),t("form-field",{attrs:{form:e.registerForm,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),maxLength:255}}),e._v(" "),t("form-password-field",{attrs:{form:e.registerForm,fieldName:"password",showRules:!0,label:e.$t("auth.forms.password")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.registerForm.isBusy,isDisabled:e.registerForm.isDisabled,caption:e.$t("auth.register"),submitId:"btnRegister"}})],1),e._v(" "),t("div",{staticClass:"nav-links"},[t("p",[e._v(e._s(e.$t("auth.forms.already_register"))+" "),t("router-link",{staticClass:"is-link",attrs:{id:"lnkSignIn",to:{name:"login"}}},[e._v(e._s(e.$t("auth.sign_in")))])],1)])]),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;const mt=$({data:function(){return{}},mounted:function(){this.axios.get("/user/logout",{returnError:!0}).catch((function(e){})),this.clearStorage()}},(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.autolock_triggered"),punchline:e.$t("auth.autolock_triggered_punchline")}},[t("p",[e._v(e._s(e.$t("auth.change_autolock_in_settings")))]),e._v(" "),t("div",{staticClass:"nav-links"},[t("p",[t("router-link",{staticClass:"button is-link",attrs:{to:{name:"login",params:{forceRefresh:!0}}}},[e._v(e._s(e.$t("auth.sign_in")))])],1)]),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;const vt={data:function(){return{form:new R({email:""})}},methods:{handleSubmit:function(e){var t=this;e.preventDefault(),this.form.post("/user/password/lost",{returnError:!0}).then((function(e){t.$notify({type:"is-success",text:e.data.message,duration:-1})})).catch((function(e){e.response.data.requestFailed?t.$notify({type:"is-danger",text:e.response.data.requestFailed,duration:-1}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))}},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),r()}};const gt=$(vt,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.forms.reset_password"),punchline:e.$t("auth.forms.reset_punchline")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{submitId:"btnSendResetPwd",isBusy:e.form.isBusy,caption:e.$t("auth.forms.send_password_reset_link"),showCancelButton:!0,cancelLandingView:"login"}})],1),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;const _t={data:function(){return{pending:!0,form:new R({email:"",password:"",password_confirmation:"",token:""})}},created:function(){this.form.email=this.$route.query.email,this.form.token=this.$route.query.token},methods:{handleSubmit:function(e){var t=this;e.preventDefault(),this.form.password_confirmation=this.form.password,this.form.post("/user/password/reset",{returnError:!0}).then((function(e){t.pending=!1,t.$notify({type:"is-success",text:e.data.message,duration:-1})})).catch((function(e){e.response.data.resetFailed?t.$notify({type:"is-danger",text:e.response.data.resetFailed,duration:-1}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))}},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),r()}};const bt=$(_t,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.forms.new_password")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),isDisabled:!0,readonly:""}}),e._v(" "),t("form-password-field",{attrs:{form:e.form,fieldName:"password",autocomplete:"new-password",showRules:!0,label:e.$t("auth.forms.new_password")}}),e._v(" "),t("field-error",{attrs:{form:e.form,field:"token"}}),e._v(" "),e.pending?t("form-buttons",{attrs:{isBusy:e.form.isBusy,caption:e.$t("auth.forms.change_password"),showCancelButton:!0,cancelLandingView:"login"}}):e._e(),e._v(" "),e.pending?e._e():t("router-link",{staticClass:"button is-link",attrs:{id:"btnContinue",to:{name:"accounts"}}},[e._v(e._s(e.$t("commons.continue")))])],1),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;const yt={data:function(){return{form:new R({email:""})}},methods:{handleSubmit:function(e){var t=this;e.preventDefault(),this.form.post("/webauthn/lost",{returnError:!0}).then((function(e){t.$notify({type:"is-success",text:e.data.message,duration:-1})})).catch((function(e){e.response.data.requestFailed?t.$notify({type:"is-danger",text:e.response.data.requestFailed,duration:-1}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))}},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),r()}};const wt=$(yt,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.webauthn.account_recovery"),punchline:e.$t("auth.webauthn.recovery_punchline")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.handleSubmit.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.form.isBusy,caption:e.$t("auth.webauthn.send_recovery_link"),showCancelButton:!0,cancelLandingView:"login"}})],1),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;const kt={data:function(){return{currentPassword:"",deviceRegistered:!1,deviceId:null,form:new R({email:"",password:"",token:"",revokeAll:!1})}},created:function(){this.form.email=this.$route.query.email,this.form.token=this.$route.query.token},methods:{recover:function(){var e=this;this.form.post("/webauthn/recover",{returnError:!0}).then((function(t){e.$router.push({name:"login",params:{forceRefresh:!0}})})).catch((function(t){401===t.response.status?e.$notify({type:"is-danger",text:e.$t("auth.forms.authentication_failed"),duration:-1}):422===t.response.status?e.$notify({type:"is-danger",text:t.response.data.message}):e.$router.push({name:"genericError",params:{err:t.response}})}))}},beforeRouteLeave:function(e,t,r){this.$notify({clean:!0}),r()}};const xt=$(kt,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.webauthn.account_recovery"),punchline:e.$t("auth.webauthn.recover_account_instructions")}},[t("div",[t("form",{on:{submit:function(t){return t.preventDefault(),e.recover.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-checkbox",{attrs:{form:e.form,fieldName:"revokeAll",label:e.$t("auth.webauthn.disable_all_security_devices"),help:e.$t("auth.webauthn.disable_all_security_devices_help")}}),e._v(" "),t("form-password-field",{attrs:{form:e.form,autocomplete:"current-password",fieldName:"password",label:e.$t("auth.forms.current_password.label"),help:e.$t("auth.forms.current_password.help")}}),e._v(" "),t("div",{staticClass:"field"},[t("p",[e._v(e._s(e.$t("auth.forms.forgot_your_password"))+" "),t("router-link",{staticClass:"is-link",attrs:{id:"lnkResetPwd",to:{name:"password.request"},"aria-label":e.$t("auth.forms.reset_your_password")}},[e._v(e._s(e.$t("auth.forms.request_password_reset")))])],1)]),e._v(" "),t("form-buttons",{attrs:{caption:e.$t("commons.continue"),cancelLandingView:"login",showCancelButton:!0,isBusy:e.form.isBusy,isDisabled:e.form.isDisabled,submitId:"btnRecover"}})],1)]),e._v(" "),t("vue-footer")],1)}),[],!1,null,null,null).exports;function Ct(e){return Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ct(e)}function Pt(){Pt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Ct(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function At(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const Tt={name:"VersionChecker",data:function(){return{isScanning:!1,isUpToDate:null}},methods:{getLatestRelease:function(){var e,t=this;return(e=Pt().mark((function e(){return Pt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.isScanning=!0,e.next=3,t.axios.get("/latestRelease").then((function(e){t.$root.appSettings.latestRelease=e.data.newRelease,t.isUpToDate=!1===e.data.newRelease}));case 3:t.isScanning=!1;case 4:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){At(a,n,o,i,s,"next",e)}function s(e){At(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}};function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function Et(){Et=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==St(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Ot(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function Bt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return Lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lt(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw a}}}}function Lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&e.groups.push({text:t.name,value:t.id})}))}))}},beforeRouteLeave:function(e,t,r){"accounts"==e.name&&this.$notify({clean:!0}),r()}};const Dt=$(It,(function(){var e=this,t=e._self._c;return t("div",[t("setting-tabs",{attrs:{activeTab:"settings.options"}}),e._v(" "),t("div",{staticClass:"options-tabs"},[t("form-wrapper",[t("form",[t("input",{attrs:{type:"hidden",name:"isReady",id:"isReady"},domProps:{value:e.isReady}}),e._v(" "),t("div",{staticClass:"block"},[t("h4",{staticClass:"title is-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.general")))]),e._v(" "),t("form-select",{attrs:{options:e.langs,form:e.preferencesForm,fieldName:"lang",label:e.$t("settings.forms.language.label"),help:e.$t("settings.forms.language.help")},on:{lang:function(t){return e.savePreference("lang",t)}}}),e._v(" "),t("div",{staticClass:"field help"},[e._v("\n "+e._s(e.$t("settings.forms.some_translation_are_missing"))+"\n "),t("a",{staticClass:"ml-2",attrs:{href:"https://crowdin.com/project/2fauth"}},[e._v("\n "+e._s(e.$t("settings.forms.help_translate_2fauth"))+"\n "),t("font-awesome-icon",{attrs:{icon:["fas","external-link-alt"]}})],1)]),e._v(" "),t("form-toggle",{attrs:{choices:e.layouts,form:e.preferencesForm,fieldName:"displayMode",label:e.$t("settings.forms.display_mode.label"),help:e.$t("settings.forms.display_mode.help")},on:{displayMode:function(t){return e.savePreference("displayMode",t)}}}),e._v(" "),t("form-toggle",{attrs:{choices:e.themes,form:e.preferencesForm,fieldName:"theme",label:e.$t("settings.forms.theme.label"),help:e.$t("settings.forms.theme.help")},on:{theme:function(t){return e.savePreference("theme",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"showAccountsIcons",label:e.$t("settings.forms.show_accounts_icons.label"),help:e.$t("settings.forms.show_accounts_icons.help")},on:{showAccountsIcons:function(t){return e.savePreference("showAccountsIcons",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"getOfficialIcons",label:e.$t("settings.forms.get_official_icons.label"),help:e.$t("settings.forms.get_official_icons.help")},on:{getOfficialIcons:function(t){return e.savePreference("getOfficialIcons",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"formatPassword",label:e.$t("settings.forms.password_format.label"),help:e.$t("settings.forms.password_format.help")},on:{formatPassword:function(t){return e.savePreference("formatPassword",t)}}}),e._v(" "),e.preferencesForm.formatPassword?t("form-toggle",{attrs:{choices:e.passwordFormats,form:e.preferencesForm,fieldName:"formatPasswordBy"},on:{formatPasswordBy:function(t){return e.savePreference("formatPasswordBy",t)}}}):e._e(),e._v(" "),t("h4",{staticClass:"title is-4 pt-4 has-text-grey-light"},[e._v(e._s(e.$t("groups.groups")))]),e._v(" "),t("form-select",{attrs:{options:e.groups,form:e.preferencesForm,fieldName:"defaultGroup",label:e.$t("settings.forms.default_group.label"),help:e.$t("settings.forms.default_group.help")},on:{defaultGroup:function(t){return e.savePreference("defaultGroup",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"rememberActiveGroup",label:e.$t("settings.forms.remember_active_group.label"),help:e.$t("settings.forms.remember_active_group.help")},on:{rememberActiveGroup:function(t){return e.savePreference("rememberActiveGroup",t)}}}),e._v(" "),t("h4",{staticClass:"title is-4 pt-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.security")))]),e._v(" "),t("form-select",{attrs:{options:e.kickUserAfters,form:e.preferencesForm,fieldName:"kickUserAfter",label:e.$t("settings.forms.auto_lock.label"),help:e.$t("settings.forms.auto_lock.help")},on:{kickUserAfter:function(t){return e.savePreference("kickUserAfter",t)}}}),e._v(" "),t("form-toggle",{attrs:{choices:e.getOtpTriggers,form:e.preferencesForm,fieldName:"getOtpOnRequest",label:e.$t("settings.forms.otp_generation.label"),help:e.$t("settings.forms.otp_generation.help")},on:{getOtpOnRequest:function(t){return e.savePreference("getOtpOnRequest",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"showOtpAsDot",label:e.$t("settings.forms.show_otp_as_dot.label"),help:e.$t("settings.forms.show_otp_as_dot.help")},on:{showOtpAsDot:function(t){return e.savePreference("showOtpAsDot",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"closeOtpOnCopy",label:e.$t("settings.forms.close_otp_on_copy.label"),help:e.$t("settings.forms.close_otp_on_copy.help"),disabled:!e.preferencesForm.getOtpOnRequest},on:{closeOtpOnCopy:function(t){return e.savePreference("closeOtpOnCopy",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"copyOtpOnDisplay",label:e.$t("settings.forms.copy_otp_on_display.label"),help:e.$t("settings.forms.copy_otp_on_display.help"),disabled:!e.preferencesForm.getOtpOnRequest},on:{copyOtpOnDisplay:function(t){return e.savePreference("copyOtpOnDisplay",t)}}}),e._v(" "),t("h4",{staticClass:"title is-4 pt-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.data_input")))]),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"useBasicQrcodeReader",label:e.$t("settings.forms.use_basic_qrcode_reader.label"),help:e.$t("settings.forms.use_basic_qrcode_reader.help")},on:{useBasicQrcodeReader:function(t){return e.savePreference("useBasicQrcodeReader",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.preferencesForm,fieldName:"useDirectCapture",label:e.$t("settings.forms.useDirectCapture.label"),help:e.$t("settings.forms.useDirectCapture.help")},on:{useDirectCapture:function(t){return e.savePreference("useDirectCapture",t)}}}),e._v(" "),t("form-select",{attrs:{options:e.captureModes,form:e.preferencesForm,fieldName:"defaultCaptureMode",label:e.$t("settings.forms.defaultCaptureMode.label"),help:e.$t("settings.forms.defaultCaptureMode.help")},on:{defaultCaptureMode:function(t){return e.savePreference("defaultCaptureMode",t)}}})],1),e._v(" "),e.settingsForm?t("div",[t("h4",{staticClass:"title is-4 pt-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.administration")))]),e._v(" "),t("div",{staticClass:"is-size-7-mobile block",domProps:{innerHTML:e._s(e.$t("settings.administration_legend"))}}),e._v(" "),t("form-checkbox",{attrs:{form:e.settingsForm,fieldName:"checkForUpdate",label:e.$t("commons.check_for_update"),help:e.$t("commons.check_for_update_help")},on:{checkForUpdate:function(t){return e.saveSetting("checkForUpdate",t)}}}),e._v(" "),t("version-checker"),e._v(" "),t("form-checkbox",{attrs:{form:e.settingsForm,fieldName:"useEncryption",label:e.$t("settings.forms.use_encryption.label"),help:e.$t("settings.forms.use_encryption.help")},on:{useEncryption:function(t){return e.saveSetting("useEncryption",t)}}}),e._v(" "),t("form-checkbox",{attrs:{form:e.settingsForm,fieldName:"disableRegistration",label:e.$t("settings.forms.disable_registration.label"),help:e.$t("settings.forms.disable_registration.help")},on:{disableRegistration:function(t){return e.saveSetting("disableRegistration",t)}}})],1):e._e()])])],1),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose",to:{path:e.$route.params.returnTo,params:{toRefresh:!1}},tabindex:"0",role:"button","aria-label":e.$t("commons.close_the_x_page",{pagetitle:e.$router.currentRoute.meta.title})}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])],1)])],1)}),[],!1,null,null,null).exports;function Rt(e){return Rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Rt(e)}function $t(){$t=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Rt(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Nt(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const qt={data:function(){return{formProfile:new R({name:"",email:"",password:""}),formPassword:new R({currentPassword:"",password:"",password_confirmation:""}),formDelete:new R({password:""}),isRemoteUser:this.$root.appConfig.proxyAuth,isAdmin:!1}},mounted:function(){var e,t=this;return(e=$t().mark((function e(){var r,n;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.formProfile.get("/api/v1/user");case 2:r=e.sent,!0===(n=r.data).is_admin&&(t.isAdmin=!0),t.formProfile.fill(n);case 6:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Nt(a,n,o,i,s,"next",e)}function s(e){Nt(a,n,o,i,s,"throw",e)}i(void 0)}))})()},methods:{submitProfile:function(e){var t=this;e.preventDefault(),this.formProfile.put("/user",{returnError:!0}).then((function(e){t.$notify({type:"is-success",text:t.$t("auth.forms.profile_saved")})})).catch((function(e){400===e.response.status?t.$notify({type:"is-danger",text:e.response.data.message}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))},submitPassword:function(e){var t=this;e.preventDefault(),this.formPassword.patch("/user/password",{returnError:!0}).then((function(e){t.$notify({type:"is-success",text:e.data.message})})).catch((function(e){400===e.response.status?t.$notify({type:"is-danger",text:e.response.data.message}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))},submitDelete:function(e){var t=this;e.preventDefault(),confirm(this.$t("auth.confirm.delete_account"))&&this.formDelete.delete("/user",{returnError:!0}).then((function(e){t.$notify({type:"is-success",text:t.$t("auth.forms.user_account_successfully_deleted")}),t.$router.push({name:"register"})})).catch((function(e){400===e.response.status?t.$notify({type:"is-danger",text:e.response.data.message}):422!==e.response.status&&t.$router.push({name:"genericError",params:{err:e.response}})}))}},beforeRouteLeave:function(e,t,r){"accounts"==e.name&&this.$notify({clean:!0}),r()}};const jt=$(qt,(function(){var e=this,t=e._self._c;return t("div",[t("setting-tabs",{attrs:{activeTab:"settings.account"}}),e._v(" "),t("div",{staticClass:"options-tabs"},[t("form-wrapper",[e.isAdmin?t("div",{staticClass:"notification is-warning"},[e._v("\n "+e._s(e.$t("settings.you_are_administrator"))+"\n ")]):e._e(),e._v(" "),t("form",{on:{submit:function(t){return t.preventDefault(),e.submitProfile.apply(null,arguments)},keydown:function(t){return e.formProfile.onKeydown(t)}}},[e.isRemoteUser?t("div",{staticClass:"notification is-warning has-text-centered",domProps:{innerHTML:e._s(e.$t("auth.user_account_controlled_by_proxy"))}}):e._e(),e._v(" "),t("h4",{staticClass:"title is-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.profile")))]),e._v(" "),t("fieldset",{attrs:{disabled:e.isRemoteUser}},[t("form-field",{attrs:{form:e.formProfile,fieldName:"name",label:e.$t("auth.forms.name"),maxLength:255,autofocus:""}}),e._v(" "),t("form-field",{attrs:{form:e.formProfile,fieldName:"email",inputType:"email",label:e.$t("auth.forms.email"),maxLength:255}}),e._v(" "),t("form-field",{attrs:{form:e.formProfile,fieldName:"password",inputType:"password",label:e.$t("auth.forms.current_password.label"),help:e.$t("auth.forms.current_password.help")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.formProfile.isBusy,caption:e.$t("commons.update")}})],1)]),e._v(" "),t("form",{on:{submit:function(t){return t.preventDefault(),e.submitPassword.apply(null,arguments)},keydown:function(t){return e.formPassword.onKeydown(t)}}},[t("h4",{staticClass:"title is-4 pt-6 has-text-grey-light"},[e._v(e._s(e.$t("settings.change_password")))]),e._v(" "),t("fieldset",{attrs:{disabled:e.isRemoteUser}},[t("form-password-field",{attrs:{form:e.formPassword,fieldName:"password",autocomplete:"new-password",showRules:!0,label:e.$t("auth.forms.new_password")}}),e._v(" "),t("form-field",{attrs:{form:e.formPassword,fieldName:"password_confirmation",inputType:"password",autocomplete:"new-password",label:e.$t("auth.forms.confirm_new_password")}}),e._v(" "),t("form-field",{attrs:{form:e.formPassword,fieldName:"currentPassword",inputType:"password",label:e.$t("auth.forms.current_password.label"),help:e.$t("auth.forms.current_password.help")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.formPassword.isBusy,caption:e.$t("auth.forms.change_password")}})],1)]),e._v(" "),t("form",{attrs:{id:"frmDeleteAccount"},on:{submit:function(t){return t.preventDefault(),e.submitDelete.apply(null,arguments)},keydown:function(t){return e.formDelete.onKeydown(t)}}},[t("h4",{staticClass:"title is-4 pt-6 has-text-danger"},[e._v(e._s(e.$t("auth.forms.delete_account")))]),e._v(" "),t("div",{staticClass:"field is-size-7-mobile"},[e._v("\n "+e._s(e.$t("auth.forms.delete_your_account_and_reset_all_data"))+"\n ")]),e._v(" "),t("fieldset",{attrs:{disabled:e.isRemoteUser}},[t("form-field",{attrs:{form:e.formDelete,fieldName:"password",inputType:"password",label:e.$t("auth.forms.current_password.label"),help:e.$t("auth.forms.current_password.help")}}),e._v(" "),t("form-buttons",{attrs:{isBusy:e.formDelete.isBusy,caption:e.$t("auth.forms.delete_your_account"),submitId:"btnDeleteAccount",color:"is-danger"}})],1)])])],1),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose",to:{path:e.$route.params.returnTo,params:{toRefresh:!1}},tabindex:"0",role:"button","aria-label":e.$t("commons.close_the_x_page",{pagetitle:e.$router.currentRoute.meta.title})}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])],1)])],1)}),[],!1,null,null,null).exports;function Mt(e){return Mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mt(e)}function Ft(){Ft=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Mt(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function zt(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function Ut(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){zt(a,n,o,i,s,"next",e)}function s(e){zt(a,n,o,i,s,"throw",e)}i(void 0)}))}}const Gt={data:function(){return{tokens:[],isFetching:!1,form:new R({token:""}),isRemoteUser:!1}},mounted:function(){this.fetchTokens()},methods:{fetchTokens:function(){var e=this;return Ut(Ft().mark((function t(){return Ft().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.isFetching=!0,t.next=3,e.axios.get("/oauth/personal-access-tokens",{returnError:!0}).then((function(t){var r=[];t.data.forEach((function(t){t.id===e.$route.params.token_id?(t.value=e.$route.params.accessToken,r.unshift(t)):r.push(t)})),e.tokens=r})).catch((function(t){400===t.response.status?e.isRemoteUser=!0:e.$router.push({name:"genericError",params:{err:t.response}})}));case 3:e.isFetching=!1;case 4:case"end":return t.stop()}}),t)})))()},clipboardSuccessHandler:function(e){e.value,e.event;this.$notify({type:"is-success",text:this.$t("commons.copied_to_clipboard")})},clipboardErrorHandler:function(e){var t=e.value;e.event;console.log("error",t)},revokeToken:function(e){var t=this;return Ut(Ft().mark((function r(){return Ft().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!confirm(t.$t("settings.confirm.revoke"))){r.next=3;break}return r.next=3,t.axios.delete("/oauth/personal-access-tokens/"+e).then((function(r){t.tokens=t.tokens.filter((function(t){return t.id!==e})),t.$notify({type:"is-success",text:t.$t("settings.token_revoked")})}));case 3:case"end":return r.stop()}}),r)})))()},createToken:function(){this.isRemoteUser?this.$notify({type:"is-warning",text:this.$t("errors.unsupported_with_reverseproxy")}):this.$router.push({name:"settings.oauth.generatePAT"})}},beforeRouteLeave:function(e,t,r){"accounts"==e.name&&this.$notify({clean:!0}),r()}};const Wt=$(Gt,(function(){var e=this,t=e._self._c;return t("div",[t("setting-tabs",{attrs:{activeTab:"settings.oauth.tokens"}}),e._v(" "),t("div",{staticClass:"options-tabs"},[t("form-wrapper",[e.isRemoteUser?t("div",{staticClass:"notification is-warning has-text-centered",domProps:{innerHTML:e._s(e.$t("auth.auth_handled_by_proxy"))}}):e._e(),e._v(" "),t("h4",{staticClass:"title is-4 has-text-grey-light"},[e._v(e._s(e.$t("settings.personal_access_tokens")))]),e._v(" "),t("div",{staticClass:"is-size-7-mobile"},[e._v("\n "+e._s(e.$t("settings.token_legend"))+"\n ")]),e._v(" "),t("div",{staticClass:"mt-3"},[t("a",{staticClass:"is-link",attrs:{tabindex:"0"},on:{click:e.createToken,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.createToken.apply(null,arguments)}}},[t("font-awesome-icon",{attrs:{icon:["fas","plus-circle"]}}),e._v(" "+e._s(e.$t("settings.generate_new_token"))+"\n ")],1)]),e._v(" "),e.tokens.length>0?t("div",[e._l(e.tokens,(function(r){return t("div",{key:r.id,staticClass:"group-item is-size-5 is-size-6-mobile"},[r.value?t("font-awesome-icon",{staticClass:"has-text-success",attrs:{icon:["fas","check"]}}):e._e(),e._v(" "+e._s(r.name)+"\n "),e._v(" "),t("div",{staticClass:"tags is-pulled-right"},[r.value?t("button",{directives:[{name:"clipboard",rawName:"v-clipboard",value:function(){return r.value},expression:"() => token.value"},{name:"clipboard",rawName:"v-clipboard:success",value:e.clipboardSuccessHandler,expression:"clipboardSuccessHandler",arg:"success"}],staticClass:"button tag",class:{"is-link":!e.$root.showDarkMode}},[e._v(e._s(e.$t("commons.copy")))]):e._e(),e._v(" "),t("button",{staticClass:"button tag",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{title:e.$t("settings.revoke")},on:{click:function(t){return e.revokeToken(r.id)}}},[e._v(e._s(e.$t("settings.revoke")))])]),e._v(" "),r.value?t("span",{staticClass:"is-size-7-mobile is-size-6 my-3"},[e._v("\n "+e._s(e.$t("settings.make_sure_copy_token"))+"\n ")]):e._e(),e._v(" "),r.value?t("span",{staticClass:"pat is-family-monospace is-size-6 is-size-7-mobile has-text-success"},[e._v("\n "+e._s(r.value)+"\n ")]):e._e()],1)})),e._v(" "),t("div",{staticClass:"mt-2 is-size-7 is-pulled-right"},[e._v("\n "+e._s(e.$t("settings.revoking_a_token_is_permanent"))+"\n ")])],2):e._e(),e._v(" "),e.isFetching&&0===e.tokens.length?t("div",{staticClass:"has-text-centered mt-6"},[t("span",{staticClass:"is-size-4",attrs:{id:"icnSpinner"}},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],spin:""}})],1)]):e._e(),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose",to:{path:e.$route.params.returnTo,params:{toRefresh:!1}},tabindex:"0",role:"button","aria-label":e.$t("commons.close_the_x_page",{pagetitle:e.$router.currentRoute.meta.title})}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])],1)])],1)],1)],1)}),[],!1,null,null,null).exports;function Ht(e){return Ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ht(e)}function Yt(){Yt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Ht(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function Qt(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function Kt(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){Qt(a,n,o,i,s,"next",e)}function s(e){Qt(a,n,o,i,s,"throw",e)}i(void 0)}))}}const Vt={data:function(){return{form:new R({useWebauthnOnly:null}),credentials:[],isFetching:!1,isRemoteUser:!1,webauthn:new nt}},mounted:function(){var e=this;return Kt(Yt().mark((function t(){var r,n;return Yt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.form.get("/api/v1/user/preferences");case 2:r=t.sent,n=r.data,e.form.fillWithKeyValueObject(n),e.form.setOriginal(),e.fetchCredentials();case 7:case"end":return t.stop()}}),t)})))()},methods:{savePreference:function(e,t){var r=this;this.axios.put("/api/v1/user/preferences/"+e,{value:t}).then((function(e){r.$notify({type:"is-success",text:r.$t("settings.forms.setting_saved")}),r.$root.userPreferences[e.data.key]=e.data.value}))},fetchCredentials:function(){var e=this;return Kt(Yt().mark((function t(){return Yt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.isFetching=!0,t.next=3,e.axios.get("/webauthn/credentials",{returnError:!0}).then((function(t){e.credentials=t.data})).catch((function(t){400===t.response.status?e.isRemoteUser=!0:e.$router.push({name:"genericError",params:{err:t.response}})}));case 3:e.isFetching=!1;case 4:case"end":return t.stop()}}),t)})))()},register:function(){var e=this;return Kt(Yt().mark((function t(){var r,n,o,a;return Yt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.isRemoteUser){t.next=3;break}return e.$notify({type:"is-warning",text:e.$t("errors.unsupported_with_reverseproxy")}),t.abrupt("return",!1);case 3:if(window.isSecureContext){t.next=6;break}return e.$notify({type:"is-danger",text:e.$t("errors.https_required")}),t.abrupt("return",!1);case 6:if(!e.webauthn.doesntSupportWebAuthn){t.next=9;break}return e.$notify({type:"is-danger",text:e.$t("errors.browser_does_not_support_webauthn")}),t.abrupt("return",!1);case 9:return t.next=11,e.axios.post("/webauthn/register/options").then((function(e){return e.data}));case 11:return r=t.sent,n=e.webauthn.parseIncomingServerOptions(r),t.prev=13,t.next=16,navigator.credentials.create({publicKey:n});case 16:o=t.sent,t.next=23;break;case 19:return t.prev=19,t.t0=t.catch(13),"AbortError"==t.t0.name?e.$notify({type:"is-warning",text:e.$t("errors.aborted_by_user")}):"SecurityError"==t.t0.name?e.$notify({type:"is-danger",text:e.$t("errors.security_error_check_rpid")}):"InvalidStateError"==t.t0.name?e.$notify({type:"is-danger",text:e.$t("errors.security_device_unsupported")}):"NotAllowedError"==t.t0.name?e.$notify({type:"is-danger",text:e.$t("errors.not_allowed_operation")}):"NotSupportedError"==t.t0.name&&e.$notify({type:"is-danger",text:e.$t("errors.unsupported_operation")}),t.abrupt("return",!1);case 23:a=e.webauthn.parseOutgoingCredentials(o),e.axios.post("/webauthn/register",a,{returnError:!0}).then((function(t){e.$router.push({name:"settings.webauthn.editCredential",params:{credentialId:a.id,name:e.$t("auth.webauthn.my_device")}})})).catch((function(t){422===t.response.status?e.$notify({type:"is-danger",text:t.response.data.message}):e.$router.push({name:"genericError",params:{err:t.response}})}));case 25:case"end":return t.stop()}}),t,null,[[13,19]])})))()},revokeCredential:function(e){var t=this;return Kt(Yt().mark((function r(){return Yt().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!confirm(t.$t("auth.confirm.revoke_device"))){r.next=3;break}return r.next=3,t.axios.delete("/webauthn/credentials/"+e).then((function(r){t.credentials=t.credentials.filter((function(t){return t.id!==e})),0==t.credentials.length&&(t.form.useWebauthnOnly=!1,t.$root.userPreferences.useWebauthnOnly=!1),t.$notify({type:"is-success",text:t.$t("auth.webauthn.device_revoked")})}));case 3:case"end":return r.stop()}}),r)})))()},displayName:function(e){return e.alias?e.alias:this.$t("auth.webauthn.my_device")+" (#"+e.id.substring(0,10)+")"}},beforeRouteLeave:function(e,t,r){"accounts"==e.name&&this.$notify({clean:!0}),r()}};const Xt=$(Vt,(function(){var e=this,t=e._self._c;return t("div",[t("setting-tabs",{attrs:{activeTab:"settings.webauthn.devices"}}),e._v(" "),t("div",{staticClass:"options-tabs"},[t("form-wrapper",[e.isRemoteUser?t("div",{staticClass:"notification is-warning has-text-centered",domProps:{innerHTML:e._s(e.$t("auth.auth_handled_by_proxy"))}}):e._e(),e._v(" "),t("h4",{staticClass:"title is-4 has-text-grey-light"},[e._v(e._s(e.$t("auth.webauthn.security_devices")))]),e._v(" "),t("div",{staticClass:"is-size-7-mobile"},[e._v("\n "+e._s(e.$t("auth.webauthn.security_devices_legend"))+"\n ")]),e._v(" "),t("div",{staticClass:"mt-3"},[t("a",{attrs:{tabindex:"0"},on:{click:e.register,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.register.apply(null,arguments)}}},[t("font-awesome-icon",{attrs:{icon:["fas","plus-circle"]}}),e._v(" "+e._s(e.$t("auth.webauthn.register_a_new_device"))+"\n ")],1)]),e._v(" "),e.credentials.length>0?t("div",{staticClass:"field"},[e._l(e.credentials,(function(r){return t("div",{key:r.id,staticClass:"group-item is-size-5 is-size-6-mobile"},[e._v("\n "+e._s(e.displayName(r))+"\n "),e._v(" "),t("button",{staticClass:"button tag is-pulled-right",class:e.$root.showDarkMode?"is-dark":"is-white",attrs:{title:e.$t("settings.revoke")},on:{click:function(t){return e.revokeCredential(r.id)}}},[e._v("\n "+e._s(e.$t("settings.revoke"))+"\n ")])])})),e._v(" "),t("div",{staticClass:"mt-2 is-size-7 is-pulled-right"},[e._v("\n "+e._s(e.$t("auth.webauthn.revoking_a_device_is_permanent"))+"\n ")])],2):e._e(),e._v(" "),e.isFetching&&0===e.credentials.length?t("div",{staticClass:"has-text-centered mt-6"},[t("span",{staticClass:"is-size-4",attrs:{id:"icnSpinner"}},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],spin:""}})],1)]):e._e(),e._v(" "),t("h4",{staticClass:"title is-4 pt-6 has-text-grey-light"},[e._v(e._s(e.$t("settings.options")))]),e._v(" "),t("div",{staticClass:"field"},[e._v("\n "+e._s(e.$t("auth.webauthn.need_a_security_device_to_enable_options"))+"\n ")]),e._v(" "),t("form",[t("form-checkbox",{attrs:{form:e.form,fieldName:"useWebauthnOnly",label:e.$t("auth.webauthn.use_webauthn_only.label"),help:e.$t("auth.webauthn.use_webauthn_only.help"),disabled:e.isRemoteUser||0===e.credentials.length},on:{useWebauthnOnly:function(t){return e.savePreference("useWebauthnOnly",t)}}})],1),e._v(" "),t("vue-footer",{attrs:{showButtons:!0}},[t("p",{staticClass:"control"},[t("router-link",{staticClass:"button is-rounded",class:{"is-dark":e.$root.showDarkMode},attrs:{id:"btnClose",to:{path:e.$route.params.returnTo,params:{toRefresh:!1}},tabindex:"0",role:"button","aria-label":e.$t("commons.close_the_x_page",{pagetitle:e.$router.currentRoute.meta.title})}},[e._v("\n "+e._s(e.$t("commons.close"))+"\n ")])],1)])],1)],1)],1)}),[],!1,null,null,null).exports;function Zt(e){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zt(e)}function Jt(){Jt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==Zt(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function er(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const tr={data:function(){return{form:new R({name:this.name})}},props:["credentialId","name"],methods:{updateCredential:function(){var e,t=this;return(e=Jt().mark((function e(){return Jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.form.patch("/webauthn/credentials/"+t.credentialId+"/name");case 2:!1===t.form.errors.any()&&(t.$notify({type:"is-success",text:t.$t("auth.webauthn.device_successfully_registered")}),t.$router.push({name:"settings.webauthn.devices",params:{toRefresh:!0}}));case 3:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){er(a,n,o,i,s,"next",e)}function s(e){er(a,n,o,i,s,"throw",e)}i(void 0)}))})()},cancelCreation:function(){this.$router.push({name:"settings.webauthn.devices"})}}};const rr=$(tr,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("auth.webauthn.rename_device")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.updateCredential.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"name",inputType:"text",label:e.$t("commons.new_name"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{submitId:"btnEditCredential",isBusy:e.form.isBusy,caption:e.$t("commons.save"),showCancelButton:!0,cancelLandingView:"settings.webauthn.devices"}})],1)])}),[],!1,null,null,null).exports;function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}function or(){or=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==nr(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function ar(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const ir={data:function(){return{form:new R({name:""})}},methods:{generatePAToken:function(){var e,t=this;return(e=or().mark((function e(){var r,n;return or().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.form.post("/oauth/personal-access-tokens");case 2:r=e.sent,n=r.data,!1===t.form.errors.any()&&t.$router.push({name:"settings.oauth.tokens",params:{accessToken:n.accessToken,token_id:n.token.id}});case 5:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){ar(a,n,o,i,s,"next",e)}function s(e){ar(a,n,o,i,s,"throw",e)}i(void 0)}))})()}}};const sr=$(ir,(function(){var e=this,t=e._self._c;return t("form-wrapper",{attrs:{title:e.$t("settings.forms.new_token")}},[t("form",{on:{submit:function(t){return t.preventDefault(),e.generatePAToken.apply(null,arguments)},keydown:function(t){return e.form.onKeydown(t)}}},[t("form-field",{attrs:{form:e.form,fieldName:"name",inputType:"text",label:e.$t("commons.name"),autofocus:""}}),e._v(" "),t("form-buttons",{attrs:{submitId:"btnGenerateToken",isBusy:e.form.isBusy,caption:e.$t("commons.generate"),showCancelButton:!0,cancelLandingView:"settings.oauth.tokens"}})],1)])}),[],!1,null,null,null).exports;const cr={data:function(){return{ShowModal:!0,showcloseButton:this.closable}},computed:{debugMode:function(){return"production"},error:function(){return null!==this.err&&void 0!==this.err&&(407===this.err.status?{message:this.$t("errors.auth_proxy_failed"),originalMessage:this.$t("errors.auth_proxy_failed_legend")}:403===this.err.status?{message:this.$t("errors.unauthorized"),originalMessage:this.$t("errors.unauthorized_legend")}:this.err.data?this.err.data:{message:this.err})}},props:{err:[String,Object],closable:{type:Boolean,default:!0}},components:{Modal:U},mounted:function(){this.$on("modalClose",(function(){window.history.length>1?this.$router.go(-1):this.$router.push({name:"accounts "})}))},beforeRouteEnter:function(e,t,r){r((function(r){t.params.returnTo&&(e.params.returnTo=t.params.returnTo)}))}};const ur=$(cr,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"error-message"},[t("modal",{attrs:{closable:this.showcloseButton},model:{value:e.ShowModal,callback:function(t){e.ShowModal=t},expression:"ShowModal"}},["404"==e.$route.name?t("div",{staticClass:"error-message"},[t("p",{staticClass:"error-404"}),e._v(" "),t("p",[e._v(e._s(e.$t("errors.resource_not_found")))]),e._v(" "),t("p",{},[t("router-link",{staticClass:"is-text",attrs:{to:{name:"accounts"}}},[e._v(e._s(e.$t("errors.refresh")))])],1)]):t("div",[t("p",{staticClass:"error-generic"}),e._v(" "),t("p",[e._v(e._s(e.$t("errors.error_occured"))+" ")]),e._v(" "),e.error.message?t("p",{staticClass:"has-text-grey-lighter"},[e._v(e._s(e.error.message))]):e._e(),e._v(" "),e.error.originalMessage?t("p",{staticClass:"has-text-grey-lighter"},[e._v(e._s(e.error.originalMessage))]):e._e(),e._v(" "),t("p",[t("router-link",{staticClass:"is-text",attrs:{to:{name:"accounts",params:{toRefresh:!0}}}},[e._v(e._s(e.$t("errors.refresh")))])],1),e._v(" "),"development"==e.debugMode&&e.error.debug?t("p",[t("br"),e._v("\n "+e._s(e.error.debug)+"\n ")]):e._e()])])],1)}),[],!1,null,null,null).exports;function lr(e){return lr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lr(e)}function dr(){dr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function u(e,t,r,o){var a=t&&t.prototype instanceof p?t:p,i=Object.create(a.prototype),s=new P(o||[]);return n(i,"_invoke",{value:w(e,r,s)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var d={};function p(){}function f(){}function h(){}var m={};c(m,a,(function(){return this}));var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==t&&r.call(g,a)&&(m=g);var _=h.prototype=p.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){function o(n,a,i,s){var c=l(e[n],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==lr(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){o("next",e,i,s)}),(function(e){o("throw",e,i,s)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return o("throw",e,i,s)}))}s(c.arg)}var a;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){o(e,r,t,n)}))}return a=a?a.then(n,n):n()}})}function w(e,t,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return T()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=k(i,r);if(s){if(s===d)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=l(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===d)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),d;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,d;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},e}function pr(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}const fr={data:function(){return{pagetitle:this.$t("commons.about"),infos:null,adminSettings:null,userPreferences:null,showUserPreferences:!1,showAdminSettings:!1}},mounted:function(){var e,t=this;return(e=dr().mark((function e(){return dr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.axios.get("infos").then((function(e){t.infos=e.data.common,e.data.admin_settings&&(t.adminSettings=e.data.admin_settings,t.showAdminSettings=!0),e.data.user_preferences&&(t.userPreferences=e.data.user_preferences,t.showUserPreferences=!0)}));case 2:case"end":return e.stop()}}),e)})),function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){pr(a,n,o,i,s,"next",e)}function s(e){pr(a,n,o,i,s,"throw",e)}i(void 0)}))})()},methods:{clipboardSuccessHandler:function(e){e.value,e.event;this.$notify({type:"is-success",text:this.$t("commons.copied_to_clipboard")})},clipboardErrorHandler:function(e){var t=e.value;e.event;console.log("error",t)}},beforeRouteEnter:function(e,t,r){r((function(r){t.params.returnTo&&(e.params.returnTo=t.params.returnTo)}))}};const hr=$(fr,(function(){var e=this,t=this,r=t._self._c;return r("responsive-width-wrapper",[r("h1",{staticClass:"title has-text-grey-dark"},[t._v(t._s(t.pagetitle))]),t._v(" "),r("p",{staticClass:"block"},[r("span",{class:t.$root.showDarkMode?"has-text-white":"has-text-black"},[r("span",{staticClass:"is-size-5"},[t._v("2FAuth")]),t._v(" v"+t._s(t.appVersion))]),r("br"),t._v("\n "+t._s(t.$t("commons.2fauth_teaser"))+"\n ")]),t._v(" "),r("img",{staticClass:"about-logo",attrs:{src:"logo.svg",alt:"2FAuth logo"}}),t._v(" "),r("p",{staticClass:"block"},[t._v("\n ©Bubka "),r("a",{staticClass:"is-size-7",attrs:{href:"https://github.com/Bubka/2FAuth/blob/master/LICENSE"}},[t._v("AGPL-3.0 license")])]),t._v(" "),r("h2",{staticClass:"title is-5 has-text-grey-light"},[t._v("\n "+t._s(t.$t("commons.resources"))+"\n ")]),t._v(" "),r("div",{staticClass:"buttons"},[r("a",{staticClass:"button",class:{"is-dark":t.$root.showDarkMode},attrs:{href:"https://github.com/Bubka/2FAuth",target:"_blank"}},[r("span",{staticClass:"icon is-small"},[r("font-awesome-icon",{attrs:{icon:["fab","github-alt"]}})],1),t._v(" "),r("span",[t._v("Github")])]),t._v(" "),r("a",{staticClass:"button",class:{"is-dark":t.$root.showDarkMode},attrs:{href:"https://docs.2fauth.app/",target:"_blank"}},[r("span",{staticClass:"icon is-small"},[r("font-awesome-icon",{attrs:{icon:["fas","book"]}})],1),t._v(" "),r("span",[t._v("Docs")])]),t._v(" "),r("a",{staticClass:"button",class:{"is-dark":t.$root.showDarkMode},attrs:{href:"https://demo.2fauth.app/",target:"_blank"}},[r("span",{staticClass:"icon is-small"},[r("font-awesome-icon",{attrs:{icon:["fas","flask"]}})],1),t._v(" "),r("span",[t._v("Demo")])]),t._v(" "),r("a",{staticClass:"button",class:{"is-dark":t.$root.showDarkMode},attrs:{href:"https://docs.2fauth.app/resources/rapidoc.html",target:"_blank"}},[r("span",{staticClass:"icon is-small"},[r("font-awesome-icon",{attrs:{icon:["fas","code"]}})],1),t._v(" "),r("span",[t._v("API")])])]),t._v(" "),r("h2",{staticClass:"title is-5 has-text-grey-light"},[t._v("\n "+t._s(t.$t("commons.credits"))+"\n ")]),t._v(" "),r("p",{staticClass:"block"},[r("ul",[r("li",[t._v(t._s(t.$t("commons.made_with"))+" "),r("a",{attrs:{href:"https://docs.2fauth.app/credits/"}},[t._v("Laravel, Bulma CSS, Vue.js and more")])]),t._v(" "),r("li",[t._v(t._s(t.$t("commons.ui_icons_by"))+" "),r("a",{attrs:{href:"https://fontawesome.com/"}},[t._v("Font Awesome")]),t._v(" "),r("a",{staticClass:"is-size-7",attrs:{href:"https://fontawesome.com/license/free"}},[t._v("(CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)")])]),t._v(" "),r("li",[t._v(t._s(t.$t("commons.logos_by"))+" "),r("a",{attrs:{href:"https://2fa.directory/"}},[t._v("2FA Directory")]),t._v(" "),r("a",{staticClass:"is-size-7",attrs:{href:"https://github.com/2factorauth/twofactorauth/blob/master/LICENSE.md"}},[t._v("(MIT License)")])])])]),t._v(" "),r("h2",{staticClass:"title is-5 has-text-grey-light"},[t._v("\n "+t._s(t.$t("commons.environment"))+"\n ")]),t._v(" "),r("div",{staticClass:"about-debug box is-family-monospace is-size-7"},[r("button",{directives:[{name:"clipboard",rawName:"v-clipboard",value:function(){return e.$refs.listInfos.innerText},expression:"() => this.$refs.listInfos.innerText"},{name:"clipboard",rawName:"v-clipboard:success",value:t.clipboardSuccessHandler,expression:"clipboardSuccessHandler",arg:"success"}],staticClass:"button is-like-text is-pulled-right is-small is-text",attrs:{id:"btnCopyEnvVars","aria-label":t.$t("commons.copy_to_clipboard")}},[r("font-awesome-icon",{attrs:{icon:["fas","copy"]}})],1),t._v(" "),r("ul",{ref:"listInfos",attrs:{id:"listInfos"}},t._l(t.infos,(function(e,n){return r("li",{key:n,attrs:{value:e}},[r("b",[t._v(t._s(n))]),t._v(": "+t._s(e))])})),0)]),t._v(" "),t.showAdminSettings?r("h2",{staticClass:"title is-5 has-text-grey-light"},[t._v("\n "+t._s(t.$t("settings.admin_settings"))+"\n ")]):t._e(),t._v(" "),t.showAdminSettings?r("div",{staticClass:"about-debug box is-family-monospace is-size-7"},[r("button",{directives:[{name:"clipboard",rawName:"v-clipboard",value:function(){return e.$refs.listAdminSettings.innerText},expression:"() => this.$refs.listAdminSettings.innerText"},{name:"clipboard",rawName:"v-clipboard:success",value:t.clipboardSuccessHandler,expression:"clipboardSuccessHandler",arg:"success"}],staticClass:"button is-like-text is-pulled-right is-small is-text",attrs:{id:"btnCopyAdminSettings","aria-label":t.$t("commons.copy_to_clipboard")}},[r("font-awesome-icon",{attrs:{icon:["fas","copy"]}})],1),t._v(" "),r("ul",{ref:"listAdminSettings",attrs:{id:"listAdminSettings"}},t._l(t.adminSettings,(function(e,n){return r("li",{key:n,attrs:{value:e}},[r("b",[t._v(t._s(n))]),t._v(": "+t._s(e))])})),0)]):t._e(),t._v(" "),t.showUserPreferences?r("h2",{staticClass:"title is-5 has-text-grey-light"},[t._v("\n "+t._s(t.$t("settings.user_preferences"))+"\n ")]):t._e(),t._v(" "),t.showUserPreferences?r("div",{staticClass:"about-debug box is-family-monospace is-size-7"},[r("button",{directives:[{name:"clipboard",rawName:"v-clipboard",value:function(){return e.$refs.listUserPreferences.innerText},expression:"() => this.$refs.listUserPreferences.innerText"},{name:"clipboard",rawName:"v-clipboard:success",value:t.clipboardSuccessHandler,expression:"clipboardSuccessHandler",arg:"success"}],staticClass:"button is-like-text is-pulled-right is-small is-text",attrs:{id:"btnCopyUserPreferences","aria-label":t.$t("commons.copy_to_clipboard")}},[r("font-awesome-icon",{attrs:{icon:["fas","copy"]}})],1),t._v(" "),r("ul",{ref:"listUserPreferences",attrs:{id:"listUserPreferences"}},t._l(t.userPreferences,(function(e,n){return r("li",{key:n,attrs:{value:e}},[r("b",[t._v(t._s(n))]),t._v(": "+t._s(e))])})),0)]):t._e(),t._v(" "),r("vue-footer",{attrs:{showButtons:!0}},[r("p",{staticClass:"control"},[r("router-link",{staticClass:"button is-rounded",class:{"is-dark":t.$root.showDarkMode},attrs:{id:"lnkBack",to:{path:t.$route.params.goBackTo,params:{returnTo:t.$route.params.returnTo,toRefresh:!0}},"aria-label":t.$t("commons.close_the_x_page",{pagetitle:t.pagetitle})}},[t._v("\n "+t._s(t.$t("commons.back"))+"\n ")])],1)])],1)}),[],!1,null,null,null).exports;function mr(e){return mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mr(e)}function vr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function gr(e){for(var t=1;t-1;o--){var a=r[o],i=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(i)>-1&&(n=a)}return $r.head.insertBefore(t,n),e}}var kn="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function xn(){for(var e=12,t="";e-- >0;)t+=kn[62*Math.random()|0];return t}function Cn(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Pn(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,": ").concat(e[r],";")}),"")}function An(e){return e.size!==yn.size||e.x!==yn.x||e.y!==yn.y||e.rotate!==yn.rotate||e.flipX||e.flipY}function Tn(e){var t=e.transform,r=e.containerWidth,n=e.iconWidth,o={transform:"translate(".concat(r/2," 256)")},a="translate(".concat(32*t.x,", ").concat(32*t.y,") "),i="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),s="rotate(".concat(t.rotate," 0 0)");return{outer:o,inner:{transform:"".concat(a," ").concat(i," ").concat(s)},path:{transform:"translate(".concat(n/2*-1," -256)")}}}var Sn={x:0,y:0,width:"100%",height:"100%"};function En(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function On(e){var t=e.icons,r=t.main,n=t.mask,o=e.prefix,a=e.iconName,i=e.transform,s=e.symbol,c=e.title,u=e.maskId,l=e.titleId,d=e.extra,p=e.watchable,f=void 0!==p&&p,h=n.found?n:r,m=h.width,v=h.height,g="fak"===o,_=g?"":"fa-w-".concat(Math.ceil(m/v*16)),b=[Qr.replacementClass,a?"".concat(Qr.familyPrefix,"-").concat(a):"",_].filter((function(e){return-1===d.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(d.classes).join(" "),y={children:[],attributes:Tr({},d.attributes,{"data-prefix":o,"data-icon":a,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(v)})},w=g&&!~d.classes.indexOf("fa-fw")?{width:"".concat(m/v*16*.0625,"em")}:{};f&&(y.attributes[zr]=""),c&&y.children.push({tag:"title",attributes:{id:y.attributes["aria-labelledby"]||"title-".concat(l||xn())},children:[c]});var k=Tr({},y,{prefix:o,iconName:a,main:r,mask:n,maskId:u,transform:i,symbol:s,styles:Tr({},w,d.styles)}),x=n.found&&r.found?function(e){var t,r=e.children,n=e.attributes,o=e.main,a=e.mask,i=e.maskId,s=e.transform,c=o.width,u=o.icon,l=a.width,d=a.icon,p=Tn({transform:s,containerWidth:l,iconWidth:c}),f={tag:"rect",attributes:Tr({},Sn,{fill:"white"})},h=u.children?{children:u.children.map(En)}:{},m={tag:"g",attributes:Tr({},p.inner),children:[En(Tr({tag:u.tag,attributes:Tr({},u.attributes,p.path)},h))]},v={tag:"g",attributes:Tr({},p.outer),children:[m]},g="mask-".concat(i||xn()),_="clip-".concat(i||xn()),b={tag:"mask",attributes:Tr({},Sn,{id:g,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[f,v]},y={tag:"defs",children:[{tag:"clipPath",attributes:{id:_},children:(t=d,"g"===t.tag?t.children:[t])},b]};return r.push(y,{tag:"rect",attributes:Tr({fill:"currentColor","clip-path":"url(#".concat(_,")"),mask:"url(#".concat(g,")")},Sn)}),{children:r,attributes:n}}(k):function(e){var t=e.children,r=e.attributes,n=e.main,o=e.transform,a=Pn(e.styles);if(a.length>0&&(r.style=a),An(o)){var i=Tn({transform:o,containerWidth:n.width,iconWidth:n.width});t.push({tag:"g",attributes:Tr({},i.outer),children:[{tag:"g",attributes:Tr({},i.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:Tr({},n.icon.attributes,i.path)}]}]})}else t.push(n.icon);return{children:t,attributes:r}}(k),C=x.children,P=x.attributes;return k.children=C,k.attributes=P,s?function(e){var t=e.prefix,r=e.iconName,n=e.children,o=e.attributes,a=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:Tr({},o,{id:!0===a?"".concat(t,"-").concat(Qr.familyPrefix,"-").concat(r):a}),children:n}]}]}(k):function(e){var t=e.children,r=e.main,n=e.mask,o=e.attributes,a=e.styles,i=e.transform;if(An(i)&&r.found&&!n.found){var s={x:r.width/r.height/2,y:.5};o.style=Pn(Tr({},a,{"transform-origin":"".concat(s.x+i.x/16,"em ").concat(s.y+i.y/16,"em")}))}return[{tag:"svg",attributes:o,children:t}]}(k)}var Bn=function(){},Ln=(Qr.measurePerformance&&Nr&&Nr.mark&&Nr.measure,function(e,t,r,n){var o,a,i,s=Object.keys(e),c=s.length,u=void 0!==n?function(e,t){return function(r,n,o,a){return e.call(t,r,n,o,a)}}(t,n):t;for(void 0===r?(o=1,i=e[s[0]]):(o=0,i=r);o2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,n=void 0!==r&&r,o=Object.keys(t).reduce((function(e,r){var n=t[r];return!!n.icon?e[n.iconName]=n.icon:e[r]=n,e}),{});"function"!=typeof Vr.hooks.addPack||n?Vr.styles[e]=Tr({},Vr.styles[e]||{},o):Vr.hooks.addPack(e,o),"fas"===e&&In("fa",t)}var Dn=Vr.styles,Rn=Vr.shims,$n=function(){var e=function(e){return Ln(Dn,(function(t,r,n){return t[n]=Ln(r,e,{}),t}),{})};e((function(e,t,r){return t[3]&&(e[t[3]]=r),e})),e((function(e,t,r){var n=t[2];return e[r]=r,n.forEach((function(t){e[t]=r})),e}));var t="far"in Dn;Ln(Rn,(function(e,r){var n=r[0],o=r[1],a=r[2];return"far"!==o||t||(o="fas"),e[n]={prefix:o,iconName:a},e}),{})};$n();Vr.styles;function Nn(e,t,r){if(e&&e[t]&&e[t][r])return{prefix:t,iconName:r,icon:e[t][r]}}function qn(e){var t=e.tag,r=e.attributes,n=void 0===r?{}:r,o=e.children,a=void 0===o?[]:o;return"string"==typeof e?Cn(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,r){return t+"".concat(r,'="').concat(Cn(e[r]),'" ')}),"").trim()}(n),">").concat(a.map(qn).join(""),"")}var jn=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var r=t.toLowerCase().split("-"),n=r[0],o=r.slice(1).join("-");if(n&&"h"===o)return e.flipX=!0,e;if(n&&"v"===o)return e.flipY=!0,e;if(o=parseFloat(o),isNaN(o))return e;switch(n){case"grow":e.size=e.size+o;break;case"shrink":e.size=e.size-o;break;case"left":e.x=e.x-o;break;case"right":e.x=e.x+o;break;case"up":e.y=e.y-o;break;case"down":e.y=e.y+o;break;case"rotate":e.rotate=e.rotate+o}return e}),t):t};function Mn(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}Mn.prototype=Object.create(Error.prototype),Mn.prototype.constructor=Mn;var Fn={fill:"currentColor"},zn={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},Un={tag:"path",attributes:Tr({},Fn,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Gn=Tr({},zn,{attributeName:"opacity"});Tr({},Fn,{cx:"256",cy:"364",r:"28"}),Tr({},zn,{attributeName:"r",values:"28;14;28;28;14;28;"}),Tr({},Gn,{values:"1;0;1;1;0;1;"}),Tr({},Fn,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),Tr({},Gn,{values:"1;0;0;0;0;1;"}),Tr({},Fn,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),Tr({},Gn,{values:"0;0;1;1;0;0;"}),Vr.styles;function Wn(e){var t=e[0],r=e[1],n=Sr(e.slice(4),1)[0];return{found:!0,width:t,height:r,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(Qr.familyPrefix,"-").concat(Wr.GROUP)},children:[{tag:"path",attributes:{class:"".concat(Qr.familyPrefix,"-").concat(Wr.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(Qr.familyPrefix,"-").concat(Wr.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}Vr.styles;var Hn='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: 0.4;\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: 1;\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse {\n color: #fff;\n}';function Yn(){var e=Mr,t=Fr,r=Qr.familyPrefix,n=Qr.replacementClass,o=Hn;if(r!==e||n!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),i=new RegExp("\\--".concat(e,"\\-"),"g"),s=new RegExp("\\.".concat(t),"g");o=o.replace(a,".".concat(r,"-")).replace(i,"--".concat(r,"-")).replace(s,".".concat(n))}return o}var Qn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,r,n;return t=e,r=[{key:"add",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=t.transform,n=void 0===r?yn:r,o=t.symbol,a=void 0!==o&&o,i=t.mask,s=void 0===i?null:i,c=t.maskId,u=void 0===c?null:c,l=t.title,d=void 0===l?null:l,p=t.titleId,f=void 0===p?null:p,h=t.classes,m=void 0===h?[]:h,v=t.attributes,g=void 0===v?{}:v,_=t.styles,b=void 0===_?{}:_;if(e){var y=e.prefix,w=e.iconName,k=e.icon;return Vn(Tr({type:"icon"},e),(function(){return Kn(),Qr.autoA11y&&(d?g["aria-labelledby"]="".concat(Qr.replacementClass,"-title-").concat(f||xn()):(g["aria-hidden"]="true",g.focusable="false")),On({icons:{main:Wn(k),mask:s?Wn(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:y,iconName:w,transform:Tr({},yn,n),symbol:a,title:d,maskId:u,titleId:f,extra:{attributes:g,styles:b,classes:m}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(e||{}).icon?e:Xn(e||{}),n=t.mask;return n&&(n=(n||{}).icon?n:Xn(n||{})),Zn(r,Tr({},t,{mask:n}))});function no(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function oo(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var co,uo="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:"undefined"!=typeof self?self:{},lo={exports:{}};co=lo,function(e){var t=function(e,r,n){if(!s(r)||u(r)||l(r)||d(r)||i(r))return r;var o,a=0,p=0;if(c(r))for(o=[],p=r.length;a2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=(t.children||[]).map(mo.bind(null,e)),a=Object.keys(t.attributes||{}).reduce((function(e,r){var n=t.attributes[r];switch(r){case"class":e.class=n.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{});break;case"style":e.style=n.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var r=t.indexOf(":"),n=po.camelize(t.slice(0,r)),o=t.slice(r+1).trim();return e[n]=o,e}),{});break;default:e.attrs[r]=n}return e}),{class:{},style:{},attrs:{}}),i=n.class,s=void 0===i?{}:i,c=n.style,u=void 0===c?{}:c,l=n.attrs,d=void 0===l?{}:l,p=so(n,fo);return"string"==typeof t?t:e(t.tag,oo(oo({class:ho(a.class,s),style:oo(oo({},a.style),u),attrs:oo(oo({},a.attrs),d)},p),{},{props:r}),o)}var vo=!1;try{vo=!0}catch(e){}function go(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?io({},e,t):{}}function _o(e){return e&&"object"===ao(e)&&e.prefix&&e.iconName&&e.icon?e:to.icon?to.icon(e):null===e?null:"object"===ao(e)&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}var bo={name:"FontAwesomeIcon",functional:!0,props:{beat:{type:Boolean,default:!1},border:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(e){return[!0,!1,"horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1}},render:function(e,t){var r=t.props,n=r.icon,o=r.mask,a=r.symbol,i=r.title,s=_o(n),c=go("classes",function(e){var t,r=(io(t={"fa-spin":e.spin,"fa-spin-pulse":e.spinPulse,"fa-spin-reverse":e.spinReverse,"fa-pulse":e.pulse,"fa-beat":e.beat,"fa-fade":e.fade,"fa-flash":e.flash,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip":!0===e.flip,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},"fa-".concat(e.size),null!==e.size),io(t,"fa-rotate-".concat(e.rotation),null!==e.rotation),io(t,"fa-pull-".concat(e.pull),null!==e.pull),io(t,"fa-swap-opacity",e.swapOpacity),io(t,"fa-bounce",e.bounce),io(t,"fa-shake",e.shake),io(t,"fa-beat-fade",e.beatFade),t);return Object.keys(r).map((function(e){return r[e]?e:null})).filter((function(e){return e}))}(r)),u=go("transform","string"==typeof r.transform?to.transform(r.transform):r.transform),l=go("mask",_o(o)),d=ro(s,oo(oo(oo(oo({},c),u),l),{},{symbol:a,title:i}));if(!d)return function(){var e;!vo&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find one or more icon(s)",s,l);var p=d.abstract;return mo.bind(null,e)(p[0],{},t.data)}},yo=(Boolean,Boolean,{prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]}),wo={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},ko={prefix:"fas",iconName:"camera",icon:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"]},xo={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"]},Co={prefix:"fas",iconName:"check",icon:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"]},Po={prefix:"fas",iconName:"check-square",icon:[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"]},Ao={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"]},To={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"]},So={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},Eo={prefix:"fas",iconName:"desktop",icon:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"]},Oo={prefix:"fas",iconName:"ellipsis-h",icon:[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"]},Bo={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},Lo={prefix:"fas",iconName:"external-link-alt",icon:[512,512,[],"f35d","M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z"]},Io={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"]},Do={prefix:"fas",iconName:"eye-slash",icon:[640,512,[],"f070","M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"]},Ro={prefix:"fas",iconName:"file-download",icon:[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},$o={prefix:"fas",iconName:"flask",icon:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"]},No={prefix:"fas",iconName:"globe",icon:[496,512,[],"f0ac","M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"]},qo={prefix:"fas",iconName:"image",icon:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"]},jo={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},Mo={prefix:"fas",iconName:"list",icon:[512,512,[],"f03a","M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z"]},Fo={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},zo={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"]},Uo={prefix:"fas",iconName:"minus-circle",icon:[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"]},Go={prefix:"fas",iconName:"moon",icon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"]},Wo={prefix:"fas",iconName:"pen-square",icon:[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"]},Ho={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Yo={prefix:"fas",iconName:"plus-circle",icon:[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},Qo={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"]},Ko={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},Vo={prefix:"fas",iconName:"sort-alpha-down",icon:[448,512,[],"f15d","M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Xo={prefix:"fas",iconName:"sort-alpha-up",icon:[448,512,[],"f15e","M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"]},Zo={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"]},Jo={prefix:"fas",iconName:"sun",icon:[512,512,[],"f185","M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"]},ea={prefix:"fas",iconName:"th",icon:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"]},ta={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},ra={prefix:"fas",iconName:"times-circle",icon:[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"]},na={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},oa={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},aa={prefix:"fab",iconName:"github-alt",icon:[480,512,[],"f113","M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"]};Jn.add(Ho,Yo,Qo,qo,na,Co,Po,ta,Fo,zo,Ko,Oo,yo,Zo,aa,xo,jo,Uo,Bo,Wo,ea,Mo,ra,oa,No,wo,$o,To,So,Vo,Xo,Io,Do,Lo,ko,Ro,Jo,Go,Eo,Ao),n.default.component("font-awesome-icon",bo);var ia=r(906),sa=r.n(ia);n.default.use(sa());var ca=r(765),ua=r.n(ca);const la={name:"Spinner",props:{active:{type:Boolean,default:!1},message:String}};var da=r(198),pa={insert:"head",singleton:!1};ce()(da.Z,pa);da.Z.locals;var fa=$(la,(function(){var e=this,t=e._self._c;return e.active?t("div",{staticClass:"spinner-container"},[t("div",{staticClass:"spinner-wrapper"},[t("span",{staticClass:"is-size-1 spinner"},[t("font-awesome-icon",{attrs:{icon:["fas","spinner"],spin:""}})],1),e._v(" "),t("span",[e._v(e._s(e.message))])])]):e._e()}),[],!1,null,"a80773f6",null);function ha(e){return ha="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ha(e)}function ma(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ha(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ha(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ha(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function va(e){return va="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},va(e)}function ga(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==va(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==va(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===va(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}[$({name:"App",components:{Spinner:fa.exports},data:function(){return{}},computed:{kickInactiveUser:function(){return parseInt(this.$root.userPreferences.kickUserAfter)>0&&this.$route.meta.requiresAuth}}},(function(){var e=this,t=e._self._c;return t("div",[e.kickInactiveUser?t("kicker"):e._e(),e._v(" "),this.$root.isDemoApp?t("div",{staticClass:"demo has-background-warning has-text-centered is-size-7-mobile"},[e._v("\n "+e._s(e.$t("commons.demo_do_not_post_sensitive_data"))+"\n ")]):e._e(),e._v(" "),this.$root.isTestingApp?t("div",{staticClass:"demo has-background-warning has-text-centered is-size-7-mobile"},[e._v("\n "+e._s(e.$t("commons.testing_do_not_post_sensitive_data"))+"\n ")]):e._e(),e._v(" "),t("spinner",{attrs:{active:e.$root.spinner.active,message:e.$root.spinner.message}}),e._v(" "),t("notifications",{attrs:{id:"vueNotification",role:"alert",width:"100%",position:"top",duration:4e3,speed:0,max:1,classes:"notification is-radiusless"}}),e._v(" "),t("main",{staticClass:"main-section"},[t("router-view")],1)],1)}),[],!1,null,null,null).exports,$({name:"VButton",props:{color:{type:String,default:"is-link"},nativeType:{type:String,default:"submit"},isLoading:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}}},(function(){var e,t=this;return(0,t._self._c)("button",{class:(e={button:!0},ma(e,"".concat(t.color),!0),ma(e,"is-loading",t.isLoading),e),attrs:{type:t.nativeType,disabled:t.isLoading||t.isDisabled},on:{click:function(e){return t.$emit("click")}}},[t._t("default")],2)}),[],!1,null,null,null).exports,$({name:"field-error",props:{form:{type:Object,required:!0},field:{type:String,required:!0}}},(function(){var e=this,t=e._self._c;return t("div",{attrs:{role:"alert"}},[e.form.errors.has(e.field)?t("p",{staticClass:"help is-danger",attrs:{id:"valError"+e.field[0].toUpperCase()+e.field.toLowerCase().slice(1)},domProps:{innerHTML:e._s(e.form.errors.get(e.field))}}):e._e()])}),[],!1,null,null,null).exports,$({name:"FormWrapper",data:function(){return{}},props:{title:{type:String,default:""},punchline:{type:String,default:""}}},(function(){var e=this,t=e._self._c;return t("responsive-width-wrapper",[e.title?t("h1",{staticClass:"title has-text-grey-dark",domProps:{innerHTML:e._s(e.title)}}):e._e(),e._v(" "),e.punchline?t("div",{staticClass:"block",attrs:{id:"punchline"},domProps:{innerHTML:e._s(e.punchline)}}):e._e(),e._v(" "),e._t("default")],2)}),[],!1,null,null,null).exports,$({name:"FormField",inheritAttrs:!1,data:function(){return{}},props:{label:{type:String,default:""},fieldName:{type:String,default:"",required:!0},inputType:{type:String,default:"text"},form:{type:Object,required:!0},placeholder:{type:String,default:""},help:{type:String,default:""},hasOffset:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1},maxLength:{type:Number,default:null}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field",class:{"pt-3":e.hasOffset}},[t("label",{staticClass:"label",attrs:{for:this.inputId(e.inputType,e.fieldName)},domProps:{innerHTML:e._s(e.label)}}),e._v(" "),t("div",{staticClass:"control"},["checkbox"===e.inputType?t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId(e.inputType,e.fieldName),placeholder:e.placeholder,maxlength:this.maxLength,type:"checkbox"},domProps:{checked:Array.isArray(e.form[e.fieldName])?e._i(e.form[e.fieldName],null)>-1:e.form[e.fieldName]},on:{change:[function(t){var r=e.form[e.fieldName],n=t.target,o=!!n.checked;if(Array.isArray(r)){var a=e._i(r,null);n.checked?a<0&&e.$set(e.form,e.fieldName,r.concat([null])):a>-1&&e.$set(e.form,e.fieldName,r.slice(0,a).concat(r.slice(a+1)))}else e.$set(e.form,e.fieldName,o)},function(t){return e.$emit("field-changed",e.form[e.fieldName])}]}},"input",e.$attrs,!1)):"radio"===e.inputType?t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId(e.inputType,e.fieldName),placeholder:e.placeholder,maxlength:this.maxLength,type:"radio"},domProps:{checked:e._q(e.form[e.fieldName],null)},on:{change:[function(t){return e.$set(e.form,e.fieldName,null)},function(t){return e.$emit("field-changed",e.form[e.fieldName])}]}},"input",e.$attrs,!1)):t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId(e.inputType,e.fieldName),placeholder:e.placeholder,maxlength:this.maxLength,type:e.inputType},domProps:{value:e.form[e.fieldName]},on:{change:function(t){return e.$emit("field-changed",e.form[e.fieldName])},input:function(t){t.target.composing||e.$set(e.form,e.fieldName,t.target.value)}}},"input",e.$attrs,!1))]),e._v(" "),t("field-error",{attrs:{form:e.form,field:e.fieldName}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e()],1)}),[],!1,null,null,null).exports,$({name:"FormPasswordField",inheritAttrs:!1,data:function(){return{currentType:this.inputType,hasCapsLockOn:!1}},computed:{hasLowerCase:function(){return/[a-z]/.test(this.form[this.fieldName])},hasUpperCase:function(){return/[A-Z]/.test(this.form[this.fieldName])},hasNumber:function(){return/[0-9]/.test(this.form[this.fieldName])},hasSpecialChar:function(){return/[^A-Za-z0-9]/.test(this.form[this.fieldName])},IsLongEnough:function(){return this.form[this.fieldName].length>=8}},props:{label:{type:String,default:""},fieldName:{type:String,default:"",required:!0},inputType:{type:String,default:"password"},form:{type:Object,required:!0},placeholder:{type:String,default:""},help:{type:String,default:""},hasOffset:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1},showRules:{type:Boolean,default:!1}},methods:{checkCapsLock:function(e){this.hasCapsLockOn=!!e.getModifierState("CapsLock")},setFieldType:function(e){this.currentType!=e&&(this.currentType=e)}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field",class:{"pt-3":e.hasOffset}},[t("label",{staticClass:"label",attrs:{for:this.inputId("password",e.fieldName)},domProps:{innerHTML:e._s(e.label)}}),e._v(" "),t("div",{staticClass:"control has-icons-right"},["checkbox"===e.currentType?t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId("password",e.fieldName),placeholder:e.placeholder,type:"checkbox"},domProps:{checked:Array.isArray(e.form[e.fieldName])?e._i(e.form[e.fieldName],null)>-1:e.form[e.fieldName]},on:{change:[function(t){var r=e.form[e.fieldName],n=t.target,o=!!n.checked;if(Array.isArray(r)){var a=e._i(r,null);n.checked?a<0&&e.$set(e.form,e.fieldName,r.concat([null])):a>-1&&e.$set(e.form,e.fieldName,r.slice(0,a).concat(r.slice(a+1)))}else e.$set(e.form,e.fieldName,o)},function(t){return e.$emit("field-changed",e.form[e.fieldName])}],keyup:e.checkCapsLock}},"input",e.$attrs,!1)):"radio"===e.currentType?t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId("password",e.fieldName),placeholder:e.placeholder,type:"radio"},domProps:{checked:e._q(e.form[e.fieldName],null)},on:{change:[function(t){return e.$set(e.form,e.fieldName,null)},function(t){return e.$emit("field-changed",e.form[e.fieldName])}],keyup:e.checkCapsLock}},"input",e.$attrs,!1)):t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"input",attrs:{disabled:e.isDisabled,id:this.inputId("password",e.fieldName),placeholder:e.placeholder,type:e.currentType},domProps:{value:e.form[e.fieldName]},on:{change:function(t){return e.$emit("field-changed",e.form[e.fieldName])},keyup:e.checkCapsLock,input:function(t){t.target.composing||e.$set(e.form,e.fieldName,t.target.value)}}},"input",e.$attrs,!1)),e._v(" "),"password"==e.currentType?t("span",{staticClass:"icon is-small is-right is-clickable",attrs:{role:"button",id:"btnTogglePassword",tabindex:"0",title:e.$t("auth.forms.reveal_password")},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.setFieldType("text")},click:function(t){return e.setFieldType("text")}}},[t("font-awesome-icon",{attrs:{icon:["fas","eye-slash"]}})],1):t("span",{staticClass:"icon is-small is-right is-clickable",attrs:{role:"button",id:"btnTogglePassword",tabindex:"0",title:e.$t("auth.forms.hide_password")},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.setFieldType("password")},click:function(t){return e.setFieldType("password")}}},[t("font-awesome-icon",{attrs:{icon:["fas","eye"]}})],1)]),e._v(" "),e.hasCapsLockOn?t("p",{staticClass:"help is-warning",domProps:{innerHTML:e._s(e.$t("auth.forms.caps_lock_is_on"))}}):e._e(),e._v(" "),t("field-error",{attrs:{form:e.form,field:e.fieldName}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e(),e._v(" "),e.showRules?t("div",{staticClass:"columns is-mobile is-size-7 mt-0"},[t("div",{staticClass:"column is-one-third"},[t("span",{staticClass:"has-text-weight-semibold"},[e._v(e._s(e.$t("auth.forms.mandatory_rules")))]),t("br"),e._v(" "),t("span",{staticClass:"is-underscored",class:{"is-dot":e.IsLongEnough},attrs:{id:"valPwdIsLongEnough"}}),e._v(e._s(e.$t("auth.forms.is_long_enough"))),t("br")]),e._v(" "),t("div",{staticClass:"column"},[t("span",{staticClass:"has-text-weight-semibold"},[e._v(e._s(e.$t("auth.forms.optional_rules_you_should_follow")))]),t("br"),e._v(" "),t("span",{staticClass:"is-underscored",class:{"is-dot":e.hasLowerCase},attrs:{id:"valPwdHasLowerCase"}}),e._v(e._s(e.$t("auth.forms.has_lower_case"))),t("br"),e._v(" "),t("span",{staticClass:"is-underscored",class:{"is-dot":e.hasUpperCase},attrs:{id:"valPwdHasUpperCase"}}),e._v(e._s(e.$t("auth.forms.has_upper_case"))),t("br"),e._v(" "),t("span",{staticClass:"is-underscored",class:{"is-dot":e.hasSpecialChar},attrs:{id:"valPwdHasSpecialChar"}}),e._v(e._s(e.$t("auth.forms.has_special_char"))),t("br"),e._v(" "),t("span",{staticClass:"is-underscored",class:{"is-dot":e.hasNumber},attrs:{id:"valPwdHasNumber"}}),e._v(e._s(e.$t("auth.forms.has_number"))+"\n ")])]):e._e()],1)}),[],!1,null,null,null).exports,$({name:"FormSelect",data:function(){return{}},props:{label:{type:String,default:""},fieldName:{type:String,default:"",required:!0},options:{type:Array,required:!0},form:{type:Object,required:!0},help:{type:String,default:""}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{staticClass:"label",domProps:{innerHTML:e._s(e.label)}}),e._v(" "),t("div",{staticClass:"control"},[t("div",{staticClass:"select"},[t("select",{directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],on:{change:[function(t){var r=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.form,e.fieldName,t.target.multiple?r:r[0])},function(t){return e.$emit(e.fieldName,e.form[e.fieldName])}]}},e._l(e.options,(function(r){return t("option",{domProps:{value:r.value}},[e._v(e._s(r.text))])})),0)])]),e._v(" "),t("field-error",{attrs:{form:e.form,field:e.fieldName}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e()],1)}),[],!1,null,null,null).exports,$({name:"FormSwitch",data:function(){return{}},props:{label:{type:String,default:""},fieldName:{type:String,default:"",required:!0},form:{type:Object,required:!0},help:{type:String,default:""}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("label",{staticClass:"label",attrs:{for:e.fieldName},domProps:{innerHTML:e._s(e.label)}}),e._v(" "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"switch is-thin is-info",attrs:{id:e.fieldName,type:"checkbox",name:e.fieldName},domProps:{checked:Array.isArray(e.form[e.fieldName])?e._i(e.form[e.fieldName],null)>-1:e.form[e.fieldName]},on:{change:function(t){var r=e.form[e.fieldName],n=t.target,o=!!n.checked;if(Array.isArray(r)){var a=e._i(r,null);n.checked?a<0&&e.$set(e.form,e.fieldName,r.concat([null])):a>-1&&e.$set(e.form,e.fieldName,r.slice(0,a).concat(r.slice(a+1)))}else e.$set(e.form,e.fieldName,o)}}}),e._v(" "),t("label",{staticClass:"label",attrs:{for:e.fieldName}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e()])}),[],!1,null,null,null).exports,$({name:"FormToggle",data:function(){return{inputType:"radio"}},props:{label:{type:String,default:""},fieldName:{type:String,default:"",required:!0},choices:{type:Array,required:!0},form:{type:Object,required:!0},help:{type:String,default:""},hasOffset:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1}},methods:{setRadio:function(e){this.form[this.fieldName]=e,this.$emit(this.fieldName,this.form[this.fieldName])}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field",class:{"pt-3":e.hasOffset},attrs:{role:"radiogroup","aria-labelledby":e.inputId("label",e.fieldName)}},[e.label?t("label",{staticClass:"label",attrs:{id:e.inputId("label",e.fieldName)},domProps:{innerHTML:e._s(e.label)}}):e._e(),e._v(" "),t("div",{staticClass:"is-toggle buttons"},e._l(e.choices,(function(r,n){return t("button",{key:n,staticClass:"button",class:{"is-link":e.form[e.fieldName]===r.value,"is-dark":e.$root.showDarkMode,"is-multiline":r.legend},attrs:{id:e.inputId("button",e.fieldName+r.value),role:"radio",type:"button","aria-checked":e.form[e.fieldName]===r.value,disabled:e.isDisabled,title:r.title?r.title:""},on:{click:function(t){return t.stopPropagation(),e.setRadio(r.value)}}},["checkbox"===e.inputType?t("input",{directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"is-hidden",attrs:{id:e.inputId(e.inputType,r.value),disabled:e.isDisabled,type:"checkbox"},domProps:ga({checked:e.form[e.fieldName]===r.value,value:r.value},"checked",Array.isArray(e.form[e.fieldName])?e._i(e.form[e.fieldName],r.value)>-1:e.form[e.fieldName]),on:{change:function(t){var n=e.form[e.fieldName],o=t.target,a=!!o.checked;if(Array.isArray(n)){var i=r.value,s=e._i(n,i);o.checked?s<0&&e.$set(e.form,e.fieldName,n.concat([i])):s>-1&&e.$set(e.form,e.fieldName,n.slice(0,s).concat(n.slice(s+1)))}else e.$set(e.form,e.fieldName,a)}}}):"radio"===e.inputType?t("input",{directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"is-hidden",attrs:{id:e.inputId(e.inputType,r.value),disabled:e.isDisabled,type:"radio"},domProps:ga({checked:e.form[e.fieldName]===r.value,value:r.value},"checked",e._q(e.form[e.fieldName],r.value)),on:{change:function(t){return e.$set(e.form,e.fieldName,r.value)}}}):t("input",{directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"is-hidden",attrs:{id:e.inputId(e.inputType,r.value),disabled:e.isDisabled,type:e.inputType},domProps:ga({checked:e.form[e.fieldName]===r.value,value:r.value},"value",e.form[e.fieldName]),on:{input:function(t){t.target.composing||e.$set(e.form,e.fieldName,t.target.value)}}}),e._v(" "),r.legend?t("span",{staticClass:"is-block is-size-7",domProps:{innerHTML:e._s(r.legend)}}):e._e(),e._v(" "),r.icon?t("font-awesome-icon",{staticClass:"mr-2",attrs:{icon:["fas",r.icon]}}):e._e(),e._v(" "+e._s(r.text)+"\n ")],1)})),0),e._v(" "),t("field-error",{attrs:{form:e.form,field:e.fieldName}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e()],1)}),[],!1,null,null,null).exports,$({name:"FormCheckbox",inheritAttrs:!1,data:function(){return{}},props:{label:{type:String,default:""},labelClass:{type:String,default:""},fieldName:{type:String,default:"",required:!0},form:{type:Object,required:!0},help:{type:String,default:""}},methods:{setCheckbox:function(e){null==this.$attrs.disabled&&(this.form[this.fieldName]=!this.form[this.fieldName],this.$emit(this.fieldName,this.form[this.fieldName]))}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field"},[t("input",e._b({directives:[{name:"model",rawName:"v-model",value:e.form[e.fieldName],expression:"form[fieldName]"}],staticClass:"is-checkradio is-info",attrs:{id:e.fieldName,type:"checkbox",name:e.fieldName},domProps:{checked:Array.isArray(e.form[e.fieldName])?e._i(e.form[e.fieldName],null)>-1:e.form[e.fieldName]},on:{change:[function(t){var r=e.form[e.fieldName],n=t.target,o=!!n.checked;if(Array.isArray(r)){var a=e._i(r,null);n.checked?a<0&&e.$set(e.form,e.fieldName,r.concat([null])):a>-1&&e.$set(e.form,e.fieldName,r.slice(0,a).concat(r.slice(a+1)))}else e.$set(e.form,e.fieldName,o)},function(t){return e.$emit(e.fieldName,e.form[e.fieldName])}]}},"input",e.$attrs,!1)),e._v(" "),t("label",{staticClass:"label",class:e.labelClass,attrs:{tabindex:"0",for:e.fieldName},domProps:{innerHTML:e._s(e.label)},on:{keypress:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:(t.preventDefault(),e.setCheckbox.apply(null,arguments))}}}),e._v(" "),e.help?t("p",{staticClass:"help",domProps:{innerHTML:e._s(e.help)}}):e._e()])}),[],!1,null,null,null).exports,$({name:"FormButtons",data:function(){return{}},props:{showCancelButton:{type:Boolean,default:!1},isBusy:{type:Boolean,default:!1},isDisabled:{type:Boolean,default:!1},caption:{type:String,default:"Submit"},cancelLandingView:{type:String,default:""},color:{type:String,default:"is-link"},submitId:{type:String,default:"btnSubmit"},cancelId:{type:String,default:"btnCancel"}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"field is-grouped"},[t("div",{staticClass:"control"},[t("v-button",{attrs:{id:e.submitId,color:e.color,isLoading:e.isBusy,disabled:e.isDisabled}},[e._v(e._s(e.caption))])],1),e._v(" "),e.showCancelButton?t("div",{staticClass:"control"},[t("router-link",{staticClass:"button is-text",attrs:{id:e.cancelId,to:{name:e.cancelLandingView}}},[e._v(e._s(e.$t("commons.cancel")))])],1):e._e()])}),[],!1,null,null,null).exports,$({name:"VueFooter",data:function(){return{}},props:{showButtons:!0,editMode:!1},methods:{logout:function(){confirm(this.$t("auth.confirm.logout"))&&this.appLogout()},exitEdit:function(){this.$emit("exit-edit")}}},(function(){var e=this,t=e._self._c;return t("footer",[e.showButtons?t("div",{staticClass:"columns is-gapless"},[t("div",{staticClass:"column has-text-centered"},[t("div",{staticClass:"field is-grouped"},[e._t("default")],2)])]):e._e(),e._v(" "),e.editMode?t("div",{staticClass:"content has-text-centered"},[t("button",{staticClass:"button is-ghost is-like-text",attrs:{id:"lnkExitEdit"},on:{click:e.exitEdit}},[e._v(e._s(e.$t("commons.done")))])]):t("div",{staticClass:"content has-text-centered"},[!0===e.$route.meta.showAbout?t("div",{staticClass:"is-size-6"},[t("router-link",{staticClass:"has-text-grey",attrs:{id:"lnkAbout",to:{name:"about"}}},[e._v("\n 2FAuth – "),t("span",{staticClass:"has-text-weight-bold"},[e._v("v"+e._s(e.appVersion))])])],1):t("div",[t("router-link",{staticClass:"has-text-grey",attrs:{id:"lnkSettings",to:{name:"settings.options"}}},[e._v("\n "+e._s(e.$t("settings.settings"))),e.$root.appSettings.latestRelease&&e.$root.appSettings.checkForUpdate?t("span",{staticClass:"release-flag"}):e._e()]),e._v(" "),!this.$root.appConfig.proxyAuth||this.$root.appConfig.proxyAuth&&this.$root.appConfig.proxyLogoutUrl?t("span",[e._v("\n - "),t("button",{staticClass:"button is-text is-like-text has-text-grey",attrs:{id:"lnkSignOut"},on:{click:e.logout}},[e._v(e._s(e.$t("auth.sign_out")))])]):e._e()],1)])])}),[],!1,null,null,null).exports,$({name:"Kicker",data:function(){return{events:["click","mousedown","scroll","keypress","load"],logoutTimer:null}},mounted:function(){this.events.forEach((function(e){window.addEventListener(e,this.resetTimer)}),this),this.setTimer()},destroyed:function(){this.events.forEach((function(e){window.removeEventListener(e,this.resetTimer)}),this),clearTimeout(this.logoutTimer)},methods:{setTimer:function(){this.logoutTimer=setTimeout(this.logoutUser,60*this.$root.userPreferences.kickUserAfter*1e3)},logoutUser:function(){clearTimeout(this.logoutTimer),this.$router.push({name:"autolock"})},resetTimer:function(){clearTimeout(this.logoutTimer),this.setTimer()}}},(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,$({name:"SettingTabs",data:function(){return{tabs:[{name:this.$t("settings.options"),view:"settings.options",id:"lnkTabOptions"},{name:this.$t("settings.account"),view:"settings.account",id:"lnkTabAccount"},{name:this.$t("settings.oauth"),view:"settings.oauth.tokens",id:"lnkTabOAuth"},{name:this.$t("settings.webauthn"),view:"settings.webauthn.devices",id:"lnkTabWebauthn"}]}},props:{activeTab:{type:String,default:""}}},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"options-header"},[t("responsive-width-wrapper",[t("div",{staticClass:"tabs is-centered is-fullwidth"},[t("ul",e._l(e.tabs,(function(r){return t("li",{key:r.view,class:{"is-active":r.view===e.activeTab}},[t("router-link",{attrs:{id:r.id,to:{name:r.view,params:{returnTo:e.$route.params.returnTo}}}},[e._v(e._s(r.name))])],1)})),0)])])],1)}),[],!1,null,null,null).exports,$({name:"ResponsiveWidthWrapper",data:function(){return{}}},(function(){var e=this._self._c;return e("div",{staticClass:"columns is-centered"},[e("div",{staticClass:"form-column column is-two-thirds-tablet is-half-desktop is-half-widescreen is-one-third-fullhd"},[this._t("default")],2)])}),[],!1,null,null,null).exports].forEach((function(e){n.default.component(e.name,e)})),n.default.use(ua());new n.default({el:"#app",data:{appSettings:window.appSettings,appConfig:window.appConfig,userPreferences:window.userPreferences,isDemoApp:window.isDemoApp,isTestingApp:window.isTestingApp,prefersDarkScheme:window.matchMedia("(prefers-color-scheme: dark)").matches,spinner:{active:!1,message:"loading"}},computed:{showDarkMode:function(){return"dark"==this.userPreferences.theme||"system"==this.userPreferences.theme&&this.prefersDarkScheme}},mounted:function(){var e=this;this.mediaQueryList=window.matchMedia("(prefers-color-scheme: dark)"),this.$nextTick((function(){e.mediaQueryList.addEventListener("change",e.setDarkScheme)}))},beforeDestroy:function(){this.mediaQueryList.removeEventListener("change",this.setDarkScheme)},methods:{setDarkScheme:function(e){var t=e.matches;this.prefersDarkScheme=t},showSpinner:function(e){this.spinner.message=e,this.spinner.active=!0},hideSpinner:function(){this.spinner.active=!1,this.spinner.message="loading"}},i18n:c,router:wr})},742:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,a=s(e),i=a[0],c=a[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,i,c)),l=0,d=c>0?i-4:i;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;2===c&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[l++]=255&t);1===c&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t);return u},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,a=[],i=16383,s=0,u=n-o;su?u:s+i));1===o?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+"==")):2===o&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return a.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0;i<64;++i)r[i]=a[i],n[a.charCodeAt(i)]=i;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,n){for(var o,a,i=[],s=t;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return i.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},764:(e,t,r)=>{"use strict";var n=r(742),o=r(645),a=r(826);function i(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(i()=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function h(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(e).length;default:if(n)return F(e).length;t=(""+t).toLowerCase(),n=!0}}function m(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,r);case"utf8":case"utf-8":return A(this,t,r);case"ascii":return S(this,t,r);case"latin1":case"binary":return E(this,t,r);case"base64":return P(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function g(e,t,r,n,o){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=c.from(t,n)),c.isBuffer(t))return 0===t.length?-1:_(e,t,r,n,o);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,o){var a,i=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;i=2,s/=2,c/=2,r/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,p=0;po&&(n=o):n=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var i=0;i>8,o=r%256,a.push(o),a.push(n);return a}(t,e.length-r),e,r,n)}function P(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function A(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[o+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[o+1],i=e[o+2],128==(192&a)&&128==(192&i)&&(c=(15&u)<<12|(63&a)<<6|63&i)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[o+1],i=e[o+2],s=e[o+3],128==(192&a)&&128==(192&i)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&i)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),o+=d}return function(e){var t=e.length;if(t<=T)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},c.prototype.compare=function(e,t,r,n,o){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(o>>>=0)-(n>>>=0),i=(r>>>=0)-(t>>>=0),s=Math.min(a,i),u=this.slice(n,o),l=e.slice(t,r),d=0;do)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return y(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return k(this,e,t,r);case"base64":return x(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function S(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;on)&&(r=n);for(var o="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,r,n,o,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function D(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-r,2);o>>8*(n?o:1-o)}function R(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-r,4);o>>8*(n?o:3-o)&255}function $(e,t,r,n,o,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,n,a){return a||$(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function q(e,t,r,n,a){return a||$(e,0,r,8),o.write(e,t,r,n,52,8),r+8}c.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(o*=256);)n+=this[e+--t]*o;return n},c.prototype.readUInt8=function(e,t){return t||L(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||L(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||L(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||L(e,t,this.length);for(var n=this[e],o=1,a=0;++a=(o*=128)&&(n-=Math.pow(2,8*t)),n},c.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||L(e,t,this.length);for(var n=t,o=1,a=this[e+--n];n>0&&(o*=256);)a+=this[e+--n]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||L(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(e,t){t||L(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(e,t){return t||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||L(e,4,this.length),o.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||L(e,4,this.length),o.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||L(e,8,this.length),o.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||L(e,8,this.length),o.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||I(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+o]=e/a&255;return t+r},c.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);I(this,e,t,r,o-1,-o)}var a=0,i=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},c.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);I(this,e,t,r,o-1,-o)}var a=r-1,i=1,s=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+r},c.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},c.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},c.prototype.writeDoubleLE=function(e,t,r){return q(this,e,t,!0,r)},c.prototype.writeDoubleBE=function(e,t,r){return q(this,e,t,!1,r)},c.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--o)e[o+t]=this[o+r];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===n){(t-=3)>-1&&a.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function z(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,r,n){for(var o=0;o=t.length||o>=e.length);++o)t[o+r]=e[o];return o}},162:function(e,t,r){var n,o,a;o=[],void 0===(a="function"==typeof(n=function(){"use strict";function t(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}function n(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){c(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r.g&&r.g.global===r.g?r.g:void 0,s=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(e,t,r){var s=i.URL||i.webkitURL,c=document.createElement("a");t=t||e.name||"download",c.download=t,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?a(c):o(c.href)?n(e,t,r):a(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(c.href)}),4e4),setTimeout((function(){a(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,r,i){if(r=r||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(t(e,i),r);else if(o(e))n(e,r,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){a(s)}))}}:function(e,t,r,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return n(e,t,r);var a="application/octet-stream"===e.type,c=/constructor/i.test(i.HTMLElement)||i.safari,u=/CriOS\/[\d]+/.test(navigator.userAgent);if((u||a&&c||s)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=u?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},l.readAsDataURL(e)}else{var d=i.URL||i.webkitURL,p=d.createObjectURL(e);o?o.location=p:location.href=p,o=null,setTimeout((function(){d.revokeObjectURL(p)}),4e4)}});i.saveAs=c.saveAs=c,e.exports=c})?n.apply(t,o):n)||(e.exports=a)},645:(e,t)=>{t.read=function(e,t,r,n,o){var a,i,s=8*o-n-1,c=(1<>1,l=-7,d=r?o-1:0,p=r?-1:1,f=e[t+d];for(d+=p,a=f&(1<<-l)-1,f>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=p,l-=8);for(i=a&(1<<-l)-1,a>>=-l,l+=n;l>0;i=256*i+e[t+d],d+=p,l-=8);if(0===a)a=1-u;else{if(a===c)return i?NaN:1/0*(f?-1:1);i+=Math.pow(2,n),a-=u}return(f?-1:1)*i*Math.pow(2,a-n)},t.write=function(e,t,r,n,o,a){var i,s,c,u=8*a-o-1,l=(1<>1,p=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,h=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=l):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),(t+=i+d>=1?p/c:p*Math.pow(2,1-d))*c>=2&&(i++,c/=2),i+d>=l?(s=0,i=l):i+d>=1?(s=(t*c-1)*Math.pow(2,o),i+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),i=0));o>=8;e[r+f]=255&s,f+=h,s/=256,o-=8);for(i=i<0;e[r+f]=255&i,f+=h,i/=256,u-=8);e[r+f-h]|=128*m}},826:e=>{var t={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==t.call(e)}},198:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(519),o=r.n(n)()((function(e){return e[1]}));o.push([e.id,".spinner-container[data-v-a80773f6]{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;text-align:center;top:0;z-index:10000}.spinner[data-v-a80773f6]{display:block}",""]);const a=o},673:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n=r(519),o=r.n(n)()((function(e){return e[1]}));o.push([e.id,".flip-list-move{transition:transform .5s}.ghost{opacity:1}",""]);const a=o},519:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var a=0;a{},661:(e,t,r)=>{"use strict";var n=r(733);t.ZP=n.objectEquals},733:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=(t.objectEquals=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=r.depth||1e5,a=r.keysOnly||!1,i=r.valuesOnly||!1;return n(e,t,{depth:o,currentDepth:0,keysOnly:a,valuesOnly:i})},function e(t,n,o){var a=o.depth,i=o.currentDepth,s=o.keysOnly,c=o.valuesOnly;if(!t||!n||"object"!==(void 0===t?"undefined":r(t))||"object"!==(void 0===n?"undefined":r(n)))return t===n;if(i>=a)return!0;i+=1;var u=Object.entries(t),l=Object.entries(n);if(u.length!==l.length)return!1;for(var d=0;d{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(){return a=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function c(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);tbt,Sortable:()=>Me,Swap:()=>ct,default:()=>kt});function u(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var l=u(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),d=u(/Edge/i),p=u(/firefox/i),f=u(/safari/i)&&!u(/chrome/i)&&!u(/android/i),h=u(/iP(ad|od|hone)/i),m=u(/chrome/i)&&u(/android/i),v={capture:!1,passive:!1};function g(e,t,r){e.addEventListener(t,r,!l&&v)}function _(e,t,r){e.removeEventListener(t,r,!l&&v)}function b(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function y(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function w(e,t,r,n){if(e){r=r||document;do{if(null!=t&&(">"===t[0]?e.parentNode===r&&b(e,t):b(e,t))||n&&e===r)return e;if(e===r)break}while(e=y(e))}return null}var k,x=/\s+/g;function C(e,t,r){if(e&&t)if(e.classList)e.classList[r?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(x," ").replace(" "+t+" "," ");e.className=(n+(r?" "+t:"")).replace(x," ")}}function P(e,t,r){var n=e&&e.style;if(n){if(void 0===r)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(r=e.currentStyle),void 0===t?r:r[t];t in n||-1!==t.indexOf("webkit")||(t="-webkit-"+t),n[t]=r+("string"==typeof r?"":"px")}}function A(e,t){var r="";if("string"==typeof e)r=e;else do{var n=P(e,"transform");n&&"none"!==n&&(r=n+" "+r)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(r)}function T(e,t,r){if(e){var n=e.getElementsByTagName(t),o=0,a=n.length;if(r)for(;o=a:o<=a))return n;if(n===S())break;n=R(n,!1)}return!1}function B(e,t,r){for(var n=0,o=0,a=e.children;o2&&void 0!==arguments[2]?arguments[2]:{},n=r.evt,o=s(r,["evt"]);H.pluginEvent.bind(Me)(e,t,i({dragEl:V,parentEl:X,ghostEl:Z,rootEl:J,nextEl:ee,lastDownEl:te,cloneEl:re,cloneHidden:ne,dragStarted:ve,putSortable:ue,activeSortable:Me.active,originalEvent:n,oldIndex:oe,oldDraggableIndex:ie,newIndex:ae,newDraggableIndex:se,hideGhostForTarget:$e,unhideGhostForTarget:Ne,cloneNowHidden:function(){ne=!0},cloneNowShown:function(){ne=!1},dispatchSortableEvent:function(e){K({sortable:t,name:e,originalEvent:n})}},o))};function K(e){Y(i({putSortable:ue,cloneEl:re,targetEl:V,rootEl:J,oldIndex:oe,oldDraggableIndex:ie,newIndex:ae,newDraggableIndex:se},e))}var V,X,Z,J,ee,te,re,ne,oe,ae,ie,se,ce,ue,le,de,pe,fe,he,me,ve,ge,_e,be,ye,we=!1,ke=!1,xe=[],Ce=!1,Pe=!1,Ae=[],Te=!1,Se=[],Ee="undefined"!=typeof document,Oe=h,Be=d||l?"cssFloat":"float",Le=Ee&&!m&&!h&&"draggable"in document.createElement("div"),Ie=function(){if(Ee){if(l)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),De=function(e,t){var r=P(e),n=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),o=B(e,0,t),a=B(e,1,t),i=o&&P(o),s=a&&P(a),c=i&&parseInt(i.marginLeft)+parseInt(i.marginRight)+E(o).width,u=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+E(a).width;if("flex"===r.display)return"column"===r.flexDirection||"column-reverse"===r.flexDirection?"vertical":"horizontal";if("grid"===r.display)return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&i.float&&"none"!==i.float){var l="left"===i.float?"left":"right";return!a||"both"!==s.clear&&s.clear!==l?"horizontal":"vertical"}return o&&("block"===i.display||"flex"===i.display||"table"===i.display||"grid"===i.display||c>=n&&"none"===r[Be]||a&&"none"===r[Be]&&c+u>n)?"vertical":"horizontal"},Re=function(e){function t(e,r){return function(n,o,a,i){var s=n.options.group.name&&o.options.group.name&&n.options.group.name===o.options.group.name;if(null==e&&(r||s))return!0;if(null==e||!1===e)return!1;if(r&&"clone"===e)return e;if("function"==typeof e)return t(e(n,o,a,i),r)(n,o,a,i);var c=(r?n:o).options.group.name;return!0===e||"string"==typeof e&&e===c||e.join&&e.indexOf(c)>-1}}var r={},o=e.group;o&&"object"==n(o)||(o={name:o}),r.name=o.name,r.checkPull=t(o.pull,!0),r.checkPut=t(o.put),r.revertClone=o.revertClone,e.group=r},$e=function(){!Ie&&Z&&P(Z,"display","none")},Ne=function(){!Ie&&Z&&P(Z,"display","")};Ee&&document.addEventListener("click",(function(e){if(ke)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),ke=!1,!1}),!0);var qe=function(e){if(V){e=e.touches?e.touches[0]:e;var t=(o=e.clientX,a=e.clientY,xe.some((function(e){if(!L(e)){var t=E(e),r=e[z].options.emptyInsertThreshold,n=o>=t.left-r&&o<=t.right+r,s=a>=t.top-r&&a<=t.bottom+r;return r&&n&&s?i=e:void 0}})),i);if(t){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);r.target=r.rootEl=t,r.preventDefault=void 0,r.stopPropagation=void 0,t[z]._onDragOver(r)}}var o,a,i},je=function(e){V&&V.parentNode[z]._isOutsideThisEl(e.target)};function Me(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=a({},t),e[z]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return De(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Me.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var n in H.initializePlugins(this,e,r),r)!(n in t)&&(t[n]=r[n]);for(var o in Re(t),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!t.forceFallback&&Le,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?g(e,"pointerdown",this._onTapStart):(g(e,"mousedown",this._onTapStart),g(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(g(e,"dragover",this),g(e,"dragenter",this)),xe.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),a(this,U())}function Fe(e,t,r,n,o,a,i,s){var c,u,p=e[z],f=p.options.onMove;return!window.CustomEvent||l||d?(c=document.createEvent("Event")).initEvent("move",!0,!0):c=new CustomEvent("move",{bubbles:!0,cancelable:!0}),c.to=t,c.from=e,c.dragged=r,c.draggedRect=n,c.related=o||t,c.relatedRect=a||E(t),c.willInsertAfter=s,c.originalEvent=i,e.dispatchEvent(c),f&&(u=f.call(p,c,i)),u}function ze(e){e.draggable=!1}function Ue(){Te=!1}function Ge(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,r=t.length,n=0;r--;)n+=t.charCodeAt(r);return n.toString(36)}function We(e){return setTimeout(e,0)}function He(e){return clearTimeout(e)}Me.prototype={constructor:Me,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(ge=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,V):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,r=this.el,n=this.options,o=n.preventOnFilter,a=e.type,i=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(i||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,u=n.filter;if(function(e){Se.length=0;var t=e.getElementsByTagName("input"),r=t.length;for(;r--;){var n=t[r];n.checked&&Se.push(n)}}(r),!V&&!(/mousedown|pointerdown/.test(a)&&0!==e.button||n.disabled||c.isContentEditable||(s=w(s,n.draggable,r,!1))&&s.animated||te===s)){if(oe=I(s),ie=I(s,n.draggable),"function"==typeof u){if(u.call(this,e,s,this))return K({sortable:t,rootEl:c,name:"filter",targetEl:s,toEl:r,fromEl:r}),Q("filter",t,{evt:e}),void(o&&e.cancelable&&e.preventDefault())}else if(u&&(u=u.split(",").some((function(n){if(n=w(c,n.trim(),r,!1))return K({sortable:t,rootEl:n,name:"filter",targetEl:s,fromEl:r,toEl:r}),Q("filter",t,{evt:e}),!0}))))return void(o&&e.cancelable&&e.preventDefault());n.handle&&!w(c,n.handle,r,!1)||this._prepareDragStart(e,i,s)}}},_prepareDragStart:function(e,t,r){var n,o=this,a=o.el,i=o.options,s=a.ownerDocument;if(r&&!V&&r.parentNode===a){var c=E(r);if(J=a,X=(V=r).parentNode,ee=V.nextSibling,te=r,ce=i.group,Me.dragged=V,le={target:V,clientX:(t||e).clientX,clientY:(t||e).clientY},he=le.clientX-c.left,me=le.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,V.style["will-change"]="all",n=function(){Q("delayEnded",o,{evt:e}),Me.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!p&&o.nativeDraggable&&(V.draggable=!0),o._triggerDragStart(e,t),K({sortable:o,name:"choose",originalEvent:e}),C(V,i.chosenClass,!0))},i.ignore.split(",").forEach((function(e){T(V,e.trim(),ze)})),g(s,"dragover",qe),g(s,"mousemove",qe),g(s,"touchmove",qe),g(s,"mouseup",o._onDrop),g(s,"touchend",o._onDrop),g(s,"touchcancel",o._onDrop),p&&this.nativeDraggable&&(this.options.touchStartThreshold=4,V.draggable=!0),Q("delayStart",this,{evt:e}),!i.delay||i.delayOnTouchOnly&&!t||this.nativeDraggable&&(d||l))n();else{if(Me.eventCanceled)return void this._onDrop();g(s,"mouseup",o._disableDelayedDrag),g(s,"touchend",o._disableDelayedDrag),g(s,"touchcancel",o._disableDelayedDrag),g(s,"mousemove",o._delayedDragTouchMoveHandler),g(s,"touchmove",o._delayedDragTouchMoveHandler),i.supportPointer&&g(s,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(n,i.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){V&&ze(V),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;_(e,"mouseup",this._disableDelayedDrag),_(e,"touchend",this._disableDelayedDrag),_(e,"touchcancel",this._disableDelayedDrag),_(e,"mousemove",this._delayedDragTouchMoveHandler),_(e,"touchmove",this._delayedDragTouchMoveHandler),_(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?g(document,"pointermove",this._onTouchMove):g(document,t?"touchmove":"mousemove",this._onTouchMove):(g(V,"dragend",this),g(J,"dragstart",this._onDragStart));try{document.selection?We((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(we=!1,J&&V){Q("dragStarted",this,{evt:t}),this.nativeDraggable&&g(document,"dragover",je);var r=this.options;!e&&C(V,r.dragClass,!1),C(V,r.ghostClass,!0),Me.active=this,e&&this._appendGhost(),K({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(de){this._lastX=de.clientX,this._lastY=de.clientY,$e();for(var e=document.elementFromPoint(de.clientX,de.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(de.clientX,de.clientY))!==t;)t=e;if(V.parentNode[z]._isOutsideThisEl(e),t)do{if(t[z]){if(t[z]._onDragOver({clientX:de.clientX,clientY:de.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Ne()}},_onTouchMove:function(e){if(le){var t=this.options,r=t.fallbackTolerance,n=t.fallbackOffset,o=e.touches?e.touches[0]:e,a=Z&&A(Z,!0),i=Z&&a&&a.a,s=Z&&a&&a.d,c=Oe&&ye&&D(ye),u=(o.clientX-le.clientX+n.x)/(i||1)+(c?c[0]-Ae[0]:0)/(i||1),l=(o.clientY-le.clientY+n.y)/(s||1)+(c?c[1]-Ae[1]:0)/(s||1);if(!Me.active&&!we){if(r&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))n.right+o||e.clientX<=n.right&&e.clientY>n.bottom&&e.clientX>=n.left:e.clientX>n.right&&e.clientY>n.top||e.clientX<=n.right&&e.clientY>n.bottom+o}(e,o,this)&&!v.animated){if(v===V)return j(!1);if(v&&a===e.target&&(s=v),s&&(r=E(s)),!1!==Fe(J,a,V,t,s,r,e,!!s))return N(),a.appendChild(V),X=a,M(),j(!0)}else if(s.parentNode===a){r=E(s);var g,_,b,y=V.parentNode!==a,k=!function(e,t,r){var n=r?e.left:e.top,o=r?e.right:e.bottom,a=r?e.width:e.height,i=r?t.left:t.top,s=r?t.right:t.bottom,c=r?t.width:t.height;return n===i||o===s||n+a/2===i+c/2}(V.animated&&V.toRect||t,s.animated&&s.toRect||r,o),x=o?"top":"left",A=O(s,"top","top")||O(V,"top","top"),T=A?A.scrollTop:void 0;if(ge!==s&&(_=r[x],Ce=!1,Pe=!k&&c.invertSwap||y),g=function(e,t,r,n,o,a,i,s){var c=n?e.clientY:e.clientX,u=n?r.height:r.width,l=n?r.top:r.left,d=n?r.bottom:r.right,p=!1;if(!i)if(s&&bel+u*a/2:cd-be)return-_e}else if(c>l+u*(1-o)/2&&cd-u*a/2))return c>l+u/2?1:-1;return 0}(e,s,r,o,k?1:c.swapThreshold,null==c.invertedSwapThreshold?c.swapThreshold:c.invertedSwapThreshold,Pe,ge===s),0!==g){var S=I(V);do{S-=g,b=X.children[S]}while(b&&("none"===P(b,"display")||b===Z))}if(0===g||b===s)return j(!1);ge=s,_e=g;var B=s.nextElementSibling,D=!1,R=Fe(J,a,V,t,s,r,e,D=1===g);if(!1!==R)return 1!==R&&-1!==R||(D=1===R),Te=!0,setTimeout(Ue,30),N(),D&&!B?a.appendChild(V):s.parentNode.insertBefore(V,D?B:s),A&&q(A,0,T-A.scrollTop),X=V.parentNode,void 0===_||Pe||(be=Math.abs(_-E(s)[x])),M(),j(!0)}if(a.contains(V))return j(!1)}return!1}function $(c,u){Q(c,h,i({evt:e,isOwner:d,axis:o?"vertical":"horizontal",revert:n,dragRect:t,targetRect:r,canSort:p,fromSortable:f,target:s,completed:j,onMove:function(r,n){return Fe(J,a,V,t,r,E(r),e,n)},changed:M},u))}function N(){$("dragOverAnimationCapture"),h.captureAnimationState(),h!==f&&f.captureAnimationState()}function j(t){return $("dragOverCompleted",{insertion:t}),t&&(d?l._hideClone():l._showClone(h),h!==f&&(C(V,ue?ue.options.ghostClass:l.options.ghostClass,!1),C(V,c.ghostClass,!0)),ue!==h&&h!==Me.active?ue=h:h===Me.active&&ue&&(ue=null),f===h&&(h._ignoreWhileAnimating=s),h.animateAll((function(){$("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(s===V&&!V.animated||s===a&&!s.animated)&&(ge=null),c.dragoverBubble||e.rootEl||s===document||(V.parentNode[z]._isOutsideThisEl(e.target),!t&&qe(e)),!c.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function M(){ae=I(V),se=I(V,c.draggable),K({sortable:h,name:"change",toEl:a,newIndex:ae,newDraggableIndex:se,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){_(document,"mousemove",this._onTouchMove),_(document,"touchmove",this._onTouchMove),_(document,"pointermove",this._onTouchMove),_(document,"dragover",qe),_(document,"mousemove",qe),_(document,"touchmove",qe)},_offUpEvents:function(){var e=this.el.ownerDocument;_(e,"mouseup",this._onDrop),_(e,"touchend",this._onDrop),_(e,"pointerup",this._onDrop),_(e,"touchcancel",this._onDrop),_(document,"selectstart",this)},_onDrop:function(e){var t=this.el,r=this.options;ae=I(V),se=I(V,r.draggable),Q("drop",this,{evt:e}),X=V&&V.parentNode,ae=I(V),se=I(V,r.draggable),Me.eventCanceled||(we=!1,Pe=!1,Ce=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),He(this.cloneId),He(this._dragStartId),this.nativeDraggable&&(_(document,"drop",this),_(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),f&&P(document.body,"user-select",""),P(V,"transform",""),e&&(ve&&(e.cancelable&&e.preventDefault(),!r.dropBubble&&e.stopPropagation()),Z&&Z.parentNode&&Z.parentNode.removeChild(Z),(J===X||ue&&"clone"!==ue.lastPutMode)&&re&&re.parentNode&&re.parentNode.removeChild(re),V&&(this.nativeDraggable&&_(V,"dragend",this),ze(V),V.style["will-change"]="",ve&&!we&&C(V,ue?ue.options.ghostClass:this.options.ghostClass,!1),C(V,this.options.chosenClass,!1),K({sortable:this,name:"unchoose",toEl:X,newIndex:null,newDraggableIndex:null,originalEvent:e}),J!==X?(ae>=0&&(K({rootEl:X,name:"add",toEl:X,fromEl:J,originalEvent:e}),K({sortable:this,name:"remove",toEl:X,originalEvent:e}),K({rootEl:X,name:"sort",toEl:X,fromEl:J,originalEvent:e}),K({sortable:this,name:"sort",toEl:X,originalEvent:e})),ue&&ue.save()):ae!==oe&&ae>=0&&(K({sortable:this,name:"update",toEl:X,originalEvent:e}),K({sortable:this,name:"sort",toEl:X,originalEvent:e})),Me.active&&(null!=ae&&-1!==ae||(ae=oe,se=ie),K({sortable:this,name:"end",toEl:X,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){Q("nulling",this),J=V=X=Z=ee=re=te=ne=le=de=ve=ae=se=oe=ie=ge=_e=ue=ce=Me.dragged=Me.ghost=Me.clone=Me.active=null,Se.forEach((function(e){e.checked=!0})),Se.length=pe=fe=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":V&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],r=this.el.children,n=0,o=r.length,a=this.options;n1&&(ht.forEach((function(e){n.addAnimationState({target:e,rect:gt?E(e):o}),F(e),e.fromRect=o,t.removeAnimationState(e)})),gt=!1,function(e,t){ht.forEach((function(r,n){var o=t.children[r.sortableIndex+(e?Number(n):0)];o?t.insertBefore(r,o):t.appendChild(r)}))}(!this.options.removeCloneOnHide,r))},dragOverCompleted:function(e){var t=e.sortable,r=e.isOwner,n=e.insertion,o=e.activeSortable,a=e.parentEl,i=e.putSortable,s=this.options;if(n){if(r&&o._hideClone(),vt=!1,s.animation&&ht.length>1&&(gt||!r&&!o.options.sort&&!i)){var c=E(dt,!1,!0,!0);ht.forEach((function(e){e!==dt&&(M(e,c),a.appendChild(e))})),gt=!0}if(!r)if(gt||wt(),ht.length>1){var u=ft;o._showClone(t),o.options.animation&&!ft&&u&&mt.forEach((function(e){o.addAnimationState({target:e,rect:pt}),e.fromRect=pt,e.thisAnimationDuration=null}))}else o._showClone(t)}},dragOverAnimationCapture:function(e){var t=e.dragRect,r=e.isOwner,n=e.activeSortable;if(ht.forEach((function(e){e.thisAnimationDuration=null})),n.options.animation&&!r&&n.multiDrag.isMultiDrag){pt=a({},t);var o=A(dt,!0);pt.top-=o.f,pt.left-=o.e}},dragOverAnimationComplete:function(){gt&&(gt=!1,wt())},drop:function(e){var t=e.originalEvent,r=e.rootEl,n=e.parentEl,o=e.sortable,a=e.dispatchSortableEvent,i=e.oldIndex,s=e.putSortable,c=s||this.sortable;if(t){var u=this.options,l=n.children;if(!_t)if(u.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),C(dt,u.selectedClass,!~ht.indexOf(dt)),~ht.indexOf(dt))ht.splice(ht.indexOf(dt),1),ut=null,Y({sortable:o,rootEl:r,name:"deselect",targetEl:dt,originalEvt:t});else{if(ht.push(dt),Y({sortable:o,rootEl:r,name:"select",targetEl:dt,originalEvt:t}),t.shiftKey&&ut&&o.el.contains(ut)){var d,p,f=I(ut),h=I(dt);if(~f&&~h&&f!==h)for(h>f?(p=f,d=h):(p=h,d=f+1);p1){var m=E(dt),v=I(dt,":not(."+this.options.selectedClass+")");if(!vt&&u.animation&&(dt.thisAnimationDuration=null),c.captureAnimationState(),!vt&&(u.animation&&(dt.fromRect=m,ht.forEach((function(e){if(e.thisAnimationDuration=null,e!==dt){var t=gt?E(e):m;e.fromRect=t,c.addAnimationState({target:e,rect:t})}}))),wt(),ht.forEach((function(e){l[v]?n.insertBefore(e,l[v]):n.appendChild(e),v++})),i===I(dt))){var g=!1;ht.forEach((function(e){e.sortableIndex===I(e)||(g=!0)})),g&&a("update")}ht.forEach((function(e){F(e)})),c.animateAll()}lt=c}(r===n||s&&"clone"!==s.lastPutMode)&&mt.forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))}},nullingGlobal:function(){this.isMultiDrag=_t=!1,mt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),_(document,"pointerup",this._deselectMultiDrag),_(document,"mouseup",this._deselectMultiDrag),_(document,"touchend",this._deselectMultiDrag),_(document,"keydown",this._checkKeyDown),_(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(void 0!==_t&&_t||lt!==this.sortable||e&&w(e.target,this.options.draggable,this.sortable.el,!1)||e&&0!==e.button))for(;ht.length;){var t=ht[0];C(t,this.options.selectedClass,!1),ht.shift(),Y({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:t,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},a(e,{pluginName:"multiDrag",utils:{select:function(e){var t=e.parentNode[z];t&&t.options.multiDrag&&!~ht.indexOf(e)&&(lt&<!==t&&(lt.multiDrag._deselectMultiDrag(),lt=t),C(e,t.options.selectedClass,!0),ht.push(e))},deselect:function(e){var t=e.parentNode[z],r=ht.indexOf(e);t&&t.options.multiDrag&&~r&&(C(e,t.options.selectedClass,!1),ht.splice(r,1))}},eventProperties:function(){var e=this,t=[],r=[];return ht.forEach((function(n){var o;t.push({multiDragElement:n,index:n.sortableIndex}),o=gt&&n!==dt?-1:gt?I(n,":not(."+e.options.selectedClass+")"):I(n),r.push({multiDragElement:n,index:o})})),{items:c(ht),clones:[].concat(mt),oldIndicies:t,newIndicies:r}},optionListeners:{multiDragKey:function(e){return"ctrl"===(e=e.toLowerCase())?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function yt(e,t){mt.forEach((function(r,n){var o=t.children[r.sortableIndex+(e?Number(n):0)];o?t.insertBefore(r,o):t.appendChild(r)}))}function wt(){ht.forEach((function(e){e!==dt&&e.parentNode&&e.parentNode.removeChild(e)}))}Me.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?g(document,"dragover",this._handleAutoScroll):this.options.supportPointer?g(document,"pointermove",this._handleFallbackAutoScroll):t.touches?g(document,"touchmove",this._handleFallbackAutoScroll):g(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?_(document,"dragover",this._handleAutoScroll):(_(document,"pointermove",this._handleFallbackAutoScroll),_(document,"touchmove",this._handleFallbackAutoScroll),_(document,"mousemove",this._handleFallbackAutoScroll)),rt(),tt(),clearTimeout(k),k=void 0},nulling:function(){Xe=Qe=Ye=et=Ze=Ke=Ve=null,Je.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var r=this,n=(e.touches?e.touches[0]:e).clientX,o=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(n,o);if(Xe=e,t||d||l||f){ot(e,this.options,a,t);var i=R(a,!0);!et||Ze&&n===Ke&&o===Ve||(Ze&&rt(),Ze=setInterval((function(){var a=R(document.elementFromPoint(n,o),!0);a!==i&&(i=a,tt()),ot(e,r.options,a,t)}),10),Ke=n,Ve=o)}else{if(!this.options.bubbleScroll||R(a,!0)===S())return void tt();ot(e,this.options,R(a,!1),!1)}}},a(e,{pluginName:"scroll",initializeByDefault:!0})}),Me.mount(st,it);const kt=Me},379:(e,t,r)=>{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),i=[];function s(e){for(var t=-1,r=0;r1&&void 0!==arguments[1]?arguments[1]:{};if(!this.installed){this.installed=!0,this.params=t,e.component(t.componentName||"notifications",o.a);var r=function(e){"string"==typeof e&&(e={title:"",text:e}),"object"===(void 0===e?"undefined":i(e))&&a.a.$emit("add",e)};r.close=function(e){a.a.$emit("close",e)};var n=t.name||"notify";e.prototype["$"+n]=r,e[n]=r}}};t.default=s},function(e,t,r){r(17);var n=r(0)(r(5),r(15),null,null);e.exports=n.exports},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"CssGroup",props:["name"]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=r(1),a=r(9),i=r(7),s=r(13),c=r.n(s),u=r(12),l=r.n(u),d=r(8),p=0,f=2,h={name:"Notifications",components:{VelocityGroup:c.a,CssGroup:l.a},props:{group:{type:String,default:""},width:{type:[Number,String],default:300},reverse:{type:Boolean,default:!1},position:{type:[String,Array],default:function(){return i.a.position}},classes:{type:String,default:"vue-notification"},animationType:{type:String,default:"css",validator:function(e){return"css"===e||"velocity"===e}},animation:{type:Object,default:function(){return i.a.velocityAnimation}},animationName:{type:String,default:i.a.cssAnimation},speed:{type:Number,default:300},cooldown:{type:Number,default:0},duration:{type:Number,default:3e3},delay:{type:Number,default:0},max:{type:Number,default:1/0},ignoreDuplicates:{type:Boolean,default:!1},closeOnClick:{type:Boolean,default:!0}},data:function(){return{list:[],velocity:n.default.params.velocity}},mounted:function(){o.a.$on("add",this.addItem),o.a.$on("close",this.closeItem)},computed:{actualWidth:function(){return r.i(d.a)(this.width)},isVA:function(){return"velocity"===this.animationType},componentName:function(){return this.isVA?"VelocityGroup":"CssGroup"},styles:function(){var e,t,n,o=r.i(a.a)(this.position),i=o.x,s=o.y,c=this.actualWidth.value,u=this.actualWidth.type,l=(n="0px",(t=s)in(e={width:c+u})?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e);return"center"===i?l.left="calc(50% - "+c/2+u+")":l[i]="0px",l},active:function(){return this.list.filter((function(e){return e.state!==f}))},botToTop:function(){return this.styles.hasOwnProperty("bottom")}},methods:{destroyIfNecessary:function(e){this.closeOnClick&&this.destroy(e)},addItem:function(e){var t=this;if(e.group=e.group||"",this.group===e.group)if(e.clean||e.clear)this.destroyAll();else{var n="number"==typeof e.duration?e.duration:this.duration,o="number"==typeof e.speed?e.speed:this.speed,i="boolean"==typeof e.ignoreDuplicates?e.ignoreDuplicates:this.ignoreDuplicates,s=e.title,c=e.text,u=e.type,l=e.data,d={id:e.id||r.i(a.b)(),title:s,text:c,type:u,state:p,speed:o,length:n+2*o,data:l};n>=0&&(d.timer=setTimeout((function(){t.destroy(d)}),d.length));var f=this.reverse?!this.botToTop:this.botToTop,h=-1,m=this.active.some((function(t){return t.title===e.title&&t.text===e.text}));(!i||!m)&&(f?(this.list.push(d),this.active.length>this.max&&(h=0)):(this.list.unshift(d),this.active.length>this.max&&(h=this.active.length-1)),-1!==h&&this.destroy(this.active[h]))}},closeItem:function(e){this.destroyById(e)},notifyClass:function(e){return["vue-notification-template",this.classes,e.type]},notifyWrapperStyle:function(e){return this.isVA?null:{transition:"all "+e.speed+"ms"}},destroy:function(e){clearTimeout(e.timer),e.state=f,this.isVA||this.clean()},destroyById:function(e){var t=this.list.find((function(t){return t.id===e}));t&&this.destroy(t)},destroyAll:function(){this.active.forEach(this.destroy)},getAnimation:function(e,t){var r=this.animation[e];return"function"==typeof r?r.call(this,t):r},enter:function(e){var t=e.el,r=e.complete,n=this.getAnimation("enter",t);this.velocity(t,n,{duration:this.speed,complete:r})},leave:function(e){var t=e.el,r=e.complete,n=this.getAnimation("leave",t);this.velocity(t,n,{duration:this.speed,complete:r})},clean:function(){this.list=this.list.filter((function(e){return e.state!==f}))}}};t.default=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"VelocityGroup",methods:{enter:function(e,t){this.$emit("enter",{el:e,complete:t})},leave:function(e,t){this.$emit("leave",{el:e,complete:t})},afterLeave:function(){this.$emit("afterLeave")}}}},function(e,t,r){"use strict";t.a={position:["top","right"],cssAnimation:"vn-fade",velocityAnimation:{enter:function(e){return{height:[e.clientHeight,0],opacity:[1,0]}},leave:{height:0,opacity:[0,1]}}}},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o="[-+]?[0-9]*.?[0-9]+",a=[{name:"px",regexp:new RegExp("^"+o+"px$")},{name:"%",regexp:new RegExp("^"+o+"%$")},{name:"px",regexp:new RegExp("^"+o+"$")}];t.a=function(e){switch(void 0===e?"undefined":n(e)){case"number":return{type:"px",value:e};case"string":return function(e){if("auto"===e)return{type:e,value:0};for(var t=0;tr.parts.length&&(n.parts.length=r.parts.length)}else{var i=[];for(o=0;o{e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="fb15")}({"00ee":function(e,t,r){var n={};n[r("b622")("toStringTag")]="z",e.exports="[object z]"===String(n)},"0366":function(e,t,r){var n=r("1c0b");e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},"0538":function(e,t,r){"use strict";var n=r("1c0b"),o=r("861d"),a=[].slice,i={};e.exports=Function.bind||function(e){var t=n(this),r=a.call(arguments,1),s=function(){var n=r.concat(a.call(arguments));return this instanceof s?function(e,t,r){if(!(t in i)){for(var n=[],o=0;o=r&&parseInt(n[r],10)}function g(e,t){m&&console.warn(e+" is deprecated, please use "+t+" instead.")}function _(e){var t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;var r=e.navigator;if(r.mozGetUserMedia)t.browser="firefox",t.version=v(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=v(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(r.mediaDevices&&r.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=v(r.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=v(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}function b(e){return"[object Object]"===Object.prototype.toString.call(e)}function y(e){return b(e)?Object.keys(e).reduce((function(t,r){var o=b(e[r]),a=o?y(e[r]):e[r],i=o&&!Object.keys(a).length;return void 0===a||i?t:Object.assign(t,n({},r,a))}),{}):e}var w=function(){if("object"===("undefined"==typeof window?"undefined":Object(f.a)(window))){if(h)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}};r("c975"),r("a434");function k(e){var t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){var r=t.mediaDevices,n=r.getUserMedia.bind(r);t.mediaDevices.getUserMedia=function(e){return n(function(e){if(e&&void 0!==e.video)return Object.assign({},e,{video:y(e.video)});return e}(e))}}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}var x,C,P,A=(x=function(){switch(_(window).browser){case"chrome":!function(e){var t=e&&e.navigator;if(t.mediaDevices){var r=_(e),n=function(e){if("object"!==Object(f.a)(e)||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach((function(r){if("require"!==r&&"advanced"!==r&&"mediaSource"!==r){var n="object"===Object(f.a)(e[r])?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);var o=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];var a={};"number"==typeof n.ideal?(a[o("min",r)]=n.ideal,t.optional.push(a),(a={})[o("max",r)]=n.ideal,t.optional.push(a)):(a[o("",r)]=n.ideal,t.optional.push(a))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[o("",r)]=n.exact):["min","max"].forEach((function(e){void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[o(e,r)]=n[e])}))}})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},o=function(e,o){if(r.version>=61)return o(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"===Object(f.a)(e.audio)){var a=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};a((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),a(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"===Object(f.a)(e.video)){var i=e.video.facingMode;i=i&&("object"===Object(f.a)(i)?i:{ideal:i});var s,c=r.version<66;if(i&&("user"===i.exact||"environment"===i.exact||"user"===i.ideal||"environment"===i.ideal)&&(!t.mediaDevices.getSupportedConstraints||!t.mediaDevices.getSupportedConstraints().facingMode||c)&&(delete e.video.facingMode,"environment"===i.exact||"environment"===i.ideal?s=["back","rear"]:"user"!==i.exact&&"user"!==i.ideal||(s=["front"]),s))return t.mediaDevices.enumerateDevices().then((function(t){var r=(t=t.filter((function(e){return"videoinput"===e.kind}))).find((function(e){return s.some((function(t){return e.label.toLowerCase().includes(t)}))}));return!r&&t.length&&s.includes("back")&&(r=t[t.length-1]),r&&(e.video.deviceId=i.exact?{exact:r.deviceId}:{ideal:r.deviceId}),e.video=n(e.video),w("chrome: "+JSON.stringify(e)),o(e)}));e.video=n(e.video)}return w("chrome: "+JSON.stringify(e)),o(e)},a=function(e){return r.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};if(t.getUserMedia=function(e,r,n){o(e,(function(e){t.webkitGetUserMedia(e,r,(function(e){n&&n(a(e))}))}))}.bind(t),t.mediaDevices.getUserMedia){var i=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return o(e,(function(e){return i(e).then((function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach((function(e){e.stop()})),new DOMException("","NotFoundError");return t}),(function(e){return Promise.reject(a(e))}))}))}}}}(window);break;case"firefox":!function(e){var t=_(e),r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){g("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){var o=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},a=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(e){return"object"===Object(f.a)(e)&&"object"===Object(f.a)(e.audio)&&(e=JSON.parse(JSON.stringify(e)),o(e.audio,"autoGainControl","mozAutoGainControl"),o(e.audio,"noiseSuppression","mozNoiseSuppression")),a(e)},n&&n.prototype.getSettings){var i=n.prototype.getSettings;n.prototype.getSettings=function(){var e=i.apply(this,arguments);return o(e,"mozAutoGainControl","autoGainControl"),o(e,"mozNoiseSuppression","noiseSuppression"),e}}if(n&&n.prototype.applyConstraints){var s=n.prototype.applyConstraints;n.prototype.applyConstraints=function(e){return"audio"===this.kind&&"object"===Object(f.a)(e)&&(e=JSON.parse(JSON.stringify(e)),o(e,"autoGainControl","mozAutoGainControl"),o(e,"noiseSuppression","mozNoiseSuppression")),s.apply(this,[e])}}}}(window);break;case"edge":!function(e){var t=e&&e.navigator,r=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return r(e).catch((function(e){return Promise.reject(function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString:function(){return this.name}}}(e))}))}}(window);break;case"safari":k(window);break;default:throw new d.c}},C=!1,P=void 0,function(){return C||(P=x.apply(void 0,arguments),C=!0),P}),T=function(){function e(t,r){Object(u.a)(this,e),this.videoEl=t,this.stream=r}var t,r,n;return t=e,(r=[{key:"stop",value:function(){var e=this;this.videoEl.srcObject=null,this.stream.getTracks().forEach((function(t){e.stream.removeTrack(t),t.stop()}))}},{key:"getCapabilities",value:function(){var e,t,r=this.stream.getVideoTracks(),n=Object(c.a)(r,1)[0];return null!==(e=null==n||null===(t=n.getCapabilities)||void 0===t?void 0:t.call(n))&&void 0!==e?e:{}}}])&&l(t.prototype,r),n&&l(t,n),e}(),S=function(){var e=Object(i.a)(regeneratorRuntime.mark((function e(t){var r,n,o,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=["OBS Virtual Camera","OBS-Camera","Desk View Camera","Schreibtischansicht-Kamera","Caméra Desk View","Fotocamera di Panoramica Scrivania","Rückseitige Ultra-Weitwinkelkamera","Rückseitige Telefotokamera","Rückseitige Dual-Weitwinkelkamera","Rückseitige Triple-Kamera","Back Dual Wide Camera","Back Triple Camera","Back Ultra Wide Camera","Zadní ultra širokoúhlý fotoaparát","Stolní kamera"],e.next=3,navigator.mediaDevices.enumerateDevices();case 3:if(!((n=e.sent.filter((function(e){return"videoinput"===e.kind})).filter((function(e){var t=e.label;return!r.includes(t)})).filter((function(e){return!e.label.includes("infrared")}))).length>2)){e.next=16;break}o=n[0],a=n[n.length-1],e.t0=t,e.next="auto"===e.t0?10:"rear"===e.t0?11:"front"===e.t0?12:13;break;case 10:case 11:return e.abrupt("return",{deviceId:{exact:a.deviceId}});case 12:return e.abrupt("return",{deviceId:{exact:o.deviceId}});case 13:case 22:return e.abrupt("return",void 0);case 14:e.next=23;break;case 16:e.t1=t,e.next="auto"===e.t1?19:"rear"===e.t1?20:"front"===e.t1?21:22;break;case 19:return e.abrupt("return",{facingMode:{ideal:"environment"}});case 20:return e.abrupt("return",{facingMode:{exact:"environment"}});case 21:return e.abrupt("return",{facingMode:{exact:"user"}});case 23:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),E=function(e,t){return O.apply(this,arguments)};function O(){return(O=Object(i.a)(regeneratorRuntime.mark((function e(t,r){var n,o,i,s,u,l,f,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=r.camera,s=r.torch,!0===window.isSecureContext){e.next=3;break}throw new d.b;case 3:if(void 0!==(null===(n=navigator)||void 0===n||null===(o=n.mediaDevices)||void 0===o?void 0:o.getUserMedia)){e.next=5;break}throw new d.c;case 5:return e.next=7,A();case 7:return e.t0=a,e.t1={width:{min:360,ideal:640,max:1920},height:{min:240,ideal:480,max:1080}},e.next=11,S(i);case 11:return e.t2=e.sent,e.t3=(0,e.t0)(e.t1,e.t2),u={audio:!1,video:e.t3},e.next=16,navigator.mediaDevices.getUserMedia(u);case 16:return l=e.sent,void 0!==t.srcObject?t.srcObject=l:void 0!==t.mozSrcObject?t.mozSrcObject=l:window.URL.createObjectURL?t.src=window.URL.createObjectURL(l):window.webkitURL?t.src=window.webkitURL.createObjectURL(l):t.src=l,e.next=20,Object(p.a)(t,"loadeddata");case 20:return e.next=22,Object(p.b)(500);case 22:return s&&(f=l.getVideoTracks(),h=Object(c.a)(f,1),m=h[0],m.getCapabilities().torch?m.applyConstraints({advanced:[{torch:!0}]}):console.warn("device does not support torch capability")),e.abrupt("return",new T(t,l));case 24:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var B={name:"qrcode-stream",mixins:[r("b3af").a],props:{camera:{type:String,default:"auto",validator:function(e){return["auto","rear","front","off"].includes(e)}},torch:{type:Boolean,default:!1},track:{type:Function}},data:function(){return{cameraInstance:null,destroyed:!1}},computed:{shouldStream:function(){return!1===this.destroyed&&"off"!==this.camera},shouldScan:function(){return!0===this.shouldStream&&null!==this.cameraInstance},scanInterval:function(){return void 0===this.track?500:40}},watch:{shouldStream:function(e){if(!e){var t=this.$refs.pauseFrame,r=t.getContext("2d"),n=this.$refs.video;t.width=n.videoWidth,t.height=n.videoHeight,r.drawImage(n,0,0,n.videoWidth,n.videoHeight)}},shouldScan:function(e){e&&(this.clearCanvas(this.$refs.pauseFrame),this.clearCanvas(this.$refs.trackingLayer),this.startScanning())},torch:function(){this.init()},camera:function(){this.init()}},mounted:function(){this.init()},beforeDestroy:function(){this.beforeResetCamera(),this.destroyed=!0},methods:{init:function(){var e=this,t=Object(i.a)(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.beforeResetCamera(),"off"!==e.camera){t.next=6;break}return e.cameraInstance=null,t.abrupt("return",{capabilities:{}});case 6:return t.next=8,E(e.$refs.video,{camera:e.camera,torch:e.torch});case 8:return e.cameraInstance=t.sent,r=e.cameraInstance.getCapabilities(),e.destroyed&&e.cameraInstance.stop(),t.abrupt("return",{capabilities:r});case 12:case"end":return t.stop()}}),t)})))();this.$emit("init",t)},startScanning:function(){var e=this;Object(s.a)(this.$refs.video,{detectHandler:function(t){e.onDetect(Promise.resolve(t))},locateHandler:this.onLocate,minDelay:this.scanInterval})},beforeResetCamera:function(){null!==this.cameraInstance&&(this.cameraInstance.stop(),this.cameraInstance=null)},onLocate:function(e){var t=this.$refs.trackingLayer,r=this.$refs.video;if(void 0!==t)if(e.length>0&&void 0!==this.track&&void 0!==r){var n=r.offsetWidth,o=r.offsetHeight,i=r.videoWidth,s=r.videoHeight,c=Math.max(n/i,o/s),u=i*c,l=s*c,d=u/i,p=l/s,f=(n-u)/2,h=(o-l)/2,m=function(e){var t=e.x,r=e.y;return{x:Math.floor(t*d),y:Math.floor(r*p)}},v=function(e){var t=e.x,r=e.y;return{x:Math.floor(t+f),y:Math.floor(r+h)}},g=e.map((function(e){var t=e.boundingBox,r=e.cornerPoints,n=v(m({x:t.x,y:t.y})),o=n.x,i=n.y,s=m({x:t.width,y:t.height}),c=s.x,u=s.y;return a(a({},e),{},{cornerPoints:r.map((function(e){return v(m(e))})),boundingBox:DOMRectReadOnly.fromRect({x:o,y:i,width:c,height:u})})}));t.width=r.offsetWidth,t.height=r.offsetHeight;var _=t.getContext("2d");this.track(g,_)}else this.clearCanvas(t)},repaintTrackingLayer:function(e,t,r){var n=this,o=t.getContext("2d");window.requestAnimationFrame((function(){t.width=displayWidth,t.height=displayHeight,n.trackRepaintFunction(coordinatesAdjusted,o)}))},clearCanvas:function(e){e.getContext("2d").clearRect(0,0,e.width,e.height)}}},L=B,I=(r("70bc"),r("2877")),D=Object(I.a)(L,(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"qrcode-stream-wrapper"},[r("video",{ref:"video",staticClass:"qrcode-stream-camera",class:{"qrcode-stream-camera--hidden":!e.shouldScan},attrs:{autoplay:"",muted:"",playsinline:""},domProps:{muted:!0}}),r("canvas",{directives:[{name:"show",rawName:"v-show",value:!e.shouldScan,expression:"!shouldScan"}],ref:"pauseFrame",staticClass:"qrcode-stream-camera"}),r("canvas",{ref:"trackingLayer",staticClass:"qrcode-stream-overlay"}),r("div",{staticClass:"qrcode-stream-overlay"},[e._t("default")],2)])}),[],!1,null,"1dc5c71d",null);t.a=D.exports},"0d3b":function(e,t,r){var n=r("d039"),o=r("b622"),a=r("c430"),i=o("iterator");e.exports=!n((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),r+=n+e})),a&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[i]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}))},"131a":function(e,t,r){r("23e7")({target:"Object",stat:!0},{setPrototypeOf:r("d2bb")})},"13d5":function(e,t,r){"use strict";var n=r("23e7"),o=r("d58f").left,a=r("a640"),i=r("ae40"),s=a("reduce"),c=i("reduce",{1:0});n({target:"Array",proto:!0,forced:!s||!c},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,t,r){var n=r("c6b6"),o=r("9263");e.exports=function(e,t){var r=e.exec;if("function"==typeof r){var a=r.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==n(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},"159b":function(e,t,r){var n=r("da84"),o=r("fdbc"),a=r("17c2"),i=r("9112");for(var s in o){var c=n[s],u=c&&c.prototype;if(u&&u.forEach!==a)try{i(u,"forEach",a)}catch(e){u.forEach=a}}},"17c2":function(e,t,r){"use strict";var n=r("b727").forEach,o=r("a640"),a=r("ae40"),i=o("forEach"),s=a("forEach");e.exports=i&&s?[].forEach:function(e){return n(this,e,arguments.length>1?arguments[1]:void 0)}},"19aa":function(e,t){e.exports=function(e,t,r){if(!(e instanceof t))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return e}},"1be4":function(e,t,r){var n=r("d066");e.exports=n("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1c7e":function(e,t,r){var n=r("b622")("iterator"),o=!1;try{var a=0,i={next:function(){return{done:!!a++}},return:function(){o=!0}};i[n]=function(){return this},Array.from(i,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var a={};a[n]=function(){return{next:function(){return{done:r=!0}}}},e(a)}catch(e){}return r}},"1cc0":function(e,t,r){"use strict";r.d(t,"a",(function(){return f})),r.d(t,"c",(function(){return h})),r.d(t,"b",(function(){return m}));r("b0c0");var n=r("d4ec");r("131a");function o(e,t){return o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},o(e,t)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&o(e,t)}r("4ae1"),r("3410");function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}r("d3b7"),r("25f0");function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}var c=r("53ca");function u(e,t){return!t||"object"!==Object(c.a)(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function l(e){var t=s();return function(){var r,n=i(e);if(t){var o=i(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return u(this,r)}}r("e260"),r("4ec9"),r("3ca3"),r("ddb0"),r("c975");function d(e,t,r){return d=s()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&o(a,r.prototype),a},d.apply(null,arguments)}function p(e){var t="function"==typeof Map?new Map:void 0;return p=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return d(e,arguments,i(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),o(n,e)},p(e)}var f=function(e){a(r,e);var t=l(r);function r(){var e;return Object(n.a)(this,r),(e=t.call(this,"can't process cross-origin image")).name="DropImageFetchError",e}return r}(p(Error)),h=function(e){a(r,e);var t=l(r);function r(){var e;return Object(n.a)(this,r),(e=t.call(this,"this browser has no Stream API support")).name="StreamApiNotSupportedError",e}return r}(p(Error)),m=function(e){a(r,e);var t=l(r);function r(){var e;return Object(n.a)(this,r),(e=t.call(this,"camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP.")).name="InsecureContextError",e}return r}(p(Error))},"1cdc":function(e,t,r){var n=r("342f");e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(n)},"1d80":function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},"1da1":function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));r("d3b7"),r("e6cf");function n(e,t,r,n,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function o(e){return function(){var t=this,r=arguments;return new Promise((function(o,a){var i=e.apply(t,r);function s(e){n(i,o,a,s,c,"next",e)}function c(e){n(i,o,a,s,c,"throw",e)}s(void 0)}))}}},"1dde":function(e,t,r){var n=r("d039"),o=r("b622"),a=r("2d00"),i=o("species");e.exports=function(e){return a>=51||!n((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},2266:function(e,t,r){var n=r("825a"),o=r("e95a"),a=r("50c4"),i=r("0366"),s=r("35a1"),c=r("9bdd"),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,r,l,d){var p,f,h,m,v,g,_,b=i(t,r,l?2:1);if(d)p=e;else{if("function"!=typeof(f=s(e)))throw TypeError("Target is not iterable");if(o(f)){for(h=0,m=a(e.length);m>h;h++)if((v=l?b(n(_=e[h])[0],_[1]):b(e[h]))&&v instanceof u)return v;return new u(!1)}p=f.call(e)}for(g=p.next;!(_=g.call(p)).done;)if("object"==typeof(v=c(p,b,_.value,l))&&v&&v instanceof u)return v;return new u(!1)}).stop=function(e){return new u(!0,e)}},"23cb":function(e,t,r){var n=r("a691"),o=Math.max,a=Math.min;e.exports=function(e,t){var r=n(e);return r<0?o(r+t,0):a(r,t)}},"23e7":function(e,t,r){var n=r("da84"),o=r("06cf").f,a=r("9112"),i=r("6eeb"),s=r("ce4e"),c=r("e893"),u=r("94ca");e.exports=function(e,t){var r,l,d,p,f,h=e.target,m=e.global,v=e.stat;if(r=m?n:v?n[h]||s(h,{}):(n[h]||{}).prototype)for(l in t){if(p=t[l],d=e.noTargetGet?(f=o(r,l))&&f.value:r[l],!u(m?l:h+(v?".":"#")+l,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;c(p,d)}(e.sham||d&&d.sham)&&a(p,"sham",!0),i(r,l,p,e)}}},"241c":function(e,t,r){var n=r("ca84"),o=r("7839").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,o)}},"24fb":function(e,t,r){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=function(e,t){var r=e[1]||"",n=e[3];if(!n)return r;if(t&&"function"==typeof btoa){var o=(i=n,s=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(c," */")),a=n.sources.map((function(e){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(e," */")}));return[r].concat(a).concat([o]).join("\n")}var i,s,c;return[r].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var a=0;a1?arguments[1]:void 0)}})},"25f0":function(e,t,r){"use strict";var n=r("6eeb"),o=r("825a"),a=r("d039"),i=r("ad6d"),s="toString",c=RegExp.prototype,u=c[s],l=a((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),d=u.name!=s;(l||d)&&n(RegExp.prototype,s,(function(){var e=o(this),t=String(e.source),r=e.flags;return"/"+t+"/"+String(void 0===r&&e instanceof RegExp&&!("flags"in c)?i.call(e):r)}),{unsafe:!0})},2626:function(e,t,r){"use strict";var n=r("d066"),o=r("9bf2"),a=r("b622"),i=r("83ab"),s=a("species");e.exports=function(e){var t=n(e),r=o.f;i&&t&&!t[s]&&r(t,s,{configurable:!0,get:function(){return this}})}},2877:function(e,t,r){"use strict";function n(e,t,r,n,o,a,i,s){var c,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=r,u._compiled=!0),n&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),i?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(e,t){return c.call(t),l(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,c):[c]}return{exports:e,options:u}}r.d(t,"a",(function(){return n}))},2909:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r("6b75");r("a4d3"),r("e01a"),r("d28b"),r("a630"),r("e260"),r("d3b7"),r("3ca3"),r("ddb0");var o=r("06c5");function a(e){return function(e){if(Array.isArray(e))return Object(n.a)(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Object(o.a)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},"2b3d":function(e,t,r){"use strict";r("3ca3");var n,o=r("23e7"),a=r("83ab"),i=r("0d3b"),s=r("da84"),c=r("37e8"),u=r("6eeb"),l=r("19aa"),d=r("5135"),p=r("60da"),f=r("4df4"),h=r("6547").codeAt,m=r("5fb2"),v=r("d44e"),g=r("9861"),_=r("69f3"),b=s.URL,y=g.URLSearchParams,w=g.getState,k=_.set,x=_.getterFor("URL"),C=Math.floor,P=Math.pow,A="Invalid scheme",T="Invalid host",S="Invalid port",E=/[A-Za-z]/,O=/[\d+-.A-Za-z]/,B=/\d/,L=/^(0x|0X)/,I=/^[0-7]+$/,D=/^\d+$/,R=/^[\dA-Fa-f]+$/,$=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,N=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,q=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,j=/[\u0009\u000A\u000D]/g,M=function(e,t){var r,n,o;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return T;if(!(r=z(t.slice(1,-1))))return T;e.host=r}else if(V(e)){if(t=m(t),$.test(t))return T;if(null===(r=F(t)))return T;e.host=r}else{if(N.test(t))return T;for(r="",n=f(t),o=0;o4)return e;for(r=[],n=0;n1&&"0"==o.charAt(0)&&(a=L.test(o)?16:8,o=o.slice(8==a?1:2)),""===o)i=0;else{if(!(10==a?D:8==a?I:R).test(o))return e;i=parseInt(o,a)}r.push(i)}for(n=0;n=P(256,5-t))return null}else if(i>255)return null;for(s=r.pop(),n=0;n6)return;for(n=0;p();){if(o=null,n>0){if(!("."==p()&&n<4))return;d++}if(!B.test(p()))return;for(;B.test(p());){if(a=parseInt(p(),10),null===o)o=a;else{if(0==o)return;o=10*o+a}if(o>255)return;d++}c[u]=256*c[u]+o,2!=++n&&4!=n||u++}if(4!=n)return;break}if(":"==p()){if(d++,!p())return}else if(p())return;c[u++]=t}else{if(null!==l)return;d++,l=++u}}if(null!==l)for(i=u-l,u=7;0!=u&&i>0;)s=c[u],c[u--]=c[l+i-1],c[l+--i]=s;else if(8!=u)return;return c},U=function(e){var t,r,n,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)t.unshift(e%256),e=C(e/256);return t.join(".")}if("object"==typeof e){for(t="",n=function(e){for(var t=null,r=1,n=null,o=0,a=0;a<8;a++)0!==e[a]?(o>r&&(t=n,r=o),n=null,o=0):(null===n&&(n=a),++o);return o>r&&(t=n,r=o),t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),n===r?(t+=r?":":"::",o=!0):(t+=e[r].toString(16),r<7&&(t+=":")));return"["+t+"]"}return e},G={},W=p({},G,{" ":1,'"':1,"<":1,">":1,"`":1}),H=p({},W,{"#":1,"?":1,"{":1,"}":1}),Y=p({},H,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Q=function(e,t){var r=h(e,0);return r>32&&r<127&&!d(t,e)?e:encodeURIComponent(e)},K={ftp:21,file:null,http:80,https:443,ws:80,wss:443},V=function(e){return d(K,e.scheme)},X=function(e){return""!=e.username||""!=e.password},Z=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},J=function(e,t){var r;return 2==e.length&&E.test(e.charAt(0))&&(":"==(r=e.charAt(1))||!t&&"|"==r)},ee=function(e){var t;return e.length>1&&J(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},te=function(e){var t=e.path,r=t.length;!r||"file"==e.scheme&&1==r&&J(t[0],!0)||t.pop()},re=function(e){return"."===e||"%2e"===e.toLowerCase()},ne={},oe={},ae={},ie={},se={},ce={},ue={},le={},de={},pe={},fe={},he={},me={},ve={},ge={},_e={},be={},ye={},we={},ke={},xe={},Ce=function(e,t,r,o){var a,i,s,c,u,l=r||ne,p=0,h="",m=!1,v=!1,g=!1;for(r||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(q,"")),t=t.replace(j,""),a=f(t);p<=a.length;){switch(i=a[p],l){case ne:if(!i||!E.test(i)){if(r)return A;l=ae;continue}h+=i.toLowerCase(),l=oe;break;case oe:if(i&&(O.test(i)||"+"==i||"-"==i||"."==i))h+=i.toLowerCase();else{if(":"!=i){if(r)return A;h="",l=ae,p=0;continue}if(r&&(V(e)!=d(K,h)||"file"==h&&(X(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=h,r)return void(V(e)&&K[e.scheme]==e.port&&(e.port=null));h="","file"==e.scheme?l=ve:V(e)&&o&&o.scheme==e.scheme?l=ie:V(e)?l=le:"/"==a[p+1]?(l=se,p++):(e.cannotBeABaseURL=!0,e.path.push(""),l=we)}break;case ae:if(!o||o.cannotBeABaseURL&&"#"!=i)return A;if(o.cannotBeABaseURL&&"#"==i){e.scheme=o.scheme,e.path=o.path.slice(),e.query=o.query,e.fragment="",e.cannotBeABaseURL=!0,l=xe;break}l="file"==o.scheme?ve:ce;continue;case ie:if("/"!=i||"/"!=a[p+1]){l=ce;continue}l=de,p++;break;case se:if("/"==i){l=pe;break}l=ye;continue;case ce:if(e.scheme=o.scheme,i==n)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query;else if("/"==i||"\\"==i&&V(e))l=ue;else if("?"==i)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query="",l=ke;else{if("#"!=i){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.path.pop(),l=ye;continue}e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query,e.fragment="",l=xe}break;case ue:if(!V(e)||"/"!=i&&"\\"!=i){if("/"!=i){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,l=ye;continue}l=pe}else l=de;break;case le:if(l=de,"/"!=i||"/"!=h.charAt(p+1))continue;p++;break;case de:if("/"!=i&&"\\"!=i){l=pe;continue}break;case pe:if("@"==i){m&&(h="%40"+h),m=!0,s=f(h);for(var _=0;_65535)return S;e.port=V(e)&&w===K[e.scheme]?null:w,h=""}if(r)return;l=be;continue}return S}h+=i;break;case ve:if(e.scheme="file","/"==i||"\\"==i)l=ge;else{if(!o||"file"!=o.scheme){l=ye;continue}if(i==n)e.host=o.host,e.path=o.path.slice(),e.query=o.query;else if("?"==i)e.host=o.host,e.path=o.path.slice(),e.query="",l=ke;else{if("#"!=i){ee(a.slice(p).join(""))||(e.host=o.host,e.path=o.path.slice(),te(e)),l=ye;continue}e.host=o.host,e.path=o.path.slice(),e.query=o.query,e.fragment="",l=xe}}break;case ge:if("/"==i||"\\"==i){l=_e;break}o&&"file"==o.scheme&&!ee(a.slice(p).join(""))&&(J(o.path[0],!0)?e.path.push(o.path[0]):e.host=o.host),l=ye;continue;case _e:if(i==n||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&J(h))l=ye;else if(""==h){if(e.host="",r)return;l=be}else{if(c=M(e,h))return c;if("localhost"==e.host&&(e.host=""),r)return;h="",l=be}continue}h+=i;break;case be:if(V(e)){if(l=ye,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=n&&(l=ye,"/"!=i))continue}else e.fragment="",l=xe;else e.query="",l=ke;break;case ye:if(i==n||"/"==i||"\\"==i&&V(e)||!r&&("?"==i||"#"==i)){if(".."===(u=(u=h).toLowerCase())||"%2e."===u||".%2e"===u||"%2e%2e"===u?(te(e),"/"==i||"\\"==i&&V(e)||e.path.push("")):re(h)?"/"==i||"\\"==i&&V(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&J(h)&&(e.host&&(e.host=""),h=h.charAt(0)+":"),e.path.push(h)),h="","file"==e.scheme&&(i==n||"?"==i||"#"==i))for(;e.path.length>1&&""===e.path[0];)e.path.shift();"?"==i?(e.query="",l=ke):"#"==i&&(e.fragment="",l=xe)}else h+=Q(i,H);break;case we:"?"==i?(e.query="",l=ke):"#"==i?(e.fragment="",l=xe):i!=n&&(e.path[0]+=Q(i,G));break;case ke:r||"#"!=i?i!=n&&("'"==i&&V(e)?e.query+="%27":e.query+="#"==i?"%23":Q(i,G)):(e.fragment="",l=xe);break;case xe:i!=n&&(e.fragment+=Q(i,W))}p++}},Pe=function(e){var t,r,n=l(this,Pe,"URL"),o=arguments.length>1?arguments[1]:void 0,i=String(e),s=k(n,{type:"URL"});if(void 0!==o)if(o instanceof Pe)t=x(o);else if(r=Ce(t={},String(o)))throw TypeError(r);if(r=Ce(s,i,null,t))throw TypeError(r);var c=s.searchParams=new y,u=w(c);u.updateSearchParams(s.query),u.updateURL=function(){s.query=String(c)||null},a||(n.href=Te.call(n),n.origin=Se.call(n),n.protocol=Ee.call(n),n.username=Oe.call(n),n.password=Be.call(n),n.host=Le.call(n),n.hostname=Ie.call(n),n.port=De.call(n),n.pathname=Re.call(n),n.search=$e.call(n),n.searchParams=Ne.call(n),n.hash=qe.call(n))},Ae=Pe.prototype,Te=function(){var e=x(this),t=e.scheme,r=e.username,n=e.password,o=e.host,a=e.port,i=e.path,s=e.query,c=e.fragment,u=t+":";return null!==o?(u+="//",X(e)&&(u+=r+(n?":"+n:"")+"@"),u+=U(o),null!==a&&(u+=":"+a)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?i[0]:i.length?"/"+i.join("/"):"",null!==s&&(u+="?"+s),null!==c&&(u+="#"+c),u},Se=function(){var e=x(this),t=e.scheme,r=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(e){return"null"}return"file"!=t&&V(e)?t+"://"+U(e.host)+(null!==r?":"+r:""):"null"},Ee=function(){return x(this).scheme+":"},Oe=function(){return x(this).username},Be=function(){return x(this).password},Le=function(){var e=x(this),t=e.host,r=e.port;return null===t?"":null===r?U(t):U(t)+":"+r},Ie=function(){var e=x(this).host;return null===e?"":U(e)},De=function(){var e=x(this).port;return null===e?"":String(e)},Re=function(){var e=x(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},$e=function(){var e=x(this).query;return e?"?"+e:""},Ne=function(){return x(this).searchParams},qe=function(){var e=x(this).fragment;return e?"#"+e:""},je=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(a&&c(Ae,{href:je(Te,(function(e){var t=x(this),r=String(e),n=Ce(t,r);if(n)throw TypeError(n);w(t.searchParams).updateSearchParams(t.query)})),origin:je(Se),protocol:je(Ee,(function(e){var t=x(this);Ce(t,String(e)+":",ne)})),username:je(Oe,(function(e){var t=x(this),r=f(String(e));if(!Z(t)){t.username="";for(var n=0;n1?arguments[1]:void 0,t.length)),n=String(e);return d?d.call(t,n,r):t.slice(r,r+n.length)===n}})},"2cf4":function(e,t,r){var n,o,a,i=r("da84"),s=r("d039"),c=r("c6b6"),u=r("0366"),l=r("1be4"),d=r("cc12"),p=r("1cdc"),f=i.location,h=i.setImmediate,m=i.clearImmediate,v=i.process,g=i.MessageChannel,_=i.Dispatch,b=0,y={},w="onreadystatechange",k=function(e){if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},x=function(e){return function(){k(e)}},C=function(e){k(e.data)},P=function(e){i.postMessage(e+"",f.protocol+"//"+f.host)};h&&m||(h=function(e){for(var t=[],r=1;arguments.length>r;)t.push(arguments[r++]);return y[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},n(b),b},m=function(e){delete y[e]},"process"==c(v)?n=function(e){v.nextTick(x(e))}:_&&_.now?n=function(e){_.now(x(e))}:g&&!p?(a=(o=new g).port2,o.port1.onmessage=C,n=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||s(P)||"file:"===f.protocol?n=w in d("script")?function(e){l.appendChild(d("script"))[w]=function(){l.removeChild(this),k(e)}}:function(e){setTimeout(x(e),0)}:(n=P,i.addEventListener("message",C,!1))),e.exports={set:h,clear:m}},"2d00":function(e,t,r){var n,o,a=r("da84"),i=r("342f"),s=a.process,c=s&&s.versions,u=c&&c.v8;u?o=(n=u.split("."))[0]+n[1]:i&&(!(n=i.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=i.match(/Chrome\/(\d+)/))&&(o=n[1]),e.exports=o&&+o},3410:function(e,t,r){var n=r("23e7"),o=r("d039"),a=r("7b0b"),i=r("e163"),s=r("e177");n({target:"Object",stat:!0,forced:o((function(){i(1)})),sham:!s},{getPrototypeOf:function(e){return i(a(e))}})},"342f":function(e,t,r){var n=r("d066");e.exports=n("navigator","userAgent")||""},"35a1":function(e,t,r){var n=r("f5df"),o=r("3f8c"),a=r("b622")("iterator");e.exports=function(e){if(null!=e)return e[a]||e["@@iterator"]||o[n(e)]}},"37e8":function(e,t,r){var n=r("83ab"),o=r("9bf2"),a=r("825a"),i=r("df75");e.exports=n?Object.defineProperties:function(e,t){a(e);for(var r,n=i(t),s=n.length,c=0;s>c;)o.f(e,r=n[c++],t[r]);return e}},3835:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));r("a4d3"),r("e01a"),r("d28b"),r("e260"),r("d3b7"),r("3ca3"),r("ddb0");var n=r("06c5");function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(n=(i=s.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}return r}}(e,t)||Object(n.a)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},"3bbe":function(e,t,r){var n=r("861d");e.exports=function(e){if(!n(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"3ca3":function(e,t,r){"use strict";var n=r("6547").charAt,o=r("69f3"),a=r("7dd0"),i="String Iterator",s=o.set,c=o.getterFor(i);a(String,"String",(function(e){s(this,{type:i,string:String(e),index:0})}),(function(){var e,t=c(this),r=t.string,o=t.index;return o>=r.length?{value:void 0,done:!0}:(e=n(r,o),t.index+=e.length,{value:e,done:!1})}))},"3f8c":function(e,t){e.exports={}},4160:function(e,t,r){"use strict";var n=r("23e7"),o=r("17c2");n({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},"428f":function(e,t,r){var n=r("da84");e.exports=n},"44ad":function(e,t,r){var n=r("d039"),o=r("c6b6"),a="".split;e.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?a.call(e,""):Object(e)}:Object},"44d2":function(e,t,r){var n=r("b622"),o=r("7c73"),a=r("9bf2"),i=n("unscopables"),s=Array.prototype;null==s[i]&&a.f(s,i,{configurable:!0,value:o(null)}),e.exports=function(e){s[i][e]=!0}},"44de":function(e,t,r){var n=r("da84");e.exports=function(e,t){var r=n.console;r&&r.error&&(1===arguments.length?r.error(e):r.error(e,t))}},"44e7":function(e,t,r){var n=r("861d"),o=r("c6b6"),a=r("b622")("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==o(e))}},"45fc":function(e,t,r){"use strict";var n=r("23e7"),o=r("b727").some,a=r("a640"),i=r("ae40"),s=a("some"),c=i("some");n({target:"Array",proto:!0,forced:!s||!c},{some:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"466d":function(e,t,r){"use strict";var n=r("d784"),o=r("825a"),a=r("50c4"),i=r("1d80"),s=r("8aa5"),c=r("14c3");n("match",1,(function(e,t,r){return[function(t){var r=i(this),n=null==t?void 0:t[e];return void 0!==n?n.call(t,r):new RegExp(t)[e](String(r))},function(e){var n=r(t,e,this);if(n.done)return n.value;var i=o(e),u=String(this);if(!i.global)return c(i,u);var l=i.unicode;i.lastIndex=0;for(var d,p=[],f=0;null!==(d=c(i,u));){var h=String(d[0]);p[f]=h,""===h&&(i.lastIndex=s(u,a(i.lastIndex),l)),f++}return 0===f?null:p}]}))},4840:function(e,t,r){var n=r("825a"),o=r("1c0b"),a=r("b622")("species");e.exports=function(e,t){var r,i=n(e).constructor;return void 0===i||null==(r=n(i)[a])?t:o(r)}},4930:function(e,t,r){var n=r("d039");e.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!String(Symbol())}))},"499e":function(e,t,r){"use strict";function n(e,t){for(var r=[],n={},o=0;or.parts.length&&(n.parts.length=r.parts.length)}else{var i=[];for(o=0;ol;)if((s=c[l++])!=s)return!0}else for(;u>l;l++)if((e||l in c)&&c[l]===r)return e||l||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},"4de4":function(e,t,r){"use strict";var n=r("23e7"),o=r("b727").filter,a=r("1dde"),i=r("ae40"),s=a("filter"),c=i("filter");n({target:"Array",proto:!0,forced:!s||!c},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,t,r){"use strict";var n=r("0366"),o=r("7b0b"),a=r("9bdd"),i=r("e95a"),s=r("50c4"),c=r("8418"),u=r("35a1");e.exports=function(e){var t,r,l,d,p,f,h=o(e),m="function"==typeof this?this:Array,v=arguments.length,g=v>1?arguments[1]:void 0,_=void 0!==g,b=u(h),y=0;if(_&&(g=n(g,v>2?arguments[2]:void 0,2)),null==b||m==Array&&i(b))for(r=new m(t=s(h.length));t>y;y++)f=_?g(h[y],y):h[y],c(r,y,f);else for(p=(d=b.call(h)).next,r=new m;!(l=p.call(d)).done;y++)f=_?a(d,g,[l.value,y],!0):l.value,c(r,y,f);return r.length=y,r}},"4ec9":function(e,t,r){"use strict";var n=r("6d61"),o=r("6566");e.exports=n("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},"50c4":function(e,t,r){var n=r("a691"),o=Math.min;e.exports=function(e){return e>0?o(n(e),9007199254740991):0}},5135:function(e,t){var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},"53ca":function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));r("a4d3"),r("e01a"),r("d28b"),r("e260"),r("d3b7"),r("3ca3"),r("ddb0");function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}},5692:function(e,t,r){var n=r("c430"),o=r("c6cd");(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:n?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,t,r){var n=r("d066"),o=r("241c"),a=r("7418"),i=r("825a");e.exports=n("Reflect","ownKeys")||function(e){var t=o.f(i(e)),r=a.f;return r?t.concat(r(e)):t}},"5a34":function(e,t,r){var n=r("44e7");e.exports=function(e){if(n(e))throw TypeError("The method doesn't accept regular expressions");return e}},"5c0b":function(e,t,r){"use strict";r("4160"),r("d81d"),r("159b");var n=r("2909"),o=r("a180"),a={name:"qrcode-capture",mixins:[r("b3af").a],methods:{onChangeInput:function(e){Object(n.a)(e.target.files).map(o.b).forEach(this.onDetect)}}},i=r("2877"),s=Object(i.a)(a,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("input",{attrs:{type:"file",name:"image",accept:"image/*",capture:"environment",multiple:""},on:{change:e.onChangeInput}})}),[],!1,null,null,null);t.a=s.exports},"5c6c":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"5fb2":function(e,t,r){"use strict";var n=2147483647,o=/[^\0-\u007E]/,a=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",s=Math.floor,c=String.fromCharCode,u=function(e){return e+22+75*(e<26)},l=function(e,t,r){var n=0;for(e=r?s(e/700):e>>1,e+=s(e/t);e>455;n+=36)e=s(e/35);return s(n+36*e/(e+38))},d=function(e){var t=[];e=function(e){for(var t=[],r=0,n=e.length;r=55296&&o<=56319&&r=d&&os((n-p)/g))throw RangeError(i);for(p+=(v-d)*g,d=v,r=0;rn)throw RangeError(i);if(o==d){for(var _=p,b=36;;b+=36){var y=b<=f?1:b>=f+26?26:b-f;if(_l;)for(var f,h=u(arguments[l++]),m=d?a(h).concat(d(h)):a(h),v=m.length,g=0;v>g;)f=m[g++],n&&!p.call(h,f)||(r[f]=h[f]);return r}:l},6547:function(e,t,r){var n=r("a691"),o=r("1d80"),a=function(e){return function(t,r){var a,i,s=String(o(t)),c=n(r),u=s.length;return c<0||c>=u?e?"":void 0:(a=s.charCodeAt(c))<55296||a>56319||c+1===u||(i=s.charCodeAt(c+1))<56320||i>57343?e?s.charAt(c):a:e?s.slice(c,c+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},6566:function(e,t,r){"use strict";var n=r("9bf2").f,o=r("7c73"),a=r("e2cc"),i=r("0366"),s=r("19aa"),c=r("2266"),u=r("7dd0"),l=r("2626"),d=r("83ab"),p=r("f183").fastKey,f=r("69f3"),h=f.set,m=f.getterFor;e.exports={getConstructor:function(e,t,r,u){var l=e((function(e,n){s(e,l,t),h(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),null!=n&&c(n,e[u],e,r)})),f=m(t),v=function(e,t,r){var n,o,a=f(e),i=g(e,t);return i?i.value=r:(a.last=i={index:o=p(t,!0),key:t,value:r,previous:n=a.last,next:void 0,removed:!1},a.first||(a.first=i),n&&(n.next=i),d?a.size++:e.size++,"F"!==o&&(a.index[o]=i)),e},g=function(e,t){var r,n=f(e),o=p(t);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==t)return r};return a(l.prototype,{clear:function(){for(var e=f(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,d?e.size=0:this.size=0},delete:function(e){var t=this,r=f(t),n=g(t,e);if(n){var o=n.next,a=n.previous;delete r.index[n.index],n.removed=!0,a&&(a.next=o),o&&(o.previous=a),r.first==n&&(r.first=o),r.last==n&&(r.last=a),d?r.size--:t.size--}return!!n},forEach:function(e){for(var t,r=f(this),n=i(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:r.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(l.prototype,r?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),d&&n(l.prototype,"size",{get:function(){return f(this).size}}),l},setStrong:function(e,t,r){var n=t+" Iterator",o=m(t),a=m(n);u(e,t,(function(e,t){h(this,{type:n,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=a(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?"keys"==t?{value:r.key,done:!1}:"values"==t?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),r?"entries":"values",!r,!0),l(t)}}},"65f0":function(e,t,r){var n=r("861d"),o=r("e8b5"),a=r("b622")("species");e.exports=function(e,t){var r;return o(e)&&("function"!=typeof(r=e.constructor)||r!==Array&&!o(r.prototype)?n(r)&&null===(r=r[a])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===t?0:t)}},"69f3":function(e,t,r){var n,o,a,i=r("7f9a"),s=r("da84"),c=r("861d"),u=r("9112"),l=r("5135"),d=r("f772"),p=r("d012"),f=s.WeakMap;if(i){var h=new f,m=h.get,v=h.has,g=h.set;n=function(e,t){return g.call(h,e,t),t},o=function(e){return m.call(h,e)||{}},a=function(e){return v.call(h,e)}}else{var _=d("state");p[_]=!0,n=function(e,t){return u(e,_,t),t},o=function(e){return l(e,_)?e[_]:{}},a=function(e){return l(e,_)}}e.exports={set:n,get:o,has:a,enforce:function(e){return a(e)?o(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},"6b75":function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"+e+""},v=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t,r;v=n?function(e){e.write(m("")),e.close();var t=e.parentWindow.Object;return e=null,t}(n):(t=u("iframe"),r="java"+p+":",t.style.display="none",c.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(m("document.F=Object")),e.close(),e.F);for(var o=i.length;o--;)delete v[d][i[o]];return v()};s[f]=!0,e.exports=Object.create||function(e,t){var r;return null!==e?(h[d]=o(e),r=new h,h[d]=null,r[f]=e):r=v(),void 0===t?r:a(r,t)}},"7db0":function(e,t,r){"use strict";var n=r("23e7"),o=r("b727").find,a=r("44d2"),i=r("ae40"),s="find",c=!0,u=i(s);s in[]&&Array(1)[s]((function(){c=!1})),n({target:"Array",proto:!0,forced:c||!u},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),a(s)},"7dd0":function(e,t,r){"use strict";var n=r("23e7"),o=r("9ed3"),a=r("e163"),i=r("d2bb"),s=r("d44e"),c=r("9112"),u=r("6eeb"),l=r("b622"),d=r("c430"),p=r("3f8c"),f=r("ae93"),h=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,v=l("iterator"),g="keys",_="values",b="entries",y=function(){return this};e.exports=function(e,t,r,l,f,w,k){o(r,t,l);var x,C,P,A=function(e){if(e===f&&B)return B;if(!m&&e in E)return E[e];switch(e){case g:case _:case b:return function(){return new r(this,e)}}return function(){return new r(this)}},T=t+" Iterator",S=!1,E=e.prototype,O=E[v]||E["@@iterator"]||f&&E[f],B=!m&&O||A(f),L="Array"==t&&E.entries||O;if(L&&(x=a(L.call(new e)),h!==Object.prototype&&x.next&&(d||a(x)===h||(i?i(x,h):"function"!=typeof x[v]&&c(x,v,y)),s(x,T,!0,!0),d&&(p[T]=y))),f==_&&O&&O.name!==_&&(S=!0,B=function(){return O.call(this)}),d&&!k||E[v]===B||c(E,v,B),p[t]=B,f)if(C={values:A(_),keys:w?B:A(g),entries:A(b)},k)for(P in C)(m||S||!(P in E))&&u(E,P,C[P]);else n({target:t,proto:!0,forced:m||S},C);return C}},"7f9a":function(e,t,r){var n=r("da84"),o=r("8925"),a=n.WeakMap;e.exports="function"==typeof a&&/native code/.test(o(a))},"825a":function(e,t,r){var n=r("861d");e.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},"83ab":function(e,t,r){var n=r("d039");e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(e,t,r){"use strict";var n=r("c04e"),o=r("9bf2"),a=r("5c6c");e.exports=function(e,t,r){var i=n(t);i in e?o.f(e,i,a(0,r)):e[i]=r}},"861d":function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},8875:function(e,t,r){var n,o,a;"undefined"!=typeof self&&self,o=[],void 0===(a="function"==typeof(n=function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(e){var r,n,o,a=/@([^@]*):(\d+):(\d+)\s*$/gi,i=/.*at [^(]*\((.*):(.+):(.+)\)$/gi.exec(e.stack)||a.exec(e.stack),s=i&&i[1]||!1,c=i&&i[2]||!1,u=document.location.href.replace(document.location.hash,""),l=document.getElementsByTagName("script");s===u&&(r=document.documentElement.outerHTML,n=new RegExp("(?:[^\\n]+?\\n){0,"+(c-2)+"}[^<]*