aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/AppInfo/ConfigLexicon.php38
-rw-r--r--core/Command/Base.php2
-rw-r--r--core/Command/Config/App/GetConfig.php12
-rw-r--r--core/Command/Config/App/SetConfig.php5
-rw-r--r--core/Command/Config/ListConfigs.php2
-rw-r--r--core/Command/Config/Preset.php2
-rw-r--r--core/Controller/TaskProcessingApiController.php44
-rw-r--r--core/css/header.css2
-rw-r--r--core/css/header.css.map2
-rw-r--r--core/css/header.scss19
-rw-r--r--core/css/server.css2
-rw-r--r--core/css/server.css.map2
-rw-r--r--core/l10n/be.js325
-rw-r--r--core/l10n/be.json323
-rw-r--r--core/l10n/et_EE.js10
-rw-r--r--core/l10n/et_EE.json10
-rw-r--r--core/l10n/lv.js2
-rw-r--r--core/l10n/lv.json2
-rw-r--r--core/l10n/uk.js81
-rw-r--r--core/l10n/uk.json81
-rw-r--r--core/l10n/uz.js2
-rw-r--r--core/l10n/uz.json2
-rw-r--r--core/openapi-ex_app.json8
-rw-r--r--core/openapi-full.json56
-rw-r--r--core/openapi.json56
-rw-r--r--core/src/OC/dialogs.js2
-rw-r--r--core/src/components/AppMenuIcon.vue18
-rw-r--r--core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue4
-rw-r--r--core/src/components/UnifiedSearch/UnifiedSearchModal.vue4
-rw-r--r--core/src/components/login/PasswordLessLoginForm.vue2
-rw-r--r--core/src/views/AccountMenu.vue46
-rw-r--r--core/src/views/ContactsMenu.vue29
-rw-r--r--core/src/views/PublicPageUserMenu.vue2
33 files changed, 1081 insertions, 116 deletions
diff --git a/core/AppInfo/ConfigLexicon.php b/core/AppInfo/ConfigLexicon.php
index cc7fd1a3b09..df8243019ad 100644
--- a/core/AppInfo/ConfigLexicon.php
+++ b/core/AppInfo/ConfigLexicon.php
@@ -8,36 +8,54 @@ declare(strict_types=1);
namespace OC\Core\AppInfo;
-use NCU\Config\Lexicon\ConfigLexiconEntry;
-use NCU\Config\Lexicon\ConfigLexiconStrictness;
-use NCU\Config\Lexicon\IConfigLexicon;
-use NCU\Config\ValueType;
+use OCP\Config\Lexicon\Entry;
+use OCP\Config\Lexicon\ILexicon;
+use OCP\Config\Lexicon\Preset;
+use OCP\Config\Lexicon\Strictness;
+use OCP\Config\ValueType;
/**
* Config Lexicon for core.
*
* Please Add & Manage your Config Keys in that file and keep the Lexicon up to date!
*/
-class ConfigLexicon implements IConfigLexicon {
+class ConfigLexicon implements ILexicon {
public const SHAREAPI_ALLOW_FEDERATION_ON_PUBLIC_SHARES = 'shareapi_allow_federation_on_public_shares';
+ public const SHARE_CUSTOM_TOKEN = 'shareapi_allow_custom_tokens';
+ public const USER_LANGUAGE = 'lang';
+ public const LASTCRON_TIMESTAMP = 'lastcron';
- public function getStrictness(): ConfigLexiconStrictness {
- return ConfigLexiconStrictness::IGNORE;
+ public function getStrictness(): Strictness {
+ return Strictness::IGNORE;
}
public function getAppConfigs(): array {
return [
- new ConfigLexiconEntry(
+ new Entry(
key: self::SHAREAPI_ALLOW_FEDERATION_ON_PUBLIC_SHARES,
type: ValueType::BOOL,
- lazy: true,
defaultRaw: true,
definition: 'adds share permission to public shares to allow adding them to your Nextcloud (federation)',
+ lazy: true,
),
+ new Entry(
+ key: self::SHARE_CUSTOM_TOKEN,
+ type: ValueType::BOOL,
+ defaultRaw: fn (Preset $p): bool => match ($p) {
+ Preset::FAMILY, Preset::PRIVATE => true,
+ default => false,
+ },
+ definition: 'Allow users to set custom share link tokens',
+ lazy: true,
+ note: 'Shares with guessable tokens may be accessed easily. Shares with custom tokens will continue to be accessible after this setting has been disabled.',
+ ),
+ new Entry(self::LASTCRON_TIMESTAMP, ValueType::INT, 0, 'timestamp of last cron execution'),
];
}
public function getUserConfigs(): array {
- return [];
+ return [
+ new Entry(self::USER_LANGUAGE, ValueType::STRING, null, 'language'),
+ ];
}
}
diff --git a/core/Command/Base.php b/core/Command/Base.php
index c9b6337b64a..6ab2765b0f9 100644
--- a/core/Command/Base.php
+++ b/core/Command/Base.php
@@ -170,6 +170,8 @@ class Base extends Command implements CompletionAwareInterface {
return 'true';
} elseif ($value === null) {
return $returnNull ? null : 'null';
+ } if ($value instanceof \UnitEnum) {
+ return $value->value;
} else {
return $value;
}
diff --git a/core/Command/Config/App/GetConfig.php b/core/Command/Config/App/GetConfig.php
index b68476a2e91..af0c5648232 100644
--- a/core/Command/Config/App/GetConfig.php
+++ b/core/Command/Config/App/GetConfig.php
@@ -38,6 +38,12 @@ class GetConfig extends Base {
'returns complete details about the app config value'
)
->addOption(
+ '--key-details',
+ null,
+ InputOption::VALUE_NONE,
+ 'returns complete details about the app config key'
+ )
+ ->addOption(
'default-value',
null,
InputOption::VALUE_OPTIONAL,
@@ -66,6 +72,12 @@ class GetConfig extends Base {
return 0;
}
+ if ($input->getOption('key-details')) {
+ $details = $this->appConfig->getKeyDetails($appName, $configName);
+ $this->writeArrayInOutputFormat($input, $output, $details);
+ return 0;
+ }
+
try {
$configValue = $this->appConfig->getDetails($appName, $configName)['value'];
} catch (AppConfigUnknownKeyException $e) {
diff --git a/core/Command/Config/App/SetConfig.php b/core/Command/Config/App/SetConfig.php
index 1f4ab81bf05..c818404fc0e 100644
--- a/core/Command/Config/App/SetConfig.php
+++ b/core/Command/Config/App/SetConfig.php
@@ -199,6 +199,11 @@ class SetConfig extends Base {
$current['lazy'] ? 'lazy cache' : 'fast cache'
)
);
+ $keyDetails = $this->appConfig->getKeyDetails($appName, $configName);
+ if (($keyDetails['note'] ?? '') !== '') {
+ $output->writeln('<comment>Note:</comment> ' . $keyDetails['note']);
+ }
+
} else {
$output->writeln('<info>Config value were not updated</info>');
}
diff --git a/core/Command/Config/ListConfigs.php b/core/Command/Config/ListConfigs.php
index b81bfbf4d18..a7c195276eb 100644
--- a/core/Command/Config/ListConfigs.php
+++ b/core/Command/Config/ListConfigs.php
@@ -125,7 +125,7 @@ class ListConfigs extends Base {
*/
protected function getAppConfigs(string $app, bool $noSensitiveValues) {
if ($noSensitiveValues) {
- return $this->appConfig->getFilteredValues($app, false);
+ return $this->appConfig->getFilteredValues($app);
} else {
return $this->appConfig->getValues($app, false);
}
diff --git a/core/Command/Config/Preset.php b/core/Command/Config/Preset.php
index 9f1424dcc54..4f0278896db 100644
--- a/core/Command/Config/Preset.php
+++ b/core/Command/Config/Preset.php
@@ -8,9 +8,9 @@ declare(strict_types=1);
*/
namespace OC\Core\Command\Config;
-use NCU\Config\Lexicon\Preset as ConfigLexiconPreset;
use OC\Config\ConfigManager;
use OC\Core\Command\Base;
+use OCP\Config\Lexicon\Preset as ConfigLexiconPreset;
use OCP\IConfig;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
diff --git a/core/Controller/TaskProcessingApiController.php b/core/Controller/TaskProcessingApiController.php
index e60c9ebc789..90a0e9ba14a 100644
--- a/core/Controller/TaskProcessingApiController.php
+++ b/core/Controller/TaskProcessingApiController.php
@@ -575,23 +575,51 @@ class TaskProcessingApiController extends OCSController {
#[ApiRoute(verb: 'GET', url: '/tasks_provider/next', root: '/taskprocessing')]
public function getNextScheduledTask(array $providerIds, array $taskTypeIds): DataResponse {
try {
+ $providerIdsBasedOnTaskTypesWithNull = array_unique(array_map(function ($taskTypeId) {
+ try {
+ return $this->taskProcessingManager->getPreferredProvider($taskTypeId)->getId();
+ } catch (Exception) {
+ return null;
+ }
+ }, $taskTypeIds));
+
+ $providerIdsBasedOnTaskTypes = array_filter($providerIdsBasedOnTaskTypesWithNull, fn ($providerId) => $providerId !== null);
+
// restrict $providerIds to providers that are configured as preferred for the passed task types
- $providerIds = array_values(array_intersect(array_unique(array_map(fn ($taskTypeId) => $this->taskProcessingManager->getPreferredProvider($taskTypeId)->getId(), $taskTypeIds)), $providerIds));
+ $possibleProviderIds = array_values(array_intersect($providerIdsBasedOnTaskTypes, $providerIds));
+
// restrict $taskTypeIds to task types that can actually be run by one of the now restricted providers
- $taskTypeIds = array_values(array_filter($taskTypeIds, fn ($taskTypeId) => in_array($this->taskProcessingManager->getPreferredProvider($taskTypeId)->getId(), $providerIds, true)));
- if (count($providerIds) === 0 || count($taskTypeIds) === 0) {
+ $possibleTaskTypeIds = array_values(array_filter($taskTypeIds, function ($taskTypeId) use ($possibleProviderIds) {
+ try {
+ $providerForTaskType = $this->taskProcessingManager->getPreferredProvider($taskTypeId)->getId();
+ } catch (Exception) {
+ // no provider found for task type
+ return false;
+ }
+ return in_array($providerForTaskType, $possibleProviderIds, true);
+ }));
+
+ if (count($possibleProviderIds) === 0 || count($possibleTaskTypeIds) === 0) {
throw new NotFoundException();
}
$taskIdsToIgnore = [];
while (true) {
- $task = $this->taskProcessingManager->getNextScheduledTask($taskTypeIds, $taskIdsToIgnore);
- $provider = $this->taskProcessingManager->getPreferredProvider($task->getTaskTypeId());
- if (in_array($provider->getId(), $providerIds, true)) {
- if ($this->taskProcessingManager->lockTask($task)) {
- break;
+ // Until we find a task whose task type is set to be provided by the providers requested with this request
+ // Or no scheduled task is found anymore (given the taskIds to ignore)
+ $task = $this->taskProcessingManager->getNextScheduledTask($possibleTaskTypeIds, $taskIdsToIgnore);
+ try {
+ $provider = $this->taskProcessingManager->getPreferredProvider($task->getTaskTypeId());
+ if (in_array($provider->getId(), $possibleProviderIds, true)) {
+ if ($this->taskProcessingManager->lockTask($task)) {
+ break;
+ }
}
+ } catch (Exception) {
+ // There is no provider set for the task type of this task
+ // proceed to ignore this task
}
+
$taskIdsToIgnore[] = (int)$task->getId();
}
diff --git a/core/css/header.css b/core/css/header.css
index bfa1f475ba6..88a8d8b18f6 100644
--- a/core/css/header.css
+++ b/core/css/header.css
@@ -5,4 +5,4 @@
*//*!
* SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
- */#header,#expanddiv{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible,#expanddiv #nextcloud:focus-visible,#expanddiv .app-menu-entry a:focus-visible,#expanddiv .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after,#expanddiv #nextcloud:focus-visible::after,#expanddiv .app-menu-entry a:focus-visible::after,#expanddiv .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-end,#expanddiv .header-end{margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end a:not(.button):focus-visible::after,#header .header-end div[role=button]:focus-visible::after,#expanddiv .header-end a:not(.button):focus-visible::after,#expanddiv .header-end div[role=button]:focus-visible::after{bottom:4px}#header .header-end #expand.menutoggle:focus-visible::after,#expanddiv .header-end #expand.menutoggle:focus-visible::after{inset-inline-start:40%}#body-user #header,#body-settings #header,#body-public #header{display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:50px;box-sizing:border-box;justify-content:space-between}#nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - 4px);box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#nextcloud:hover,#nextcloud:active{opacity:1}#header .header-end>div>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:66px;max-height:calc(100vh - 50px - 8px);inset-inline-end:8px;top:50px;margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul{-webkit-overflow-scrolling:touch;min-height:66px;max-height:calc(100vh - 50px - 8px)}#header .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header .header-appname-container{display:none;padding-inline-end:10px;flex-shrink:0}#header #header-start,#header .header-start,#header #header-end,#header .header-end{display:inline-flex;align-items:center}#header #header-start,#header .header-start{flex:1 0;white-space:nowrap;min-width:0}#header #header-end,#header .header-end{justify-content:flex-end;flex-shrink:1}#header .header-end>.header-menu__trigger img{filter:var(--background-image-invert-if-bright)}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:50px;height:44px;cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}.header-appname-container .header-appname{opacity:.75}.header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}.header-info{display:flex;flex-direction:column;overflow:hidden}.header-title{overflow:hidden;text-overflow:ellipsis}.header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:11px;line-height:11px;overflow:hidden;text-overflow:ellipsis}#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:50px}header #emptycontent h2,header .emptycontent h2{font-weight:normal;font-size:16px}header #emptycontent [class^=icon-],header #emptycontent [class*=icon-],header .emptycontent [class^=icon-],header .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}/*# sourceMappingURL=header.css.map */
+ */#header,#expanddiv{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible,#expanddiv #nextcloud:focus-visible,#expanddiv .app-menu-entry a:focus-visible,#expanddiv .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after,#expanddiv #nextcloud:focus-visible::after,#expanddiv .app-menu-entry a:focus-visible::after,#expanddiv .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-end,#expanddiv .header-end{margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end a:not(.button):focus-visible::after,#header .header-end div[role=button]:focus-visible::after,#expanddiv .header-end a:not(.button):focus-visible::after,#expanddiv .header-end div[role=button]:focus-visible::after{bottom:4px}#header .header-end #expand.menutoggle:focus-visible::after,#expanddiv .header-end #expand.menutoggle:focus-visible::after{inset-inline-start:40%}#body-user #header,#body-settings #header,#body-public #header{display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:50px;box-sizing:border-box;justify-content:space-between}#nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - 4px);box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#nextcloud:hover,#nextcloud:active{opacity:1}#header .header-end>div>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:66px;max-height:calc(100vh - 50px - 8px);inset-inline-end:8px;top:50px;margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul{-webkit-overflow-scrolling:touch;min-height:66px;max-height:calc(100vh - 50px - 8px)}#header .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header .header-appname-container{display:none;padding-inline-end:10px;flex-shrink:0}#header #header-start,#header .header-start,#header #header-end,#header .header-end{display:inline-flex;align-items:center}#header #header-start,#header .header-start{flex:1 0;white-space:nowrap;min-width:0}#header #header-end,#header .header-end{justify-content:flex-end;flex-shrink:1}#header .header-end>.header-menu__trigger img{filter:var(--background-image-invert-if-bright)}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:50px;height:44px;cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}.header-appname-container .header-appname{opacity:.75}.header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}.header-info{display:flex;flex-direction:column;overflow:hidden}.header-title{overflow:hidden;text-overflow:ellipsis}.header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:11px;line-height:11px;overflow:hidden;text-overflow:ellipsis}#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:50px}header #emptycontent h2,header .emptycontent h2{font-weight:normal;font-size:16px}header #emptycontent [class^=icon-],header #emptycontent [class*=icon-],header .emptycontent [class^=icon-],header .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}@media(display-mode: standalone)or (display-mode: minimal-ui){#header{display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*# sourceMappingURL=header.css.map */
diff --git a/core/css/header.css.map b/core/css/header.css.map
index 5aa4a9249e0..fde3d6f1cea 100644
--- a/core/css/header.css.map
+++ b/core/css/header.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["header.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDMA,mBAEC,yBACA,sBACA,qBACA,iBAEA,2QAGC,aAEA,qTACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAIF,2CAEC,uDAEA,0OACC,WAGD,2HACC,uBAOH,+DAGC,oBACA,kBACA,MACA,WACA,aACA,OCiCe,KDhCf,sBACA,8BAID,WACC,cACA,0BACA,kBACA,wBACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mCACC,UAaD,8BACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAfD,gBACA,oCAgBC,qBACA,ICVc,KDWd,SACA,gBAEA,gDACC,aAID,oCACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,mEAEC,iCAzCF,gBACA,oCA4CA,cACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAGD,kCACC,aACA,wBACA,cAGD,oFAEC,oBACA,mBAGD,4CACC,SACA,mBACA,YAGD,wCACC,yBACA,cAKA,8CACC,gDAED,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,MCxFY,KDyFZ,YACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aASL,0CACC,YAKD,gBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGD,aACC,aACA,sBACA,gBAGD,cACC,gBACA,uBAGD,kBACC,yCACA,kBACA,gBACA,eACA,iBACA,gBACA,uBAID,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,IClKc,KDyKf,gDACC,mBACA,eAED,gJAEC,qBACA,YACA","file":"header.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["header.scss","variables.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA,GCEA;AAAA;AAAA;AAAA,GDMA,mBAEC,yBACA,sBACA,qBACA,iBAEA,2QAGC,aAEA,qTACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAIF,2CAEC,uDAEA,0OACC,WAGD,2HACC,uBAOH,+DAGC,oBACA,kBACA,MACA,WACA,aACA,OCiCe,KDhCf,sBACA,8BAID,WACC,cACA,0BACA,kBACA,wBACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mCACC,UAWD,8BACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAbD,gBACA,oCAcC,qBACA,ICRc,KDSd,SACA,gBAEA,gDACC,aAID,oCACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,mEAEC,iCAvCF,gBACA,oCA0CA,cACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAGD,kCACC,aACA,wBACA,cAGD,oFAEC,oBACA,mBAGD,4CACC,SACA,mBACA,YAGD,wCACC,yBACA,cAKA,8CACC,gDAED,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,MCtFY,KDuFZ,YACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aASL,0CACC,YAKD,gBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGD,aACC,aACA,sBACA,gBAGD,cACC,gBACA,uBAGD,kBACC,yCACA,kBACA,gBACA,eACA,iBACA,gBACA,uBAID,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,IChKc,KDuKf,gDACC,mBACA,eAED,gJAEC,qBACA,YACA,WAIF,8DACC,QACC,wBAGD,sBACC,wCAGD,MAEC","file":"header.css"} \ No newline at end of file
diff --git a/core/css/header.scss b/core/css/header.scss
index 722a743df6a..d6bb8a363e1 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -85,10 +85,8 @@
max-height: calc(100vh - #{variables.$header-height} - 8px);
}
+/* Header menu */
#header {
- /* Header menu */
- $header-menu-entry-height: 44px;
-
.header-end > div > .menu {
background-color: var(--color-main-background);
filter: drop-shadow(0 1px 5px var(--color-box-shadow));
@@ -269,3 +267,18 @@ header .emptycontent {
width: 48px;
}
}
+
+@media (display-mode: standalone) or (display-mode: minimal-ui) {
+ #header {
+ display: none !important;
+ }
+
+ #content, #content-vue {
+ margin-top: var(--body-container-margin);
+ }
+
+ :root {
+ // Override the body height to make up for the additional height due to the missing header.
+ --body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important;
+ }
+}
diff --git a/core/css/server.css b/core/css/server.css
index c4cf5ceaf97..ef3c9d8f85f 100644
--- a/core/css/server.css
+++ b/core/css/server.css
@@ -22,7 +22,7 @@
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-or-later
- */#header,#expanddiv{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible,#expanddiv #nextcloud:focus-visible,#expanddiv .app-menu-entry a:focus-visible,#expanddiv .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after,#expanddiv #nextcloud:focus-visible::after,#expanddiv .app-menu-entry a:focus-visible::after,#expanddiv .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-end,#expanddiv .header-end{margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end a:not(.button):focus-visible::after,#header .header-end div[role=button]:focus-visible::after,#expanddiv .header-end a:not(.button):focus-visible::after,#expanddiv .header-end div[role=button]:focus-visible::after{bottom:4px}#header .header-end #expand.menutoggle:focus-visible::after,#expanddiv .header-end #expand.menutoggle:focus-visible::after{inset-inline-start:40%}#body-user #header,#body-settings #header,#body-public #header{display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:50px;box-sizing:border-box;justify-content:space-between}#nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - 4px);box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#nextcloud:hover,#nextcloud:active{opacity:1}#header .header-end>div>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:66px;max-height:calc(100vh - 50px - 8px);inset-inline-end:8px;top:50px;margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul{-webkit-overflow-scrolling:touch;min-height:66px;max-height:calc(100vh - 50px - 8px)}#header .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header .header-appname-container{display:none;padding-inline-end:10px;flex-shrink:0}#header #header-start,#header .header-start,#header #header-end,#header .header-end{display:inline-flex;align-items:center}#header #header-start,#header .header-start{flex:1 0;white-space:nowrap;min-width:0}#header #header-end,#header .header-end{justify-content:flex-end;flex-shrink:1}#header .header-end>.header-menu__trigger img{filter:var(--background-image-invert-if-bright)}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:50px;height:44px;cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}.header-appname-container .header-appname{opacity:.75}.header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}.header-info{display:flex;flex-direction:column;overflow:hidden}.header-title{overflow:hidden;text-overflow:ellipsis}.header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:11px;line-height:11px;overflow:hidden;text-overflow:ellipsis}#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:50px}header #emptycontent h2,header .emptycontent h2{font-weight:normal;font-size:16px}header #emptycontent [class^=icon-],header #emptycontent [class*=icon-],header .emptycontent [class^=icon-],header .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}/*!
+ */#header,#expanddiv{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#header #nextcloud:focus-visible,#header .app-menu-entry a:focus-visible,#header .header-menu button:first-of-type:focus-visible,#expanddiv #nextcloud:focus-visible,#expanddiv .app-menu-entry a:focus-visible,#expanddiv .header-menu button:first-of-type:focus-visible{outline:none}#header #nextcloud:focus-visible::after,#header .app-menu-entry a:focus-visible::after,#header .header-menu button:first-of-type:focus-visible::after,#expanddiv #nextcloud:focus-visible::after,#expanddiv .app-menu-entry a:focus-visible::after,#expanddiv .header-menu button:first-of-type:focus-visible::after{content:" ";position:absolute;inset-block-end:2px;transform:translateX(-50%);width:12px;height:2px;border-radius:3px;background-color:var(--color-background-plain-text);inset-inline-start:50%;opacity:1}#header .header-end,#expanddiv .header-end{margin-inline-end:calc(3*var(--default-grid-baseline))}#header .header-end a:not(.button):focus-visible::after,#header .header-end div[role=button]:focus-visible::after,#expanddiv .header-end a:not(.button):focus-visible::after,#expanddiv .header-end div[role=button]:focus-visible::after{bottom:4px}#header .header-end #expand.menutoggle:focus-visible::after,#expanddiv .header-end #expand.menutoggle:focus-visible::after{inset-inline-start:40%}#body-user #header,#body-settings #header,#body-public #header{display:inline-flex;position:absolute;top:0;width:100%;z-index:2000;height:50px;box-sizing:border-box;justify-content:space-between}#nextcloud{padding:5px 0;padding-inline-start:86px;position:relative;height:calc(100% - 4px);box-sizing:border-box;opacity:1;align-items:center;display:flex;flex-wrap:wrap;overflow:hidden;margin:2px}#nextcloud:hover,#nextcloud:active{opacity:1}#header .header-end>div>.menu{background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));border-radius:var(--border-radius-large);box-sizing:border-box;z-index:2000;position:absolute;max-width:350px;min-height:66px;max-height:calc(100vh - 50px - 8px);inset-inline-end:8px;top:50px;margin:0;overflow-y:auto}#header .header-end>div>.menu:not(.popovermenu){display:none}#header .header-end>div>.menu:after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:100%;content:" ";height:0;width:0;position:absolute;pointer-events:none;inset-inline-end:10px}#header .header-end>div>.menu>div,#header .header-end>div>.menu>ul{-webkit-overflow-scrolling:touch;min-height:66px;max-height:calc(100vh - 50px - 8px)}#header .logo{display:inline-flex;background-image:var(--image-logoheader, var(--image-logo, url("../img/logo/logo.svg")));background-repeat:no-repeat;background-size:contain;background-position:center;width:62px;position:absolute;inset-inline-start:12px;top:1px;bottom:1px;filter:var(--image-logoheader-custom, var(--background-image-invert-if-bright))}#header .header-appname-container{display:none;padding-inline-end:10px;flex-shrink:0}#header #header-start,#header .header-start,#header #header-end,#header .header-end{display:inline-flex;align-items:center}#header #header-start,#header .header-start{flex:1 0;white-space:nowrap;min-width:0}#header #header-end,#header .header-end{justify-content:flex-end;flex-shrink:1}#header .header-end>.header-menu__trigger img{filter:var(--background-image-invert-if-bright)}#header .header-end>div,#header .header-end>form{height:100%;position:relative}#header .header-end>div>.menutoggle,#header .header-end>form>.menutoggle{display:flex;justify-content:center;align-items:center;width:50px;height:44px;cursor:pointer;opacity:.85;padding:0;margin:2px 0}#header .header-end>div>.menutoggle:focus,#header .header-end>form>.menutoggle:focus{opacity:1}#header .header-end>div>.menutoggle:focus-visible,#header .header-end>form>.menutoggle:focus-visible{outline:none}.header-appname-container .header-appname{opacity:.75}.header-appname{color:var(--color-background-plain-text);font-size:16px;font-weight:bold;margin:0;padding:0;padding-inline-end:5px;overflow:hidden;text-overflow:ellipsis;flex:1 1 100%}.header-info{display:flex;flex-direction:column;overflow:hidden}.header-title{overflow:hidden;text-overflow:ellipsis}.header-shared-by{color:var(--color-background-plain-text);position:relative;font-weight:300;font-size:11px;line-height:11px;overflow:hidden;text-overflow:ellipsis}#skip-actions{position:absolute;overflow:hidden;z-index:9999;top:-999px;inset-inline-start:3px;padding:11px;display:flex;flex-wrap:wrap;gap:11px}#skip-actions:focus-within{top:50px}header #emptycontent h2,header .emptycontent h2{font-weight:normal;font-size:16px}header #emptycontent [class^=icon-],header #emptycontent [class*=icon-],header .emptycontent [class^=icon-],header .emptycontent [class*=icon-]{background-size:48px;height:48px;width:48px}@media(display-mode: standalone)or (display-mode: minimal-ui){#header{display:none !important}#content,#content-vue{margin-top:var(--body-container-margin)}:root{--body-height: calc(100% - env(safe-area-inset-bottom) - var(--body-container-margin) * 2) !important}}/*!
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/core/css/server.css.map b/core/css/server.css.map
index d7220b36198..015ec72a6b5 100644
--- a/core/css/server.css.map
+++ b/core/css/server.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["server.scss","icons.scss","variables.scss","styles.scss","inputs.scss","functions.scss","header.scss","apps.scss","global.scss","fixes.scss","mobile.scss","tooltip.scss","../../node_modules/@nextcloud/dialogs/dist/style.css","public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCwHQ,8BCtHR;AAAA;AAAA;AAAA,GCMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA,UCz0BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eCzUF,+CDiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA,mCEl3BD;AAAA;AAAA;AAAA;AAAA,GAQA,mBAEC,yBACA,sBACA,qBACA,iBAEA,2QAGC,aAEA,qTACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAIF,2CAEC,uDAEA,0OACC,WAGD,2HACC,uBAOH,+DAGC,oBACA,kBACA,MACA,WACA,aACA,OJiCe,KIhCf,sBACA,8BAID,WACC,cACA,0BACA,kBACA,wBACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mCACC,UAaD,8BACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAfD,gBACA,oCAgBC,qBACA,IJVc,KIWd,SACA,gBAEA,gDACC,aAID,oCACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,mEAEC,iCAzCF,gBACA,oCA4CA,cACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAGD,kCACC,aACA,wBACA,cAGD,oFAEC,oBACA,mBAGD,4CACC,SACA,mBACA,YAGD,wCACC,yBACA,cAKA,8CACC,gDAED,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,MJxFY,KIyFZ,YACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aASL,0CACC,YAKD,gBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGD,aACC,aACA,sBACA,gBAGD,cACC,gBACA,uBAGD,kBACC,yCACA,kBACA,gBACA,eACA,iBACA,gBACA,uBAID,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,IJlKc,KIyKf,gDACC,mBACA,eAED,gJAEC,qBACA,YACA,WF5QF;AAAA;AAAA;AAAA;AAAA,GHQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC,wDGzGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GGSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MLxBkB,MKyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBFjZF,6CEmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSFpdF,uCEudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UL/qBmB,MKgrBnB,UL/qBmB,MKgrBnB,cACA,wBACA,gBACA,ILtrBe,KKurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UL5sCgB,MK6sChB,UL5sCgB,MK+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA,oDCt9CD;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC,qBCnFD;AAAA;AAAA;AAAA,GAOA,mBACC,SCRD;AAAA;AAAA;AAAA,GAMA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,IRiBa,KQhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC,uBCpKH;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA,mBCnIJ;AAAA;AAAA;AAAA,GAIA,kBACE,gBACA,gBACA,8CACA,6BACA,6CACA,eACA,gBACA,eACA,cACA,mCACA,aACA,mBACA,gBAEF,kFAEE,aACA,mBACA,WAEF,oEAEE,gBACA,gBACA,sBACA,eACA,YACA,aACA,mBACA,4BACA,2BACA,6BACA,aAEF,4FAEE,cACA,WACA,YACA,gBACA,iBACA,YAGF,4GAEE,sfACA,YACA,wCACA,qBACA,WACA,YAEF,wGAEE,WACA,wBACA,iBAEF,kPAIE,eACA,UAEF,+BACE,WAEF,mCACE,eAEF,8BACE,yCAEF,6BACE,2CAEF,gCACE,2CAEF,gCACE,2CAEF,6BACE,2CAEF,gCACE,2CAEF,8CACE,qBACA,WACA,YACA,iEACA,iBAOF,gEACE,kgBAEF,oCACC,8BACA,4BAED;AAAA;AAAA;AAAA,GAQA,iCACE,kBACA,WACA,YACA,eACA,gBACA,4BACA,wBACA,aACA,uBAGF,2CACE,mCAGF,0CACE,wCACA,kBACA,uBACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6BACA,GACI,2BAEJ,IACI,6BAEJ,KACI,4BAGJ,4CACE,6BAEF,mCACE,qBACA,YACA,oIACA,2BACA,mCACA,8CAEF,2CACE,oBACA,mBAEF,iDACE,WAEF,0DACE,wBACA,YAEF,6CACE,WAEF,iDACE,WACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6CACE,8CAEF,yCACE,+CAEF,8CACE,aACA,sBACA,mBACA,YAEF,yCACE,yBACA,YACA,gBACA,uBAEF,8CACE,oCACA,sBACD,8CACC,WACA,YACA,cAEF,qCACE,WACA,yBACA,qBAEF,2CACE,WACA,gBACA,mBAEF,wCACE,gBACA,UACA,MACA,8CACA,YAEF,wDACE,aAEF,qDACE,WAEF,iDACE,YAEF,iDACE,YAEF,qDACE,YAEF,4EACE,sBACA,2BAEF,mEACE,wBAEF,sEACE,oBAEF,6DACE,oCAEF,+EACE,mBACD,2CACC,uBACD,oCACC,aACA,sBACA,oBACA,UACA,gBACA,YACA,uBACA,cAEF,yDACE,sBAEF,4CACE,iBACA,gBAEF,yBACA,oCACI,mBACA,iBAGJ,yBACA,oCACI,mBACA,gBAEJ,4CACI,iBAGJ,yBACE,uBAEF,oDACE,sBAEF,0CACE,gBAEF,+CACA,yBACI,UAGJ,yBACA,yBACI,0CAEH,oCACC,YACA,aACA,sBACA,mBAEF,uCACE,iBACA,mBACA,SAEF,oCACE,sBACA,WACA,aACA,sBACA,aACA,OACA,mBAEF,sCACE,sBAEF,+BACE,kCAEF,yBACA,+BACI,qEAGJ,wCACE,aACA,sBACA,gBACD,2CACC,iBACA,oDAEF,6CACE,oDAEF,yDACE,aAEF,4CACE,uFCnZF;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"server.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["server.scss","icons.scss","variables.scss","styles.scss","inputs.scss","functions.scss","header.scss","apps.scss","global.scss","fixes.scss","mobile.scss","tooltip.scss","../../node_modules/@nextcloud/dialogs/dist/style.css","public.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCwHQ,8BCtHR;AAAA;AAAA;AAAA,GCMA,MACC,mCACA,uCAGD,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uCAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,MACC,yBACA,iBACA,mBAGD,cACC,iBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,qBACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAID,kBAEC,kBACA,qBACA,SAEA,YAGD,8CAGC,WAGD,8BACC,sBACA,oBACA,wBACA,wBAGD,2EACC,WAGD,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,wBAGD,yBACC,kBACA,qBACA,sBAGD,qBACC,cACA,mBACA,iBACA,uBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,iBAIF,YACC,YACA,sCACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,WACC,WACA,YAGD,8CAEC,UAGD,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAKD,kDACC,UAIF,eACC,WAEA,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,4JAEC,kCACA,4BAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAOH,4FACC,iDAED,4FACC,gDAKD,4FACC,gDAED,4FACC,iDAIF,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,yBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,gDASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBACA,oBAKD,YACC,kCAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAGD,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,uBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,sBACA,mCACC,iBACA,gBACA,kBACA,uBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAGD,oBACC,iBACA,uBAEA,2BACC,uBAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA,UCz0BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUA,kFACC,6BAGD,uGACC,wCAGD,sDACC,kCAMD,iHAUC,YACA,yCACA,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,WACA,sBAOC,kxDAIC,oCACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,WACA,sBACA,gBACA,eACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,qCAED,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,2FACA,mCACA,WACA,yCACA,eACA,sBACA,8CACA,oDACA,YAEA,kSAEC,0DAGD,mKACC,eAIF,qMAcC,WACA,sBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,iDACA,gBACA,8CACA,mCAGD,qBACC,qCAGD,qBACC,oCASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,2CAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBACA,kKACC,qDACA,+CAaD,4MAEC,qBACA,2BACA,WASF,kGACC,qCACA,mDACA,mFACA,iBACA,4BAEA,yDACA,UACA,qCACA,oCACA,gBACA,eACA,oBACA,6HACC,eCzUF,+CDiVE,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,mDAEA,UAOH,uBAEC,eAGD,2BAEC,mBASA,4GAEC,kBACA,4BACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAvBmB,KAwBnB,MAxBmB,KAyBnB,sBACA,kBACA,aACA,sBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,yBAED,oMACC,cA/DmB,KAmEpB,mFACC,kBACA,OArEmB,KAsEnB,MAtEmB,KAuEnB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,2BAED,wUACC,aAzF0B,KA2F3B,4NACC,8DACA,+BACA,2BAED,gOACC,0CACA,2CAED,gQACC,8DACA,2CACA,+BAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAMH,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,sBACA,sBACA,6BACC,eAGF,uCACC,gBACA,wDACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAKJ,qDACC,4CAGD,qDACC,2CAKA,oGAEC,eAKD,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,yBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAMJ,sBACC,WACA,sBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,yBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,WACA,sBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,yBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,wBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,sBACA,uBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,sBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAIF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,4BACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA,mCEl3BD;AAAA;AAAA;AAAA;AAAA,GAQA,mBAEC,yBACA,sBACA,qBACA,iBAEA,2QAGC,aAEA,qTACC,YACA,kBACA,oBACA,2BACA,WACA,WACA,kBACA,oDACA,uBACA,UAIF,2CAEC,uDAEA,0OACC,WAGD,2HACC,uBAOH,+DAGC,oBACA,kBACA,MACA,WACA,aACA,OJiCe,KIhCf,sBACA,8BAID,WACC,cACA,0BACA,kBACA,wBACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mCACC,UAWD,8BACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAbD,gBACA,oCAcC,qBACA,IJRc,KISd,SACA,gBAEA,gDACC,aAID,oCACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,sBAGD,mEAEC,iCAvCF,gBACA,oCA0CA,cACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,wBACA,QACA,WAEA,gFAGD,kCACC,aACA,wBACA,cAGD,oFAEC,oBACA,mBAGD,4CACC,SACA,mBACA,YAGD,wCACC,yBACA,cAKA,8CACC,gDAED,iDAEC,YACA,kBACA,yEACC,aACA,uBACA,mBACA,MJtFY,KIuFZ,YACA,eACA,YACA,UACA,aAEA,qFACC,UAGD,qGACC,aASL,0CACC,YAKD,gBACC,yCACA,eACA,iBACA,SACA,UACA,uBACA,gBACA,uBAEA,cAGD,aACC,aACA,sBACA,gBAGD,cACC,gBACA,uBAGD,kBACC,yCACA,kBACA,gBACA,eACA,iBACA,gBACA,uBAID,cACC,kBACA,gBACA,aACA,WACA,uBACA,aACA,aACA,eACA,SAEA,2BACC,IJhKc,KIuKf,gDACC,mBACA,eAED,gJAEC,qBACA,YACA,WAIF,8DACC,QACC,wBAGD,sBACC,wCAGD,MAEC,uGFzRF;AAAA;AAAA;AAAA;AAAA,GHQA,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,uBACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC,wDGzGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GGSA,sCAEC,MACC,wCACA,yCAKF,KACC,WACA,YACA,kBAEA,6EAGD,KAEC,6EAEA,yCACA,sBACA,2BACA,eACA,WACA,iDAKD,eAKC,gBACA,gBACA,gBACA,mBACA,6BAGD,GACC,gBAGD,GACC,gBAGD,GACC,gBAGD,GACC,iBAGD,GACC,gBAID,GACC,kBACA,oCAGD,GACC,eAGD,MAEC,qBACA,aACA,uBAGD,GACC,YACA,mBACA,eAGD,IACC,iBACA,sBACA,kCACA,mCACA,qBACA,mBAMD,wBACC,sBAKD,0BAEC,gGACA,MLxBkB,MKyBlB,YACA,gBACA,kBACA,mDACA,8CACA,+EACA,gBACA,YACA,sBACA,qBACA,iBACA,aACA,sBACA,YACA,cAEA,kDACC,iBACA,0CACA,2EACA,mBACA,uBACA,2BACA,iBACA,oBACA,yBAQD,gGACC,cACA,6CACA,8GACC,qBACA,WACA,aACA,0BACA,iBACA,SAIF,8DACC,kBAED,8DACC,kBACA,YACA,WACA,kBACA,gBACA,sBACA,aACA,sBACA,6CACA,iBAEA,oFACC,oDAGD,oEACC,oBACA,eACA,QACA,cACA,SACA,kBACA,WACA,2CAGA,kFACC,QACA,4GACC,2BAIF,gIAEC,8DAED,0HAIC,0EAKA,wVAEC,+CAGF,oGACC,kDACA,yCAMA,gsBAEC,8CACA,wCAEA,g8BACC,qCAMH,sHACC,wBACA,SAMA,kNAEC,aAKF,0EACC,cACA,WACA,kBACA,gFACC,oBACA,eACA,mDACA,WACA,kBAIC,wXAEC,2CACA,+CAKD,gZAEC,2CACA,oDACA,ghBACC,qCAMH,kIACC,yDAGD,4IAEC,wBACA,0BAGD,sIAEC,wBAGA,6EAMJ,oJAEC,kBACA,sBAGC,4jBAGC,oCAIF,4JACC,0BACA,4BACA,cACA,8BACA,0CACA,yCACA,gBACA,oDACA,gBACA,sBACA,mBACA,uBACA,2CACA,6BACA,aACA,YAGA,4KACC,gBACA,kDACA,wOACC,gBACA,6DAGF,4NACC,kEACA,WACA,YAEA,wCAID,4QACC,qBAEA,4ZACC,gCAKH,wQACC,kBACA,cACA,YACA,WACA,YACA,YACA,kBACA,eACA,wCAEA,gRAEC,oCAKF,gQACC,kCAID,gSACC,UACA,YAED,4SACC,wBACA,YAIH,sEACC,aAMD,4YAEC,SACA,WACA,+BACA,4BACA,2BACA,w0BAEC,+BACA,UAUD,sGACC,UACA,kBACA,oCACA,qCACA,SACA,YAIA,qBAEA,kIACC,UACA,eACA,wDACA,gBAGF,gGACC,kBACA,qCACA,oCACA,SACA,UACA,gBFjZF,6CEmZE,qBACA,4BACA,2BACA,YACA,wBACA,gBACA,YACA,UACA,iCACA,6BACA,yBACA,YACA,kBACA,qCAMD,8GACC,mDAIA,wNACC,UAED,oMACC,sBAED,gTACC,oCAID,0GACC,4BACA,wBACA,oBAQH,gHACC,cACA,sHACC,wBACA,mBACA,yBAED,sHACC,+CACA,qCAED,8HACC,YACA,WACA,SACA,gBAIA,oSFpdF,uCEudE,obAEC,+BACA,UAGF,wLACC,gBACA,eACA,cACA,0CACA,eAEA,gNACC,UACA,kBACA,0NACC,gBACA,mBACA,8CACA,wCASJ,8GACC,mBACA,cACA,uBACA,qCACA,UACA,kBACA,8CACA,WACA,8OAEC,oBACA,WAED,0HACC,YACA,oBACA,YACA,4QAGC,UAGF,gJACC,WACA,YACA,wBACA,0BAED,wRAEC,WACA,YACA,cACA,4VACC,2BAED,gWACC,yBAED,oUACC,2CACA,6CACA,0BACA,4BAQH,oHACC,oBACA,mDACA,4BACA,wMACC,kBACA,mBACA,uBACA,gBACA,aACA,0CAED,8LACC,SACA,qCACA,oCACA,0CACA,oZAEC,UAQH,kOAEC,uBACA,2FAGA,kBACA,qBACA,8CACA,sBAMD,sFACC,gDACA,wCACA,oBAGD,sEACC,yBAGD,0OAEC,qBASA,0IACC,qCAGD,gHACC,qCAEA,wKACC,YASF,0IACC,sCAGD,gHACC,sCAEA,wKACC,WAOJ,SACC,sBACA,gBACA,oCACA,gCACA,UACA,aACA,kDACA,0BACA,2CACA,cAEA,kCACC,eAIF,2CACC,SACC,qDACA,mDAED,gBACC,qDAED,aACC,oDAcF,aACC,aACA,8CACA,iBACA,cACA,iBACA,YAGA,kCACC,gBAID,kCACC,aACA,kBACA,oBAGA,gBAGA,uDAEC,eACA,mFACC,aAKH,uCACC,oCASF,aACC,WACA,UL/qBmB,MKgrBnB,UL/qBmB,MKgrBnB,cACA,wBACA,gBACA,ILtrBe,KKurBf,mBACA,gBACA,kBACA,aACA,aACA,0BACA,wCACA,kDACA,cAEA,uBACC,aAOF,cAEC,gBAGC,oFACC,cAKH,sBACC,aACA,6CACA,cACA,0DAEA,iBACA,gBACA,sBAGA,uCACC,UAGD,iCACC,sBACA,sBACA,gCAOE,4NACC,qBACA,WACA,cAOL,qBACC,sBACA,+BACA,gBACA,oDACA,6CACA,cAEA,sCACC,aACA,mBACA,qCACA,WACA,UACA,SACA,+BACA,gBACA,SACA,oDACA,iBACA,mBACA,eACA,WAGA,6BAEA,6CACC,yCACA,8CACA,eAED,wFAEC,+CAGD,8CACC,2CACA,4BACA,WACA,oCACA,qCACA,MACA,qBACA,cAGD,oDACC,mEAOF,4DACC,qCAED,kEACC,qCAKD,4DACC,sCAED,kEACC,sCAIF,SACC,cACA,aACA,mBACA,gBACC,wBAIA,yDAEC,oBACA,sBAKH,aACC,kBACA,gBACA,yBACA,mBAGD,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAKF,YACC,aACA,mBAEA,uBACC,aACA,sBACA,YACA,kBACA,mBACA,gBACA,uBACA,eACA,gCACA,kBACA,YAEA,8BACC,aAID,mCACC,0BAED,kCACC,wBAGD,6BACC,qBACA,WACA,YACA,qBACA,sBACA,gBACA,sBACA,WACA,eAGD,yBACC,gCACA,kBACA,gBACA,uBAED,gCACC,iBAED,0FAGC,kBACA,6BACA,kDAMF,oBACC,oBAKF,6BACC,WAGD,6BACC,YASA,0JAGC,wCAIA,2LACC,YAKH,gDAGC,kBACA,8CACA,6BACA,yCACA,YACA,YACA,WACA,gBACA,mBACA,sDACA,aACA,mBAEA,kEACC,YAKA,qBAEA,2BACA,YACA,SACA,QACA,kBACA,oBACA,iDACA,iBAGD,oFACC,0BACA,qBACA,oBACA,sGACC,qBACA,0BAIF,8EACC,oBACA,oBACA,gGACC,sBAIF,+DACC,cAGD,+GACC,SAGD,yDAEC,wBACA,sBAED,yDACC,aACA,cAEA,8EACC,aAGD,oOAGC,eACA,YA/FkB,KAgGlB,SACA,yCACA,+BACA,aACA,uBACA,YACA,SACA,mBACA,gBACA,WACA,6BACA,mBAEA,whDAIC,YACA,aACA,+BACA,gBAnHe,KAqHhB,yzBAIC,yBAOC,gvGACC,oBAlIe,KAsIlB,+tBAEC,gCAED,ojBAEC,+CAED,4nBAEC,kDAED,mSACC,2CACA,oDAGD,mSACC,2BAED,iRACC,eACA,mBAED,sPACC,YACA,kBACA,cACA,mBAED,mSACC,SACA,wBAGD,gVACC,kCAID,wQACC,MA9Ke,KA+Kf,YAGD,uyBAEC,qBACA,WAED,yeACC,mBAED,8cACC,mBAED,2xBACC,YAED,iRACC,aACA,cAGA,mBACA,mbACC,wBAIF,04BAEC,sBAGD,0RACC,UAlNiB,KAmNjB,gBACA,aACA,cAEA,4bACC,wBAQA,2hDACC,eAMD,ygDACC,kBAKJ,8EACC,UACA,6FACC,UAcD,+EACC,MA/PiB,KAgQjB,OAhQiB,KAyQlB,6CACC,WACA,YAOJ,kBACC,wBACA,kBACA,MACA,gDACA,aACA,sBACA,uCACA,gBACA,gBACA,gBACA,kBACA,eACA,UL5sCgB,MK6sChB,UL5sCgB,MK+sChB,yCACC,kBACA,YACA,eACA,iBACA,aACA,eACA,mBACA,cAKC,8RAEC,QACA,WACA,YACA,YACA,aACA,WACA,eACA,4mBAEC,WAED,wtBAEC,WACA,ghDAEC,UAIF,kVACC,UAKH,8IAGC,8CAEA,2RACC,aAIF,6JAEC,kBACA,YACA,WACA,WAQC,2XAEC,aAEA,2eACC,WAIH,wFACC,SACA,uBAEA,aACA,gGACC,SAGD,oHACC,aAKH,qEACC,aACA,SACA,wBACA,qBACA,YACA,WACA,SACA,UAGD,qEACC,kBACA,qBACA,YACA,WACA,iBACA,kBACA,sBACA,uBACA,WACA,kBACA,gBACA,0BACA,iBACA,iBACA,eACA,QACA,iBAGD,kJAEC,cACA,yBACA,mBACA,gBACA,uBACA,QACA,aACA,eAGD,yEACC,WACA,QACA,SACA,sDAGD,wEACC,QACA,mBACA,gBACA,uBACA,gBACA,WACA,cACA,iBAGD,qEACC,QACA,kBACA,kFACC,SAGA,sBAIH,2EACC,aAIF,8CACC,6DACA,oDCt9CD;AAAA;AAAA;AAAA;AAAA;AAAA,GAcC,mDAEC,WAGD,kDAEC,YAGD,qDAEC,WAGD,oDAEC,YAKD,mDAEC,YAGD,kDAEC,WAGD,qDAEC,YAGD,oDAEC,WAIF,YACC,WAGD,QACC,aAGD,iBACC,kBACA,4BACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC,qBCnFD;AAAA;AAAA;AAAA,GAOA,mBACC,SCRD;AAAA;AAAA;AAAA,GAMA,wCAGC,UACC,iCACA,qBAID,iBACC,wBAID,YACC,WACA,iCACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,sBAGD,8BACC,uBACA,sBAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,IRiBa,KQhBb,qBACA,WACA,YACA,aACA,oCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,qBACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,0BAID,kDACC,kCAED,8CACC,wBAGD,wBACC,gCAID,gBACC,aAED,+BACC,6BAMF,0CACC,8BACC,6BACA,eACA,qCACC,wBAMA,0CACC,cAGF,+BACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,sBACA,aACA,aAID,wCACC,uBCpKH;AAAA;AAAA;AAAA;AAAA,GAMA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,uBACA,0BAEJ,8CAEI,eACA,eAEJ,4CAEI,wBACA,eACA,0EACI,QACA,qBACA,iBACA,8BACA,qDAGR,0CAEI,yBACA,cACA,wEACI,QACA,mBACA,iBACA,8BACA,uDAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,sBACA,oBAEJ,kCACI,wBACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,uBACA,0BAEJ,oCACI,sBACA,iBAEJ,qCACI,wBACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA,mBCnIJ;AAAA;AAAA;AAAA,GAIA,kBACE,gBACA,gBACA,8CACA,6BACA,6CACA,eACA,gBACA,eACA,cACA,mCACA,aACA,mBACA,gBAEF,kFAEE,aACA,mBACA,WAEF,oEAEE,gBACA,gBACA,sBACA,eACA,YACA,aACA,mBACA,4BACA,2BACA,6BACA,aAEF,4FAEE,cACA,WACA,YACA,gBACA,iBACA,YAGF,4GAEE,sfACA,YACA,wCACA,qBACA,WACA,YAEF,wGAEE,WACA,wBACA,iBAEF,kPAIE,eACA,UAEF,+BACE,WAEF,mCACE,eAEF,8BACE,yCAEF,6BACE,2CAEF,gCACE,2CAEF,gCACE,2CAEF,6BACE,2CAEF,gCACE,2CAEF,8CACE,qBACA,WACA,YACA,iEACA,iBAOF,gEACE,kgBAEF,oCACC,8BACA,4BAED;AAAA;AAAA;AAAA,GAQA,iCACE,kBACA,WACA,YACA,eACA,gBACA,4BACA,wBACA,aACA,uBAGF,2CACE,mCAGF,0CACE,wCACA,kBACA,uBACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6BACA,GACI,2BAEJ,IACI,6BAEJ,KACI,4BAGJ,4CACE,6BAEF,mCACE,qBACA,YACA,oIACA,2BACA,mCACA,8CAEF,2CACE,oBACA,mBAEF,iDACE,WAEF,0DACE,wBACA,YAEF,6CACE,WAEF,iDACE,WACD;AAAA;AAAA;AAAA,EAID,qCACE,+BAEF,wCACE,eACA,gBACA,uBACA,mBAEF,qDACE,cAEF,2DACE,sBAEF,iDACE,eACA,sBAEF,iDACE,qBAEF,6CACE,8CAEF,yCACE,+CAEF,8CACE,aACA,sBACA,mBACA,YAEF,yCACE,yBACA,YACA,gBACA,uBAEF,8CACE,oCACA,sBACD,8CACC,WACA,YACA,cAEF,qCACE,WACA,yBACA,qBAEF,2CACE,WACA,gBACA,mBAEF,wCACE,gBACA,UACA,MACA,8CACA,YAEF,wDACE,aAEF,qDACE,WAEF,iDACE,YAEF,iDACE,YAEF,qDACE,YAEF,4EACE,sBACA,2BAEF,mEACE,wBAEF,sEACE,oBAEF,6DACE,oCAEF,+EACE,mBACD,2CACC,uBACD,oCACC,aACA,sBACA,oBACA,UACA,gBACA,YACA,uBACA,cAEF,yDACE,sBAEF,4CACE,iBACA,gBAEF,yBACA,oCACI,mBACA,iBAGJ,yBACA,oCACI,mBACA,gBAEJ,4CACI,iBAGJ,yBACE,uBAEF,oDACE,sBAEF,0CACE,gBAEF,+CACA,yBACI,UAGJ,yBACA,yBACI,0CAEH,oCACC,YACA,aACA,sBACA,mBAEF,uCACE,iBACA,mBACA,SAEF,oCACE,sBACA,WACA,aACA,sBACA,aACA,OACA,mBAEF,sCACE,sBAEF,+BACE,kCAEF,yBACA,+BACI,qEAGJ,wCACE,aACA,sBACA,gBACD,2CACC,iBACA,oDAEF,6CACE,oDAEF,yDACE,aAEF,4CACE,uFCnZF;AAAA;AAAA;AAAA,GAIA,aACC,8DAGC,kDACC,wCAIA,wDACC,gBAED,yEACC,+BACA,2BACA,wCAEA,8OAGC,UAID,iFACC,aAED,oFACC,aAED,iGACC,YAMJ,sBACC,iEACA,uCAGD,8BACC,uCAID,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,oCACA,8CACA,2CACA,sBAEA,aACA,sBACA,mBACA,uBAEA,kDACA,2CACA,2CAEA,yCACC,8CAGD,sBACC,kBACA,oCACA,4CACA,WAEA,wBACC,qBACA,mCACA,iBACA,uCACA,kCACA,oCACA","file":"server.css"} \ No newline at end of file
diff --git a/core/l10n/be.js b/core/l10n/be.js
new file mode 100644
index 00000000000..e96b443d8cb
--- /dev/null
+++ b/core/l10n/be.js
@@ -0,0 +1,325 @@
+OC.L10N.register(
+ "core",
+ {
+ "Please select a file." : "Выберыце файл.",
+ "File is too big" : "Файл занадта вялікі",
+ "The selected file is not an image." : "Выбраны файл не з'яўляецца відарысам.",
+ "The selected file cannot be read." : "Не ўдалося прачытаць выбраны файл.",
+ "Missing a temporary folder" : "Адсутнічае часовая папка",
+ "Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
+ "Invalid file provided" : "Прапанаваны файл некарэктны",
+ "Unknown filetype" : "Невядомы тып файла",
+ "An error occurred. Please contact your admin." : "Узнікла памылка. Звярніцеся да адміністратара.",
+ "Login" : "Лагін",
+ "Unsupported email length (>255)" : "Даўжыня электроннага ліста не падтрымліваецца (>255)",
+ "Password reset is disabled" : "Скід пароля адключаны",
+ "Password is too long. Maximum allowed length is 469 characters." : "Пароль занадта доўгі. Максімальная дазволеная даўжыня — 469 сімвалаў.",
+ "%s password reset" : "Скід пароля %s ",
+ "Password reset" : "Скід пароля",
+ "Task not found" : "Задача не знойдзена",
+ "Internal error" : "Унутраная памылка",
+ "Requested task type does not exist" : "Запытаны тып задачы не існуе",
+ "Necessary language model provider is not available" : "Неабходны пастаўшчык моўнай мадэлі недаступны",
+ "No text to image provider is available" : "Няма даступных пастаўшчыкоў паслуг пераўтварэння тэксту ў відарыс",
+ "Image not found" : "Відарыс не знойдзены",
+ "No translation provider available" : "Няма даступных пастаўшчыкоў перакладу",
+ "Could not detect language" : "Не ўдалося вызначыць мову",
+ "Unable to translate" : "Немагчыма перакласці",
+ "[%d / %d]: %s" : "[%d / %d]: %s",
+ "Nextcloud Server" : "Сервер Nextcloud",
+ "Learn more ↗" : "Больш падрабязна ↗",
+ "Preparing update" : "Падрыхтоўка абнаўлення",
+ "Turned on maintenance mode" : "Уключаны рэжым тэхнічнага абслугоўвання",
+ "Turned off maintenance mode" : "Выключаны рэжым тэхнічнага абслугоўвання",
+ "Updating database schema" : "Абнаўленне схемы базы даных",
+ "Updated \"%1$s\" to %2$s" : "\"%1$s\" абноўлена да %2$s",
+ "%s (incompatible)" : "%s (несумяшчальная)",
+ "Electronic book document" : "Дакумент электроннай кнігі",
+ "TrueType Font Collection" : "Калекцыя шрыфтоў TrueType",
+ "Web Open Font Format" : "Фармат шрыфта Web Open",
+ "GPX geographic data" : "Геаграфічныя дадыя GPX",
+ "Gzip archive" : "Архіў Gzip",
+ "Adobe Illustrator document" : "Дакумент Adobe Illustrator",
+ "Java source code" : "Зыходны код Java",
+ "JavaScript source code" : "Зыходны код JavaScript",
+ "JSON document" : "Дакумент JSON",
+ "Microsoft Access database" : "База даных Microsoft Access",
+ "Microsoft OneNote document" : "Дакумент Microsoft OneNote",
+ "Microsoft Word document" : "Дакумент Microsoft Word",
+ "Unknown" : "Невядомы",
+ "PDF document" : "Дакумент PDF",
+ "PostScript document" : "Дакумент PostScript",
+ "RSS summary" : "Зводка RSS",
+ "Android package" : "Пакет Android",
+ "KML geographic data" : "Геаграфічныя даныя KML",
+ "KML geographic compressed data" : "Геаграфічныя сціснутыя даныя KML",
+ "Lotus Word Pro document" : "Дакумент Lotus Word Pro",
+ "Excel spreadsheet" : "Табліца Excel",
+ "Excel add-in" : "Надбудова Excel",
+ "Excel 2007 binary spreadsheet" : "Табліца Excel 2007 (у двайковым фармаце)",
+ "Excel spreadsheet template" : "Шаблон табліцы Excel",
+ "Outlook Message" : "Паведамленне Outlook",
+ "PowerPoint presentation" : "Прэзентацыя PowerPoint",
+ "PowerPoint add-in" : "Надбудова PowerPoint",
+ "PowerPoint presentation template" : "Шаблон прэзентацыі PowerPoint",
+ "Word document" : "Дакумент Word",
+ "ODF formula" : "Формула ODF",
+ "ODG drawing" : "Рысунак ODG",
+ "ODG drawing (Flat XML)" : "Рысунак ODG (Плоскі XML)",
+ "ODG template" : "Шаблон ODG",
+ "ODP presentation" : "Прэзентацыя ODP",
+ "ODP presentation (Flat XML)" : "Прэзентацыя ODP (Плоскі XML)",
+ "ODP template" : "Шаблон ODP",
+ "ODS spreadsheet" : "Табліца ODS",
+ "ODS spreadsheet (Flat XML)" : "Табліца ODS (Плоскі XML)",
+ "ODS template" : "Шаблон ODS",
+ "ODT document" : "Дакумент ODT",
+ "ODT document (Flat XML)" : "Дакумент ODT (Плоскі XML)",
+ "ODT template" : "Шаблон ODT",
+ "PowerPoint 2007 presentation" : "Прэзентацыя PowerPoint 2007",
+ "PowerPoint 2007 presentation template" : "Шаблон прэзентацыі PowerPoint 2007",
+ "Excel 2007 spreadsheet" : "Табліца Excel 2007",
+ "Excel 2007 spreadsheet template" : "Шаблон табліцы Excel 2007",
+ "Word 2007 document" : "Дакумент Word 2007",
+ "Word 2007 document template" : "Шаблон дакумента Word 2007",
+ "Microsoft Visio document" : "Дакумент Microsoft Visio",
+ "WordPerfect document" : "Дакумент WordPerfect",
+ "7-zip archive" : "Архіў 7-zip",
+ "Blender scene" : "Сцэна Blender",
+ "Bzip2 archive" : "Архіў Bzip2",
+ "Debian package" : "Пакет Debian",
+ "FictionBook document" : "Дакумент FictionBook",
+ "Unknown font" : "Невядомы шрыфт",
+ "Krita document" : "Дакумент Krita",
+ "Windows Installer package" : "Пакет Windows Installer",
+ "Tar archive" : "Архіў Tar",
+ "XML document" : "Дакумент XML",
+ "YAML document" : "Дакумент YAML",
+ "Zip archive" : "Архіў Zip",
+ "Zstandard archive" : "Архіў Zstandard",
+ "AAC audio" : "Аўдыя AAC",
+ "FLAC audio" : "Аўдыя FLAC",
+ "MPEG-4 audio" : "Аўдыя MPEG-4",
+ "MP3 audio" : "Аўдыя MP3",
+ "Ogg audio" : "Аўдыя Ogg",
+ "RIFF/WAVe standard Audio" : "Аўдыя ў стандарце RIFF/WAVe",
+ "WebM audio" : "Аўдыя WebM",
+ "MP3 ShoutCast playlist" : "Плэй-ліст MP3 ShoutCast",
+ "Windows BMP image" : "Відарыс Windows BMP",
+ "Better Portable Graphics image" : "Відарыс Better Portable Graphics",
+ "EMF image" : "Відарыс EMF",
+ "GIF image" : "Відарыс GIF",
+ "HEIC image" : "Відарыс HEIC",
+ "HEIF image" : "Відарыс HEIF",
+ "JPEG-2000 JP2 image" : "Відарыс JPEG-2000 JP2",
+ "JPEG image" : "Відарыс JPEG",
+ "PNG image" : "Відарыс PNG",
+ "SVG image" : "Відарыс SVG",
+ "Truevision Targa image" : "Відарыс Truevision Targa",
+ "TIFF image" : "Відарыс TIFF",
+ "WebP image" : "Відарыс WebP",
+ "Digital raw image" : "Лічбавы неапрацаваны відарыс",
+ "Windows Icon" : "Значок Windows",
+ "Email message" : "Паведамленне па электроннай пошце",
+ "VCS/ICS calendar" : "Каляндар VCS/ICS",
+ "CSV document" : "Дакумент CSV",
+ "HTML document" : "Дакумент HTML",
+ "Markdown document" : "Дакумент Markdown",
+ "Org-mode file" : "Файл Org-mode",
+ "Plain text document" : "Тэкставы дакумент",
+ "Rich Text document" : "Дакумент Rich Text",
+ "C++ source code" : "Зыходны код C++",
+ "NFO document" : "Дакумент NFO",
+ "PHP source" : "Зыходны код PHP",
+ "ReStructuredText document" : "Дакумент ReStructuredText",
+ "3GPP multimedia file" : "Мультымедыйны файл 3GPP",
+ "MPEG video" : "Відэа MPEG",
+ "DV video" : "Відэа DV",
+ "MPEG-4 video" : "Відэа MPEG-4",
+ "Ogg video" : "Відэа Ogg",
+ "QuickTime video" : "Відэа QuickTime",
+ "WebM video" : "Відэа WebM",
+ "Flash video" : "Відэа Flash",
+ "Matroska video" : "Відэа Matroska",
+ "Windows Media video" : "Відэа Windows Media",
+ "AVI video" : "Відэа AVI",
+ "unknown text" : "невядомы тэкст",
+ "Hello world!" : "Hello world!",
+ "sunny" : "сонечна",
+ "Hello {name}, the weather is {weather}" : "Вітаем, {name}, на дварэ сёння {weather}",
+ "Hello {name}" : "Вітаем, {name}",
+ "new" : "новы",
+ "Update to {version}" : "Абнаўленне да {version}",
+ "An error occurred." : "Узнікла памылка.",
+ "Please reload the page." : "Перазагрузіце старонку.",
+ "Applications menu" : "Меню праграм",
+ "Apps" : "Праграмы",
+ "More apps" : "Болей праграм",
+ "_{count} notification_::_{count} notifications_" : ["{count} апавяшчэнне","{count} апавяшчэнні","{count} апавяшчэнняў","{count} апавяшчэнняў"],
+ "No" : "Не",
+ "Yes" : "Так",
+ "The remote URL must include the user." : "Аддалены URL-адрас павінен уключаць карыстальніка.",
+ "user@your-nextcloud.org" : "user@your-nextcloud.org",
+ "Direct link copied to clipboard" : "Прамая спасылка скапіявана ў буфер абмену",
+ "Please copy the link manually:" : "Скапіюйце спасылку ўручную:",
+ "Clear search" : "Ачысціць пошук",
+ "Searching …" : "Пошук …",
+ "Start typing to search" : "Пачніце ўводзіць тэкст для пошуку",
+ "No matching results" : "Няма адпаведных вынікаў",
+ "Today" : "Сёння",
+ "Last 7 days" : "Апошнія 7 дзён",
+ "Last 30 days" : "Апошнія 30 дзён",
+ "This year" : "Гэты год",
+ "Last year" : "Мінулы год",
+ "Search apps, files, tags, messages" : "Пошук праграм, файлаў, тэгаў, паведамленняў",
+ "Places" : "Месцы",
+ "Date" : "Дата",
+ "People" : "Людзі",
+ "Results" : "Вынікі",
+ "Load more results" : "Загрузіць больш вынікаў",
+ "Search in" : "Пошук у",
+ "Log in" : "Увайсці",
+ "Logging in …" : "Уваход …",
+ "Log in to {productName}" : "Увайсці ў {productName}",
+ "Wrong login or password." : "Няправільны лагін або пароль.",
+ "This account is disabled" : "Гэты ўліковы запіс адключаны.",
+ "Account name or email" : "Імя ўліковага запісу або email",
+ "Account name" : "Імя ўліковага запісу",
+ "Please contact your administrator." : "Звярніцеся да адміністратара.",
+ "Session error" : "Памылка сеанса",
+ "An internal error occurred." : "Узнікла ўнутраная памылка.",
+ "Please try again or contact your administrator." : "Паспрабуйце яшчэ раз або звярніцеся да адміністратара.",
+ "Password" : "Пароль",
+ "Log in with a device" : "Увайсці з дапамогай прылады",
+ "Login or email" : "Лагін або электронная пошта",
+ "Your connection is not secure" : "Ваша злучэнне не з'яўляецца бяспечным",
+ "Browser not supported" : "Браўзер не падтрымліваецца",
+ "Reset password" : "Скінуць пароль",
+ "Password cannot be changed. Please contact your administrator." : "Немагчыма змяніць пароль. Звярніцеся да адміністратара.",
+ "New password" : "Новы пароль",
+ "I know what I'm doing" : "Я ведаю, што раблю",
+ "Resetting password" : "Скід пароля",
+ "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Чаты, відэавыклікі, дэманстрацыя экрана, анлайн-сустрэчы і вэб-канферэнцыі — у вашым браўзеры і з дапамогай мабільных праграм.",
+ "Collaborative documents, spreadsheets and presentations, built on Collabora Online." : "Супольныя дакументы, электронныя табліцы і прэзентацыі, створаныя ў Collabora Online.",
+ "Recommended apps" : "Рэкамендаваныя праграмы",
+ "Loading apps …" : "Загрузка праграм …",
+ "Could not fetch list of apps from the App Store." : "Не ўдалося атрымаць спіс праграм з App Store.",
+ "Cannot install this app because it is not compatible" : "Немагчыма ўсталяваць гэту праграму, бо яна несумяшчальная",
+ "Cannot install this app" : "Немагчыма ўсталяваць гэту праграму",
+ "Skip" : "Прапусціць",
+ "Installing apps …" : "Усталяванне праграм …",
+ "Install recommended apps" : "Усталяваць рэкамендаваныя праграмы",
+ "Avatar of {displayName}" : "Аватар карыстальніка {displayName}",
+ "Loading your contacts …" : "Загрузка вашых кантактаў …",
+ "Looking for {term} …" : "Пошук {term} …",
+ "Search contacts" : "Пошук кантактаў",
+ "Reset search" : "Скінуць пошук",
+ "Search contacts …" : "Пошук кантактаў …",
+ "Could not load your contacts" : "Не ўдалося загрузіць вашы кантакты",
+ "No contacts found" : "Кантакты не знойдзены",
+ "Show all contacts" : "Паказаць усе кантакты",
+ "Install the Contacts app" : "Усталяваць праграму \"Кантакты\"",
+ "Search" : "Пошук",
+ "No results for {query}" : "Няма вынікаў для {query}",
+ "Press Enter to start searching" : "Націсніце Enter, каб пачаць пошук",
+ "Forgot password?" : "Забылі пароль?",
+ "Back" : "Назад",
+ "More actions" : "Больш дзеянняў",
+ "User menu" : "Меню карыстальніка",
+ "Storage & database" : "Сховішча і база даных",
+ "Data folder" : "Папка з данымі",
+ "Database configuration" : "Канфігурацыя базы даных",
+ "Only {firstAndOnlyDatabase} is available." : "Даступна толькі {firstAndOnlyDatabase}.",
+ "Install and activate additional PHP modules to choose other database types." : "Усталюйце і актывуйце дадатковыя модулі PHP, каб выбраць іншы тып базы даных.",
+ "Database user" : "Карыстальнік базы даных",
+ "Database password" : "Пароль базы даных",
+ "Database name" : "Назва базы даных",
+ "Database tablespace" : "Таблічная прастора базы даных",
+ "localhost" : "localhost",
+ "Installing …" : "Усталяванне …",
+ "Install" : "Усталяваць",
+ "This browser is not supported" : "Гэты браўзер не падтрымліваецца",
+ "Copy to {target}" : "Капіяваць у {target}",
+ "Copy" : "Капіяваць",
+ "Move to {target}" : "Перамясціць у {target}",
+ "Move" : "Перамясціць",
+ "OK" : "OK",
+ "read-only" : "толькі для чытання",
+ "One file conflict" : "Адзін файлавы канфлікт",
+ "New Files" : "Новыя файлы",
+ "Already existing files" : "Ужо існуючыя файлы",
+ "Which files do you want to keep?" : "Якія файлы вы хочаце захаваць?",
+ "If you select both versions, the copied file will have a number added to its name." : "Калі бы выберыце абедзьве версіі, да назвы скапіяванага файла будзе дададзены нумар.",
+ "Cancel" : "Скасаваць",
+ "Continue" : "Працягнуць",
+ "Error loading file exists template" : "Памылка загрузкі шаблона",
+ "Saving …" : "Захаванне …",
+ "seconds ago" : "с таму",
+ "Add to a project" : "Дадаць у праект",
+ "Rename project" : "Перайменаваць праект",
+ "Delete" : "Выдаліць",
+ "Rename" : "Перайменаваць",
+ "Collaborative tags" : "Супольныя тэгі",
+ "No tags found" : "Тэгі не знойдзены",
+ "Clipboard not available, please copy manually" : "Буфер абмену недаступны, скапіюйце ўручную",
+ "Accounts" : "Уліковыя запісы",
+ "Admin" : "Адміністратар",
+ "Help" : "Даведка",
+ "Access forbidden" : "Доступ забаронены",
+ "Back to %s" : "Назад да %s",
+ "Page not found" : "Старонка не знойдзена",
+ "The page could not be found on the server or you may not be allowed to view it." : "Старонка не знойдзена на серверы, або ў вас няма дазволу на яе прагляд.",
+ "Too many requests" : "Занадта шмат запытаў",
+ "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "З вашай сеткі паступіла занадта шмат запытаў. Паўтарыце спробу пазней або звярніцеся да адміністратара, калі гэта памылка.",
+ "Error" : "Памылка",
+ "Internal Server Error" : "Унутраная памылка сервера",
+ "The server was unable to complete your request." : "Сервер не змог выканаць ваш запыт.",
+ "If this happens again, please send the technical details below to the server administrator." : "Калі гэта паўторыцца, адпраўце тэхнічныя падрабязнасці ніжэй адміністратару сервера.",
+ "More details can be found in the server log." : "Больш падрабязную інфармацыю можна знайсці ў журнале сервера.",
+ "For more details see the documentation ↗." : "Больш падрабязную інфармацыю глядзіце ў дакументацыі ↗.",
+ "Technical details" : "Тэхнічныя падрабязнасці",
+ "Remote Address: %s" : "Аддалены адрас: %s",
+ "Request ID: %s" : "Ідэнтыфікатар запыту: %s",
+ "Type: %s" : "Тып: %s",
+ "Code: %s" : "Код: %s",
+ "Message: %s" : "Паведамленне: %s",
+ "File: %s" : "Файл: %s",
+ "Line: %s" : "Радок: %s",
+ "Trace" : "Трасіроўка",
+ "Go to %s" : "Перайсці да %s",
+ "Grant access" : "Дазволіць доступ",
+ "Account access" : "Доступ да ўліковага запісу",
+ "You can close this window." : "Вы можаце закрыць гэта акно.",
+ "Email address" : "Адрас электроннай пошты",
+ "Password sent!" : "Пароль адпраўлены!",
+ "Two-factor authentication" : "Двухфактарная аўтэнтыфікацыя",
+ "Cancel login" : "Скасаваць уваход",
+ "Access through untrusted domain" : "Доступ праз ненадзейны дамен",
+ "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Звярніцеся да адміністратара. Калі вы адміністратар, адрэдагуйце параметр \"trusted_domains\" у config/config.php, як у прыкладзе ў config.sample.php.",
+ "App update required" : "Патрэбна абнавіць праграму",
+ "The following apps will be updated:" : "Будуць абноўлены наступныя праграмы:",
+ "These incompatible apps will be disabled:" : "Гэтыя несумяшчальныя праграмы будуць адключаныя:",
+ "Start update" : "Запусціць абнаўленне",
+ "Update needed" : "Неабходна абнаўленне",
+ "Maintenance mode" : "Рэжым тэхнічнага абслугоўвання",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Звярніцеся да сістэмнага адміністратара, калі гэта паведамленне працягвае з'яўляцца або з'явілася нечакана.",
+ "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Чаты, відэавыклікі, дэманстрацыя экрана, анлайн-сустрэчы і вэб-канферэнцыі — у вашым браўзеры і з дапамогай мабільных праграм.",
+ "You have not added any info yet" : "Вы пакуль не дадалі ніякай інфармацыі",
+ "{user} has not added any info yet" : "{user} пакуль не дадаў(-ла) ніякай інфармацыі",
+ "Edit Profile" : "Рэдагаваць профіль",
+ "Very weak password" : "Вельмі слабы пароль",
+ "Weak password" : "Слабы пароль",
+ "So-so password" : "Абы-які пароль",
+ "Good password" : "Файны пароль",
+ "Strong password" : "Моцны пароль",
+ "Profile not found" : "Профіль не знойдзены",
+ "The profile does not exist." : "Профіль не існуе.",
+ "<strong>Create an admin account</strong>" : "<strong>Стварыць ўліковы запіс адміністратара</strong>",
+ "New admin account name" : "Імя ўліковага запісу новага адміністратара",
+ "New admin password" : "Пароль новага адіміністратара",
+ "Show password" : "Паказаць пароль",
+ "Toggle password visibility" : "Пераключыць бачнасць пароля",
+ "Only %s is available." : "Даступна толькі %s.",
+ "Database account" : "Уліковы запіс базы даных"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/core/l10n/be.json b/core/l10n/be.json
new file mode 100644
index 00000000000..01e933ad5a7
--- /dev/null
+++ b/core/l10n/be.json
@@ -0,0 +1,323 @@
+{ "translations": {
+ "Please select a file." : "Выберыце файл.",
+ "File is too big" : "Файл занадта вялікі",
+ "The selected file is not an image." : "Выбраны файл не з'яўляецца відарысам.",
+ "The selected file cannot be read." : "Не ўдалося прачытаць выбраны файл.",
+ "Missing a temporary folder" : "Адсутнічае часовая папка",
+ "Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
+ "Invalid file provided" : "Прапанаваны файл некарэктны",
+ "Unknown filetype" : "Невядомы тып файла",
+ "An error occurred. Please contact your admin." : "Узнікла памылка. Звярніцеся да адміністратара.",
+ "Login" : "Лагін",
+ "Unsupported email length (>255)" : "Даўжыня электроннага ліста не падтрымліваецца (>255)",
+ "Password reset is disabled" : "Скід пароля адключаны",
+ "Password is too long. Maximum allowed length is 469 characters." : "Пароль занадта доўгі. Максімальная дазволеная даўжыня — 469 сімвалаў.",
+ "%s password reset" : "Скід пароля %s ",
+ "Password reset" : "Скід пароля",
+ "Task not found" : "Задача не знойдзена",
+ "Internal error" : "Унутраная памылка",
+ "Requested task type does not exist" : "Запытаны тып задачы не існуе",
+ "Necessary language model provider is not available" : "Неабходны пастаўшчык моўнай мадэлі недаступны",
+ "No text to image provider is available" : "Няма даступных пастаўшчыкоў паслуг пераўтварэння тэксту ў відарыс",
+ "Image not found" : "Відарыс не знойдзены",
+ "No translation provider available" : "Няма даступных пастаўшчыкоў перакладу",
+ "Could not detect language" : "Не ўдалося вызначыць мову",
+ "Unable to translate" : "Немагчыма перакласці",
+ "[%d / %d]: %s" : "[%d / %d]: %s",
+ "Nextcloud Server" : "Сервер Nextcloud",
+ "Learn more ↗" : "Больш падрабязна ↗",
+ "Preparing update" : "Падрыхтоўка абнаўлення",
+ "Turned on maintenance mode" : "Уключаны рэжым тэхнічнага абслугоўвання",
+ "Turned off maintenance mode" : "Выключаны рэжым тэхнічнага абслугоўвання",
+ "Updating database schema" : "Абнаўленне схемы базы даных",
+ "Updated \"%1$s\" to %2$s" : "\"%1$s\" абноўлена да %2$s",
+ "%s (incompatible)" : "%s (несумяшчальная)",
+ "Electronic book document" : "Дакумент электроннай кнігі",
+ "TrueType Font Collection" : "Калекцыя шрыфтоў TrueType",
+ "Web Open Font Format" : "Фармат шрыфта Web Open",
+ "GPX geographic data" : "Геаграфічныя дадыя GPX",
+ "Gzip archive" : "Архіў Gzip",
+ "Adobe Illustrator document" : "Дакумент Adobe Illustrator",
+ "Java source code" : "Зыходны код Java",
+ "JavaScript source code" : "Зыходны код JavaScript",
+ "JSON document" : "Дакумент JSON",
+ "Microsoft Access database" : "База даных Microsoft Access",
+ "Microsoft OneNote document" : "Дакумент Microsoft OneNote",
+ "Microsoft Word document" : "Дакумент Microsoft Word",
+ "Unknown" : "Невядомы",
+ "PDF document" : "Дакумент PDF",
+ "PostScript document" : "Дакумент PostScript",
+ "RSS summary" : "Зводка RSS",
+ "Android package" : "Пакет Android",
+ "KML geographic data" : "Геаграфічныя даныя KML",
+ "KML geographic compressed data" : "Геаграфічныя сціснутыя даныя KML",
+ "Lotus Word Pro document" : "Дакумент Lotus Word Pro",
+ "Excel spreadsheet" : "Табліца Excel",
+ "Excel add-in" : "Надбудова Excel",
+ "Excel 2007 binary spreadsheet" : "Табліца Excel 2007 (у двайковым фармаце)",
+ "Excel spreadsheet template" : "Шаблон табліцы Excel",
+ "Outlook Message" : "Паведамленне Outlook",
+ "PowerPoint presentation" : "Прэзентацыя PowerPoint",
+ "PowerPoint add-in" : "Надбудова PowerPoint",
+ "PowerPoint presentation template" : "Шаблон прэзентацыі PowerPoint",
+ "Word document" : "Дакумент Word",
+ "ODF formula" : "Формула ODF",
+ "ODG drawing" : "Рысунак ODG",
+ "ODG drawing (Flat XML)" : "Рысунак ODG (Плоскі XML)",
+ "ODG template" : "Шаблон ODG",
+ "ODP presentation" : "Прэзентацыя ODP",
+ "ODP presentation (Flat XML)" : "Прэзентацыя ODP (Плоскі XML)",
+ "ODP template" : "Шаблон ODP",
+ "ODS spreadsheet" : "Табліца ODS",
+ "ODS spreadsheet (Flat XML)" : "Табліца ODS (Плоскі XML)",
+ "ODS template" : "Шаблон ODS",
+ "ODT document" : "Дакумент ODT",
+ "ODT document (Flat XML)" : "Дакумент ODT (Плоскі XML)",
+ "ODT template" : "Шаблон ODT",
+ "PowerPoint 2007 presentation" : "Прэзентацыя PowerPoint 2007",
+ "PowerPoint 2007 presentation template" : "Шаблон прэзентацыі PowerPoint 2007",
+ "Excel 2007 spreadsheet" : "Табліца Excel 2007",
+ "Excel 2007 spreadsheet template" : "Шаблон табліцы Excel 2007",
+ "Word 2007 document" : "Дакумент Word 2007",
+ "Word 2007 document template" : "Шаблон дакумента Word 2007",
+ "Microsoft Visio document" : "Дакумент Microsoft Visio",
+ "WordPerfect document" : "Дакумент WordPerfect",
+ "7-zip archive" : "Архіў 7-zip",
+ "Blender scene" : "Сцэна Blender",
+ "Bzip2 archive" : "Архіў Bzip2",
+ "Debian package" : "Пакет Debian",
+ "FictionBook document" : "Дакумент FictionBook",
+ "Unknown font" : "Невядомы шрыфт",
+ "Krita document" : "Дакумент Krita",
+ "Windows Installer package" : "Пакет Windows Installer",
+ "Tar archive" : "Архіў Tar",
+ "XML document" : "Дакумент XML",
+ "YAML document" : "Дакумент YAML",
+ "Zip archive" : "Архіў Zip",
+ "Zstandard archive" : "Архіў Zstandard",
+ "AAC audio" : "Аўдыя AAC",
+ "FLAC audio" : "Аўдыя FLAC",
+ "MPEG-4 audio" : "Аўдыя MPEG-4",
+ "MP3 audio" : "Аўдыя MP3",
+ "Ogg audio" : "Аўдыя Ogg",
+ "RIFF/WAVe standard Audio" : "Аўдыя ў стандарце RIFF/WAVe",
+ "WebM audio" : "Аўдыя WebM",
+ "MP3 ShoutCast playlist" : "Плэй-ліст MP3 ShoutCast",
+ "Windows BMP image" : "Відарыс Windows BMP",
+ "Better Portable Graphics image" : "Відарыс Better Portable Graphics",
+ "EMF image" : "Відарыс EMF",
+ "GIF image" : "Відарыс GIF",
+ "HEIC image" : "Відарыс HEIC",
+ "HEIF image" : "Відарыс HEIF",
+ "JPEG-2000 JP2 image" : "Відарыс JPEG-2000 JP2",
+ "JPEG image" : "Відарыс JPEG",
+ "PNG image" : "Відарыс PNG",
+ "SVG image" : "Відарыс SVG",
+ "Truevision Targa image" : "Відарыс Truevision Targa",
+ "TIFF image" : "Відарыс TIFF",
+ "WebP image" : "Відарыс WebP",
+ "Digital raw image" : "Лічбавы неапрацаваны відарыс",
+ "Windows Icon" : "Значок Windows",
+ "Email message" : "Паведамленне па электроннай пошце",
+ "VCS/ICS calendar" : "Каляндар VCS/ICS",
+ "CSV document" : "Дакумент CSV",
+ "HTML document" : "Дакумент HTML",
+ "Markdown document" : "Дакумент Markdown",
+ "Org-mode file" : "Файл Org-mode",
+ "Plain text document" : "Тэкставы дакумент",
+ "Rich Text document" : "Дакумент Rich Text",
+ "C++ source code" : "Зыходны код C++",
+ "NFO document" : "Дакумент NFO",
+ "PHP source" : "Зыходны код PHP",
+ "ReStructuredText document" : "Дакумент ReStructuredText",
+ "3GPP multimedia file" : "Мультымедыйны файл 3GPP",
+ "MPEG video" : "Відэа MPEG",
+ "DV video" : "Відэа DV",
+ "MPEG-4 video" : "Відэа MPEG-4",
+ "Ogg video" : "Відэа Ogg",
+ "QuickTime video" : "Відэа QuickTime",
+ "WebM video" : "Відэа WebM",
+ "Flash video" : "Відэа Flash",
+ "Matroska video" : "Відэа Matroska",
+ "Windows Media video" : "Відэа Windows Media",
+ "AVI video" : "Відэа AVI",
+ "unknown text" : "невядомы тэкст",
+ "Hello world!" : "Hello world!",
+ "sunny" : "сонечна",
+ "Hello {name}, the weather is {weather}" : "Вітаем, {name}, на дварэ сёння {weather}",
+ "Hello {name}" : "Вітаем, {name}",
+ "new" : "новы",
+ "Update to {version}" : "Абнаўленне да {version}",
+ "An error occurred." : "Узнікла памылка.",
+ "Please reload the page." : "Перазагрузіце старонку.",
+ "Applications menu" : "Меню праграм",
+ "Apps" : "Праграмы",
+ "More apps" : "Болей праграм",
+ "_{count} notification_::_{count} notifications_" : ["{count} апавяшчэнне","{count} апавяшчэнні","{count} апавяшчэнняў","{count} апавяшчэнняў"],
+ "No" : "Не",
+ "Yes" : "Так",
+ "The remote URL must include the user." : "Аддалены URL-адрас павінен уключаць карыстальніка.",
+ "user@your-nextcloud.org" : "user@your-nextcloud.org",
+ "Direct link copied to clipboard" : "Прамая спасылка скапіявана ў буфер абмену",
+ "Please copy the link manually:" : "Скапіюйце спасылку ўручную:",
+ "Clear search" : "Ачысціць пошук",
+ "Searching …" : "Пошук …",
+ "Start typing to search" : "Пачніце ўводзіць тэкст для пошуку",
+ "No matching results" : "Няма адпаведных вынікаў",
+ "Today" : "Сёння",
+ "Last 7 days" : "Апошнія 7 дзён",
+ "Last 30 days" : "Апошнія 30 дзён",
+ "This year" : "Гэты год",
+ "Last year" : "Мінулы год",
+ "Search apps, files, tags, messages" : "Пошук праграм, файлаў, тэгаў, паведамленняў",
+ "Places" : "Месцы",
+ "Date" : "Дата",
+ "People" : "Людзі",
+ "Results" : "Вынікі",
+ "Load more results" : "Загрузіць больш вынікаў",
+ "Search in" : "Пошук у",
+ "Log in" : "Увайсці",
+ "Logging in …" : "Уваход …",
+ "Log in to {productName}" : "Увайсці ў {productName}",
+ "Wrong login or password." : "Няправільны лагін або пароль.",
+ "This account is disabled" : "Гэты ўліковы запіс адключаны.",
+ "Account name or email" : "Імя ўліковага запісу або email",
+ "Account name" : "Імя ўліковага запісу",
+ "Please contact your administrator." : "Звярніцеся да адміністратара.",
+ "Session error" : "Памылка сеанса",
+ "An internal error occurred." : "Узнікла ўнутраная памылка.",
+ "Please try again or contact your administrator." : "Паспрабуйце яшчэ раз або звярніцеся да адміністратара.",
+ "Password" : "Пароль",
+ "Log in with a device" : "Увайсці з дапамогай прылады",
+ "Login or email" : "Лагін або электронная пошта",
+ "Your connection is not secure" : "Ваша злучэнне не з'яўляецца бяспечным",
+ "Browser not supported" : "Браўзер не падтрымліваецца",
+ "Reset password" : "Скінуць пароль",
+ "Password cannot be changed. Please contact your administrator." : "Немагчыма змяніць пароль. Звярніцеся да адміністратара.",
+ "New password" : "Новы пароль",
+ "I know what I'm doing" : "Я ведаю, што раблю",
+ "Resetting password" : "Скід пароля",
+ "Chatting, video calls, screen sharing, online meetings and web conferencing – in your browser and with mobile apps." : "Чаты, відэавыклікі, дэманстрацыя экрана, анлайн-сустрэчы і вэб-канферэнцыі — у вашым браўзеры і з дапамогай мабільных праграм.",
+ "Collaborative documents, spreadsheets and presentations, built on Collabora Online." : "Супольныя дакументы, электронныя табліцы і прэзентацыі, створаныя ў Collabora Online.",
+ "Recommended apps" : "Рэкамендаваныя праграмы",
+ "Loading apps …" : "Загрузка праграм …",
+ "Could not fetch list of apps from the App Store." : "Не ўдалося атрымаць спіс праграм з App Store.",
+ "Cannot install this app because it is not compatible" : "Немагчыма ўсталяваць гэту праграму, бо яна несумяшчальная",
+ "Cannot install this app" : "Немагчыма ўсталяваць гэту праграму",
+ "Skip" : "Прапусціць",
+ "Installing apps …" : "Усталяванне праграм …",
+ "Install recommended apps" : "Усталяваць рэкамендаваныя праграмы",
+ "Avatar of {displayName}" : "Аватар карыстальніка {displayName}",
+ "Loading your contacts …" : "Загрузка вашых кантактаў …",
+ "Looking for {term} …" : "Пошук {term} …",
+ "Search contacts" : "Пошук кантактаў",
+ "Reset search" : "Скінуць пошук",
+ "Search contacts …" : "Пошук кантактаў …",
+ "Could not load your contacts" : "Не ўдалося загрузіць вашы кантакты",
+ "No contacts found" : "Кантакты не знойдзены",
+ "Show all contacts" : "Паказаць усе кантакты",
+ "Install the Contacts app" : "Усталяваць праграму \"Кантакты\"",
+ "Search" : "Пошук",
+ "No results for {query}" : "Няма вынікаў для {query}",
+ "Press Enter to start searching" : "Націсніце Enter, каб пачаць пошук",
+ "Forgot password?" : "Забылі пароль?",
+ "Back" : "Назад",
+ "More actions" : "Больш дзеянняў",
+ "User menu" : "Меню карыстальніка",
+ "Storage & database" : "Сховішча і база даных",
+ "Data folder" : "Папка з данымі",
+ "Database configuration" : "Канфігурацыя базы даных",
+ "Only {firstAndOnlyDatabase} is available." : "Даступна толькі {firstAndOnlyDatabase}.",
+ "Install and activate additional PHP modules to choose other database types." : "Усталюйце і актывуйце дадатковыя модулі PHP, каб выбраць іншы тып базы даных.",
+ "Database user" : "Карыстальнік базы даных",
+ "Database password" : "Пароль базы даных",
+ "Database name" : "Назва базы даных",
+ "Database tablespace" : "Таблічная прастора базы даных",
+ "localhost" : "localhost",
+ "Installing …" : "Усталяванне …",
+ "Install" : "Усталяваць",
+ "This browser is not supported" : "Гэты браўзер не падтрымліваецца",
+ "Copy to {target}" : "Капіяваць у {target}",
+ "Copy" : "Капіяваць",
+ "Move to {target}" : "Перамясціць у {target}",
+ "Move" : "Перамясціць",
+ "OK" : "OK",
+ "read-only" : "толькі для чытання",
+ "One file conflict" : "Адзін файлавы канфлікт",
+ "New Files" : "Новыя файлы",
+ "Already existing files" : "Ужо існуючыя файлы",
+ "Which files do you want to keep?" : "Якія файлы вы хочаце захаваць?",
+ "If you select both versions, the copied file will have a number added to its name." : "Калі бы выберыце абедзьве версіі, да назвы скапіяванага файла будзе дададзены нумар.",
+ "Cancel" : "Скасаваць",
+ "Continue" : "Працягнуць",
+ "Error loading file exists template" : "Памылка загрузкі шаблона",
+ "Saving …" : "Захаванне …",
+ "seconds ago" : "с таму",
+ "Add to a project" : "Дадаць у праект",
+ "Rename project" : "Перайменаваць праект",
+ "Delete" : "Выдаліць",
+ "Rename" : "Перайменаваць",
+ "Collaborative tags" : "Супольныя тэгі",
+ "No tags found" : "Тэгі не знойдзены",
+ "Clipboard not available, please copy manually" : "Буфер абмену недаступны, скапіюйце ўручную",
+ "Accounts" : "Уліковыя запісы",
+ "Admin" : "Адміністратар",
+ "Help" : "Даведка",
+ "Access forbidden" : "Доступ забаронены",
+ "Back to %s" : "Назад да %s",
+ "Page not found" : "Старонка не знойдзена",
+ "The page could not be found on the server or you may not be allowed to view it." : "Старонка не знойдзена на серверы, або ў вас няма дазволу на яе прагляд.",
+ "Too many requests" : "Занадта шмат запытаў",
+ "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "З вашай сеткі паступіла занадта шмат запытаў. Паўтарыце спробу пазней або звярніцеся да адміністратара, калі гэта памылка.",
+ "Error" : "Памылка",
+ "Internal Server Error" : "Унутраная памылка сервера",
+ "The server was unable to complete your request." : "Сервер не змог выканаць ваш запыт.",
+ "If this happens again, please send the technical details below to the server administrator." : "Калі гэта паўторыцца, адпраўце тэхнічныя падрабязнасці ніжэй адміністратару сервера.",
+ "More details can be found in the server log." : "Больш падрабязную інфармацыю можна знайсці ў журнале сервера.",
+ "For more details see the documentation ↗." : "Больш падрабязную інфармацыю глядзіце ў дакументацыі ↗.",
+ "Technical details" : "Тэхнічныя падрабязнасці",
+ "Remote Address: %s" : "Аддалены адрас: %s",
+ "Request ID: %s" : "Ідэнтыфікатар запыту: %s",
+ "Type: %s" : "Тып: %s",
+ "Code: %s" : "Код: %s",
+ "Message: %s" : "Паведамленне: %s",
+ "File: %s" : "Файл: %s",
+ "Line: %s" : "Радок: %s",
+ "Trace" : "Трасіроўка",
+ "Go to %s" : "Перайсці да %s",
+ "Grant access" : "Дазволіць доступ",
+ "Account access" : "Доступ да ўліковага запісу",
+ "You can close this window." : "Вы можаце закрыць гэта акно.",
+ "Email address" : "Адрас электроннай пошты",
+ "Password sent!" : "Пароль адпраўлены!",
+ "Two-factor authentication" : "Двухфактарная аўтэнтыфікацыя",
+ "Cancel login" : "Скасаваць уваход",
+ "Access through untrusted domain" : "Доступ праз ненадзейны дамен",
+ "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Звярніцеся да адміністратара. Калі вы адміністратар, адрэдагуйце параметр \"trusted_domains\" у config/config.php, як у прыкладзе ў config.sample.php.",
+ "App update required" : "Патрэбна абнавіць праграму",
+ "The following apps will be updated:" : "Будуць абноўлены наступныя праграмы:",
+ "These incompatible apps will be disabled:" : "Гэтыя несумяшчальныя праграмы будуць адключаныя:",
+ "Start update" : "Запусціць абнаўленне",
+ "Update needed" : "Неабходна абнаўленне",
+ "Maintenance mode" : "Рэжым тэхнічнага абслугоўвання",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Звярніцеся да сістэмнага адміністратара, калі гэта паведамленне працягвае з'яўляцца або з'явілася нечакана.",
+ "Chatting, video calls, screensharing, online meetings and web conferencing – in your browser and with mobile apps." : "Чаты, відэавыклікі, дэманстрацыя экрана, анлайн-сустрэчы і вэб-канферэнцыі — у вашым браўзеры і з дапамогай мабільных праграм.",
+ "You have not added any info yet" : "Вы пакуль не дадалі ніякай інфармацыі",
+ "{user} has not added any info yet" : "{user} пакуль не дадаў(-ла) ніякай інфармацыі",
+ "Edit Profile" : "Рэдагаваць профіль",
+ "Very weak password" : "Вельмі слабы пароль",
+ "Weak password" : "Слабы пароль",
+ "So-so password" : "Абы-які пароль",
+ "Good password" : "Файны пароль",
+ "Strong password" : "Моцны пароль",
+ "Profile not found" : "Профіль не знойдзены",
+ "The profile does not exist." : "Профіль не існуе.",
+ "<strong>Create an admin account</strong>" : "<strong>Стварыць ўліковы запіс адміністратара</strong>",
+ "New admin account name" : "Імя ўліковага запісу новага адміністратара",
+ "New admin password" : "Пароль новага адіміністратара",
+ "Show password" : "Паказаць пароль",
+ "Toggle password visibility" : "Пераключыць бачнасць пароля",
+ "Only %s is available." : "Даступна толькі %s.",
+ "Database account" : "Уліковы запіс базы даных"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js
index bf6db3ec59a..edadb4b18b6 100644
--- a/core/l10n/et_EE.js
+++ b/core/l10n/et_EE.js
@@ -16,7 +16,7 @@ OC.L10N.register(
"Invalid file provided" : "Vigane fail",
"No image or file provided" : "Ühtegi pilti või faili pole pakutud",
"Unknown filetype" : "Tundmatu failitüüp",
- "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust administraatoriga.",
+ "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust peakasutajaga.",
"Invalid image" : "Vigane pilt",
"No temporary profile picture available, try again" : "Ühtegi ajutist profiilipilti pole saadaval, proovi uuesti",
"No crop data provided" : "Lõikeandmeid ei leitud",
@@ -266,11 +266,11 @@ OC.L10N.register(
"Account name or email" : "Konto nimi või e-posti aadress",
"Account name" : "Kasutajakonto nimi",
"Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!",
- "Please contact your administrator." : "Palun võta ühendust oma administraatoriga.",
+ "Please contact your administrator." : "Palun võta ühendust oma peakasutajaga.",
"Session error" : "Sessiooniviga",
"It appears your session token has expired, please refresh the page and try again." : "Tundub, et sinu sessiooni tunnusluba on aegunud, palun laadi leht ja proovi uuesti.",
"An internal error occurred." : "Tekkis sisemine viga.",
- "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.",
+ "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma peakasutajaga.",
"Password" : "Salasõna",
"Log in with a device" : "Logi sisse seadmega",
"Login or email" : "Kasutajanimi või e-posti aadress",
@@ -431,11 +431,11 @@ OC.L10N.register(
"Page not found" : "Lehekülge ei leitud",
"The page could not be found on the server or you may not be allowed to view it." : "Seda lehekülge selles serveris ei leidu või sul puudub õigus seda vaadata.",
"Too many requests" : "Liiga palju päringuid",
- "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.",
+ "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti või kui tegu on veaga, siis võta ühendust peakasutajaga.",
"Error" : "Viga",
"Internal Server Error" : "Serveri sisemine viga",
"The server was unable to complete your request." : "Server ei suutnud sinu päringut lõpetada.",
- "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised detailid allpool serveri administraatorile.",
+ "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised üksikasjad allpool serveri peakasutajale.",
"More details can be found in the server log." : "Lisainfot võib leida serveri logist.",
"For more details see the documentation ↗." : "Lisateavet leiad dokumentatsioonist ↗.",
"Technical details" : "Tehnilised andmed",
diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json
index 337bd60f905..b596b353654 100644
--- a/core/l10n/et_EE.json
+++ b/core/l10n/et_EE.json
@@ -14,7 +14,7 @@
"Invalid file provided" : "Vigane fail",
"No image or file provided" : "Ühtegi pilti või faili pole pakutud",
"Unknown filetype" : "Tundmatu failitüüp",
- "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust administraatoriga.",
+ "An error occurred. Please contact your admin." : "Tekkis tõrge. Palun võta ühendust peakasutajaga.",
"Invalid image" : "Vigane pilt",
"No temporary profile picture available, try again" : "Ühtegi ajutist profiilipilti pole saadaval, proovi uuesti",
"No crop data provided" : "Lõikeandmeid ei leitud",
@@ -264,11 +264,11 @@
"Account name or email" : "Konto nimi või e-posti aadress",
"Account name" : "Kasutajakonto nimi",
"Server side authentication failed!" : "Serveripoolne autentimine ebaõnnestus!",
- "Please contact your administrator." : "Palun võta ühendust oma administraatoriga.",
+ "Please contact your administrator." : "Palun võta ühendust oma peakasutajaga.",
"Session error" : "Sessiooniviga",
"It appears your session token has expired, please refresh the page and try again." : "Tundub, et sinu sessiooni tunnusluba on aegunud, palun laadi leht ja proovi uuesti.",
"An internal error occurred." : "Tekkis sisemine viga.",
- "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.",
+ "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma peakasutajaga.",
"Password" : "Salasõna",
"Log in with a device" : "Logi sisse seadmega",
"Login or email" : "Kasutajanimi või e-posti aadress",
@@ -429,11 +429,11 @@
"Page not found" : "Lehekülge ei leitud",
"The page could not be found on the server or you may not be allowed to view it." : "Seda lehekülge selles serveris ei leidu või sul puudub õigus seda vaadata.",
"Too many requests" : "Liiga palju päringuid",
- "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti, või võta ühendust administraatoriga, kui tegu on veaga.",
+ "There were too many requests from your network. Retry later or contact your administrator if this is an error." : "Sinu võrgust tuli liiga palju päringuid. Proovi hiljem uuesti või kui tegu on veaga, siis võta ühendust peakasutajaga.",
"Error" : "Viga",
"Internal Server Error" : "Serveri sisemine viga",
"The server was unable to complete your request." : "Server ei suutnud sinu päringut lõpetada.",
- "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised detailid allpool serveri administraatorile.",
+ "If this happens again, please send the technical details below to the server administrator." : "Kui see veel kord juhtub, saada tehnilised üksikasjad allpool serveri peakasutajale.",
"More details can be found in the server log." : "Lisainfot võib leida serveri logist.",
"For more details see the documentation ↗." : "Lisateavet leiad dokumentatsioonist ↗.",
"Technical details" : "Tehnilised andmed",
diff --git a/core/l10n/lv.js b/core/l10n/lv.js
index 02e39fc7ab9..3c50e94a918 100644
--- a/core/l10n/lv.js
+++ b/core/l10n/lv.js
@@ -123,7 +123,7 @@ OC.L10N.register(
"Search in" : "Meklēt",
"Log in" : "Pieteikties",
"Logging in …" : "Notiek pieteikšanās …",
- "Log in to {productName}" : "Pierakstīties {productName}",
+ "Log in to {productName}" : "Pieteikties {productName}",
"Wrong login or password." : "Nepareizs lietotājvārds vai parole.",
"This account is disabled" : "Šis konts ir atspējots",
"Account name or email" : "Konta nosaukums vai e-pasta adrese",
diff --git a/core/l10n/lv.json b/core/l10n/lv.json
index 79a46948eef..3a19a70d965 100644
--- a/core/l10n/lv.json
+++ b/core/l10n/lv.json
@@ -121,7 +121,7 @@
"Search in" : "Meklēt",
"Log in" : "Pieteikties",
"Logging in …" : "Notiek pieteikšanās …",
- "Log in to {productName}" : "Pierakstīties {productName}",
+ "Log in to {productName}" : "Pieteikties {productName}",
"Wrong login or password." : "Nepareizs lietotājvārds vai parole.",
"This account is disabled" : "Šis konts ir atspējots",
"Account name or email" : "Konta nosaukums vai e-pasta adrese",
diff --git a/core/l10n/uk.js b/core/l10n/uk.js
index acad234cf70..8d1222c102d 100644
--- a/core/l10n/uk.js
+++ b/core/l10n/uk.js
@@ -92,32 +92,113 @@ OC.L10N.register(
"JavaScript source code" : "Вихідний код JavaScript",
"JSON document" : "Документ JSON",
"Microsoft Access database" : "База даних Microsoft Access",
+ "Microsoft OneNote document" : "Документ Microsoft OneNote",
"Microsoft Word document" : "Документ Microsoft Word",
"Unknown" : "Невідомо",
"PDF document" : "Документ PDF",
"PostScript document" : "Документ PostScript",
+ "RSS summary" : "RSS-підсумок",
"Android package" : "Пакунок Android",
+ "KML geographic data" : "Географічні дані KML",
+ "KML geographic compressed data" : "Стислі географічні дані KML",
+ "Lotus Word Pro document" : "Документ Lotus Word Pro",
"Excel spreadsheet" : "Електронна таблиця Excel",
"Excel add-in" : "Доповнення Excel",
+ "Excel 2007 binary spreadsheet" : "Бінарна електронна таблиця Excel 2007",
+ "Excel spreadsheet template" : "Шаблон таблиці Excel",
"Outlook Message" : "Ел. лист Outlook",
"PowerPoint presentation" : "Презентація PowerPoint",
+ "PowerPoint add-in" : "Додаток PowerPoint",
+ "PowerPoint presentation template" : "Шаблон презентації PowerPoint",
"Word document" : "Документ Word",
+ "ODF formula" : "Формула ODF",
+ "ODG drawing" : "Креслення ODG",
+ "ODG drawing (Flat XML)" : "Креслення ODG (Flat XML)",
+ "ODG template" : "Шаблон ODG",
"ODP presentation" : "Презентація ODP",
+ "ODP presentation (Flat XML)" : "Презентація ODP (Flat XML)",
+ "ODP template" : "Шаблон ODP",
"ODS spreadsheet" : "Електронна таблиця ODS",
+ "ODS spreadsheet (Flat XML)" : "Електронна таблиця ODS (Flat XML)",
+ "ODS template" : "Шаблон ODS",
"ODT document" : "Документ ODT",
+ "ODT document (Flat XML)" : "Документ ODT (Flat XML)",
+ "ODT template" : "Шаблон ODT",
"PowerPoint 2007 presentation" : "Презентація PowerPoint 2007",
+ "PowerPoint 2007 show" : "Презентація PowerPoint 2007",
+ "PowerPoint 2007 presentation template" : "Шаблон презентації PowerPoint 2007",
"Excel 2007 spreadsheet" : "Електронна таблиця Excel 2007",
+ "Excel 2007 spreadsheet template" : "Шаблон електронної таблиці Excel 2007",
"Word 2007 document" : "Документ Word 2007",
+ "Word 2007 document template" : "Шаблон документа Word 2007",
+ "Microsoft Visio document" : "Документ Microsoft Visio",
+ "WordPerfect document" : "Документ WordPerfect",
"7-zip archive" : "Архів 7-zip",
+ "Blender scene" : "Сцена Blender",
+ "Bzip2 archive" : "Архів Bzip2",
+ "Debian package" : "Пакунок Debian",
+ "FictionBook document" : "Документ FictionBook",
+ "Unknown font" : "Невідомий шрифт",
+ "Krita document" : "Документ Krita",
+ "Mobipocket e-book" : "Електронна книга Mobipocket",
+ "Windows Installer package" : "Пакунок Windows Installer",
+ "Perl script" : "Скрипт Perl",
"PHP script" : "Скрипт PHP",
+ "Tar archive" : "Архів Tar",
+ "XML document" : "XML-документ",
+ "YAML document" : "Документ YAML",
"Zip archive" : "Архів Zip",
+ "Zstandard archive" : "Архів Zstandard",
+ "AAC audio" : "Аудіо AAC",
+ "FLAC audio" : "Аудіо FLAC",
+ "MPEG-4 audio" : "Аудіо MPEG-4",
+ "MP3 audio" : "Аудіо MP3",
+ "Ogg audio" : "Аудіо Ogg",
+ "RIFF/WAVe standard Audio" : "Стандарт RIFF/WAVe Аудіо",
+ "WebM audio" : "Аудіо WebM",
+ "MP3 ShoutCast playlist" : "Плейлист MP3 ShoutCast",
+ "Windows BMP image" : "Зображення Windows BMP",
+ "Better Portable Graphics image" : "Зображення Better Portable Graphics",
+ "EMF image" : "Зображення EMF",
+ "GIF image" : "Зображення GIF",
+ "HEIC image" : "Зображення HEIC",
+ "HEIF image" : "Зображення HEIF",
+ "JPEG-2000 JP2 image" : "Зображення JPEG-2000 JP2",
"JPEG image" : "Зображення JPEG",
"PNG image" : "Зображення PNG",
"SVG image" : "Зображення SVG",
+ "Truevision Targa image" : "Зображення Truevision Targa",
+ "TIFF image" : "Зображення TIFF",
+ "WebP image" : "Зображення WebP",
+ "Digital raw image" : "Зображення Digital raw",
+ "Windows Icon" : "Піктограма Windows",
+ "Email message" : "Електронне повідомлення",
+ "VCS/ICS calendar" : "Календар VCS/ICS",
+ "CSS stylesheet" : "Таблиця стилів CSS",
"CSV document" : "Документ CSV",
"HTML document" : "Документ HTML",
+ "Markdown document" : "Документ Markdown",
+ "Org-mode file" : "Файл Org-mode",
+ "Plain text document" : "Тестовий документ",
+ "Rich Text document" : "Документ Rich Text",
+ "Electronic business card" : "Електронна візитна картка",
+ "C++ source code" : "Вихідний код C++",
+ "LDIF address book" : "Адресна книга LDIF",
+ "NFO document" : "Документ NFO",
"PHP source" : "Вихідний файл PHP",
"Python script" : "Скрипт Python",
+ "ReStructuredText document" : "Документ ReStructuredText",
+ "3GPP multimedia file" : "Мультимедійний файл 3GPP",
+ "MPEG video" : "Відео MPEG",
+ "DV video" : "Відео DV",
+ "MPEG-2 transport stream" : "Транспортний потік MPEG-2",
+ "MPEG-4 video" : "Відео MPEG-4",
+ "Ogg video" : "Відео Ogg",
+ "QuickTime video" : "Відео QuickTime",
+ "WebM video" : "Відео WebM",
+ "Flash video" : "Відео Flash",
+ "Matroska video" : "Відео Matroska",
+ "Windows Media video" : "Відео Windows Media",
"AVI video" : "Відео AVI",
"Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка",
"For more details see the {linkstart}documentation ↗{linkend}." : "Додаткову інформацію див. у {linkstart}документації ↗{linkend}.",
diff --git a/core/l10n/uk.json b/core/l10n/uk.json
index 22f25447279..8107aed1ec7 100644
--- a/core/l10n/uk.json
+++ b/core/l10n/uk.json
@@ -90,32 +90,113 @@
"JavaScript source code" : "Вихідний код JavaScript",
"JSON document" : "Документ JSON",
"Microsoft Access database" : "База даних Microsoft Access",
+ "Microsoft OneNote document" : "Документ Microsoft OneNote",
"Microsoft Word document" : "Документ Microsoft Word",
"Unknown" : "Невідомо",
"PDF document" : "Документ PDF",
"PostScript document" : "Документ PostScript",
+ "RSS summary" : "RSS-підсумок",
"Android package" : "Пакунок Android",
+ "KML geographic data" : "Географічні дані KML",
+ "KML geographic compressed data" : "Стислі географічні дані KML",
+ "Lotus Word Pro document" : "Документ Lotus Word Pro",
"Excel spreadsheet" : "Електронна таблиця Excel",
"Excel add-in" : "Доповнення Excel",
+ "Excel 2007 binary spreadsheet" : "Бінарна електронна таблиця Excel 2007",
+ "Excel spreadsheet template" : "Шаблон таблиці Excel",
"Outlook Message" : "Ел. лист Outlook",
"PowerPoint presentation" : "Презентація PowerPoint",
+ "PowerPoint add-in" : "Додаток PowerPoint",
+ "PowerPoint presentation template" : "Шаблон презентації PowerPoint",
"Word document" : "Документ Word",
+ "ODF formula" : "Формула ODF",
+ "ODG drawing" : "Креслення ODG",
+ "ODG drawing (Flat XML)" : "Креслення ODG (Flat XML)",
+ "ODG template" : "Шаблон ODG",
"ODP presentation" : "Презентація ODP",
+ "ODP presentation (Flat XML)" : "Презентація ODP (Flat XML)",
+ "ODP template" : "Шаблон ODP",
"ODS spreadsheet" : "Електронна таблиця ODS",
+ "ODS spreadsheet (Flat XML)" : "Електронна таблиця ODS (Flat XML)",
+ "ODS template" : "Шаблон ODS",
"ODT document" : "Документ ODT",
+ "ODT document (Flat XML)" : "Документ ODT (Flat XML)",
+ "ODT template" : "Шаблон ODT",
"PowerPoint 2007 presentation" : "Презентація PowerPoint 2007",
+ "PowerPoint 2007 show" : "Презентація PowerPoint 2007",
+ "PowerPoint 2007 presentation template" : "Шаблон презентації PowerPoint 2007",
"Excel 2007 spreadsheet" : "Електронна таблиця Excel 2007",
+ "Excel 2007 spreadsheet template" : "Шаблон електронної таблиці Excel 2007",
"Word 2007 document" : "Документ Word 2007",
+ "Word 2007 document template" : "Шаблон документа Word 2007",
+ "Microsoft Visio document" : "Документ Microsoft Visio",
+ "WordPerfect document" : "Документ WordPerfect",
"7-zip archive" : "Архів 7-zip",
+ "Blender scene" : "Сцена Blender",
+ "Bzip2 archive" : "Архів Bzip2",
+ "Debian package" : "Пакунок Debian",
+ "FictionBook document" : "Документ FictionBook",
+ "Unknown font" : "Невідомий шрифт",
+ "Krita document" : "Документ Krita",
+ "Mobipocket e-book" : "Електронна книга Mobipocket",
+ "Windows Installer package" : "Пакунок Windows Installer",
+ "Perl script" : "Скрипт Perl",
"PHP script" : "Скрипт PHP",
+ "Tar archive" : "Архів Tar",
+ "XML document" : "XML-документ",
+ "YAML document" : "Документ YAML",
"Zip archive" : "Архів Zip",
+ "Zstandard archive" : "Архів Zstandard",
+ "AAC audio" : "Аудіо AAC",
+ "FLAC audio" : "Аудіо FLAC",
+ "MPEG-4 audio" : "Аудіо MPEG-4",
+ "MP3 audio" : "Аудіо MP3",
+ "Ogg audio" : "Аудіо Ogg",
+ "RIFF/WAVe standard Audio" : "Стандарт RIFF/WAVe Аудіо",
+ "WebM audio" : "Аудіо WebM",
+ "MP3 ShoutCast playlist" : "Плейлист MP3 ShoutCast",
+ "Windows BMP image" : "Зображення Windows BMP",
+ "Better Portable Graphics image" : "Зображення Better Portable Graphics",
+ "EMF image" : "Зображення EMF",
+ "GIF image" : "Зображення GIF",
+ "HEIC image" : "Зображення HEIC",
+ "HEIF image" : "Зображення HEIF",
+ "JPEG-2000 JP2 image" : "Зображення JPEG-2000 JP2",
"JPEG image" : "Зображення JPEG",
"PNG image" : "Зображення PNG",
"SVG image" : "Зображення SVG",
+ "Truevision Targa image" : "Зображення Truevision Targa",
+ "TIFF image" : "Зображення TIFF",
+ "WebP image" : "Зображення WebP",
+ "Digital raw image" : "Зображення Digital raw",
+ "Windows Icon" : "Піктограма Windows",
+ "Email message" : "Електронне повідомлення",
+ "VCS/ICS calendar" : "Календар VCS/ICS",
+ "CSS stylesheet" : "Таблиця стилів CSS",
"CSV document" : "Документ CSV",
"HTML document" : "Документ HTML",
+ "Markdown document" : "Документ Markdown",
+ "Org-mode file" : "Файл Org-mode",
+ "Plain text document" : "Тестовий документ",
+ "Rich Text document" : "Документ Rich Text",
+ "Electronic business card" : "Електронна візитна картка",
+ "C++ source code" : "Вихідний код C++",
+ "LDIF address book" : "Адресна книга LDIF",
+ "NFO document" : "Документ NFO",
"PHP source" : "Вихідний файл PHP",
"Python script" : "Скрипт Python",
+ "ReStructuredText document" : "Документ ReStructuredText",
+ "3GPP multimedia file" : "Мультимедійний файл 3GPP",
+ "MPEG video" : "Відео MPEG",
+ "DV video" : "Відео DV",
+ "MPEG-2 transport stream" : "Транспортний потік MPEG-2",
+ "MPEG-4 video" : "Відео MPEG-4",
+ "Ogg video" : "Відео Ogg",
+ "QuickTime video" : "Відео QuickTime",
+ "WebM video" : "Відео WebM",
+ "Flash video" : "Відео Flash",
+ "Matroska video" : "Відео Matroska",
+ "Windows Media video" : "Відео Windows Media",
"AVI video" : "Відео AVI",
"Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка",
"For more details see the {linkstart}documentation ↗{linkend}." : "Додаткову інформацію див. у {linkstart}документації ↗{linkend}.",
diff --git a/core/l10n/uz.js b/core/l10n/uz.js
index 681e8afe1c0..ff003f18000 100644
--- a/core/l10n/uz.js
+++ b/core/l10n/uz.js
@@ -256,7 +256,7 @@ OC.L10N.register(
"Copy" : "Nusxalash",
"Move to {target}" : " {target}ga o`tish",
"Move" : "O`tish",
- "OK" : "OK",
+ "OK" : "Yaxshi",
"read-only" : "faqat o'qish uchun",
"_{count} file conflict_::_{count} file conflicts_" : ["{count} fayl xatolilklari"],
"One file conflict" : "Bitta fayl ziddiyati",
diff --git a/core/l10n/uz.json b/core/l10n/uz.json
index a6bbd7eef71..4ca05538b63 100644
--- a/core/l10n/uz.json
+++ b/core/l10n/uz.json
@@ -254,7 +254,7 @@
"Copy" : "Nusxalash",
"Move to {target}" : " {target}ga o`tish",
"Move" : "O`tish",
- "OK" : "OK",
+ "OK" : "Yaxshi",
"read-only" : "faqat o'qish uchun",
"_{count} file conflict_::_{count} file conflicts_" : ["{count} fayl xatolilklari"],
"One file conflict" : "Bitta fayl ziddiyati",
diff --git a/core/openapi-ex_app.json b/core/openapi-ex_app.json
index 7f7612a03c9..4dad268c1b3 100644
--- a/core/openapi-ex_app.json
+++ b/core/openapi-ex_app.json
@@ -181,8 +181,12 @@
"$ref": "#/components/schemas/TaskProcessingIO"
},
"output": {
- "$ref": "#/components/schemas/TaskProcessingIO",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TaskProcessingIO"
+ }
+ ]
},
"customId": {
"type": "string",
diff --git a/core/openapi-full.json b/core/openapi-full.json
index 5edb86992dc..d4f69abf535 100644
--- a/core/openapi-full.json
+++ b/core/openapi-full.json
@@ -675,8 +675,12 @@
"$ref": "#/components/schemas/TaskProcessingIO"
},
"output": {
- "$ref": "#/components/schemas/TaskProcessingIO",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TaskProcessingIO"
+ }
+ ]
},
"customId": {
"type": "string",
@@ -3418,8 +3422,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3527,8 +3535,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3609,8 +3621,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3708,8 +3724,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3800,8 +3820,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3905,8 +3929,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
diff --git a/core/openapi.json b/core/openapi.json
index 5f9178202eb..1a7ddc55c92 100644
--- a/core/openapi.json
+++ b/core/openapi.json
@@ -675,8 +675,12 @@
"$ref": "#/components/schemas/TaskProcessingIO"
},
"output": {
- "$ref": "#/components/schemas/TaskProcessingIO",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TaskProcessingIO"
+ }
+ ]
},
"customId": {
"type": "string",
@@ -3418,8 +3422,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3527,8 +3535,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3609,8 +3621,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3708,8 +3724,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3800,8 +3820,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
@@ -3905,8 +3929,12 @@
"references": {
"type": "object",
"additionalProperties": {
- "$ref": "#/components/schemas/Reference",
- "nullable": true
+ "nullable": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Reference"
+ }
+ ]
}
}
}
diff --git a/core/src/OC/dialogs.js b/core/src/OC/dialogs.js
index 5c5e8cf5887..5c6934e67a2 100644
--- a/core/src/OC/dialogs.js
+++ b/core/src/OC/dialogs.js
@@ -9,7 +9,7 @@ import _ from 'underscore'
import $ from 'jquery'
import IconMove from '@mdi/svg/svg/folder-move.svg?raw'
-import IconCopy from '@mdi/svg/svg/folder-multiple.svg?raw'
+import IconCopy from '@mdi/svg/svg/folder-multiple-outline.svg?raw'
import OC from './index.js'
import { DialogBuilder, FilePickerType, getFilePickerBuilder, spawnDialog } from '@nextcloud/dialogs'
diff --git a/core/src/components/AppMenuIcon.vue b/core/src/components/AppMenuIcon.vue
index f2cee75e644..1b0d48daf8c 100644
--- a/core/src/components/AppMenuIcon.vue
+++ b/core/src/components/AppMenuIcon.vue
@@ -14,24 +14,25 @@
</template>
<script setup lang="ts">
-import type { INavigationEntry } from '../types/navigation'
+import type { INavigationEntry } from '../types/navigation.ts'
+
import { n } from '@nextcloud/l10n'
import { computed } from 'vue'
-
-import IconDot from 'vue-material-design-icons/Circle.vue'
+import IconDot from 'vue-material-design-icons/CircleOutline.vue'
const props = defineProps<{
app: INavigationEntry
}>()
-const ariaHidden = computed(() => String(props.app.unread > 0))
+// only hide if there are no unread notifications
+const ariaHidden = computed(() => !props.app.unread ? 'true' : undefined)
const ariaLabel = computed(() => {
- if (ariaHidden.value === 'true') {
- return ''
+ if (!props.app.unread) {
+ return undefined
}
- return props.app.name
- + (props.app.unread > 0 ? ` (${n('core', '{count} notification', '{count} notifications', props.app.unread, { count: props.app.unread })})` : '')
+
+ return `${props.app.name} (${n('core', '{count} notification', '{count} notifications', props.app.unread, { count: props.app.unread })})`
})
</script>
@@ -51,6 +52,7 @@ $unread-indicator-size: 10px;
height: $icon-size;
width: $icon-size;
filter: var(--background-image-invert-if-bright);
+ mask: var(--header-menu-icon-mask);
}
&__unread {
diff --git a/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue b/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue
index 1860c54e1ff..171eada8a06 100644
--- a/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue
+++ b/core/src/components/UnifiedSearch/UnifiedSearchLocalSearchBar.vue
@@ -32,7 +32,7 @@
{{ t('core', 'Search everywhere') }}
</template>
<template #icon>
- <NcIconSvgWrapper :path="mdiCloudSearch" />
+ <NcIconSvgWrapper :path="mdiCloudSearchOutline" />
</template>
</NcButton>
</div>
@@ -41,7 +41,7 @@
<script lang="ts" setup>
import type { ComponentPublicInstance } from 'vue'
-import { mdiCloudSearch, mdiClose } from '@mdi/js'
+import { mdiCloudSearchOutline, mdiClose } from '@mdi/js'
import { translate as t } from '@nextcloud/l10n'
import { useIsMobile } from '@nextcloud/vue/composables/useIsMobile'
import { useElementSize } from '@vueuse/core'
diff --git a/core/src/components/UnifiedSearch/UnifiedSearchModal.vue b/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
index 744c8e604fa..002606f058b 100644
--- a/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
+++ b/core/src/components/UnifiedSearch/UnifiedSearchModal.vue
@@ -159,8 +159,8 @@ import debounce from 'debounce'
import { unifiedSearchLogger } from '../../logger'
import IconArrowRight from 'vue-material-design-icons/ArrowRight.vue'
-import IconAccountGroup from 'vue-material-design-icons/AccountGroup.vue'
-import IconCalendarRange from 'vue-material-design-icons/CalendarRange.vue'
+import IconAccountGroup from 'vue-material-design-icons/AccountGroupOutline.vue'
+import IconCalendarRange from 'vue-material-design-icons/CalendarRangeOutline.vue'
import IconDotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue'
import IconFilter from 'vue-material-design-icons/Filter.vue'
import IconListBox from 'vue-material-design-icons/ListBox.vue'
diff --git a/core/src/components/login/PasswordLessLoginForm.vue b/core/src/components/login/PasswordLessLoginForm.vue
index bbca2ebf31d..bc4d25bf70f 100644
--- a/core/src/components/login/PasswordLessLoginForm.vue
+++ b/core/src/components/login/PasswordLessLoginForm.vue
@@ -57,7 +57,7 @@ import {
import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
import NcTextField from '@nextcloud/vue/components/NcTextField'
-import InformationIcon from 'vue-material-design-icons/Information.vue'
+import InformationIcon from 'vue-material-design-icons/InformationOutline.vue'
import LoginButton from './LoginButton.vue'
import LockOpenIcon from 'vue-material-design-icons/LockOpen.vue'
import logger from '../../logger'
diff --git a/core/src/views/AccountMenu.vue b/core/src/views/AccountMenu.vue
index cac02129bac..5b7ead636bd 100644
--- a/core/src/views/AccountMenu.vue
+++ b/core/src/views/AccountMenu.vue
@@ -197,27 +197,15 @@ export default defineComponent({
}
.account-menu {
- :deep(button) {
- // Normally header menus are slightly translucent when not active
- // this is generally ok but for the avatar this is weird so fix the opacity
- opacity: 1 !important;
-
- // The avatar is just the "icon" of the button
- // So we add the focus-visible manually
- &:focus-visible {
- .account-menu__avatar {
- border: var(--border-width-input-focused) solid var(--color-background-plain-text);
- }
- }
- }
-
- // Ensure we do not waste space, as the header menu sets a default width of 350px
- :deep(.header-menu__content) {
- width: fit-content !important;
- }
-
&__avatar {
+ --account-menu-outline: var(--border-width-input) solid color-mix(in srgb, var(--color-background-plain-text), transparent 75%);
+ outline: var(--account-menu-outline);
+ position: fixed;
+ // do not apply the alpha mask on the avatar div
+ mask: none !important;
+
&:hover {
+ --account-menu-outline: none;
// Add hover styles similar to the focus-visible style
border: var(--border-width-input-focused) solid var(--color-background-plain-text);
}
@@ -235,5 +223,25 @@ export default defineComponent({
flex: 0 1;
}
}
+
+ // Ensure we do not waste space, as the header menu sets a default width of 350px
+ :deep(.header-menu__content) {
+ width: fit-content !important;
+ }
+
+ :deep(button) {
+ // Normally header menus are slightly translucent when not active
+ // this is generally ok but for the avatar this is weird so fix the opacity
+ opacity: 1 !important;
+
+ // The avatar is just the "icon" of the button
+ // So we add the focus-visible manually
+ &:focus-visible {
+ .account-menu__avatar {
+ --account-menu-outline: none;
+ border: var(--border-width-input-focused) solid var(--color-background-plain-text);
+ }
+ }
+ }
}
</style>
diff --git a/core/src/views/ContactsMenu.vue b/core/src/views/ContactsMenu.vue
index 292e2bbcd29..924ddcea56b 100644
--- a/core/src/views/ContactsMenu.vue
+++ b/core/src/views/ContactsMenu.vue
@@ -9,7 +9,7 @@
:aria-label="t('core', 'Search contacts')"
@open="handleOpen">
<template #trigger>
- <Contacts class="contactsmenu__trigger-icon" :size="20" />
+ <NcIconSvgWrapper class="contactsmenu__trigger-icon" :path="mdiContacts" />
</template>
<div class="contactsmenu__menu">
<div class="contactsmenu__menu__input-wrapper">
@@ -27,7 +27,7 @@
</div>
<NcEmptyContent v-if="error" :name="t('core', 'Could not load your contacts')">
<template #icon>
- <Magnify />
+ <NcIconSvgWrapper :path="mdiMagnify" />
</template>
</NcEmptyContent>
<NcEmptyContent v-else-if="loadingText" :name="loadingText">
@@ -37,7 +37,7 @@
</NcEmptyContent>
<NcEmptyContent v-else-if="contacts.length === 0" :name="t('core', 'No contacts found')">
<template #icon>
- <Magnify />
+ <NcIconSvgWrapper :path="mdiMagnify" />
</template>
</NcEmptyContent>
<div v-else class="contactsmenu__menu__content">
@@ -62,39 +62,46 @@
</template>
<script>
+import { mdiContacts, mdiMagnify } from '@mdi/js'
+import { generateUrl } from '@nextcloud/router'
+import { getCurrentUser } from '@nextcloud/auth'
+import { t } from '@nextcloud/l10n'
import axios from '@nextcloud/axios'
-import Contacts from 'vue-material-design-icons/Contacts.vue'
import debounce from 'debounce'
-import { getCurrentUser } from '@nextcloud/auth'
-import { generateUrl } from '@nextcloud/router'
-import Magnify from 'vue-material-design-icons/Magnify.vue'
+
import NcButton from '@nextcloud/vue/components/NcButton'
import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
import NcHeaderMenu from '@nextcloud/vue/components/NcHeaderMenu'
+import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'
import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon'
-import { translate as t } from '@nextcloud/l10n'
+import NcTextField from '@nextcloud/vue/components/NcTextField'
import Contact from '../components/ContactsMenu/Contact.vue'
import logger from '../logger.js'
import Nextcloud from '../mixins/Nextcloud.js'
-import NcTextField from '@nextcloud/vue/components/NcTextField'
export default {
name: 'ContactsMenu',
components: {
Contact,
- Contacts,
- Magnify,
NcButton,
NcEmptyContent,
NcHeaderMenu,
+ NcIconSvgWrapper,
NcLoadingIcon,
NcTextField,
},
mixins: [Nextcloud],
+ setup() {
+ return {
+ mdiContacts,
+ mdiMagnify,
+ }
+ },
+
data() {
const user = getCurrentUser()
return {
diff --git a/core/src/views/PublicPageUserMenu.vue b/core/src/views/PublicPageUserMenu.vue
index ff6f4090b2a..7bd6521e7aa 100644
--- a/core/src/views/PublicPageUserMenu.vue
+++ b/core/src/views/PublicPageUserMenu.vue
@@ -48,7 +48,7 @@ import { t } from '@nextcloud/l10n'
import NcAvatar from '@nextcloud/vue/components/NcAvatar'
import NcHeaderMenu from '@nextcloud/vue/components/NcHeaderMenu'
import NcNoteCard from '@nextcloud/vue/components/NcNoteCard'
-import IconAccount from 'vue-material-design-icons/Account.vue'
+import IconAccount from 'vue-material-design-icons/AccountOutline.vue'
import AccountMenuEntry from '../components/AccountMenu/AccountMenuEntry.vue'