From 227eb038dae310f72790a50b7a515d3bfadb7bce Mon Sep 17 00:00:00 2001 From: Bugclerk Date: Mon, 1 Dec 2025 16:59:45 +0000 Subject: [PATCH 1/7] Empty commit to create PR on github. You should reset it From 82f951ff3e828b01ef37a550a56f519f9798f5f1 Mon Sep 17 00:00:00 2001 From: Dan Pizappi <133042991+DjP-iX@users.noreply.github.com> Date: Mon, 1 Dec 2025 11:59:30 -0500 Subject: [PATCH 2/7] PD-2433 / 25.10 / Pd 2433 update 2 fa content for behavioral changes (#4330) * Update ManageGlobal2FASCALE.md * Update AdvancedSettingsScreen.md * Update 2FAScreenSCALE.md * Update 2FAScreenEnabled.png * Update SetUpTwoFactorAuthenticationScreen.png * Update 2FAScreenSCALE.md * Delete 2FAQRCodeDialog.png * Delete 2FAScreenDisabled.png * Create Clear2FADialog.png * Create Unset2FASecret.png * Update UserTwoFactorAuthenticationActionsScreen.png * Update UsersScreen.md * Update ManageGlobal2FASCALE.md * Update ManageUsers.md * Update ManageGlobal2FASCALE.md * Update 2FAScreenSCALE.md * grammar fixes --------- Co-authored-by: linzibelle Co-authored-by: linzi-ix (cherry picked from commit 90958fb425a4f2e96ad0a8ab88dac9d567fb988c) --- .../SCALETutorials/Credentials/ManageUsers.md | 45 +++++ .../Advanced/ManageGlobal2FASCALE.md | 159 ++++++++++++------ .../Credentials/UsersScreen.md | 10 ++ .../SystemSettings/AdvancedSettingsScreen.md | 4 +- .../TopToolbar/Settings/2FAScreenSCALE.md | 33 ++++ .../SCALE/Credentials/Clear2FADialog.png | Bin 0 -> 8883 bytes .../SCALE/Credentials/Unset2FASecret.png | Bin 0 -> 11565 bytes ...erTwoFactorAuthenticationActionsScreen.png | Bin 18738 -> 32029 bytes 8 files changed, 196 insertions(+), 55 deletions(-) create mode 100644 content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md create mode 100644 static/images/SCALE/Credentials/Clear2FADialog.png create mode 100644 static/images/SCALE/Credentials/Unset2FASecret.png diff --git a/content/SCALE/SCALETutorials/Credentials/ManageUsers.md b/content/SCALE/SCALETutorials/Credentials/ManageUsers.md index da03d27e2c..22ea989b56 100644 --- a/content/SCALE/SCALETutorials/Credentials/ManageUsers.md +++ b/content/SCALE/SCALETutorials/Credentials/ManageUsers.md @@ -114,3 +114,48 @@ To set the API key to expire, clear the checkmark in **Non-expiring**, then sele {{< trueimage src="/images/SCALE/Credentials/AddAPIKeyExpiration.png" alt="Set API Key Expiration" id="Set API Key Expiration" >}} After setting the date, click **Save**. The **Access** widget for this user shows the API Key icon and the **View API Keys** link. + +## Clearing Two-Factor Authentication for a User + +Administrators can clear two-factor authentication (2FA) for a user from the **Users** screen. This is typically necessary when: + +- A user has lost access to their authenticator device (lost phone, broken device, etc.) +- A user cannot generate valid 2FA codes due to device time synchronization issues +- A user needs to switch to a different authenticator app or device +- Troubleshooting 2FA-related login problems + +{{< hint type=important >}} +Clearing 2FA should only be done when necessary, as it temporarily reduces account security. When Global 2FA is enabled, users are prompted to reconfigure 2FA on their next login. +{{< /hint >}} + +To clear 2FA for a user: + +1. Go to **Credentials > Users**. + +2. Click on the user row to select the user whose 2FA needs to be cleared. + +3. On the **Access** widget, click **Clear Two-Factor Authentication**. + + {{< trueimage src="/images/SCALE/Credentials/UsersScreenAccessWidgetWithAPIKey.png" alt="Access Widget with Clear 2FA Button" id="Access Widget with Clear 2FA Button" >}} + + {{< hint type=note >}} + The **Clear Two-Factor Authentication** button only appears for users who have 2FA configured. Users without 2FA configured do not show this button. + {{< /hint >}} + +4. A confirmation dialog appears asking if you want to clear two-factor authentication settings for this user. + + {{< trueimage src="/images/SCALE/Credentials/Clear2FADialog.png" alt="Clear Two-Factor Authentication Dialog" id="Clear Two-Factor Authentication Dialog" >}} + +5. Click **Clear** to confirm, or **Cancel** to abort the operation. + +After clearing, the user can log in without 2FA codes. If Global 2FA is enabled on the system, the user is prompted to set up 2FA again on their next login. + +### User Self-Clearing vs Admin Clearing + +Users can also remove their own 2FA configuration using the **Settings** menu: + +- User self-clearing: The logged-in user accesses **Settings > Two-Factor Authentication** and clicks **Unset 2FA Secret**. This allows users to manage their own 2FA settings. + +- Admin clearing: Administrators use **Credentials > Users > Access Widget > Clear Two-Factor Authentication** to clear 2FA for another user. This is specifically for helping users who cannot access their accounts. + +For more information on 2FA configuration and management, see [Managing Global 2FA]({{< ref "ManageGlobal2FASCALE" >}}). diff --git a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md index 1976652f0c..30646a2319 100644 --- a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md +++ b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md @@ -22,25 +22,17 @@ TrueNAS offers global 2FA to ensure that entities cannot use a compromised admin ## About TrueNAS 2FA -TrueNAS offers two levels of 2FA configuration: +To use 2FA, you need a mobile device (or desktop application) with the correct time and date, and a TOTP-compatible authenticator app installed. -1. **Global 2FA settings** enable 2FA system-wide and configure options such as the time window and SSH authentication requirements. -2. **Per-user 2FA secrets** allow individual users to set up their own 2FA secrets using an authenticator app. +TrueNAS uses the TOTP (Time-based One-Time Password) standard (RFC 6238), which is compatible with most authenticator apps. Popular options include: -When global 2FA is enabled, it impacts services differently based on whether individual users configured their 2FA secrets: +- **Microsoft Authenticator** (iOS, Android) +- **Google Authenticator** (iOS, Android) +- **Authy** (iOS, Android, desktop) +- **Bitwarden** (cross-platform, open source) +- **1Password** (cross-platform) -* **UI/API authentication:** - * Users with a configured 2FA secret must provide the 2FA code to log in. - * Users without a configured 2FA secret can log in without 2FA but are prompted once per session to set it up. Users can skip this setup. -* **SSH authentication:** If both global 2FA and SSH 2FA options are enabled, users with configured 2FA secrets must provide the code for password-based SSH access. Key-based authentication is not affected. - -{{< hint type=note >}} -In GPOS STIG compatibility mode, 2FA for UI access is mandatory for all users. -{{< /hint >}} - -To use 2FA, you need a mobile device with the current time and date, and an authenticator app installed. -We recommend Google Authenticator. -You can use other authenticator applications, but you must confirm the settings, unique keys, and QR codes generated in TrueNAS are compatible with your particular app before permanently activating 2FA. +Choose an authenticator app based on your platform and preferences. All TOTP-compatible apps work with TrueNAS. {{< hint type=important >}} Two-factor authentication is time-based and requires a correct system time setting. @@ -66,20 +58,20 @@ Internet access on the TrueNAS system is not required to use 2FA. 2FA requires an app to generate the 2FA code. -If a user configured a 2FA secret and the 2FA code is not working or the user cannot access it, the system is inaccessible to that user through the UI and SSH (if SSH 2FA is enabled). -Users can [remove their 2FA secret](#removing-user-2fa-secrets) to regain access, or administrators can bypass or [disable global 2FA](#disabling-or-bypassing-2fa) using the CLI. +If the 2FA code is not working or users cannot get it, the system is inaccessible through the UI and SSH (if enabled). +You can bypass or [unlock 2FA](#disabling-global-2fa) using the CLI. -## Enabling 2FA +## Enabling Global 2FA {{< hint type=warning >}} Set up a second 2FA device as a backup before proceeding. {{< /hint >}} -Before you begin, download Google Authenticator to your mobile device. +Before you begin, install a TOTP-compatible authenticator app on your mobile device or desktop computer. See [About TrueNAS 2FA](#about-truenas-2fa) for recommended options. 1. Go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Configure**. - {{< trueimage src="/images/SCALE/SystemSettings/GlobalTwoFactorAuthenticationWidget.png" alt="Global TwoFactor Authentication Widget" id="1 - Global Two Factor Authentication Settings Widget" >}} + {{< trueimage src="/images/SCALE/SystemSettings/GlobalTwoFactorAuthenticationWidget.png" alt="Global TwoFactor Authentication Widget" id="Global Two Factor Authentication Settings Widget" >}} 2. Select **Enable Two Factor Authentication Globally**, then click **Save**. @@ -88,56 +80,121 @@ Before you begin, download Google Authenticator to your mobile device. If you want to enable two-factor authentication for SSH logins, select **Enable Two-Factor Auth for SSH** before you click **Save**. SSH 2FA only applies to users who configured a 2FA secret and are using password-based authentication. - TrueNAS takes you to the **Two-Factor Authentication** screen to set up your 2FA secret. + {{< hint type=tip >}} + The **Window** setting extends the validity of authentication codes to include previously generated codes. This can be helpful in high-latency situations where there can be delays between code generation and entry. The default setting works for most environments - only adjust this if users experience authentication issues due to network delays. + {{< /hint >}} + +After enabling Global 2FA, the system prompts users to set up their individual 2FA configuration: + +- Accounts that are already configured with individual 2FA are not prompted for 2FA login codes until **Global 2FA** is enabled. +- When **Global 2FA** is enabled, user accounts without 2FA settings configured are prompted with the **Two-Factor Authentication** screen on their next login to set up 2FA authentication for that account. + +See [Setting Up Individual 2FA](#setting-up-individual-2fa) for detailed instructions on configuring 2FA for individual user accounts. + +### Disabling Global 2FA + +Go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Config**. Clear the **Enable Two-Factor Authentication Globally** checkbox and click **Save**. + +### Reactivating Global 2FA + +If you want to enable 2FA again, go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Config**. + +Check **Enable Two Factor Authentication Globally**, then click **Save**. +To change the system-generated **Secret**, click on the **Settings** icon on the top toolbar and select **Two-Factor Authentication**. +Click **Renew 2FA Secret**. + +## Setting Up Individual 2FA + +When administrators enable Global 2FA, users without 2FA configured are prompted to set it up on their next login. Users can also set up 2FA at any time by accessing **Settings > Two-Factor Authentication** from the top toolbar. + +{{< hint type=warning >}} +Set up a second 2FA device as a backup before proceeding. +{{< /hint >}} + +Before you begin, install a TOTP-compatible authenticator app on your mobile device or desktop computer. See [About TrueNAS 2FA](#about-truenas-2fa) for recommended options. - You can also access the two-factor authentication settings for the currently logged-in user from the **Settings** option on the top toolbar. - Click the **Settings** icon, then select **Two-Factor Authentication** to open the **User Two-Factor Authentication Actions** screen. +**To set up individual 2FA:** + +1. Click the **Settings** icon on the top toolbar, then select **Two-Factor Authentication** to open the **User Two-Factor Authentication Actions** screen. {{< trueimage src="/images/SCALE/SystemSettings/UserTwoFactorAuthenticationActionsScreen.png" alt="User Two-Factor Authentication Actions Screen" id="User Two-Factor Authentication Actions Screen" >}} - Click **Configure 2FA Secret** to open the **Set Up Two-Factor Authentication** screen and view the QR code. The **Set Up Two-Factor Authentication** screen also has the unique key with a copy to clipboard button so you can configure 2FA using a non-camera method if necessary. +2. Click **Configure 2FA Secret** to open the **Set Up Two-Factor Authentication** screen and view the QR code. The **Set Up Two-Factor Authentication** screen also has the unique key with a copy to clipboard button so you can configure 2FA using a non-camera method if necessary. {{< hint type="info">}} You can configure two-factor authentication and get the QR code for an authenticator app for the logged-in user at any time, but you must configure global two-factor authentication to enable it. {{< /hint >}} - When using Google Authenticator, set **Interval** to **30** or the authenticator code might not function when logging in. + Set **Interval** to **30** seconds to match the default setting used by most authenticator apps. Using a non-standard interval can cause authentication codes to fail during login. -3. Click **Configure 2FA Secret** to open the **Set Up Two-Factor Authentication** screen where you scan the QR code using Google Authenticator or copy the unique key. - To generate a new QR code, click **Renew 2FA Secret**. +3. Scan the QR code using your authenticator app or manually enter the unique key. + To generate a new QR code click **Renew 2FA Secret**. {{< trueimage src="/images/SCALE/SystemSettings/SetUpTwoFactorAuthenticationScreen.png" alt="Set Up Two-Factor Authentication Screen" id="Set Up Two-Factor Authentication Screen" >}} - After scanning the code, click **Finish** to close the dialog on the **Two-Factor Authentication** screen. +4. After scanning the code: + - **If prompted during login**: Click **Finish** to close the setup dialog. + - **If accessing from the Settings menu**: Your configuration is saved automatically. You can navigate to other screens as needed. - {{< hint type=info >}} - You can click **Skip Setup** if you want to set up 2FA later. Users without a configured 2FA secret can log in without providing a 2FA code. - {{< /hint >}} +Your 2FA is now configured. You need to enter codes from your authenticator app when logging in. -When **Global 2FA** is enabled, user accounts without configured 2FA secrets are prompted once per session after login to set up 2FA for their account. -Users can skip this setup and proceed without 2FA. However, users who configured a 2FA secret must provide the 2FA code to log in. +If you prefer not to set up 2FA at this time, see [Skipping 2FA Setup](#skipping-2fa-setup). -### Disabling or Bypassing 2FA +### Skipping 2FA Setup -Go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Config**. Clear the **Enable Two-Factor Authentication Globally** checkbox and click **Save**. +When administrators enable **Global 2FA**, users without 2FA configured are prompted to set it up on their next login. However, individual setup is optional and can be skipped. See [Setting Up Individual 2FA](#setting-up-individual-2fa) for the full setup process. -### Removing User 2FA Secrets +To skip the setup: -Users can remove their configured 2FA secret at any time. This allows them to log in without providing a 2FA code. +1. When the **Two-Factor Authentication** setup screen appears, click **Skip Setup**. +2. Confirm the decision in the dialog that appears. -1. Click the **Settings** icon on the top toolbar and select **Two-Factor Authentication** to open the **User Two-Factor Authentication Actions** screen. +{{< hint type=note >}} +While 2FA significantly enhances security and is strongly recommended, skipping the initial setup does not prevent access to the system. Users can configure 2FA later by accessing **Settings > Two-Factor Authentication** from the top toolbar. +{{< /hint >}} -2. Click **Unset 2FA Secret** and confirm the action. +The setup prompt appears once per login session. If you skip setup, you are prompted again on your next login until you configure 2FA. -After removing the 2FA secret, the user can log in without 2FA and can set up a new secret later if desired. +### Removing Individual 2FA Configuration -### Reactivating 2FA +Users can remove their personal 2FA configuration without disabling global 2FA: -If you want to enable 2FA again, go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Config**. +1. Click the **Settings** icon on the top toolbar and select **Two-Factor Authentication**. +2. Click **Unset 2FA Secret**. +3. Confirm the removal when prompted. -Select **Enable Two Factor Authentication Globally**, then click **Save**. -To change the system-generated **Secret**, click the **Settings** icon on the top toolbar and select **Two-Factor Authentication**. -Click **Renew 2FA Secret**. +{{< hint type=warning >}} +Removing 2FA configuration reduces account security. Only remove 2FA if you plan to reconfigure it with a different authenticator device, or if you no longer have access to your current authenticator. +{{< /hint >}} + +After removing your 2FA configuration: + +- If **Global 2FA** is still enabled, you are prompted to set up 2FA again on your next login +- You can skip this prompt if needed using the **Skip Setup** button +- 2FA configurations for other users remain unaffected + +### Administrator Clearing User 2FA + +Administrators can clear 2FA for any user without needing to log in as that user. This is useful when: + +- A user has lost access to their authenticator device +- A user is locked out due to 2FA issues +- Troubleshooting login problems for users + +To clear 2FA for another user: + +1. Go to **Credentials > Users** +2. Select the user whose 2FA needs to be cleared +3. Click **Clear Two-Factor Authentication** on the **Access** widget +4. Confirm the action in the dialog + +After clearing, the user can log in without 2FA. If Global 2FA is still enabled, they are prompted to reconfigure 2FA on their next login. + +For detailed step-by-step instructions, see [Managing Users - Clearing Two-Factor Authentication for a User]({{< ref "ManageUsers#clearing-two-factor-authentication-for-a-user" >}}). + +{{< hint type=tip >}} +The **Clear Two-Factor Authentication** button only appears for users who have 2FA configured. If you do not see the button, the user has not set up 2FA. +{{< /hint >}} ## Using 2FA to Log in to TrueNAS @@ -145,20 +202,16 @@ Enabling 2FA changes the login process for both the TrueNAS web interface and SS ### Logging In Using the Web Interface -If a user configured a 2FA secret, the login screen adds another field for the randomized authenticator code. If this field is not immediately visible, try refreshing the browser. +The login screen adds another field for the randomized authenticator code. If this field is not immediately visible, try refreshing the browser. Enter the code from the mobile device (without the space) in the login window and use the admin username and password. {{< trueimage src="/images/SCALE/Login/2faSigninSplashScreen.png" alt="2FA Signin Splash Screen" id="2FA Splash Screen" >}} -If you wait too long, a new number code displays in Google Authenticator so you can retry. - -Users who have not configured a 2FA secret can log in with just their username and password. +TOTP codes regenerate every 30 seconds (by default). If a code expires while you are entering it, wait for your authenticator app to display a new code and retry. ### Logging In Using SSH -SSH 2FA only applies to users who configured a 2FA secret and are using password-based authentication. Key-based SSH authentication is not affected by 2FA settings. - 1. Confirm that you set **Enable Two-Factor Auth for SSH** in **System > Advanced > Global Two Factor Authentication**. 2. Ensure the user configured a 2FA secret (see [Enabling 2FA](#enabling-2fa) above). @@ -167,7 +220,7 @@ SSH 2FA only applies to users who configured a 2FA secret and are using password 4. Go to **System Settings > Services** and click the **SSH** Start Service button to start the service. Wait for the service status to show that it is running. -5. Open the Google Authentication app on your mobile device. +4. Open your authenticator app on your mobile device or desktop. 6. Open a terminal (such as Windows Shell) and SSH into the system using either the host name or IP address, the administrator account user name and password, and the 2FA code. diff --git a/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md b/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md index 9c97399c3c..eb0ec098b5 100644 --- a/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md +++ b/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md @@ -139,6 +139,16 @@ When the user has an API key, **View API Keys** shows and opens the **user API K **Lock User** opens a confirmation dialog before locking the user. A locked user is prevented from logging in or using password-based services while locked. This button toggles to **Unlock User**, which shows a confirmation dialog before unlocking the user. +**Clear Two-Factor Authentication** shows when the user has 2FA configured. Opens a confirmation dialog before clearing the two-factor authentication settings for the user. +This administrative function helps users who have lost access to their authenticator device or are experiencing 2FA-related login issues. +When cleared, the user can log in without 2FA. If Global 2FA is enabled, the user is prompted to reconfigure 2FA on their next login. + +{{< trueimage src="/images/SCALE/Credentials/Clear2FADialog.png" alt="Clear Two-Factor Authentication Dialog" id="Clear Two-Factor Authentication Dialog" >}} + +{{< hint type=important >}} +Clearing 2FA for a user should only be done when necessary, such as when the user has lost access to their authenticator device. This action temporarily reduces account security until 2FA is reconfigured. +{{< /hint >}} + ## Add or Edit User Screens The **Add User** and **Edit User** configuration screens show the same setting options, but a few options are not editable. diff --git a/content/SCALE/SCALEUIReference/SystemSettings/AdvancedSettingsScreen.md b/content/SCALE/SCALEUIReference/SystemSettings/AdvancedSettingsScreen.md index c5ce39820c..92d7c206d7 100644 --- a/content/SCALE/SCALEUIReference/SystemSettings/AdvancedSettingsScreen.md +++ b/content/SCALE/SCALEUIReference/SystemSettings/AdvancedSettingsScreen.md @@ -472,8 +472,8 @@ The **Global Two Factor Authentication** widget shows the status of global two-f {{< truetable >}} | Name | Description | |------|-------------| -| **Enable Two-Factor Authentication Globally** | Select to enable 2FA for the system. | -| **Window** | Enter the number of valid passwords. Extends password validity beyond the current to the previous password(s) based on the number entered. For example, setting this to **1** means the current and previous passwords are valid. If the previous password is *a* and the current password is *b*, then both passwords are valid. If set to **2**, the current password (*c* ) and the two previous passwords (*a* and *b*) are valid. Setting this to **3** works the same. Extending the window is useful in high-latency situations. | +| **Enable Two-Factor Authentication Globally** | Select to prompt users to set up 2FA for the system. When enabled, users without 2FA configured are prompted to set it up on their next login. Users can skip the initial setup if needed. | +| **Window** | Enter the number of valid authentication codes (tolerance window). Extends code validity beyond the current to the previous code(s) based on the number entered. For example, setting this to **1** means the current and previous codes are valid. If the previous code is *a* and the current code is *b*, then both codes are valid. If set to **2**, the current code (*c*) and the two previous codes (*a* and *b*) are valid. Setting this to **3** works the same. Extending the window is useful in high-latency situations. | | **Enable Two-Factor Auth for SSH** | Select to enable 2FA for system SSH access. Leave this disabled until you complete a successful test of 2FA with the UI. | {{< /truetable >}} {{< /expand >}} diff --git a/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md b/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md new file mode 100644 index 0000000000..807454482d --- /dev/null +++ b/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md @@ -0,0 +1,33 @@ +--- +title: "Two-Factor Authentication Screen" +description: "Provides information on two-factor authentication screen settings." +weight: 60 +tags: + - 2fa + - credentials +--- + +{{< hint type=important >}} +Two-factor authentication is time-based and requires a correct system time setting. +{{< /hint >}} + +The **Two-Factor Authentication** screen, accessed from the **Settings** menu on the top toolbar, allows managing user-level two-factor authentication (2FA) credentials. This option only appears in the Settings menu when an administrator has enabled Global 2FA. + +Administrators can enable Global 2FA on the [**Advanced Settings**]({{< ref "AdvancedSettingsScreen" >}}) screen. +For more information, see the [Managing Global 2FA]({{< ref "ManageGlobal2FASCALE" >}}) tutorial. + +{{< trueimage src="/images/SCALE/SystemSettings/2FAScreenEnabled.png" alt="2FAScreenEnabled" id="2FA Screen with Enabled Message" >}} + +## Actions + +**Renew Secret** changes the system-generated **Secret** and **Provisioning URI** values. + +{{< trueimage src="/images/SCALE/Credentials/2FARenewSecretDialog.png" alt="2FA Renew Secret" id="Renew Secret Dialog" >}} + +**Unset 2FA Secret** removes the existing 2FA setup of the user. A confirmation dialog appears before removing the configuration. + +{{< trueimage src="/images/SCALE/Credentials/Unset2FASecret.png" alt="Unset Two-Factor Authentication Dialog" id="Unset Two-Factor Authentication Dialog" >}} + +{{< hint type=warning >}} +Removing your 2FA configuration reduces account security. If global 2FA is enabled, you are prompted to set up 2FA again on your next login, though you can skip this prompt if needed. +{{< /hint >}} diff --git a/static/images/SCALE/Credentials/Clear2FADialog.png b/static/images/SCALE/Credentials/Clear2FADialog.png new file mode 100644 index 0000000000000000000000000000000000000000..9654f6a51e91ed97724b55dd705659b41bb52368 GIT binary patch literal 8883 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 Dut?%; literal 0 HcmV?d00001 diff --git a/static/images/SCALE/SystemSettings/UserTwoFactorAuthenticationActionsScreen.png b/static/images/SCALE/SystemSettings/UserTwoFactorAuthenticationActionsScreen.png index ea0bd83c9b5214228811337ce426159d71ab0573..b115917134e85c8d7c6c05692465609aa2b1ff75 100644 GIT binary patch literal 32029 zcmdSB2T)XN)Fs-8ii#vr5lIRvB3Te5i>PFfoI$eW*n}pjD2RZlBqb_H&N=6#M2St# zIp-W^AMgEV-v3^`s+pRadhfUHy{hj^oZ|}9&TBm)U%ZL(OxPAeJLJ^3IJ&{MD zPJ5tGIGpFs!guogqCdc2ICk=)k5TEZlymUKX=7n&VH7GW0RK?;419gwT1?Fjg(9p$ z{>5pqN;E*BT(iZW2rD{iFAX`nUfwzqTE$NH4h=erJr=ulp7^6R>174Q=eJ&Y(K<=` z9=o$ah>LfFD!g`{>i_8CPVmZ$^ZKog4Ygj(*ETu~kh~TmNlVdDvlP~G8Jm@1U zxc4MtC~a%56R$H~+A|;^pzzmoH#dQv44r^j(SQ%Wzs|s4^;C|7IIOI!HYBL;F)^nW zdeTJH)V>wYhPiCEi>`%_9G<=Edj@4a-^IXxygPCC?pW$kE{XK(fnd&a&}duCQ(rc-9;TMf{e_I!q$F{*g!uTg zYHDhP3r7_vJ13k2wxZI~(oRQPSgQ5(s3^=l!{SJV&f&eH?~W_O=ZJ_@1hG9mddq`F zyG=UBr^NS<8R~xiytTWx#}GZ&U$l^3LQF%GAvLu0IcYh{{cnQAd|bVF;ez_DR(`wb ziywS_A1K(`-tXw>2wLO3e*Jo;QOk8?KXSAU4dV)nQtq*{lN1a&P%IbCQ2SBwT^$=6 zdueJq-(kPGJVZfCFY~tB^vt5ZkL%%DgKC9)nF!Bs1#$87^9u_P2F~N-*Cfitvgy^H z8?t~aqG*T?unTh@6U9idi}X3VzROgu;XJB6S(0mUi0&&Eya3a z6ciL|?V>b43JX;WZFzTYvIkDk##dy zR8i62m~LSUZ@DJq&L1xu{qcv0cePPYkz!kB0C&*m&#y~X$|>kXKf=8}MWgdX!cAo% z>y|4{+y`wMsLtWzi&$8siD-N#pPD$_+Za!#`ts$=n*pl|s+~bQqIy4a&sVQds%gpz z1JY7bwVAp#)(1-k6U!wlut4>a1_$E-SC``TukZc+>n48(vb*iuZ^9{UX=#yZdi^(# z5*cR+cT+_vyOgaS=?e)7rK;te^*l>(3YD9i`(mmwc(*h9_-87I<>14^WycE7iVC3@ zD^E9Ogigp$b{m9((92~z+DzJ|*UHPwQLj2WCZ0%Zk#C@c$w$-gW2 z^!IyJ;yn&_2F6C^Q=Fw2)SiX)(Z6x>ipy+no|x z_~DtmyWn#10?U-0xjB>j(Spvz_J9?3Nm@Zg#d~W3tG~BCMTk3FzB}%_JH_gew9L=)23ZR+W={E2X3xGi{<3?njg#xpwXS>ZNYdJ`+%&6~nI@f|faxbQm- z>r+kaF5BidYY(Ot7JS{0_HW+3`)kZd+vxr`VhRf1I$tvV#onxOJ$}gauTUGIT5hvj zo0^)|_ObXtK0_`2{Q2__mq2_M)clw?O?|Rb3gx`wW%ymF;g0LyidWwQ=ddpUjqW z`BUNHF{FPP1?Ay^)g@m)Kl|&uugfA6;^M}pLUp*zQ?!1h1o%L$@S_$`C*6I0r1=1| z`SK9!aTGe{{!jN!4?5QByYkRs@vD*M)vc6l-Ieon!zdr_YF%C3Fm8b)ngwV=Rc-Fu z9J{-_cQ^c?B#(U-r52Wu_)s`od>L*F7AeAEHD2rUl^2~X@(mp)O5>*3iC_Kxw?Q@Z zq}810BPq?FB-gKh`1FYw+PK$6@;6ZeF889t!@`0Z9OmcepUca~s1IZ<+2fVD?DT9F zzbVraTK`4Iat4LjS@!?NVf-OSYkF$x-S0qpojjZzeLcNZI5DSw{P-~*!@>bA&5wdx zCSu62c>n9mHmJYs&g%v?Tz`9`T-3Hu<-CK%OPI4CZR&SR23eLD=NGto+-fB*X~@Rres3^ zO~Xc;PzL$MeTYNV>R64{M}e=+eVxhZdI;ED)#x-d2d3h>gbb0Ui7ebEC@$14FR+X0ILlQ$M{oSpXP z64*_2~QwJ**uP2o1=wj@QA3p zP8+&x&c1$)i+2ho6UqB-anam-s8~rMe`;##S8J>C`r&W-=(|l3o>3ewXFOB|M}^DPE~OyD;F-ZiM`xV@v|b9kB0y#4YL z4GypCE}KzXl)uo?oNRBt1%<7h-CDm{2685mYAL6z>~)1v`2{rVu!5Wi4<6{k|EcD_ zB)Q70{#GeP8E0GAeTv=wh3pE{tu-h&WsHp5f|g@#UaB`Gw{02t;yO%^$1?^q9|`OQ<`t0vUCZ_6y2 zrszWpqM(xh?RX!qFd}V@Nwe_JO>5e-PrV5!;&aW!zhs(p-Z8YETVJ;=-5GXy=(3%f z?QU(I*{Ll{~aEZ*$|asOO$T8gagP-y4g8eBJJ3CBgwFX68DN;|-dY ztZd^pYQVg@Tl3vv+B#8DQH_c_6rOB767XfR2~Dy?JJ#g}n@WOUBs~4FP7ummFX^ktVKbXlO7Yp2WzhswU1U0n|+J8w>jS zb#^r|d{;RWdYjq01y?u~b&~xwV4IqE_+&wC+S=MngsX#USy@?xWky||7A5y?-##-@ z?_Yz!e88|;-3`CG((Bo8Ca0u`=<5D3iYjiP_@`W|%tN_^S!uev&L~H1?l)i}nyL8Y z{Cs6+!yM>Oa3eSeI)A#kh453NU00Eh4qaN7XsyVfDedXt%1T2pImVIhT_v)3qxr&MWH z!Wn}xeZ#Dzq!cFF{=!3{Jx($-s7-~@nwXR{w&-=pt>0s5%HBjYJ)5uAAU&@?D$(x3 zV$Cq!i9TEAT{%)zpEfr)yH1M_&{31B1b$8b@Zmxz%>jhy;8S3rXG{#Od4KMCWB`Ir z&gQs0=zyoRd=ESS)jCh=-@d2_>GK`KN4m(JZJR-{^`dR2ExG|ZQ1I5|FolhcO<2JZ zV2x)*;@RqHtJ~YkA><|&7TtbU9o>*XkU9`sH2s$J5X3ywwEG^C9p}!S`(vIE3vih; zAk6-ZaaoW7fJzD0w3H+`z+q8Z{{H@n85s?QHWQqkMRqfsBfbFvjtn$I@8sI9U{b`*iuwbh;@D<+SS$d z7OU+-z`(#z9EfoZpX*F8qi%yctV>czK&qoFOwzqYb_v<30+4T7$1mSAmJ!wR7OBI~ zz^Pvca{|({8ef&I+wTlHnw675$Axq;olbIgaf8F)w9 z_MA19pzE~}*9`(_3wAB*E&~7Qwm#AbrSF+}*xPeLHpQQR6T$C%2~MWM8>aQ|ZS$gh zF!ynCyK;p~Z(tqZbk8x+;^X6Y4lZK5yBPu`mwK~sxkp@cL@J*N#3dx~@lUst|1;BK zn+FPQ=wNnaL(eN7u7_4|y6RtE#9dCN>0aC1RHW8fxW~-Q9HuRQ^X5%4aq;$4x{oym zIenZ~+Vl5t&t9DEBFL+#s4)676Bc$|`hX+61-tn9NBSQmggPEt8$FCRm~kKaOsHmS zDcE=Y{pu|<-@o5z8STLUzDaXV(Sp8ql|}Qt4=Me4l*@9}UwE-GYg!!j@%%rtZo0M7 z8=;xj$j-rYXU?3_{qtQ|g6I{Txyxi^X2XNGhz1#n2ni0Pe_}FqY)Z*c*92V)r`ZW$ z#=1z&ubR`kw=q*<|H(k*-Me=@{EunlN51Jdd^9=R=5_R-UyJ+~bdsLa64f;|RF?L5 zgp`Trc^`0cz8tRXR_YR{;jK2!8~38Hd@krKP@DcNASqoDdSQ~Wa|F|tMn_m2`T?MGrGpI^P!F5qGgh>vw#H5z}WW#hPB;;yK%1A~W z9C&Y0G0VcSv$t;qefcuJ>U9HdRhl&f=00iGx090wNLy&*-?&)sPvH#!j@b7qbG0OE z*<0uuj0-*!)O*ko=;%bqxkbyr4HZ~L$NRatx~@(J%Id*rk4&)8qt@U{(_we}E(U!QJ`ynvV$HcM+kCa)2%*jU}U5> zTB08&;DMoy^V*vPMEzHFyOro~ro zFC5X8t)_YR4mMzZ-CdiYs&BqD@^;2F+^TKMR_Y)24IP|v>F_n%Y)(J`5ki=VX0d1$ zBV@+I(sIn~pC4fq^HBE9FvqA$fbu`d@Akv~ARGXfMgLpraIP`P(RTiIB~48~e+uq< z(HU{s+4sFw97ddHA|Kk%5=%%(AizN?j8i;^|K?4cilZf~;5HrCwRh{voV|Fs)NC(M zQSSRD2ve0&x_-f^CF~u5eA8hJ8tHj$#1KlUNM5D$QT#`nov+HG5X>k2oel`GrV!>D zG9A~~hD{+RnCpG!T;{{2eLu9*6=9^}%veu{;#rJdK*BMEV6!j^H|OTNYQn;=jhq9h z1y&C?+VlZqIKgRTGw;oGXu!F5?_S60>o8Gd+Rw=&3-Z`&(m|-6mVK4+oHjubX=(rU zKE13LkQb_Xrone+x9TaZMnfwOZ&N!@l1RIkR09jc8DOr)bQPKDpKl+*ENs%ljbN9{ zSFV^$zw`E<_~A`mO<`5~V^SCDTH(?50FH}GT6(&2Pk}0v(_CCA3_x#0ya~r(VpkeI zcemtVxrE(uS#v5U#iCpQ+w>nNNGV-?H6b;%`Nz!L#ql~{;4M*$+~&_}v92}l3Ma6p zryF60bXTrifu#Dj?2sM|gFEl$u}!_f{hMrT&-V_2h8n9O65?c%q=V?x0Nx=O!Suw6 z5>1^TqsQ9bOf*G0W8kgx(XQ*~hg~D}CkEK7?1P->B zY5**ETT&=)Y;X5$o}Cv%GSm8hWaiaFxqulu`G5)q7z$lHySus!9?Gl@<1m`k0uCX-OG`^hsS!F}BjN|9R;IIE4Y;W{ zzYXLCqXk@g=DrU=@eCV%17`+0Tu>XI!(t`EkR0%C0!`t%{+oVj8jd#AF7Q=J8jdP8 zW*KE(Q2vKZ{v_w+T?q~jzRSea#joCd1qR+#$f57R2kv}be9x?re}j<`KQ1oLYrxdf zvWFj2VBUA%6$ZazoJ{1>+kM8c)6e_uBqi~Y4!2O$KRsY4K=~gHzYdx}f`@UB^sPI0 zVst9pukqU7Z8qX4KUn5l94c^YZeboY%mBZ;!1QPHJj4=i&=0VXUsMX0x3Xn_|zfsyMm|p;Srp z|BYsY(e|yES4>jUdDs!=dyI?(3u!6-@b=KCIUb9Mtig%+k(rs*K1pdC&YD?}Z)U_o3lFtJ?z(RZD3ST^aUO=>AWLZvO`&)eIGi z-iO1d7+?I$4e?8QdV0^bw3u0zFQ;^W$j#;a`Sa%u=3?gY|grc}hW7)x$=m zc3?P9pFaIPF76Ce$cK*05!ubAc`-09WvZtYH}L_#K@E8AT|z=a;jbz{5s0W~vrQzy z!fFh?{kfvztyTwoAcDlCr0f$b!otE*`iWS_MVtORS|B{<~d=8lbtc^om64hjSy zy7T1Z2O$;uAN2Zu94&I0)(rot^0ebRL;;G z#8{>=(j3e$>fdx6w868iIC7}1uRn!?!FmkY}g^JYz~X6gRUDbvwb=AsP7;&0TtqS zHyq}y!_5RC#PoDTjt<`Hf_r+G zn#!~}-;IyRX-j!n1Qkd{@sp!g=MtjFVZRl6q92%Dm6r!cM6}yBIfUn2??CdPJ3=f2 ztBVlEG8<%j)Lm=>-X;}1o$mdZ1aBQcfM~~zGnoSKXTj< z-adp`gL6qi>ngD52u!$i>C&Ix-uECnAh@+rRR#FahW8|NAlAU~a@*&GN-GD_J8+*! zb0>5TjEj#S2Z2u%q~=s*Mi$LNZ5uhyyg-?Lc zaiK^NnBYZM5*?_~+2a4?)oN>t3=W1#` zLnV$AIw$*~*@8$NFA8lH+@2!8d^uMPy2lVw8MCtFB8F~)^n^$eV^dRS0Ko0;@56{q zDq|HB<#Fsh=s4mA%AOZMS65fpKLGcC#>dk_K|_cZFG8vhYZDDM0|OK&BtKyhkRsoc zlO^mn5<;S)KEgK;eHKav09eHkNOL{V$^aW;nP>oME*DM^A_)UBzL<>6vqz6m@E$~!*{{J6dX|t9+5B;!*gq7M>j_V1>0>19xy6wK?iZgaC7}IUu^JHSl2*$g)6oBp7IXg@cQ9imxq3K-$yM z)8j!`LXxwzv=m{G5bbqg1dY`KPUj(%O++gT3NAj%&CjQW7dsB2Lpu*~DnX71V~Gza zLAU7X=^j43rkrvGi6Ue(^xCx3r|4*DR}te2@CDG(PDAz{9v&j%C$di<(o1CAE@HxL z&i**PfNUU~=W@3LTA1GX9GBm=7}a1cQI&Vya zCxiro24(Hs`SZdMH{dxl^&1EW-4B+WCO?b*Nl{^iV_K<~b$3rvTKXNNBSdzlBa3B5 zd`J)$^jAI~c3F92&$wx?~&^Y~K4{ZqR^%%CvvDThmbfe(@tE&zr_ZiOOM)F?gRkgnmXi z6qpE0Y919s!r~0#TKEoH z5VS7fY_aA!DZrrqfNwwpcqO1yFpNnN(dGq)N8zQ3$?Jp!dI&B~ughBENd6Uaa->h< zyt))*Vs2gwGnQ_ix(!y#@#d{tr%`|4&4Hkf+X?A5MY=|MMBxETcZS0a>c=Z0|}}JWo{gcLcuPo1^LPC6>N5JTew(FBo7dt>)2L=;ZS>S9it9`HbgfYpKxA#2`tA17}S2^|uH z5LZJg%m2Df=!6nA3dSC2FZw__sg}DI+0wa>Ri8PW=B}vnBj?}@7`M-Z3nRt#tDqY% z2(4*@*BWYTXNNT%Yk|BEqVRBL8v__Gy(&umvKKOxpPw=lkFYg@Czih)*M)5onq3X} zuhxK-ngG7>)lt2sdyS&#kbS50Un|Tv#8^^!oS&Q!g}K0C)Lbb74gj5_c@;zzmebU{ z*z00;8V?T_wZFZD4{kS9<#3q`J7~JiU)gby*8|n#2hgH)yWgxg*Ca4|1;+lf$PeH! zBfP^4a2dS+@Zl6HLcrxJ{#B+*WHo>^W0R9FWa3$YP#Cx^esH@Gz($pEtSeFo{Y4a~Tmm+4bu$8W9B z6sY7{hw~~G)uqlGLBoPjgJ(y8H7@~Q7%*#B5W^DK8!kdqN1+g}!9YuMb1fuYtgA6t z{l2p6pLGYboPJxBK%;9O%ujJg+U2g~pcFn^=2F5Q@gGTBi{@V z+`k*;JWZaeStQRB4=@m*E3aE>040z7`A2SB-6~%JZny*MhhPASPw3s%F+!Ybpc;U5 zK8*wm5T^|s4%91PT@k)sEfgs&?t?JR%lCn9fV5bEqe#n~(?y}cS?08u)$l1QiV)S< zVh;%mdXTBM;!sQLjtluc{n;GL}(r8N4cM z<)b*9O9fXMf@(8&o~^+lef;>1e1h$Bx(5%gK&?>jPcA4ZxNjL0WjE702AuRO(~`(5 z6cj0?Hc4MgUK zYWQ6tAsWC;IEz!Xc(^{uhE$FceU1&Jm({ELaHSCFz_n(Mwj12sDn&Rs>S@<_Y;V2r zV8YuD@5ZBcLV*xl4+uDTlz5T55bFuQb&q>|K8iUKeSGL_=z@cT(@3WcWj`@7@sW~J z@FnYWgoIwv(KIiJjw5){7obBoN|*48opE84z9V#X8ti@^9vYB)r49ix(9`&`C|m+$P?~D z5d$!BVWhOUE1(`xDmXbWgK4ml&K}yU6EKaz6GpY~AuIxkP2vF&ti3K*(C?sz-o8d3 z2BR6m+a7{JqdwQ9lMS3O009aKNAwn?(8k;K$<;)Vd2I7Z`L4V zQ1UwwhjUw%o1&*0A5B7sOH50C z!L-c~J~$Bw3PHHnNWyc;TE+Ii<8Ii1s<{3TNgEP5Q6S$YPeEmjOZebgLqC!Umzl`$ zI7$)86sEGCz36;kl+&ks_z}doIIN_don6UmU+@DOmJ&M;Mlvd?t6%7K0XpE;-7;CE zYM=H%?wynrH>b}JPEefjQ#ZG=ONZyroqHrNf9d;mzBAj0P244js?5>GKf#uygI!Ag z^XGZoj<}^I%ilu^HHf1pP%7Olr*CksQXJMQ9|{FSLZG&;t_q7Kdrok1kQ}P5{oESe z9)U73ruEmB19PHFHrOB-aPDm(E=~dpuJ<}+_qvwYI5`y^KTX2wZ(FMaG~yn1!UfCi zF7%UNcK`IC{m7ri@CBIsB0iutS9`r z|I*1l}Gl8Vl7RCh6N^^57Hk+lWC7U0q#@Kf$X8RJ8*2 z)|U}mbX;pBpEsB_k^T>G8%&rA^%0+OMPN4({QIJ!D!6GGN=V}_4}1%O-cVK%_aQ?7 zJ%EgoO^JO*@Dca|4h9nY@%is?p?f%CU%p(5BeX1k8*Hz z{F{G7#H6K_v=<0m4n8$x&E4g>dt3Yx!k)tpyu8EnXJ%r; z6HKQ#sOL&bai@R6$jWBecv&i(i=bf8)^}Nzy>%T+0%NBrOnWap78ek^7_2>b;*NlT zmO?reQf#J95YP$^U(1puu9{)Ye8Wu<5fMZJM6LsUuSP#Wzzg`Dmp!30Z42$Oc$n?Q zq|-)-A$YssGd@)x2?(2QS59_Keu%T-(fuGtgp#E*8@WIco%TH$=ydq-|5ar<~_8`<6 zY5`w|lux9Q)bq4&!0Yb?D1U1)LYR;?fgMW3OC0C;3dV(*XpeLkh29cJE5xyjU<;VZ zf=9c->l`fXo$+>GX&lTeKv*eZuKa#|Go?HEqPzxJ4>r#MYgY|f5G?Egp$kB)nIOHv zd9C)ttr{B}gBnU8ias+@E`+lDYp0>DW`f;zaiD+*LJ2??(fUfA*dZ;5K#D}B zUy$A-lLOzrJsrm_tFKSzu-N+=kck2Z6|eod%o$0-%kV#9&dpMmCE)ZE29*l!DFnMO z2SkH}Y$*I5vW7+*4y$2)=^}?N2zGEm|JKR~4H6m9GYIe=3fWGcL+nPCk^t$EHVEIw z1GWv}0zQ2B5JYVTBOO9e09(cVS86=P0Uph-To%{={ML7a*hoB21vV6XV1iefRKIV& zPl4wW8fZM2Tz!%L_zR8X0QlbEb{`ixE1H>@z@UnA4AyGIl=SK-xVf*duhBnB9Uu#U zksxXmP!qcVl_~4b*>I^YK@VGP5IQCS;6kYX2K>^9oe2z%^v8Q`9;RS_0WUCYoR)Tl z0Qmk0C%S&&L?NPb&;)pQIB`BAu0TYsm728I{!M4sIypT}DEQwad*LD`2F86|)ec=`9c;oK!Ao&z*} z2Qio#GKpVmjTQ<(ghgPGgQxjm3Vrf~N*8{3aD4AuVmP=#zudZc=gu?7=8)Dec=x>S zv5lH*M#6BxXyt4A@?|9q5i`~scnA7706nY%K?F=5A&nqYdW__eKrc;A`vSukIIDcAys+dfwVDnBhbzsY%zvHPs@oX>^6Dprb$;e ztUT`!Tkx@%Ix;WNEDlmdqAhj1|DonD9ntrO{hud(2w>0y)ac>O`Dc;ZTef>HBT=J7y()THg6fb5vw3&AC7k{rvi!-DAw^?P zA=kyfd55Ile^SBtJ>R^!il_nM;1HX#cp_v3w**YlL%0Yb74PKwL%P3j_r(4vN0lit zDQRw1Ux#wTyZ8Z!9RK`8=qh}TBsKDflI?#(V#~lJSV|uyJN_e_&^ltjsgxnYNf__0 z0-{me`R50=6mavA7mio6SpR(`E%*Ncq2&Mi@Y8>t%Xh_1C+xj&4-0r$(j-M;P_^%k zOH4EPAR)sr@F>$fJNjXXLNTueRi1e^O*}#N`<&MfAv~RZE9fA(lJje8l_j0H_Mt_- z>}$ijD;I^{?%HdW*z}|~)VfSeoi86Z&kpDM^~S>PO;G;H^5!d+Gzt~+Jp8?{zrJ00 z3%?R(*j2ten!kSVqqS3uS+Ey(frhXW7GSMV%6&X@{K{;Y#eH@}ke1e#psnMHL(`oD z-GPW3-oIzh&P%k&ZrJpy7+YEEM2)(%ux=Zu96Y-ZmuR}<;enfb{D>~TOvUqyWZHN# z3rXj};xsRRNs&yBjIowUzq?c|hD}~=#-?3q%5>jdY&`2nyd}1^rzEU+ zz0{t0!`iNtOnKR~GADc?6D~-trQ+GRzcBN4nP$#se_EM;H{-giS_c!$9i>N4jt=%k z&a9>9lVlCwO*gO0-7(Ef`MHN@LN;!tqe6Y~GMkwNfsA6l zUQhpZKMkdB!`Cl;wbw`}gnIo=e%1hXnIcZkAR7kPS(}}S=300Iup#g=hU!ANB z{5Rg!r7UeUY7wYu8}TwKCt|FI8UmjD!Pzf!aU}D#&Z77^yZl0J z7v$7NlxgPgJ3H7>J$CKKoc}dN+lFN%+xr|p#kW9Jo{(Mxclq2#?QuWBaHi87HX|Yc zev9PgYfJ5Jzis-0s_glzem*ntY^u!&K%oXJhvmI(_)oY$Ah9#cgonm={3V-ytV z*%o+EmVJ5PYcWgrlGI8`YrjA5()_;ij8=ST!4}^2wZ1|{-^t}6GK7Tk}Mp(mNo6& z(MN$bSwD`=DqP+B+#09t1a+ei)m+kt$7*H9N1xP&dqgKd)mrpwtw=cXMAkQqg!H9+ zE1KAyX40NUaHPXhP;_&%Cn$WEFFrlAQ;E5F&X;I=_POAc!{nk%Yil6JLYTj8iW<#N zBr@YjnarQD8>5}mJnMK~rZw-GiCsSP0~PlI&AlTz8jt&E7v&XEH&=?I_~>*~o0lBV zmL#RqJLCASuj)*=5n!*hp~rbdGc>IvH|v88a^jCAQ`Cb;%z2iu#Ra4!?L-X!H=WkP z*qHYICS=P;mE7;fpXecJK3$%EO-w^ni&r3hQ;@n>q2DjGe((Ees`MVCzWFE768*Tr z?vYe`@z4gVYh5*@M8_#h8NsYm+V#6nSl{mES}@*j#NR2!=3hj)3s%1|=Ejb#I#Xyj zmia-pu-_S`=*0ULT;Wu{?TqX0<{Pk%oqPM7)fLk`z3S8f$HDw)`5;Oxcq^@tx!t*7 z3HCk9Rt0xE*rb5_MhEEzclTJ-j%iS?_pZ|@wqSQOuZ@BY&h4^u#@PwdGPe5R2bwb2 zLM5f$!?y$*mfKaKw_CP-Wy3919Lny0i=OtB%ZhS3SXkN7-!g5Amctk>b?fS>Y78~2 zYrv02613WKg|E80$5?3O^z@8Q@8)9^T}&c~xTyBZo4XJ2^G{8M-iBiGPDzJ*^u#Zl zwzeU52=k@$Zm7351!uq2d)WbkPM48iXU@F;Jj4NGe{Cq(AU1?;6Tj#4aA8jXwo%{7^$<;0+ zT)O=?d@c9=8ZSQ9nxeL-KIGJiJG!Eh&pRm+P~041UgGEN6-L$XtM1a^)!c`HeJkF> z#$vbq`*9Wp7`kU}tNo5s9x7H{dph86ZvM$zzCQdT=UAN0QZ!yy!%}MAgRg?W{Gfoz z1Q^FoEI{)2suWnqMQM&36>k!@eB z8~l!OPfABCj-jAp$waZ$H#3^PoF#8;buT~MV~_GiR6->CzJ*QwEWb(DRRdd>%bvuo zP#wSLN`$i*S4cjaQIFmDlw*7L>FSQqD;e@=1szS5s!zDBa(A0-@hH^ovIP4{BU^nkHs(f1OCb3@r_xz8cNf1EE|E*gKf!U^@D66@ev748K3Q# z;^*Ib=lo)aA-sm?QJJ=jpSwl`JFjd$_G;G*4_#GHzTLZ0f2d-I76JK85#8SHMLo0p zlja(xdIHD}p06kGrn~r2*cfxxxw_vykLP*8x9wK9NZrkY8zH`~QJ)5W?uVshYd<~_ zlYMf=>3gE)$<7;q(&*zw=}o%qgCGLk@;iR-x1O0OF$(ex`;DLUSJCv*KV4mSk9Us`nmzgFFFRm3NOYGFw zDm^odIX27QXZ_KdtKvjra*-Ge7$5pnVh5q2}*DQ(j#s}yvqaQgI zixNuxcplWoCuV#3Ji>$?uaC2TlFy|KU`Y7+yHfpZs@1xqgX|64MkUCl6JH_*o`yWf3t3+&D~~2kr?lc6j65q5;BjcH zBKwg`Dj6SZmnJUs_XdAZDO;OEYNk`+@0%!gi%(}ZI$fVb;B$l$YrcgkZ(cN&99dT2 zY8GR!nLp#|kh+x72*~p$0;L^$^rzC#4p9&r8^WW?ovxH`US$(^>l8x&_6l&+Xv0N` zo!e4eXPDlRC=BzUQ|TbAEq>Ly#t(1O)bBhHqsqPR9B2F~K_pV^_u9n+eI3Zlsk6Ik z-A$+%+;Wf8b!tR6%k-rLi9YN(=2Lz9>S2E)`gW+g+z8Xy8im{HTvk3c8D=if<;)M< zz02foZL|CgA@Afgu92?zpSa!1?5v=}>;*5>%xaq1Q`-U%VYjj+x6h~cuf=nL_P9b5 zE00&9c_fWB(~0ESDSFIAhR&!Ih-(qMU}om)A`xzrAKzV`em)_kzm*$qc`l!XmUcht zxG(BGXL-d7(~?TYETOQNa$y%|4FUO>@|AdP_3rsqvWo4X-iDe_CH?`j<|U*1d++mY z#JW7t9|=rLbW;=sirIzIEL<;c=^R8I_+0TAJU)8$>NZ3A? zeDw*Q)2PQXk#*sFu6v|tOsMQy&Dw{nhEhbvb4wq1gO&shYl0^8OVguBUP+6FacT{= z|32bLp+|`=b?286Q4>BgJlYvxOf#*EkW&WK%QcvxDtcn)fqLvpiT8QIoI=4)nW)v( zCH`rWRau1rP1#Ek^XD3SuB+Cl4~-hZTn^Ag=EHwDON~NX8a^}`*oOP4|G?UR9K#&n zme|Z&t@fhM;LVqhJh7>OWX?i=i91@550~#rN)Bf;Ztx1r+45UoxnR8Xh@aJGbN(@Z zRKl(Bwe|e`&4*2%#g<(&!Rd({d4NK%5zi%=Tfwvk<$uO{*xlf3-Kq`q+BJm)mF9|^ zr9>@p!JUx2M_+EW=xaZlTM!fMj`%k}ikTCio^h(2pK|(W`^??kY;4Km^{Lpy>yc*q zrv&WVL|PkVq?^MJOVGEs5)%NOC(^ALhtH#TTHQOJQc0`0G?bHMX?CHthk6~3x?h-? z$*!YA57nq5z=NUhIzWatQ<<>Pc`_L_jvnSjryYJeD5pj@tgFUj7AO}5_=*q0y(Xi+ z%xg6iXTG`ZZ?;9ne`E>hVKI4D+ z!&(08@Du-VM*mMYv(^JpOTcz?$=LB5JR=WJe-umZWa-siNL9@O$D;|Oa%v^8hIM@^ zi>9GVd6TJr5zKb+IU@@fW8Jj;x914K`Izajq;6nf@ZLAw1-M$|^C3P31>Ity6$Zr@ zdG;C<4x7&kkw?@fU>!pgX4Mi0=BAF8)oXj&Dmpn@=X;v+#$>P+LZ`u+yNI|$BO)lh z=S+_he~}r@yJ`J?+7IGy$)=Gh$eL6#vdYRK%hJ{=@++}GK;{^=RDZcGS=+67C*B!6 zo?p4GqKv3$A7r&$oBOccr=il;bU>r%1k$Je%H(>+==uf@fB(dcz!q1QUgnh+#=9~ z-kY2D@Tf7daa$B(=lmQM<*tN_1OAOh_m0lajBwvvh#F#T%g?_G#>R0yTG~3e%}h`d z5u*ZY>1s9FhHyaw0uBZS&oOBlIZ3WR$- zMZg{gPcSo`C8B0B|MoupiGl(tq6kp>LJSb=8dy;Z@1ga9gsukxEZA-p+z{|lIN#5s ze0E-fw+GR3IS1xK5Vk}nqIjVT{7ej7T*?yC(!pN>14|6TcK07S+$2B*#wuZpfhp z5uW|~DQ879zfRWlI4T;JeC6s@-e&B8He6HQYkYfhZ`~1_rjcN-QYIz9qamv$I`4Wt z*dKGLsYi`Zj+LW7KgX7gJ~lrXe$`^6T&us_tz`Lr8LwCm16}MylbT!NMjjFr5GabL zjDkGM>}R`^w8L$-1$rP_1l!&eI?T_*tVa=C5Xh{#(j38~&<~$a zRnidBj((i|$Gvt!OKV%tEqOsbQbuLkci_H6^zhnGnSxSg^tW3SK?OPMa_e^^ zH`V4Q2P~M=V-55$Q}*vSw${hYsmiiHhZ^Ezb8Lrgm$3Q2tFwM!m2;M`=JWXqu;XQ0 zJsJ`kN-MIdd|S6@nu?M~EQ-pK2QuaOf;;JF*un0=;1P>amVLHhQ0&zDxe5D{Z{0vq zr*%HLjPnjfm$5DVKrH`U-0!{}zxDX2Np!94Z^fY%A2dUP3ah_RS5R2ky}J5(3D8e$ z3xyoG*mrA^G-R=~yMd|2&p)wVnw*+Phh88%o)63!z7_Roid5CeC_dL|P0vtZE8tUM zz~G=J10SD;-P#wXh|0;fd73szw;|FP{@;6%NyUFiLvK@PcKHaM9)I^o{=h$c-(|iH z#J2U+Veef!W)IoOZIDnj_R5QyYFC;}LJEEiM-^J8ug0>31n%=;7No!3e~N+690DKl z($h$!X!@9TlLBEAlsIr&N>#rx+9bK2* z*wWH1VAMU=6&`Y7>FHnsMt-JKje7F;tP}Ch&HS-R#)n?r3qBT_D<^vDUCv4g;+nFl z_+>(z@3+1me=Ix#&C8oY*;!3=UOm!dEk~|sE>5TH=;Ne@o27!RUJ2JdvMooy{;$Qy zUn0A5zIrt~Sk`tKE}HYri@T)qRF(Ks^a$auKRV+htzdAqziQg7MD(;{ToH2YVC`{Ak*$gYKnYl`03Q# zG@w9()hn)RTR-N*_{{}d5lzr2$mgO!RjbFuk?4IOBQ#uK+RP#_5+ zURPJ39G}vPh*nhVyjqzDTDxoNQ{QX5kA)U%Is85wQ~V2&beiI^a&ATr*#gP*X!n7G zs9wRkHrwK@^p&oSt$yEPnGA2ADjFG~#yRyf9+QEQt}*Z&ZDekjyTYC5Pu=uSZ1^P6 z$6+Z2(FUIQLR&uaE46e{wRNO%n4)&~DRKTWUwXb+-#gA)TjI)68KtiAGNY2M310=v zHfJMy>v9w6(R;pR9Z;?~7c6A8(&ty^(ir1qt;)>1b;Lg?d6a$XWITQ#E8t_8!a{FT zVjHCc&IFmz5`G^;HKxNl%_Azbv(Jc~G9G3s)lu^@zJOqth5De8Enh?aE>%`~S74!q z@kpm+MFh9aeRa_?X*9WU^6~!NX{E?J#tq>)yrcya=IZ^wM+0*B6AQFb?fBmx5HF}` zvRFx)Ym67$3jAuSy&rmFrN}y;>uX}GOs3aIVL_+1D{bpAm^@HWC^ZMR$j-SM4zSQyWlfZXVBg9xwn4OAuh_V)o^?}V(5KRMFRG09fQU>2cCnEUuVqe zJ$#fCB$@QL1Zyom1Zu{Qv(v`Ql?8m%q)(*Jl9{yoAa|YbzRnOAx77lw19Y!N2=F2zN4eUQ!-}ZmDm4x-` zHwzf&s?8;LleN;R<6T0>`&Q9pQBGm5cJ7EsM-m)cH`CCPfg24TWFm%c4^MNPDnH&g z1J{y1xV#^NDvr8AOZ)gRY&_C&ST2e@66|`Qhu11y2A2gsd`45y78vi7ne6h3^1y9q z6Ve17-VY2MrSNfS@H~LvWMWkp8A-{156&a=+>>#S!z>sZ!eseSK#-}mRfKG$`9 z-tX536h|*#zWo02QJe}2g~(8s1?>Q{H0(8b%1JK@^z3y6f@$1y$N)hW&p*anxiJw7 zY&b@=i&t8jDAma=@~?|OkS>r`YM)^A{qw=%JV zeDdnmtBzjT*&vMv1;05UxDfjU2zh{$GVAy)SlXz80$D$Y{MiiTw-kXO=5ycdb#CaJ zf2?id;ksKiYO^6JBP`w0Cy{bAd8OQ2cfW*~?d<$qdi zKlBW=O_H5Y3f%vq00kQGBY4d?(1%W?PvUpGGs?1ZWzygfX2fOGEA6K~*O1 z6BeDU=%t^;Mb3``uA8_8Ze(LRuhDPt)Tb*jmYYq|Dig84(?=s z`tYg}3L=Xo0JFfA&|B>%^K+Cmvb?l}c*{ZxU_Bwa8ic-xYpH5&SQ%7Upe8fPwYIKt z!{eoFa_6pdcSp8M)t!S#*7uIwYiJ?!RMAK1k3b1g7M-mDI2xitLzI)UBh@)jlp$m! zNVLX9W6&bF_xWHMipgWgE^2ALC8lNv{xMVq&@maMB;Hhtc!O zLv$B<FxL>?=%zIuX{iio@$gec>FUc|NARE@;cmfG-AsKvN1jCQm2T* zk;Dz+N{GoVoL_ngpZms}$*dNO3cqhWQYOem!c=1YhBNvA_qx|Y`A0I!X=N!X z0pMF7!9l@K3SPa_$s}VmNBo*@7edhX=yKDi0vTsaW$=*C_#6&TRJM(BHhgyPQgcn* zk>qk6O<1KM%X#&IHtA!e0GikxB5jB7{#rzTg)hJ#$QLQbU6-E`ml%HBedA#5#xo&= zo{UQyM(2NL|5cdr<7}FW{eAorrzZXd70gu^<9rV`ev;P2WeU$ZOFgqn+09N^>A0=S z{I$-h<9MT8aRiDhuIo?cj+8AdjH+ID=Y5D@yWDdU;*cR{aSMlH!@7dK^t#X5oL)x+ zQgIDcpuH#?rnZPX%@LcjX&!T5|8DrD<#0XTebv`(N4h1eR~4t`z=7`%F2`U=lx|x` zdEHLn2#1|wm&nHNOa%++7G<0_v7Z^jS@U-?($u$-HJzoT1UOc2ztOP1=Txj-Wx9Am z$4~xhx76EJe8H%1m9Ogr%XOv~XRPhI&JmU_VlRHMr*hsLcl*`m?RJh`Y>AsaLUmSG zod5~dDSsL4lAh)}4S!Nxyi2E@c%ND^oL?S$MYsUBT zmQwI}rMU)CU&-6E9c70$lTyI}W(CTk2y7t3e_gV_a>f2MAKzg_R0c|{f!XRCXr41? z4uI#U4&FPGofU~Nh~po0XszYh%sM~r%giD40T5FjnN6JXj)K`PEz$o3pa4W?YSk1l zFupx^HzxA|xMANT58y?BmmP}uN(o+N;fq-C)C33TT0#NsIUb3oxIA5~fo=ndAIxx( zPHl*D5FQc)9Tu}{AhKfl33@AGC#4t@{Wmj8gQv>hf~4sn4HGyDD+h*pe-vr!>OKbX zr!2YGvb_Fo=^65NlKpeJe>lNYjSv6zD=3Qg{i}}!r~KcfnlU*C`gIWVs@m9OmQFo` zE{_@XZDS@a zKXXckm2`Ao!?B7yX0&3nv^C(hr8ah{GNrd_s8s!D#&g_rS}t}2Zm`ss&+ zE1nrV?Q|<2UCR(CR=k4dK<-kf5E!TV0;JFpd(ZsO2IPqMlf$(EeG1-Z#~b_OOtd|& zT={(8YnO|wd=7ddYH^ZoJsBWR)&Z<1QjnhI4oE zA`aI0p?TZEQtf`oML!Srts&hK=&4)hYyp(I?hg{ov}*AhZopo{y43H?-sjOfZ1K?e;>Dt)MW!D z4(JIsJG5NJKwv>3_rO5@a5Zke$x0w9K8`8beZ+Qvs3w00x5F(Xr61PZ0<~Tb=GPKa zNlwpO?DCDzwNely@e`z?2&huew&L;Hs%~is*b6!(DywDENEKXNeq^P?PM4iHJAH%b z&Xt!nTs@d8-7(y`r5mM}yEFLf8hh8cUFQVWxl@2Nqp_|3&D9x$b}-6QXA;3=r+hWM zH9lLRW9_}A9aU9c)l4{Ek}PZ_D&#%Rlcs_}RkFV%>14+S05rGR+Dj)5Z8AaJP@QC3 zt;V`u@w1CN?Nn>j^4UGYRR869PxPc_UhcSi7sk75 zKqn0)Yu~kXtb~u<)O%IHzcF&jHt)t%WK=IZj=;O>r7~C&M_*+ZOv?O`p%L1i4?RBK z$(!(O1I1MUI+QIVyS;tbpY&<=a&A@&yf>*Uo0zYR`mU|e6@X;S1b_GqzX+!E0Y<-{gSoXYF~hfImtjyxc$R_wC1% zz!u}y;{HtTZg%c{H_X8Gl3wykKeRncST_ocCoH@q?>kudXa(p;MaG$;m(E2cM~8pR zB(UVaz(Px*lYn;U>C1md`c)~cY4Hv$VE64kyBZ&A$HOof_3yMo`inxCN&`c*$swYp zfeEjLR7hfk8~(Y4TxQK!_HLIKV~cSWz4h-=P_8wfmE0IxX}7w_zsDmJn}>EEtuB~- za6Ea#qS~1*mkzs%-430;+MRJDnhELOam6R>}yrTybd!Ap!Z5O8| zzZ*ZU?7*hFDx9h^$N}PU<5+37?GZqoxP$!y5S}Q=+$qeyzCMfe(CfFM(%FyLgQq^( zLVgCu6un|*u-XI9=M=>zIl{+2!6nKDb7-KXUAARL7IRa`Xr=m;zhCQUJGc;Kgz zq!wWMgGGXKlYV8{-yg^}!>bW9KVo!495@hi5n#qg41kJqXG$~^<%2^)w5tUI_H4HG zn>wvtCnknNHpFj*m^!WGlBGS0@L|onPxzrX$fPmT~1@&7xy7 z9?yew*^xyPEREE=cHh!ZGhl-U#ypzG%Mn!sV-zg!M-lrf&Z73kDH*eT1IHGj5+DM! zo9_tZ|7YbM=tsyMTyfWh+k)6-fcwA&T?b@sB4{sLcIYo&mjMDcXCP=-S<6wNaXk}rF_z-ol#hTxn02~aW|fEg&Z zqGi1Ysu*)ShoI3D0^1#cZOjsO1o(}ewS^V}+`wA6yiUKGjw0TBIDb{(FhB`BAQTS8 zZQ6L!#I^U$$03(p2NSDABM!PUv};2cb`{8S!2c`_{Kyx`BMi%a)O2)D!06bln6Pr_ zdzF68aXd?x7mB3rid?|dRMoG0z%z-oayH|J#0&g@fb?)I8J;JO$$&!4;;)vNmJeVIXz_eQCX>i9j~8rA9Z zF#$QqP0k($dmRppizcvY1&FLSH9wKG5t1&)=)B$Q$))N$%EH28-tle_HW1nb^i;-R z$*lQC8)Wf_vEOj*8kjATU>tx~NI79gWZ|E_L`UeAohS?i)Vrn2-L#O)Ep64^%JOauV;vJ$uz_CPl6VK^9k_a~pil?M#en!uoj%S( z@I>MjfLhlcvL7N%f9y*a#JSJTh|Hhr%T=G3ao#}IH^HY5_;lfpC$Zy*PYBQfy22OY z4@R#bAw)!k9zJSJ!VzL@8vdlftX+W^)-TkK51KVFkO1PN=dBuyB(Vr?1G;6+ff=)Q zB?ZPAGH%~h)KTD7fo9H8AQnI^Xk6)e6kY`GNi1}PPIfc@FwxQqggzZ&b{u~N-Hxs- zv`k#y+B_i~{%TdN-4;R)9(Wbt5LOt4DneF!;kiT>KcOWDojouUP!AQ~S-G}=-`01< zd70!?Ni&na=@B_^y#9WjyKOkj8JY+Pt_7ZRW8q7SgLhpm2}dp7wbZD=QR1ZuO)w5c zp^*a}sI$}`?&y*&44Wobpl1~|p{(bgky-MxHTDv{ssF}Vz#q|0dORN9xXx|r16D>q z4bm-Hjuu#mC>{&b_BzoeLJ`%nd@bOSblo`)t}5qFnLB1R35FH!IX_7Ixrj=mE@qG- zr)3B+}M?M+LHY*}6_cbkH<5kWT6f3tjtswtV+MWlfN6*Tvj#v zj8usBUs|VL+O{zNq`&IB;X^F`nT^aP(m60!k7>Xnhoy?_9h0F{12R!faQ$FP7pfr+=^)22#TeT`Ym7o3EZHe1oKfvMHj^|4%cfArRYr7k9Z`~J4lw?JM zC--k`%|?dA@mRYhWZ$&TokN)%0)Jcw&?Ch+-n3}QyGO`q*;}xt=TTuViWFU?}UatI_3K-76Dtl%(JWLLFgdINd@h*cEXeh2oEphDgR00aoXeu({m0#nbj!xIDR zPSLr+hE+U=>SP||5@&>j=xVlx=5xQ6Jq=FJqC9lyLv}VT@R)ca)QoL|!~Kr#1S3x% z_{Oo&Z{Qb(+HV{>b-;XRrg#l07DXVS%99`vv*tDSNz$u^74KM9=F0*)A3BN`E;~aG zz@rft4532Pc=g%W@IGU;A(If$4OA{Q3k2HGzLeeinK|cvbMPqg@i6hPNQhX&tad-} zB`U1gJXW^>H}(X`8!kW1xi+=U+c=2bz5ntQ`3wHXum6wsqJP`W=>LDc3=A~*`X9p^ z{(b}`Bho9t3HsYjcc`nYYjpI8%!RcBPE753ueLYkMg{-KnbQ7irz+w9yu;Lg|4q?m zW?{0&wM9H~a?s)A@~gz+(7%$Z6?+$dusNj}G2hC9v z{+xK{OwE_9H8rA)H+`tSwA52lNP6@=Ejgk$T0_I{R6We&|54d~b~>mg?77k&1C4DC z@W0X()ezx-S8kg*i zFQ)b(s;cu8g^}OZnu)g2TN{Si3Yh0%!}|<2BFz)2Z1Fxnkum$P12c%+8la?~_Fi@C;G?_=Y}SZ%eUq;7lgC3<~gYTvtGJ@ZGc z{|q>(p$_iRQl;-qs7U>bK91_ znqlFq$Cy1bRy+e_`xRLHhuPPsZVO#ZNZ&^xJ19cUT6N&fD)-?g5r;1muW#83XW&wg zNi<0rhW>DCU05T3xuGo|yt4W*?J&zxa}|Qw&amkgHCq&bzC4rSm>&9RnBqK#5|PCeWL`;PVuoCdfg9&#jIj8 z;g?l5ylaW~lxi4gge8i9nxe88EEek?JUg^Ke);TnmD~dMJp*>LWc5?NXUxLoM9#QO zyM{7vHXWrLp1{5aP$oCccrVz)c%YM_U_ZEi#77!`HXe zKfYui(two=$d=X(QJ6&kjAT0_$~VjrFl_pO;P0}ps5K|XjyuR;VM3_A^lSq&g;rPR zGv*rUpqi8Eo!QJ5i`e^?-alXYE3OBqba|3PT_jB%>h0uq90L+B+e)`H`No`_cZhZm zaG?J-!~8grr!cY$E{D9dVd$PvZtY`?KTFRKdbk2XH6>Ku>)sAXxne;}#aD7WItaBD5C?_7vy?ii4=pl1!7Lz9z! ziIOef;k35JPc!h^#C-bvo-vKo&%Vf?X;T-3lUUz+b)AL5qBhIY+e}F$U}a%dsW6fG zsfxkTanh4V$Dc=^^k10r==~bBg{NtQE-UMC@|l}yDY4nAK9a&Rt=^6m5{0Y zvhRS)%{oVyH}quVyO-%rMP%jA{XJ&6b6ynBv7;=Me*Z1p&&z}DEgYxyHQ@oa^n6VJ zP>8)rh7d?hoqu!*9@NI>hkx0g%T=^<5l|9Ji2j=+5PR9d*Ds0PG$E()F=lt_m~F$H z%W5yio%Kdezrpfs)%F5B@^RUA4UHe&SQzb9;FazP8L0T#Ek7@>=<^pkp0OqSnv>6u z=-d=|mKEz%`uS+AM(1e7^&6%6LG-(xH|gsO2}3dzH8-APf1VeB==qZ6c0-Qb&d*tM zrTNQZ>{D!yWyZFh?rSPwH+{yGlxf&GSVlipF@#c$9;gycic+YQRi`fYuVDQe0ZKrp#(b`X_z#RWyajnPX6ne?#1GtSFO&# zxIce}k3qREyGc$jw4x-gPMIUIAz^v76rNHZtl!?<&KI9st`b}s=h>?%)%G{6ttiiB zNPpYSrkxZXaD4ya=p}!xFdun-m3MMYe~*lXIKc_b&puF?j5;%2#Z~F{iE%_ep;Qdd z;V&%jtUvty;mmyILi2DawYU%G*>BInHM%XnQQ=A_lW$6TXB;hQ+#Kspu&Z(j8)Tgf zZg#=$*Cz2EKitwdQ2)5^z(c2n2Up&Fn|U-wzg8PtawXa0J?o{_1(i>@V?Ovx zKYw&c>q-<`c$Oajdb%G~V-stX|1pILLWk)2&WAO_C!W_)MSPmT8>qinLmrU1>wjHP z->Oo3P%6U5V6LyZJ==6PC0C$fX=gm$-bN+N)JSgsm;6kgN~iaXE!9G(M9zXaazn$q z`B=ya!HtRiCvI`u%4$FQwZ~USI(R%r{MhfPZX#k_A;Zl@mB1eORX+7O**x{)D|rkH zi^T&)@Xs~c%nosma}7d2*T>su?s*}Rgsdvs3b zOruw<(Sr&7!xw$pPUIaq*>`Z9&eN++r4nuM1V#cf1WLRuoNT!LML8*}huNt=dzxJi z#yQd^4_NLj=w3UgB$$8%duPp}z4e!)xiCE~E!gYFP73egY-nq7^f{m;cz%Ft{g21Ie0ZAh^{93QF=k-@A$bhX z$I0NBt{;@94)lfB7-MerKfKVI13%A3Q>=RxAG}3zc`nELe&lz4wPtJUW_Z`-87pIZ zd)%3who8uJgKt-9uTS(wRXRn&aX3WiJ!1l2y^@bUIUlaJxEs8@_LRzuWxb5_ zltNJRzR#IH6z~0f-vBAR@$RmWHN4lblhi=?ng5GI`#$)rr>B<>b5{`k;cyF&GV8O}24l z3J2hX-?;m#zvBSKB+0HfK)WVR+KB0&+3(D7ErVM}KJkw3r4p`g0^5#WIG@$ZkuP)8 zRj;IEPu>t>lvU?h_byR!sgzS+SY8UGeE&J)pimu)B#=~`VZtin>hGa}n5ISGI_=UU zg*;fr-NhKSVRjx*8buyCiPoIb&fbUKv5#@4rh(HUL1vpRr`21fo@7X+onKonIC9`3 zfxyeq;xP9B0_=A30%JnIQ-itLUAfatnkgzJa!YRMpS8V?^#*A4Bn@{zt2Jj@q0hft z9l<^s-V?z1q;RUZu}uReR1(An+X%D83rTn$*3_NIs_}F?`zL+%DU|k*<24+6q~z+u zTBgG^y8aKwxkup0y1M;H5X(YeH@~^(AGE~p(v9k2&@E6D?7Rcw#<92RX#$LB^sw_XOrpT0{vi06H z_+Ub6v7hzxurIUu{_DA!hgI}$T-)VhM!k0*P{9^rk ziXfhY8{_)?RE|wusA+s-!!e2Al|^jw&ZEWHk&$N3+C7f|sbN`z5XdVO_ZY->eQd=s zWulDcOq$v9&WDXOx|KeAu)o@~)6C*l#1v&5FEt?SKm28ZS^(}%AZy5jbvql%ZuQ`U z6u;uLP$_xL{+FZ~+vsVO({US;N_&EpkLg42GmMd*^fato?rx%fY$&(bo^flY>iul{ z4+ZSQtEM8+6k#DtxY17PZF^U4sBK~}wD&@S^m>~##!OxeN?+h-V? zmTP6+p57FeAADaj^mZo`wXDtzOZgr~WyQQaX;GUO^kk$)Rn_cv3jMB2`4Isc{)MOm z$DiIKcz-?;AoZQxyhgQ2X-+b6YMMF~xV$Q4;E{bI>cqgqi$w3cd4hk5NQ_!k(ZL;C zs9SKPr7!W{v-*7%KahfviltKI4DsT>+82tj18He#{floqm*cvGAypgf{y~onvA+7p zc4?$fA5-+buJFTrEVgxU1Tv!DTMu&5Z1PjnPe67U{k?_bk&=+4R(tT^&7vu&k5(iD zqSe22M-+YX_A>L;R4^_svT#uog1Ot#I*ude7B@2GeVwAFG?IO_V{)ATgb~ASG8QYT z0BPnYhr_2&@gTAA?We7Slw%{Mv|6qb)Kl#lyO-l=BPd^+P{jBY%LFH0#%+AX0~A> zsw$iBOUqfy(yB!SD3HRim&LSGyo4()MPJNcDs~cx+=sl9Gc%5pUg%jWJ3UvHYclQ|780#~$^CN-8ThVMYlcgtwcvlq{&9cN z(gJAMFvw>Y2q{DTs|?#4NieB5Lh<%AFN$i{tx$+!6cUjN2kI|$`-TmcT2(5`=Rd4V zlxzG8sdB0dF$ryP5mS%oi(43hXSY%gnKF@aDnd(-at=P2_@>*uKIFurz@IR_at52A z(3!In?X%m|(71^NGl;*1h5J#$5~GlM1YL4zUw!hAk|RA?dSE%I7J4r%+evfJ{^^zw z)BkYD|CE3K{S5~(M0GH#{$UQdjDR%)5veX39UA(l*bW|4H8bM`XcSQE;2Vp3`k%d_ z|D9{|Kfk-f|84VwJHO>Z@2(7~0on=L&)B{{_v(s0>?T9Y&VGsnl2dv&AD~~|DS&Uq z*S&Fn&c0~}s&3ftxfXT+LRxn-fB)H@AVvM3Bg{45zQA`A1>?p3$v)8OB45s^Q*`U; u|Gx2s^hKpVTMxl4brblvUBL7A=-C2j_W8?pu)vn)6ly9OS8|oi9{w*cf)1bn literal 18738 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 USpo95knYGz0woGxz4QA20H>;4UjP6A From b84960a0e0eceb94e92a656bf5685bd343f4198c Mon Sep 17 00:00:00 2001 From: DjP-iX <133042991+DjP-iX@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:47:12 -0500 Subject: [PATCH 3/7] Update 2FAScreenSCALE.md --- .../TopToolbar/Settings/2FAScreenSCALE.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/content/SCALE/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md b/content/SCALE/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md index 8a4cf8e19a..e530c65c3b 100644 --- a/content/SCALE/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md +++ b/content/SCALE/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md @@ -13,25 +13,23 @@ tags: Two-factor authentication is time-based and requires a correct system time setting. {{< /hint >}} -The **Two-Factor Authentication** screen, accessed from the **Settings** menu on the top toolbar, displays user-level two-factor authentication (2FA) settings. The screen shows a different message if 2FA is enabled than when not configured or disabled. +The **Two-Factor Authentication** screen, accessed from the **Settings** menu on the top toolbar, allows managing user-level two-factor authentication (2FA) credentials. This option only appears in the Settings menu when an administrator has enabled Global 2FA. -This screen allows users to configure, renew, or remove their individual 2FA secrets. - -Global 2FA settings are configured on the [**Advanced Settings**]({{< ref "AdvancedSettingsScreen" >}}) screen. +Administrators can enable Global 2FA on the [**Advanced Settings**]({{< ref "AdvancedSettingsScreen" >}}) screen. For more information, see the [Managing Global 2FA]({{< ref "ManageGlobal2FASCALE" >}}) tutorial. -{{< trueimage src="/images/SCALE/Credentials/2FAScreenDisabled.png" alt="2FAScreenDisabled" id="2FA Screen with Disabled Message" >}} - {{< trueimage src="/images/SCALE/SystemSettings/2FAScreenEnabled.png" alt="2FAScreenEnabled" id="2FA Screen with Enabled Message" >}} ## Actions -**Configure 2FA Secret** opens the **Set Up Two-Factor Authentication** screen that displays a QR code and unique key for use with an authenticator app. The screen includes a **Skip Setup** button. - -**Renew Secret** changes the system-generated **Secret** and **Provisioning URI** values and generates a new QR code and unique key. +**Renew Secret** changes the system-generated **Secret** and **Provisioning URI** values. {{< trueimage src="/images/SCALE/Credentials/2FARenewSecretDialog.png" alt="2FA Renew Secret" id="Renew Secret Dialog" >}} -**Unset 2FA Secret** removes the configured 2FA secret. This action displays a confirmation dialog before proceeding. +**Unset 2FA Secret** removes the existing 2FA setup of the user. A confirmation dialog appears before removing the configuration. -{{< trueimage src="/images/SCALE/Credentials/Unset2FA.png" alt="2FA Unset Dialog" id="2FA Unset Dialog" >}} +{{< trueimage src="/images/SCALE/Credentials/Unset2FASecret.png" alt="Unset Two-Factor Authentication Dialog" id="Unset Two-Factor Authentication Dialog" >}} + +{{< hint type=warning >}} +Removing your 2FA configuration reduces account security. If global 2FA is enabled, you are prompted to set up 2FA again on your next login, though you can skip this prompt if needed. +{{< /hint >}} From 25dae1cafa8d3d7c360d6f46a7e9b7221c8d2a20 Mon Sep 17 00:00:00 2001 From: DjP-iX <133042991+DjP-iX@users.noreply.github.com> Date: Tue, 2 Dec 2025 12:47:14 -0500 Subject: [PATCH 4/7] Delete 2FAScreenSCALE.md --- .../TopToolbar/Settings/2FAScreenSCALE.md | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md diff --git a/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md b/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md deleted file mode 100644 index 807454482d..0000000000 --- a/content/SCALEUIReference/TopToolbar/Settings/2FAScreenSCALE.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: "Two-Factor Authentication Screen" -description: "Provides information on two-factor authentication screen settings." -weight: 60 -tags: - - 2fa - - credentials ---- - -{{< hint type=important >}} -Two-factor authentication is time-based and requires a correct system time setting. -{{< /hint >}} - -The **Two-Factor Authentication** screen, accessed from the **Settings** menu on the top toolbar, allows managing user-level two-factor authentication (2FA) credentials. This option only appears in the Settings menu when an administrator has enabled Global 2FA. - -Administrators can enable Global 2FA on the [**Advanced Settings**]({{< ref "AdvancedSettingsScreen" >}}) screen. -For more information, see the [Managing Global 2FA]({{< ref "ManageGlobal2FASCALE" >}}) tutorial. - -{{< trueimage src="/images/SCALE/SystemSettings/2FAScreenEnabled.png" alt="2FAScreenEnabled" id="2FA Screen with Enabled Message" >}} - -## Actions - -**Renew Secret** changes the system-generated **Secret** and **Provisioning URI** values. - -{{< trueimage src="/images/SCALE/Credentials/2FARenewSecretDialog.png" alt="2FA Renew Secret" id="Renew Secret Dialog" >}} - -**Unset 2FA Secret** removes the existing 2FA setup of the user. A confirmation dialog appears before removing the configuration. - -{{< trueimage src="/images/SCALE/Credentials/Unset2FASecret.png" alt="Unset Two-Factor Authentication Dialog" id="Unset Two-Factor Authentication Dialog" >}} - -{{< hint type=warning >}} -Removing your 2FA configuration reduces account security. If global 2FA is enabled, you are prompted to set up 2FA again on your next login, though you can skip this prompt if needed. -{{< /hint >}} From de6dae7f3024b283e1defd319c0e3a2088e7ef16 Mon Sep 17 00:00:00 2001 From: MicJ <92740932+micjohnson777@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:53:56 -0500 Subject: [PATCH 5/7] Update ManageGlobal2FASCALE.md Changed "Check" to "Select" on line 102 for consistency with our style guide. --- .../SystemSettings/Advanced/ManageGlobal2FASCALE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md index 30646a2319..0dfd57395a 100644 --- a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md +++ b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md @@ -99,7 +99,7 @@ Go to **System > Advanced Settings**, scroll down to the **Global Two Factor Aut If you want to enable 2FA again, go to **System > Advanced Settings**, scroll down to the **Global Two Factor Authentication** widget, and click **Config**. -Check **Enable Two Factor Authentication Globally**, then click **Save**. +Select **Enable Two Factor Authentication Globally**, then click **Save**. To change the system-generated **Secret**, click on the **Settings** icon on the top toolbar and select **Two-Factor Authentication**. Click **Renew 2FA Secret**. From 0e6c4fff282696be3fdfb50c2d61ade3ffbeb11c Mon Sep 17 00:00:00 2001 From: MicJ <92740932+micjohnson777@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:56:45 -0500 Subject: [PATCH 6/7] Update ManageGlobal2FASCALE.md Changed incorrect use of bold emphasis in lines 136 and 137 --- .../SystemSettings/Advanced/ManageGlobal2FASCALE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md index 0dfd57395a..48b394b58e 100644 --- a/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md +++ b/content/SCALE/SCALETutorials/SystemSettings/Advanced/ManageGlobal2FASCALE.md @@ -133,8 +133,8 @@ Before you begin, install a TOTP-compatible authenticator app on your mobile dev {{< trueimage src="/images/SCALE/SystemSettings/SetUpTwoFactorAuthenticationScreen.png" alt="Set Up Two-Factor Authentication Screen" id="Set Up Two-Factor Authentication Screen" >}} 4. After scanning the code: - - **If prompted during login**: Click **Finish** to close the setup dialog. - - **If accessing from the Settings menu**: Your configuration is saved automatically. You can navigate to other screens as needed. + - If prompted during login: Click **Finish** to close the setup dialog. + - If accessing from the **Settings** menu: Your configuration is saved automatically. You can navigate to other screens as needed. Your 2FA is now configured. You need to enter codes from your authenticator app when logging in. From ed87fc203bb841d61ad0f902fc55768a0d3ca19c Mon Sep 17 00:00:00 2001 From: Dan Pizappi <133042991+DjP-iX@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:29:22 -0500 Subject: [PATCH 7/7] Update content/SCALE/SCALEUIReference/Credentials/UsersScreen.md --- content/SCALE/SCALEUIReference/Credentials/UsersScreen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md b/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md index 2d70c87346..cc069a8b03 100644 --- a/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md +++ b/content/SCALE/SCALEUIReference/Credentials/UsersScreen.md @@ -146,7 +146,7 @@ When cleared, the user can log in without 2FA. If Global 2FA is enabled, the use {{< trueimage src="/images/SCALE/Credentials/Clear2FADialog.png" alt="Clear Two-Factor Authentication Dialog" id="Clear Two-Factor Authentication Dialog" >}} {{< hint type=important >}} -Clearing 2FA for a user should only be done when necessary, such as when the user has lost access to their authenticator device. This action temporarily reduces account security until 2FA is reconfigured. +Only clear 2FA for a user when it is necessary, such as when the user has lost access to their authenticator device. This action temporarily reduces account security until 2FA is reconfigured. {{< /hint >}} ## Add or Edit User Screens